4023472349856cfafde7729188014683f9c9d6a0
[external/binutils.git] / gdb / ChangeLog
1 2017-12-18  Joel Brobecker  <brobecker@adacore.com>
2
3         * ada-lang.c (ada_to_fixed_type_1): Rethrow errors with
4         a more detailed exception message when getting an exception
5         while trying to read the value of an XVZ variable.
6         * ada-valprint.c (ada_val_print): Only catch RETURN_MASK_ERROR
7         exceptions.  Print an error message when an exception is caught.
8
9 2017-12-18  Joel Brobecker  <brobecker@adacore.com>
10
11         * ada-lang.c (assign_component): Strip any TYPE_CODE_TYPEDEF
12         layer from lhs' type.
13         (assign_aggregate): Likewise.
14
15 2017-12-18  Xavier Roirand  <roirand@adacore.com>
16
17         * ada-lang.c (ada_convert_actual): Change the way actual value
18         are passed to the inferior when the inferior expects a pointer type.
19
20 2017-12-17  Stafford Horne  <shorne@gmail.com>
21
22         * gdb/or1k-tdep.c (show_or1k_debug): Fix function parameter alignment.
23         (or1k_analyse_inst): Likewise.
24         (or1k_single_step_through_delay): Likewise.
25         (or1k_frame_cache): Fix parameter alignment and use paddress()
26         instead of %x.
27
28 2017-12-17  Stafford Horne  <shorne@gmail.com>
29
30         * NEWS (Changes since GDB 8.0): Mention new or1k target and new
31         commands to set/show or1k debug.
32
33 2017-12-15  Sergio Durigan Junior  <sergiodj@redhat.com>
34
35         * typeprint.c (whatis_exp): Fix ARI warning and reindent "if"
36         condition.
37
38 2017-12-15  Sergio Durigan Junior  <sergiodj@redhat.com>
39             Pedro Alves  <palves@redhat.com>
40
41         PR cli/16224
42         * NEWS (Changes since GDB 8.0): Mention new '/o' flag.
43         * c-typeprint.c (OFFSET_SPC_LEN): New define.
44         (c_type_print_varspec_prefix): New argument 'struct
45         print_offset_data *'.
46         (c_type_print_base_1): New function and prototype.
47         (c_print_type_1): New function, with code from 'c_print_type'.
48         (c_print_type): Use 'c_print_type_1'.
49         (c_type_print_varspec_prefix): New argument 'struct
50         print_offset_data *'.  Use it.  Call 'c_type_print_base_1'
51         instead of 'c_print_type_base'.
52         (print_spaces_filtered_with_print_options): New function.
53         (output_access_specifier): Take new argument FLAGS.  Modify
54         function to call 'print_spaces_filtered_with_print_options'.
55         (c_print_type_vtable_offset_marker): New function.
56         (c_print_type_union_field_offset): New function.
57         (c_print_type_struct_field_offset): New function.
58         (c_print_type_no_offsets): New function.
59         (c_type_print_base_struct_union): New argument 'struct
60         print_offset_data *'.  Print offsets and sizes for
61         struct/union/class fields.
62         * typeprint.c (const struct type_print_options
63         type_print_raw_options): Initialize 'print_offsets'.
64         (static struct type_print_options default_ptype_flags):
65         Likewise.
66         (struct print_offset_data print_offset_default_data): New
67         variable.
68         (whatis_exp): Handle '/o' option.
69         (_initialize_typeprint): Add '/o' flag to ptype's help.
70         * typeprint.h (struct print_offset_data): New struct.
71         (struct type_print_options) <print_offsets>: New field.
72
73 2017-12-15  Sergio Durigan Junior  <sergiodj@redhat.com>
74
75         * c-typeprint.c (need_access_label_p): New function.
76         (c_type_print_base_struct_union): New function.
77         (c_type_print_base): Move code to handle
78         TYPE_CODE_{STRUCT,UNION} to the functions mentioned above.
79
80 2017-12-15  Richard Henderson  <rth@redhat.com>
81             Uros Bizjak  <ubizjak@gmail.com>
82
83         PR gdb/19061
84         * alpha-tdep.c (alpha_software_single_step): Call
85         alpha_deal_with_atomic_sequence here.
86         (set_gdbarch_software_single_step): Set to
87         alpha_software_single_step.
88         * nat/linux-ptrace.h [__alpha__]: Define GDB_ARCH_IS_TRAP_BRKPT
89         and GDB_ARCH_IS_TRAP_HWBKPT.
90
91 2017-12-15  Yao Qi  <yao.qi@linaro.org>
92
93         * unittests/memory-map-selftests.c: Wrap test with HAVE_LIBEXPAT.
94
95 2017-12-15  Xavier Roirand  <roirand@adacore.com>
96
97         * ada-lang.c (ada_value_primitive_field): Handle field search
98         in case of homonyms.
99         (find_struct_field): Ditto.
100         (ada_search_struct_field): Ditto.
101         (ada_value_struct_elt): Ditto.
102         (ada_lookup_struct_elt_type): Ditto.
103
104 2017-12-14  Simon Marchi  <simon.marchi@ericsson.com>
105
106         * python/py-breakpoint.c (bppy_init): Use 'O' format specifier
107         for "qualified" and use PyObject_IsTrue.
108
109 2017-12-14  Jan Kratochvil  <jan.kratochvil@redhat.com>
110
111         * dwarf2read.c (dw2_debug_names_iterator::next): Support
112         DW_IDX_type_unit.
113         (debug_names::dwarf5_offset_size, unit_kind): New.
114         (debug_names::insert): Add parameter kind.
115         (debug_names::build): Support DW_IDX_type_unit.
116         (debug_names::recursively_write_psymbols): Update
117         (debug_names::write_psymbols caller.
118         (debug_names::write_one_signatured_type_data)
119         (debug_names::write_one_signatured_type): New.
120         (debug_names::index_key, debug_names::symbol_value)
121         (debug_names::write_psymbols): Add kind.
122         (debug_names::write_one_signatured_type): New.
123         (write_debug_names): Move dwarf5_offset_size to debug_names.
124         Use debug_names::write_one_signatured_type for type units.
125
126 2017-12-14  Joel Brobecker  <brobecker@adacore.com>
127
128         * ada-lang.c (ada_value_equal): Add handling of typedef types
129         when comparing array objects.
130
131 2017-12-14  Joel Brobecker  <brobecker@adacore.com>
132
133         * ada-tasks.c (read_atcb): Properly set task_info->ptid
134         when !target_has_execution as well.
135         (task_command): Remove error when !target_has_execution.
136
137 2017-12-13  Simon Marchi  <simon.marchi@ericsson.com>
138
139         * location.h (string_to_event_location): Add match_type
140         parameter.
141         * location.c (string_to_event_location): Likewise.
142         * python/py-breakpoint.c (bppy_init): Handle qualified
143         parameter.
144
145 2017-12-13  Pedro Alves  <palves@redhat.com>
146
147         * completer.c (completion_tracker::maybe_add_completion): New
148         'text' and 'word' parameters.  Use make_completion_match_str.
149         (completion_tracker::add_completion): New 'text' and 'word'
150         parameters.  Pass down.
151         (completion_tracker::recompute_lowest_common_denominator): Change
152         parameter type to gdb::unique_xmalloc_ptr rval ref.  Adjust.
153         * completer.h (completion_tracker::add_completion): New 'text' and
154         'word' parameters.
155         (completion_tracker::recompute_lowest_common_denominator): Change
156         parameter type to gdb::unique_xmalloc_ptr rval ref.
157         (completion_tracker::recompute_lowest_common_denominator): Change
158         parameter type to gdb::unique_xmalloc_ptr rval ref.
159         * symtab.c (completion_list_add_name): Pass down 'text' and 'word'
160         as well.
161
162 2017-12-13  Pedro Alves  <palves@redhat.com>
163
164         * cli/cli-decode.c (complete_on_cmdlist, complete_on_enum): Use
165         make_completion_match_str.
166         * completer.c: Use gdb::unique_xmalloc_ptr and
167         make_completion_match_str.
168         (make_completion_match_str_1): New.
169         (make_completion_match_str(const char *, const char *,
170         const char *)): New.
171         (make_completion_match_str(gdb::unique_xmalloc_ptr<char> &&,
172         const char *, const char *)): New.
173         * completer.h (make_completion_match_str(const char *,
174         const char *, const char *)): New.
175         (make_completion_match_str(gdb::unique_xmalloc_ptr<char> &&,
176         const char *, const char *)): New.
177         * interps.c (interpreter_completer): Use make_completion_match_str.
178         * symtab.c (completion_list_add_name, add_filename_to_list): Use
179         make_completion_match_str.
180
181 2017-12-13  Stafford Horne  <shorne@gmail.com>
182
183         * or1k-tdep.c (or1k_analyse_inst): Use _() wrapper for message
184         strings.
185         (or1k_unwind_pc): Use paddress() instead of %p.
186         (or1k_unwind_sp): Likewise.
187         (or1k_frame_cache): Use host_address_to_string()/paddress()
188         instead of %p and use _() wrapper for message strings.
189
190 2017-12-13  Simon Marchi  <simon.marchi@ericsson.com>
191
192         * contrib/ari/gdb_ari.sh: Fix typo in help.
193
194 2017-12-13  Joel Brobecker  <brobecker@adacore.com>
195
196         * event-top.c (handle_line_of_input): Set server_command.
197
198 2017-12-12  Stafford Horne  <shorne@gmail.com>
199             Stefan Wallentowitz  <stefan@wallentowitz.de>
200             Stefan Kristiansson  <stefan.kristiansson@saunalahti.fi>
201             Franck Jullien  <franck.jullien@gmail.com>
202             Jeremy Bennett  <jeremy.bennett@embecosm.com>
203
204         * configure.tgt: Add targets for or1k and or1knd.
205         * or1k-tdep.c: New file.
206         * or1k-tdep.h: New file.
207         * features/Makefile: Add or1k.xml to build.
208         * features/or1k.xml: New file.
209         * features/or1k-core.xml: New file.
210         * features/or1k.c: Generated.
211
212 2017-12-12  Alan Modra  <amodra@gmail.com>
213
214         PR tdep/22576
215         * ppc64-tdep.c (ppc64_plt_entry_point): Rewrite to take TOC-relative
216         PLT offset, and retrieve r2 from stack when executing in reverse.
217         (ppc64_standard_linkage1_target): Drop pc param.  Calculate offset
218         rather than PLT address.
219         (ppc64_standard_linkage2_target): Likewise.
220         (ppc64_standard_linkage3_target): Likewise.
221         (ppc64_standard_linkage4_target): Likewise.
222         (ppc64_skip_trampoline_code_1): Adjust to suit.
223
224 2017-12-11  Simon Marchi  <simon.marchi@ericsson.com>
225
226         PR gdb/22556
227         * remote.c (remote_thread_name): Return NULL if name is empty.
228         (remote_threads_extra_info): Return NULL if extra info is empty.
229
230 2017-12-11  Pedro Alves  <palves@redhat.com>
231
232         * defs.h (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index)
233         (elf_sym_fns_debug_names): Move to elfread.c.
234         * dwarf2read.c (dwarf2_initialize_objfile): Return a boolean
235         instead of a sym_fns and add 'index_kind' output parameter.  Fill
236         the latter in with the index variant kind if using an index.
237         (enum dw_index_kind): Moved to symfile.h.
238         * elfread.c (elf_sym_fns_gdb_index, elf_sym_fns_debug_names)
239         (elf_sym_fns_lazy_psyms): Move from defs.h.
240         (elf_symfile_read): Adjust to new dwarf2_initialize_objfile
241         interface.
242         * symfile.h (enum class dw_index_kind): New, moved from
243         dwarf2read.c.
244         (dwarf2_initialize_objfile): Change prototype.
245
246 2017-12-11  Ulrich Weigand  <uweigand@de.ibm.com>
247
248         * target-float.c (mpfr_float_ops::from_target): Use mpfr_set_ui
249         instead of mpfr_set_si to convert mantissa bits.
250
251 2017-12-11  Xavier Roirand <roirand@adacore.com>
252             Joel Brobecker  <brobecker@adacore.com>
253
254         * ada-lang.c (ada_tag_value_at_base_address): Change the way
255         tagged type base address is computed.
256         (enum ada_primitive_types) <ada_primitive_type_storage_offset>:
257         New enumerate.
258         (ada_language_arch_info): Set the ada_primitive_type_storage_offset
259         element of lai->primitive_type_vector.
260
261 2017-12-08  Pedro Alves  <palves@redhat.com>
262
263         * dwarf2read.c (mock_mapped_index): Reimplement as an extension of
264         mapped_index_base.
265         (check_match): Adjust to use mock_index directly.
266         (check_find_bounds_finds)
267         (test_mapped_index_find_name_component_bounds): Adjust to work
268         with a mapped_index_base.
269
270 2017-12-08  Pedro Alves  <palves@redhat.com>
271
272         * dwarf2read.c (struct mapped_index_base): New, partially factored
273         out from ...
274         (struct mapped_index): ... this.  Inherit mapped_index_base.
275         (mapped_index::symbol_name_slot_invalid):
276         (mapped_index::symbol_name_at): Add override marker.
277         (mapped_index::symbol_name_count): New.
278         (struct mapped_debug_names): Inherit mapped_index_base.
279         (mapped_debug_names::symbol_name_at): New.
280         (mapped_debug_names::symbol_name_count): New.
281         (mapped_index::find_name_components_bounds): Rename to ...
282         (mapped_index_base::find_name_components_bounds): ... this.
283         (mapped_index::build_name_components): Rename to ...
284         (mapped_index_base::build_name_components): ... this.  Adjust to
285         use mapped_index_base::symbol_name_count and
286         mapped_index_base::symbol_name_slot_invalid.
287         (dw2_expand_symtabs_matching_symbol): Take a mapped_index_base
288         instead of a mapped_index.  Use
289         dw2_expand_symtabs_matching_symbol.
290
291 2017-12-08  Pedro Alves  <palves@redhat.com>
292
293         * dwarf2read.c (mapped_index::symbol_table_slot): New.
294         (mapped_index::address_table): Now a gdb::array_view of const
295         gdb_byte.
296         (mapped_index::symbol_table): Now a gdb::array_view of
297         symbol_table_slot.
298         (mapped_index::address_table_size)
299         (mapped_index::symbol_table_slots): Delete.
300         (create_addrmap_from_index): Adjust.
301         (find_slot_in_mapped_hash): Adjust.
302         (read_index_from_section): Adjust.
303         (dwarf2_read_index): Adjust.
304
305 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
306             Pedro Alves  <palves@redhat.com>
307
308         * defs.h (elf_sym_fns_debug_names): New declaration.
309         * dwarf2read.c: Include "hash_enum.h".
310         (mapped_debug_names): New.
311         (struct dwarf2_per_objfile): Add debug_names, debug_aranges and
312         debug_names_table.
313         (dwarf2_elf_names): Add ".debug_names" and ".debug_aranges".
314         (struct dwz_file): Add debug_names.
315         (dwarf2_per_objfile::locate_sections): Handle debug_names and
316         debug_aranges.
317         (locate_dwz_sections): Handle debug_names.
318         (create_signatured_type_table_from_debug_names)
319         (create_addrmap_from_aranges): New.
320         (dwarf2_read_index): Update function comment.
321         (dwarf5_augmentation): Moved up.
322         (read_debug_names_from_section, create_cus_from_debug_names_list)
323         (create_cus_from_debug_names, dwarf2_read_debug_names): New.
324         (dwarf5_djb_hash): Moved up.
325         (dw2_debug_names_iterator): New.
326         (read_indirect_string_at_offset): New declaration.
327         (mapped_debug_names::namei_to_name)
328         (dw2_debug_names_iterator::find_vec_in_debug_names)
329         (dw2_debug_names_iterator::next, dw2_debug_names_lookup_symbol)
330         (dw2_debug_names_dump, dw2_debug_names_expand_symtabs_for_function)
331         (dw2_debug_names_expand_symtabs_matching, dwarf2_debug_names_functions):
332         New.
333         (dwarf2_initialize_objfile): Return also elf_sym_fns_debug_names.
334         (debug_names::djb_hash): Rename it to dwarf5_djb_hash.
335         (debug_names::build): Update djb_hash caller.
336         (write_debug_names): Move out and rename augmentation to
337         dwarf5_augmentation.
338         * elfread.c (elf_sym_fns_debug_names): New.
339         * psymtab.h (dwarf2_debug_names_functions): New declaration.
340         * symfile.h (struct dwarf2_debug_sections): Add debug_names and
341         debug_aranges.
342         * xcoffread.c (dwarf2_xcoff_names): Add debug_names and debug_aranges.
343
344 2017-12-08  Pedro Alves  <palves@redhat.com>
345
346         * common/hash_enum.h: New file.
347
348 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
349
350         * dwarf2read.c (create_cu_from_index_list): New from ...
351         (create_cus_from_index_list): ... this function, use it.
352         (dw_expand_symtabs_matching_file_matcher)
353         (dw2_expand_symtabs_matching_one): New from ...
354         (dw2_expand_symtabs_matching): ... this function, use them.
355
356 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
357
358         * defs.h (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index): Move here
359         declarations from elfread.c.
360         (dwarf2_initialize_objfile): Change return value.
361         * elfread.c (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index): Move these
362         declarations to defs.h.
363         (elf_symfile_read): Adjust dwarf2_initialize_objfile caller.
364         * symfile.h (dwarf2_initialize_objfile): Change return type.
365
366 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
367             Pedro Alves  <palves@redhat.com>
368
369         * contrib/gdb-add-index.sh (index): Rename to ...
370         (index4): ... here.
371         (index5, debugstr, debugstrmerge, debugstrerr): New variables.
372         Support also .debug_names and .debug_str.
373         * dwarf2read.c: Include cmath, set, list.
374         (INDEX_SUFFIX): Rename to ...
375         (INDEX4_SUFFIX): ... here.
376         (INDEX5_SUFFIX, DEBUG_STR_SUFFIX): New.
377         (file_write(FILE *, const void *, size_t)): New.
378         (file_write(FILE *, const std::vector<Elem, Alloc> &)): New.
379         (data_buf::append_unsigned_leb128, data_buf::empty): New.
380         (data_buf::file_write): Use ::file_write.
381         (data_buf::c_str, dwarf5_djb_hash, debug_names)
382         (check_dwarf64_offsets): New.
383         (psyms_seen_size, write_gdbindex): New from
384         write_psymtabs_to_index code.
385         (dwarf5_gdb_augmentation, write_debug_names, assert_file_size)
386         (enum dw_index_kind): New.
387         (write_psymtabs_to_index): New parameter index_kind.  Support
388         filename_str and out_file_str.  Move code to write_gdbindex,
389         possibly call write_debug_names.
390         (save_gdb_index_command): New parameter -dwarf-5.
391         (_initialize_dwarf2_read): Document the new parameter -dwarf-5.
392
393 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
394             Pedro Alves  <palves@redhat.com>
395
396         * contrib/cc-with-tweaks.sh: Change interpreter to bash, incl. initial
397         comment.
398         (GDB_ADD_INDEX): New variable.
399         <$want_index>: Call $GDB_ADD_INDEX.
400
401 2017-12-08  Sergio Durigan Junior  <sergiodj@redhat.com>
402
403         * dtrace-probe.c (dtrace_process_dof_probe): Do not declare a new
404         "expression_up" inside the TRY block.
405
406 2017-12-08  Yao Qi  <yao.qi@linaro.org>
407
408         * breakpoint.c (update_watchpoint): Call
409         address_significant.
410
411 2017-12-08  Yao Qi  <yao.qi@linaro.org>
412
413         * breakpoint.c (adjust_breakpoint_address): Call
414         address_significant.
415
416 2017-12-08  Yao Qi  <yao.qi@linaro.org>
417
418         * aarch64-tdep.c (aarch64_gdbarch_init): Install gdbarch
419         significant_addr_bit.
420         * gdbarch.sh (significant_addr_bit): New.
421         * gdbarch.c, gdbarch.h: Re-generated.
422         * target.c (memory_xfer_partial): Call address_significant.
423         * utils.c (address_significant): New function.
424         * utils.h (address_significant): Declare.
425
426 2017-12-08  Tom Tromey  <tom@tromey.com>
427
428         * printcmd.c (ui_printf): Update.  Use std::vector.
429         * common/format.h (struct format_piece): Add constructor.
430         <string>: Now const.
431         (class format_pieces): New class.
432         (parse_format_string, free_format_pieces)
433         (free_format_pieces_cleanup): Remove.
434         * common/format.c (format_pieces::format_pieces): Rename from
435         parse_format_string.  Update.
436         (free_format_pieces, free_format_pieces_cleanup): Remove.
437         * breakpoint.c (parse_cmd_to_aexpr): Update.  Use std::vector.
438         * ax-gdb.h (gen_printf): Remove argument.
439         * ax-gdb.c (gen_printf): Remove "frags" argument.
440         (maint_agent_printf_command): Update.  Use std::vector.
441
442 2017-12-08  Yao Qi  <yao.qi@linaro.org>
443
444         PR breakpionts/22567
445         * linespec.c (minsym_found): Set sal.section.
446
447 2017-12-08  Andreas Arnez  <arnez@linux.vnet.ibm.com>
448
449         * configure.tgt (s390*-*-linux*): Add symfile-mem.o.
450
451 2017-12-07  Keith Seitz  <keiths@redhat.com>
452
453         PR breakpoints/22569
454         * location.c (string_to_explicit_location): When terminating
455         parsing early, break out of enclosing loop instead of returning.
456
457 2017-12-07  Keith Seitz  <keiths@redhat.com>
458
459         * NEWS (New commands): Mention set/show print type nested-type-limit.
460         * c-typeprint.c (c_type_print_base): Print out nested types.
461         * dwarf2read.c (struct typedef_field_list): Rename to ...
462         (struct decl_field_list): ... this.  Change all uses.
463         (struct field_info) <nested_types_list, nested_types_list_count>:
464         New fields.
465         (add_partial_symbol): Look for nested type definitions in C++, too.
466         (dwarf2_add_typedef): Rename to ...
467         (dwarf2_add_type_defn): ... this.
468         (type_can_define_types): New function.
469         Update assertion to use type_can_define_types.
470         Permit NULL for a field's name.
471         (process_structure_scope): Handle child DIEs of types that can
472         define types.
473         Copy the list of nested types into the type struct.
474         * gdbtypes.h (struct typedef_field): Rename to ...
475         (struct decl_field): ... this.  Change all uses.
476         [is_protected, is_private]: New fields.
477         (struct cplus_struct_type) <nested_types, nested_types_count>: New
478         fields.
479         (TYPE_NESTED_TYPES_ARRAY, TYPE_NESTED_TYPES_FIELD)
480         (TYPE_NESTED_TYPES_FIELD_NAME, TYPE_NESTED_TYPES_FIELD_TYPE)
481         (TYPE_NESTED_TYPES_COUNT, TYPE_NESTED_TYPES_FIELD_PROTECTED)
482         (TYPE_NESTED_TYPES_FIELD_PRIVATE): New macros.
483         * typeprint.c (type_print_raw_options, default_ptype_flags): Add
484         default value for print_nested_type_limit.
485         (print_nested_type_limit): New static variable.
486         (set_print_type_nested_types, show_print_type_nested_types): New
487         functions.
488         (_initialize_typeprint): Register new commands for set/show
489         `print-nested-type-limit'.
490         * typeprint.h (struct type_print_options) [print_nested_type_limit]:
491         New field.
492
493 2017-12-07  Tom Tromey  <tom@tromey.com>
494
495         PR breakpoints/22511:
496         * breakpoint.c (commands_command_1): Don't throw an exception when
497         no commands have been read.
498
499 2017-12-07  Adam Stylinski  <adam.stylinski@etegent.com>
500
501         PR c++/21222
502         * target-descriptions.c (print_c_tdesc::visit_pre): Change type of
503         range-for variable.
504
505 2017-12-07  Simon Marchi  <simon.marchi@ericsson.com>
506
507         * common/selftest.h (struct selftest): Add virtual destructor.
508
509 2017-12-07  Phil Muldoon  <pmuldoon@redhat.com>
510
511         * python/py-breakpoint.c (bppy_init): Use string_to_event_location
512         over basic location code. Implement explicit location keywords.
513         (bppy_init_validate_args): New function.
514         * NEWS: Document Python explicit breakpoint locations.
515
516 2017-12-07  Joel Brobecker  <brobecker@adacore.com>
517
518         * MAINTAINERS: Restore target entries for m68hc11-elf,
519         score-elf and xstormy16-elf, incorrectly removed in a previous
520         patch meant to only update the list of active maintainers.
521
522 2017-12-06  Pedro Alves  <palves@redhat.com>
523
524         * break-catch-syscall.c (insert_catch_syscall)
525         (remove_catch_syscall): Adjust to pass reference to
526         inf_data->syscalls_counts directly via gdb::array_view.
527         * fbsd-nat.c (fbsd_set_syscall_catchpoint): Adjust to use bool
528         and gdb::array_view.
529         * linux-nat.c (linux_child_set_syscall_catchpoint): Likewise.
530         * remote.c (remote_set_syscall_catchpoint): Likewise.
531         * target-debug.h (target_debug_print_bool): New.
532         (define target_debug_print_gdb_array_view_const_int): New.
533         * target-delegates.c: Regenerate.
534         * target.h (target_ops) <to_set_syscall_catchpoint>: Use
535         gdb::array_view and bool.
536         (target_set_syscall_catchpoint): Likewise.
537
538 2017-12-06  Simon Marchi  <simon.marchi@ericsson.com>
539
540         * break-catch-syscall.c (catch_syscall_completer): Get pointers
541         to syscall group strings after building the string vector.
542
543 2017-12-06  Pedro Alves  <palves@redhat.com>
544
545         * remote.c (remote_query_supported): Don't send "xmlRegisters=" if
546         "qXfer:features:read"" is disabled.
547         (remote_write_qxfer, remote_read_qxfer, remote_search_memory):
548         Check packet_config_support instead of packet->support directly.
549
550 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
551
552         * target-descriptions.c (struct tdesc_feature) <registers>: Use
553         tdesc_reg_up typedef.
554         (struct target_desc) <features>: Use tdesc_feature_up typedef.
555
556 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
557
558         * target-descriptions.c (struct tdesc_type): Use default
559         destructor.
560         <u>: Remove.
561         <accept>: Remove.
562         (struct tdesc_type_builtin): New.
563         (struct tdesc_type_vector): New.
564         (struct tdesc_type_with_fields): New.
565         (tdesc_predefined_types): Change type to tdesc_type_builtin[].
566         (tdesc_gdb_type): Remove.
567         (tdesc_register_type): Adjust.
568         (tdesc_create_vector): Create tdesc_type_vector.
569         (tdesc_create_struct): Create tdesc_type_with_fields.
570         (tdesc_set_struct_size): Change parameter type.
571         (tdesc_create_union): Create tdesc_type_with_fields.
572         (tdesc_create_flags): Likewise.
573         (tdesc_create_enum): Likewise.
574         (tdesc_add_field): Change parameter type.
575         (tdesc_add_typed_bitfield): Likewise.
576         (tdesc_add_bitfield): Likewise.
577         (tdesc_add_flag): Likewise.
578         (tdesc_add_enum_value): Likewise.
579         (print_c_tdesc) <visit>: Remove overload with tdesc_type
580         parameter, add overloads for tdesc_type_builtin,
581         tdesc_type_with_fields and tdesc_type_vector.
582         <m_printed_type>: Remove.
583         <m_printed_element_type, m_printed_type_with_fields>: Add.
584         * target-descriptions.h (tdesc_create_enum): Change return type.
585         (tdesc_add_typed_bitfield): Change parameter type.
586         (tdesc_add_enum_value): Change parameter type.
587         * xml-tdesc.c (struct tdesc_parsing_data) <current_type>: Change
588         type to tdesc_type_with_fields.
589         (tdesc_start_struct): Adjust.
590         (tdesc_start_flags): Adjust.
591         (tdesc_start_enum): Adjust.
592         (tdesc_start_field): Adjust.
593         * arch/tdesc.h (struct tdesc_type_builtin): Forward-declare.
594         (struct tdesc_type_vector): Forward-declare.
595         (struct tdesc_type_with_fields): Forward-declare.
596         (tdesc_create_struct): Change return type.
597         (tdesc_create_union): Likewise.
598         (tdesc_create_flags): Likewise.
599         (tdesc_add_field): Change parameter type.
600         (tdesc_set_struct_size): Likewise.
601         (tdesc_add_bitfield): Likewise.
602         (tdesc_add_flag): Likewise.
603         * features: Re-generate C files.
604
605 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
606
607         * target-descriptions.c (tdesc_arch_reg): Remove typedef.
608         (struct tdesc_arch_reg): Add constructor.
609         (DEF_VEC_O (tdesc_arch_reg)): Remove.
610         (struct tdesc_arch_data): Initialize fields.
611         <arch_regs>: Change type to std::vector.
612         (target_find_description): Adjust.
613         (tdesc_find_type): Adjust.
614         (tdesc_data_init): Call tdesc_arch_data constructor.
615         (tdesc_data_alloc): Allocate tdesc_arch_data with new.
616         (tdesc_data_cleanup): Free data with delete.
617         (tdesc_numbered_register): Adjust.
618         (tdesc_find_arch_register): Adjust.
619         (tdesc_use_registers): Adjust.
620
621 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
622
623         * target-descriptions.c (tdesc_type_field): Remove typedef.
624         (DEF_VEC_O (tdesc_type_field)): Remove.
625         (struct tdesc_type_field): Add constructor.
626         <name>: Change type to std::string.
627         (struct tdesc_type) <tdesc_type>: Instantiate vector if the type
628         kind uses it.
629         <~tdesc_type>: Destroy vector if the type kind uses it.
630         <u::u::fields>: Change type to std::vector.
631         (tdesc_gdb_type): Adjust.
632         (tdesc_add_field): Adjust.
633         (tdesc_add_typed_bitfield): Adjust.
634         (tdesc_add_field): Adjust.
635         (tdesc_add_enum_value): Adjust.
636         (class print_c_tdesc) <visit>: Adjust.
637
638 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
639
640         * target-descriptions.c (struct tdesc_type) <name>: Change type
641         to std::string.
642         <~tdesc_type>: Don't manually free name.
643         <operator==>: Adjust.
644         (tdesc_named_type): Adjust.
645         (tdesc_find_type): Adjust.
646         (tdesc_gdb_type): Adjust.
647         (class print_c_tdesc) <visit>: Adjust.
648
649 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
650
651         * target-descriptions.c (tdesc_type_p): Remove typedef.
652         (DEF_VEC_P (tdesc_type_p)): Remove.
653         (struct tdesc_feature) <types>: Change type to std::vector.
654         <~tdesc_feature>: Replace with default implementation.
655         <accept>: Adjust.
656         (tdesc_named_type): Adjust.
657         (tdesc_create_vector): Adjust.
658         (tdesc_create_struct): Adjust.
659         (tdesc_create_union): Adjust.
660         (tdesc_create_flags): Adjust.
661         (tdesc_create_enum): Adjust.
662
663 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
664
665         * target-descriptions.c (struct tdesc_reg) <tdesc_reg>: Change
666         type of name_ parameter, adjust to std::string change.
667         <name, group, type>: Change type to std::string.
668         <~tdesc_reg>: Replace with default implementation.
669         <operator==>: Adjust.
670         (tdesc_find_register_early): Adjust.
671         (tdesc_register_name): Adjust.
672         (tdesc_register_type): Adjust.
673         (tdesc_register_in_reggroup_p): Adjust.
674         (class print_c_tdesc) <visit>: Adjust.
675         (class print_c_feature) <visit>: Adjust.
676         * features/arc-arcompact.c: Re-generate.
677         * features/arc-v2.c: Re-generate.
678
679 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
680
681         * target-descriptions.c (tdesc_reg_p): Remove typedef.
682         (DEF_VEC_P (tdesc_reg_p)): Remove.
683         (struct tdesc_feature) <registers>: Change type to std::vector.
684         <~tdesc_feature>: Don't manually free registers.
685         <accept>: Adjust.
686         <operator==>: Adjust.
687         (tdesc_has_registers): Adjust.
688         (tdesc_find_register_early): Adjust.
689         (tdesc_use_registers): Adjust.
690         (tdesc_create_reg): Adjust.
691
692 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
693
694         * target-descriptions.c (tdesc_feature) <name>: Change type to
695         std::string.
696         <~tdesc_feature>: Don't manually free name.
697         <operator==>: Adjust.
698         (tdesc_find_feature): Adjust.
699         (tdesc_feature_name): Adjust.
700         (class print_c_tdesc) <visit_pre>: Adjust.
701         (class print_c_feature) <visit_pre>: Adjust.
702
703 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
704
705         * target-descriptions.c (tdesc_feature_p): Remove typedef.
706         (DEF_VEC_P (tdesc_feature_p)): Remove.
707         (struct target_desc) <features>: Change type to std::vector.
708         <~target_desc>: Replace with default implementation.
709         <accept>: Adjust.
710         <operator==>: Adjust.
711         (tdesc_has_registers): Adjust.
712         (tdesc_find_feature): Adjust.
713         (tdesc_use_registers): Adjust.
714         (tdesc_create_feature): Adjust.
715
716 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
717
718         * target-descriptions.c (arch_p): Remove typedef.
719         (DEF_VEC_P (arch_p)): Remove.
720         (struct target_desc) <compatible>: Change type to std::vector.
721         <~target_desc>: Don't manually free compatible.
722         (tdesc_compatible_p): Adjust.
723         (tdesc_add_compatible): Adjust.
724         (class print_c_tdesc) <visit_pre>: Adjust.
725
726 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
727
728         * target-descriptions.c (property_s): Remove typedef.
729         (DEF_VEC_O (property_s)): Remove.
730         (struct target_desc) <properties>: Make an std::vector.
731         <~target_desc>: Don't manually free properties.
732         (tdesc_property): Adjust.
733         (set_tdesc_property): Adjust.
734         (class print_c_tdesc) <visit_pre>: Adjust.
735
736 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
737
738         * common/gdb_assert.h (gdb_static_assert): Redefine using
739         static_assert.
740
741 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
742
743         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
744         unused variables.
745         (ada_is_redundant_range_encoding): Likewise.
746         * ada-varobj.c (ada_varobj_get_value_of_array_variable):
747         Likewise.
748         * alpha-tdep.c (alpha_software_single_step): Likewise.
749         * arm-tdep.c (_initialize_arm_tdep): Likewise.
750         * auto-load.c (info_auto_load_cmd): Likewise.
751         * break-catch-syscall.c (insert_catch_syscall): Likewise.
752         (remove_catch_syscall): Likewise.
753         * breakpoint.c (condition_completer): Likewise.
754         (clear_command): Likewise.
755         (update_breakpoint_locations): Likewise.
756         * btrace.c (btrace_disable): Likewise.
757         (btrace_teardown): Likewise.
758         (btrace_maint_update_pt_packets): Likewise.
759         (maint_btrace_clear_cmd): Likewise.
760         * cli/cli-decode.c (lookup_cmd_1): Likewise.
761         (lookup_cmd_composition): Likewise.
762         * cli/cli-dump.c (scan_filename): Likewise.
763         (restore_command): Likewise.
764         * compile/compile-loc2c.c (compute_stack_depth): Likewise.
765         * compile/compile-object-load.c (compile_object_load): Likewise.
766         * compile/compile-object-run.c (compile_object_run): Likewise.
767         * compile/compile.c (compile_to_object): Likewise.
768         * completer.c (filename_completer): Likewise.
769         (complete_files_symbols): Likewise.
770         (complete_expression): Likewise.
771         * corelow.c (core_open): Likewise.
772         * ctf.c (ctf_start): Likewise.
773         (ctf_write_status): Likewise.
774         (ctf_write_uploaded_tsv): Likewise.
775         (ctf_write_definition_end): Likewise.
776         (ctf_open_dir): Likewise.
777         (ctf_xfer_partial): Likewise.
778         (ctf_trace_find): Likewise.
779         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
780         Likewise.
781         * dwarf2loc.c (allocate_piece_closure): Likewise.
782         (indirect_pieced_value): Likewise.
783         (dwarf2_evaluate_loc_desc_full): Likewise.
784         * dwarf2read.c (dw2_expand_marked_cus): Likewise.
785         (dw2_expand_symtabs_matching): Likewise.
786         (dw2_map_symbol_filenames): Likewise.
787         (read_and_check_comp_unit_head): Likewise.
788         (read_cutu_die_from_dwo): Likewise.
789         (lookup_dwo_unit): Likewise.
790         (read_comp_units_from_section): Likewise.
791         (dwarf2_compute_name): Likewise.
792         (handle_DW_AT_stmt_list): Likewise.
793         (create_cus_hash_table): Likewise.
794         (create_dwp_v2_section): Likewise.
795         (dwarf2_rnglists_process): Likewise.
796         (dwarf2_ranges_process): Likewise.
797         (dwarf2_record_block_ranges): Likewise.
798         (is_vtable_name): Likewise.
799         (read_formatted_entries): Likewise.
800         (skip_form_bytes): Likewise.
801         * elfread.c (elf_symtab_read): Likewise.
802         * exec.c (exec_file_command): Likewise.
803         * f-valprint.c (f_val_print): Likewise.
804         (info_common_command_for_block): Likewise.
805         * guile/guile.c (initialize_scheme_side): Likewise.
806         * guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Likewise.
807         * guile/scm-cmd.c (cmdscm_completer): Likewise.
808         (gdbscm_register_command_x): Likewise.
809         * guile/scm-frame.c (gdbscm_frame_read_var): Likewise.
810         * guile/scm-param.c (gdbscm_parameter_value): Likewise.
811         * guile/scm-ports.c (file_port_magic): Likewise.
812         * guile/scm-pretty-print.c (ppscm_search_pp_list): Likewise.
813         (ppscm_pretty_print_one_value): Likewise.
814         (ppscm_print_children): Likewise.
815         * guile/scm-string.c (gdbscm_string_to_argv): Likewise.
816         * guile/scm-symtab.c (gdbscm_sal_symtab): Likewise.
817         * guile/scm-type.c (gdbscm_type_next_field_x): Likewise.
818         * guile/scm-utils.c (gdbscm_parse_function_args): Likewise.
819         * i386-tdep.c (i386_register_reggroup_p): Likewise.
820         * infcmd.c (run_command_1): Likewise.
821         (until_next_fsm_clean_up): Likewise.
822         * linespec.c (linespec_complete): Likewise.
823         (find_label_symbols): Likewise.
824         * m2-valprint.c (m2_val_print): Likewise.
825         * memattr.c (require_user_regions): Likewise.
826         (lookup_mem_region): Likewise.
827         (disable_mem_command): Likewise.
828         (mem_delete): Likewise.
829         * mep-tdep.c (mep_register_name): Likewise.
830         (mep_analyze_prologue): Likewise.
831         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Likewise.
832         * mi/mi-interp.c (mi_on_sync_execution_done): Likewise.
833         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
834         * microblaze-linux-tdep.c (microblaze_linux_init_abi): Likewise.
835         * minidebug.c (lzma_open): Likewise.
836         * minsyms.c (lookup_minimal_symbol): Likewise.
837         * mips-linux-tdep.c (mips64_fill_fpregset): Likewise.
838         * mips-tdep.c (mips_stub_frame_sniffer): Likewise.
839         (mips_o64_return_value): Likewise.
840         (mips_single_step_through_delay): Likewise.
841         (_initialize_mips_tdep): Likewise.
842         * nios2-tdep.c (nios2_push_dummy_call): Likewise.
843         (nios2_software_single_step): Likewise.
844         * parse.c (find_minsym_type_and_address): Likewise.
845         * psymtab.c (psym_relocate): Likewise.
846         * python/py-breakpoint.c (bppy_get_commands): Likewise.
847         (gdbpy_breakpoint_modified): Likewise.
848         * python/py-infevents.c (create_inferior_call_event_object):
849         Likewise.
850         * python/py-record-btrace.c (btpy_list_item): Likewise.
851         * python/py-type.c (typy_str): Likewise.
852         * python/py-value.c (valpy_call): Likewise.
853         * python/python.c (do_start_initialization): Likewise.
854         * record-btrace.c (record_btrace_insn_history_range): Likewise.
855         (record_btrace_call_history_range): Likewise.
856         (record_btrace_record_method): Likewise.
857         (record_btrace_xfer_partial): Likewise.
858         (btrace_get_frame_function): Likewise.
859         * record-full.c (record_full_open): Likewise.
860         * record.c (get_context_size): Likewise.
861         * registry.h (DEFINE_REGISTRY): Likewise.
862         * remote-fileio.c (remote_fileio_request): Likewise.
863         * remote.c (remote_update_thread_list): Likewise.
864         (remote_check_symbols): Likewise.
865         (remote_commit_resume): Likewise.
866         (remote_interrupt): Likewise.
867         (remote_insert_breakpoint): Likewise.
868         (compare_sections_command): Likewise.
869         * rust-exp.y (super_name): Likewise.
870         (lex_string): Likewise.
871         (convert_ast_to_type): Likewise.
872         (convert_ast_to_expression): Likewise.
873         * rust-lang.c (rust_print_struct_def): Likewise.
874         (rust_print_type): Likewise.
875         (rust_evaluate_subexp): Likewise.
876         * rx-tdep.c (rx_register_type): Likewise.
877         * ser-event.c (serial_event_clear): Likewise.
878         * serial.c (serial_open): Likewise.
879         * spu-tdep.c (spu_overlay_new_objfile): Likewise.
880         * symfile.c (section_is_overlay): Likewise.
881         (overlay_unmapped_address): Likewise.
882         (overlay_mapped_address): Likewise.
883         (simple_overlay_update_1): Likewise.
884         (simple_overlay_update): Likewise.
885         * symtab.c (symbol_find_demangled_name): Likewise.
886         (search_symbols): Likewise.
887         * target-descriptions.c (tdesc_predefined_type): Likewise.
888         * target.c (target_commit_resume): Likewise.
889         * thread.c (print_selected_thread_frame): Likewise.
890         * top.c (new_ui_command): Likewise.
891         (gdb_readline_no_editing): Likewise.
892         * tracefile-tfile.c (tfile_open): Likewise.
893         * tracepoint.c (create_tsv_from_upload): Likewise.
894         * utils.c (quit): Likewise.
895         (defaulted_query): Likewise.
896         * valarith.c (value_concat): Likewise.
897         * xml-syscall.c (xml_list_syscalls_by_group): Likewise.
898         * xml-tdesc.c (target_fetch_description_xml): Likewise.
899         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
900         (xtensa_pseudo_register_write): Likewise.
901
902 2017-12-04  Tom Tromey  <tom@tromey.com>
903
904         * NEWS: Mention Rust trait object inspection.
905
906 2017-12-04  Pedro Alves  <palves@redhat.com>
907
908         PR gdb/22499
909         * amd64-tdep.c (amd64_insn::rex_offset): Rename to...
910         (amd64_insn::enc_prefix_offset): ... this, and tweak comment.
911         (vex2_prefix_p, vex3_prefix_p): New functions.
912         (amd64_get_insn_details): Adjust to rename.  Also skip VEX2 and
913         VEX3 prefixes.
914         (fixup_riprel): Set VEX3.!B.
915
916 2017-12-03  Simon Marchi  <simon.marchi@ericsson.com>
917
918         * target.h (mem_region_vector): Remove.
919         (struct target_ops) <to_memory_map>: Change return type to
920         std::vector<mem_region>.
921         * target-debug.h (target_debug_print_mem_region_vector): Rename
922         to ...
923         (target_debug_print_std_vector_mem_region): ... this.
924         * target-delegates.c: Re-generate.
925
926 2017-12-03  Pedro Alves  <palves@redhat.com>
927
928         * make-target-delegates (munge_type): Also munge '<', '>', and
929         ':'.  Avoid double underscores in identifiers, and trailing
930         underscores.
931         * target-debug.h
932         (target_debug_print_VEC_static_tracepoint_marker_p__p): Rename to
933         ...
934         (target_debug_print_VEC_static_tracepoint_marker_p_p): ... this.
935         * target-delegates.c: Regenerate.
936
937 2017-12-02  Simon Marchi  <simon.marchi@polymtl.ca>
938
939         * common/poison.h (XDELETE): Fix typo.
940
941 2017-12-01  Andrew Cagney  <cagney@redhat.com>
942             Joel Brobecker  <brobecker@adacore.com>
943             Sergio Durigan Junior  <sergiodj@redhat.com>
944
945         * NEWS (Changes since GDB 8.0: Mention new '--readnever'
946         feature.
947         * coffread.c (coff_symfile_read): Do not map over sections with
948         'coff_locate_sections' if readnever is on.
949         * dwarf2read.c (dwarf2_has_info): Return 0 if
950         readnever is on.
951         * elfread.c (elf_symfile_read): Do not map over sections with
952         'elf_locate_sections' if readnever is on.
953         * main.c (validate_readnow_readnever): New function.
954         (captured_main_1): Add support for --readnever.
955         (print_gdb_help): Document --readnever.
956         * objfile-flags.h (enum objfile_flag) <OBJF_READNEVER>: New
957         flag.
958         * symfile.c (readnever_symbol_files): New global.
959         (symbol_file_add_with_addrs): Set 'OBJF_READNEVER' when
960         'READNEVER_SYMBOL_FILES' is set.
961         (validate_readnow_readnever): New function.
962         (symbol_file_command): Handle '-readnever' option.
963         Call 'validate_readnow_readnever'.
964         (add_symbol_file_command): Handle '-readnever' option.
965         Call 'validate_readnow_readnever'.
966         (_initialize_symfile): Document new '-readnever' option for
967         both 'symbol-file' and 'add-symbol-file' commands.
968         * top.h (readnever_symbol_files): New extern global.
969         * xcoffread.c (xcoff_initial_scan): Do not read debug
970         information if readnever is on.
971
972 2017-12-01  Sergio Durigan Junior  <sergiodj@redhat.com>
973
974         * symfile.c (symbol_file_command): Call
975         'symbol_file_add_main_1' only after processing all command
976         line options.
977         (add_symbol_file_command): Modify logic to make arguments
978         position-independent.
979
980 2017-12-01  Joel Brobecker  <brobecker@adacore.com>
981
982         * ada-lang.c (symbol_list_obstack): Delete.
983         (resolve_subexp): Make sure "candidates" gets xfree'ed.
984         (ada_lookup_symbol_list_worker): Remove the limitation that
985         the result is only good until the next call, now making it
986         the responsibility of the caller to free the result when no
987         longer needed.  Adjust the function's intro comment accordingly.
988         (ada_lookup_symbol_list): Adjust the function's intro comment.
989         (ada_iterate_over_symbols): Make sure "results" gets xfree'ed.
990         (ada_lookup_encoded_symbol, get_var_value): Likewise.
991         (_initialize_ada_language): Remove symbol_list_obstack
992         initialization.
993         * ada-exp.y (block_lookup): Make sure "syms" gets xfree'ed.
994         (write_var_or_type, write_name_assoc): Likewise.
995
996 2017-12-01  Tom Tromey  <tom@tromey.com>
997
998         * Makefile.in (all_deps_files): New variable.
999         Include .Po files using all_deps_files.
1000
1001 2017-12-01  Joel Brobecker  <brobecker@adacore.com>
1002
1003         * MAINTAINERS: Update list of maintainers, moving those who
1004         stepped down or became inactive to the "Past Maintainers"
1005         section.
1006
1007 2017-11-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1008
1009         * configure.ac Don't check for sys/fault.h, sys/syscall.h,
1010         sys/proc.h.
1011         (NEW_PROC_API): Remove.
1012         (prsysent_t, pr_sigset_t, pr_sigaction64_t, pr_siginfo64_t):
1013         Likewise.
1014         * common/common.m4 (GDB_AC_COMMON): Don't check for sys/syscall.h.
1015         * configure: Regenerate.
1016         * config.in: Regenerate.
1017         * gdbserver/configure: Regenerate.
1018         * gdbserver/config.in: Regenerate.
1019
1020         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Remove
1021         NEW_PROC_API test.
1022         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Likewise.
1023
1024         * linux-btrace.c: Remove HAVE_SYS_SYSCALL_H test.
1025
1026         * proc-api.c: Remove !NEW_PROC_API support.
1027         Remove HAVE_SYS_PROC_H and HAVE_SYS_USER_H tests.
1028         Remove tests for macros always defined on Solaris.
1029         * proc-events.c: Remove !NEW_PROC_API support.
1030         Remove Remove HAVE_SYS_SYSCALL_H, HAVE_SYS_PROC_H and
1031         HAVE_SYS_USER_H tests.
1032         (init_syscall_table): Remove non-Solaris syscalls.
1033         Remove tests for syscalls present on all Solaris versions.
1034         Add missing Solaris 10+ syscalls.
1035         (signal_table): Remove non-Solaris signals.
1036         Remove tests for signals present on all Solaris versions.
1037         (fault_table): Remove non-Solaris faults.
1038         Remove tests for faults present on all Solaris versions.
1039         * proc-flags.c: Remove !NEW_PROC_API support.
1040         (pr_flag_table): Remove non-Solaris and pre-Solaris 7 comments.
1041         Remove non-Solaris flags.
1042         * proc-why.c: Remove !NEW_PROC_API support.
1043         (pr_why_table): Remove meaningless comments.
1044         Remove tests for reasons present on all Solaris versions.
1045         Remove OSF/1 cases.
1046         (proc_prettyfprint_why): Likewise.
1047
1048         * procfs.c: Remove !NEW_PROC_API and DYNAMIC_SYSCALLS support.
1049         Remove HAVE_SYS_FAULT_H and HAVE_SYS_SYSCALL_H tests.
1050         Remove WA_READ test, IRIX watchpoint support.
1051         (gdb_sigset_t, gdb_sigaction_t, gdb_siginfo_t): Replace by base
1052         types.  Change users.
1053         (gdb_praddset, gdb_prdelset, gdb_premptysysset, gdb_praddsysset)
1054         (gdb_prdelset, gdb_pr_issyssetmember): Replace by base macros.
1055         Change callers.
1056         Remove CTL_PROC_NAME_FMT tests.
1057         (gdb_prstatus_t, gdb_lwpstatus_t): Replace by base types.  Change
1058         users.
1059         (sysset_t_size): Remove.  Use sizeof (sysset_t) in callers.
1060         Remove PROCFS_DONT_PIOCSSIG_CURSIG support.
1061         (proc_modify_flag): Replace GDBRESET by PCUNSET.
1062         Remove PR_ASYNC, PR_KLC tests.
1063         (proc_unset_inherit_on_fork): Remove PR_ASYNC test.
1064         (proc_parent_pid): Remove PCWATCH etc. tests.
1065         (proc_set_watchpoint): Remove !PCWATCH && !PIOCSWATCH support.
1066         Remove PCAGENT test.
1067         (proc_get_nthreads) [PIOCNTHR && PIOCTLIST]: Remove.
1068         Remove SYS_lwpcreate || SYS_lwp_create test.
1069         (proc_get_current_thread): Likewise.
1070         [PIOCNTHR && PIOCTLIST]: Remove.
1071         [PIOCLSTATUS]: Remove.
1072         (procfs_debug_inferior): Remove non-Solaris cases, conditionals.
1073         [PRFS_STOPEXEC]: Remove.
1074         (syscall_is_lwp_exit): Remove non-Solaris cases, conditionals.
1075         (syscall_is_exit): Likewise.
1076         (syscall_is_exec): Likewise.
1077         (syscall_is_lwp_create): Likewise.
1078         Remove SYS_syssgi support.
1079         (procfs_wait): Remove PR_ASYNC, !PIOCSSPCACT tests.
1080         [SYS_syssgi]: Remove.
1081         Remove non-Solaris cases, conditionals.
1082         (unconditionally_kill_inferior) [PROCFS_NEED_PIOCSSIG_FOR_KILL]:
1083         Remove.
1084         (procfs_init_inferior) [SYS_syssgi]: Remove.
1085         (procfs_set_exec_trap) [PRFS_STOPEXEC]: Remove.
1086         (procfs_inferior_created) [SYS_syssgi]: Remove.
1087         (procfs_set_watchpoint): Remove !AIX5 test.
1088         (procfs_stopped_by_watchpoint): Remove FLTWATCH test, FLTKWATCH
1089         case.
1090         (mappingflags) [MA_PHYS]: Remove.
1091         (info_mappings_callback): Remove PCAGENT test.
1092         Remove PIOCOPENLWP || PCAGENT test.
1093
1094 2017-11-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1095
1096         * sol-thread.c (info_solthreads): Constify args.
1097         Cast args to void *.
1098
1099 2017-11-29  John Baldwin  <jhb@FreeBSD.org>
1100
1101         * target-float.c [HAVE_LIBMPFR]: Define MPFR_USE_INTMAX_T.
1102
1103 2017-11-29  Joel Brobecker  <brobecker@adacore.com>
1104
1105         * ada-lang.c (to_fixed_range_type): Make sure that the size
1106         of the range type being returned is the same as the size
1107         of the range type being fixed.
1108
1109 2017-11-29  Pedro Alves  <palves@redhat.com>
1110
1111         PR c++/19436
1112         * NEWS: Mention setting breakpoints on functions with C++ ABI
1113         tags.
1114         * completer.h (completion_match_for_lcd) <match,
1115         mark_ignored_range>: New methods.
1116         <finish>: Consider ignored ranges.
1117         <clear>: Clear ignored ranges.
1118         <m_ignored_ranges, m_finished_storage>: New fields.
1119         * cp-support.c (cp_search_name_hash): Ignore ABI tags.
1120         (cp_symbol_name_matches_1, cp_fq_symbol_name_matches): Pass the
1121         completion_match_for_lcd pointer to strncmp_iw_with_mode.
1122         (test_cp_symbol_name_cmp): Add [abi:...] tags unit tests.
1123         * language.c (default_symbol_name_matcher): Pass the
1124         completion_match_for_lcd pointer to strncmp_iw_with_mode.
1125         * linespec.c (linespec_lexer_lex_string): Don't tokenize ABI tags.
1126         * utils.c (skip_abi_tag): New function.
1127         (strncmp_iw_with_mode): Add completion_match_for_lcd parameter.
1128         Handle ABI tags.
1129         * utils.h (strncmp_iw_with_mode): Add completion_match_for_lcd
1130         parameter.
1131
1132 2017-11-29  Pedro Alves  <palves@redhat.com>
1133
1134         PR c++/19436
1135         * NEWS: Mention setting breakpoints on functions with C++ ABI
1136         tags.
1137         * completer.h (completion_match_for_lcd) <match,
1138         mark_ignored_range>: New methods.
1139         <finish>: Consider ignored ranges.
1140         <clear>: Clear ignored ranges.
1141         <m_ignored_ranges, m_finished_storage>: New fields.
1142         * cp-support.c (cp_search_name_hash): Ignore ABI tags.
1143         (cp_symbol_name_matches_1, cp_fq_symbol_name_matches): Pass the
1144         completion_match_for_lcd pointer to strncmp_iw_with_mode.
1145         (test_cp_symbol_name_cmp): Add [abi:...] tags unit tests.
1146         * language.c (default_symbol_name_matcher): Pass the
1147         completion_match_for_lcd pointer to strncmp_iw_with_mode.
1148         * linespec.c (linespec_lexer_lex_string): Don't tokenize ABI tags.
1149         * utils.c (skip_abi_tag): New function.
1150         (strncmp_iw_with_mode): Add completion_match_for_lcd parameter.
1151         Handle ABI tags.
1152         * utils.h (strncmp_iw_with_mode): Add completion_match_for_lcd
1153         parameter.
1154
1155 2017-11-29  Pedro Alves  <palves@redhat.com>
1156
1157         * NEWS: Mention that breakpoints on C++ functions are now set on
1158         on all namespaces/classes by default, and mention "break
1159         -qualified".
1160         * ax-gdb.c (agent_command_1): Adjust to pass a
1161         symbol_name_match_type to new_linespec_location.
1162         * breakpoint.c (parse_breakpoint_sals): Adjust to
1163         get_linespec_location's return type change.
1164         (strace_marker_create_sals_from_location): Adjust to pass a
1165         symbol_name_match_type to new_linespec_location.
1166         (strace_marker_decode_location): Adjust to get_linespec_location's
1167         return type change.
1168         (strace_command): Adjust to pass a symbol_name_match_type to
1169         new_linespec_location.
1170         (LOCATION_HELP_STRING): Add paragraph about wildmatching, and
1171         mention "-qualified".
1172         * c-lang.c (cplus_language_defn): Install cp_search_name_hash.
1173         * completer.c (explicit_location_match_type::MATCH_QUALIFIED): New
1174         enumerator.
1175         (complete_address_and_linespec_locations): New parameter
1176         'match_type'.  Pass it down.
1177         (explicit_options): Add "-qualified".
1178         (collect_explicit_location_matches): Pass the requested match type
1179         to the linespec completers.  Handle MATCH_QUALIFIED.
1180         (location_completer): Handle "-qualified" combined with linespecs.
1181         * cp-support.c (cp_search_name_hash): New.
1182         (cp_symbol_name_matches_1): Implement wild matching for C++.
1183         (cp_fq_symbol_name_matches): Reimplement.
1184         (cp_get_symbol_name_matcher): Return different matchers depending
1185         on the lookup name's match type.
1186         (selftests::test_cp_symbol_name_matches): Add wild matching tests.
1187         * cp-support.h (cp_search_name_hash): New declaration.
1188         * dwarf2read.c
1189         (selftests::dw2_expand_symtabs_matching::test_symbols): Add
1190         symbols.
1191         (test_dw2_expand_symtabs_matching_symbol): Add wild matching
1192         tests.
1193         * guile/scm-breakpoint.c (gdbscm_register_breakpoint_x): Adjust to
1194         pass a symbol_name_match_type to new_linespec_location.
1195         * linespec.c (linespec_parse_basic): Lookup function symbols using
1196         the parser's symbol name match type.
1197         (convert_explicit_location_to_linespec): New
1198         symbol_name_match_type parameter.  Pass it down to
1199         find_linespec_symbols.
1200         (convert_explicit_location_to_sals): Pass the location's name
1201         match type to convert_explicit_location_to_linespec.
1202         (parse_linespec): New match_type parameter.  Save it in the
1203         parser.
1204         (linespec_parser_new): Default to symbol_name_match_type::WILD.
1205         (linespec_complete_function): New symbol_name_match_type
1206         parameter.  Use it.
1207         (complete_linespec_component): Pass down the parser's recorded
1208         name match type.
1209         (linespec_complete_label): New symbol_name_match_type parameter.
1210         Use it.
1211         (linespec_complete): New symbol_name_match_type parameter.  Save
1212         it in the parser and pass it down.  Adjust to
1213         get_linespec_location's prototype change.
1214         (find_function_symbols, find_linespec_symbols): New
1215         symbol_name_match_type parameter.  Pass it down instead of
1216         assuming symbol_name_match_type::WILD.
1217         * linespec.h (linespec_complete, linespec_complete_function)
1218         (linespec_complete_label): New symbol_name_match_type parameter.
1219         * location.c (event_location::linespec_location): Now a struct
1220         linespec_location.
1221         (EL_LINESPEC): Adjust.
1222         (initialize_explicit_location): Default to
1223         symbol_name_match_type::WILD.
1224         (new_linespec_location): New symbol_name_match_type parameter.
1225         Record it in the location.
1226         (get_linespec_location): Now returns a struct linespec_location.
1227         (new_explicit_location): Also copy func_name_match_type.
1228         (explicit_to_string_internal)
1229         (string_to_explicit_location): Handle "-qualified".
1230         (copy_event_location): Adjust to LINESPEC_LOCATION type change.
1231         Copy symbol_name_match_type fields.
1232         (event_location_deleter::operator()): Adjust to LINESPEC_LOCATION
1233         type change.
1234         (event_location_to_string): Adjust to LINESPEC_LOCATION type
1235         change.  Handle "-qualfied".
1236         (string_to_explicit_location): Handle "-qualified".
1237         (string_to_event_location_basic): New symbol_name_match_type
1238         parameter.  Pass it down.
1239         (string_to_event_location): Handle "-qualified".
1240         * location.h (struct linespec_location): New.
1241         (explicit_location::func_name_match_type): New field.
1242         (new_linespec_location): Now returns a const linespec_location *.
1243         (string_to_event_location_basic): New symbol_name_match_type
1244         parameter.
1245         (explicit_completion_info::saw_explicit_location_option): New
1246         field.
1247         * mi/mi-cmd-break.c (mi_cmd_break_insert_1): Adjust to pass a
1248         symbol_name_match_type to new_linespec_location.
1249         * python/py-breakpoint.c (bppy_init): Likewise.
1250         * python/python.c (gdbpy_decode_line): Likewise.
1251
1252 2017-11-29  Pedro Alves  <palves@redhat.com>
1253
1254         * ada-lang.c (ada_lookup_name_info::matches): Change type of
1255         parameter from completion_match to completion_match_result.
1256         Adjust.
1257         (do_wild_match, do_full_match, ada_symbol_name_matches): Likewise.
1258         * completer.c (completion_tracker::maybe_add_completion): Add
1259         match_for_lcd parameter and use it.
1260         (completion_tracker::add_completion): Likewise.
1261         * completer.h (class completion_match_for_lcd): New class.
1262         (completion_match_result::match_for_lcd): New field.
1263         (completion_match_result::set_match): New method.
1264         (completion_tracker): Add comments.
1265         (completion_tracker::add_completion): Add match_for_lcd parameter.
1266         (completion_tracker::reset_completion_match_result): Reset
1267         match_for_lcd too.
1268         (completion_tracker::maybe_add_completion): Add match_for_lcd
1269         parameter.
1270         (completion_tracker::m_lowest_common_denominator_unique): Extend
1271         comments.
1272         * cp-support.c (cp_symbol_name_matches_1)
1273         (cp_fq_symbol_name_matches): Change type of parameter from
1274         completion_match to completion_match_result.  Adjust.
1275         * language.c (default_symbol_name_matcher): Change type of
1276         parameter from completion_match to completion_match_result.
1277         Adjust.
1278         * language.h (completion_match_for_lcd): Forward declare.
1279         (default_symbol_name_matcher): Change type of parameter from
1280         completion_match to completion_match_result.
1281         * symtab.c (compare_symbol_name): Adjust.
1282         (completion_list_add_name): Pass the match_for_lcd to the tracker.
1283         * symtab.h (ada_lookup_name_info::matches): Change type of
1284         parameter from completion_match to completion_match_result.
1285         (symbol_name_matcher_ftype): Likewise, and update comments.
1286
1287 2017-11-29  Pedro Alves  <palves@redhat.com>
1288
1289         * linespec.c (minsym_found, add_minsym): Use msymbol_is_function.
1290         * minsyms.c (msymbol_is_text): Delete.
1291         (msymbol_is_function): New function.
1292         * minsyms.h (msymbol_is_text): Delete.
1293         (msymbol_is_function): New declaration.
1294         * symtab.c (find_function_alias_target): Use msymbol_is_function.
1295
1296 2017-11-29  Tom Tromey  <tom@tromey.com>
1297
1298         * Makefile.in (distclean): Handle the case where rmdir fails.
1299
1300 2017-11-29  Tom Tromey  <tom@tromey.com>
1301
1302         * symfile.c (_initialize_symfile): Update usage text for
1303         add-symbol-file, symbol-file, load.
1304
1305 2017-11-29  Tom Tromey  <tom@tromey.com>
1306
1307         * symfile.c (add_symbol_file_command): Error if some arguments to
1308         -s are missing.  Change unrecognized-argument error message.
1309         (_initialize_symfile): Fix usage text for add-symbol-file.
1310
1311 2017-11-27  Tom Tromey  <tom@tromey.com>
1312
1313         * Makefile.in (REMOTE_OBS): Remove.
1314         (SFILES): Remove remote sources.
1315         (COMMON_SFILES): Add remote sources.
1316         (ALLDEPFILES): Remove dcache.c.
1317
1318 2017-11-27  Tom Tromey  <tom@tromey.com>
1319
1320         * Makefile.in (SUBDIR_TARGET_SRCS, SUBDIR_TARGET_OBS): New
1321         variables.
1322         (SFILES): Use SUBDIR_TARGET_SRCS.
1323         (COMMON_OBS): Use SUBDIR_TARGET_OBS.  Remove waitstatus.o.
1324         (CONFIG_SRC_SUBDIR): Add target.
1325         (%.o): Remove target rule.
1326
1327 2017-11-27  Tom Tromey  <tom@tromey.com>
1328
1329         * Makefile.in (COMMON_OBS): Remove filename-seen-cache.o,
1330         registry.o, thread-fsm.o, debug.o.
1331         (COMMON_SFILES): Add filename-seen-cache.c, registry.c,
1332         thread-fsm.c, debug.c.
1333
1334 2017-11-27  Tom Tromey  <tom@tromey.com>
1335
1336         * Makefile.in (COMMON_SFILES): New.
1337         (SFILES): Move some entries to COMMON_SFILES.
1338         (COMMON_OBS): Use COMMON_SFILES.
1339
1340 2017-11-27  Tom Tromey  <tom@tromey.com>
1341
1342         * Makefile.in (YYFILES): Update comment.
1343         (YYOBJ): Redefine.
1344
1345 2017-11-27  Tom Tromey  <tom@tromey.com>
1346
1347         * Makefile.in (SUBDIR_PYTHON_OBS): Redefine.
1348         (CONFIG_SRC_SUBDIR): Add python.
1349         (%.o): Remove python rule.
1350         (python/%.o): New rule.
1351         * configure: Rebuild.
1352         * configure.ac (CONFIG_OBS): Refer to python/python.o
1353
1354 2017-11-27  Tom Tromey  <tom@tromey.com>
1355
1356         * configure: Rebuild.
1357         * configure.ac (CONFIG_OBS): Refer to guile/guile.o.
1358         * Makefile.in (SUBDIR_GUILE_OBS): Redefine.
1359         (CONFIG_SRC_SUBDIR): Add guile.
1360         (%.o): Remove guile rule.
1361
1362 2017-11-27  Tom Tromey  <tom@tromey.com>
1363
1364         * Makefile.in (SUBDIR_UNITTESTS_OBS): Redefine.
1365         (%.o): Remove unittests rule.
1366         (CONFIG_SRC_SUBDIR): Add unittests.
1367
1368 2017-11-27  Tom Tromey  <tom@tromey.com>
1369
1370         * Makefile.in (SUBDIR_TUI_OBS): Redefine.
1371         (CONFIG_SRC_SUBDIR): Add tui.
1372         (%.o): Remove tui rule.
1373
1374 2017-11-27  Tom Tromey  <tom@tromey.com>
1375
1376         * Makefile.in (SUBDIR_GCC_COMPILE_OBS): Redefine.
1377         (%.o): Remove compile rule.
1378         (CONFIG_SRC_SUBDIR): Add compile.
1379
1380 2017-11-27  Tom Tromey  <tom@tromey.com>
1381
1382         * Makefile.in (SUBDIR_MI_OBS): Redefine.
1383         (%.o): Remove mi rule.
1384         (CONFIG_SRC_SUBDIR): Add mi.
1385         (COMMON_OBS): Use mi/mi-common.o
1386
1387 2017-11-27  Tom Tromey  <tom@tromey.com>
1388
1389         * Makefile.in (SUBDIR_CLI_OBS): Redefine.
1390         (%.o): Remove cli rule.
1391         (CONFIG_SRC_SUBDIR): Add cli.
1392
1393 2017-11-27  Tom Tromey  <tom@tromey.com>
1394
1395         * configure.ac (CONFIG_SRC_SUBDIR): Don't subst.
1396         * configure: Rebuild.
1397         * Makefile.in (CONFIG_SRC_SUBDIR): Redefine.
1398         (CONFIG_DEP_SUBDIR): New variable.
1399         (%.o): Add order-only dependency.
1400         ($(CONFIG_DEP_SUBDIR)): New target.
1401
1402 2017-11-26  Dominik Czarnota  <dominik.b.czarnota@gmail.com>
1403
1404         PR gdb/21945
1405         * findcmd.c (_initialize_mem_search): Update find command help
1406         text.
1407
1408 2017-11-26  Simon Marchi  <simon.marchi@polymtl.ca>
1409
1410         * python/python.c (do_start_initialization): Change progname
1411         type to gdb::unique_xmalloc_ptr.  Release the pointer when using
1412         Python 2.
1413
1414 2017-11-26  Tom Tromey  <tom@tromey.com>
1415
1416         * common/format.h: Add include guards.
1417
1418 2017-11-26  Tom Tromey  <tom@tromey.com>
1419
1420         * nat/linux-personality.h (class
1421         maybe_disable_address_space_randomization): New class.
1422         (maybe_disable_address_space_randomization): Don't declare
1423         function.
1424         * nat/linux-personality.c (restore_personality)
1425         (make_disable_asr_cleanup): Remove.
1426         (maybe_disable_address_space_randomization): Now a constructor.
1427         (~maybe_disable_address_space_randomization): New destructor.
1428         * linux-nat.c (linux_nat_create_inferior): Update.
1429
1430 2017-11-26  Tom Tromey  <tom@tromey.com>
1431
1432         * gcore.c (write_gcore_file_1): Use gdb::unique_xmalloc_ptr.
1433
1434 2017-11-26  Ulrich Weigand  <uweigand@de.ibm.com>
1435
1436         * spu-tdep.c (spu_software_single_step): Access SPU_LSLR_REGNUM as
1437         "cooked" register.  Access only first four bytes of branch target
1438         registers.
1439
1440 2017-11-25  Sergio Durigan Junior  <sergiodj@redhat.com>
1441
1442         PR gdb/22491
1443         * stap-probe.c (relocate_address): New function.
1444         (stap_probe::get_relocated_address): Use 'relocate_address'.
1445         (stap_probe::set_semaphore): Use 'relocate_address' and pass
1446         'm_sem_addr'.
1447         (stap_probe::clear_semaphore): Likewise.
1448
1449 2017-11-25  Pedro Alves  <palves@redhat.com>
1450
1451         * dictionary.c: Include "safe-ctype.h".
1452         * minsyms.c: Include "safe-ctype.h".
1453         * minsyms.c (SYMBOL_HASH_NEXT): Use TOLOWER instead of tolower.
1454
1455 2017-11-25   Pedro Alves  <palves@redhat.com>
1456
1457         * completer.c (complete_line_internal_1): Skip spaces until the
1458         start of the command.
1459
1460 2017-11-24  Pedro Alves  <palves@redhat.com>
1461
1462         * cp-support.c (cp_symbol_name_matches_1): New, factored out from
1463         cp_fq_symbol_name_matches.  Pass language_cplus to
1464         strncmp_with_mode.
1465         (cp_fq_symbol_name_matches): Call cp_symbol_name_matches_1.
1466         (selftests::test_cp_symbol_name_cmp): New.
1467         (_initialize_cp_support): Register "cp_symbol_name_matches"
1468         selftests.
1469         * language.c (default_symbol_name_matcher): Pass language_minimal
1470         to strncmp_iw_with_mode.
1471         * utils.c: Include "cp-support.h" and <algorithm>.
1472         (valid_identifier_name_char, cp_skip_operator_token, skip_ws)
1473         (cp_is_operator): New functions.
1474         (strncmp_iw_with_mode): Use them.  Add language parameter.  Don't
1475         skip whitespace in the symbol name when the lookup name doesn't
1476         have spaces, and vice versa.
1477         (strncmp_iw, strcmp_iw): Pass language to strncmp_iw_with_mode.
1478         * utils.h (strncmp_iw_with_mode): Add language parameter.
1479
1480 2017-11-24  Joel Brobecker  <brobecker@adacore.com>
1481
1482         * ada-lang.c (ada_exception_message_1, ada_exception_message):
1483         New functions.
1484         (print_it_exception): If available, display the exception
1485         message as well.
1486         * NEWS: Document new feature.
1487
1488 2017-11-24  Ulrich Weigand  <uweigand@de.ibm.com>
1489
1490         * configure.nat <spu-linux>: Add fork-inferior.o to NATDEPFILES.
1491
1492 2017-11-24  Philipp Rudo  <prudo@linux.vnet.ibm.com>
1493
1494         * dtrace-probe.c (dtrace_probe::build_arg_exprs)
1495         (dtrace_probe::is_enabled, dtrace_probe::enable)
1496         (dtrace_probe::disable): Remove keyword 'struct' at for-range
1497         variable
1498         * probe.c (gen_ui_out_table_header_info)
1499         (print_ui_out_not_applicables):  Remove keyword 'struct' at
1500         for-range variable
1501
1502 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1503
1504         * configure.tgt: Add arch/aarch64.o
1505
1506 2017-11-24  Simon Marchi  <simon.marchi@polymtl.ca>
1507
1508         * common/common-utils.h: Include poison.h.
1509         (xfree): Remove declaration, add definition with static_assert.
1510         * common/common-utils.c (xfree): Remove.
1511         * common/poison.h (IsMallocatable): Define.
1512         (IsFreeable): Define.
1513         (free): Delete for non-freeable types.
1514         (xnew): New.
1515         (XNEW): Undef and redefine.
1516         (xcnew): New.
1517         (XCNEW): Undef and redefine.
1518         (xdelete): New.
1519         (XDELETE): Undef and redefine.
1520         (xnewvec): New.
1521         (XNEWVEC): Undef and redefine.
1522         (xcnewvec): New.
1523         (XCNEWVEC): Undef and redefine.
1524         (xresizevec): New.
1525         (XRESIZEVEC): Undef and redefine.
1526         (xdeletevec): New.
1527         (XDELETEVEC): Undef and redefine.
1528         (xnewvar): New.
1529         (XNEWVAR): Undef and redefine.
1530         (xcnewvar): New.
1531         (XCNEWVAR): Undef and redefine.
1532         (xresizevar): New.
1533         (XRESIZEVAR): Undef and redefine.
1534
1535 2017-11-24  Simon Marchi  <simon.marchi@polymtl.ca>
1536
1537         * gdbthread.h (private_thread_info): Define structure type, add
1538         virtual pure destructor.
1539         (thread_info) <priv>: Change type to unique_ptr.
1540         <private_dtor>: Remove.
1541         * thread.c (add_thread_with_info): Adjust to use of unique_ptr.
1542         (private_thread_info::~private_thread_info): Provide default
1543         implementation.
1544         (thread_info::~thread_info): Don't call private_dtor nor
1545         manually free priv.
1546         * aix-thread.c (private_thread_info): Rename to ...
1547         (aix_thread_info): ... this.
1548         (get_aix_thread_info): New.
1549         (sync_threadlists): Adjust.
1550         (iter_tid): Adjust.
1551         (aix_thread_resume): Adjust.
1552         (aix_thread_fetch_registers): Adjust.
1553         (aix_thread_store_registers): Adjust.
1554         (aix_thread_extra_thread_info): Adjust.
1555         * darwin-nat.h (private_thread_info): Rename to ...
1556         (darwin_thread_info): ... this.
1557         (get_darwin_thread_info): New.
1558         * darwin-nat.c (darwin_init_thread_list): Adjust.
1559         (darwin_check_new_threads): Adjust.
1560         (thread_info_from_private_thread_info): Adjust.
1561         * linux-thread-db.c (private_thread_info): Rename to ...
1562         (thread_db_thread_info): ... this, initialize fields.
1563         (get_thread_db_thread_info): New.
1564         <dying>: Change type to bool.
1565         (update_thread_state): Adjust to type rename.
1566         (record_thread): Adjust to type rename an use of unique_ptr.
1567         (thread_db_pid_to_str): Likewise.
1568         (thread_db_extra_thread_info): Likewise.
1569         (thread_db_thread_handle_to_thread_info): Likewise.
1570         (thread_db_get_thread_local_address): Likewise.
1571         * nto-tdep.h (private_thread_info): Rename to ...
1572         (nto_thread_info): ... this, initialize fields.
1573         (get_nto_thread_info): New.
1574         <name>: Change type to std::string.
1575         * nto-tdep.c (nto_extra_thread_info): Adjust to type rename and
1576         use of unique_ptr.
1577         * nto-procfs.c (update_thread_private_data_name): Adjust to
1578         std::string change, allocate nto_private_thread_info with new.
1579         (update_thread_private_data): Adjust to unique_ptr.
1580         * remote.c (private_thread_info): Rename to ...
1581         (remote_thread_info): ... this, initialize data members with
1582         default values.
1583         <extra, name>: Change type to std::string.
1584         <thread_handle>: Change type to non-pointer.
1585         (free_private_thread_info): Remove.
1586         (get_private_info_thread): Rename to...
1587         (get_remote_thread_info): ... this, change return type, adjust to
1588         use of unique_ptr, use remote_thread_info constructor.
1589         (remote_add_thread): Adjust.
1590         (get_private_info_ptid): Rename to...
1591         (get_remote_thread_info): ...this, change return type.
1592         (remote_thread_name): Use get_remote_thread_info, adjust to
1593         change to std::string.
1594         (struct thread_item) <~thread_item>: Remove.
1595         <thread_handle>: Make non pointer.
1596         (start_thread): Adjust to thread_item::thread_handle type
1597         change.
1598         (remote_update_thread_list): Adjust to type name change, move
1599         strings from temporary to long-lived object instead of
1600         duplicating.
1601         (remote_threads_extra_info): Use get_remote_thread_info.
1602         (process_initial_stop_replies): Likewise.
1603         (resume_clear_thread_private_info): Likewise.
1604         (remote_resume): Adjust to type name change.
1605         (remote_commit_resume): Use get_remote_thread_info.
1606         (process_stop_reply): Adjust to type name change.
1607         (remote_stopped_by_sw_breakpoint): Use get_remote_thread_info.
1608         (remote_stopped_by_hw_breakpoint): Likewise.
1609         (remote_stopped_by_watchpoint): Likewise.
1610         (remote_stopped_data_address): Likewise.
1611         (remote_core_of_thread): Likewise.
1612         (remote_thread_handle_to_thread_info): Use
1613         get_private_info_thread, adjust to thread_handle field type
1614         change.
1615
1616 2017-11-24  Simon Marchi  <simon.marchi@polymtl.ca>
1617
1618         * remote.c (struct thread_item): Add constructor, disable copy
1619         construction and copy assignment, define default move
1620         construction and move assignment.
1621         <extra, name>: Change type to std::string.
1622         <core>: Initialize.
1623         <thread_handle>: Make non-pointer.
1624         (thread_item_t): Remove typedef.
1625         (DEF_VEC_O(thread_item_t)): Remove.
1626         (threads_listing_context) <contains_thread>: New method.
1627         <remove_thread>: New method.
1628         <items>: Change type to std::vector.
1629         (clear_threads_listing_context): Remove.
1630         (threads_listing_context_remove): Remove.
1631         (remote_newthread_step): Use thread_item constructor, adjust to
1632         change to std::vector.
1633         (start_thread): Use thread_item constructor, adjust to change to
1634         std::vector.
1635         (end_thread): Adjust to change to std::vector and std::string.
1636         (remote_get_threads_with_qthreadinfo): Use thread_item
1637         constructor, adjust to std::vector.
1638         (remote_update_thread_list): Adjust to change to std::vector and
1639         std::string, use threads_listing_context methods.
1640         (remove_child_of_pending_fork): Adjust.
1641         (remove_new_fork_children): Adjust.
1642         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add rsp-low-selftests.c.
1643         (SUBDIR_UNITTESTS_OBS): Add rsp-low-selftests.o.
1644         * unittests/rsp-low-selftests.c: New file.
1645         * common/rsp-low.h: Include common/byte-vector.h.
1646         (hex2bin): New overload.
1647         * common/rsp-low.c (hex2bin): New overload.
1648
1649 2017-11-24  Simon Marchi  <simon.marchi@ericsson.com>
1650
1651         * inferior.h (private_inferior): Define structure type, add
1652         virtual pure destructor.
1653         (inferior) <priv>: Change type to unique_ptr.
1654         * inferior.c (private_inferior::~private_inferior): Provide
1655         default implementation.
1656         (inferior::~inferior): Don't free priv field.
1657         (exit_inferior_1): Likewise.
1658         * darwin-nat.h (struct darwin_exception_info): Initialize fields.
1659         (darwin_exception_info): Remove typedef.
1660         (DEF_VEC_O (darwin_thread_t)); Remove.
1661         (private_inferior): Rename to ...
1662         (darwin_private_inferior): ... this, extend private_inferior.
1663         (get_darwin_inferior): New.
1664         <threads>: Change type to std::vector of darwin_thread_t pointers.
1665         * darwin-nat.c (darwin_check_new_threads): Adjust.
1666         (find_inferior_task_it): Adjust.
1667         (darwin_find_thread); Adjust.
1668         (darwin_suspend_inferior): Adjust.
1669         (darwin_resume_inferior): Adjust.
1670         (darwin_find_new_inferior): Adjust.
1671         (darwin_decode_notify_message): Adjust.
1672         (darwin_send_reply): Adjust.
1673         (darwin_resume_inferior_threads): Adjust.
1674         (darwin_suspend_inferior_threads): Adjust.
1675         (darwin_decode_message): Adjust.
1676         (darwin_wait): Adjust.
1677         (darwin_interrupt): Adjust.
1678         (darwin_deallocate_threads): Adjust.
1679         (darwin_mourn_inferior): Adjust, don't free private data.
1680         (darwin_reply_to_all_pending_messages): Adjust.
1681         (darwin_stop_inferior): Adjust.
1682         (darwin_setup_exceptions): Adjust.
1683         (darwin_kill_inferior): Adjust.
1684         (darwin_setup_request_notification): Adjust.
1685         (darwin_attach_pid): Adjust.
1686         (darwin_init_thread_list): Adjust.
1687         (darwin_setup_fake_stop_event): Adjust.
1688         (darwin_attach): Adjust.
1689         (darwin_detach): Adjust.
1690         (darwin_xfer_partial): Adjust.
1691         (set_enable_mach_exceptions): Adjust.
1692         (darwin_pid_to_exec_file): Adjust.
1693         (darwin_get_ada_task_ptid): Adjust.
1694         * darwin-nat-info.c (get_task_from_args): Adjust.
1695         (info_mach_ports_command): Adjust.
1696         (info_mach_region_command): Adjust.
1697         (info_mach_exceptions_command): Adjust.
1698         * remote.c (private_inferior): Rename to ...
1699         (remote_private_inferior): ... this, initialize fields.
1700         (get_remote_inferior); New.
1701         (remote_commit_resume): Use get_remote_inferior.
1702         (check_pending_event_prevents_wildcard_vcont_callback): Likewise.
1703
1704 2017-11-24  Pedro Alves  <palves@redhat.com>
1705
1706         * NEWS: Mention linespecs and explicit locations, and completion
1707         improvements.
1708
1709 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1710
1711         * regcache.c (regcache::dump): Remove footnote_register_size.
1712
1713 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1714
1715         * regcache.c (cooked_read_test): Add more test for readonly
1716         regcache.
1717
1718 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1719
1720         * gdbarch-selftests.c (test_target_has_registers): Move it to
1721         target.c.
1722         (test_target_has_stack): Likewise.
1723         (test_target_has_memory): Likewise.
1724         (test_target_prepare_to_store): Likewise.
1725         (test_target_store_registers): Likewise.
1726         (test_target_ops): Likewise.
1727         * regcache.c: Include selftest-arch.h and gdbthread.h.
1728         (target_ops_no_register): New class.
1729         (test_target_fetch_registers): New.
1730         (test_target_store_registers): New.
1731         (test_target_xfer_partial): New.
1732         (readwrite_regcache): New.
1733         (cooked_read_test): New.
1734         (_initialize_regcache): Register the test.
1735         * target.c: (test_target_has_registers): Moved from
1736         gdbarch-selftests.c.
1737         (test_target_has_stack): Likewise.
1738         (test_target_has_memory): Likewise.
1739         (test_target_prepare_to_store): Likewise.
1740         (test_target_store_registers): Likewise.
1741         * target.h (test_target_ops): New class.
1742
1743 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1744
1745         * aarch64-tdep.c (_initialize_aarch64_tdep): Add target desc
1746         selftest.
1747
1748 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1749
1750         * aarch64-tdep.c (_initialize_aarch64_tdep): Remove init.
1751         * arch/aarch64.c (aarch64_create_target_description): Create
1752         new target description.
1753         * features/Makefile: Add new files.
1754         * features/aarch64.c: Remove file.
1755         * features/aarch64-core.c: New autogenerated file.
1756         * features/aarch64-fpu.c: New autogenerated file.
1757         * target-descriptions.c (maint_print_c_tdesc_cmd): Check for aarch64.
1758
1759 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1760
1761         * Makefile.in: Add new files.
1762         * aarch64-linux-nat.c (aarch64_linux_read_description): Call
1763         aarch64_read_description.
1764         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
1765         Call aarch64_read_description.
1766         * aarch64-tdep.c (aarch64_read_description): New function.
1767         (aarch64_gdbarch_init): Call aarch64_read_description.
1768         * aarch64-tdep.h (aarch64_read_description): New function.
1769         * arch/aarch64.c: New file.
1770         * configure.tgt: Add new files.
1771
1772 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1773
1774         * mi/mi-main.c (register_changed_p): Update.
1775         * value.c (value_contents_bits_eq): Change return type.
1776         (value_contents_eq): Likewise.
1777         * value.h: Update comments.
1778
1779 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1780
1781         * mi/mi-main.c (mi_cmd_data_list_changed_registers): Remove
1782         local 'changed'.  Remove error.
1783         (register_changed_p): Change return type to bool.
1784
1785 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1786
1787         * arch/tic6x.c: New file.
1788         * arch/tic6x.h: New file.
1789         * features/Makefile (FEATURE_XMLFILES): Add tic6x-c6xp.xml,
1790         tic6x-core.xml and tic6x-gp.xml.
1791         * features/tic6x-c6xp.c: Generated.
1792         * features/tic6x-core.c: Generated.
1793         * features/tic6x-gp.c: Generated.
1794         * target-descriptions.c (maint_print_c_tdesc_cmd): Match
1795         "tic6x-".
1796
1797 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1798
1799         * mi/mi-main.c (list_available_thread_groups): Change map value
1800         type to std::vector.
1801
1802 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1803
1804         * osdata.c (osdata_end_column, get_osdata): Remove std::move.
1805
1806 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1807
1808         * varobj.c (struct varobj_dynamic) <children_requested_>: Rename
1809         back to...
1810         <children_requested>: ... this.
1811         (varobj_get_num_children, varobj_update): Adjust.
1812
1813 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1814
1815         * ada-varobj.c (ada_value_is_changeable_p): Change int to bool where applicable.
1816         (ada_value_has_mutated): Likewise.
1817         * c-varobj.c (varobj_is_anonymous_child): Likewise.
1818         (c_is_path_expr_parent): Likewise.
1819         * mi/mi-cmd-var.c (varobj_update_one): Likewise.
1820         (mi_cmd_var_set_frozen): Likewise.
1821         (mi_cmd_var_update_iter): Likewise.
1822         (mi_cmd_var_update): Likewise.
1823         * varobj.c (pretty_printing): Likewise.
1824         (varobj_enable_pretty_printing): Likewise.
1825         (struct varobj_root) <floating, is_valid>: Likewise.
1826         (struct varobj_dynamic) <children_requested>: Likewise.
1827         (delete_variable): Likewise.
1828         (delete_variable_1): Likewise.
1829         (install_variable): Likewise.
1830         (update_type_if_necessary): Likewise.
1831         (install_new_value): Likewise.
1832         (value_of_root): Likewise.
1833         (is_root_p): Likewise.
1834         (varobj_create): Likewise.
1835         (varobj_delete): Likewise.
1836         (varobj_has_more): Likewise.
1837         (varobj_set_frozen): Likewise.
1838         (varobj_get_frozen): Likewise.
1839         (install_dynamic_child): Likewise.
1840         (dynamic_varobj_has_child_method): Likewise.
1841         (update_dynamic_varobj_children): Likewise.
1842         (varobj_get_num_children): Likewise.
1843         (varobj_list_children): Likewise.
1844         (is_path_expr_parent): Likewise.
1845         (varobj_default_is_path_expr_parent): Likewise.
1846         (varobj_is_dynamic_p): Likewise.
1847         (varobj_set_value): Likewise.
1848         (varobj_value_has_mutated): Likewise.
1849         (varobj_update): Likewise.
1850         (check_scope): Likewise.
1851         (value_of_root_1): Likewise.
1852         (varobj_value_get_print_value): Likewise.
1853         (varobj_editable_p): Likewise.
1854         (varobj_value_is_changeable_p): Likewise.
1855         (varobj_floating_p): Likewise.
1856         (varobj_default_value_is_changeable_p): Likewise.
1857         (varobj_invalidate_iter): Likewise.
1858         * varobj.h (struct varobj_update_result) <type_changed,
1859         children_changed, changed, value_installed>: Likewise.
1860         (struct varobj) <updated, frozen, not_fetched>: Likewise.
1861         (struct lang_varobj_ops) <value_is_changeable_p,
1862         value_has_mutated, is_path_expr_parent>: Likewise.
1863         (varobj_delete): Likewise.
1864         (varobj_set_frozen): Likewise.
1865         (varobj_get_frozen): Likewise.
1866         (varobj_set_value): Likewise.
1867         (varobj_update): Likewise.
1868         (varobj_editable_p): Likewise.
1869         (varobj_floating_p): Likewise.
1870         (varobj_has_more): Likewise.
1871         (varobj_is_dynamic_p): Likewise.
1872         (varobj_default_value_is_changeable_p): Likewise.
1873         (varobj_value_is_changeable_p): Likewise.
1874         (varobj_is_anonymous_child): Likewise.
1875         (varobj_default_is_path_expr_parent): Likewise.
1876
1877 2017-11-22  Sergio Durigan Junior  <sergiodj@redhat.com>
1878
1879         * dtrace-probe.c (struct probe_ops dtrace_probe_ops): Delete.
1880         (struct dtrace_probe_arg) <dtrace_probe_arg>: New constructor.
1881         <type_str>: Convert to 'std::string'.
1882         <expr>: Convert to 'expression_up'.
1883         (dtrace_probe_arg_s): Delete type and VEC.
1884         (dtrace_probe_enabler_s): Likewise.
1885         (struct dtrace_probe): Replace by...
1886         (class dtrace_static_probe_ops): ...this and...
1887         (class dtrace_probe): ...this.
1888         (dtrace_probe_is_linespec): Rename to...
1889         (dtrace_static_probe_ops::is_linespec): ...this.  Adjust code
1890         to reflect change.
1891         (dtrace_process_dof_probe): Use 'std::vector' instead of VEC.
1892         Adjust code.  Create new instance of 'dtrace_probe'.
1893         (dtrace_build_arg_exprs): Rename to...
1894         (dtrace_probe::build_arg_exprs): ...this.  Adjust code to
1895         reflect change.
1896         (dtrace_get_probes): Rename to...
1897         (dtrace_static_probe_ops::get_probes): ...this.  Adjust code
1898         to reflect change.
1899         (dtrace_get_arg): Rename to...
1900         (dtrace_probe::get_arg_by_number): ...this.  Adjust code to
1901         reflect change.
1902         (dtrace_probe_is_enabled): Rename to...
1903         (dtrace_probe::is_enabled): ...this.  Adjust code to reflect
1904         change.
1905         (dtrace_get_probe_address): Rename to...
1906         (dtrace_probe::get_relocated_address): ...this.  Adjust code
1907         to reflect change.
1908         (dtrace_get_probe_argument_count): Rename to...
1909         (dtrace_probe::get_argument_count): ...this.  Adjust code to
1910         reflect change.
1911         (dtrace_can_evaluate_probe_arguments): Rename to...
1912         (dtrace_probe::can_evaluate_arguments): ...this.  Adjust code
1913         to reflect change.
1914         (dtrace_evaluate_probe_argument): Rename to...
1915         (dtrace_probe::evaluate_argument): ...this.  Adjust code to
1916         reflect change.
1917         (dtrace_compile_to_ax): Rename to...
1918         (dtrace_probe::compile_to_ax): ...this.  Adjust code to
1919         reflect change.
1920         (dtrace_probe_destroy): Delete.
1921         (dtrace_type_name): Rename to...
1922         (dtrace_static_probe_ops::type_name): ...this.  Adjust code to
1923         reflect change.
1924         (dtrace_probe::get_static_ops): New method.
1925         (dtrace_gen_info_probes_table_header): Rename to...
1926         (dtrace_static_probe_ops::gen_info_probes_table_header):
1927         ...this.  Adjust code to reflect change.
1928         (dtrace_gen_info_probes_table_values): Rename to...
1929         (dtrace_probe::gen_info_probes_table_values): ...this.  Adjust
1930         code to reflect change.
1931         (dtrace_enable_probe): Rename to...
1932         (dtrace_probe::enable_probe): ...this.  Adjust code to reflect
1933         change.
1934         (dtrace_disable_probe): Rename to...
1935         (dtrace_probe::disable_probe): ...this.  Adjust code to reflect
1936         change.
1937         (struct probe_ops dtrace_probe_ops): Delete.
1938         (info_probes_dtrace_command): Call 'info_probes_for_spops'
1939         instead of 'info_probes_for_ops'.
1940         (_initialize_dtrace_probe): Use 'all_static_probe_ops' instead
1941         of 'all_probe_ops'.
1942
1943 2017-11-22  Sergio Durigan Junior  <sergiodj@redhat.com>
1944             Simon Marchi  <simark@simark.ca>
1945
1946         * stap-probe.c (struct probe_ops stap_probe_ops): Delete
1947         variable.
1948         (struct stap_probe_arg) <stap_probe_arg>: New constructor.
1949         <aexpr>: Change type to 'expression_up'.
1950         (stap_probe_arg_s): Delete type and VEC.
1951         (struct stap_probe): Delete.  Replace by...
1952         (class stap_static_probe_ops): ...this and...
1953         (class stap_probe): ...this.  Rename variables to add 'm_'
1954         prefix.  Do not use 'union' for arguments anymore.
1955         (stap_get_expected_argument_type): Receive probe name instead
1956         of 'struct stap_probe'.  Adjust code.
1957         (stap_parse_probe_arguments): Rename to...
1958         (stap_probe::parse_arguments): ...this.  Adjust code to
1959         reflect change.
1960         (stap_get_probe_address): Rename to...
1961         (stap_probe::get_relocated_address): ...this.  Adjust code
1962         to reflect change.
1963         (stap_get_probe_argument_count): Rename to...
1964         (stap_probe::get_argument_count): ...this.  Adjust code
1965         to reflect change.
1966         (stap_get_arg): Rename to...
1967         (stap_probe::get_arg_by_number'): ...this. Adjust code to
1968         reflect change.
1969         (can_evaluate_probe_arguments): Rename to...
1970         (stap_probe::can_evaluate_arguments): ...this.  Adjust code
1971         to reflect change.
1972         (stap_evaluate_probe_argument): Rename to...
1973         (stap_probe::evaluate_argument): ...this.  Adjust code
1974         to reflect change.
1975         (stap_compile_to_ax): Rename to...
1976         (stap_probe::compile_to_ax): ...this.  Adjust code to
1977         reflect change.
1978         (stap_probe_destroy): Delete.
1979         (stap_modify_semaphore): Adjust comment.
1980         (stap_set_semaphore): Rename to...
1981         (stap_probe::set_semaphore): ...this.  Adjust code to reflect
1982         change.
1983         (stap_clear_semaphore): Rename to...
1984         (stap_probe::clear_semaphore): ...this.  Adjust code to
1985         reflect change.
1986         (stap_probe::get_static_ops): New method.
1987         (handle_stap_probe): Adjust code to create instance of
1988         'stap_probe'.
1989         (stap_get_probes): Rename to...
1990         (stap_static_probe_ops::get_probes): ...this.  Adjust code to
1991         reflect change.
1992         (stap_probe_is_linespec): Rename to...
1993         (stap_static_probe_ops::is_linespec): ...this.  Adjust code to
1994         reflect change.
1995         (stap_type_name): Rename to...
1996         (stap_static_probe_ops::type_name): ...this.  Adjust code to
1997         reflect change.
1998         (stap_gen_info_probes_table_header): Rename to...
1999         (stap_static_probe_ops::gen_info_probes_table_header):
2000         ...this.  Adjust code to reflect change.
2001         (stap_gen_info_probes_table_values): Rename to...
2002         (stap_probe::gen_info_probes_table_values): ...this.  Adjust
2003         code to reflect change.
2004         (struct probe_ops stap_probe_ops): Delete.
2005         (info_probes_stap_command): Use 'info_probes_for_spops'
2006         instead of 'info_probes_for_ops'.
2007         (_initialize_stap_probe): Use 'all_static_probe_ops' instead
2008         of 'all_probe_ops'.
2009
2010 2017-11-22  Sergio Durigan Junior  <sergiodj@redhat.com>
2011
2012         * break-catch-throw.c (fetch_probe_arguments): Use
2013         'probe.prob' instead of 'probe.probe'.
2014         * breakpoint.c (create_longjmp_master_breakpoint): Call
2015         'can_evaluate_arguments' and 'get_relocated_address' methods
2016         from probe.
2017         (create_exception_master_breakpoint): Likewise.
2018         (add_location_to_breakpoint): Use 'sal->prob' instead of
2019         'sal->probe'.
2020         (bkpt_probe_insert_location): Call 'set_semaphore' method from
2021         probe.
2022         (bkpt_probe_remove_location): Likewise, for 'clear_semaphore'.
2023         * elfread.c (elf_get_probes): Use 'static_probe_ops' instead
2024         of 'probe_ops'.
2025         (probe_key_free): Call 'delete' on probe.
2026         (check_exception_resume): Use 'probe.prob' instead of
2027         'probe.probe'.
2028         * location.c (string_to_event_location_basic): Call
2029         'probe_linespec_to_static_ops'.
2030         * probe.c (class any_static_probe_ops): New class.
2031         (any_static_probe_ops any_static_probe_ops): New variable.
2032         (parse_probes_in_pspace): Receive 'static_probe_ops' as
2033         argument.  Adjust code to reflect change.
2034         (parse_probes): Use 'static_probe_ops' instead of
2035         'probe_ops'.  Adjust code to reflect change.
2036         (find_probes_in_objfile): Call methods to get name and
2037         provider from probe.
2038         (find_probe_by_pc): Use 'result.prob' instead of
2039         'result.probe'.  Call 'get_relocated_address' method from
2040         probe.
2041         (collect_probes): Adjust comment and argument list to receive
2042         'static_probe_ops' instead of 'probe_ops'.  Adjust code to
2043         reflect change.  Call necessary methods from probe.
2044         (compare_probes): Call methods to get name and provider from
2045         probes.
2046         (gen_ui_out_table_header_info): Receive 'static_probe_ops'
2047         instead of 'probe_ops'.  Use 'std::vector' instead of VEC,
2048         adjust code accordingly.
2049         (print_ui_out_not_applicables): Likewise.
2050         (info_probes_for_ops): Rename to...
2051         (info_probes_for_spops): ...this.  Receive 'static_probe_ops'
2052         as argument instead of 'probe_ops'.  Adjust code.  Call
2053         necessary methods from probe.
2054         (info_probes_command): Use 'info_probes_for_spops'.
2055         (enable_probes_command): Pass correct argument to
2056         'collect_probes'.  Call methods from probe.
2057         (disable_probes_command): Likewise.
2058         (get_probe_address): Move to 'any_static_probe_ops::get_address'.
2059         (get_probe_argument_count): Move to
2060         'any_static_probe_ops::get_argument_count'.
2061         (can_evaluate_probe_arguments): Move to
2062         'any_static_probe_ops::can_evaluate_arguments'.
2063         (evaluate_probe_argument): Move to
2064         'any_static_probe_ops::evaluate_argument'.
2065         (probe_safe_evaluate_at_pc): Use 'probe.prob' instead of
2066         'probe.probe'.
2067         (probe_linespec_to_ops): Rename to...
2068         (probe_linespec_to_static_ops): ...this.  Adjust code.
2069         (probe_any_is_linespec): Rename to...
2070         (any_static_probe_ops::is_linespec): ...this.
2071         (probe_any_get_probes): Rename to...
2072         (any_static_probe_ops::get_probes): ...this.
2073         (any_static_probe_ops::type_name): New method.
2074         (any_static_probe_ops::gen_info_probes_table_header): New
2075         method.
2076         (compute_probe_arg): Use 'pc_probe.prob' instead of
2077         'pc_probe.probe'.  Call methods from probe.
2078         (compile_probe_arg): Likewise.
2079         (std::vector<const probe_ops *> all_probe_ops): Delete.
2080         (std::vector<const static_probe_ops *> all_static_probe_ops):
2081         New variable.
2082         (_initialize_probe): Use 'all_static_probe_ops' instead of
2083         'all_probe_ops'.
2084         * probe.h (struct info_probe_column) <field_name>: Delete
2085         extraneous newline
2086         (info_probe_column_s): Delete type and VEC.
2087         (struct probe_ops): Delete.  Replace with...
2088         (class static_probe_ops): ...this and...
2089         (clas probe): ...this.
2090         (struct bound_probe) <bound_probe>: Delete extraneous
2091         newline.  Adjust constructor to receive 'probe' instead of
2092         'struct probe'.
2093         <probe>: Rename to...
2094         <prob>: ...this.  Delete extraneous newline.
2095         <objfile>: Delete extraneous newline.
2096         (register_probe_ops): Delete unused prototype.
2097         (info_probes_for_ops): Rename to...
2098         (info_probes_for_spops): ...this.  Adjust comment.
2099         (get_probe_address): Move to 'probe::get_address'.
2100         (get_probe_argument_count): Move to
2101         'probe::get_argument_count'.
2102         (can_evaluate_probe_arguments): Move to
2103         'probe::can_evaluate_arguments'.
2104         (evaluate_probe_argument): Move to 'probe::evaluate_argument'.
2105         * solib-svr4.c (struct svr4_info): Adjust comment.
2106         (struct probe_and_action) <probe>: Rename to...
2107         <prob>: ...this.
2108         (register_solib_event_probe): Receive 'probe' instead of
2109         'struct probe' as argument.  Use 'prob' instead of 'probe'
2110         when applicable.
2111         (solib_event_probe_action): Call 'get_argument_count' method
2112         from probe.  Adjust comment.
2113         (svr4_handle_solib_event): Adjust comment.  Call
2114         'evaluate_argument' method from probe.
2115         (svr4_create_probe_breakpoints): Call 'get_relocated_address'
2116         from probe.
2117         (svr4_create_solib_event_breakpoints): Use 'probe' instead of
2118         'struct probe'.  Call 'can_evaluate_arguments' from probe.
2119         * symfile.h: Forward declare 'class probe' instead of 'struct
2120         probe'.
2121         * symtab.h: Likewise.
2122         (struct symtab_and_line) <probe>: Rename to...
2123         <prob>: ...this.
2124         * tracepoint.c (start_tracing): Use 'prob' when applicable.
2125         Call probe methods.
2126         (stop_tracing): Likewise.
2127
2128 2017-11-22  Joel Brobecker  <brobecker@adacore.com>
2129
2130         * ravenscar-thread.c (ravenscar_inferior_created): Remove
2131         trailing newline at end of string in call to warning.
2132
2133 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
2134
2135         * osdata.h: Include vector isntead of vec.h.
2136         (osdata_column_s): Remove typedef.
2137         (struct osdata_column): Add constructor.
2138         <name, value>: Change type to std::string.
2139         (DEF_VEC_O (osdata_column_s)): Remove.
2140         (osdata_item_s): Remove typedef.
2141         (struct osdata_item) <columns>: Change type to std::vector.
2142         (DEF_VEC_O (osdata_item_s)): Remove.
2143         (struct osdata): Add constructor.
2144         <type>: Change type to std::string.
2145         <items>: Change type to std::vector.
2146         (osdata_p): Remove typedef.
2147         (DEF_VEC_P (osdata_p)): Remove.
2148         (osdata_parse): Return a unique_ptr.
2149         (osdata_free): Remove.
2150         (make_cleanup_osdata_free): Remove.
2151         (get_osdata): Return a unique_ptr.
2152         (get_osdata_column): Return pointer to std::string, take a
2153         reference to osdata_item as parameter.
2154         * osdata.c (struct osdata_parsing_data) <osdata>: Change type to
2155         unique_ptr.
2156         <property_name>: Change type to std::string.
2157         (osdata_start_osdata): Allocate osdata with new and adjust.
2158         (osdata_start_item): Adjust.
2159         (osdata_start_column): Adjust.
2160         (osdata_end_column): Adjust.
2161         (clear_parsing_data): Remove.
2162         (osdata_parse): Return a unique_ptr and adjust, remove cleanup.
2163         (osdata_item_clear): Remove.
2164         (get_osdata): return a unique_ptr and adjust.
2165         (get_osdata_column): Return a pointer to std::string and adjust.
2166         (info_osdata): Adjust.
2167         * mi/mi-main.c: Include <map>.
2168         (free_vector_of_osdata_items): Remove.
2169         (list_available_thread_groups): Adjust, use std::map instead of
2170         splay tree.
2171
2172 2017-11-22  Simon Marchi  <simon.marchi@ericsson.com>
2173
2174         * stack.c (iterate_over_block_locals): Add LOC_OPTIMIZED_OUT
2175         case in switch.
2176
2177 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
2178
2179         * varobj.h (DEF_VEC_P (varobj_p)): Remove.
2180
2181 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
2182
2183         * varobj.h (struct varobj_update_result): Add constructor, add
2184         move constructor, disable copy and assign, initialize fields.
2185         <newobj>: Change type to std::vector.
2186         (varobj_update): Return std::vector.
2187         * varobj.c (install_dynamic_child): Change VEC parameters to
2188         std::vector and adjust.
2189         (update_dynamic_varobj_children): Likewise.
2190         (varobj_update): Return std::vector and adjust.
2191         * mi/mi-cmd-var.c (varobj_update_one): Adjust to vector changes.
2192
2193 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
2194
2195         * varobj.h (struct varobj) <parent>: Remove const.
2196         <children>: Change type to std::vector.
2197         (varobj_list_children): Return std::vector const reference.
2198         (varobj_restrict_range): Change parameter type to std::vector
2199         const reference.
2200         * varobj.c (varobj_has_more): Adjust.
2201         (varobj_restrict_range): Change parameter type to std::vector
2202         const reference and adjust.
2203         (install_dynamic_child): Adjust.
2204         (update_dynamic_varobj_children): Adjust.
2205         (varobj_list_children): Return std::vector const reference and
2206         adjust.
2207         (varobj_add_child): Adjust.
2208         (update_type_if_necessary): Adjust.
2209         (varobj_update): Adjust.
2210         (delete_variable_1): Adjust.
2211         * ada-varobj.c (ada_value_has_mutated): Adjust.
2212         * mi/mi-cmd-var.c (mi_cmd_var_list_children): Adjust.
2213
2214 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
2215
2216         * varobj.h (struct varobj): Add constructor and destructor,
2217         initialize fields.
2218         * varobj.c (struct varobj_root): Initialize fields.
2219         (struct varobj_dynamic): Initialize fields.
2220         (varobj_create): Use unique_ptr instead of cleanup.  Create
2221         varobj with new instead of new_root_variable.
2222         (delete_variable_1): Free variable with delete instead of
2223         free_variable.
2224         (create_child_with_value): Create variable with new instead of
2225         new_variable.
2226         (varobj::varobj): New.
2227         (varobj::~varobj): New (body mostly coming from free_variable).
2228         (new_variable): Remove.
2229         (free_variable): Remove.
2230         (do_free_variable_cleanup): Remove.
2231         (make_cleanup_free_variable): Remove.
2232
2233 2017-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
2234
2235         * core-regset.c: Remove file.
2236         * Makefile.in (ALLDEPFILES): Remove core-regset.c.
2237
2238 2017-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
2239
2240         * NEWS: Document use of GNU MPFR.
2241         * README: Likewise.
2242
2243         * Makefile.in (LIBMPFR): Add define.
2244         (CLIBS): Add $(LIBMPFR).
2245         * configure.ac: Add --with-mpfr configure option.
2246         * configure: Regenerate.
2247         * config.in: Regenerate.
2248
2249         * target-float.c [HAVE_LIBMPFR]: Include <mpfr.h>.
2250         (class mpfr_float_ops): New type.
2251         (mpfr_float_ops::from_target): Two new overloaded functions.
2252         (mpfr_float_ops::to_target): Likewise.
2253         (mpfr_float_ops::to_string): New function.
2254         (mpfr_float_ops::from_string): Likewise.
2255         (mpfr_float_ops::to_longest): Likewise.
2256         (mpfr_float_ops::from_longest): Likewise.
2257         (mpfr_float_ops::from_ulongest): Likewise.
2258         (mpfr_float_ops::to_host_double): Likewise.
2259         (mpfr_float_ops::from_host_double): Likewise.
2260         (mpfr_float_ops::convert): Likewise.
2261         (mpfr_float_ops::binop): Likewise.
2262         (mpfr_float_ops::compare): Likewise.
2263         (get_target_float_ops): Use mpfr_float_ops if available.
2264
2265 2017-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
2266
2267         * target-float.c: Do not include <math.h>.
2268         Include <cmath> and <limits>.
2269         (DOUBLEST): Do not define.
2270         (class target_float_ops): New type.
2271         (class host_float_ops): New templated type.
2272         (class decimal_float_ops): New type.
2273
2274         (floatformat_to_doublest): Rename to ...
2275         (host_float_ops<T>::from_target): ... this.  Use template type T
2276         instead of DOUBLEST.  Use C++ math routines.  Update recursive calls.
2277         (host_float_ops<T>::from_target): New overload using a type argument.
2278         (floatformat_from_doublest): Rename to ...
2279         (host_float_ops<T>::to_target): ... this.  Use template type T
2280         instead of DOUBLEST.  Use C++ math routines.  Update recursive calls.
2281         (host_float_ops<T>::to_target): New overload using a type argument.
2282         (floatformat_printf_format): New function.
2283         (struct printf_length_modifier): New templated type.
2284         (floatformat_to_string): Rename to ...
2285         (host_float_ops<T>::to_string): ... this.  Use type instead of
2286         floatformat argument.  Use floatformat_printf_format and
2287         printf_length_modifier.  Remove special handling of invalid numbers,
2288         infinities and NaN (moved to target_float_to_string).
2289         (struct scanf_length_modifier): New templated type.
2290         (floatformat_from_string): Rename to ...
2291         (host_float_ops<T>::from_string): ... this.  Use type instead of
2292         floatformat argument.  Use scanf_length_modifier.
2293         (floatformat_to_longest): Rename to ...
2294         (host_float_ops<T>::to_longest): ... this.  Use type instead of
2295         floatformat argument.  Handle out-of-range values deterministically.
2296         (floatformat_from_longest): Rename to ...
2297         (host_float_ops<T>::from_longest): ... this.  Use type instead of
2298         floatformat argument.
2299         (floatformat_from_ulongest): Rename to ...
2300         (host_float_ops<T>::from_ulongest): ... this.  Use type instead of
2301         floatformat argument.
2302         (floatformat_to_host_double): Rename to ...
2303         (host_float_ops<T>::to_host_double): ... this.  Use type instead of
2304         floatformat argument.
2305         (floatformat_from_host_double): Rename to ...
2306         (host_float_ops<T>::from_host_double): ... this.  Use type instead of
2307         floatformat argument.
2308         (floatformat_convert): Rename to ...
2309         (host_float_ops<T>::convert): ... this.  Use type instead of
2310         floatformat arguments.  Remove handling of no-op conversions.
2311         (floatformat_binop): Rename to ...
2312         (host_float_ops<T>::binop): ... this.  Use type instead of
2313         floatformat arguments.
2314         (floatformat_compare): Rename to ...
2315         (host_float_ops<T>::compare): ... this.  Use type instead of
2316         floatformat arguments.
2317
2318         (match_endianness): Use type instead of length/byte_order arguments.
2319         (set_decnumber_context): Likewise.
2320         (decimal_from_number): Likewise.  Update calls.
2321         (decimal_to_number): Likewise.
2322         (decimal_is_zero): Likewise.  Update calls.  Move to earlier in file.
2323         (decimal_float_ops::to_host_double): New dummy function.
2324         (decimal_float_ops::from_host_double): Likewise.
2325         (decimal_to_string): Rename to ...
2326         (decimal_float_ops::to_string): ... this.  Use type instead of
2327         length/byte_order arguments.  Update calls.
2328         (decimal_from_string): Rename to ...
2329         (decimal_float_ops::from_string): ... this.  Use type instead of
2330         length/byte_order arguments.  Update calls.
2331         (decimal_from_longest): Rename to ...
2332         (decimal_float_ops::from_longest): ... this.  Use type instead of
2333         length/byte_order arguments.  Update calls.
2334         (decimal_from_ulongest): Rename to ...
2335         (decimal_float_ops::from_ulongest): ... this.  Use type instead of
2336         length/byte_order arguments.  Update calls.
2337         (decimal_to_longest): Rename to ...
2338         (decimal_float_ops::to_longest): ... this.  Use type instead of
2339         length/byte_order arguments.  Update calls.
2340         (decimal_binop): Rename to ...
2341         (decimal_float_ops::binop): ... this.  Use type instead of
2342         length/byte_order arguments.  Update calls.
2343         (decimal_compare): Rename to ...
2344         (decimal_float_ops::compare): ... this.  Use type instead of
2345         length/byte_order arguments.  Update calls.
2346         (decimal_convert): Rename to ...
2347         (decimal_float_ops::convert): ... this.  Use type instead of
2348         length/byte_order arguments.  Update calls.
2349
2350         (target_float_same_category_p): New function.
2351         (target_float_same_format_p): Likewise.
2352         (target_float_format_length): Likewise.
2353         (enum target_float_ops_kind): New type.
2354         (get_target_float_ops_kind): New function.
2355         (get_target_float_ops): Three new overloaded functions.
2356
2357         (target_float_is_zero): Update call.
2358         (target_float_to_string): Add special handling of invalid numbers,
2359         infinities and NaN (moved from floatformat_to_string).  Use
2360         target_float_ops callback.
2361         (target_float_from_string): Use target_float_ops callback.
2362         (target_float_to_longest): Likewise.
2363         (target_float_from_longest): Likewise.
2364         (target_float_from_ulongest): Likewise.
2365         (target_float_to_host_double): Likewise.
2366         (target_float_from_host_double): Likewise.
2367         (target_float_convert): Add special case for no-op conversions.
2368         Use target_float_ops callback.
2369         (target_float_binop): Use target_float_ops callback.
2370         (target_float_compare): Likewise.
2371
2372 2017-11-22  Yao Qi  <yao.qi@linaro.org>
2373
2374         * python/py-gdb-readline.c (gdbpy_readline_wrapper): Use strcpy.
2375
2376 2017-11-22  Yao Qi  <yao.qi@linaro.org>
2377
2378         * cli/cli-decode.c (help_list): Use memcpy instead of strncpy.
2379         * cp-namespace.c (cp_lookup_transparent_type_loop): Likewise.
2380
2381 2017-11-21  Jerome Guitton  <guitton@adacore.com>
2382
2383         * ravenscar-thread.c (ravenscar_wait): Update inferior ptid
2384         with event ptid from the lower layer before doing the
2385         ravenscar-specific update.
2386
2387 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2388
2389         * ravenscar-thread.c (is_ravenscar_task): Also verify that
2390         the ptid's TID is nonzero.
2391
2392 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2393
2394         * ada-lang.h (ada_get_tcb_types_info): Add declaration.
2395         * ada-tasks.c (ada_get_tcb_types_info): Renames get_tcb_types_info.
2396         Make non-static.  Change return type to char *.  Adjust code
2397         accordingly.  Rewrite the function's documentation.
2398         (read_atcb): Adjust call to get_tcb_types_info accordingly.
2399         * ravenscar-thread.c (ravenscar_inferior_created): Check that
2400         we have enough debugging information in the runtime to support
2401         Ada task debugging before we enable the ravenscar-thread layer.
2402
2403 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2404
2405         * ada-lang.h (ada_get_task_info_from_ptid): Add declaration.
2406         * ada-tasks.c (ada_get_task_info_from_ptid): New function.
2407         * ravenscar-thread.c: Add into comment.
2408         (base_magic_null_ptid): Delete.
2409         (base_ptid): Change documentation.
2410         (ravenscar_active_task): Renames ravenscar_running_thread.
2411         All callers updated throughout.
2412         (is_ravenscar_task, ravenscar_get_thread_base_cpu): New function.
2413         (ravenscar_task_is_currently_active): Likewise.
2414         (get_base_thread_from_ravenscar_task): Ditto.
2415         (ravenscar_update_inferior_ptid): Adjust to handle multiple CPUs.
2416         (ravenscar_runtime_initialized): Likewise.
2417         (get_running_thread_id): Add new parameter "cpu".  Adjust
2418         implementation to handle this new parameter.
2419         (ravenscar_fetch_registers): Small adjustment to use
2420         is_ravenscar_task and ravenscar_task_is_currently_active in
2421         order to decide whether to use the target beneath or this
2422         module's arch_ops.
2423         (ravenscar_store_registers, ravenscar_prepare_to_store): Likewise.
2424         (ravenscar_stopped_by_sw_breakpoint): Use
2425         get_base_thread_from_ravenscar_task to get the underlying
2426         thread, rather than using base_ptid.
2427         (ravenscar_stopped_by_hw_breakpoint, ravenscar_stopped_by_watchpoint)
2428         (ravenscar_stopped_data_address, ravenscar_core_of_thread):
2429         Likewise.
2430         (ravenscar_inferior_created): Do not set base_magic_null_ptid.
2431
2432 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2433
2434         * ada-lang.h (struct ada_task_info) <base_cpu>: New field.
2435         * ada-lang.c (struct atcb_fieldno) <base_cpu>: New field.
2436         (get_tcb_types_info): Set fieldnos.base_cpu.
2437         (read_atcb): Set task_info->base_cpu.
2438         (info_task): Print "Base CPU" info if set by runtime.
2439
2440 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2441
2442         * ravenscar-thread.c (ravenscar_stopped_by_sw_breakpoint)
2443         (ravenscar_stopped_by_hw_breakpoint, ravenscar_stopped_by_watchpoint)
2444         (ravenscar_stopped_data_address, ravenscar_core_of_thread):
2445         New functions.
2446         (init_ravenscar_thread_ops): Set the to_stopped_by_sw_breakpoint,
2447         to_stopped_by_hw_breakpoint, to_stopped_by_watchpoint,
2448         to_stopped_data_address and to_core_of_thread fields of
2449         ravenscar_ops.
2450
2451 2017-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
2452
2453         * ppc-tdep.h (enum powerpc_long_double_abi): New data type.
2454         (struct gdbarch_tdep): New member long_double_abi.
2455         * rs6000-tdep.c (rs6000_gdbarch_init): Initialize long_double_abi
2456         member of tdep struct based on Tag_GNU_Power_ABI_FP attribute.
2457         * ppc-linux-tdep.c (ppc_linux_init_abi): Install long double data
2458         format depending on long_double_abi tdep member.
2459         (ppc_floatformat_for_type): Handle __ibm128 type.
2460
2461 2017-11-20  Simon Marchi  <simon.marchi@polymtl.ca>
2462
2463         * darwin-nat.c (set_enable_mach_exceptions): Constify parameter.
2464
2465 2017-11-21  Pedro Alves  <palves@redhat.com>
2466
2467         * dwarf2read.c (mapped_index::find_name_components_bounds)
2468         <completion mode, upper bound>: Use std::lower_bound instead of
2469         std::upper_bound.
2470         (test_mapped_index_find_name_component_bounds): Remove incorrect
2471         "t1_fund" from expected symbols.
2472
2473 2017-11-21  Pedro Alves  <palves@redhat.com>
2474
2475         * dwarf2read.c (mapped_index::name_components_casing): New field.
2476         (mapped_index) <build_name_components,
2477         find_name_components_bounds): Declare new methods.
2478         (mapped_index::find_name_components_bounds)
2479         (mapped_index::build_name_components): New methods, factored out
2480         from dw2_expand_symtabs_matching_symbol.
2481         (check_find_bounds_finds)
2482         (test_mapped_index_find_name_component_bounds): New.
2483         (run_test): Rename to ...
2484         (test_dw2_expand_symtabs_matching_symbol): ... this.
2485         (run_test): Reimplement.
2486
2487 2017-11-21  Pedro Alves  <palves@redhat.com>
2488
2489         * cp-name-parser.y (cp_ident_is_alpha, cp_ident_is_alnum): New.
2490         (symbol_end): Use cp_ident_is_alnum.
2491         (yylex): Use cp_ident_is_alpha and cp_ident_is_alnum.
2492         * dwarf2read.c (make_sort_after_prefix_name): New function.
2493         (dw2_expand_symtabs_matching_symbol): Use it.
2494         (test_symbols): Add more symbols.
2495         (run_test): Add tests.
2496
2497 2017-11-17  Tom Tromey  <tom@tromey.com>
2498
2499         * symtab.h (enum symbol_subclass_kind): New.
2500         (struct symbol) <is_cplus_template_function, is_rust_vtable>:
2501         Remove.
2502         <subclass>: New member.
2503         (SYMBOL_IS_CPLUS_TEMPLATE_FUNCTION): Update.
2504         * rust-lang.c (rust_get_trait_object_pointer): Update.
2505         * dwarf2read.c (read_func_scope): Update.
2506         (read_variable): Update.
2507
2508 2017-11-17  Tom Tromey  <tom@tromey.com>
2509
2510         * dwarf2read.c (read_func_scope): Update.
2511         * symtab.h (struct template_symbol): Derive from symbol.
2512         <base>: Remove.
2513
2514 2017-11-17  Tom Tromey  <tom@tromey.com>
2515
2516         * symtab.h (struct symbol) <is_rust_vtable>: New member.
2517         (struct rust_vtable_symbol): New.
2518         (find_symbol_at_address): Declare.
2519         * symtab.c (find_symbol_at_address): New function.
2520         * symfile.h (struct quick_symbol_functions)
2521         <find_compunit_symtab_by_address>: New member.
2522         * symfile-debug.c (debug_qf_find_compunit_symtab_by_address): New
2523         function.
2524         (debug_sym_quick_functions): Link to
2525         debug_qf_find_compunit_symtab_by_address.
2526         * rust-lang.c (rust_get_trait_object_pointer): New function.
2527         (rust_evaluate_subexp) <case UNOP_IND>: New case.  Call
2528         rust_get_trait_object_pointer.
2529         * psymtab.c (psym_relocate): Clear psymbol_map.
2530         (psym_fill_psymbol_map, psym_find_compunit_symtab_by_address): New
2531         functions.
2532         (psym_functions): Link to psym_find_compunit_symtab_by_address.
2533         * objfiles.h (struct objfile) <psymbol_map>: New member.
2534         * dwarf2read.c (dwarf2_gdb_index_functions): Update.
2535         (process_die) <DW_TAG_variable>: New case.  Call read_variable.
2536         (rust_containing_type, read_variable): New functions.
2537
2538 2017-11-17  Simon Marchi  <simon.marchi@polymtl.ca>
2539
2540         * common/gdb_vecs.h (DEF_VEC_I (int)): Remove.
2541
2542 2017-11-17  Simon Marchi  <simon.marchi@polymtl.ca>
2543
2544         * common/filestuff.c: Include <algorithm>.
2545         (open_fds): Change type to std::vector<int>.
2546         (do_mark_open_fd): Adjust.
2547         (unmark_fd_no_cloexec): Adjust.
2548         (do_close): Adjust.
2549
2550 2017-11-17  Simon Marchi  <simon.marchi@polymtl.ca>
2551
2552         * breakpoint.c (output_thread_groups): Take an std::vector.
2553         (print_one_breakpoint_location): Adjust.
2554
2555 2017-11-17  Joel Brobecker  <brobecker@adacore.com>
2556
2557         * ada-lang.c (resolve_subexp): Add handling of OP_VAR_MSYM_VALUE.
2558         (ada_evaluate_subexp_for_cast): New function.
2559         (ada_evaluate_subexp) <UNOP_CAST>: Replace code by call to
2560         ada_evaluate_subexp_for_cast.
2561         (ada_evaluate_subexp) <nosideret>: Replace code by call to
2562         eval_skip_value.
2563         * eval.c (evaluate_var_value): Make non-static.
2564         (evaluate_var_msym_value, eval_skip_value): Likewise.
2565         * value.h (evaluate_var_value, evaluate_var_msym_value)
2566         (eval_skip_value): Declare.
2567
2568 2017-11-16  Joel Brobecker  <brobecker@adacore.com>
2569
2570         * ada-lang.c (ada_value_cast): Remove parameter "noside".
2571         Update all callers.
2572
2573 2017-11-16  Pedro Alves  <palves@redhat.com>
2574
2575         * python/py-unwind.c (pyuw_sniffer): Translate
2576         PyExc_KeyboardInterrupt to a GDB Quit exception.
2577
2578 2017-11-16  Pedro Alves  <palves@redhat.com>
2579
2580         * infrun.c (resume_cleanups): Delete.
2581         (resume): No longer install a resume_cleanups cleanup nor call
2582         QUIT.
2583         (proceed): Pass the terminal to the inferior.
2584         (keep_going_pass_signal): No longer install a resume_cleanups
2585         cleanup.
2586
2587 2017-11-16  Pedro Alves  <palves@redhat.com>
2588
2589         * inf-loop.c (inferior_event_handler): Don't swallow the exception
2590         if the prompt is blocked.
2591
2592 2017-11-16  Pedro Alves  <palves@redhat.com>
2593
2594         * breakpoint.c (insert_bp_location): Replace bp_err and
2595         bp_err_message locals by a gdb_exception local.
2596
2597 2017-11-16  Pedro Alves  <palves@redhat.com>
2598
2599         * inflow.c (scoped_ignore_sigttou): New class.
2600         (child_terminal_ours_1, new_tty): Use it.
2601
2602 2017-11-16  Ulrich Weigand  <uweigand@de.ibm.com>
2603
2604         * target-float.c (decimal_from_number): Add byte_order argument and
2605         call match_endianness.  Error if unknown floating-point type.
2606         (decimal_to_number): Add byte_order argument and call match_endianness.
2607         (decimal_from_longest): Update call.  Do not call match_endianness.
2608         (decimal_from_ulongest): Likewise.
2609         (decimal_binop): Likewise.
2610         (decimal_is_zero): Likewise.
2611         (decimal_compare): Likewise.
2612         (decimal_convert): Likewise.
2613
2614 2017-11-16  Phil Muldoon  <pmuldoon@redhat.com>
2615
2616         * python/python.c (gdbpy_rbreak): New function.
2617         * NEWS: Document Python rbreak feature.
2618
2619 2017-11-16  Yao Qi  <yao.qi@linaro.org>
2620
2621         * features/tic6x-c62x.xml: Remove.
2622         * features/tic6x-c64x.xml: Remove.
2623         * features/tic6x-c64xp.xml: Remove.
2624
2625 2017-11-15  John Baldwin  <jhb@FreeBSD.org>
2626
2627         * symtab.h: Include <array>.
2628
2629 2017-11-15  John Baldwin  <jhb@FreeBSD.org>
2630
2631         * bsd-kvm.c (bsd_kvm_cmd): Constify 'arg'.
2632         (bsd_kvm_proc_cmd): Likewise.
2633
2634 2017-11-15  Simon Marchi  <simon.marchi@ericsson.com>
2635
2636         * tui/tui-win.c (window_name_completer): Replace VEC with
2637         std::vector.
2638
2639 2017-11-15  Andrew Cagney  <cagney@gnu.org>
2640
2641         * MAINTAINERS: Remove no-longer applicable entries.
2642
2643 2017-11-15  Andrew Cagney  <cagney@gnu.org>
2644
2645         * MAINTAINERS: Move self to Past Maintainers.
2646
2647 2017-11-15  Yao Qi  <yao.qi@linaro.org>
2648
2649         * features/Makefile (XMLTOC): Remove nios2-linux.xml.
2650         * features/nios2-linux.c: Remove.
2651         * nios2-linux-tdep.c (_initialize_nios2_linux_tdep): Don't call
2652         initialize_tdesc_nios2_linux.
2653
2654 2017-11-15  Yao Qi  <yao.qi@linaro.org>
2655
2656         * m68hc11-tdep.c (M68HC11_NUM_REGS): Change it to
2657         M68HC11_LAST_HARD_REG + 1.
2658
2659 2017-11-14  Paul Carroll  <pcarroll@codesourcery.com>
2660
2661         PR gdb/22388
2662         * remote.c (remote_write_bytes_aux, remote_read_bytes_1,
2663         remote_read_bytes, remote_write_qxfer, remote_xfer_partial):
2664         Return TARGET_XFER_EOF if size of returned data is 0.
2665
2666 2017-11-14  Simon Marchi  <simon.marchi@ericsson.com>
2667
2668         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
2669         memory-map-selftests.c.
2670         (SUBDIR_UNITTESTS_OBS): Add memory-map-selftests.o.
2671         * memory-map.c (memory_map_start_memory): Fix computation of hi
2672         address.
2673         * unittests/memory-map-selftests.c: New file.
2674
2675 2017-11-09  Joel Brobecker  <brobecker@adacore.com>
2676
2677         * ada-lang.c: Fix some typos in the general command documenting
2678         how Ada expressions are being evaluated and how their result
2679         is printed.
2680
2681 2017-11-09  Tom Tromey  <tom@tromey.com>
2682
2683         * psymtab.c (psymbol_hash): Do not hash string contents.
2684         (psymbol_compare): Add comment.
2685
2686 2017-11-09  Tom Tromey  <tom@tromey.com>
2687
2688         * dictionary.c (dict_hash): Move "TKB" check into the "switch".
2689
2690 2017-11-08  Joel Brobecker  <brobecker@adacore.com>
2691
2692         * ada-exp.y (write_var_from_sym): Remove parameter
2693         "orig_left_context".  Update all callers.
2694
2695 2017-11-08  Simon Marchi  <simon.marchi@ericsson.com>
2696
2697         * tracepoint.h (class collection_list) <stringify>: Return
2698         std::vector<std::string>.
2699         (encode_actions_rsp): Change parameters to
2700         std::vector<std::string> *.
2701         * tracepoint.c (collection_list::stringify): Return
2702         std::vector<std::string> and adjust accordingly.
2703         (encode_actions_rsp): Changee parameters to
2704         std::vector<std::string> and adjust accordingly.
2705         * remote.c (free_actions_list),
2706         free_actions_list_cleanup_wrapper): Remove.
2707         (remote_download_tracepoint): Adjust to std::vector.
2708
2709 2017-11-08  Tom Tromey  <tom@tromey.com>
2710
2711         * dwarf2read.c (symbolp): Remove typedef.
2712         (read_func_scope): Use std::vector.
2713         (process_structure_scope): Use std::vector.
2714
2715 2017-11-08  Pedro Alves  <palves@redhat.com>
2716
2717         * ada-lang.c (ada_make_symbol_completion_list): Use
2718         completion_skip_symbol.
2719         * symtab.c (symbol_is_function_or_method(minimal_symbol*)): New.
2720         (symbol_is_function_or_method(symbol*)): New.
2721         (add_symtab_completions): Add complete_symbol_mode parameter.  Use
2722         completion_skip_symbol.
2723         (default_collect_symbol_completion_matches_break_on): Use
2724         completion_skip_symbol.  Pass down mode.
2725         (collect_file_symbol_completion_matches): Pass down mode.
2726         * symtab.h (symbol_is_function_or_method): New declarations.
2727         (completion_skip_symbol): New template function.
2728
2729 2017-11-08  Pedro Alves  <palves@redhat.com>
2730
2731         * linespec.c (iterate_over_all_matching_symtabs): Add
2732         search_domain parameter.  Pass it down to expand_symtabs_matching.
2733         (decode_objc): Request FUNCTIONS_DOMAIN symbols only.
2734         (lookup_prefix_sym): Adjust by passing ALL_DOMAIN as
2735         search_domain.
2736         (add_all_symbol_names_from_pspace): Add search_domain parameter.
2737         Pass it down.
2738         (find_method, find_function_symbols): Request FUNCTIONS_DOMAIN
2739         symbols.
2740         (add_matching_symbols_to_info): Add search_domain parameter.  Pass
2741         it down.
2742
2743 2017-11-08  Pedro Alves  <palves@redhat.com>
2744
2745         * ada-lang.c (ada_make_symbol_completion_list): Remove text and
2746         text_len locals and don't pass them down.
2747         * symtab.c (completion_list_add_name): Remove
2748         sym_text/sym_text_len parameters and adjust.
2749         (completion_list_add_symbol, completion_list_add_msymbol)
2750         (completion_list_objc_symbol, completion_list_add_fields)
2751         (add_symtab_completions): Likewise.
2752         (default_collect_symbol_completion_matches_break_on)
2753         (collect_file_symbol_completion_matches): Remove sym_text_len
2754         local and don't pass it down.
2755         * symtab.h (completion_list_add_name): Remove
2756         sym_text/sym_text_len parameters.
2757
2758 2017-11-08  Pedro Alves  <palves@redhat.com>
2759
2760         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
2761         unittests/lookup_name_info-selftests.c.
2762         (SUBDIR_UNITTESTS_OBS): Add lookup_name_info-selftests.o.
2763         * cp-support.c: Include "selftest.h".
2764         (cp_remove_params_1): Rename from cp_remove_params.  Add
2765         'require_param' parameter, and handle it.
2766         (cp_remove_params): Reimplement.
2767         (cp_remove_params_if_any): New.
2768         (selftests::quote): New.
2769         (selftests::check_remove_params): New.
2770         (selftests::test_cp_remove_params): New.
2771         (_initialize_cp_support): Install
2772         selftests::test_cp_remove_params.
2773         * cp-support.h (cp_remove_params_if_any): Declare.
2774         * dwarf2read.c :Include "selftest.h".
2775         (dw2_expand_symtabs_matching_symbol): Use
2776         lookup_name_info::make_ignore_params.
2777         (selftests::dw2_expand_symtabs_matching::mock_mapped_index)
2778         (selftests::dw2_expand_symtabs_matching::string_or_null)
2779         (selftests::dw2_expand_symtabs_matching::check_match)
2780         (selftests::dw2_expand_symtabs_matching::test_symbols)
2781         (selftests::dw2_expand_symtabs_matching::run_test): New.
2782         (_initialize_dwarf2_read): Register
2783         selftests::dw2_expand_symtabs_matching::run_test.
2784         * psymtab.c (psym_expand_symtabs_matching): Use
2785         lookup_name_info::make_ignore_params.
2786         * symtab.c (demangle_for_lookup_info::demangle_for_lookup_info):
2787         If the lookup name wants to ignore parameters, strip them.
2788         (compare_symbol_name): Remove sym_text/sym_text_len parameters and
2789         code handling '('.
2790         (completion_list_add_name): Don't pass down sym_text/sym_text_len.
2791         (default_collect_symbol_completion_matches_break_on): Don't try to
2792         strip parameters.
2793         * symtab.h (lookup_name_info::lookup_name_info): Add
2794         'ignore_parameters' parameter.
2795         (lookup_name_info::ignore_parameters)
2796         (lookup_name_info::make_ignore_params): New methods.
2797         (lookup_name_info::m_ignore_parameters): New field.
2798         * unittests/lookup_name_info-selftests.c: New file.
2799
2800 2017-11-08  Pedro Alves  <palves@redhat.com>
2801
2802         * dwarf2read.c (dw2_expand_marked_cus)
2803         (dw2_expand_symtabs_matching_symbol): Remove forward declarations.
2804         (dw2_expand_symtabs_matching): Move further below.
2805         (dw2_expand_marked_cus): Reindent.
2806
2807 2017-11-08  Pedro Alves  <palves@redhat.com>
2808
2809         * dwarf2read.c (byte_swap, MAYBE_SWAP): Move higher up in file.
2810         (struct name_component): New.
2811         (mapped_index::name_components): New field.
2812         (mapped_index::symbol_name_at): New method.
2813         (dwarf2_read_index): Call mapped_index ctor.
2814         (dw2_map_matching_symbols): Add comment about name_components
2815         table.
2816         (dw2_expand_symtabs_matching): Factor part to...
2817         (dw2_expand_symtabs_matching_symbol): ... this new function.
2818         Build name components table, and lookup symbols in it before
2819         calling the name matcher.
2820         (dw2_expand_marked_cus): New, factored out from
2821         dw2_expand_symtabs_matching.
2822         (dwarf2_per_objfile_free): Call the mapped_index's dtor.
2823
2824 2017-11-08   Pedro Alves  <palves@redhat.com>
2825
2826         * ada-lang.c (ada_encode): Rename to ..
2827         (ada_encode_1): ... this.  Add throw_errors parameter and handle
2828         it.
2829         (ada_encode): Reimplement.
2830         (match_name): Delete, folded into full_name.
2831         (resolve_subexp): No longer pass the encoded name to
2832         ada_lookup_symbol_list.
2833         (should_use_wild_match): Delete.
2834         (name_match_type_from_name): New.
2835         (ada_lookup_simple_minsym): Use lookup_name_info and the
2836         language's symbol_name_matcher_ftype.
2837         (add_symbols_from_enclosing_procs, ada_add_local_symbols)
2838         (ada_add_block_renamings): Adjust to use lookup_name_info.
2839         (ada_lookup_name): New.
2840         (add_nonlocal_symbols, ada_add_all_symbols)
2841         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list)
2842         (ada_iterate_over_symbols): Adjust to use lookup_name_info.
2843         (ada_name_for_lookup): Delete.
2844         (ada_lookup_encoded_symbol): Construct a verbatim name.
2845         (wild_match): Reverse sense of return type.  Use bool.
2846         (full_match): Reverse sense of return type.  Inline bits of old
2847         match_name here.
2848         (ada_add_block_symbols): Adjust to use lookup_name_info.
2849         (symbol_completion_match): Delete, folded into...
2850         (ada_lookup_name_info::matches): ... .this new method.
2851         (symbol_completion_add): Delete.
2852         (ada_collect_symbol_completion_matches): Add name_match_type
2853         parameter.  Adjust to use lookup_name_info and
2854         completion_list_add_name.
2855         (get_var_value, ada_add_global_exceptions): Adjust to use
2856         lookup_name_info.
2857         (ada_get_symbol_name_cmp): Delete.
2858         (do_wild_match, do_full_match): New functions.
2859         (ada_lookup_name_info::ada_lookup_name_info): New method.
2860         (ada_symbol_name_matches, ada_get_symbol_name_matcher): New
2861         functions.
2862         (ada_language_defn): Install ada_get_symbol_name_matcher.
2863         * ada-lex.l (processId): If name starts with '<', copy it
2864         verbatim.
2865         * block.c (block_iter_match_step, block_iter_match_first)
2866         (block_iter_match_next, block_lookup_symbol)
2867         (block_lookup_symbol_primary, block_find_symbol): Adjust to use
2868         lookup_name_info.
2869         * block.h (block_iter_match_first, block_iter_match_next)
2870         (ALL_BLOCK_SYMBOLS_WITH_NAME): Adjust to use lookup_name_info.
2871         * c-lang.c (c_language_defn, cplus_language_defn)
2872         (asm_language_defn, minimal_language_defn): Adjust comments to
2873         refer to la_get_symbol_name_matcher.
2874         * completer.c (complete_files_symbols)
2875         (collect_explicit_location_matches, symbol_completer): Pass a
2876         symbol_name_match_type down.
2877         * completer.h (class completion_match, completion_match_result):
2878         New classes.
2879         (completion_tracker::reset_completion_match_result): New method.
2880         (completion_tracker::m_completion_match_result): New field.
2881         * cp-support.c (make_symbol_overload_list_block): Adjust to use
2882         lookup_name_info.
2883         (cp_fq_symbol_name_matches, cp_get_symbol_name_matcher): New
2884         functions.
2885         * cp-support.h (cp_get_symbol_name_matcher): New declaration.
2886         * d-lang.c: Adjust comments to refer to
2887         la_get_symbol_name_matcher.
2888         * dictionary.c (dict_vector) <iter_match_first, iter_match_next>:
2889         Adjust to use lookup_name_info.
2890         (dict_iter_match_first, dict_iter_match_next)
2891         (iter_match_first_hashed, iter_match_next_hashed)
2892         (iter_match_first_linear, iter_match_next_linear): Adjust to work
2893         with a lookup_name_info.
2894         * dictionary.h (dict_iter_match_first, dict_iter_match_next):
2895         Likewise.
2896         * dwarf2read.c (dw2_lookup_symbol): Adjust to use lookup_name_info.
2897         (dw2_map_matching_symbols): Adjust to use symbol_name_match_type.
2898         (gdb_index_symbol_name_matcher): New class.
2899         (dw2_expand_symtabs_matching) Adjust to use lookup_name_info and
2900         gdb_index_symbol_name_matcher.  Accept a NULL symbol_matcher.
2901         * f-lang.c (f_collect_symbol_completion_matches): Adjust to work
2902         with a symbol_name_match_type.
2903         (f_language_defn): Adjust comments to refer to
2904         la_get_symbol_name_matcher.
2905         * go-lang.c (go_language_defn): Adjust comments to refer to
2906         la_get_symbol_name_matcher.
2907         * language.c (default_symbol_name_matcher)
2908         (language_get_symbol_name_matcher): New functions.
2909         (unknown_language_defn, auto_language_defn): Adjust comments to
2910         refer to la_get_symbol_name_matcher.
2911         * language.h (symbol_name_cmp_ftype): Delete.
2912         (language_defn) <la_collect_symbol_completion_matches>: Add match
2913         type parameter.
2914         <la_get_symbol_name_cmp>: Delete field.
2915         <la_get_symbol_name_matcher>: New field.
2916         <la_iterate_over_symbols>: Adjust to use lookup_name_info.
2917         (default_symbol_name_matcher, language_get_symbol_name_matcher):
2918         Declare.
2919         * linespec.c (iterate_over_all_matching_symtabs)
2920         (iterate_over_file_blocks): Adjust to use lookup_name_info.
2921         (find_methods): Add language parameter, and use lookup_name_info
2922         and the language's symbol_name_matcher_ftype.
2923         (linespec_complete_function): Adjust.
2924         (lookup_prefix_sym): Use lookup_name_info.
2925         (add_all_symbol_names_from_pspace): Adjust.
2926         (find_superclass_methods): Add language parameter and pass it
2927         down.
2928         (find_method): Pass symbol language down.
2929         (find_linespec_symbols): Don't demangle or Ada encode here.
2930         (search_minsyms_for_name): Add lookup_name_info parameter.
2931         (add_matching_symbols_to_info): Add name_match_type parameter.
2932         Use lookup_name_info.
2933         * m2-lang.c (m2_language_defn): Adjust comments to refer to
2934         la_get_symbol_name_matcher.
2935         * minsyms.c: Include <algorithm>.
2936         (add_minsym_to_demangled_hash_table): Remove table parameter and
2937         add objfile parameter.  Use search_name_hash, and add language to
2938         demangled languages vector.
2939         (struct found_minimal_symbols): New struct.
2940         (lookup_minimal_symbol_mangled, lookup_minimal_symbol_demangled):
2941         New functions.
2942         (lookup_minimal_symbol): Adjust to use them.  Don't canonicalize
2943         input names here.  Use lookup_name_info instead.  Lookup up
2944         demangled names once for each language in the demangled names
2945         vector.
2946         (iterate_over_minimal_symbols): Use lookup_name_info.  Lookup up
2947         demangled names once for each language in the demangled names
2948         vector.
2949         (build_minimal_symbol_hash_tables): Adjust.
2950         * minsyms.h (iterate_over_minimal_symbols): Adjust to pass down a
2951         lookup_name_info.
2952         * objc-lang.c (objc_language_defn): Adjust comment to refer to
2953         la_get_symbol_name_matcher.
2954         * objfiles.h: Include <vector>.
2955         (objfile_per_bfd_storage) <demangled_hash_languages>: New field.
2956         * opencl-lang.c (opencl_language_defn): Adjust comment to refer to
2957         la_get_symbol_name_matcher.
2958         * p-lang.c (pascal_language_defn): Adjust comment to refer to
2959         la_get_symbol_name_matcher.
2960         * psymtab.c (psym_lookup_symbol): Use lookup_name_info.
2961         (match_partial_symbol): Use symbol_name_match_type,
2962         lookup_name_info and psymbol_name_matches.
2963         (lookup_partial_symbol): Use lookup_name_info.
2964         (map_block): Use symbol_name_match_type and lookup_name_info.
2965         (psym_map_matching_symbols): Use symbol_name_match_type.
2966         (psymbol_name_matches): New.
2967         (recursively_search_psymtabs): Use lookup_name_info and
2968         psymbol_name_matches.  Rename 'kind' parameter to 'domain'.
2969         (psym_expand_symtabs_matching): Use lookup_name_info.  Rename
2970         'kind' parameter to 'domain'.
2971         * rust-lang.c (rust_language_defn): Adjust comment to refer to
2972         la_get_symbol_name_matcher.
2973         * symfile-debug.c (debug_qf_map_matching_symbols)
2974         (debug_qf_map_matching_symbols): Use symbol_name_match_type.
2975         (debug_qf_expand_symtabs_matching): Use lookup_name_info.
2976         * symfile.c (expand_symtabs_matching): Use lookup_name_info.
2977         * symfile.h (quick_symbol_functions) <map_matching_symbols>:
2978         Adjust to use symbol_name_match_type.
2979         <expand_symtabs_matching>: Adjust to use lookup_name_info.
2980         (expand_symtabs_matching): Adjust to use lookup_name_info.
2981         * symmisc.c (maintenance_expand_symtabs): Use
2982         lookup_name_info::match_any ().
2983         * symtab.c (symbol_matches_search_name): New.
2984         (eq_symbol_entry): Adjust to use lookup_name_info and the
2985         language's matcher.
2986         (demangle_for_lookup_info::demangle_for_lookup_info): New.
2987         (lookup_name_info::match_any): New.
2988         (iterate_over_symbols, search_symbols): Use lookup_name_info.
2989         (compare_symbol_name): Add language, lookup_name_info and
2990         completion_match_result parameters, and use them.
2991         (completion_list_add_name): Make extern.  Add language and
2992         lookup_name_info parameters.  Use them.
2993         (completion_list_add_symbol, completion_list_add_msymbol)
2994         (completion_list_objc_symbol): Add lookup_name_info parameters and
2995         adjust.  Pass down language.
2996         (completion_list_add_fields): Add lookup_name_info parameters and
2997         adjust.  Pass down language.
2998         (add_symtab_completions): Add lookup_name_info parameters and
2999         adjust.
3000         (default_collect_symbol_completion_matches_break_on): Add
3001         name_match_type parameter, and use it.  Use lookup_name_info.
3002         (default_collect_symbol_completion_matches)
3003         (collect_symbol_completion_matches): Add name_match_type
3004         parameter, and pass it down.
3005         (collect_symbol_completion_matches_type): Adjust.
3006         (collect_file_symbol_completion_matches): Add name_match_type
3007         parameter, and use lookup_name_info.
3008         * symtab.h: Include <string> and "common/gdb_optional.h".
3009         (enum class symbol_name_match_type): New.
3010         (class ada_lookup_name_info): New.
3011         (struct demangle_for_lookup_info): New.
3012         (class lookup_name_info): New.
3013         (symbol_name_matcher_ftype): New.
3014         (SYMBOL_MATCHES_SEARCH_NAME): Use symbol_matches_search_name.
3015         (symbol_matches_search_name): Declare.
3016         (MSYMBOL_MATCHES_SEARCH_NAME): Delete.
3017         (default_collect_symbol_completion_matches)
3018         (collect_symbol_completion_matches)
3019         (collect_file_symbol_completion_matches): Add name_match_type
3020         parameter.
3021         (iterate_over_symbols): Use lookup_name_info.
3022         (completion_list_add_name): Declare.
3023         * utils.c (enum class strncmp_iw_mode): Moved to utils.h.
3024         (strncmp_iw_with_mode): Now extern.
3025         * utils.h (enum class strncmp_iw_mode): Moved from utils.c.
3026         (strncmp_iw_with_mode): Declare.
3027
3028 2017-11-08  Keith Seitz  <keiths@redhat.com>
3029             Pedro Alves  <palves@redhat.com>
3030
3031         * ada-lang.c (ada_language_defn): Install
3032         default_search_name_hash.
3033         * buildsym.c (struct buildsym_compunit): <language>: New field.
3034         (finish_block_internal): Pass language when creating dictionaries.
3035         (start_buildsym_compunit, start_symtab): New language parameters.
3036         Use them.
3037         (restart_symtab): Pass down compilation unit's language.
3038         * buildsym.h (enum language): Forward declare.
3039         (start_symtab): New 'language' parameter.
3040         * c-lang.c (c_language_defn, cplus_language_defn)
3041         (asm_language_defn, minimal_language_defn): Install
3042         default_search_name_hash.
3043         * coffread.c (coff_start_symtab): Adjust.
3044         * d-lang.c (d_language_defn): Install default_search_name_hash.
3045         * dbxread.c (struct symloc): Add 'pst_language' field.
3046         (PST_LANGUAGE): Define.
3047         (start_psymtab, read_ofile_symtab): Use it.
3048         (process_one_symbol): New 'language' parameter.  Pass it down.
3049         * dictionary.c (struct dictionary) <language>: New field.
3050         (DICT_LANGUAGE): Define.
3051         (dict_create_hashed, dict_create_hashed_expandable)
3052         (dict_create_linear, dict_create_linear_expandable): New parameter
3053         'language'.  Set the dictionary's language.
3054         (iter_match_first_hashed): Adjust to rename.
3055         (insert_symbol_hashed): Assert we don't see mismatching
3056         languages.  Adjust to rename.
3057         (dict_hash): Rename to ...
3058         (default_search_name_hash): ... this and make extern.
3059         * dictionary.h (struct language_defn): Forward declare.
3060         (dict_create_hashed): New parameter 'language'.
3061         * dwarf2read.c (dwarf2_start_symtab): Pass down language.
3062         * f-lang.c (f_language_defn): Install default_search_name_hash.
3063         * go-lang.c (go_language_defn): Install default_search_name_hash.
3064         * jit.c (finalize_symtab): Pass compunit's language to dictionary
3065         creation.
3066         * language.c (unknown_language_defn, auto_language_defn):
3067         * language.h (language_defn::la_search_name_hash): New field.
3068         (default_search_name_hash): Declare.
3069         * m2-lang.c (m2_language_defn): Install default_search_name_hash.
3070         * mdebugread.c (new_block): New parameter 'language'.
3071         * mdebugread.c (parse_symbol): Pass symbol language to block
3072         allocation.
3073         (psymtab_to_symtab_1): Pass down language.
3074         (new_symtab): Pass compunit's language to block allocation.
3075         * objc-lang.c (objc_language_defn): Install
3076         default_search_name_hash.
3077         * opencl-lang.c (opencl_language_defn):
3078         * p-lang.c (pascal_language_defn): Install
3079         default_search_name_hash.
3080         * rust-lang.c (rust_language_defn): Install
3081         default_search_name_hash.
3082         * stabsread.h (enum language): Forward declare.
3083         (process_one_symbol): Add 'language' parameter.
3084         * symtab.c (search_name_hash): New function.
3085         * symtab.h (search_name_hash): Declare.
3086         * xcoffread.c (read_xcoff_symtab): Pass language to start_symtab.
3087
3088 2017-11-08  Pedro Alves  <palves@redhat.com>
3089
3090         * cp-name-parser.y (main): Don't initialize extra_chars.
3091
3092 2017-11-07  Tom Tromey  <tom@tromey.com>
3093
3094         * event-top.h (command_handler): Constify.
3095         * record-full.c (cmd_record_full_start): Update.
3096         * thread.c (thread_apply_all_command): Update.
3097         * printcmd.c (eval_command): Update.
3098         * mi/mi-main.c (mi_execute_cli_command): Update.
3099         (mi_execute_async_cli_command): Update.
3100         * tui/tui-stack.c (tui_update_command): Update.
3101         * cli/cli-interp.c (safe_execute_command): Constify.
3102         * record.c (record_start): Update.
3103         (record_start, record_stop, cmd_record_start): Update.
3104         * record-btrace.c (cmd_record_btrace_bts_start): Update.
3105         (cmd_record_btrace_pt_start): Update.
3106         (cmd_record_btrace_start): Update.
3107         (cmd_record_btrace_start): Update.
3108         * reverse.c (exec_reverse_once): Update.
3109         * python/python.c (execute_gdb_command): Don't copy the command.
3110         * event-top.c (command_line_handler): Update.
3111         (command_handler): Constify.
3112         * defs.h (deprecated_call_command_hook): Constify.
3113         * cli/cli-script.h (execute_user_command): Constify.
3114         * cli/cli-script.c (execute_user_command): Constify.
3115         (execute_cmd_pre_hook, execute_cmd_post_hook): Constify.
3116         (enum command_control_type): Update.
3117         * main.c (catch_command_errors): Remove non-const overload.
3118         (catch_command_errors_ftype): Remove.
3119         * python/py-cmd.c (cmdpy_function): Constify.
3120         * guile/scm-cmd.c (cmdscm_function): Constify.
3121         * cli/cli-dump.c (call_dump_func): Constify.
3122         * cli/cli-decode.c (do_const_cfunc): Constify.
3123         (do_sfunc): Constify.
3124         (cmd_func): Constify.
3125         * gdbcmd.h (execute_command, execute_command_to_string): Constify.
3126         * top.h (execute_command): Constify.
3127         * top.c (execute_command): Constify.
3128         (execute_command_to_string): Constify.
3129         (deprecated_call_command_hook): Constify.
3130         * command.h (cmd_func): Constify.
3131         * cli/cli-decode.h (struct cmd_list_element) <func>: Constify.
3132
3133 2017-11-07  Tom Tromey  <tom@tromey.com>
3134
3135         * ada-lang.c (catch_ada_exception_command): Constify.
3136         (catch_assert_command): Constify.
3137         * break-catch-throw.c (catch_catch_command, catch_throw_command)
3138         (catch_rethrow_command): Constify.
3139         (catch_exception_command_1): Constify.
3140         * breakpoint.h (add_catch_command): Constify.
3141         * break-catch-syscall.c (catch_syscall_command_1): Constify.
3142         (catch_syscall_split_args): Constify.
3143         * break-catch-sig.c (catch_signal_command): Constify.
3144         (catch_signal_split_args): Constify.
3145         * cli/cli-decode.h (struct cmd_list_element) <function>: Use
3146         cmd_const_sfunc_ftype.
3147         * cli/cli-decode.c (add_setshow_cmd_full): Constify.
3148         (add_setshow_enum_cmd, add_setshow_auto_boolean_cmd)
3149         (add_setshow_boolean_cmd, add_setshow_filename_cmd)
3150         (add_setshow_string_cmd, struct cmd_list_element)
3151         (add_setshow_optional_filename_cmd, add_setshow_integer_cmd)
3152         (add_setshow_uinteger_cmd, add_setshow_zinteger_cmd)
3153         (add_setshow_zuinteger_unlimited_cmd, add_setshow_zuinteger_cmd):
3154         Constify.
3155         (set_cmd_sfunc): Constify.
3156         (empty_sfunc): Constify.
3157         * command.h (add_setshow_enum_cmd, add_setshow_auto_boolean_cmd)
3158         (add_setshow_boolean_cmd, add_setshow_filename_cmd)
3159         (add_setshow_string_cmd, add_setshow_string_noescape_cmd)
3160         (add_setshow_optional_filename_cmd, add_setshow_integer_cmd)
3161         (add_setshow_uinteger_cmd, add_setshow_zinteger_cmd)
3162         (add_setshow_zuinteger_cmd, add_setshow_zuinteger_unlimited_cmd):
3163         Constify.
3164         (set_cmd_sfunc): Constify.
3165         (cmd_sfunc_ftype): Remove.
3166         * compile/compile.c (set_compile_args): Constify.
3167         * infrun.c (set_disable_randomization): Constify.
3168         * infcmd.c (set_args_command, set_cwd_command): Constify.
3169         * breakpoint.c (set_condition_evaluation_mode): Constify.
3170         (add_catch_command): Constify.
3171         (catch_fork_command_1, catch_exec_command_1)
3172         (catch_load_command_1, catch_unload_command_1): Constify.
3173         (catch_load_or_unload): Constify.
3174         * guile/scm-param.c (pascm_set_func): Constify.
3175         (add_setshow_generic): Constify.
3176         * python/py-param.c (get_set_value): Constify.
3177         * top.h (set_verbose): Constify.
3178         * tui/tui-win.c (tui_set_var_cmd): Constify.
3179         * mi/mi-main.c (set_mi_async_command): Constify.
3180         * cli/cli-logging.c (set_logging_overwrite)
3181         (set_logging_redirect): Constify.
3182         * value.c (set_max_value_size): Constify.
3183         * valprint.c (set_input_radix, set_output_radix): Constify.
3184         * utils.c (set_width_command, set_height_command): Constify.
3185         * typeprint.c (set_print_type_methods, set_print_type_typedefs): Constify.
3186         * tracepoint.c (set_disconnected_tracing)
3187         (set_circular_trace_buffer, set_trace_buffer_size)
3188         (set_trace_user, set_trace_notes, set_trace_stop_notes): Constify.
3189         * top.c (set_history_size_command, set_verbose, set_editing)
3190         (set_gdb_datadir, set_history_filename): Constify.
3191         * target.c (set_targetdebug, maint_set_target_async_command)
3192         (maint_set_target_non_stop_command, set_target_permissions)
3193         (set_write_memory_permission): Constify.
3194         (open_target): Constify.
3195         * target-descriptions.c (set_tdesc_filename_cmd): Constify.
3196         * target-dcache.c (set_stack_cache, set_code_cache): Constify.
3197         * symtab.c (set_symbol_cache_size_handler): Constify.
3198         * symfile.c (set_ext_lang_command): Constify.
3199         * symfile-debug.c (set_debug_symfile): Constify.
3200         * source.c (set_directories_command): Constify.
3201         * solib.c (reload_shared_libraries, gdb_sysroot_changed): Constify.
3202         * serial.c (set_parity): Constify.
3203         * rs6000-tdep.c (powerpc_set_soft_float, powerpc_set_vector_abi): Constify.
3204         * remote.c (set_remote_exec_file, set_remotebreak)
3205         (set_remote_protocol_Z_packet_cmd, set_range_stepping): Constify.
3206         * record.c (set_record_insn_history_size)
3207         (set_record_call_history_size): Constify.
3208         * record-full.c (set_record_full_insn_max_num): Constify.
3209         * proc-api.c (set_procfs_trace_cmd, set_procfs_file_cmd): Constify.
3210         * osabi.c (set_osabi): Constify.
3211         * mips-tdep.c (set_mips64_transfers_32bit_regs)
3212         (reinit_frame_cache_sfunc, mips_abi_update): Constify.
3213         * maint.c (maintenance_set_profile_cmd): Constify.
3214         * linux-thread-db.c (set_libthread_db_search_path): Constify.
3215         * language.c (set_language_command, set_range_command)
3216         (set_case_command): Constify.
3217         * infrun.c (set_non_stop, set_observer_mode)
3218         (set_stop_on_solib_events, set_schedlock_func)
3219         (set_exec_direction_func): Constify.
3220         * infcmd.c (set_inferior_tty_command): Constify.
3221         * disasm.c (set_disassembler_options_sfunc): Constify.
3222         * demangle.c (set_demangling_command): Constify.
3223         * dcache.c (set_dcache_size, set_dcache_line_size): Constify.
3224         * cris-tdep.c (set_cris_version, set_cris_mode)
3225         (set_cris_dwarf2_cfi): Constify.
3226         * corefile.c (set_gnutarget_command): Constify.
3227         * charset.c (set_host_charset_sfunc, set_target_charset_sfunc)
3228         (set_target_wide_charset_sfunc): Constify.
3229         * breakpoint.c (update_dprintf_commands): Constify.
3230         * auto-load.c (set_auto_load_dir, set_auto_load_safe_path): Constify.
3231         * arm-tdep.c (set_fp_model_sfunc, arm_set_abi)
3232         (set_disassembly_style_sfunc): Constify.
3233         * arch-utils.c (set_endian, set_architecture): Constify.
3234         * alpha-tdep.c (reinit_frame_cache_sfunc): Constify.
3235         * agent.c (set_can_use_agent): Constify.
3236
3237 2017-11-07  Tom Tromey  <tom@tromey.com>
3238
3239         * go32-nat.c (go32_sysinfo, go32_sldt, go32_sgdt, go32_sidt)
3240         (go32_pde, go32_pte, go32_pte_for_address): Constify.
3241         * gnu-nat.c (_parse_bool_arg, show_thread_default_pause_cmd)
3242         (set_thread_default_pause_cmd, set_thread_default_run_cmd)
3243         (show_thread_default_run_cmd, set_thread_default_detach_sc_cmd)
3244         (parse_int_arg, show_thread_default_detach_sc_cmd)
3245         (set_signals_cmd, show_signals_cmd, set_sig_thread_cmd)
3246         (show_sig_thread_cmd, set_stopped_cmd, show_stopped_cmd)
3247         (set_exceptions_cmd, show_exceptions_cmd, set_task_pause_cmd)
3248         (show_task_pause_cmd, set_task_detach_sc_cmd)
3249         (show_task_detach_sc_cmd, set_task_exc_port_cmd)
3250         (set_noninvasive_cmd, set_thread_pause_cmd)
3251         (show_thread_pause_cmd, set_thread_run_cmd, show_thread_run_cmd)
3252         (set_thread_detach_sc_cmd, show_thread_detach_sc_cmd)
3253         (set_thread_exc_port_cmd, thread_takeover_sc_cmd): Constify.
3254         * windows-nat.c (display_selectors): Constify.
3255         * cli/cli-decode.h (struct cmd_list_element) <function>: Remove
3256         non-const "cfunc".
3257         * cli/cli-decode.c (set_cmd_cfunc): Remove non-const overload.
3258         (cmd_cfunc_eq): Likewise.
3259         (struct cmd_list_element): Likewise.
3260         (do_cfunc): Remove.
3261         (cli_user_command_p): Update.
3262         * command.h (add_cmd): Remove non-const overload.
3263         (cmd_cfunc_ftype): Remove typedef.
3264         (cmd_cfunc_eq): Remove non-const overload.
3265         * value.c (show_values): Constify.
3266         * thread.c (thread_apply_all_command): Constify.
3267         * symfile.c (load_command): Constify.
3268         * source.c (directory_command): Constify.
3269         * maint.c (maintenance_internal_error)
3270         (maintenance_demangler_warning, maintenance_space_display)
3271         (maintenance_print_architecture, maintenance_translate_address)
3272         (maintenance_info_selftests, maintenance_internal_warning):
3273         Constify.
3274         * breakpoint.c (disable_trace_command, enable_trace_command):
3275         Constify.
3276         * auto-load.c (info_auto_load_local_gdbinit, add_auto_load_dir):
3277         Constify.
3278         (add_auto_load_safe_path): Constify.
3279         * guile/scm-auto-load.c (info_auto_load_guile_scripts): Constify.
3280         * top.h (show_commands): Constify.
3281         * linux-thread-db.c (info_auto_load_libthread_db): Constify.
3282         * sparc64-tdep.c (adi_examine_command): Constify.
3283         (adi_assign_command): Constify.
3284
3285 2017-11-07  Tom Tromey  <tom@tromey.com>
3286
3287         * frame.h (info_locals_command, info_args_command): Constify.
3288         * auto-load.h (auto_load_info_scripts): Constify.
3289         * inferior.h (registers_info): Constify.
3290         * copying.c: Rebuild.
3291         * copying.awk: Constify generated commands.
3292         * auto-load.c (auto_load_info_scripts)
3293         (info_auto_load_gdb_scripts): Constify.
3294         * cli/cli-decode.c (struct cmd_list_element): Take a
3295         cmd_const_cfunc_ftype.
3296         * command.h (add_info): Take a cmd_const_cfunc_ftype.
3297         * tui/tui-win.c (tui_all_windows_info): Constify.
3298         * python/py-auto-load.c (info_auto_load_python_scripts):
3299         Constify.
3300         * cli/cli-cmds.c (show_command): Remove non-const overload.
3301         * tracepoint.c (info_tvariables_command, info_scope_command):
3302         Constify.
3303         (info_static_tracepoint_markers_command): Constify.
3304         * thread.c (info_threads_command): Constify.
3305         (print_thread_info_1): Constify.
3306         * target.c (info_target_command): Constify.
3307         * symtab.c (info_sources_command, info_functions_command)
3308         (info_types_command): Constify.
3309         (info_variables_command): Remove non-const overload.
3310         * symfile.c (info_ext_lang_command): Constify.
3311         * stack.c (info_frame_command, info_locals_command)
3312         (info_args_command): Constify.
3313         (backtrace_command): Remove non-const overload.
3314         * source.c (info_source_command, info_line_command): Constify.
3315         * solib.c (info_sharedlibrary_command): Constify.
3316         * skip.c (info_skip_command): Constify.
3317         * ser-go32.c (info_serial_command): Constify.
3318         * reverse.c (info_bookmarks_command): Constify.
3319         * printcmd.c (info_symbol_command, info_address_command)
3320         (info_display_command): Constify.
3321         * osdata.c (info_osdata_command): Constify.
3322         * objc-lang.c (info_selectors_command, info_classes_command):
3323         Constify.
3324         * nto-procfs.c (procfs_pidlist, procfs_meminfo): Constify.
3325         * memattr.c (info_mem_command): Constify.
3326         * macrocmd.c (info_macro_command, info_macros_command): Constify.
3327         * linux-fork.c (info_checkpoints_command): Constify.
3328         * infrun.c (info_signals_command): Constify.
3329         * inflow.c (info_terminal_command): Constify.
3330         * inferior.c (info_inferiors_command): Constify.
3331         (print_inferior): Constify.
3332         * infcmd.c (info_program_command, info_all_registers_command)
3333         (info_registers_command, info_vector_command)
3334         (info_float_command): Constify.
3335         (registers_info): Constify.
3336         * gnu-nat.c (info_send_rights_cmd, info_recv_rights_cmd)
3337         (info_port_sets_cmd, info_dead_names_cmd, info_port_rights_cmd):
3338         Constify.
3339         * f-valprint.c (info_common_command): Constify.
3340         * dcache.c (info_dcache_command): Constify.
3341         (dcache_info_1): Constify.
3342         * darwin-nat-info.c (info_mach_tasks_command)
3343         (info_mach_task_command, info_mach_ports_command)
3344         (info_mach_port_command, info_mach_threads_command)
3345         (info_mach_thread_command, info_mach_regions_command)
3346         (info_mach_regions_recurse_command, info_mach_region_command)
3347         (info_mach_exceptions_command): Constify.
3348         (get_task_from_args): Constify.
3349         * cp-support.c (info_vtbl_command): Constify.
3350         * breakpoint.c (info_watchpoints_command)
3351         (info_tracepoints_command): Constify.
3352         (info_breakpoints_command): Remove non-const overload.
3353         * avr-tdep.c (avr_io_reg_read_command): Constify.
3354         * auxv.c (info_auxv_command): Constify.
3355         * ada-tasks.c (info_tasks_command): Constify.
3356         (info_task): Constify.
3357         * ada-lang.c (info_exceptions_command): Constify.
3358
3359 2017-11-07  Tom Tromey  <tom@tromey.com>
3360
3361         * solib.h (no_shared_libraries): Constify.
3362         * frame.h (return_command): Constify.
3363         * cli/cli-cmds.h (quit_command): Constify.
3364         * top.h (quit_command, execute_command): Constify.
3365         * target.h (flash_erase_command): Constify.
3366         * inferior.h (set_inferior_args, attach_command): Constify.
3367         * tracepoint.h (start_tracing, stop_tracing): Constify.
3368         * breakpoint.h (break_command, tbreak_command)
3369         (hbreak_command_wrapper, thbreak_command_wrapper)
3370         (rbreak_command_wrapper, watch_command_wrapper)
3371         (awatch_command_wrapper, rwatch_command_wrapper)
3372         (get_tracepoint_by_number): Constify.
3373         * symtab.c (info_variables_command, rbreak_command)
3374         (symtab_symbol_info): Constify.
3375         (info_variables_command): Add non-const overload.
3376         * top.c (dont_repeat_command): Constify.
3377         * breakpoint.c (ignore_command, commands_command)
3378         (condition_command, tbreak_command, hbreak_command)
3379         (thbreak_command, clear_command, break_command)
3380         (info_breakpoints_command, watch_command, rwatch_command)
3381         (awatch_command, trace_command, ftrace_command, strace_command)
3382         (trace_pass_command, break_range_command, dprintf_command)
3383         (agent_printf_command, get_tracepoint_by_number)
3384         (watch_maybe_just_location, trace_pass_command): Constify.
3385         (info_breakpoints_command): Add non-const overload.
3386         * tracefile.c (tsave_command): Constify.
3387         * infcmd.c (attach_command, disconnect_command, signal_command)
3388         (queue_signal_command, stepi_command, nexti_command)
3389         (finish_command, next_command, step_command, until_command)
3390         (advance_command, jump_command, continue_command, run_command)
3391         (start_command, starti_command, interrupt_command)
3392         (run_command_1, set_inferior_args, step_1): Constify.
3393         * inferior.c (add_inferior_command, remove_inferior_command)
3394         (clone_inferior_command): Constify.
3395         * linux-fork.c (checkpoint_command, restart_command): Constify.
3396         * windows-nat.c (signal_event_command): Constify.
3397         * guile/guile.c (guile_repl_command, guile_command): Constify.
3398         * printcmd.c (x_command, display_command, printf_command)
3399         (output_command, set_command, call_command, print_command)
3400         (eval_command): Constify.
3401         (non_const_set_command): Remove.
3402         (_initialize_printcmd): Update.
3403         * source.c (forward_search_command, reverse_search_command):
3404         Constify.
3405         * jit.c (jit_reader_load_command, jit_reader_unload_command):
3406         Constify.
3407         * infrun.c (handle_command): Constify.
3408         * memattr.c (mem_command): Constify.
3409         * stack.c (return_command, up_command, up_silently_command)
3410         (down_command, down_silently_command, frame_command)
3411         (backtrace_command, func_command, backtrace_command_1): Constify.
3412         (backtrace_command): Add non-const overload.
3413         * remote-sim.c (simulator_command): Constify.
3414         * exec.c (set_section_command): Constify.
3415         * tracepoint.c (tdump_command, trace_variable_command)
3416         (tstatus_command, tstop_command, tstart_command)
3417         (end_actions_pseudocommand, while_stepping_pseudocommand)
3418         (collect_pseudocommand, teval_pseudocommand, actions_command)
3419         (start_tracing, stop_tracing): Constify.
3420         * value.c (init_if_undefined_command): Constify.
3421         * tui/tui-stack.c (tui_update_command): Constify.
3422         * tui/tui-win.c (tui_refresh_all_command)
3423         (tui_set_tab_width_command, tui_set_win_height_command)
3424         (tui_set_focus_command, tui_scroll_forward_command)
3425         (tui_scroll_backward_command, tui_scroll_left_command)
3426         (tui_scroll_right_command, parse_scrolling_args, tui_set_focus)
3427         (tui_set_win_height): Constify.
3428         * tui/tui-layout.c (tui_layout_command): Constify.
3429         * procfs.c (proc_trace_syscalls, proc_trace_sysentry_cmd)
3430         (proc_trace_sysexit_cmd, proc_untrace_sysentry_cmd)
3431         (proc_untrace_sysexit_cmd): Constify.
3432         * remote.c (threadlist_test_cmd, threadinfo_test_cmd)
3433         (threadset_test_cmd, threadlist_update_test_cmd)
3434         (threadalive_test): Constify.
3435         * objc-lang.c (print_object_command): Constify.
3436         * command.h (add_com): Constify.
3437         * cli/cli-dump.c (restore_command): Constify.
3438         * cli/cli-cmds.c (pwd_command, echo_command, quit_command)
3439         (help_command, complete_command, shell_command, edit_command)
3440         (list_command, disassemble_command, make_command)
3441         (apropos_command, alias_command): Constify.
3442         * cli/cli-script.c (document_command, define_command)
3443         (while_command, if_command, validate_comname): Constify.
3444         * cli/cli-decode.c (struct cmd_list_element): Change type of
3445         "fun".
3446         * target.c (do_monitor_command, flash_erase_command): Constify.
3447         * regcache.c (reg_flush_command): Constify.
3448         * reverse.c (reverse_step, reverse_next, reverse_stepi)
3449         (reverse_nexti, reverse_continue, reverse_finish)
3450         (save_bookmark_command, goto_bookmark_command)
3451         (exec_reverse_once): Constify.
3452         * python/python.c (python_interactive_command, python_command):
3453         Constify.
3454         * typeprint.c (ptype_command, whatis_command, whatis_exp):
3455         Constify.
3456         * solib.c (sharedlibrary_command, no_shared_libraries): Constify.
3457         * gcore.c (gcore_command): Constify.
3458
3459 2017-11-07  Tom Tromey  <tom@tromey.com>
3460
3461         * printcmd.c (x_command): Call set_repeat_arguments.
3462         * cli/cli-cmds.c (list_command): Call set_repeat_arguments.
3463         * top.c (repeat_arguments): New global.
3464         (set_repeat_arguments): New function.
3465         (execute_command): Handle repeat_arguments.
3466         (show_commands): Calls set_repeat_arguments.
3467         * command.h (set_repeat_arguments): Declare.
3468
3469 2017-11-07  Tom Tromey  <tom@tromey.com>
3470
3471         * stack.c (backtrace_command): Use std::string.
3472         (backtrace_command_1): Make "count_exp" const.
3473
3474 2017-11-07  Tom Tromey  <tom@tromey.com>
3475
3476         * source.c (directory_switch, mod_path, add_path): Constify.
3477         * defs.h (add_path, mod_path, directory_switch): Constify.
3478         * mi/mi-cmd-env.c (env_mod_path): Constify.
3479
3480 2017-11-07  Tom Tromey  <tom@tromey.com>
3481
3482         * infcmd.c (strip_bg_char): Return gdb::unique_xmalloc_ptr.
3483         (run_command_1, continue_command, step_1, jump_command)
3484         (signal_command, until_command, advance_command, finish_command)
3485         (attach_command): Update.
3486
3487 2017-11-07  Tom Tromey  <tom@tromey.com>
3488
3489         * command.h (set_cmd_cfunc): Don't declare.
3490         * cli/cli-decode.c (set_cmd_cfunc): Now static.
3491
3492 2017-11-07  Tom Tromey  <tom@tromey.com>
3493
3494         * stack.c (select_frame_command): Constify.
3495         * cli/cli-decode.c (add_com_suppress_notification): Constify.
3496         * command.h (add_com_suppress_notification): Constify.
3497
3498 2017-11-07  Tom Tromey  <tom@tromey.com>
3499
3500         * breakpoint.c (stop_command): Constify.
3501         * cli/cli-decode.c (struct cmd_list_element): Constify.
3502         * command.h (add_abbrev_prefix_cmd): Constify.
3503
3504 2017-11-07  Pedro Alves  <palves@redhat.com>
3505
3506         * breakpoint.c (extract_bp_kind): New enum.
3507         (extract_bp_num, extract_bp_or_bp_range): New functions, partially
3508         factored out from ...
3509         (extract_bp_number_and_location): ... here.
3510         * cli/cli-utils.c (get_number_trailer): Handle '-$variable'.
3511
3512 2017-11-07  Pedro Alves  <palves@redhat.com>
3513
3514         * breakpoint.c (extract_bp_number_and_location): Change return
3515         type to void.  Throw error instead of warning.
3516         (enable_disable_command): Adjust.
3517
3518 2017-11-07  Xavier Roirand  <roirand@adacore.com>
3519             Pedro Alves  <palves@redhat.com>
3520
3521         * breakpoint.c (map_breakpoint_number_range): New, factored out
3522         from ...
3523         (map_breakpoint_numbers): ... here.
3524         (find_location_by_number): Change parameters from string to
3525         breakpoint number and location.
3526         (extract_bp_number_and_location): New function.
3527         (enable_disable_bp_num_loc)
3528         (enable_disable_breakpoint_location_range)
3529         (enable_disable_command): New functions, factored out ...
3530         (enable_command, disable_command): ... these functions, and
3531         adjusted to support ranges.
3532         * NEWS: Document enable/disable breakpoint location range feature.
3533
3534 2017-11-06  Luis Machado  <luis.machado@linaro.org>
3535
3536         * MAINTAINERS (Write After Approval): Update my e-mail address.
3537
3538 2017-11-06  Pedro Alves  <palves@redhat.com>
3539
3540         * gnu-nat.c (gnu_terminal_init): Delete.
3541         (gnu_target): Don't install gnu_terminal_init.
3542         * inflow.c (child_terminal_init_with_pgrp): Delete, merged with ...
3543         (child_terminal_init): ... this function.
3544
3545 2017-11-06  Pedro Alves  <palves@redhat.com>
3546
3547         * common/common.m4 (GDB_AC_COMMON): No longer check termio.h nor
3548         sgtty.h.
3549         * config.in, configure: Regenerate.
3550
3551 2017-11-06  Pedro Alves  <palves@redhat.com>
3552
3553         * event-top.c: Check SIGTSTP instead of STOP_SIGNAL thoughout.
3554         (async_init_signals): Adjust.
3555         (handle_stop_sig): Rename to ...
3556         (handle_sigtstp): ... this.
3557         (async_stop_sig): Rename to ...
3558         (async_sigtstp_handler): ... this, and delete STOP_SIGNAL !=
3559         SIGTSTP path.
3560         * event-top.h: Move signal.h include to the top.  Check SIGTSTP
3561         instead of STOP_SIGNAL thoughout.
3562         (handle_stop_sig): Rename to ...
3563         (handle_sigtstp): ... this.
3564         * top.c (command_line_input): Replace STOP_SIGNAL -> SIGTSTP.
3565
3566 2017-11-06  Pedro Alves  <palves@redhat.com>
3567
3568         * inflow.c (child_terminal_inferior, child_terminal_ours_1): No
3569         longer set flags twice in row.
3570
3571 2017-11-06  Pedro Alves  <palves@redhat.com>
3572
3573         * Makefile.in (SER_HARDWIRE): Update comment.
3574         (HFILES_NO_SRCDIR): Remove gdb_termios.h.
3575         * common/gdb_termios.h: Delete file.
3576         * common/job-control.c: Include termios.h and unistd.h instead of
3577         gdb_termios.h.
3578         (gdb_setpgid): Remove HAVE_TERMIOS || TIOCGPGRP preprocessor
3579         check.
3580         (have_job_control): Check HAVE_TERMIOS_H instead of HAVE_TERMIOS.
3581         Remove sgtty code.
3582         * configure.ac: No longer check for termio.h and sgtty.h.
3583         * configure: Regenerate.
3584         * inflow.c: Include termios.h instead of gdb_termios.h.  Replace
3585         PROCESS_GROUP_TYPE checks with HAVE_TERMIOS_H checks throughout.
3586         Replace PROCESS_GROUP_TYPE references with pid_t references
3587         throughout.
3588         (gdb_getpgrp): Delete.
3589         (set_initial_gdb_ttystate): Use tcgetpgrp instead of gdb_getpgrp.
3590         (child_terminal_inferior): Remove comment.  Remove sgtty code.
3591         (child_terminal_ours_1): Use tcgetpgrp directly instead of
3592         gdb_getpgrp.  Use serial_set_tty_state instead aof
3593         serial_noflush_set_tty_state.  Remove sgtty code.
3594         * inflow.h: Include unistd.h instead of gdb_termios.h.  Replace
3595         PROCESS_GROUP_TYPE check with HAVE_TERMIOS_H check.
3596         (inferior_process_group): Now returns pid_t.
3597         * ser-base.c (ser_base_noflush_set_tty_state): Delete.
3598         * ser-base.h (ser_base_noflush_set_tty_state): Delete.
3599         * ser-event.c (serial_event_ops): Update.
3600         * ser-go32.c (dos_noflush_set_tty_state): Delete.
3601         (dos_ops): Update.
3602         * ser-mingw.c (hardwire_ops, tty_ops, pipe_ops, tcp_ops): Update.
3603         * ser-pipe.c (pipe_ops): Update.
3604         * ser-tcp.c (tcp_ops): Update.
3605         * ser-unix.c: Include termios.h instead of gdb_termios.h.  Remove
3606         HAVE_TERMIOS checks.
3607         [HAVE_TERMIO] (struct hardwire_ttystate): Delete.
3608         [HAVE_SGTTY] (struct hardwire_ttystate): Delete.
3609         (get_tty_state, set_tty_state): Drop termio and sgtty code, and
3610         assume termios.
3611         (hardwire_noflush_set_tty_state): Delete.
3612         (hardwire_print_tty_state, hardwire_drain_output)
3613         (hardwire_flush_output, hardwire_flush_input)
3614         (hardwire_send_break, hardwire_raw, hardwire_setbaudrate)
3615         (hardwire_setstopbits, hardwire_setparity): Drop termio and sgtty
3616         code, and assume termios.
3617         (hardwire_ops): Update.
3618         (_initialize_ser_hardwire): Remove HAVE_TERMIOS check.
3619         * serial.c (serial_noflush_set_tty_state): Delete.
3620         * serial.h (serial_noflush_set_tty_state): Delete.
3621         (serial_ops::noflush_set_tty_state): Delete.
3622
3623 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3624
3625         * Makefile.in (SFILES): Remove doublest.c and dfp.c.
3626         (HFILES_NO_SRCDIR): Remove doublest.h and dfp.h.
3627         (COMMON_OBS): Remove doublest.o and dfp.o.
3628         Do not build target-float.c (instead of doublest.c)
3629         with -Wformat-nonliteral.
3630
3631         * doublest.c: Remove file.
3632         * doublest.h: Remove file.
3633         * dfp.c: Remove file.
3634         * dfp.h: Remove file.
3635
3636         * target-float.c: Do not include "doublest.h" and "dfp.h".
3637         (DOUBLEST): Move here from doublest.h.
3638         (enum float_kind): Likewise.
3639         (FLOATFORMAT_CHAR_BIT): Likewise.
3640         (FLOATFORMAT_LARGEST_BYTES): Likewise.
3641         (floatformat_totalsize_bytes): Move here from doublest.c.  Make static.
3642         (floatformat_precision): Likewise.
3643         (floatformat_normalize_byteorder, get_field, put_field): Likewise.
3644         (floatformat_is_negative, floatformat_classify, floatformat_mantissa):
3645         Likewise.
3646         (host_float_format, host_double_format, host_long_double_format):
3647         Likewise.
3648         (floatformat_to_string, floatformat_from_string): Likewise.
3649         (floatformat_to_doublest): Likewise.  Also, inline the original
3650         convert_floatformat_to_doublest.
3651         (floatformat_from_doublest): Likewise.  Also, inline the original
3652         convert_floatformat_from_doublest.
3653
3654         Include "dpd/decimal128.h", "dpd/decimal64.h", and "dpd/decimal32.h".
3655         (MAX_DECIMAL_STRING): Move here from dfp.c.
3656         (match_endianness): Likewise.
3657         (set_decnumber_context, decimal_check_errors): Likewise.
3658         (decimal_from_number, decimal_to_number): Likewise.
3659         (decimal_to_string, decimal_from_string): Likewise.  Make static.
3660         (decimal_from_longest, decimal_from_ulongest): Likewise.
3661         (decimal_to_longest): Likewise.
3662         (decimal_binop, decimal_is_zero, decimal_compare): Likewise.
3663         (decimal_convert): Likewise.
3664
3665 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3666
3667         * doublest.c: Do not include "gdbtypes.h".
3668         (extract_typed_floating): Remove.
3669         (store_typed_floating): Remove.
3670         (convert_typed_floating): Remove.
3671         * doublest.h (struct type): Remove.
3672         (DOUBLEST_PRINT_FORMAT): Remove.
3673         (DOUBLEST_SCAN_FORMAT): Remove.
3674         (extract_typed_floating): Remove.
3675         (store_typed_floating): Remove.
3676         (convert_typed_floating): Remove.
3677
3678         * dfp.c (decimal_from_doublest): Remove.
3679         (decimal_to_doublest): Remove.
3680         * dfp.h: Do not include "doublest.h".
3681         (decimal_from_doublest): Remove.
3682         (decimal_to_doublest): Remove.
3683
3684         * value.c: Do not include "doublest.h" and "dfp.h".
3685         (value_as_double): Remove.
3686         (unpack_double): Remove.
3687         (value_from_double): Remove.
3688         (value_from_decfloat): Remove.
3689         * value.h: Do not include "doublest.h".
3690         (value_as_double): Remove.
3691         (unpack_double): Remove.
3692         (value_from_double): Remove.
3693         (value_from_decfloat): Remove.
3694
3695 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3696
3697         * i386-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3698         (i386_extract_return_value): Use target_float_convert.
3699         (i386_store_return_value): Likewise.
3700         * i387-tdep.c (i387_register_to_value): Use target_float_convert.
3701         (i387_value_to_register): Likewise.
3702         * ia64-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3703         (ia64_register_to_value): Use target_float_convert.
3704         (ia64_value_to_register): Likewise.
3705         (ia64_extract_return_value): Likewise.
3706         (ia64_store_return_value): Likewise.
3707         (ia64_push_dummy_call): Likewise.
3708         * m68k-tdep.c: Include "target-float.h".
3709         (m68k_register_to_value): Use target_float_convert.
3710         (m68k_value_to_register): Likewise.
3711         (m68k_svr4_extract_return_value): Likewise.
3712         (m68k_svr4_store_return_value): Likewise.
3713         * ppc-sysv-tdep.c: Include "target-float.h".
3714         (ppc_sysv_abi_push_dummy_call): Use target_float_convert.
3715         (do_ppc_sysv_return_value): Likewise.
3716         (ppc64_sysv_abi_push_freg): Likewise.
3717         (ppc64_sysv_abi_return_value_base): Likewise.
3718         * rs6000-aix-tdep.c: Include "target-float.h".
3719         (rs6000_push_dummy_call): Use target_float_convert.
3720         (rs6000_return_value): Likewise.
3721         * rs6000-lynx178-tdep.c: Include "target-float.h".
3722         (rs6000_lynx178_push_dummy_call): Use target_float_convert.
3723         (rs6000_lynx178_return_value): Likewise.
3724         * rs6000-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3725         (rs6000_register_to_value): Use target_float_convert.
3726         (rs6000_value_to_register): Likewise.
3727         * arm-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3728         (arm_extract_return_value): Use target_float_convert.
3729         (arm_store_return_value): Likewise.
3730         * sh-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3731         (sh_register_convert_to_virtual): Use target_float_convert.
3732         (sh_register_convert_to_raw): Likewise.
3733         * sh64-tdep.c: Include "target-float.h".
3734         (sh64_extract_return_value): Use target_float_convert.
3735         (sh64_register_convert_to_virtual): Likewise.
3736         (sh64_register_convert_to_raw): Likewise.  Fix argument types.
3737
3738 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3739
3740         * target-float.c (floatformat_to_host_double): New function.
3741         (floatformat_from_host_double): Likewise.
3742         (target_float_to_host_double): Likewise.
3743         (target_float_from_host_double): Likewise.
3744         * target-float.h (target_float_to_host_double): Add prototype.
3745         (target_float_from_host_double): Likewise.
3746
3747         * guile/scm-value.c: Include "target-float.h".
3748         (gdbscm_value_to_real): Use target_float_to_host_double.
3749         Handle integer source values via value_as_long.
3750         * guile/scm-math.c: Include "target-float.h".  Do not include
3751         "doublest.h", "dfp.h", and "expression.h".
3752         (vlscm_convert_typed_number): Use target_float_from_host_double.
3753         (vlscm_convert_number): Likewise.
3754
3755         * python/py-value.c (valpy_float): Use target_float_to_host_double.
3756         (convert_value_from_python): Use target_float_from_host_double.
3757
3758 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3759
3760         * ada-lang.c (cast_to_fixed): Reimplement in target arithmetic.
3761         (cast_from_fixed): Likewise.
3762         (ada_scaling_type): New function.
3763         (ada_delta): Return value instead of DOUBLEST.  Perform target
3764         arithmetic instead of host arithmetic.
3765         (scaling_factor): Rename to ...
3766         (ada_scaling_factor) ... this.  Make non-static.  Return value instead
3767         of DOUBLEST.  Perform target arithmetic instead of host arithmetic.
3768         (ada_fixed_to_float): Remove.
3769         (ada_float_to_fixed): Remove.
3770         * ada-lang.h (ada_fixed_to_float): Remove.
3771         (ada_float_to_fixed): Remove.
3772         (ada_delta): Return value instead of DOUBLEST.
3773         (ada_scaling_factor): Add prototype.
3774
3775         * ada-typeprint.c: Include "target-float.h".
3776         (print_fixed_point_type): Perform target arithmetic instead of
3777         host arithmetic.
3778         * ada-valprint.c: Include "target-float.h".
3779         (ada_val_print_num): Perform target arithmetic instead of
3780         host arithmetic for fixed-point types.
3781
3782 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3783
3784         * target-float.c: Include <math.h>.
3785         (floatformat_binop): New function.
3786         (floatformat_compare): Likewise.
3787         (target_float_binop): Likewise.
3788         (target_float_compare): Likewise.
3789         * target-float.h: Include "expression.h".
3790         (target_float_binop): Add prototype.
3791         (target_float_compare): Likewise.
3792
3793         * valarith.c: Do not include "doublest.h" and "dfp.h".
3794         Include "common/byte-vector.h".
3795         (value_args_as_decimal): Remove, replace by ...
3796         (value_args_as_target_float): ... this function.  Handle both
3797         binary and decimal target floating-point formats.
3798         (scalar_binop): Handle both binary and decimal FP using
3799         value_args_as_target_float and target_float_binop.
3800         (value_equal): Handle both binary and decimal FP using
3801         value_args_as_target_float and target_float_compare.
3802         (value_less): Likewise.
3803         (value_pos): Handle all scalar types as simple copy.
3804         (value_neg): Handle all scalar types via BINOP_SUB from 0.
3805         * dfp.c (decimal_binop): Throw error instead of internal_error
3806         when called with an unsupported operation code.
3807
3808 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3809
3810         * target-float.c (target_float_to_string): New function.
3811         (target_float_from_string): New function.
3812         * target-float.h (target_float_to_string): Add prototype.
3813         (target_float_from_string): Add prototype.
3814
3815         * valprint.c: Include "target-float.h".  Do not include
3816         "doublest.h" and "dfp.h".
3817         (print_floating): Use target_float_to_string.
3818         * printcmd.c: Include "target-float.h".  Do not include "dfp.h".
3819         (printf_floating): Use target_float_to_string.
3820         * i387-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3821         (print_i387_value): Use target_float_to_string.
3822         * mips-tdep.c: Include "target-float.h".
3823         (mips_print_fp_register): Use target_float_to_string.
3824         * sh64-tdep.c: Include "target-float.h".
3825         (sh64_do_fp_register): Use target_float_to_string.
3826
3827         * parse.c: Include "target-float.h".  Do not include
3828         "doublest.h" and "dfp.h".
3829         (parse_float): Use target_float_from_string.
3830         * stabsread.c: Include "target-float.h".  Do not include "doublest.h".
3831         (define_symbol): Use target_float_from_string.
3832         * gdbarch-selftests.c: Include "target-float.h".
3833         (register_to_value_test): Use target_float_from_string.
3834
3835 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3836
3837         * Makefile.c (SFILES): Add target-float.c.
3838         (HFILES_NO_SRCDIR): Add target-float.h.
3839         (COMMON_OBS): Add target-float.o.
3840         * target-float.h: New file.
3841         * target-float.c: New file.
3842
3843         * doublest.c (floatformat_classify): Fix detection of float_zero.
3844
3845         * gdbtypes.c (is_floating_type): New function.
3846         * gdbtypes.h (is_floating_type): Add prototype.
3847
3848         * value.c: Do not include "floatformat.h".
3849         (unpack_double): Use target_float_is_valid.
3850         (is_floating_value): New function.
3851         * value.h (is_floating_value): Add prototype-
3852
3853         * valarith.c: Include "target-float.h".
3854         (value_logical_not): Use target_float_is_zero.
3855
3856         * python/py-value.c: Include "target-float.h".
3857         (valpy_nonzero): Use target_float_is_zero.
3858
3859 2017-11-04  Tom Tromey  <tom@tromey.com>
3860
3861         * h8300-tdep.c (h8300_push_dummy_call): Use std::vector.
3862
3863 2017-11-04  Tom Tromey  <tom@tromey.com>
3864
3865         * breakpoint.c (set_momentary_breakpoint): Return
3866         breakpoint_up.
3867         (until_break_command): Update.
3868         (new_until_break_fsm): Change argument types to
3869         breakpoint_up.
3870         (set_momentary_breakpoint_at_pc): Return breakpoint_up.
3871         (do_delete_breakpoint_cleanup, make_cleanup_delete_breakpoint):
3872         Remove.
3873         * infcmd.c (finish_forward): Update.
3874         * breakpoint.h (set_momentary_breakpoint)
3875         (set_momentary_breakpoint_at_pc): Return breakpoint_up.
3876         (make_cleanup_delete_breakpoint): Remove.
3877         (struct breakpoint_deleter): New.
3878         (breakpoint_up): New typedef.
3879         * infrun.c (insert_step_resume_breakpoint_at_sal_1): Update.
3880         (insert_exception_resume_breakpoint): Update.
3881         (insert_exception_resume_from_probe): Update.
3882         (insert_longjmp_resume_breakpoint): Update.
3883         * arm-linux-tdep.c (arm_linux_copy_svc): Update.
3884         * elfread.c (elf_gnu_ifunc_resolver_stop): Update.
3885         * infcall.c (call_function_by_hand_dummy): Update
3886
3887 2017-11-04  Tom Tromey  <tom@tromey.com>
3888
3889         * c-typeprint.c (c_type_print_base): Use gdb::unique_xmalloc_ptr.
3890
3891 2017-11-04  Tom Tromey  <tom@tromey.com>
3892
3893         * linux-tdep.c (linux_core_info_proc_mappings): Use
3894         gdb::def_vector.
3895         (linux_get_siginfo_data): Return gdb::byte_vector.  Remove
3896         "size" argument.
3897         (linux_corefile_thread): Update.
3898         (linux_make_corefile_notes): Remove unused variable.
3899
3900 2017-11-04  Tom Tromey  <tom@tromey.com>
3901
3902         * ppc-linux-tdep.c (ppc_linux_get_syscall_number): Use
3903         gdb::byte_vector.
3904
3905 2017-11-04  Tom Tromey  <tom@tromey.com>
3906
3907         * objfiles.c (do_free_objfile_cleanup): Remove.
3908         * compile/compile-object-load.c (compile_object_load): Update.
3909         * objfiles.h (make_cleanup_free_objfile): Remove.
3910
3911 2017-11-04  Tom Tromey  <tom@tromey.com>
3912
3913         * sparc64-tdep.c (do_examine): Use gdb::def_vector.
3914         (adi_read_versions): Change "tags" to "gdb_byte *".
3915         (adi_print_versions): Likewise.
3916
3917 2017-11-04  Tom Tromey  <tom@tromey.com>
3918
3919         * breakpoint.c
3920         (scoped_rbreak_breakpoints::scoped_rbreak_breakpoints): Rename
3921         from start_rbreak_breakpoints.
3922         (scoped_rbreak_breakpoints): Rename from end_rbreak_breakpoints.
3923         * breakpoint.h (class scoped_rbreak_breakpoints): New.
3924         (start_rbreak_breakpoints, end_rbreak_breakpoints): Remove.
3925         * symtab.c (do_end_rbreak_breakpoints): Remove.
3926         (rbreak_command): Use scoped_rbreak_breakpoints, std::string.
3927
3928 2017-11-04  Tom Tromey  <tom@tromey.com>
3929
3930         * cp-namespace.c (reset_directive_searched): Remove.
3931         (cp_lookup_symbol_via_imports): Use scoped_restore.
3932         * cp-support.c (reset_directive_searched): Remove.
3933         (make_symbol_overload_list_using): Use scoped_restore.
3934         * d-namespace.c (d_lookup_symbol_imports): Use scoped_restore.
3935         (reset_directive_searched): Remove.
3936
3937 2017-11-04  Tom Tromey  <tom@tromey.com>
3938
3939         * symfile.c (find_separate_debug_file_by_debuglink): Use
3940         unique_xmalloc_ptr.
3941
3942 2017-11-04  Tom Tromey  <tom@tromey.com>
3943
3944         * compile/compile-loc2c.c (compute_stack_depth_worker): Change
3945         type of "info".
3946         (compute_stack_depth): Likewise.
3947         (do_compile_dwarf_expr_to_c): Use std::vector.
3948
3949 2017-11-04  Tom Tromey  <tom@tromey.com>
3950
3951         * compile/compile-object-load.c (link_callbacks_einfo): Use
3952         std::string.
3953
3954 2017-11-04  Tom Tromey  <tom@tromey.com>
3955
3956         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
3957         Use scoped_free_pendings.
3958         * dbxread.c (dbx_symfile_read, dbx_psymtab_to_symtab_1): Use
3959         scoped_free_pendings.
3960         * xcoffread.c (xcoff_psymtab_to_symtab_1): Use scoped_free_pendings.
3961         (xcoff_initial_scan): Likewise.
3962         * buildsym.c (reset_symtab_globals): Update comment.
3963         (scoped_free_pendings): Rename from really_free_pendings.
3964         (prepare_for_building): Update comment.
3965         (buildsym_init): Likewise.
3966         * buildsym.h (class scoped_free_pendings): New class.
3967         (really_free_pendings): Don't declare.
3968
3969 2017-11-03  Ulrich Weigand  <uweigand@de.ibm.com>
3970
3971         * doublest.c (convert_doublest_to_floatformat): Fix uninitialized
3972         output when converting a zero value to a special byteorder format.
3973
3974 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3975
3976         * frame.c (do_frame_register_read): Remove aspace.
3977         * jit.c (jit_frame_sniffer): Likwise.
3978         * ppc-linux-tdep.c (ppu2spu_sniffer): Likewise.
3979         * regcache.c (regcache::regcache): Pass nullptr.
3980         (regcache_print): Caller updated.
3981         * regcache.h (regcache::regcache): Remove one constructor
3982         parameter aspace.
3983
3984 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3985
3986         * regcache.h (regcache) <m_readonly_p>: Change it to const bool.
3987
3988 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3989
3990         * breakpoint.c (insert_single_step_breakpoints): Update.
3991         * frame.c (struct frame_info) <aspace>: Add const.
3992         (frame_save_as_regcache): Add const.
3993         (get_frame_address_space): Return const address_space *.
3994         * frame.h (get_frame_address_space): Update declaration.
3995         * infrun.c (struct step_over_info) <aspace>: Add const.
3996         (set_step_over_info): Make aspace const.
3997         (displaced_step_prepare_throw): Change variable const.
3998         (resume): Likewise.
3999         (proceed): Likewise.
4000         (adjust_pc_after_break): Likewise.
4001         (save_waitstatus): Likewise.
4002         (handle_signal_stop): Likewise.
4003         (keep_going_pass_signal): Likewise.
4004         * jit.c (jit_frame_sniffer): Add const.
4005         * mips-tdep.c (mips_single_step_through_delay): Likewise.
4006         * ppc-linux-tdep.c (ppu2spu_sniffer): Likewise.
4007         * record-full.c (record_full_wait_1): Likewise.
4008         * regcache.c (regcache::regcache): Change parameter to const.
4009         * regcache.h (regcache::regcache): Likewise.
4010         (regcache::aspace): Return const address_space *.
4011         (regcache) <m_aspace>: Add const.
4012
4013 2017-11-02  Yao Qi  <yao.qi@linaro.org>
4014
4015         * darwin-nat.c (cancel_breakpoint): Use regcache->aspace ().
4016         * frame.c (create_sentinel_frame): Likewise.
4017         * infrun.c (displaced_step_prepare_throw): Likewise.
4018         (resume): Likewise.
4019         (thread_still_needs_step_over_bp): Likewise.
4020         (proceed): Likewise.
4021         (do_target_wait): Likewise.
4022         (adjust_pc_after_break): Likewise.
4023         (handle_syscall_event): Likewise.
4024         (save_waitstatus): Likewise.
4025         (handle_inferior_event_1): Likewise.
4026         (handle_signal_stop): Likewise.
4027         (keep_going_pass_signal): Likewise.
4028         * linux-nat.c (status_callback): Likewise.
4029         (save_stop_reason): Likewise.
4030         (resume_stopped_resumed_lwps): Likewise.
4031         * record-full.c (record_full_exec_insn): Likewise.
4032         (record_full_wait_1): Likewise.
4033         * regcache.c (get_regcache_aspace): Remove.
4034         * regcache.h (get_regcache_aspace): Remove.
4035
4036 2017-11-02  Yao Qi  <yao.qi@linaro.org>
4037
4038         * regcache.c (struct regcache_descr) <nr_raw_registers>: Remove.
4039         (init_regcache_descr): Use gdbarch_num_regs.
4040         (regcache::regcache): Likewise.
4041         (regcache::get_register_status): Likewise.
4042         (regcache::assert_raw_regnum): Likewise.
4043         (regcache::cooked_read): Likewise.
4044         (regcache::cooked_read_value): Likewise.
4045         (regcache::cooked_write): Likewise.
4046         (regcache::dump): Likewise.
4047         (regcache::num_raw_registers): New method.
4048         * regcache.h (class regcache) <num_raw_registers>: New.
4049
4050 2017-11-02  Yao Qi  <yao.qi@linaro.org>
4051
4052         * regcache.c (regcache::assert_regnum): New method.
4053         (regcache::invalidate): Call assert_regnum.
4054         (regcache::raw_update): Likewise.
4055         (regcache::raw_write): Likewise.
4056         (regcache::raw_read_part): Likewise.
4057         (regcache::raw_write_part): Likewise.
4058         (regcache::raw_supply): Likewise.
4059         (regcache::raw_supply_integer): Likewise.
4060         (regcache::raw_supply_zeroed): Likewise.
4061         (regcache::raw_collect): Likewise.
4062         (regcache::raw_collect_integer): Likewise.
4063         * regcache.h (regcache::assert_regnum): Declare.
4064
4065 2017-11-02  Yao Qi  <yao.qi@linaro.org>
4066
4067         * regcache.c (regcache::dump): Remove code.
4068
4069 2017-11-02  Yao Qi  <yao.qi@linaro.org>
4070
4071         * regcache.c (struct regcache_descr) <sizeof_raw_register_status>:
4072         Remove.
4073         <sizeof_cooked_register_status>: Remove.
4074         (init_regcache_descr): Update.
4075         (regcache::regcache): Use nr_cooked_registers and nr_raw_registers.
4076         (regcache::save): Likewise.
4077         (regcache::dump): Likewise.
4078
4079 2017-11-01  James Bowman  <james.bowman@ftdichip.com>
4080
4081         * ft32-tdep.c (ft32_fetch_instruction): New function.
4082         (ft32_analyze_prologue): Use ft32_fetch_instruction().
4083
4084 2017-10-31  Simon Marchi  <simon.marchi@polymtl.ca>
4085
4086         * cli/cli-script.c (execute_control_command): Rename to ...
4087         (execute_control_command_1): ... this.
4088         (execute_control_command): New function.
4089
4090 2017-10-31  Simon Marchi  <simon.marchi@ericsson.com>
4091
4092         * tracepoint.c (tfind_command): Remove const_cast.
4093
4094 2017-10-30  Mike Gulick  <mgulick@mathworks.com>
4095
4096         * Makefile.in (HFILES_NO_SRCDIR): Remove reference to gdb.h.
4097
4098 2017-10-30  Simon Marchi  <simon.marchi@ericsson.com>
4099
4100         * common/common-utils.h (in_inclusive_range): New function.
4101         * arm-tdep.c (arm_record_extension_space): Use
4102         in_inclusive_range.
4103         (thumb_record_ld_st_reg_offset): Use in_inclusive_range.
4104         * cris-tdep.c (cris_spec_reg_applicable): Use
4105         in_inclusive_range.
4106
4107 2017-10-30  Pedro Alves  <palves@redhat.com>
4108             Simon Marchi <simon.marchi@ericsson.com>
4109
4110         * remote.c (remote_set_syscall_catchpoint): Build a std::string
4111         instead of a gdb::unique_xmalloc_ptr, using string_appendf.
4112
4113 2017-10-30  Pedro Alves  <palves@redhat.com>
4114
4115         * common/common-utils.c (string_appendf, string_vappendf): New
4116         functions.
4117         * common/common-utils.h (string_appendf, string_vappendf): New
4118         declarations.
4119         * unittests/common-utils-selftests.c (string_appendf_func)
4120         (test_appendf_func, string_vappendf_wrapper, string_appendf_tests)
4121         (string_vappendf_tests): New functions.
4122         (_initialize_common_utils_selftests): Register "string_appendf" and
4123         "string_vappendf tests".
4124
4125 2017-10-30  Pedro Alves  <palves@redhat.com>
4126
4127         * unittests/common-utils-selftests.c (format_func): New typedef.
4128         (string_printf_tests, string_vprintf_tests): Tests factored out
4129         and merged to ...
4130         (test_format_func): ... this new function.
4131         (string_printf_tests, string_vprintf_tests): Reimplement on top of
4132         test_format_func.
4133
4134 2017-10-29  Simon Marchi  <simon.marchi@ericsson.com>
4135
4136         * darwin-nat.c: Remove include of gdb.h.
4137
4138 2017-10-29  Simon Marchi  <simon.marchi@ericsson.com>
4139
4140         * xtensa-xtregs.c: Fix formatting issues.
4141
4142 2017-10-29  Simon Marchi  <simon.marchi@ericsson.com>
4143
4144         * xtensa-xtregs.c (xtensa_regtable_t) <name>: Constify.
4145
4146 2017-10-28  Maksim Dzabraev  <dzabraew@gmail.com>
4147
4148         PR python/21213
4149         * python/py-infthread.c (thpy_get_inferior): Increment reference
4150         of inferior before returning it.
4151
4152 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4153
4154         * unittests/common-utils-selftests.c (format): Add
4155         ATTRIBUTE_PRINTF.
4156
4157 2017-10-27  Simon Marchi  <simon.marchi@polymtl.ca>
4158
4159         * xml-syscall.c (struct syscall_desc): Add constructor.
4160         <name>: Change type to std::string.
4161         (syscall_desc_up): New typedef.
4162         (syscall_desc_p): Remove typeder.
4163         (DEF_VEC_P(syscall_desc_p)): Remove.
4164         (struct syscall_group_desc): Add constructor.
4165         <name>: Change type to std::string.
4166         <syscalls>: Change type to std::vector.
4167         (syscall_group_desc_up): New typedef.
4168         (syscall_group_desc_p): Remove typedef.
4169         (DEF_VEC_P(syscall_group_desc_p)): Remove.
4170         (struct syscalls_info) <syscalls>: Change type to std::vector of
4171         unique_ptr.
4172         <groups>: Likewise.
4173         <my_gdb_datadir>: Change type to std::string.
4174         (syscalls_info_up): New typedef.
4175         (allocate_syscalls_info): Remove.
4176         (syscalls_info_free_syscalls_desc): Remove.
4177         (syscalls_info_free_syscall_group_desc): Remove.
4178         (free_syscalls_info): Remove.
4179         (make_cleanup_free_syscalls_info): Remove.
4180         (syscall_group_create_syscall_group_desc): Adjust.
4181         (syscall_group_add_syscall): Adjust.
4182         (syscall_create_syscall_desc): Adjust.
4183         (syscall_parse_xml): Adjust, use unique_ptr instead of cleanup.
4184         (init_syscalls_info): Adjust.
4185         (syscall_group_get_group_by_name): Adjust.
4186         (xml_get_syscall_number): Adjust.
4187         (xml_get_syscall_name): Adjust.
4188         (xml_list_of_syscalls): Adjust.
4189         (xml_list_syscalls_by_group): Adjust.
4190         (xml_list_of_groups): Adjust.
4191
4192 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4193
4194         * probe.h: Don't include gdb_vecs.h.
4195         (DEF_VEC_P (probe_p)): Remove.
4196         (find_probes_in_objfile): Return an std::vector.
4197         * probe.c (find_probes_in_objfile): Likewise.
4198         * breakpoint.c (breakpoint_objfile_data)
4199         <longjmp_probes>: Change type to std::vector.
4200         <exception_probes>: Likewise.
4201         (free_breakpoint_probes): Don't manually free vectors.
4202         (create_longjmp_master_breakpoint): Adjust.
4203         (create_exception_master_breakpoint): Adjust.
4204         * solib-svr4.c (svr4_create_probe_breakpoints): Change
4205         parameter type, adjust.
4206         (svr4_create_solib_event_breakpoints): Adjust.
4207
4208 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4209
4210         * breakpoint.c (breakpoint_objfile_data): Initialize fields.
4211         (get_breakpoint_objfile_data): Allocate breakpoint_objfile_data
4212         with new.
4213         (free_breakpoint_probes): Rename to ...
4214         (free_breakpoint_objfile_data): ... this, and call delete on
4215         bp_objfile_data..
4216
4217 2017-10-27  Simon Marchi  <simon.marchi@polymtl.ca>
4218
4219         * auto-load.c: Don't include gdb_vecs.h, include algorithm.
4220         (loaded_script_ptr): Remove typedef.
4221         (DEF_VEC_P (loaded_script_ptr)): Remove.
4222         (struct collect_matching_scripts_data): Add constructor.
4223         <scripts_p>: Change type to (pointer to) std::vector.
4224         (collect_matching_scripts_data): Adjust.
4225         (sort_scripts_by_name): Make suitable for std::sort.
4226         (print_scripts): Don't sort vector, adjust to std::vector.
4227         (auto_load_info_scripts): Sort vectors, adjust to std::vector.
4228
4229 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4230
4231         * symfile.c (filename_language): Make struct, not typedef.  Add
4232         constructor.
4233         <ext>: Change type to std::string.
4234         (DEF_VEC_O (filename_language)): Remove.
4235         (filename_language_table): Change type to std::vector.
4236         (add_filename_language): Adjust.
4237         (set_ext_lang_command): Adjust.
4238         (info_ext_lang_command): Adjust.
4239         (deduce_language_from_filename): Adjust.
4240         (class scoped_restore_filename_language_table): Remove.
4241         (test_filename_language): Use scoped_restore.
4242         (test_set_ext_lang_command): Use scoped_restore, adjust to
4243         std::vector change.
4244
4245 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4246
4247         * symfile.c: Include selftest.h.
4248         (class scoped_restore_filename_language_table): New.
4249         (test_filename_language): New test.
4250         (test_set_ext_lang_command): New test.
4251         (_initialize_symfile): Register tests.
4252
4253 2017-10-27  Keith Seitz  <keiths@redhat.com>
4254
4255         * breakpoint.c (print_breakpoint_location): Use the symbol saved
4256         in the bp_location, falling back to find_pc_sect_function when
4257         needed.
4258         (add_location_to_breakpoint): Save sal->symbol.
4259         * breakpoint.h (struct bp_location) <symbol>: New field.
4260         * symtab.c (find_function_start_sal): Save the symbol into the SaL.
4261         * symtab.h (struct symtab_and_line) <symbol>: New field.
4262
4263 2017-10-26  Patrick Frants  <osscontribute@gmail.com>
4264
4265         PR gdb/13669
4266         * cp-valprint.c (cp_print_value_fields): Use obstack_blank_fast
4267         to rewind obstack.
4268
4269 2017-10-26  Pedro Alves  <palves@redhat.com>
4270
4271         * remote.c (remote_async_terminal_ours_p): Delete.
4272         (remote_open_1, remote_terminal_inferior, remote_terminal_ours):
4273         Remove references to 'remote_async_terminal_ours_p'.
4274
4275 2017-10-26  Yao Qi  <yao.qi@linaro.org>
4276
4277         * breakpoint.h (regular_breakpoint_inserted_here_p): Remove.
4278
4279 2017-10-26  Yao Qi  <yao.qi@linaro.org>
4280
4281         * break-catch-sig.c (signal_catchpoint_breakpoint_hit): Make
4282         aspace const.
4283         * break-catch-syscall.c (breakpoint_hit_catch_syscall):
4284         Likewise.
4285         * breakpoint.c (bpstat_check_location): Remove cast.
4286         (breakpoint_hit_catch_fork): Make aspce const.
4287         (breakpoint_hit_catch_solib): Likewise.
4288         (breakpoint_hit_catch_exec): Likewise.
4289         (breakpoint_hit_ranged_breakpoint): Likewise.
4290         (breakpoint_hit_watchpoint): Likewise.
4291         (base_breakpoint_breakpoint_hit): Likewise.
4292         (bkpt_breakpoint_hit): Likewise.
4293         (dprintf_breakpoint_hit): Likewise.
4294         (tracepoint_breakpoint_hit): Likewise.
4295         * breakpoint.h (breakpoint_ops) <breakpoint_hit>: Likewise.
4296
4297 2017-10-26  Yao Qi  <yao.qi@linaro.org>
4298
4299         * breakpoint.c (breakpoint_location_address_match): Change
4300         "struct address_space *" to "const address_space".
4301         (breakpoint_location_address_range_overlap): Likewise.
4302         (breakpoint_here_p): Likewise.
4303         (breakpoint_in_range_p): Likewise.
4304         (moribund_breakpoint_here_p): Likewise.
4305         (bp_location_inserted_here_p): Likewise.
4306         (software_breakpoint_inserted_here_p): Likewise.
4307         (hardware_breakpoint_inserted_here_p): Likewise.
4308         (hardware_watchpoint_inserted_in_range): Likewise.
4309         (bpstat_check_location): Likewise.
4310         (bpstat_stop_status): Likewise.
4311         (breakpoint_address_match): Likewise.
4312         (breakpoint_address_match_range): Likewise.
4313         (breakpoint_location_address_match): Likewise.
4314         (breakpoint_location_address_range_overlap): Likewise.
4315         (insert_single_step_breakpoint): Likewise.
4316         (breakpoint_has_location_inserted_here): Likewise.
4317         (single_step_breakpoint_inserted_here_p): Likewise.
4318         (pc_at_non_inline_function): Likewise.
4319         * breakpoint.h (bpstat_stop_status): Update declaration.
4320         (breakpoint_here_p): Likewise.
4321         (breakpoint_in_range_p): Likewise.
4322         (moribund_breakpoint_here_p): Likewise.
4323         (breakpoint_inserted_here_p): Likewise.
4324         (software_breakpoint_inserted_here_p): Likewise.
4325         (hardware_breakpoint_inserted_here_p): Likewise.
4326         (breakpoint_has_location_inserted_here): Likewise.
4327         (single_step_breakpoint_inserted_here_p): Likewise.
4328         (hardware_watchpoint_inserted_in_range): Likewise.
4329         (breakpoint_address_match): Likewise.
4330         (insert_single_step_breakpoint): Likewise.
4331         (pc_at_non_inline_function): Likewise.
4332         * gdbthread.h (thread_has_single_step_breakpoint_here): Likewise.
4333         * record.c (record_check_stopped_by_breakpoint): Likewise.
4334         * record.h (record_check_stopped_by_breakpoint): Likewise.
4335         * thread.c (thread_has_single_step_breakpoint_here): Likewise.
4336
4337 2017-10-25  Yao Qi  <yao.qi@linaro.org>
4338
4339         * aarch32-linux-nat.c (aarch32_gp_regcache_supply): Use
4340         regcache->arch () instead get_regcache_arch.
4341         * aarch64-fbsd-nat.c (aarch64_fbsd_fetch_inferior_registers):
4342         Likewise.
4343         (aarch64_fbsd_store_inferior_registers): Likewise.
4344         * aarch64-linux-nat.c (fetch_gregs_from_thread): Likewise.
4345         (store_gregs_to_thread): Likewise.
4346         (fetch_fpregs_from_thread): Likewise.
4347         (store_fpregs_to_thread): Likewise.
4348         * aarch64-tdep.c (aarch64_extract_return_value): Likewise.
4349         (aarch64_store_return_value): Likewise.
4350         (aarch64_software_single_step): Likewise.
4351         * aix-thread.c (aix_thread_wait): Likewise.
4352         (supply_reg32): Likewise.
4353         (supply_sprs64): Likewise.
4354         (supply_sprs32): Likewise.
4355         (fill_gprs64): Likewise.
4356         (fill_gprs32): Likewise.
4357         (fill_sprs64): Likewise.
4358         (fill_sprs32): Likewise.
4359         (store_regs_user_thread): Likewise.
4360         (store_regs_kernel_thread): Likewise.
4361         * alpha-bsd-nat.c (alphabsd_fetch_inferior_registers): Likewise.
4362         (alphabsd_store_inferior_registers): Likewise.
4363         * alpha-tdep.c (alpha_extract_return_value): Likewise.
4364         (alpha_store_return_value): Likewise.
4365         (alpha_deal_with_atomic_sequence): Likewise.
4366         (alpha_next_pc): Likewise.
4367         (alpha_software_single_step): Likewise.
4368         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers): Likewise.
4369         (amd64bsd_store_inferior_registers): Likewise.
4370         * amd64-linux-nat.c (amd64_linux_fetch_inferior_registers):
4371         Likewise.
4372         (amd64_linux_store_inferior_registers): Likewise.
4373         * amd64-nat.c (amd64_supply_native_gregset): Likewise.
4374         (amd64_collect_native_gregset): Likewise.
4375         * amd64-obsd-tdep.c (amd64obsd_supply_uthread): Likewise.
4376         (amd64obsd_collect_uthread): Likewise.
4377         * amd64-tdep.c (amd64_supply_fpregset): Likewise.
4378         (amd64_collect_fpregset): Likewise.
4379         (amd64_supply_fxsave): Likewise.
4380         (amd64_supply_xsave): Likewise.
4381         (amd64_collect_fxsave): Likewise.
4382         (amd64_collect_xsave): Likewise.
4383         * arc-tdep.c (arc_write_pc): Likewise.
4384         * arch-utils.c (default_skip_permanent_breakpoint): Likewise.
4385         * arm-fbsd-nat.c (arm_fbsd_fetch_inferior_registers): Likewise.
4386         (arm_fbsd_store_inferior_registers): Likewise.
4387         * arm-linux-nat.c (fetch_vfp_regs): Likewise.
4388         (store_vfp_regs): Likewise.
4389         (arm_linux_fetch_inferior_registers): Likewise.
4390         (arm_linux_store_inferior_registers): Likewise.
4391         * arm-linux-tdep.c (arm_linux_supply_gregset): Likewise.
4392         (arm_linux_sigreturn_next_pc): Likewise.
4393         (arm_linux_get_next_pcs_syscall_next_pc): Likewise.
4394         * arm-nbsd-nat.c (arm_supply_gregset): Likewise.
4395         (fetch_register): Likewise.
4396         (store_register): Likewise.
4397         * arm-tdep.c (arm_is_thumb): Likewise.
4398         (displaced_in_arm_mode): Likewise.
4399         (bx_write_pc): Likewise.
4400         (arm_get_next_pcs_addr_bits_remove): Likewise.
4401         (arm_software_single_step): Likewise.
4402         (arm_extract_return_value): Likewise.
4403         (arm_store_return_value): Likewise.
4404         (arm_write_pc): Likewise.
4405         * bfin-tdep.c (bfin_extract_return_value): Likewise.
4406         * bsd-uthread.c (bsd_uthread_fetch_registers): Likewise.
4407         (bsd_uthread_store_registers): Likewise.
4408         * core-regset.c (fetch_core_registers): Likewise.
4409         * corelow.c (get_core_registers): Likewise.
4410         * cris-tdep.c (cris_store_return_value): Likewise.
4411         (cris_extract_return_value): Likewise.
4412         (find_step_target): Likewise.
4413         (find_step_target): Likewise.
4414         (cris_software_single_step): Likewise.
4415         * ctf.c (ctf_fetch_registers): Likewise.
4416         * darwin-nat.c (cancel_breakpoint): Likewise.
4417         * fbsd-tdep.c (fbsd_collect_thread_registers): Likewise.
4418         * frv-tdep.c (frv_extract_return_value): Likewise.
4419         * ft32-tdep.c (ft32_store_return_value): Likewise.
4420         (ft32_extract_return_value): Likewise.
4421         * go32-nat.c (fetch_register): Likewise.
4422         (go32_fetch_registers): Likewise.
4423         (go32_store_registers): Likewise.
4424         (store_register): Likewise.
4425         * h8300-tdep.c (h8300_extract_return_value): Likewise.
4426         (h8300_store_return_value): Likewise.
4427         * hppa-linux-nat.c (fetch_register): Likewise.
4428         (store_register): Likewise.
4429         (hppa_linux_fetch_inferior_registers): Likewise.
4430         (hppa_linux_store_inferior_registers): Likewise.
4431         * i386-darwin-nat.c (i386_darwin_fetch_inferior_registers): Likewise.
4432         (i386_darwin_store_inferior_registers): Likewise.
4433         * i386-gnu-nat.c (gnu_fetch_registers): Likewise.
4434         (gnu_store_registers): Likewise.
4435         * i386-linux-nat.c (fetch_register): Likewise.
4436         (store_register): Likewise.
4437         (supply_gregset): Likewise.
4438         (fill_gregset): Likewise.
4439         (i386_linux_fetch_inferior_registers): Likewise.
4440         (i386_linux_store_inferior_registers): Likewise.
4441         (i386_linux_resume): Likewise.
4442         * i386-linux-tdep.c (i386_linux_get_syscall_number_from_regcache):
4443         Likewise.
4444         * i386-nto-tdep.c (i386nto_supply_gregset): Likewise.
4445         * i386-obsd-nat.c (i386obsd_supply_pcb): Likewise.
4446         * i386-obsd-tdep.c (i386obsd_supply_uthread): Likewise.
4447         (i386obsd_collect_uthread): Likewise.
4448         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
4449         (i386_supply_gregset): Likewise.
4450         (i386_collect_gregset): Likewise.
4451         (i386_supply_fpregset): Likewise.
4452         (i386_collect_fpregset): Likewise.
4453         (i386_mpx_bd_base): Likewise.
4454         * i386-v4-nat.c (supply_fpregset): Likewise.
4455         (fill_fpregset): Likewise.
4456         * i387-tdep.c (i387_supply_fsave): Likewise.
4457         (i387_collect_fsave): Likewise.
4458         (i387_supply_fxsave): Likewise.
4459         (i387_collect_fxsave): Likewise.
4460         (i387_supply_xsave): Likewise.
4461         (i387_collect_xsave): Likewise.
4462         * ia64-linux-nat.c (ia64_linux_fetch_registers): Likewise.
4463         (ia64_linux_store_registers): Likewise.
4464         * ia64-tdep.c (ia64_access_rse_reg): Likewise.
4465         (ia64_extract_return_value): Likewise.
4466         (ia64_store_return_value): Likewise.
4467         (find_func_descr): Likewise.
4468         * inf-child.c (inf_child_fetch_inferior_registers): Likewise.
4469         * inf-ptrace.c (inf_ptrace_fetch_registers): Likewise.
4470         (inf_ptrace_store_registers): Likewise.
4471         * infrun.c (use_displaced_stepping): Likewise.
4472         (displaced_step_prepare_throw): Likewise.
4473         (resume): Likewise.
4474         (proceed): Likewise.
4475         (do_target_wait): Likewise.
4476         (adjust_pc_after_break): Likewise.
4477         (handle_inferior_event_1): Likewise.
4478         (handle_signal_stop): Likewise.
4479         (save_infcall_suspend_state): Likewise.
4480         (restore_infcall_suspend_state): Likewise.
4481         * iq2000-tdep.c (iq2000_extract_return_value): Likewise.
4482         * jit.c (jit_frame_prev_register): Likewise.
4483         * linux-nat.c (save_stop_reason): Likewise.
4484         (linux_nat_wait_1): Likewise.
4485         (resume_stopped_resumed_lwps): Likewise.
4486         * linux-record.c (record_linux_sockaddr): Likewise.
4487         (record_linux_msghdr): Likewise.
4488         (record_linux_system_call): Likewise.
4489         * linux-tdep.c (linux_collect_thread_registers): Likewise.
4490         * lm32-tdep.c (lm32_extract_return_value): Likewise.
4491         (lm32_store_return_value): Likewise.
4492         * m32c-tdep.c (m32c_read_flg): Likewise.
4493         (m32c_pseudo_register_read): Likewise.
4494         (m32c_pseudo_register_write): Likewise.
4495         * m32r-linux-tdep.c (m32r_linux_supply_gregset): Likewise.
4496         (m32r_linux_collect_gregset): Likewise.
4497         * m32r-tdep.c (m32r_store_return_value): Likewise.
4498         (m32r_extract_return_value): Likewise.
4499         * m68k-bsd-nat.c (m68kbsd_supply_fpregset): Likewise.
4500         (m68kbsd_collect_fpregset): Likewise.
4501         * m68k-bsd-tdep.c (m68kbsd_supply_fpregset): Likewise.
4502         * m68k-linux-nat.c (fetch_register): Likewise.
4503         (old_fetch_inferior_registers): Likewise.
4504         (old_store_inferior_registers): Likewise.
4505         (store_regs): Likewise.
4506         * m68k-tdep.c (m68k_svr4_extract_return_value): Likewise.
4507         (m68k_svr4_store_return_value): Likewise.
4508         * m88k-tdep.c (m88k_store_arguments): Likewise.
4509         * mi/mi-main.c (mi_cmd_data_list_changed_registers): Likewise.
4510         (mi_cmd_data_write_register_values): Likewise.
4511         * mips-fbsd-nat.c (mips_fbsd_fetch_inferior_registers): Likewise.
4512         (mips_fbsd_store_inferior_registers): Likewise.
4513         * mips-fbsd-tdep.c (mips_fbsd_supply_fpregs): Likewise.
4514         (mips_fbsd_supply_gregs): Likewise.
4515         (mips_fbsd_collect_fpregs): Likewise.
4516         (mips_fbsd_collect_gregs): Likewise.
4517         (mips_fbsd_supply_fpregset): Likewise.
4518         (mips_fbsd_collect_fpregset): Likewise.
4519         (mips_fbsd_supply_gregset): Likewise.
4520         (mips_fbsd_collect_gregset): Likewise.
4521         * mips-linux-nat.c (supply_gregset): Likewise.
4522         (fill_gregset): Likewise.
4523         (supply_fpregset): Likewise.
4524         (fill_fpregset): Likewise.
4525         * mips-linux-tdep.c (mips_supply_gregset): Likewise.
4526         (mips_fill_gregset): Likewise.
4527         (mips_supply_fpregset): Likewise.
4528         (mips_fill_fpregset): Likewise.
4529         (mips64_supply_gregset): Likewise.
4530         (micromips_linux_sigframe_validate): Likewise.
4531         * mips-nbsd-nat.c (mipsnbsd_fetch_inferior_registers): Likewise.
4532         (mipsnbsd_fetch_inferior_registers): Likewise.
4533         (mipsnbsd_store_inferior_registers): Likewise.
4534         * mips-nbsd-tdep.c (mipsnbsd_supply_fpregset): Likewise.
4535         (mipsnbsd_supply_gregset): Likewise.
4536         (mipsnbsd_iterate_over_regset_sections): Likewise.
4537         (mipsnbsd_supply_reg): Likewise.
4538         (mipsnbsd_supply_fpreg): Likewise.
4539         * mips-tdep.c (mips_in_frame_stub): Likewise.
4540         (mips_dummy_id): Likewise.
4541         (is_octeon_bbit_op): Likewise.
4542         (micromips_bc1_pc): Likewise.
4543         (extended_mips16_next_pc): Likewise.
4544         (mips16_next_pc): Likewise.
4545         (deal_with_atomic_sequence): Likewise.
4546         * moxie-tdep.c (moxie_process_readu): Likewise.
4547         * nios2-tdep.c (nios2_get_next_pc): Likewise.
4548         * nto-procfs.c (procfs_store_registers): Likewise.
4549         * ppc-fbsd-nat.c (ppcfbsd_fetch_inferior_registers): Likewise.
4550         (ppcfbsd_store_inferior_registers): Likewise.
4551         * ppc-linux-nat.c (fetch_vsx_register): Likewise.
4552         (fetch_altivec_register): Likewise.
4553         (get_spe_registers): Likewise.
4554         (fetch_spe_register): Likewise.
4555         (fetch_altivec_registers): Likewise.
4556         (fetch_all_gp_regs): Likewise.
4557         (fetch_all_fp_regs): Likewise.
4558         (store_vsx_register): Likewise.
4559         (store_altivec_register): Likewise.
4560         (set_spe_registers): Likewise.
4561         (store_spe_register): Likewise.
4562         (store_altivec_registers): Likewise.
4563         (store_all_gp_regs): Likewise.
4564         (store_all_fp_regs): Likewise.
4565         * ppc-linux-tdep.c (ppc_linux_supply_gregset): Likewise.
4566         (ppc_linux_collect_gregset): Likewise.
4567         (ppc_canonicalize_syscall): Likewise.
4568         (ppc_linux_record_signal): Likewise.
4569         (ppu2spu_prev_register): Likewise.
4570         * ppc-nbsd-nat.c (ppcnbsd_supply_pcb): Likewise.
4571         * ppc-obsd-nat.c (ppcobsd_fetch_registers): Likewise.
4572         (ppcobsd_store_registers): Likewise.
4573         * ppc-ravenscar-thread.c (ppc_ravenscar_generic_fetch_registers):
4574         Likewise.
4575         (ppc_ravenscar_generic_store_registers): Likewise.
4576         * procfs.c (procfs_fetch_registers): Likewise.
4577         (procfs_store_registers): Likewise.
4578         * ravenscar-thread.c (ravenscar_fetch_registers): Likewise.
4579         (ravenscar_store_registers): Likewise.
4580         (ravenscar_prepare_to_store): Likewise.
4581         * record-btrace.c (record_btrace_fetch_registers): Likewise.
4582         * record-full.c (record_full_wait_1): Likewise.
4583         (record_full_registers_change): Likewise.
4584         (record_full_store_registers): Likewise.
4585         (record_full_core_fetch_registers): Likewise.
4586         (record_full_save): Likewise.
4587         (record_full_goto_insn): Likewise.
4588         * regcache.c (regcache_register_size): Likewise.
4589         (get_regcache_arch): Remove.
4590         (regcache_read_pc): Likewise.
4591         * regcache.h (get_regcache_arch): Remove.
4592         * remote-sim.c (gdbsim_fetch_register): Likewise.
4593         (gdbsim_store_register): Likewise.
4594         * remote.c (fetch_register_using_p): Likewise.
4595         (send_g_packet): Likewise.
4596         (remote_prepare_to_store): Likewise.
4597         (store_registers_using_G): Likewise.
4598         * reverse.c (save_bookmark_command): Likewise.
4599         (goto_bookmark_command): Likewise.
4600         * rs6000-aix-tdep.c (branch_dest): Likewise.
4601         * rs6000-nat.c (rs6000_ptrace64): Likewise.
4602         (fetch_register): Likewise.
4603         * rs6000-tdep.c (ppc_supply_reg): Likewise.
4604         (ppc_collect_reg): Likewise.
4605         (ppc_collect_gregset): Likewise.
4606         (ppc_collect_fpregset): Likewise.
4607         (ppc_collect_vsxregset): Likewise.
4608         (ppc_collect_vrregset): Likewise.
4609         (ppc_displaced_step_hw_singlestep): Likewise.
4610         (rs6000_pseudo_register_read): Likewise.
4611         (rs6000_pseudo_register_write): Likewise.
4612         * s390-linux-nat.c (supply_gregset): Likewise.
4613         (fill_gregset): Likewise.
4614         (s390_linux_fetch_inferior_registers): Likewise.
4615         * s390-linux-tdep.c (s390_write_pc): Likewise.
4616         (s390_software_single_step): Likewise.
4617         (s390_all_but_pc_registers_record): Likewise.
4618         (s390_linux_syscall_record): Likewise.
4619         * sentinel-frame.c (sentinel_frame_prev_arch): Likewise.
4620         * sh-nbsd-nat.c (shnbsd_fetch_inferior_registers): Likewise.
4621         (shnbsd_store_inferior_registers): Likewise.
4622         * sh-tdep.c (sh_extract_return_value_nofpu): Likewise.
4623         (sh_extract_return_value_fpu): Likewise.
4624         (sh_store_return_value_nofpu): Likewise.
4625         (sh_corefile_supply_regset): Likewise.
4626         (sh_corefile_collect_regset): Likewise.
4627         * sh64-tdep.c (sh64_extract_return_value): Likewise.
4628         (sh64_store_return_value): Likewise.
4629         * sparc-linux-tdep.c (sparc32_linux_collect_core_fpregset): Likewise.
4630         * sparc-nat.c (sparc_fetch_inferior_registers): Likewise.
4631         (sparc_store_inferior_registers): Likewise.
4632         * sparc-ravenscar-thread.c (register_in_thread_descriptor_p): Likewise.
4633         (sparc_ravenscar_prepare_to_store): Likewise.
4634         * sparc-tdep.c (sparc32_store_arguments): Likewise.
4635         (sparc_analyze_control_transfer): Likewise.
4636         (sparc_step_trap): Likewise.
4637         (sparc_software_single_step): Likewise.
4638         (sparc32_gdbarch_init): Likewise.
4639         (sparc_supply_rwindow): Likewise.
4640         (sparc_collect_rwindow): Likewise.
4641         * sparc64-linux-tdep.c (sparc64_linux_collect_core_fpregset): Likewise.
4642         * sparc64-nbsd-nat.c (sparc64nbsd_supply_gregset): Likewise.
4643         (sparc64nbsd_collect_gregset): Likewise.
4644         (sparc64nbsd_supply_fpregset): Likewise.
4645         (sparc64nbsd_collect_fpregset): Likewise.
4646         * sparc64-tdep.c (sparc64_store_arguments): Likewise.
4647         (sparc64_supply_gregset): Likewise.
4648         (sparc64_collect_gregset): Likewise.
4649         (sparc64_supply_fpregset): Likewise.
4650         (sparc64_collect_fpregset): Likewise.
4651         * spu-linux-nat.c (spu_fetch_inferior_registers): Likewise.
4652         * spu-tdep.c (spu_unwind_sp): Likewise.
4653         (spu2ppu_prev_register): Likewise.
4654         (spu_memory_remove_breakpoint): Likewise.
4655         * stack.c (return_command): Likewise.
4656         * tic6x-tdep.c (tic6x_extract_signed_field): Likewise.
4657         * tracefile-tfile.c (tfile_fetch_registers): Likewise.
4658         * tracefile.c (trace_save_ctf): Likewise.
4659         * windows-nat.c (do_windows_fetch_inferior_registers): Likewise.
4660         (do_windows_store_inferior_registers): Likewise.
4661         (windows_resume): Likewise.
4662         * xtensa-linux-nat.c (fill_gregset): Likewise.
4663         (supply_gregset_reg): Likewise.
4664         * xtensa-tdep.c (xtensa_register_write_masked): Likewise.
4665         (xtensa_register_read_masked): Likewise.
4666         (xtensa_supply_gregset): Likewise.
4667         (xtensa_extract_return_value): Likewise.
4668         (xtensa_store_return_value): Likewise.
4669
4670 2017-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
4671
4672         * doublest.c (floatformat_from_string): New function.
4673         * doublest.h (floatformat_from_string): Add prototype.
4674
4675         * std-operator.def (OP_DOUBLE, OP_DECFLOAT): Remove, replace by ...
4676         (OP_FLOAT): ... this.
4677         * expression.h: Do not include "doublest.h".
4678         (union exp_element): Replace doubleconst and decfloatconst by
4679         new element floatconst.
4680         * ada-lang.c (resolve_subexp): Handle OP_FLOAT instead of OP_DOUBLE.
4681         (ada_evaluate_subexp): Likewise.
4682         * eval.c (evaluate_subexp_standard): Handle OP_FLOAT instead of
4683         OP_DOUBLE and OP_DECFLOAT.
4684         * expprint.c (print_subexp_standard): Likewise.
4685         (dump_subexp_body_standard): Likewise.
4686         * breakpoint.c (watchpoint_exp_is_const): Likewise.
4687
4688         * parse.c: Include "dfp.h".
4689         (write_exp_elt_dblcst, write_exp_elt_decfloatcst): Remove.
4690         (write_exp_elt_floatcst): New function.
4691         (operator_length_standard): Handle OP_FLOAT instead of OP_DOUBLE
4692         and OP_DECFLOAT.
4693         (operator_check_standard): Likewise.
4694         (parse_float): Do not accept suffix.  Take type as input.  Return bool.
4695         Return target format buffer instead of host DOUBLEST.
4696         Use floatformat_from_string and decimal_from_string to parse
4697         either binary or decimal floating-point types.
4698         (parse_c_float): Remove.
4699         * parser-defs.h: Do not include "doublest.h".
4700         (write_exp_elt_dblcst, write_exp_elt_decfloatcst): Remove.
4701         (write_exp_elt_floatcst): Add prototype.
4702         (parse_float): Update prototype.
4703         (parse_c_float): Remove.
4704
4705         * c-exp.y: Do not include "dfp.h".
4706         (typed_val_float): Use byte buffer instead of DOUBLEST.
4707         (typed_val_decfloat): Remove.
4708         (DECFLOAT): Remove.
4709         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4710         (parse_number): Update to new parse_float interface.
4711         Parse suffixes and determine type before calling parse_float.
4712         Handle decimal and binary FP types the same way.
4713
4714         * d-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4715         (FLOAT_LITERAL): Use OP_FLOAT and write_exp_elt_floatcst.
4716         (parse_number): Update to new parse_float interface.
4717         Parse suffixes and determine type before calling parse_float.
4718
4719         * f-exp.y: Replace dval by typed_val_float.
4720         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4721         (parse_number): Use parse_float instead of atof.
4722
4723         * go-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4724         (parse_go_float): Remove.
4725         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4726         (parse_number): Call parse_float instead of parse_go_float.
4727         Parse suffixes and determine type before calling parse_float.
4728
4729         * p-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4730         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4731         (parse_number): Update to new parse_float interface.
4732         Parse suffixes and determine type before calling parse_float.
4733
4734         * m2-exp.y: Replace dval by byte buffer val.
4735         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4736         (parse_number): Call parse_float instead of atof.
4737
4738         * rust-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4739         (lex_number): Call parse_float instead of strtod.
4740         (ast_dliteral): Use OP_FLOAT instead of OP_DOUBLE.
4741         (convert_ast_to_expression): Handle OP_FLOAT instead of OP_DOUBLE.
4742         Use write_exp_elt_floatcst.
4743         (unit_testing): Remove static variable.
4744         (rust_type): Do not check unit_testing.
4745         (rust_lex_tests): Do not set uint_testing.  Set up dummy rust_parser.
4746
4747         * ada-exp.y (type_float, type_double): Remove.
4748         (typed_val_float): Use byte buffer instead of DOUBLEST.
4749         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4750         * ada-lex.l (processReal): Use parse_float instead of sscanf.
4751
4752 2017-10-25  Alan Hayward  <alan.hayward@arm.com>
4753
4754         * aarch64-tdep.h (enum aarch64_regnum): Remove.
4755         * arch/aarch64.h: New file.
4756
4757 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4758
4759         * dfp.h (decimal_from_string): Use const reference for argument.
4760         * dfp.c (decimal_from_string): Likewise.
4761
4762 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4763
4764         * i387-tdep.c (print_i387_value): Use floatformat_to_string.
4765         * sh64-tdep.c (sh64_do_fp_register): Likewise.
4766         * mips-tdep.c (mips_print_fp_register): Likewise.
4767
4768 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4769
4770         * common/format.h (enum argclass): Replace decfloat_arg by
4771         dec32float_arg, dec64float_arg, and dec128float_arg.
4772         * common/format.c (parse_format_string): Update to return
4773         new decimal float argument classes.
4774
4775         * printcmd.c (printf_decfloat): Rename to ...
4776         (printf_floating): ... this.  Add argclass argument, and use it
4777         instead of parsing the format string again.  Add support for
4778         binary floating-point values, using floatformat_to_string.
4779         Convert value to the target format if it doesn't already match.
4780         (ui_printf): Call printf_floating instead of printf_decfloat,
4781         also for double_arg / long_double_arg.  Pass argclass.
4782
4783         * dfp.c (decimal_to_string): Add format string argument.
4784         * dfp.h (decimal_to_string): Likewise.
4785
4786         * doublest.c (floatformat_to_string): Add format string argument.
4787         * doublest.h (floatformat_to_string): Likewise.
4788
4789 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4790
4791         * doublest.c (floatformat_precision): New routine.
4792         (floatformat_to_string): Likewise.
4793         * doublest.c (floatformat_to_string): Add prototype.
4794
4795         * printcmd.c (print_scalar_formatted): Only call print_floating
4796         on floating-point types.
4797         * valprint.c: Do not include "floatformat.h".
4798         (generic_val_print_decfloat): Remove.
4799         (generic_val_print): Call generic_val_print_float for both
4800         TYPE_CODE_FLT and TYPE_CODE_DECFLOAT.
4801         (print_floating): Use floatformat_to_string.  Handle decimal float.
4802         (print_decimal_floating): Remove, merge into floatformat_to_string.
4803         * value.h (print_decimal_floating): Remove.
4804
4805         * Makefile.in: Do not build doublest.c with -Wformat-nonliteral.
4806
4807 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4808
4809         * buildsym.c (end_symtab_get_static_block): Use std::stable_sort.
4810
4811 2017-10-21  Simon Marchi  <simon.marchi@ericsson.com>
4812
4813         * memattr.h: Don't include vec.h.
4814         (struct mem_attrib): Initialize fields.
4815         <unknown>: New static method.
4816         (struct mem_region): Add constructors, operator<, initialize
4817         fields.
4818         * memattr.c: Include algorithm.
4819         (default_mem_attrib, unknown_mem_attrib): Remove.
4820         (user_mem_region_list): New global.
4821         (target_mem_region_list, mem_region_list): Change type to
4822         std::vector<mem_region>.
4823         (mem_use_target): Now a function.
4824         (target_mem_regions_valid): Change type to bool.
4825         (mem_region_lessthan, mem_region_cmp, mem_region_init): Remove.
4826         (require_user_regions): Adjust.
4827         (require_target_regions): Adjust.
4828         (create_mem_region): Adjust.
4829         (lookup_mem_region): Adjust.
4830         (invalidate_target_mem_regions): Adjust.
4831         (mem_clear): Rename to...
4832         (user_mem_clear): ... this, and adjust.
4833         (mem_command): Adjust.
4834         (info_mem_command): Adjust.
4835         (mem_enable, enable_mem_command, mem_disable,
4836         disable_mem_command): Adjust.
4837         (mem_delete): Adjust.
4838         (delete_mem_command): Adjust.
4839         * memory-map.h (parse_memory_map): Return an std::vector.
4840         * memory-map.c (parse_memory_map): Likewise.
4841         (struct memory_map_parsing_data): Add constructor.
4842         <memory_map>: Point to std::vector.
4843         (memory_map_start_memory): Adjust.
4844         (memory_map_end_memory): Adjust.
4845         (memory_map_end_property): Adjust.
4846         (clear_result): Remove.
4847         * remote.c (remote_memory_map): Return an std::vector.
4848         * target-debug.h (target_debug_print_VEC_mem_region_s__p):
4849         Remove.
4850         (target_debug_print_mem_region_vector): New.
4851         * target-delegates.c: Regenerate.
4852         * target.h (mem_region_vector): New typedef.
4853         (to_memory_map): Return mem_region_vector.
4854         (target_memory_map): Return an std::vector.
4855         * target.c (target_memory_map): Return an std::vector.
4856         (flash_erase_command): Adjust.
4857
4858 2017-10-21  Simon Marchi  <simon.marchi@ericsson.com>
4859
4860         * memory-map.c (struct memory_map_parsing_data) <property_name>:
4861         Change type to std::string.
4862         (memory_map_start_property): Adjust.
4863         (memory_map_end_property): Adjust.
4864
4865 2017-10-21  Simon Marchi  <simon.marchi@polymtl.ca>
4866
4867         * infrun.h: Include common/byte-vector.h.
4868         (struct displaced_step_closure): New struct.
4869         (struct buf_displaced_step_closure): New struct.
4870         * infrun.c (displaced_step_closure::~displaced_step_closure):
4871         Provide default implementation.
4872         (displaced_step_clear): Deallocate step closure with delete.
4873         * aarch64-tdep.c (displaced_step_closure): Rename to ...
4874         (aarch64_displaced_step_closure): ... this, extend
4875         displaced_step_closure.
4876         (aarch64_displaced_step_data) <dsc>: Change type to
4877         aarch64_displaced_step_closure.
4878         (aarch64_displaced_step_copy_insn): Adjust to type change, use
4879         unique_ptr.
4880         (aarch64_displaced_step_fixup): Add cast for displaced step
4881         closure.
4882         * amd64-tdep.c (displaced_step_closure): Rename to ...
4883         (amd64_displaced_step_closure): ... this, extend
4884         displaced_step_closure.
4885         <insn_buf>: Change type to std::vector<gdb_byte>.
4886         <max_len>: Remove.
4887         (fixup_riprel): Change type of DSC parameter, adjust to type
4888         change of insn_buf.
4889         (fixup_displaced_copy): Change type of DSC parameter.
4890         (amd64_displaced_step_copy_insn): Instantiate
4891         amd64_displaced_step_closure.
4892         (amd64_displaced_step_fixup): Add cast for closure type, adjust
4893         to type change of insn_buf.
4894         * arm-linux-tdep.c (arm_linux_cleanup_svc): Change type of
4895         parameter DSC.
4896         (arm_linux_copy_svc): Likewise.
4897         (cleanup_kernel_helper_return): Likewise.
4898         (arm_catch_kernel_helper_return): Likewise.
4899         (arm_linux_displaced_step_copy_insn): Instantiate
4900         arm_displaced_step_closure.
4901         * arm-tdep.c (arm_pc_is_thumb): Add cast for closure.
4902         (displaced_read_reg): Change type of parameter DSC.
4903         (branch_write_pc): Likewise.
4904         (load_write_pc): Likewise.
4905         (alu_write_pc): Likewise.
4906         (displaced_write_reg): Likewise.
4907         (arm_copy_unmodified): Likewise.
4908         (thumb_copy_unmodified_32bit): Likewise.
4909         (thumb_copy_unmodified_16bit): Likewise.
4910         (cleanup_preload): Likewise.
4911         (install_preload): Likewise.
4912         (arm_copy_preload): Likewise.
4913         (thumb2_copy_preload): Likewise.
4914         (install_preload_reg): Likewise.
4915         (arm_copy_preload_reg): Likewise.
4916         (cleanup_copro_load_store): Likewise.
4917         (install_copro_load_store): Likewise.
4918         (arm_copy_copro_load_store) Likewise.
4919         (thumb2_copy_copro_load_store): Likewise.
4920         (cleanup_branch): Likewise.
4921         (install_b_bl_blx): Likewise.
4922         (arm_copy_b_bl_blx): Likewise.
4923         (thumb2_copy_b_bl_blx): Likewise.
4924         (thumb_copy_b): Likewise.
4925         (install_bx_blx_reg): Likewise.
4926         (arm_copy_bx_blx_reg): Likewise.
4927         (thumb_copy_bx_blx_reg): Likewise.
4928         (cleanup_alu_imm): Likewise.
4929         (arm_copy_alu_imm): Likewise.
4930         (thumb2_copy_alu_imm): Likewise.
4931         (cleanup_alu_reg): Likewise.
4932         (install_alu_reg): Likewise.
4933         (arm_copy_alu_reg): Likewise.
4934         (thumb_copy_alu_reg): Likewise.
4935         (cleanup_alu_shifted_reg): Likewise.
4936         (install_alu_shifted_reg): Likewise.
4937         (arm_copy_alu_shifted_reg): Likewise.
4938         (cleanup_load): Likewise.
4939         (cleanup_store): Likewise.
4940         (arm_copy_extra_ld_st): Likewise.
4941         (install_load_store): Likewise.
4942         (thumb2_copy_load_literal): Likewise.
4943         (thumb2_copy_load_reg_imm): Likewise.
4944         (arm_copy_ldr_str_ldrb_strb): Likewise.
4945         (cleanup_block_load_all): Likewise.
4946         (cleanup_block_store_pc): Likewise.
4947         (cleanup_block_load_pc): Likewise.
4948         (arm_copy_block_xfer): Likewise.
4949         (thumb2_copy_block_xfer): Likewise.
4950         (cleanup_svc): Likewise.
4951         (install_svc): Likewise.
4952         (arm_copy_svc): Likewise.
4953         (thumb_copy_svc): Likewise.
4954         (arm_copy_undef): Likewise.
4955         (thumb_32bit_copy_undef): Likewise.
4956         (arm_copy_unpred): Likewise.
4957         (arm_decode_misc_memhint_neon): Likewise.
4958         (arm_decode_unconditional): Likewise.
4959         (arm_decode_miscellaneous): Likewise.
4960         (arm_decode_dp_misc): Likewise.
4961         (arm_decode_ld_st_word_ubyte): Likewise.
4962         (arm_decode_media): Likewise.
4963         (arm_decode_b_bl_ldmstm): Likewise.
4964         (arm_decode_ext_reg_ld_st): Likewise.
4965         (thumb2_decode_dp_shift_reg): Likewise.
4966         (thumb2_decode_ext_reg_ld_st): Likewise.
4967         (arm_decode_svc_copro): Likewise.
4968         (thumb2_decode_svc_copro): Likewise.
4969         (install_pc_relative): Likewise.
4970         (thumb_copy_pc_relative_16bit): Likewise.
4971         (thumb_decode_pc_relative_16bit): Likewise.
4972         (thumb_copy_pc_relative_32bit): Likewise.
4973         (thumb_copy_16bit_ldr_literal): Likewise.
4974         (thumb_copy_cbnz_cbz): Likewise.
4975         (thumb2_copy_table_branch): Likewise.
4976         (cleanup_pop_pc_16bit_all): Likewise.
4977         (thumb_copy_pop_pc_16bit): Likewise.
4978         (thumb_process_displaced_16bit_insn): Likewise.
4979         (decode_thumb_32bit_ld_mem_hints): Likewise.
4980         (thumb_process_displaced_32bit_insn): Likewise.
4981         (thumb_process_displaced_insn): Likewise.
4982         (arm_process_displaced_insn): Likewise.
4983         (arm_displaced_init_closure): Likewise.
4984         (arm_displaced_step_fixup): Add cast for closure.
4985         * arm-tdep.h: Include infrun.h.
4986         (displaced_step_closure): Rename to ...
4987         (arm_displaced_step_closure): ... this, extend
4988         displaced_step_closure.
4989         <u::svc::copy_svc_os>: Change type of parameter DSC.
4990         <cleanup>: Likewise.
4991         (arm_process_displaced_insn): Likewise.
4992         (arm_displaced_init_closure): Likewise.
4993         (displaced_read_reg): Likewise.
4994         (displaced_write_reg): Likewise.
4995         * i386-linux-tdep.c (i386_linux_displaced_step_copy_insn):
4996         Adjust.
4997         * i386-tdep.h: Include infrun.h.
4998         (i386_displaced_step_closure): New typedef.
4999         * i386-tdep.c (i386_displaced_step_copy_insn): Use
5000         i386_displaced_step_closure.
5001         (i386_displaced_step_fixup): Adjust.
5002         * rs6000-tdep.c (ppc_displaced_step_closure): New typedef.
5003         (ppc_displaced_step_copy_insn): Use ppc_displaced_step_closure
5004         and unique_ptr.
5005         (ppc_displaced_step_fixup): Adjust.
5006         * s390-linux-tdep.c (s390_displaced_step_closure): New typedef.
5007         (s390_displaced_step_copy_insn): Use s390_displaced_step_closure
5008         and unique_ptr.
5009         (s390_displaced_step_fixup): Adjust.
5010
5011 2017-10-21  Simon Marchi  <simon.marchi@polymtl.ca>
5012
5013         * interps.h (interp_resume, interp_suspend, interp_set_temp):
5014         Remove declarations.
5015
5016 2017-10-20  Tom Tromey  <tom@tromey.com>
5017
5018         * gdb_bfd.c (struct gdb_bfd_data) <included_bfds>: Now a
5019         std::vector.
5020         (gdb_bfd_record_inclusion): Update.
5021         (bfdp): Remove typedef.
5022
5023 2017-10-20  Tom Tromey  <tom@tromey.com>
5024
5025         * gdb_bfd.c (gdb_bfd_ref): Use new.
5026         (struct gdb_bfd_data): Add constructor, destructor, and member
5027         initializers.
5028         (gdb_bfd_unref): Use delete.
5029
5030 2017-10-20  Tom Tromey  <tom@tromey.com>
5031
5032         * exec.c (exec_file_attach): Use new_bfd_ref.
5033         * symfile-mem.c (symbol_file_add_from_memory): Use new_bfd_ref.
5034         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
5035         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_fdopenr): Use
5036         new_bfd_ref.
5037         * gdb_bfd.h (new_bfd_ref): New function.
5038
5039 2017-10-20  Pedro Alves  <palves@redhat.com>
5040
5041         * main.c (captured_command_loop): Add attribute noinline.
5042
5043 2017-10-19  Simon Marchi  <simon.marchi@ericsson.com>
5044
5045         * interps.c (struct interp_factory): Add constructor.
5046         (interp_factory_p): Remove typedef.
5047         (DEF_VEC_P(interp_factory_p)): Remove.
5048         (interpreter_factories): Change type to std::vector.
5049         (interp_factory_register): Adjust.
5050         (interp_lookup): Adjust.
5051         (interpreter_completer): Adjust.
5052
5053 2017-10-19  Tom Tromey  <tom@tromey.com>
5054
5055         * break-catch-syscall.c (catch_syscall_completer): Use
5056         std::string, gdb::unique_xmalloc_ptr.
5057
5058 2017-10-19  Tom Tromey  <tom@tromey.com>
5059
5060         * infcall.c (call_function_by_hand_dummy): Use std::string.
5061
5062 2017-10-19  Tom Tromey  <tom@tromey.com>
5063
5064         * mi/mi-main.c (mi_cmd_execute): Update.
5065         * top.h (prepare_execute_command): Return scoped_value_mark.
5066         * value.h (class scoped_value_mark): Use DISABLE_COPY_AND_ASSIGN.
5067         Add move constructor.
5068         * top.c (prepare_execute_command): Return scoped_value_mark.
5069         (execute_command): Update.
5070
5071 2017-10-19  Pedro Alves  <palves@redhat.com>
5072
5073         * xml-support.c (xml_fetch_content_from_file): Check fread's
5074         return.
5075
5076 2017-10-19  Pedro Alves  <palves@redhat.com>
5077
5078         * ser-base.c (ser_base_read_error_fd): Delete the file handler if
5079         async.
5080         (handle_error_fd): New function.
5081         (ser_base_async): Add/delete an event loop file handler for
5082         error_fd.
5083
5084 2017-10-19  Pedro Alves  <palves@redhat.com>
5085
5086         * xml-support.c (xml_fetch_content_from_file): Don't read in
5087         chunks.  Instead use fseek to determine the file's size, and read
5088         it in one go.
5089
5090 2017-11-18  Keith Seitz  <keiths@redhat.com>
5091
5092         * c-exp.y (oper): Canonicalize conversion operators of user-defined
5093         types.
5094         Add whitespace to front of type name.
5095
5096 2017-10-18  Keith Seitz  <keiths@redhat.com>
5097
5098         * dwarf2read.c (dwarf2_add_typedef): Issue a complaint on unhandled
5099         DW_AT_accessibility.
5100
5101 2017-10-18  Yao Qi  <yao.qi@linaro.org>
5102
5103         * features/tic6x-c62x-linux.c: Remove.
5104
5105 2017-10-17  Tom Tromey  <tom@tromey.com>
5106
5107         * disasm.c (do_mixed_source_and_assembly_deprecated): Use
5108         gdb::optional, ui_out_emit_list, ui_out_emit_tuple.
5109         (do_mixed_source_and_assembly): Likewise.
5110
5111 2017-10-17  Tom Tromey  <tom@tromey.com>
5112
5113         * regcache.c (regcache::xfer_part): Remove assertion.
5114
5115 2017-10-17  Pedro Alves  <palves@redhat.com>
5116
5117         * xml-support.c (xml_fetch_content_from_file): Call
5118         unique_ptr::release() instead unique_ptr::get() when passing
5119         through xrealloc.
5120
5121 2017-10-17  Yao Qi  <yao.qi@linaro.org>
5122
5123         * regcache.c (regcache::xfer_part): Remove parameters read and
5124         write, add parameter is_raw.  All callers are updated.
5125
5126 2017-10-16  Keith Seitz  <keiths@redhat.com>
5127
5128         * c-typeprint.c (enum access_specifier): Moved here from
5129         c_type_print_base.
5130         (output_access_specifier): New function.
5131         (c_type_print_base): Consider typedefs when assessing
5132         whether access labels are needed.
5133         Use output_access_specifier as needed.
5134         Output access specifier for typedefs, if needed.
5135         * dwarf2read.c (dwarf2_add_typedef): Record DW_AT_accessibility.
5136         * gdbtypes.h (struct typedef_field) <is_protected, is_private>: New
5137         fields.
5138         (TYPE_TYPEDEF_FIELD_PROTECTED, TYPE_TYPEDEF_FIELD_PRIVATE): New
5139         accessor macros.
5140
5141 2017-10-16  Tom Tromey  <tom@tromey.com>
5142
5143         * linux-tdep.c (linux_info_proc, linux_find_memory_regions_full)
5144         (linux_fill_prpsinfo, linux_vsyscall_range_raw): Update.
5145         * target.c (target_fileio_read_stralloc): Update.
5146         * sparc64-tdep.c (adi_is_addr_mapped): Update.
5147         * target.h (target_fileio_read_stralloc): Return
5148         unique_xmalloc_ptr.
5149
5150 2017-10-16  Tom Tromey  <tom@tromey.com>
5151
5152         * xml-syscall.c (xml_init_syscalls_info): Update.
5153         * xml-support.c (xinclude_start_include): Update.
5154         (xml_fetch_content_from_file): Return unique_xmalloc_ptr.
5155         * xml-support.h (xml_fetch_another): Return unique_xmalloc_ptr.
5156         (xml_fetch_content_from_file): Likewise.
5157         * osdata.c (get_osdata): Update.
5158         * target.h (target_read_stralloc, target_get_osdata): Return
5159         unique_xmalloc_ptr.
5160         * solib-aix.c (solib_aix_get_library_list): Update.
5161         * solib-target.c (solib_target_current_sos): Update.
5162         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Update.
5163         * xml-tdesc.c (fetch_available_features_from_target): Update.
5164         (target_fetch_description_xml): Update.
5165         (file_read_description_xml): Update.
5166         * remote.c (remote_get_threads_with_qxfer, remote_memory_map)
5167         (remote_traceframe_info, btrace_read_config, remote_read_btrace)
5168         (remote_pid_to_exec_file): Update.
5169         * target.c (target_read_stralloc): Return unique_xmalloc_ptr.
5170         (target_get_osdata): Likewise.
5171
5172 2017-10-16  Tom Tromey  <tom@tromey.com>
5173
5174         * remote.c (remote_register_number_and_offset): Use std::vector.
5175         (remote_set_syscall_catchpoint): Use gdb::unique_xmalloc_ptr.
5176         (putpkt_binary): Use gdb::def_vector.
5177         (compare_sections_command): Use gdb::byte_vector.
5178
5179 2017-10-16  Tom Tromey  <tom@tromey.com>
5180
5181         * ppc-linux-nat.c (hwdebug_insert_point): Use
5182         gdb::unique_xmalloc_ptr, XDUP.
5183
5184 2017-10-16  Tom Tromey  <tom@tromey.com>
5185
5186         * probe.c (parse_probes): Use std::string.
5187         (info_probes_for_ops, enable_probes_command)
5188         (disable_probes_command): Remove cleanups.
5189
5190 2017-10-16  Tom Tromey  <tom@tromey.com>
5191
5192         * buildsym.c (block_compar): Remove.
5193         (end_symtab_get_static_block): Use std::vector.
5194
5195 2017-10-16  Simon Marchi  <simon.marchi@ericsson.com>
5196
5197         * memrange.h (struct mem_range): Define operator< and operator==.
5198         (mem_range_s): Remove.
5199         (DEF_VEC_O (mem_range_s)): Remove.
5200         (normalize_mem_ranges): Change parameter type to std::vector.
5201         * memrange.c (compare_mem_ranges): Remove.
5202         (normalize_mem_ranges): Change parameter type to std::vector,
5203         adjust to vector change.
5204         * exec.c (section_table_available_memory): Return vector, remove
5205         parameter.
5206         (section_table_read_available_memory): Adjust to std::vector
5207         change.
5208         * remote.c (remote_read_bytes): Adjust to std::vector
5209         change.
5210         * tracepoint.h (traceframe_available_memory): Change parameter
5211         type to std::vector.
5212         * tracepoint.c (traceframe_available_memory): Change parameter
5213         type to std::vector, adjust.
5214         * gdb/mi/mi-main.c (mi_cmd_trace_frame_collected): Adjust to
5215         std::vector change.
5216         * gdb/Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
5217         unittests/memrange-selftests.c.
5218         (SUBDIR_UNITTESTS_OBS): Add memrange-selftests.o.
5219         * gdb/unittests/memrange-selftests.c: New file.
5220
5221 2017-10-16  Pedro Alves  <palves@redhat.com>
5222
5223         * elfread.c (probe_key_free): Rename range-for variable.
5224         * probe.c (parse_probes_in_pspace, find_probes_in_objfile)
5225         (find_probe_by_pc, collect_probes): Rename range-for variable.
5226
5227 2017-10-16  Yao Qi  <yao.qi@linaro.org>
5228
5229         * features/Makefile (XMLTOC): Remove tic6x-*.xml.
5230         * features/tic6x-c62x.c: Remove.
5231         * features/tic6x-c64x-linux.c: Remove.
5232         * features/tic6x-c64x.c: Remove.
5233         * features/tic6x-c64xp-linux.c: Remove.
5234         * features/tic6x-c64xp.c: Remove.
5235         * tic6x-linux-tdep.c (_initialize_tic6x_linux_tdep): Don't call
5236         initialize_tdesc_tic6x_*_linux functions.
5237         * tic6x-tdep.c (_initialize_tic6x_tdep): Don't call
5238         initialize_tdesc_tic6x_* functions.
5239
5240 2017-10-16  Yao Qi  <yao.qi@linaro.org>
5241
5242         * features/Makefile (WHICH): Remove tic6x-c64xp, tic6x-c64x
5243         tic6x-c62x.
5244         * regformats/tic6x-c62x.dat: Remove.
5245         * regformats/tic6x-c64x.dat: Remove.
5246         * regformats/tic6x-c64xp.dat: Remove.
5247
5248 2017-10-15  Simon Marchi  <simon.marchi@ericsson.com>
5249
5250         * tracepoint.c (parse_traceframe_info): Return a unique_ptr
5251         (the !HAVE_LIBEXPAT version).
5252
5253 2017-10-14  Simon Marchi  <simon.marchi@ericsson.com>
5254
5255         * nat/linux-osdata.c (struct pid_pgid_entry) <operator<>: Make
5256         const.
5257
5258 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5259
5260         * target.h: Include tracepoint.h.
5261         (enum trace_find_type): Move to tracepoint.h.
5262         (struct target_ops) <to_traceframe_info>: Return a unique ptr.
5263         * tracepoint.h: Don't include target.h
5264         (enum trace_find_type): Move from target.h.
5265         (parse_traceframe_info): Return a unique ptr.
5266         * tracepoint.c (current_traceframe_info): Change type to unique
5267         ptr.
5268         (free_traceframe_info): Remove.
5269         (clear_traceframe_info): Don't manually free
5270         current_traceframe_info.
5271         (free_result): Remove.
5272         (parse_traceframe_info): Return a unique ptr.
5273         (get_traceframe_info): Adjust to unique ptr.
5274         * ctf.c (ctf_traceframe_info): Return a unique ptr.
5275         * remote.c (remote_traceframe_info): Return a unique ptr.
5276         * tracefile-tfile.c (tfile_traceframe_info): Return a unique
5277         ptr.
5278         * target-debug.h (target_debug_print_traceframe_info_up): New
5279         macro.
5280         * target-delegates.c: Regenerate.
5281
5282 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5283
5284         * memrange.h (struct mem_range): Add constructors.
5285         * tracepoint.h (struct traceframe_info) <memory>: Change type to
5286         std::vector<mem_range>.
5287         * tracepoint.c (free_traceframe_info): Don't manually free
5288         vector.
5289         (traceframe_info_start_memory): Adjust to vector change.
5290         (traceframe_available_memory): Likewise.
5291         * tracefile-tfile.c (build_traceframe_info): Likewise.
5292         * ctf.c (ctf_traceframe_info): Likewise.
5293
5294 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5295
5296         * tracepoint.h (struct traceframe_info) <tvars>: Change type to
5297         std::vector<int>.
5298         * tracepoint.c (free_traceframe_info): Deallocate with delete.
5299         (traceframe_info_start_tvar): Adjust to vector change.
5300         (parse_traceframe_info): Allocate with new.
5301         * ctf.c (ctf_traceframe_info): Allocate with new, adjust to
5302         vector change.
5303         * tracefile-tfile.c (build_traceframe_info): Adjust to vector
5304         change.
5305         tfile_traceframe_info): Allocate with new.
5306         * mi/mi-main.c (mi_cmd_trace_frame_collected): Adjust to vector
5307         change.
5308
5309 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5310
5311         * tracepoint.c (traceframe_info): Rename to...
5312         (current_traceframe_info): ...this.
5313         (clear_traceframe_info): Adjust.
5314         (get_traceframe_info): Adjust.
5315
5316 2017-10-14  Simon Marchi  <simon.marchi@ericsson.com>
5317
5318         * nat/linux-osdata.c: Include algorithm.
5319         (compare_processes): Remove.
5320         (struct pid_pgid_entry): New struct.
5321         (linux_xfer_osdata_processgroups): Use std::vector instead of
5322         XNEWVEC.
5323
5324 2017-10-14  Simon Marchi  <simon.marchi@ericsson.com>
5325
5326         * objfiles.h: Don't include symfile.h.
5327         (struct partial_symbol): Remove forward-declaration.
5328         (struct objfile) <global_psymbols, static_psymbols>: Change type
5329         to std::vector<partial_symbol *>.
5330         * objfiles.c (objfile::objfile): Don't memset those fields.
5331         (objfile::~objfile): Don't free those fields.
5332         * psympriv.h (struct psymbol_allocation_list): Remove
5333         forward-declaration.
5334         (add_psymbol_to_list): Change psymbol_allocation_list parameter
5335         to std::vector.
5336         (start_psymtab_common): Change parameters to std::vector.
5337         * psymtab.c: Include algorithm.
5338         (require_partial_symbols): Call shrink_to_fit.
5339         (find_pc_sect_psymbol): Adjust to vector change.
5340         (match_partial_symbol): Likewise.
5341         (lookup_partial_symbol): Likewise.
5342         (psym_relocate): Likewise.
5343         (dump_psymtab): Likewise.
5344         (recursively_search_psymtabs): Likewise.
5345         (compare_psymbols): Remove.
5346         (sort_pst_symbols): Adjust to vector change.
5347         (start_psymtab_common): Likewise.
5348         (end_psymtab_common): Likewise.
5349         (psymbol_bcache_full): De-constify return value.
5350         (add_psymbol_to_bcache): Likewise.
5351         (extend_psymbol_list): Remove.
5352         (append_psymbol_to_list): Adjust to vector change.
5353         (add_psymbol_to_list): Likewise.
5354         (init_psymbol_list): Likewise.
5355         (maintenance_info_psymtabs): Likewise.
5356         (maintenance_check_psymtabs): Likewise.
5357         * symfile.h (struct psymbol_allocation_list): Remove.
5358         * symfile.c (reread_symbols): Adjust to vector change.
5359         * dbxread.c (start_psymtab): Change type of parameters.
5360         (dbx_symfile_read): Adjust to vector change.
5361         (read_dbx_symtab): Likewise.
5362         (start_psymtab): Change type of parameters.
5363         * dwarf2read.c (dwarf2_build_psymtabs): Adjust to vector change.
5364         (create_partial_symtab): Likewise.
5365         (add_partial_symbol): Likewise.
5366         (write_one_signatured_type): Likewise.
5367         (recursively_write_psymbols): Likewise.
5368         * mdebugread.c (parse_partial_symbols): Likewise.
5369         * xcoffread.c (xcoff_start_psymtab): Change type of parameters.
5370         (scan_xcoff_symtab): Adjust to vector change.
5371         (xcoff_initial_scan): Likewise.
5372
5373 2017-10-13  Simon Marchi  <simon.marchi@ericsson.com>
5374
5375         * ada-typeprint.c (print_dynamic_range_bound): Use std::string.
5376
5377 2017-10-13  Yao Qi  <yao.qi@linaro.org>
5378
5379         * features/Makefile: Remove tic6x-*-expedite, add tic6x-expedite.
5380         Remove s390x-*-expedite, add s390x-expedite.
5381
5382 2017-10-13  Yao Qi  <yao.qi@linaro.org>
5383
5384         * features/s390-gs-linux64.c: Regenerated.
5385         * features/s390x-gs-linux64.c: Regenerated.
5386
5387 2017-10-13  Tom Tromey  <tom@tromey.com>
5388
5389         * compile/compile-object-run.c (do_module_cleanup): Use delete.
5390         * solib.c (update_solib_list, reload_shared_libraries_1): Use
5391         delete.
5392         * symfile.c (symbol_file_add_with_addrs): Use new.
5393         (symbol_file_add_separate): Update comment.
5394         (syms_from_objfile_1, remove_symbol_file_command): Use delete.
5395         * jit.c (jit_object_close_impl): Use new.
5396         (jit_unregister_code): Use delete.
5397         * objfiles.c (objfile::objfile): Rename from allocate_objfile.
5398         (~objfile): Rename from free_objfile.
5399         (free_objfile_separate_debug, do_free_objfile_cleanup)
5400         (free_all_objfiles, objfile_purge_solibs): Use delete.
5401         * objfiles.h (struct objfile): Add constructor and destructor.
5402         Use DISABLE_COPY_AND_ASSIGN.  Add initializers to data members.
5403         (allocate_objfile, free_objfile): Don't declare.
5404         (struct objstats): Add initializers.
5405
5406 2017-10-12  Simon Marchi  <simon.marchi@ericsson.com>
5407
5408         * arch-utils.h (simple_displaced_step_copy_insn): Remove.
5409         * arch-utils.c (simple_displaced_step_copy_insn): Remove.
5410         * gdbarch.sh (displaced_step_copy_insn): Adjust comment.
5411         * gdbarch.h: Regenerate.
5412         * i386-linux-tdep.c (i386_linux_displaced_step_copy_insn):
5413         Adjust comment.
5414         * i386-tdep.c (i386_displaced_step_copy_insn): Adjust comment.
5415         (i386_displaced_step_fixup): Adjust comment.
5416         * rs6000-tdep.c (ppc_displaced_step_copy_insn): Adjust comment.
5417
5418 2017-10-12  Tom Tromey  <tom@tromey.com>
5419
5420         * prologue-value.h (pv_area::store_would_trash): Return bool.
5421         (pv_area::find_reg): Likewise.
5422         * prologue-value.c (pv_area::store_would_trash): Return bool.
5423         (pv_area::find_reg): Likewise.
5424
5425 2017-10-12  Tom Tromey  <tom@tromey.com>
5426
5427         * s390-linux-tdep.c (s390_store, s390_load)
5428         (s390_check_for_saved, s390_analyze_prologue): Update.
5429         * rx-tdep.c (check_for_saved, rx_analyze_prologue): Update.
5430         * rl78-tdep.c (rl78_analyze_prologue, check_for_saved): Update.
5431         * prologue-value.h (class pv_area): Move from prologue-value.c.
5432         Change names of members.  Add constructor, destructor, member
5433         functions.
5434         (make_pv_area, free_pv_area, make_cleanup_free_pv_area)
5435         (pv_area_store, pv_area_fetch, pv_area_store_would_trash)
5436         (pv_area_fetch, pv_area_scan): Don't declare.
5437         * prologue-value.c (struct pv_area::area_entry): Now member of
5438         pv_area.
5439         (struct pv_area): Move to prologue-value.h.
5440         (pv_area::pv_area): Rename from make_pv_area.
5441         (pv_area::~pv_area): Rename from free_pv_area.
5442         (do_free_pv_area_cleanup, make_cleanup_free_pv_area): Remove.
5443         (clear_entries, find_entry, overlaps, store_would_trash, store)
5444         (fetch, find_reg, scan): Now member of pv_area.
5445         Remove "area" argument.  Update.
5446         * msp430-tdep.c (check_for_saved, msp430_analyze_prologue):
5447         Update.
5448         * mn10300-tdep.c (push_reg, check_for_saved)
5449         (mn10300_analyze_prologue): Update.
5450         * mep-tdep.c (is_arg_spill, check_for_saved)
5451         (mep_analyze_prologue): Update.
5452         * m32c-tdep.c (m32c_pv_push, m32c_srcdest_fetch)
5453         (m32c_srcdest_store, m32c_pv_enter, m32c_is_arg_spill)
5454         (m32c_is_struct_return, m32c_analyze_prologue): Update.
5455         * arm-tdep.c (thumb_analyze_prologue, arm_analyze_prologue):
5456         Update.
5457         * arc-tdep.c (arc_is_in_prologue, arc_analyze_prologue): Update.
5458         * aarch64-tdep.c (aarch64_analyze_prologue): Update.
5459
5460 2017-10-12  Simon Marchi  <simon.marchi@ericsson.com>
5461
5462         * linux-nat.h (linux_nat_set_delete_thread): New declaration.
5463         * linux-nat.c (linux_nat_delete_thread): New variable.
5464         (lwp_free): Invoke linux_nat_delete_thread if set.
5465         (linux_nat_set_delete_thread): New function.
5466         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Assign
5467         thread delete callback.
5468         * arm-linux-nat.c (arm_linux_delete_thread): New function.
5469         (_initialize_arm_linux_nat): Assign thread delete callback.
5470         * s390-linux-nat.c (s390_delete_thread): New function.
5471         (_initialize_s390_nat): Assign thread delete callback.
5472         * x86-linux-nat.c (x86_linux_add_target): Likewise.
5473         * nat/aarch64-linux.c (aarch64_linux_delete_thread): New
5474         function.
5475         * nat/aarch64-linux.h (aarch64_linux_delete_thread): New
5476         declaration.
5477         * nat/x86-linux.c (x86_linux_delete_thread): New function.
5478         * nat/x86-linux.h (x86_linux_delete_thread): New declaration.
5479
5480 2017-10-09  Tom Tromey  <tom@tromey.com>
5481
5482         * tui/tui-win.c (tui_set_win_height, parse_scrolling_args): Use
5483         std::string.
5484         * tui/tui-layout.c (enum tui_status): Use std::string.
5485
5486 2017-10-11  Tom Tromey  <tom@tromey.com>
5487
5488         * gdbthread.h (thread_command): Constify.
5489         * inferior.h (detach_command): Constify.
5490         * top.h (set_history, show_history): Constify.
5491         * arm-tdep.c (set_arm_command, show_arm_command): Constify.
5492         * serial.c (serial_set_cmd, serial_show_cmd): Constify.
5493         * bsd-kvm.c (bsd_kvm_cmd): Constify.
5494         * printcmd.c (set_command): Constify.
5495         (non_const_set_command): New function.
5496         * dcache.c (set_dcache_command, show_dcache_command): Constify.
5497         * breakpoint.c (enable_command, disable_command, delete_command)
5498         (catch_command, tcatch_command, set_breakpoint_cmd)
5499         (show_breakpoint_cmd): Constify.
5500         * macrocmd.c (macro_command): Constify.
5501         * infcmd.c (unset_command, kill_command, detach_command)
5502         (info_proc_cmd): Constify.
5503         * i386-tdep.c (set_mpx_cmd, show_mpx_cmd): Constify.
5504         * auto-load.c (show_auto_load_cmd, set_auto_load_cmd)
5505         (info_auto_load_cmd): Constify.
5506         * target-descriptions.c (set_tdesc_cmd, show_tdesc_cmd)
5507         (unset_tdesc_cmd): Constify.
5508         * ada-lang.c (set_ada_command, show_ada_command)
5509         (maint_set_ada_cmd, maint_show_ada_cmd): Constify.
5510         * guile/guile.c (set_guile_command, show_guile_command)
5511         (info_guile_command): Constify.
5512         * tui/tui-win.c (tui_command, set_tui_cmd, show_tui_cmd):
5513         Constify.
5514         * skip.c (skip_command): Constify.
5515         * compile/compile.c (_initialize_compile): Constify.
5516         * dwarf2read.c (set_dwarf_cmd, show_dwarf_cmd): Constify.
5517         * btrace.c (maint_btrace_cmd, maint_btrace_set_cmd)
5518         (maint_btrace_show_cmd, maint_btrace_pt_set_cmd)
5519         (maint_btrace_pt_show_cmd): Constify.
5520         * remote.c (set_remote_cmd, show_remote_cmd, remote_command):
5521         Constify.
5522         * python/python.c (user_show_python, user_set_python): Constify.
5523         * mips-tdep.c (set_mips_command, show_mips_command)
5524         (set_mipsfpu_command): Constify.
5525         * record-btrace.c (cmd_record_btrace_start)
5526         (cmd_set_record_btrace, cmd_show_record_btrace)
5527         (cmd_set_record_btrace_bts, cmd_show_record_btrace_bts)
5528         (cmd_set_record_btrace_pt, cmd_show_record_btrace_pt): Constify.
5529         * rs6000-tdep.c (set_powerpc_command, show_powerpc_command):
5530         Constify.
5531         * symfile.c (overlay_command): Constify.
5532         * spu-tdep.c (set_spu_command, show_spu_command): Constify.
5533         * cli/cli-logging.c (set_logging_command, show_logging_command):
5534         Constify.
5535         * cli/cli-dump.c (dump_command, append_command)
5536         (srec_dump_command, ihex_dump_command, verilog_dump_command)
5537         (tekhex_dump_command, binary_dump_command)
5538         (binary_append_command): Constify.
5539         * cli/cli-decode.c (struct cmd_list_element): Change type of
5540         "fun".
5541         * cli/cli-cmds.c (info_command, show_command, set_debug)
5542         (show_debug): Constify.
5543         (show_command): Add non-const overload.
5544         * top.c (set_history, show_history): Constify.
5545         * sh-tdep.c (set_sh_command, show_sh_command): Constify.
5546         * command.h (add_prefix_cmd): Accept a cmd_const_cfunc_ftype.
5547         * target.c (target_command): Constify.
5548         * sparc64-tdep.c (info_adi_command): Constify.
5549         * record-full.c (cmd_record_full_start): Constify.
5550         (set_record_full_command): Constify.  Fix typo.
5551         (show_record_full_command): Constify.
5552         * thread.c (thread_command, thread_apply_command): Constify.
5553         * memattr.c (dummy_cmd): Constify.
5554         * value.c (function_command): Constify.
5555         * frame.c (set_backtrace_cmd, show_backtrace_cmd): Constify.
5556         * probe.c (info_probes_command): Constify.
5557         * ser-tcp.c (set_tcp_cmd, show_tcp_cmd): Constify.
5558         * gnu-nat.c (set_task_cmd, show_task_cmd, set_thread_cmd)
5559         (show_thread_cmd, set_thread_default_cmd)
5560         (show_thread_default_cmd): Constify.
5561         (check_empty): Constify.
5562         * tracepoint.c (tfind_command): Constify.
5563         * cp-support.c (maint_cplus_command): Constify.
5564         * windows-tdep.c (info_w32_command): Constify.
5565         * record.c (cmd_record_start, set_record_command)
5566         (show_record_command, info_record_command, cmd_record_goto):
5567         Constify.
5568         * ravenscar-thread.c (set_ravenscar_command)
5569         (show_ravenscar_command): Constify.
5570         * utils.c (set_internal_problem_cmd, show_internal_problem_cmd):
5571         Constify.
5572         (add_internal_problem_command): Remove casts.
5573         * arc-tdep.c (maintenance_print_arc_command): Constify.
5574         * valprint.c (set_print, show_print, set_print_raw)
5575         (show_print_raw): Constify.
5576         * maint.c (maintenance_command, maintenance_info_command)
5577         (maintenance_print_command, maintenance_set_cmd)
5578         (maintenance_show_cmd, set_per_command_cmd)
5579         (show_per_command_cmd, maintenance_check_command): Constify.
5580         * language.c (set_check, show_check): Constify.
5581         * typeprint.c (show_print_type, set_print_type): Constify.
5582         * go32-nat.c (go32_info_dos_command): Constify.
5583
5584 2017-10-11  Tom Tromey  <tom@tromey.com>
5585
5586         * breakpoint.c (prepare_re_set_context): Remove.
5587         (breakpoint_re_set_one): Update.  Don't use cleanups.
5588         (breakpoint_re_set): Use scoped_restore, std::string, and
5589         scoped_restore_current_language.
5590
5591 2017-10-11  Tom Tromey  <tom@tromey.com>
5592
5593         * breakpoint.c (commands_command_1): Use std::string.
5594         (cleanup_executing_breakpoints): Remove.
5595         (bpstat_do_actions_1): Use scoped_restore.
5596         (bpstat_check_watchpoint): Use std::string.
5597         (decode_static_tracepoint_spec): Likewise.
5598         (break_range_command): Likewise.
5599         (watch_command_1): Likewise.
5600         (compare_breakpoints): Change argument types.
5601         (clear_command): Use std::vector.
5602         (cleanup_executing_breakpoints): Remove.
5603         (update_global_location_list): Use unique_xmalloc_ptr.
5604         (strace_command): Remove unused declaration.
5605
5606 2017-10-11  John Baldwin  <jhb@FreeBSD.org>
5607
5608         * Makefile.in (ALLDEPFILES): Add arm-fbsd-nat.c.
5609         * NEWS: Mention new FreeBSD/arm native configuration.
5610         * configure.host: Add arm*-*-freebsd*.
5611         * configure.nat: Likewise.
5612         * arm-fbsd-nat.c: New file.
5613
5614 2017-10-11  John Baldwin  <jhb@FreeBSD.org>
5615
5616         * Makefile.in (ALL_TARGET_OBS): Add arm-fbsd-tdep.o.
5617         (ALLDEPFILES): Add arm-fbsd-tdep.c.
5618         * NEWS: Mention new FreeBSD/arm target.
5619         * configure.tgt: Add arm*-*-freebsd*.
5620         * arm-fbsd-tdep.c: New file.
5621         * arm-fbsd-tdep.h: New file.
5622
5623 2017-10-11  Maciej W. Rozycki  <macro@imgtec.com>
5624
5625         * linux-tdep.c (linux_make_corefile_notes): Remove call to
5626         `gdbarch_elfcore_write_linux_prpsinfo'.
5627         * gdbarch.sh (elfcore_write_linux_prpsinfo): Remove architecture
5628         method.
5629         (elf_internal_linux_prpsinfo): Remove declaration.
5630         * gdbarch.h: Regenerate.
5631         * gdbarch.c: Regenerate.
5632
5633 2017-10-11  Maciej W. Rozycki  <macro@imgtec.com>
5634
5635         * ppc-linux-tdep.c (ppc_linux_init_abi): Remove call to
5636         `set_gdbarch_elfcore_write_linux_prpsinfo'.
5637
5638 2017-10-11  Pedro Alves  <palves@redhat.com>
5639
5640         * breakpoint.c (reattach_breakpoints): Delete.
5641         * breakpoint.h (reattach_breakpoints): Delete.
5642
5643 2017-10-11  Simon Marchi  <simon.marchi@ericsson.com>
5644
5645         * symfile.c (registered_sym_fns): Make struct, not typedef.
5646         (DEF_VEC_O (registered_sym_fns)): Remove.
5647         (symtab_fns): Change type to std::vector.
5648         (add_symtab_fns): Adjust.
5649         (find_sym_fns): Adjust.
5650
5651 2017-10-11  Anton Kolesov  <Anton.Kolesov@synopsys.com>
5652
5653         * arc-tdep.c (arc_gdbarch_init): Pass proper cpu value to disassembler.
5654         * arc-tdep.h (arc_arch_is_em): New function.
5655         (arc_arch_is_hs): Likewise.
5656
5657 2017-10-11  Egeyar Bagcioglu  <egeyar.bagcioglu@oracle.com>
5658
5659         * macrotab.h (macro_lookup_inclusion): Remove unnecessary
5660         parentheses in the declaration.
5661         (macro_lookup_inclusion): Likewise.
5662         (macro_lookup_definition): Likewise.
5663         * p-lang.h (pascal_builtin_types): Likewise.
5664         * tui/tui-data.c (tui_win_list): Likewise.
5665         * tui/tui-data.h (tui_win_list): Likewise.
5666         * utils.h (make_cleanup_free_section_addr_info): Likewise.
5667
5668 2017-10-11  Mark Rages  <markrages@gmail.com>
5669
5670         * target-memory.c (block_boundaries): Fix for block address not
5671         aligned on block size.
5672
5673 2017-10-10  Pedro Alves <palves@redhat.com>
5674             Tom Tromey  <tom@tromey.com>
5675
5676         * breakpoint.c (struct captured_breakpoint_query_args)
5677         (do_captured_breakpoint_query, gdb_breakpoint_query): Delete.
5678         (print_breakpoint): New.
5679         * breakpoint.h (print_breakpoint): Declare.
5680         * common/common-exceptions.h (enum return_reason): Remove
5681         references to catch_exceptions.
5682         * exceptions.c (catch_exceptions, catch_exceptions_with_msg):
5683         Delete.
5684         * exceptions.h (catch_exceptions_ftype, catch_exceptions)
5685         (catch_exception_ftype, catch_exceptions_with_msg): Delete.
5686         * gdb.h: Delete.
5687         * gdbthread.h (thread_select): Declare.
5688         * mi/mi-cmd-break.c: Don't include gdb.h.
5689         (breakpoint_notify): Use print_breakpoint.
5690         * mi/mi-cmd-catch.c: Don't include gdb.h.
5691         * mi/mi-interp.c: Don't include gdb.h.
5692         (mi_print_breakpoint_for_event): New.
5693         (mi_breakpoint_created, mi_breakpoint_modified): Use
5694         mi_print_breakpoint_for_event.
5695         * mi/mi-main.c: Don't include gdb.h.
5696         (mi_cmd_thread_select): Parse the global thread ID here.  Use
5697         thread_select instead of gdb_thread_select.
5698         (mi_cmd_thread_list_ids): Output "thread-ids" tuple here instead
5699         of using gdb_list_thread_ids.
5700         * remote-fileio.c (do_remote_fileio_request): Change type.  Reply
5701         FILEIO_ENOSYS here.
5702         (remote_fileio_request): Use TRY/CATCH instead of
5703         catch_exceptions.
5704         * symfile-mem.c (struct symbol_file_add_from_memory_args)
5705         (symbol_file_add_from_memory_wrapper): Delete.
5706         (add_vsyscall_page): Use TRY/CATCH instead of catch_exceptions.
5707         * thread.c: Don't include gdb.h.
5708         (do_captured_list_thread_ids, gdb_list_thread_ids): Delete.
5709         (thread_alive): Use thread_select.
5710         (do_captured_thread_select): Delete, parts salvaged as ...
5711         (thread_select): ... this new function.
5712         (gdb_thread_select): Delete.
5713
5714 2017-10-10  Pedro Alves  <palves@redhat.com>
5715             Tom Tromey  <tom@tromey.com>
5716
5717         * breakpoint.c (breakpoint_cond_eval): Change return type to bool
5718         and reverse logic.
5719         (WP_DELETED, WP_VALUE_CHANGED, WP_VALUE_NOT_CHANGED, WP_IGNORE):
5720         No longer macros.  Instead ...
5721         (enum wp_check_result): They're now values of this new
5722         enumeration.
5723         (watchpoint_check): Change return type to wp_check_result and
5724         parameter type to bpstat.
5725         (bpstat_check_watchpoint): Use TRY/CATCH instead of catch_errors.
5726         (bpstat_check_breakpoint_conditions): Use TRY/CATCH instead of
5727         catch_errors.  Reverse logic of watchpoint_check call.
5728         (breakpoint_re_set_one): Now returns void and takes a breakpoint
5729         pointer as parameter.
5730         (breakpoint_re_set): Use TRY/CATCH instead of catch_errors.
5731         * common/common-exceptions.c (throw_exception_sjlj): Update
5732         comments to avoid mentioning catch_errors.
5733         * exceptions.c (catch_errors): Delete.
5734         * exceptions.h: Update comments to avoid mentioning catch_errors.
5735         (catch_errors_ftype, catch_errors): Delete.
5736         * infrun.c (normal_stop): Use TRY/CATCH instead of catch_errors.
5737         (hook_stop_stub): Delete.
5738         (restore_selected_frame): Change return type to void, and
5739         parameter type to const frame_id &.
5740         (restore_infcall_control_state): Use TRY/CATCH instead of
5741         catch_errors.
5742         * main.c (captured_command_loop): Return void and remove
5743         parameter.  Remove references to catch_errors.
5744         (captured_main): Use TRY/CATCH instead of catch_errors.
5745         * objc-lang.c (objc_submethod_helper_data)
5746         (find_objc_msgcall_submethod_helper): Delete.
5747         (find_objc_msgcall_submethod): Use TRY/CATCH instead of
5748         catch_errors.
5749         * record-full.c (record_full_message): Return void.
5750         (record_full_message_args, record_full_message_wrapper): Delete.
5751         (record_full_message_wrapper_safe): Return bool and use TRY/CATCH
5752         instead of catch_errors.
5753         * solib-aix.c (solib_aix_open_symbol_file_object): Change
5754         parameter type to int.
5755         * solib-darwin.c (open_symbol_file_object): Ditto.
5756         * solib-dsbt.c (open_symbol_file_object): Ditto.
5757         * solib-frv.c (open_symbol_file_object): Ditto.
5758         * solib-svr4.c (open_symbol_file_object): Ditto.
5759         * solib-target.c (solib_target_open_symbol_file_object): Ditto.
5760         * solib.c (update_solib_list): Use TRY/CATCH instead of
5761         catch_errors.
5762         * solist.h (struct target_so_ops) <open_symbol_file_object>:
5763         Change type.
5764         * symmisc.c (struct print_symbol_args): Remove.
5765         (dump_symtab_1): Use TRY/CATCH instead of catch_errors.
5766         (print_symbol): Change type.
5767         * windows-nat.c (handle_load_dll, handle_unload_dll): Return void
5768         and remove parameters.
5769         (catch_errors): New.
5770         (get_windows_debug_event): Adjust.
5771
5772 2017-10-09  Tom Tromey  <tom@tromey.com>
5773
5774         * mi/mi-main.c (free_splay_tree): Remove.
5775         (list_available_thread_groups): Use splay_tree_up.
5776         * common/gdb_splay_tree.h: New file.
5777
5778 2017-10-09  Tom Tromey  <tom@tromey.com>
5779
5780         * mi/mi-main.c (do_nothing): Remove.
5781         (list_available_thread_groups): Update.
5782
5783 2017-10-09  Pedro Alves  <palves@redhat.com>
5784
5785         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>: Skip
5786         reading registers when switching context.
5787
5788 2017-10-09  John Baldwin  <jhb@FreeBSD.org>
5789
5790         * fbsd-nat.c (fbsd_siginfo_size): Use gdbarch_long_bit.
5791         (fbsd_convert_siginfo): Likewise.
5792         * fbsd-tdep.c (fbsd_core_xfer_siginfo): Likewise.
5793
5794 2017-10-09  Simon Marchi  <simon.marchi@polymtl.ca>
5795
5796         * configure.ac (try_guile_versions): Remove guile-2.2.
5797         * configure: Regenerate.
5798
5799 2017-10-09  Tom Tromey  <tom@tromey.com>
5800
5801         * Makefile.in (COMPILE.post, POSTCOMPILE): Restore $(basename).
5802         (COMPILE.pre): Use $(CXX).
5803
5804 2017-10-09  Pedro Alves  <palves@redhat.com>
5805
5806         * cp-support.c (cp_remove_params): Return a gdb::unique_xmalloc_ptr.
5807         Use bool.
5808         (overload_list_add_symbol): Adjust to use gdb::unique_xmalloc_ptr.
5809         * cp-support.h (cp_remove_params): Now returns a
5810         gdb::unique_xmalloc_ptr.
5811         * dwarf2read.c (find_slot_in_mapped_hash): Now returns bool.
5812         Adjust to cp_remove_params returning a gdb::unique_xmalloc_ptr.
5813         * psymtab.c (psymtab_search_name): Adjust to cp_remove_params
5814         returning a gdb::unique_xmalloc_ptr.
5815         (lookup_partial_symbol): Adjust to use gdb::unique_xmalloc_ptr.
5816         * stack.c (find_frame_funname): Adjust to cp_remove_params
5817         returning a gdb::unique_xmalloc_ptr.
5818
5819 2017-10-08  Tom Tromey  <tom@tromey.com>
5820
5821         * dwarf2read.c (dwarf2_get_dwz_file): Use
5822         gdb::unique_xmalloc_ptr.
5823         (find_slot_in_mapped_hash): Likewise.
5824         (dwarf2_physname): Likewise.
5825         (create_dwo_unit_in_dwp_v1): Use std::string.
5826         (create_dwo_unit_in_dwp_v2): Likewise.
5827         (lookup_dwo_cutu): Likewise.
5828         (inherit_abstract_dies): Use std::vector.
5829         (read_array_type): Likewise.
5830         (dwarf_decode_macros): Remove unused declaration.
5831         (unsigned_int_compar): Remove.
5832         (dwarf2_build_psymtabs_hard): Use scoped_restore.
5833         (psymtabs_addrmap_cleanup): Remove.
5834
5835 2017-10-08  Tom Tromey  <tom@tromey.com>
5836
5837         * frame-unwind.c (frame_unwind_try_unwinder): Update.
5838         * frame.h (frame_cleanup_after_sniffer): Declare.
5839         (frame_prepare_for_sniffer): Return void.
5840         * frame.c (frame_cleanup_after_sniffer): No longer static.  Change
5841         type of argument.
5842         (frame_prepare_for_sniffer): Return void.
5843
5844 2017-10-08  Tom Tromey  <tom@tromey.com>
5845
5846         * utils.h (make_cleanup_value_free): Remove.
5847         * utils.c (do_value_free, struct cleanup): Remove.
5848         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full) <DWARF_VALUE_STACK>:
5849         Use gdb_value_up.
5850         * value.h (struct value_deleter): New.
5851         (gdb_value_up): New typedef.
5852
5853 2017-10-08  Tom Tromey  <tom@tromey.com>
5854
5855         * symtab.c (free_search_symbols, do_free_search_symbols_cleanup)
5856         (make_cleanup_free_search_symbols): Remove.
5857         (search_symbols): Return std::vector.
5858         (symbol_search::compare_search_syms): Now member of
5859         symbol_search.  Change arguments.
5860         (sort_search_symbols_remove_dups): Change arguments.  Rewrite.
5861         (symtab_symbol_info, rbreak_command): Update.
5862         * symtab.h (struct symbol_search) <next>: Remove.
5863         Add constructors.
5864         (symbol_search::operator<): New function.
5865         (symbol_search::operator==): New function.
5866         (search_symbols): Remove std::vector.
5867         (free_search_symbols, make_cleanup_free_search_symbols): Remove.
5868         (symbol_search::compare_search_syms): Declare.
5869
5870 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5871
5872         * Makefile.in (ALL_64_TARGET_OBS): Replace aarch64-insn.o with
5873         arch/aarch64-insn.o.
5874         Remove one rule.
5875         * configure.tgt: Replace aarch64-insn.o with arch/aarch64-insn.o.
5876
5877 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5878
5879         * Makefile.in (ALL_TARGET_OBS): Replace arm.o, arm-get-next-pcs.o,
5880         and arm-linux.o with arch/arm.o, arch/arm-get-next-pcs.o and
5881         arch/arm-linux.o respectively.
5882         * configure.tgt: Likewise.
5883
5884 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5885
5886         * Makefile.in (ALL_TARGET_OBS): Rename i386.o to arch/i386.o.
5887         * configure.tgt (i386_tobjs): Replace i386.o with arch/i386.o.
5888
5889 2017-10-06  Pedro Alves  <palves@redhat.com>
5890
5891         * windows-nat.c: Include <algorithm>.
5892
5893 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5894
5895         * configure.tgt (i386_tobjs): New variable.
5896         (amd64_tobjs): New variable.
5897         Set $cpu_obs and $os_obs.
5898
5899 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5900
5901         * Makefile.in (CONFIG_SRC_SUBDIR): New.
5902         (ALL_64_TARGET_OBS): Replace amd64.o with arch/amd64.o.
5903         (clean): Remove object files and dependency files.
5904         (distclean): Remove the directory.
5905         * configure.ac: Invoke AC_CONFIG_COMMANDS.
5906         * configure: Re-generated.
5907         * configure.tgt: Replace amd64.o with arch/amd64.o.
5908
5909 2017-10-05  Jose E. Marchesi  <jose.marchesi@oracle.com>
5910
5911         PR build/22188
5912         * arm-tdep.c (arm_decode_misc_memhint_neon): Fix decoding of CPS
5913         and SETEND.
5914
5915 2017-10-05  Pedro Alves  <palves@redhat.com>
5916
5917         * linux-nat.c (linux_child_follow_fork): When following the parent
5918         and detaching the child, consult the parent thread's architecture
5919         instead of the child's.
5920
5921 2017-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
5922
5923         * ax.h: Do not include "doublest.h".
5924         (union agent_val): Remove.
5925
5926 2017-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
5927
5928         * dfp.h (MAX_DECIMAL_STRING): Move to dfp.c.
5929         (decimal_to_string): Return std::string object.
5930         (decimal_from_string): Accept std::string object.  Return bool.
5931         (decimal_from_integral, decimal_from_doublest): Remove.
5932         (decimal_from_longest): Add prototype.
5933         (decimal_from_ulongest): Likewise.
5934         (decimal_to_longest): Likewise.
5935         (decimal_from_doublest): Likewise.
5936         * dfp.c: Do not include "gdbtypes.h" or "value.h".
5937         (MAX_DECIMAL_STRING): Move here.
5938         (decimal_to_string): Return std::string object.
5939         (decimal_from_string): Accept std::string object.  Return bool.
5940         (decimal_from_integral): Remove, replace by ...
5941         (decimal_from_longest, decimal_from_ulongest): ... these new functions.
5942         (decimal_to_longest): New function.
5943         (decimal_from_floating): Remove, replace by ...
5944         (decimal_from_doublest): ... this new function.
5945         (decimal_to_doublest): Update to new decimal_to_string interface.
5946
5947         * value.c (unpack_long): Use decimal_to_longest.
5948         * valops.c (value_cast): Use decimal_from_doublest instead of
5949         decimal_from_floating.  Use decimal_from_[u]longest isntead of
5950         decimal_from_integral.
5951         * valarith.c (value_args_as_decimal): Likewise.
5952         * valprint.c (print_decimal_floating): Update to new
5953         decimal_to_string interface.
5954         * printcmd.c (printf_decfloat): Likewise.
5955         * c-exp.y (parse_number): Update to new decimal_from_string interface.
5956
5957 2017-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
5958
5959         * doublest.h: Do not include "floatformat.h".  Remove stale comments.
5960         * gdbtypes.c: Include "floatformat.h".
5961         * value.c: Likewise.
5962         * m68k-tdep.c: Likewise.
5963
5964         * findvar.c: Do not include "floatformat.h".
5965         * amd64-darwin-tdep.c: Likewise.
5966         * arm-linux-tdep.c: Likewise.
5967         * i386-darwin-tdep.c: Likewise.
5968         * i387-tdep.c: Likewise.
5969         * m68k-linux-tdep.c: Likewise.
5970         * mep-tdep.c: Likewise.
5971         * mips-tdep.c: Likewise.
5972         * nios2-tdep.c: Likewise.
5973         * s390-linux-tdep.c: Likewise.
5974         * sparc-obsd-tdep.c: Likewise.
5975         * sparc-tdep.c: Likewise.
5976         * sparc64-tdep.c: Likewise.
5977         * spu-tdep.c: Likewise.
5978         * tic6x-tdep.c: Likewise.
5979         * tilegx-tdep.c: Likewise.
5980         * vax-tdep.c: Likewise.
5981         * xstormy16-tdep.c: Likewise.
5982         * xtensa-tdep.c: Likewise.
5983
5984         * top.c: Do not include "doublest.h".
5985         * aarch64-tdep.c: Likewise.
5986         * alpha-tdep.c: Likewise.
5987         * arm-linux-tdep.c: Likewise.
5988         * m68k-linux-tdep.c: Likewise.
5989         * tilegx-tdep.c: Likewise.
5990         * xstormy16-tdep.c: Likewise.
5991
5992 2017-10-05  John Baldwin  <jhb@FreeBSD.org>
5993
5994         * mips-fbsd-tdep.c (MIPS_INST_ADDIU_A0_SP_N32): Define.
5995         (mipsn32_fbsd_sigframe): Define.
5996         (mips_fbsd_init_abi): Install mipsn32_fbsd_sigframe unwinder
5997         for FreeBSD/mipsn32.
5998
5999 2017-10-05  John Baldwin  <jhb@FreeBSD.org>
6000
6001         * fbsd-tdep.c (fbsd_print_auxv_entry): Handle AT_EHDRFLAGS and
6002         AT_HWCAP.
6003
6004 2017-10-05  Tristan Gingold  <tgingold@free.fr>
6005
6006         * MAINTAINERS (Misc): Update my email address.
6007
6008 2017-10-04  Pedro Alves  <palves@redhat.com>
6009
6010         * remote.c (get_remote_arch_state): New 'gdbarch' parameter.  Use
6011         it instead of target_gdbarch.
6012         (get_remote_state, get_remote_packet_size): Adjust
6013         get_remote_arch_state calls, passing down target_gdbarch
6014         explicitly.
6015         (packet_reg_from_regnum, packet_reg_from_pnum): New parameter
6016         'gdbarch' and use it instead of target_gdbarch.
6017         (get_memory_packet_size): Adjust get_remote_arch_state calls,
6018         passing down target_gdbarch explicitly.
6019         (struct stop_reply) <arch>: New field.
6020         (remote_parse_stop_reply): Use the stopped thread's architecture,
6021         not the current inferior's.  Save the architecture in the
6022         stop_reply.
6023         (process_stop_reply): Use the stop reply's architecture.
6024         (process_g_packet, remote_fetch_registers)
6025         (remote_prepare_to_store, store_registers_using_G)
6026         (remote_store_registers): Adjust get_remote_arch_state calls,
6027         using the regcache's architecture.
6028         (remote_get_trace_status): Adjust get_remote_arch_state calls,
6029         passing down target_gdbarch explicitly.
6030         * spu-multiarch.c (spu_thread_architecture): Defer to the target
6031         beneath instead of calling target_gdbarch.
6032         * target.c (default_thread_architecture): Use the specified
6033         inferior's architecture, instead of the current inferior's
6034         architecture (via target_gdbarch).
6035
6036 2017-10-04  Pedro Alves  <palves@redhat.com>
6037
6038         * regcache.c (get_thread_arch_regcache): Remove null_ptid special
6039         case.
6040         (regcache_print): Handle !target_has_registers here instead.
6041
6042 2017-10-04  Pedro Alves  <palves@redhat.com>
6043
6044         * frame.c (create_test_frame): Delete.
6045         * frame.h (create_test_frame): Delete.
6046         * gdbarch-selftests.c: Include gdbthread.h and target.h.
6047         (class regcache_test): Delete.
6048         (test_target_has_registers, test_target_has_stack)
6049         (test_target_has_memory, test_target_prepare_to_store)
6050         (test_target_store_registers): New functions.
6051         (test_target_ops): New class.
6052         (register_to_value_test): Error out if there's already a
6053         process_stratum (or higher) target pushed.  Create a fuller mock
6054         environment, with mock target_ops, inferior, address space, thread
6055         and inferior_ptid.
6056         * progspace.c (struct address_space): Move to ...
6057         * progspace.h (struct address_space): ... here.
6058         * regcache.h (regcache::~regcache, regcache::raw_write)
6059         [GDB_SELF_TEST]: No longer virtual.
6060
6061 2017-10-04  Simon Marchi  <simon.marchi@ericsson.com>
6062
6063         * mi/mi-main.c (list_available_thread_groups): Reverse filter logic.
6064
6065 2017-10-04  Pedro Alves  <palves@redhat.com>
6066
6067         * guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Move code
6068         out of 'between TRY and CATCH'.
6069
6070 2017-10-04  Pedro Alves  <palves@redhat.com>
6071
6072         * cli/cli-cmds.c (complete_command): Add missing END_CATCH.
6073         * common/common-exceptions.h (TRY): Open an outermost scope.
6074         Expand intro comment.
6075         (CATCH): Reindent.
6076         (END_CATCH): Close the outermost scope.
6077         * completer.c (complete_line_internal): Add missing END_CATCH.
6078
6079 2017-10-04  Sergio Durigan Junior  <sergiodj@redhat.com>
6080
6081         * NEWS (Changes since GDB 8.0): Add entry about new
6082         'set-cwd-on-gdbserver' feature.
6083         (New remote packets): Add entry for QSetWorkingDir.
6084         * common/common-inferior.h (set_inferior_cwd): New prototype.
6085         * infcmd.c (set_inferior_cwd): Remove "static".
6086         (show_cwd_command): Expand text to include remote debugging.
6087         * remote.c: Add PACKET_QSetWorkingDir.
6088         (remote_protocol_features) <QSetWorkingDir>: New entry for
6089         PACKET_QSetWorkingDir.
6090         (extended_remote_set_inferior_cwd): New function.
6091         (extended_remote_create_inferior): Call
6092         "extended_remote_set_inferior_cwd".
6093         (_initialize_remote): Call "add_packet_config_cmd" for
6094         QSetWorkingDir.
6095
6096 2017-10-04  Sergio Durigan Junior  <sergiodj@redhat.com>
6097
6098         * NEWS (New commands): Mention "set/show cwd".
6099         * cli/cli-cmds.c (_initialize_cli_cmds): Mention "set cwd" on
6100         "cd" command's help text.
6101         * common/common-inferior.h (get_inferior_cwd): New prototype.
6102         * infcmd.c (inferior_cwd_scratch): New global variable.
6103         (set_inferior_cwd): New function.
6104         (get_inferior_cwd): Likewise.
6105         (set_cwd_command): Likewise.
6106         (show_cwd_command): Likewise.
6107         (_initialize_infcmd): Add "set/show cwd" commands.
6108         * inferior.h (class inferior) <cwd>: New field.
6109         * nat/fork-inferior.c: Include "gdb_tilde_expand.h".
6110         (fork_inferior): Change inferior's cwd before its execution.
6111         * windows-nat.c (windows_create_inferior): Pass inferior's cwd
6112         to CreateProcess.
6113
6114 2017-10-04  Sergio Durigan Junior  <sergiodj@redhat.com>
6115
6116         * Makefile.in (SFILES): Add gdb_tilde_expand.c.
6117         (HFILES_NO_SRCDIR): Add gdb_tilde_expand.h.
6118         (COMMON_OBS): Add gdb_tilde_expand.o.
6119         * common/gdb_tilde_expand.c: New file.
6120         * common/gdb_tilde_expand.h: Likewise.
6121
6122 2017-10-03  Maciej W. Rozycki  <macro@imgtec.com>
6123
6124         * gdbarch.sh (objfile): Remove duplicate declaration.
6125         * gdbarch.h: Regenerate.
6126
6127 2017-10-03  Tom Tromey  <tom@tromey.com>
6128
6129         * utils.c (internal_vproblem): Use string_vprintf.
6130
6131 2017-10-03  Tom Tromey  <tom@tromey.com>
6132
6133         * printcmd.c (info_symbol_command): Use std::string.
6134
6135 2017-10-03  Tom Tromey  <tom@tromey.com>
6136
6137         * top.c (gdb_safe_append_history): Use std::string.
6138
6139 2017-10-03  Tom Tromey  <tom@tromey.com>
6140
6141         * event-top.c (stdin_event_handler): Update.
6142         * main.c (captured_main_1): Update.
6143         * top.h (make_delete_ui_cleanup): Remove.
6144         (struct ui): Add constructor and destructor.
6145         (new_ui, delete_ui): Remove.
6146         * top.c (make_delete_ui_cleanup): Remove.
6147         (new_ui_command): Use std::unique_ptr.
6148         (delete_ui_cleanup): Remove.
6149         (ui::ui): Rename from new_ui.  Update.
6150         (free_ui): Remove.
6151         (ui::~ui): Rename from delete_ui.  Update.
6152
6153 2017-10-03  Tom Tromey  <tom@tromey.com>
6154
6155         * symfile.c (load_progress): Use gdb::byte_vector.
6156
6157 2017-10-03  Tom Tromey  <tom@tromey.com>
6158
6159         * mi/mi-main.c (mi_cmd_trace_frame_collected): Remove unused
6160         declaration.
6161         * printcmd.c (x_command): Remove unused declaration.
6162         * symfile.c (symbol_file_command): Remove unused declaration.
6163
6164 2017-10-03  Tom Tromey  <tom@tromey.com>
6165
6166         * utils.c (internal_vproblem): Use std::string.
6167         (defaulted_query): Likewise.
6168
6169 2017-10-03  Tom Tromey  <tom@tromey.com>
6170
6171         * guile/scm-ports.c (ioscm_with_output_to_port_worker): Update.
6172         * top.c (execute_command_to_string): Update.
6173         * utils.c (make_cleanup_restore_page_info): Remove.
6174         (do_restore_page_info_cleanup): Remove.
6175         (set_batch_flag_and_restore_page_info):
6176         New.
6177         (make_cleanup_restore_page_info): Remove.
6178         (set_batch_flag_and_make_cleanup_restore_page_info): Remove.
6179         (~set_batch_flag_and_restore_page_info): New
6180         (make_cleanup_restore_uinteger): Remove.
6181         (make_cleanup_restore_integer): Remove.
6182         (struct restore_integer_closure): Remove.
6183         (restore_integer): Remove.
6184         * utils.h (struct set_batch_flag_and_restore_page_info): New
6185         class.
6186         (set_batch_flag_and_make_cleanup_restore_page_info): Remove.
6187         (make_cleanup_restore_page_info): Remove.
6188         (make_cleanup_restore_uinteger) Remove.
6189         (make_cleanup_restore_integer) Remove.
6190
6191 2017-10-03  Tom Tromey  <tom@tromey.com>
6192
6193         * record-full.h (record_full_gdb_operation_disable_set): Return
6194         scoped_restore_tmpl<int>.
6195         * infrun.c (adjust_pc_after_break): Update.
6196         (handle_signal_stop): Update.
6197         * record-full.c (record_full_gdb_operation_disable_set): Return
6198         scoped_restore_tmpl<int>.
6199         (record_full_wait_1, record_full_insert_breakpoint)
6200         (record_full_remove_breakpoint, record_full_save)
6201         (record_full_goto_insn): Update.
6202
6203 2017-10-02  Tom Tromey  <tom@tromey.com>
6204
6205         PR rust/22236:
6206         * rust-lang.c (rust_val_print_str): New function.
6207         (val_print_struct): Call it.
6208         (rust_subscript): Preserve name of slice type.
6209
6210 2017-10-02  Tom Tromey  <tom@tromey.com>
6211
6212         * rust-lang.c (rust_subscript): Handle slices in
6213         EVAL_AVOID_SIDE_EFFECTS case.
6214
6215 2017-10-02  Tom Tromey  <tom@tromey.com>
6216
6217         * rust-lang.c (rust_slice_type_p): Recognize &str as a slice type.
6218
6219 2017-10-02  Tom Tromey  <tom@tromey.com>
6220
6221         * rust-lang.h (rust_slice_type): Add "extern".
6222
6223 2017-10-02  Tom Tromey  <tom@tromey.com>
6224             Pedro Alves  <palves@redhat.com>
6225
6226         * ada-lang.h (ada_exc_info::operator<): Make const.
6227         (ada_exc_info::operator==): Make const.
6228         * ada-lang.c (ada_exc_info::operator<, ada_exc_info::operator==):
6229         Make const.
6230
6231 2017-09-29  Tom Tromey  <tom@tromey.com>
6232
6233         * target.c (read_whatever_is_readable): Change type of "result".
6234         Update.
6235         (free_memory_read_result_vector): Remove.
6236         (read_memory_robust): Change return type.  Update.
6237         * mi/mi-main.c (mi_cmd_data_read_memory_bytes): Update.  Use
6238         bin2hex, std::string.
6239         * target.h (memory_read_result_s): Remove typedef.
6240         (free_memory_read_result_vector): Remove.
6241         (read_memory_robust): Return std::vector.
6242
6243 2017-09-29  Tom Tromey  <tom@tromey.com>
6244
6245         * mi/mi-main.c (captured_mi_execute_command): Use scope_restore.
6246
6247 2017-09-29  Tom Tromey  <tom@tromey.com>
6248
6249         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions): Update.
6250         * ada-lang.h (struct ada_exc_info): Remove typedef.  Declare
6251         operator< and operator==.
6252         (ada_exceptions_list): Return a std::vector.
6253         * ada-lang.c (ada_exc_info::operator<): Rename from
6254         compare_ada_exception_info.
6255         (ada_exc_info::operator==): New.
6256         (sort_remove_dups_ada_exceptions_list): Change type of
6257         "exceptions".
6258         (ada_add_standard_exceptions, ada_add_exceptions_from_frame)
6259         (ada_add_global_exceptions): Likewise.
6260         (ada_exceptions_list_1): Return a std::vector.
6261         (ada_exceptions_list): Likewise.
6262
6263 2017-09-29  Tom Tromey  <tom@tromey.com>
6264
6265         * mi/mi-main.c (struct print_one_inferior_data) <inferiors>: Now a
6266         'std::set *'.
6267         (print_one_inferior): Update.
6268         (free_vector_of_ints): Remove.
6269         (list_available_thread_groups): Change "ids" to std::set.
6270         (mi_cmd_list_thread_groups): Update.
6271         (struct collect_cores_data) <core>: Now a std::set.
6272         (collect_cores): Update.
6273         (unique): Remove.
6274         (print_one_inferior): Update.
6275
6276 2017-09-29  Tom Tromey  <tom@tromey.com>
6277
6278         * mi/mi-main.c (mi_execute_cli_command): Use std::string.
6279         (mi_execute_async_cli_command): Likewise.
6280         (mi_cmd_trace_frame_collected): Use field_fmt.
6281
6282 2017-09-29  Tom Tromey  <tom@tromey.com>
6283
6284         * mi/mi-main.c (mi_cmd_data_write_memory_bytes): Use
6285         gdb::byte_vector.
6286
6287 2017-09-29  Tom Tromey  <tom@tromey.com>
6288
6289         * mi/mi-parse.c (mi_parse): Remove unused declaration.
6290
6291 2017-09-29  Tom Tromey  <tom@tromey.com>
6292
6293         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Don't copy "oarg".
6294
6295 2017-09-29  Tom Tromey  <tom@tromey.com>
6296
6297         * varobj.h (varobj_gen_name): Return std::string.
6298         * varobj.c (varobj_gen_name): Return std::string.
6299         * mi/mi-cmd-var.c (mi_cmd_var_create): Use std::string.
6300         (mi_cmd_var_delete): Don't copy "name".
6301
6302 2017-09-29  Tom Tromey  <tom@tromey.com>
6303
6304         * mi/mi-cmd-break.c (mi_argv_to_format): Return std::string.
6305         (mi_cmd_break_insert_1): Update.
6306
6307 2017-09-29  Tom Tromey  <tom@tromey.com>
6308
6309         * target.h (make_scoped_defer_target_commit_resume): Update.
6310         * target.c (make_scoped_defer_target_commit_resume): Rename from
6311         make_cleanup_defer_target_commit_resume.  Return a
6312         scoped_restore.
6313         * infrun.c (proceed): Use make_scoped_defer_target_commit_resume.
6314
6315 2017-09-29  Tom Tromey  <tom@tromey.com>
6316
6317         * main.c (captured_main_1): Remove unused declaration.
6318         * spu-multiarch.c (parse_spufs_run): Remove unused declaration.
6319
6320 2017-09-29  Tom Tromey  <tom@tromey.com>
6321
6322         * symtab.c (search_symbols): Remove unused outer cleanup.
6323         (make_source_files_completion_list): Remove unused declaration.
6324
6325 2017-09-29  Tom Tromey  <tom@tromey.com>
6326
6327         * mt-tdep.c (mt_push_dummy_call): Use gdb::byte_vector.
6328
6329 2017-09-29  Tom Tromey  <tom@tromey.com>
6330
6331         * xstormy16-tdep.c (xstormy16_push_dummy_call): Use
6332         gdb::byte_vector.
6333
6334 2017-09-29  Tom Tromey  <tom@tromey.com>
6335
6336         * complaints.c (vcomplaint): Use std::string.
6337
6338 2017-09-29  Tom Tromey  <tom@tromey.com>
6339
6340         * tracepoint.c (trace_variable_command): Use std::string.
6341         (encode_actions_1): Remove unused declarations.
6342         (create_tsv_from_upload): Use std::string.
6343
6344 2017-09-29  Tom Tromey  <tom@tromey.com>
6345
6346         * cp-support.c (gdb_demangle): Use std::string.
6347
6348 2017-09-29  Tom Tromey  <tom@tromey.com>
6349
6350         * stack.c (parse_frame_specification): Use std::string
6351         (info_frame_command): Use gdb::unique_xmalloc_ptr.
6352
6353 2017-09-29  Tom Tromey  <tom@tromey.com>
6354
6355         * tilegx-tdep.c (tilegx_push_dummy_call): Use gdb::byte_vector.
6356
6357 2017-09-29  Tom Tromey  <tom@tromey.com>
6358
6359         * utils.c (vfprintf_maybe_filtered): Use std::string.
6360         (vfprintf_unfiltered): Likewise.
6361
6362 2017-09-29  Tom Tromey  <tom@tromey.com>
6363
6364         * event-top.c (top_level_prompt): Return std::string.
6365         (display_gdb_prompt): Update.
6366
6367 2017-09-29  Tom Tromey  <tom@tromey.com>
6368
6369         * unittests/common-utils-selftests.c (format): New function.
6370         (string_vprintf_tests): New function.
6371         (_initialize_common_utils_selftests): Register new tests.
6372         * common/common-utils.c (string_vprintf): New function.
6373         * common/common-utils.h (string_vprintf): Declare.
6374
6375 2017-09-29  Pedro Alves  <palves@redhat.com>
6376
6377         * common/rsp-low.c (unpack_varlen_hex): Constify.
6378         * common/rsp-low.h (unpack_varlen_hex): Constify.
6379         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
6380         Constify.
6381         * remote.c (remote_set_permissions, read_ptid)
6382         (remote_current_thread, remote_get_threads_with_qthreadinfo)
6383         (remote_static_tracepoint_marker_at)
6384         (remote_static_tracepoint_markers_by_strid)
6385         (stop_reply_extract_thread, remote_parse_stop_reply): Constify.
6386         * tracepoint.c (parse_trace_status, parse_tracepoint_status)
6387         (parse_tracepoint_definition, parse_tsv_definition)
6388         (parse_static_tracepoint_marker_definition): Constify.
6389         * tracepoint.h (parse_static_tracepoint_marker_definition)
6390         (parse_trace_status, parse_tracepoint_status)
6391         (parse_tracepoint_definition, parse_tsv_definition): Constify.
6392
6393 2017-09-29  Pedro Alves  <palves@redhat.com>
6394
6395         * remote.c (target_buf, target_buf_size): Delete.
6396         (remote_get_noisy_reply): Remove buf_p and sizeof_buf parameters.
6397         Use the connection's packet buffer instead.
6398         All callers adjusted.
6399         (_initialize_remote): Remove references to target_buf and
6400         target_buf_size.
6401
6402 2017-09-28  Pedro Alves  <palves@redhat.com>
6403
6404         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
6405         unittests/common-utils-selftests.c.
6406         (SUBDIR_UNITTESTS_OBS): Add common-utils-selftests.o.
6407         (COMMON_OBS): Remove utils-selftests.o.
6408         * utils-selftests.c: Move to ...
6409         * unittests/common-utils-selftests.c: ... here and rename self
6410         test to "string_printf".
6411
6412 2017-09-28  Alexander Shaposhnikov <alexander.v.shaposhnikov@gmail.com> (tiny patch)
6413
6414         * dwarf2read.c (open_and_init_dwp_file): Protect against dwp_file
6415         having NULL cus or tus.
6416
6417 2017-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
6418
6419         * arm-tdep.c: (convert_from_extended): Remove.
6420         (convert_to_extended): Likewise.
6421         (arm_extract_return_value): Use convert_typed_floating.
6422         (arm_store_return_value): Likewise.
6423
6424         * sh-tdep.h (struct gdbarch_tdep): Add sh_littlebyte_bigword_type.
6425         * sh-tdep.c: Do not include "floatformat.h".
6426         (sh_littlebyte_bigword_type): New function.
6427         (sh_register_convert_to_virtual): Use convert_typed_floating.
6428         (sh_register_convert_to_raw): Likewise.
6429         * sh64-tdep.c: (struct gdbarch_tdep): Add sh_littlebyte_bigword_type.
6430         (sh64_littlebyte_bigword_type): New function.
6431         (sh64_extract_return_value): Use convert_typed_floating.
6432         (sh64_register_convert_to_virtual): Likewise.
6433         (sh64_register_convert_to_raw): Likewise.
6434
6435 2017-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
6436
6437         * doublest.h (floatformat_from_type): Move to gdbtypes.h.
6438         * doublest.c (floatformat_from_type): Move to gdbtypes.c.
6439
6440         * gdbtypes.h (union type_specific): Make field floatformat hold
6441         just a single struct floatformat, not an array.
6442         (floatformat_from_type): Move here.
6443         * gdbtypes.c (floatformat_from_type): Move here.  Update to
6444         changed TYPE_FLOATFORMAT definition.
6445         (verify_floatformat): Update to changed TYPE_FLOATFORMAT.
6446         (recursive_dump_type): Likewise.
6447         (init_float_type): Install correct floatformat for byte order.
6448         (arch_float_type): Likewise.
6449
6450 2017-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
6451
6452         * gdbtypes.c (init_type): Change incoming argument from
6453         length-in-bytes to length-in-bits.  Assert length is a
6454         multiple of TARGET_CHAR_BITS.
6455         (arch_type, arch_flags_type): Likewise.
6456         (init_integer_type): Update call to init_type.
6457         (init_character_type): Likewise.
6458         (init_boolean_type): Likewise.
6459         (init_float_type): Likewise.
6460         (init_decfloat_type): Likewise.
6461         (init_complex_type): Likewise.
6462         (init_pointer_type): Likewise.
6463         (objfile_type): Likewise.
6464         (arch_integer_type): Update call to arch_type.
6465         (arch_character_type): Likewise.
6466         (arch_boolean_type): Likewise.
6467         (arch_float_type): Likewise.
6468         (arch_decfloat_type): Likewise.
6469         (arch_complex_type): Likewise.
6470         (arch_pointer_type): Likewise.
6471         (gdbtypes_post_init): Likewise.
6472
6473         * dwarf2read.c (dwarf2_init_float_type): Update call to init_type.
6474         (read_base_type): Likewise.
6475         * mdebugread.c (basic_type): Likewise.
6476         * stabsread.c (dbx_init_float_type): Likewise.
6477         (rs6000_builtin_type): Likewise.
6478         (read_range_type): Likewise.  Also, fix call to init_integer_type
6479         with erroneous length argument.
6480
6481         * ada-lang.c (ada_language_arch_info): Update call to arch_type.
6482         * d-lang.c (build_d_types): Likewise.
6483         * f-lang.c (build_fortran_types): Likewise.
6484         * go-lang.c (build_go_types): Likewise.
6485         * opencl-lang.c (build_opencl_types): Likewise.
6486         * jit.c (finalize_symtab): Likewise.
6487         * gnu-v3-abi.c (build_gdb_vtable_type): Likewise.
6488         (build_std_type_info_type): Likewise.
6489         * target-descriptions.c (tdesc_gdb_type): Likewise.  Also,
6490         update call to arch_flags_type.
6491
6492         * linux-tdep.c (linux_get_siginfo_type_with_fields): Update call to
6493         arch_type.
6494         * fbsd-tdep.c (fbsd_get_siginfo_type): Likewise.
6495         * windows-tdep.c (windows_get_tlb_type): Likewise.
6496
6497         * avr-tdep.c (avr_gdbarch_init): Update call to arch_type.
6498         * ft32-tdep.c (ft32_gdbarch_init): Likewise.
6499         * m32c-tdep.c (make_types): Likewise.
6500         * rl78-tdep.c (rl78_gdbarch_init): Likewise.
6501         (rl78_psw_type): Update call to arch_flags_type.
6502         * m68k-tdep.c (m68k_ps_type): Update call to arch_flags_type.
6503         * rx-tdep.c (rx_psw_type): Likewise.
6504         (rx_fpsw_type): Likewise.
6505         * sparc-tdep.c (sparc_psr_type): Likewise.
6506         (sparc_fsr_type): Likewise.
6507         * sparc64-tdep.c (sparc64_pstate_type): Likewise.
6508         (sparc64_ccr_type): Likewise.
6509         (sparc64_fsr_type): Likewise.
6510         (sparc64_fprs_type): Likewise.
6511
6512 2017-09-27  Tom Tromey  <tom@tromey.com>
6513
6514         * findcmd.c (find_command): Constify.
6515
6516 2017-09-27  Tom Tromey  <tom@tromey.com>
6517
6518         * ada-tasks.c (task_command_1, task_command): Constify.
6519
6520 2017-09-27  Tom Tromey  <tom@tromey.com>
6521
6522         * symtab.c (maintenance_print_symbol_cache)
6523         (maintenance_flush_symbol_cache)
6524         (maintenance_print_symbol_cache_statistics): Constify.
6525
6526 2017-09-27  Tom Tromey  <tom@tromey.com>
6527
6528         * inferior.c (detach_inferior_command, kill_inferior_command)
6529         (inferior_command): Constify.
6530
6531 2017-09-27  Tom Tromey  <tom@tromey.com>
6532
6533         * regcache.c (regcache_print, maintenance_print_registers)
6534         (maintenance_print_raw_registers)
6535         (maintenance_print_cooked_registers)
6536         (maintenance_print_register_groups)
6537         (maintenance_print_remote_registers): Constify.
6538
6539 2017-09-27  Tom Tromey  <tom@tromey.com>
6540
6541         * printcmd.c (map_display_numbers, undisplay_command)
6542         (enable_disable_display_command, enable_display_command)
6543         (disable_display_command): Constify.
6544
6545 2017-09-27  Tom Tromey  <tom@tromey.com>
6546
6547         * breakpoint.h (delete_command): Don't declare.
6548         * breakpoint.c (delete_command, enable_once_command)
6549         (enable_count_command, enable_delete_command, breakpoint_1)
6550         (maintenance_info_breakpoints, stopin_command, stopat_command)
6551         (delete_command, delete_trace_command, save_breakpoints)
6552         (save_breakpoints_command, save_tracepoints_command): Constify.
6553
6554 2017-09-27  Tom Tromey  <tom@tromey.com>
6555
6556         * macrocmd.c (macro_expand_command, macro_expand_once_command)
6557         (skip_ws, extract_identifier, macro_define_command)
6558         (macro_undef_command, macro_list_command): Constify.
6559
6560 2017-09-27  Tom Tromey  <tom@tromey.com>
6561
6562         * infcmd.c (environment_info, set_environment_command)
6563         (unset_environment_command, path_info, info_proc_cmd_1)
6564         (info_proc_cmd_mappings, info_proc_cmd_stat)
6565         (info_proc_cmd_status, info_proc_cmd_cwd, info_proc_cmd_cmdline)
6566         (info_proc_cmd_exe, info_proc_cmd_all): Constify.
6567
6568 2017-09-27  Tom Tromey  <tom@tromey.com>
6569
6570         * i386-tdep.c (i386_mpx_info_bounds, i386_mpx_set_bounds):
6571         Constify.
6572
6573 2017-09-27  Tom Tromey  <tom@tromey.com>
6574
6575         * symfile-mem.c (add_symbol_file_from_memory_command): Constify.
6576
6577 2017-09-27  Tom Tromey  <tom@tromey.com>
6578
6579         * demangle.c (demangle_command): Constify.
6580
6581 2017-09-27  Tom Tromey  <tom@tromey.com>
6582
6583         * progspace.c (maintenance_info_program_spaces_command):
6584         Constify.
6585
6586 2017-09-27  Tom Tromey  <tom@tromey.com>
6587
6588         * compile/compile.c (check_raw_argument, compile_file_command)
6589         (compile_code_command, compile_print_command): Constify.
6590
6591 2017-09-27  Tom Tromey  <tom@tromey.com>
6592
6593         * reggroups.c (maintenance_print_reggroups): Constify.
6594
6595 2017-09-27  Tom Tromey  <tom@tromey.com>
6596
6597         * dwarf2read.c (save_gdb_index_command): Constify.
6598
6599 2017-09-27  Tom Tromey  <tom@tromey.com>
6600
6601         * stap-probe.c (info_probes_stap_command): Constify.
6602
6603 2017-09-27  Tom Tromey  <tom@tromey.com>
6604
6605         * fork-child.c (unset_exec_wrapper_command): Constify.
6606
6607 2017-09-27  Tom Tromey  <tom@tromey.com>
6608
6609         * btrace.c (get_uint, get_context_size, no_chunk)
6610         (maint_btrace_packet_history_cmd)
6611         (maint_btrace_clear_packet_history_cmd, maint_btrace_clear_cmd)
6612         (maint_info_btrace_cmd): Constify.
6613
6614 2017-09-27  Tom Tromey  <tom@tromey.com>
6615
6616         * reverse.c (delete_bookmark_command): Constify.
6617
6618 2017-09-27  Tom Tromey  <tom@tromey.com>
6619
6620         * remote.c (set_memory_packet_size)
6621         (set_memory_write_packet_size, show_memory_write_packet_size)
6622         (set_memory_read_packet_size, show_memory_read_packet_size)
6623         (compare_sections_command, packet_command, remote_put_command)
6624         (remote_get_command, remote_delete_command): Constify.
6625
6626 2017-09-27  Tom Tromey  <tom@tromey.com>
6627
6628         * mips-tdep.c (show_mipsfpu_command, set_mipsfpu_single_command)
6629         (set_mipsfpu_double_command, set_mipsfpu_none_command)
6630         (set_mipsfpu_auto_command): Constify.
6631
6632 2017-09-27  Tom Tromey  <tom@tromey.com>
6633
6634         * cli/cli-cmds.h (cd_command): Constify.
6635         * cli/cli-cmds.c (cd_command): Constify.
6636
6637 2017-09-27  Tom Tromey  <tom@tromey.com>
6638
6639         * thread.c (thread_name_command, thread_find_command): Constify.
6640
6641 2017-09-27  Tom Tromey  <tom@tromey.com>
6642
6643         * probe.c (enable_probes_command, disable_probes_command):
6644         Constify.
6645
6646 2017-09-27  Tom Tromey  <tom@tromey.com>
6647
6648         * symfile.c (symbol_file_command): Constify.
6649         * gdbcore.h (deprecated_file_changed_hook): Constify.
6650         * exec.c (deprecated_file_changed_hook, exec_file_command)
6651         (file_command): Constify.
6652         * defs.h (symbol_file_command): Constify.
6653
6654 2017-09-27  Tom Tromey  <tom@tromey.com>
6655
6656         * remote-fileio.c (set_system_call_allowed)
6657         (show_system_call_allowed): Constify.
6658
6659 2017-09-27  Tom Tromey  <tom@tromey.com>
6660
6661         * tracepoint.c (delete_trace_variable_command)
6662         (tfind_end_command, tfind_start_command, tfind_pc_command)
6663         (tfind_tracepoint_command, tfind_line_command)
6664         (tfind_range_command, tfind_outside_command): Constify.
6665
6666 2017-09-27  Tom Tromey  <tom@tromey.com>
6667
6668         * ax-gdb.c (maint_agent_printf_command, agent_command)
6669         (agent_eval_command): Constify.
6670
6671 2017-09-27  Tom Tromey  <tom@tromey.com>
6672
6673         * tracepoint.c (info_scope_command): Constify.
6674         * python/python.c (gdbpy_decode_line): Constify.
6675         * python/py-breakpoint.c (bppy_init): Constify.
6676         * mi/mi-cmd-break.c (mi_cmd_break_insert_1): Constify.
6677         * location.h: (new_linespec_location)
6678         (string_to_event_location_basic, string_to_event_location):
6679         Constify.
6680         * location.c (new_linespec_location)
6681         (string_to_event_location_basic, string_to_event_location):
6682         Constify.
6683         * linespec.h (decode_line_with_current_source)
6684         (decode_line_with_last_displayed, linespec_lex_to_end): Constify.
6685         * linespec.c (linespec_lex_to_end)
6686         (decode_line_with_current_source)
6687         (decode_line_with_last_displayed): Constify.
6688         * guile/scm-breakpoint.c (gdbscm_register_breakpoint_x):
6689         Constify.
6690         * cli/cli-cmds.c (edit_command, list_command): Constify.
6691         * breakpoint.h (until_break_command, watch_command_wrapper)
6692         (awatch_command_wrapper, rwatch_command_wrapper)
6693         (init_ada_exception_breakpoint): Constify.
6694         * breakpoint.c (break_command_1, dprintf_command)
6695         (break_range_command, watch_command_wrapper)
6696         (rwatch_command_wrapper, awatch_command_wrapper)
6697         (until_break_command, init_ada_exception_breakpoint)
6698         (strace_marker_create_sals_from_location, trace_command)
6699         (ftrace_command, strace_command, struct tracepoint): Constify.
6700         * ax-gdb.c (agent_command_1): Constify.
6701         * ada-lang.c (ada_exception_sal): Constify.
6702
6703 2017-09-27  Tom Tromey  <tom@tromey.com>
6704
6705         * record.c (cmd_record_delete, cmd_record_stop, cmd_record_save)
6706         (cmd_record_goto_begin, cmd_record_goto_end, get_insn_number)
6707         (get_context_size, no_chunk, get_insn_history_modifiers)
6708         (cmd_record_insn_history, get_call_history_modifiers)
6709         (cmd_record_call_history): Constify.
6710
6711 2017-09-27  Tom Tromey  <tom@tromey.com>
6712
6713         * source.c (show_substitute_path_command)
6714         (unset_substitute_path_command, set_substitute_path_command):
6715         Constify.
6716
6717 2017-09-27  Tom Tromey  <tom@tromey.com>
6718
6719         * typeprint.c (maintenance_print_type): Constify.
6720         * maint.c (maintenance_dump_me, maintenance_demangle)
6721         (maintenance_time_display, maintenance_info_sections)
6722         (maintenance_print_statistics, maintenance_deprecate)
6723         (maintenance_undeprecate): Constify.
6724         (maintenance_do_deprecate): Constify.  Use std::string.
6725         (maintenance_selftest): Constify.
6726         * gdbtypes.h (maintenance_print_type): Constify.
6727
6728 2017-09-27  Tom Tromey  <tom@tromey.com>
6729
6730         * hppa-tdep.c (unwind_command): Constify.
6731
6732 2017-09-27  Tom Tromey  <tom@tromey.com>
6733
6734         * target-descriptions.c (unset_tdesc_filename_cmd)
6735         (maint_print_c_tdesc_cmd, maintenance_check_xml_descriptions):
6736         Constify.
6737
6738 2017-09-27  Tom Tromey  <tom@tromey.com>
6739
6740         * dummy-frame.c (maintenance_print_dummy_frames): Constify.
6741
6742 2017-09-27  Tom Tromey  <tom@tromey.com>
6743
6744         * tui/tui.c (tui_enable_command, tui_disable_command): Constify.
6745
6746 2017-09-27  Tom Tromey  <tom@tromey.com>
6747
6748         * tui/tui-regs.c (tui_reg_command): Constify.
6749
6750 2017-09-27  Tom Tromey  <tom@tromey.com>
6751
6752         * skip.c (skip_file_command, skip_function_command)
6753         (skip_enable_command, skip_disable_command, skip_delete_command):
6754         Constify.
6755
6756 2017-09-27  Tom Tromey  <tom@tromey.com>
6757
6758         * record-btrace.c (cmd_record_btrace_bts_start)
6759         (cmd_record_btrace_pt_start): Constify.
6760
6761 2017-09-27  Tom Tromey  <tom@tromey.com>
6762
6763         * symmisc.c (maintenance_print_symbols)
6764         (maintenance_print_msymbols, maintenance_print_objfiles)
6765         (maintenance_info_symtabs, maintenance_check_symtabs)
6766         (maintenance_expand_symtabs, maintenance_info_line_tables):
6767         Constify.
6768
6769 2017-09-27  Tom Tromey  <tom@tromey.com>
6770
6771         * top.c (new_ui_command): Constify.
6772
6773 2017-09-27  Tom Tromey  <tom@tromey.com>
6774
6775         * symfile.c (add_symbol_file_command)
6776         (remove_symbol_file_command, list_overlays_command)
6777         (map_overlay_command, unmap_overlay_command)
6778         (overlay_auto_command, overlay_manual_command)
6779         (overlay_off_command, overlay_load_command): Constify.
6780
6781 2017-09-27  Tom Tromey  <tom@tromey.com>
6782
6783         * spu-tdep.c (info_spu_event_command, info_spu_signal_command)
6784         (info_spu_mailbox_command, info_spu_dma_command)
6785         (info_spu_proxydma_command): Constify.
6786
6787 2017-09-27  Tom Tromey  <tom@tromey.com>
6788
6789         * cli/cli-logging.c (set_logging_on, set_logging_off): Constify.
6790
6791 2017-09-27  Tom Tromey  <tom@tromey.com>
6792
6793         * cli/cli-script.c (user_defined_command): Constify.
6794
6795 2017-09-27  Tom Tromey  <tom@tromey.com>
6796
6797         * cli/cli-dump.c (dump_memory_command, dump_value_command)
6798         (dump_srec_memory, dump_srec_value, dump_ihex_memory)
6799         (dump_ihex_value, dump_verilog_memory, dump_verilog_value)
6800         (dump_tekhex_memory, dump_tekhex_value, dump_binary_memory)
6801         (dump_binary_value, append_binary_memory, append_binary_value):
6802         Constify.
6803         (struct dump_context) <func>: Constify.
6804         (add_dump_command): Update.
6805
6806 2017-09-27  Tom Tromey  <tom@tromey.com>
6807
6808         * cli/cli-cmds.c (show_version, show_configuration)
6809         (source_command, show_user): Constify.
6810
6811 2017-09-27  Tom Tromey  <tom@tromey.com>
6812
6813         * target.c (maintenance_print_target_stack): Constify.
6814
6815 2017-09-27  Tom Tromey  <tom@tromey.com>
6816
6817         * interps.c (interpreter_exec_cmd): Constify.
6818
6819 2017-09-27  Tom Tromey  <tom@tromey.com>
6820
6821         * record-full.c (cmd_record_full_restore): Constify.
6822
6823 2017-09-27  Tom Tromey  <tom@tromey.com>
6824
6825         * memattr.c (enable_mem_command, disable_mem_command)
6826         (delete_mem_command): Constify.
6827
6828 2017-09-27  Tom Tromey  <tom@tromey.com>
6829
6830         * value.c (show_convenience): Constify.
6831
6832 2017-09-27  Tom Tromey  <tom@tromey.com>
6833
6834         * gdbcore.h (core_file_command): Update.
6835         * corefile.c (core_file_command): Constify.
6836
6837 2017-09-27  Tom Tromey  <tom@tromey.com>
6838
6839         * user-regs.c (maintenance_print_user_registers): Constify.
6840
6841 2017-09-27  Tom Tromey  <tom@tromey.com>
6842
6843         * cp-namespace.c (maintenance_cplus_namespace): Constify.
6844
6845 2017-09-27  Tom Tromey  <tom@tromey.com>
6846
6847         * cp-support.c (first_component_command): Constify.
6848
6849 2017-09-27  Tom Tromey  <tom@tromey.com>
6850
6851         * psymtab.c (maintenance_print_psymbols)
6852         (maintenance_info_psymtabs, maintenance_check_psymtabs):
6853         Constify.
6854
6855 2017-09-27  Tom Tromey  <tom@tromey.com>
6856
6857         * windows-tdep.c (display_tib): Constify.
6858
6859 2017-09-27  Tom Tromey  <tom@tromey.com>
6860
6861         * linux-fork.c (delete_checkpoint_command)
6862         (detach_checkpoint_command): Constify.
6863
6864 2017-09-27  Tom Tromey  <tom@tromey.com>
6865
6866         * cp-abi.c (set_cp_abi_cmd, show_cp_abi_cmd): Constify.
6867
6868 2017-09-27  Tom Tromey  <tom@tromey.com>
6869
6870         * arc-tdep.c (dump_arc_instruction_command): Constify.
6871
6872 2017-09-27  Tom Tromey  <tom@tromey.com>
6873
6874         * valprint.c (set_radix, show_radix): Constify.
6875
6876 2017-09-27  Tom Tromey  <tom@tromey.com>
6877
6878         * dtrace-probe.c (info_probes_dtrace_command): Constify.
6879
6880 2017-09-27  Tom Tromey  <tom@tromey.com>
6881
6882         * command.h (not_just_help_class_command): Update.
6883         * cli/cli-decode.h (not_just_help_class_command): Update.
6884         * cli/cli-decode.c (not_just_help_class_command): Constify.
6885
6886 2017-09-27  Tom Tromey  <tom@tromey.com>
6887
6888         * gdb_bfd.c (maintenance_info_bfds): Constify.
6889
6890 2017-09-27  Tom Tromey  <tom@tromey.com>
6891
6892         * cli/cli-decode.c (add_cmd, set_cmd_cfunc): New function
6893         overloads.
6894         (do_add_cmd): Rename from add_cmd.  Don't call set_cmd_cfunc.
6895         (do_const_cfunc): New function.
6896         (cmd_cfunc_eq): New overload.
6897         (cli_user_command_p): Check do_const_cfunc.
6898         * cli/cli-decode.h (struct cmd_list_element) <function>: New field
6899         const_cfunc.
6900         * command.h (add_cmd): Add const overload and no-function
6901         overload.
6902         (set_cmd_cfunc): Add const overload.
6903         (cmd_const_cfunc_ftype): Declare.
6904         (cmd_cfunc_eq): Add const overload.
6905         * breakpoint.c, cli-cmds.c, cli-dump.c, guile/scm-cmd.c,
6906         python/py-cmd.c, target.c, tracepoint.c: Use no-function add_cmd
6907         overload.
6908
6909 2017-09-27  Tom Tromey  <tom@tromey.com>
6910
6911         * macroexp.c (get_next_token_for_substitution): New function.
6912         (substitute_args): Call it.  Check for __VA_OPT__.
6913
6914 2017-09-26  Walfred Tedeschi  <walfred.tedeschi@intel.com>
6915             Pedro Alves <palves@redhat.com>
6916
6917         * dwarf2read.c (dwarf2_cu): Remove field producer_is_icc and add
6918         producer_is_icc_lt_14.
6919         (producer_is_icc_lt_14): New function.
6920         (check_producer): Add code for checking version of ICC.
6921         (producer_is_icc): Move to producer.c.
6922         (read_structure_type): Restrict ICC workaround to ICC<14.
6923         * producer.c: Include selftest.h.
6924         (producer_is_icc, producer_parsing_tests, _initialize_producer):
6925         New functions.
6926         * producer.h (producer_is_icc): New declaration.
6927
6928 2017-09-26  Walfred Tedeschi  <walfred.tedeschi@intel.com>
6929
6930         * Makefile.in (SFILES): Add producer.c.
6931         (COMMON_OBS): Add producer.o
6932         * amd64-tdep.c (producer.h): Add new include.
6933         * dwarf2read.c (producer.h): Add new include.
6934         * producer.c: New file.
6935         * producer.h: New file.
6936         * utils.c (producer_is_gcc, producer_is_gcc_ge_4): Move to
6937         producer.c.
6938         * utils.h (producer_is_gcc, producer_is_gcc_ge_4): Move to
6939         producer.h.
6940
6941 2017-09-26  Matthias Klose  <doko@ubuntu.com>
6942
6943         * configure.ac: Search ncursesw before ncurses.
6944         Check ncursesw/ncurses.h before ncurses/ncurses.h.
6945         * gdb_curses.h: Include <ncursesw/ncurses.h>
6946         * config.in, configure: Regenerate.
6947
6948 2017-09-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6949
6950         PR gdb/22185
6951         * configure.host <*-*-solaris2.[01], *-*-solaris2.[2-9]*>: Mark as
6952         obsolete.
6953         Use gdb_host sol2 for i[34567]86-*-solaris2*, x86_64-*-solaris2*.
6954         Remove i386sol2 support.
6955         * configure.nat <i386sol2>: Remove.
6956         <sol2-64>: Fold into ...
6957         <sol2>: ... this.
6958         Move common settings to default section.
6959         Add sol-thread.o.
6960         * configure.tgt <i[34567]86-*-solaris2.1[0-9]*,
6961         x86_64-*-solaris2.1[0-9]*>: Rename to ...
6962         <i[34567]86-*-solaris2*, x86_64-*-solaris2*>: ... this.
6963         <i[34567]86-*-solaris*>: Remove.
6964         <sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*>: Remove.
6965
6966         * configure.ac: Remove wctype in libw check.
6967         (_MSE_INT_H): Don't define on Solaris 7-9.
6968         <solaris*>: Remove libthread_db.so.1 check.
6969         * configure: Regenerate.
6970         * config.in: Regenerate.
6971
6972         * proc-service.c: Remove PROC_SERVICE_IS_OLD handling.
6973         (gdb_ps_prochandle_t, gdb_ps_read_buf_t, gdb_ps_write_buf_t)
6974         (gdb_ps_size_t): Remove.
6975         Use base types in users.
6976         * sol-thread.c: Likewise, also for gdb_ps_addr_t.
6977
6978         * NEWS (Changes since GDB 8.0): Document Solaris 2.0-9 removal.
6979
6980 2017-09-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6981
6982         PR build/22206
6983         * sparc64-tdep.c (adi_tag_fd): Print pid as long.
6984         (adi_is_addr_mapped): Likewise.
6985         (PSR_ICC): Don't redefine.
6986         (PSR_IMPL): Likewise.
6987
6988 2017-09-25  Tom Tromey  <tom@tromey.com>
6989
6990         * regcache.c (regcache::dump): Use string_printf.
6991
6992 2017-09-25  Tom Tromey  <tom@tromey.com>
6993
6994         * regcache.c (class regcache_invalidator): New.
6995         (struct register_to_invalidate): Remove.
6996         (make_cleanup_regcache_invalidate): Remove.
6997         (regcache::raw_write): Use regcache_invalidator.
6998
6999 2017-09-25  Tom Tromey  <tom@tromey.com>
7000
7001         * spu-tdep.c (spu2ppu_sniffer): Update.
7002         * regcache.h (make_cleanup_regcache_xfree): Don't declare.
7003         * regcache.c (do_regcache_xfree, make_cleanup_regcache_xfree):
7004         Remove.
7005         * ppc-linux-tdep.c (ppu2spu_sniffer): Update.
7006         * mi/mi-main.c (mi_cmd_data_list_changed_registers): Update.
7007         * frame.h (frame_save_as_regcache): Return std::unique_ptr.
7008         * frame.c (frame_save_as_regcache): Return std::unique_ptr.
7009         (frame_pop): Update.
7010
7011 2017-09-25  Tom Tromey  <tom@tromey.com>
7012
7013         * spu-tdep.c (spu2ppu_dealloc_cache): Use delete.
7014         * regcache.h (regcache_xfree): Don't declare.
7015         * regcache.c (regcache_xfree): Remove.
7016         (do_regcache_xfree): Use delete.
7017         * ppc-linux-tdep.c (ppu2spu_dealloc_cache): Use delete.
7018         * linux-fork.c (free_fork): Use delete.
7019         (fork_save_infrun_state): Likewise.
7020         * jit.c (jit_dealloc_cache): Use delete.
7021         * infrun.c (discard_infcall_suspend_state): Use delete.
7022
7023 2017-09-25  Tom Tromey  <tom@tromey.com>
7024
7025         * regcache.h (regcache_xmalloc): Don't declare.
7026         (regcache_raw_set_cached_value): Update comment.
7027         * regcache.c (regcache_xmalloc): Remove.
7028         * ppc-linux-tdep.c (ppu2spu_sniffer): Use new.
7029         * jit.c (jit_frame_sniffer): Use new.
7030         * frame.c (frame_save_as_regcache): Use new.
7031
7032 2017-09-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
7033
7034         * NEWS: Advertise support for guarded-storage registers on IBM z.
7035
7036 2017-09-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
7037
7038         * s390-linux-nat.c (have_regset_gs): New static variable.
7039         (s390_linux_fetch_inferior_registers): Handle guarded-storage
7040         control block and guarded-storage broadcast control regsets.
7041         (s390_read_description): Detect whether the target has
7042         guarded-storage support, return appropriate tdesc.
7043         * s390-linux-tdep.c (features/s390-gs-linux64.c): New include.
7044         (features/s390x-gs-linux64.c): Likewise.
7045         (struct gdbarch_tdep) <have_gs>: New field.
7046         (s390_regmap_gs, s390_regmap_gsbc, s390_gs_regset)
7047         (s390_gsbc_regset): New variables.
7048         (s390_iterate_over_regset_sections): Iterate over s390_gs_regset
7049         and s390_gsbc_regset, if applicable.
7050         (s390_core_read_description): Check whether core file was from a
7051         target with guarded-storage support; include appropriate regsets.
7052         (s390_gdbarch_init): Add registers for guarded-storage support.
7053         (_initialize_s390_tdep): Initialize new target descriptions that
7054         include registers for guarded-storage support.
7055         * s390-linux-tdep.h (HWCAP_S390_GS, S390_GSD_REGNUM)
7056         (S390_GSSM_REGNUM, S390_GSEPLA_REGNUM)
7057         (S390_BC_GSD_REGNUM, S390_BC_GSSM_REGNUM): New defines.
7058         (S390_NUM_REGS): Adjust macro definition.
7059         (s390_gs_regset, s390_gsbc_regset, tdesc_s390_gs_linux64)
7060         (tdesc_s390x_gs_linux64): New declarations.
7061
7062 2017-09-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
7063
7064         * features/s390-gs-linux64.xml: New file.
7065         * features/s390-gs.xml: New file.
7066         * features/s390-gsbc.xml: New file.
7067         * features/s390x-gs-linux64.xml: New file.
7068         * features/Makefile (WHICH): Add s390-gs-linux64 and
7069         s390x-gs-linux64.
7070         (s390-gs-linux64-expedite, s390x-gs-linux64-expedite): New macros.
7071         (XMLTOC): Add s390-gs-linux64.xml and s390x-linux64.xml.
7072         * features/s390-gs-linux64.c: New generated file.
7073         * features/s390x-gs-linux64.c: New file.
7074         * regformats/s390-gs-linux64.dat: New file.
7075         * regformats/s390x-gs-linux64.dat: New file.
7076
7077 2017-09-23  Tom Tromey  <tom@tromey.com>
7078
7079         * defs.h (make_cleanup_override_quit_handler): Don't declare.
7080
7081 2017-09-22  Tom Tromey  <tom@tromey.com>
7082
7083         * utils.c (class scoped_input_handler) <m_quit_handler>: Change
7084         type to scoped_restore_tmpl.
7085         <scoped_input_handler>: Initialize m_quit_handler directly.
7086
7087 2017-09-22  Sergio Durigan Junior  <sergiodj@redhat.com>
7088
7089         * cli/cli-cmds.c (pwd_command): Use "getcwd (NULL, 0)".
7090         (cd_command): Likewise.  Free "current_directory" before
7091         assigning to it.
7092         * main.c (captured_main_1): Use "getcwd (NULL, 0)".
7093         * mi/mi-cmd-env.c (mi_cmd_env_pwd): Likewise.
7094         * top.c (gdb_dirbuf): Remove global declaration.
7095         * top.h (gdb_dirbuf): Likewise.
7096
7097 2017-09-22  Sergio Durigan Junior  <sergiodj@redhat.com>
7098
7099         * gnulib/aclocal.m4: Regenerate.
7100         * gnulib/config.in: Regenerate.
7101         * gnulib/configure: Regenerate.
7102         * gnulib/import/Makefile.am: Regenerate.
7103         * gnulib/import/Makefile.in: Regenerate.
7104         * gnulib/import/assure.h: New file.
7105         * gnulib/import/at-func.c: Likewise
7106         * gnulib/import/chdir-long.c: New file.
7107         * gnulib/import/chdir-long.h: New file.
7108         * gnulib/import/cloexec.c: New file.
7109         * gnulib/import/cloexec.h: New file.
7110         * gnulib/import/close.c: New file.
7111         * gnulib/import/closedir.c: New file.
7112         * gnulib/import/dirent-private.h: New file.
7113         * gnulib/import/dup-safer.c: New file.
7114         * gnulib/import/dup.c: New file.
7115         * gnulib/import/dup2.c: New file.
7116         * gnulib/import/error.c: New file.
7117         * gnulib/import/error.h: New file.
7118         * gnulib/import/exitfail.c: New file.
7119         * gnulib/import/exitfail.h: New file.
7120         * gnulib/import/fchdir.c: New file.
7121         * gnulib/import/fcntl.c: New file.
7122         * gnulib/import/fcntl.in.h: New file.
7123         * gnulib/import/fd-hook.c: New file.
7124         * gnulib/import/fd-hook.h: New file.
7125         * gnulib/import/fd-safer.c: New file.
7126         * gnulib/import/fdopendir.c: New file.
7127         * gnulib/import/filename.h: New file.
7128         * gnulib/import/filenamecat-lgpl.c: New file.
7129         * gnulib/import/filenamecat.h: New file.
7130         * gnulib/import/fstat.c: New file.
7131         * gnulib/import/fstatat.c: New file.
7132         * gnulib/import/getcwd-lgpl.c: New file.
7133         * gnulib/import/getcwd.c: New file.
7134         * gnulib/import/getdtablesize.c: New file.
7135         * gnulib/import/getlogin_r.c: New file.
7136         * gnulib/import/getprogname.c: New file.
7137         * gnulib/import/getprogname.h: New file.
7138         * gnulib/import/gettext.h: New file.
7139         * gnulib/import/glob-libc.h: New file.
7140         * gnulib/import/glob.c: New file.
7141         * gnulib/import/glob.in.h: New file.
7142         * gnulib/import/intprops.h: New file.
7143         * gnulib/import/m4/chdir-long.m4: New file.
7144         * gnulib/import/m4/close.m4: New file.
7145         * gnulib/import/m4/closedir.m4: New file.
7146         * gnulib/import/m4/d-ino.m4: New file.
7147         * gnulib/import/m4/d-type.m4: New file.
7148         * gnulib/import/m4/dup.m4: New file.
7149         * gnulib/import/m4/dup2.m4: New file.
7150         * gnulib/import/m4/error.m4: New file.
7151         * gnulib/import/m4/fchdir.m4: New file.
7152         * gnulib/import/m4/fcntl.m4: New file.
7153         * gnulib/import/m4/fcntl_h.m4: New file.
7154         * gnulib/import/m4/fdopendir.m4: New file.
7155         * gnulib/import/m4/filenamecat.m4: New file.
7156         * gnulib/import/m4/fstat.m4: New file.
7157         * gnulib/import/m4/fstatat.m4: New file.
7158         * gnulib/import/m4/getcwd-abort-bug.m4: New file.
7159         * gnulib/import/m4/getcwd-path-max.m4: New file.
7160         * gnulib/import/m4/getcwd.m4: New file.
7161         * gnulib/import/m4/getdtablesize.m4: New file.
7162         * gnulib/import/m4/getlogin_r.m4: New file.
7163         * gnulib/import/m4/getprogname.m4: New file.
7164         * gnulib/import/m4/glob.m4: New file.
7165         * gnulib/import/m4/gnulib-cache.m4: Regenerate.
7166         * gnulib/import/m4/gnulib-comp.m4: Regenerate.
7167         * gnulib/import/m4/mempcpy.m4: New file.
7168         * gnulib/import/m4/memrchr.m4: New file.
7169         * gnulib/import/m4/mode_t.m4: New file.
7170         * gnulib/import/m4/msvc-inval.m4: New file.
7171         * gnulib/import/m4/msvc-nothrow.m4: New file.
7172         * gnulib/import/m4/open.m4: New file.
7173         * gnulib/import/m4/openat.m4: New file.
7174         * gnulib/import/m4/opendir.m4: New file.
7175         * gnulib/import/m4/readdir.m4: New file.
7176         * gnulib/import/m4/realloc.m4: New file.
7177         * gnulib/import/m4/rewinddir.m4: New file.
7178         * gnulib/import/m4/save-cwd.m4: New file.
7179         * gnulib/import/m4/strdup.m4: New file.
7180         * gnulib/import/m4/strerror.m4: New file.
7181         * gnulib/import/m4/unistd-safer.m4: New file.
7182         * gnulib/import/mempcpy.c: New file.
7183         * gnulib/import/memrchr.c: New file.
7184         * gnulib/import/msvc-inval.c: New file.
7185         * gnulib/import/msvc-inval.h: New file.
7186         * gnulib/import/msvc-nothrow.c: New file.
7187         * gnulib/import/msvc-nothrow.h: New file.
7188         * gnulib/import/open.c: New file.
7189         * gnulib/import/openat-die.c: New file.
7190         * gnulib/import/openat-priv.h: New file.
7191         * gnulib/import/openat-proc.c: New file.
7192         * gnulib/import/openat.c: New file.
7193         * gnulib/import/openat.h: New file.
7194         * gnulib/import/opendir.c: New file.
7195         * gnulib/import/pipe-safer.c: New file.
7196         * gnulib/import/readdir.c: New file.
7197         * gnulib/import/realloc.c: New file.
7198         * gnulib/import/rewinddir.c: New file.
7199         * gnulib/import/save-cwd.c: New file.
7200         * gnulib/import/save-cwd.h: New file.
7201         * gnulib/import/strdup.c: New file.
7202         * gnulib/import/strerror-override.c: New file.
7203         * gnulib/import/strerror-override.h: New file.
7204         * gnulib/import/strerror.c: New file.
7205         * gnulib/import/unistd--.h: New file.
7206         * gnulib/import/unistd-safer.h: New file.
7207         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add
7208         "getcwd" and "glob".
7209         * ser-tcp.c: Undefine "close" before redefining it.
7210
7211 2017-09-21  Simon Marchi  <simon.marchi@ericsson.com>
7212
7213         * guile/scm-value.c (gdbscm_value_address): Initialize address,
7214         get rid of res_val.
7215
7216 2017-09-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7217
7218         * configure.nat <i386sol2,i386>: Add fork-inferior.o to NATDEPFILES.
7219         <sol2,sparc>: Likewise.
7220         <sol2-64,i386>: Likewise.
7221
7222         * warning.m4 (AM_GDB_WARNINGS): Disable -Wunknown-pragmas,
7223         -Wdeprecated-declarations on *-*-solaris*.
7224         * configure: Regenerate.
7225
7226         * procfs.c: Include "nat/inferior.h".
7227         (procfs_info_proc): Fix typo.
7228
7229 2017-09-21  Kevin Buettner  <kevinb@redhat.com>
7230
7231         * remote.c (vector): Include.
7232         (struct private_thread_info): Add field, thread_handle.
7233         (free_private_thread_info): Deallocate storage associated with
7234         thread handle.
7235         (get_private_info_thread): Initialize `thread_handle' field.
7236         (struct thread_item): Add field, thread_handle.
7237         (clear_threads_listing_context): Deallocate storage associated
7238         with thread handle.
7239         (start_thread): Add support for "handle" attribute.
7240         (thread_attributes): Add "handle".
7241         (remote_get_threads_with_qthreadinfo): Initialize thread_handle
7242         field.
7243         (remote_update_thread_list): Update thread_handle.
7244         (remote_thread_handle_to_thread_info): New function.
7245         (init_remote_ops): Initialize to_thread_handle_to_thread_info.
7246
7247 2017-09-21  Kevin Buettner  <kevinb@redhat.com>
7248
7249         * python/py-inferior.c (gdbpy_thread_from_thread_handle): New
7250         function.
7251         (inferior_object_methods): Add gdbpy_thread_from_thread_handle.
7252         * python/python-internal.h (thread_object_type): Declare.
7253
7254 2017-09-21  Kevin Buettner  <kevinb@redhat.com>
7255
7256         * target.h (struct target_ops): Add to_thread_handle_to_thread_info.
7257         (target_thread_handle_to_thread_info): Declare.
7258         * target.c (target_thread_handle_to_thread_info): New function.
7259         * target-delegates.c: Regenerate.
7260         * gdbthread.h (find_thread_by_handle): Declare.
7261         * thread.c (find_thread_by_handle): New function.
7262         * linux-thread-db.c (thread_db_thread_handle_to_thread_info): New
7263         function.
7264         (init_thread_db_ops): Register thread_db_thread_handle_to_thread_info.
7265
7266 2017-09-21  Simon Marchi  <simon.marchi@ericsson.com>
7267
7268         * nat/linux-waitpid.c (linux_debug): Add ATTRIBUTE_PRINTF.
7269
7270 2017-09-21  Simon Marchi  <simon.marchi@ericsson.com>
7271
7272         * microblaze-tdep.c (microblaze_debug): Add ATTRIBUTE_PRINTF.
7273
7274 2017-09-21  Yao Qi  <yao.qi@linaro.org>
7275
7276         * configure.tgt (aarch64*-*-freebsd*): Add fbsd-tdep.o solib-svr4.o
7277         to gdb_target_obs.
7278
7279 2017-09-20  Tom Tromey  <tom@tromey.com>
7280
7281         * breakpoint.c (struct counted_command_line): Remove.
7282         (breakpoint_commands): Update.
7283         (alloc_counted_command_line, incref_counted_command_line)
7284         (decref_counted_command_line, do_cleanup_counted_command_line)
7285         (make_cleanup_decref_counted_command_line): Remove.
7286         (breakpoint_set_commands, commands_command_1, ~bpstats, bpstats)
7287         (bpstat_clear_actions, bpstat_do_actions_1, watchpoint_check)
7288         (bpstat_stop_status, print_one_breakpoint_location, ~breakpoint)
7289         (save_breakpoints): Update.
7290         * breakpoint.h (counted_command_line): Now a typedef to
7291         shared_ptr.
7292         (struct breakpoint) <commands>: Now a counted_command_line.
7293         (struct bpstats) <command>: Likewise.
7294
7295 2017-09-20  Tom Tromey  <tom@tromey.com>
7296
7297         * breakpoint.c (struct commands_info, do_map_commands_command):
7298         Remove.
7299         (commands_command_1): Update.
7300         (iterate_over_related_breakpoints): Take a function_view.
7301         (do_delete_breakpoint, do_map_delete_breakpoint): Remove.
7302         (delete_command): Update.
7303         (map_breakpoint_numbers): Take a function_view.
7304         (do_disable_breakpoint, do_map_delete_breakpoint): Remove.
7305         (disable_command): Update.
7306         (do_enable_breakpoint, do_map_enable_breakpoint): Remove.
7307         (enable_command): Update.
7308         (struct disp_data, do_enable_breakpoint_disp)
7309         (do_map_enable_once_breakpoint, do_map_enable_count_breakpoint)
7310         (do_map_enable_delete_breakpoint): Remove.
7311         (enable_once_command, enable_count_command, enable_delete_command)
7312         (delete_trace_variable_command): Update.
7313
7314 2017-09-20  Tom Tromey  <tom@tromey.com>
7315
7316         * breakpoint.c (~bpstats): Rename from bpstat_free.  Update.
7317         (bpstat_clear): Use delete.
7318         (bpstats): New constructors.
7319         (bpstat_copy, bpstat_stop_status): Use new.
7320         (dprintf_after_condition_true): Update.
7321         * breakpoint.h (bpstats::bpstats): Add constructors.
7322         (bpstats::~bpstats): Add destructor.
7323
7324 2017-09-20  Pedro Alves  <palves@redhat.com>
7325
7326         * eval.c (make_params): Delete, refactored as ...
7327         (class fake_method): ... this new type's ctor.
7328         (fake_method::~fake_method): New.
7329         (evaluate_subexp_standard): Use 'fake_method'.
7330
7331 2017-09-20  Tom Tromey  <tom@tromey.com>
7332
7333         * windows-nat.c (get_windows_debug_event, windows_wait)
7334         (do_initial_windows_stuff, windows_attach): Update.
7335         * utils.c (vwarning, internal_vproblem): Update.
7336         (ui_unregister_input_event_handler_cleanup)
7337         (prepare_to_handle_input): Remove.
7338         (class scoped_input_handler): New.
7339         (defaulted_query, prompt_for_continue): Update.
7340         * tui/tui-hooks.c (tui_refresh_frame_and_register_information):
7341         Update.
7342         * top.c (undo_terminal_modifications_before_exit): Update.
7343         * target/target.h (target_terminal_init, target_terminal_inferior)
7344         (target_terminal_ours): Don't declare.
7345         (class target_terminal): New.
7346         * target.h (target_terminal_is_inferior, target_terminal_is_ours)
7347         (target_terminal_ours_for_output)
7348         (make_cleanup_restore_target_terminal): Don't declare.
7349         (target_terminal_info): Remove.
7350         * target.c (enum terminal_state, terminal_state): Remove.
7351         (target_terminal::terminal_state): Define.
7352         (target_terminal::init): Rename from target_terminal_init.
7353         (target_terminal::inferior): Rename from
7354         target_terminal_inferior.
7355         (target_terminal::ours): Rename from target_terminal_ours.
7356         (target_terminal::ours_for_output): Rename from
7357         target_terminal_ours_for_output.
7358         (target_terminal::info): New method.
7359         (cleanup_restore_target_terminal)
7360         (make_cleanup_restore_target_terminal): Remove.
7361         * solib.c (handle_solib_event): Update.
7362         * remote.c (remote_serial_quit_handler): Update.
7363         (remote_terminal_inferior, remote_wait_as): Update.
7364         * record-full.c (record_full_wait_1): Update.
7365         * nto-procfs.c (procfs_create_inferior): Update.
7366         * nat/fork-inferior.c (startup_inferior): Update.
7367         * mi/mi-interp.c (mi_new_thread, mi_thread_exit)
7368         (mi_record_changed, mi_inferior_added, mi_inferior_appeared)
7369         (mi_inferior_exit, mi_inferior_removed, mi_traceframe_changed)
7370         (mi_tsv_created, mi_tsv_deleted, mi_tsv_modified)
7371         (mi_breakpoint_created, mi_breakpoint_deleted)
7372         (mi_breakpoint_modified, mi_on_resume, mi_solib_loaded)
7373         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
7374         (mi_user_selected_context_changed, report_initial_inferior):
7375         Update.
7376         * linux-nat.c (linux_nat_attach, linux_nat_terminal_ours)
7377         (linux_nat_terminal_inferior): Update.
7378         * infrun.c (follow_fork_inferior)
7379         (handle_vfork_child_exec_or_exit, do_target_resume)
7380         (check_curr_ui_sync_execution_done, handle_inferior_event_1)
7381         (handle_signal_stop, maybe_remove_breakpoints, normal_stop):
7382         Update.
7383         * inflow.c (child_terminal_init, info_terminal_command): Update.
7384         * infcmd.c (post_create_inferior, continue_1, prepare_one_step)
7385         (attach_command): Update.
7386         * infcall.c (call_thread_fsm_should_stop): Update.
7387         * gnu-nat.c (gnu_attach): Update.
7388         * extension.c (struct active_ext_lang_state)
7389         (restore_active_ext_lang): Update.
7390         * exceptions.c (print_flush): Update.
7391         * event-top.c (async_enable_stdin, default_quit_handler): Update.
7392         (struct quit_handler_cleanup_data, restore_quit_handler)
7393         (restore_quit_handler_dtor, make_cleanup_override_quit_handler):
7394         Remove.
7395         * cp-support.c (gdb_demangle): Update.
7396         * breakpoint.c (update_inserted_breakpoint_locations)
7397         (insert_breakpoint_locations, handle_jit_event)
7398         (disable_breakpoints_in_unloaded_shlib): Update.
7399         * annotate.c (annotate_breakpoints_invalid)
7400         (annotate_frames_invalid): Update.
7401
7402 2017-09-20  Tom Tromey  <tom@tromey.com>
7403
7404         * main.c (catch_command_errors): Rename from
7405         catch_command_errors_const.
7406         (captured_main_1): Update.
7407
7408 2017-09-20  Pedro Alves  <palves@redhat.com>
7409
7410         * cli/cli-cmds.c (list_command): Use print_sal_location.
7411         (print_sal_location): New function.
7412         (ambiguous_line_spec): Use print_sal_location.
7413         * linespec.c (symbol_to_sal): Record the symbol in the sal.
7414         * symtab.c (find_function_start_sal): Likewise.
7415         * symtab.h (symtab_and_line::symbol): New field.
7416
7417 2017-09-20  Pedro Alves  <palves@redhat.com>
7418
7419         * linespec.c (minsym_found): Handle non-text minsyms.
7420         (symbol_to_sal): Record a sal.pc for non-block, non-label symbols.
7421
7422 2017-09-20  Walfred Tedeschi  <walfred.tedeschi@intel.com>
7423
7424         * features/Makefile (i386-avx-mpx-avx512-pku.dat): Add missing
7425         backslash.
7426
7427 2017-09-20  Walfred Tedeschi  <walfred.tedeschi@intel.com>
7428
7429         * gdb.arch/i386-avx512.c (move_zmm_data_to_reg): Use
7430         vmovups instead vmovaps.
7431         (move_zmm_data_to_memory): Use vmovups instead vmovaps.
7432
7433 2017-09-19  John Baldwin  <jhb@FreeBSD.org>
7434
7435         * NEWS (Changes since GDB 8.0): Add starti.
7436         * infcmd.c (enum run_break): New.
7437         (run_command_1): Queue pending event for RUN_STOP_AT_FIRST_INSN
7438         case.
7439         (run_command): Use enum run_how.
7440         (start_command): Likewise.
7441         (starti_command): New function.
7442         (RUN_ARGS_HELP): New macro.
7443         (_initialize_infcmd): Use RUN_ARGS_HELP for run and start
7444         commands.  Add starti command.
7445
7446 2017-09-19  Yao Qi  <yao.qi@linaro.org>
7447
7448         * Makefile.in (monitor.o): Remove the rule.
7449
7450 2017-09-19  Yao Qi  <yao.qi@linaro.org>
7451
7452         * annotate.h (struct annotate_arg_emitter): Use
7453         DISABLE_COPY_AND_ASSIGN.
7454         * common/refcounted-object.h (refcounted_object): Likewise.
7455         * completer.h (struct completion_result): Likewise.
7456         * dwarf2read.c (struct dwarf2_per_objfile): Likewise.
7457         * filename-seen-cache.h (filename_seen_cache): Likewise.
7458         * gdbcore.h (thread_section_name): Likewise.
7459         * gdb_regex.h (compiled_regex): Likewise.
7460         * gdbthread.h (scoped_restore_current_thread): Likewise.
7461         * inferior.h (scoped_restore_current_inferior): Likewise.
7462         * jit.c (jit_reader): Likewise.
7463         * linespec.h (struct linespec_result): Likewise.
7464         * mi/mi-parse.h (struct mi_parse): Likewise.
7465         * nat/fork-inferior.c (execv_argv): Likewise.
7466         * progspace.h (scoped_restore_current_program_space): Likewise.
7467         * python/python-internal.h (class gdbpy_enter): Likewise.
7468         * regcache.h (regcache): Likewise.
7469         * target-descriptions.c (struct tdesc_reg): Likewise.
7470         (struct tdesc_type): Likewise.
7471         (struct tdesc_feature): Likewise.
7472         * ui-out.h (ui_out_emit_type): Likewise.
7473
7474 2017-09-18  Simon Marchi  <simon.marchi@ericsson.com>
7475
7476         * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Remove
7477         label abort_expression.
7478
7479 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7480
7481         * common/buffer.c (buffer_xml_printf): Adjust.
7482         * common/xml-utils.c (xml_escape_text): Change return type to
7483         std::string, update code accordingly.
7484         * common/xml-utils.h (xml_escape_text): Change return type to
7485         std::string.
7486         * rs6000-aix-tdep.c (rs6000_aix_shared_library_to_xml): Adjust.
7487         * windows-tdep.c (windows_xfer_shared_library): Adjust.
7488         * unittests/xml-utils-selftests.c (test_xml_escape_text):
7489         Adjust.
7490
7491 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7492
7493         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add new source file.
7494         (SUBDIR_UNITTESTS_OBS): Add new object file.
7495         * unittests/xml-utils-selftests.c: New file.
7496
7497 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7498
7499         * common/selftest.h (selftest): New struct/interface.
7500         (register_test): Add name parameter, add new overload.
7501         (run_tests): Add filter parameter.
7502         (for_each_selftest_ftype): New typedef.
7503         (for_each_selftest): New declaration.
7504         * common/selftest.c (tests): Change type to
7505         map<string, unique_ptr<selftest>>.
7506         (simple_selftest): New struct.
7507         (register_test): New function.
7508         (register_test): Add name parameter and use it.
7509         (run_tests): Add filter parameter and use it.  Add prints.
7510         Adjust to vector -> map change.
7511         * aarch64-tdep.c (_initialize_aarch64_tdep): Add names when
7512         registering selftests.
7513         * arm-tdep.c (_initialize_arm_tdep): Likewise.
7514         * disasm-selftests.c (_initialize_disasm_selftests): Likewise.
7515         * dwarf2-frame.c (_initialize_dwarf2_frame): Likewise.
7516         * dwarf2loc.c (_initialize_dwarf2loc): Likewise.
7517         * findvar.c (_initialize_findvar): Likewise.
7518         * gdbarch-selftests.c (_initialize_gdbarch_selftests): Likewise.
7519         * maint.c (maintenance_selftest): Update call to run_tests.
7520         (maintenance_info_selftests): New function.
7521         (_initialize_maint_cmds): Register "maintenance info selftests"
7522         command.  Update "maintenance selftest" doc.
7523         * regcache.c (_initialize_regcache): Add names when registering
7524         selftests.
7525         * rust-exp.y (_initialize_rust_exp): Likewise.
7526         * selftest-arch.c (gdbarch_selftest): New struct.
7527         (gdbarch_tests): Remove.
7528         (register_test_foreach_arch): Add name parameter.  Call
7529         register_test.
7530         (tests_with_arch): Remove, move most content to
7531         gdbarch_selftest::operator().
7532         (_initialize_selftests_foreach_arch): Remove.
7533         * selftest-arch.h (register_test_foreach_arch): Add name
7534         parameter.
7535         (run_tests_with_arch): New declaration.
7536         * utils-selftests.c (_initialize_utils_selftests): Add names
7537         when registering selftests.
7538         * utils.c (_initialize_utils): Likewise.
7539         * unittests/array-view-selftests.c
7540         (_initialize_array_view_selftests): Likewise.
7541         * unittests/environ-selftests.c (_initialize_environ_selftests):
7542         Likewise.
7543         * unittests/function-view-selftests.c
7544         (_initialize_function_view_selftests): Likewise.
7545         * unittests/offset-type-selftests.c
7546         (_initialize_offset_type_selftests): Likewise.
7547         * unittests/optional-selftests.c
7548         (_initialize_optional_selftests): Likewise.
7549         * unittests/scoped_restore-selftests.c
7550         (_initialize_scoped_restore_selftests): Likewise.
7551         * NEWS: Document "maintenance selftest" and "maint info
7552         selftests".
7553
7554 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7555
7556         * mi/mi-main.c (mi_load_progress): Restore current_uiout using a
7557         scoped_restore.
7558
7559 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7560
7561         * mi/mi-main.c (mi_load_progress): Make uiout variable
7562         a unique_ptr.
7563
7564 2017-09-15  Pedro Alves  <palves@redhat.com>
7565
7566         * compile/compile-c-types.c (convert_enum, convert_int)
7567         (convert_float): Adjust to refer to int_type_v0 and float_type_v0.
7568
7569 2017-09-15  Simon Marchi  <simon.marchi@ericsson.com>
7570
7571         * dwarf2read.c (copy_string): Remove.
7572         (parse_macro_definition): Replace copy_string with savestring.
7573
7574 2017-09-15  Yao Qi  <yao.qi@linaro.org>
7575
7576         * configure.tgt (i[34567]86-*-darwin*): Append amd64.o to
7577         gdb_target_obs.
7578         (i[34567]86-*-solaris2.1[0-9]* | x86_64-*-solaris2.1[0-9]*):
7579         Likewise.
7580         (i[34567]86-*-linux*): Likewise.
7581
7582 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7583
7584         * dwarf2expr.h (dwarf_stack_value): Add constructor.
7585         (dwarf_expr_context) <~dwarf_expr_context>: Define as default.
7586         <stack>: Change type to std::vector.
7587         <stack_len, stack_allocated>: Remove.
7588         <grow_stack>: Remove.
7589         * dwarf2expr.c (dwarf_expr_context::dwarf_expr_context): Adjust.
7590         (dwarf_expr_context::~dwarf_expr_context): Remove.
7591         (dwarf_expr_context::grow_stack): Remove.
7592         (dwarf_expr_context::push): Adjust.
7593         (dwarf_expr_context::pop): Adjust.
7594         (dwarf_expr_context::fetch): Adjust.
7595         (dwarf_expr_context::fetch_in_stack_memory): Adjust.
7596         (dwarf_expr_context::stack_empty_p): Adjust.
7597         (dwarf_expr_context::execute_stack_op): Adjust.
7598
7599 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7600
7601         * dwarf2expr.h (dwarf_expr_context) <stack_empty_p>: Change
7602         return type to bool.
7603         * dwarf2expr.c (dwarf_expr_context::stack_empty_p): Likewise.
7604
7605 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7606
7607         * dwarf2expr.h (dwarf_expr_piece) <v.mem.in_stack_memory>:
7608         Change type to bool.
7609         (dwarf_stack_value) <in_stack_memory>: Likewise.
7610         (dwarf_expr_context) <push_address>: Change parameter type to
7611         bool.
7612         <fetch_in_stack_memory>: Change return type to bool.
7613         <push>: Change parameter type to bool.
7614         * dwarf2expr.c (dwarf_expr_context::push): Change parameter type
7615         to bool.
7616         (dwarf_expr_context::push_address): Likewise.
7617         (dwarf_expr_context::fetch_in_stack_memory): Change return type
7618         to bool.
7619         (dwarf_expr_context::execute_stack_op): Adjust.
7620         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Adjust.
7621
7622 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7623
7624         * dwarf2expr.h (struct dwarf_expr_piece): Move up.
7625         (struct dwarf_expr_context) <n_pieces>: Remove.
7626         <pieces>: Change type to std::vector.
7627         * dwarf2expr.c (dwarf_expr_context::dwarf_expr_context): Adjust.
7628         (dwarf_expr_context::~dwarf_expr_context): Don't manually free
7629         pieces.
7630         (dwarf_expr_context::add_piece): Adjust.
7631         * dwarf2loc.c (struct piece_closure): Initialize fields.
7632         <n_pieces>: Remove.
7633         <pieces>: Change type to std::vector.
7634         (allocate_piece_closure): Adjust, change parameter to
7635         std::vector rvalue and std::move it to piece_closure.
7636         (rw_pieced_value): Adjust.
7637         (check_pieced_synthetic_pointer): Adjust.
7638         (indirect_synthetic_pointer): Adjust.
7639         (coerce_pieced_ref): Adjust.
7640         (free_pieced_value_closure):  Adjust.  Use delete to free
7641         piece_closure.
7642         (dwarf2_evaluate_loc_desc_full): Adjust.  std::move ctx.pieces
7643         to allocate_piece_closure.
7644         (dwarf2_loc_desc_get_symbol_read_needs): Adjust.
7645
7646 2017-09-12  Simon Marchi  <simon.marchi@ericsson.com>
7647
7648         * probe.h (probe_ops_cp): Remove typedef.
7649         (DEF_VEC_P (probe_ops_cp)): Remove.
7650         (all_probe_ops): Change type to std::vector.
7651         * probe.c (info_probes_for_ops): Adjust to vector change.
7652         (probe_linespec_to_ops): Likewise.
7653         (all_probe_ops): Change type to std::vector.
7654         (_initialize_probe): Adjust to vector change.
7655         * dtrace-probe.c (_initialize_dtrace_probe): Likewise.
7656         * elfread.c (elf_get_probes): Likewise.
7657         * stap-probe.c (_initialize_stap_probe): Likewise.
7658
7659 2017-09-12  Simon Marchi  <simon.marchi@ericsson.com>
7660
7661         * probe.h (struct bound_probe): Define constructors.
7662         * probe.c (bound_probe_s): Remove typedef.
7663         (DEF_VEC_O (bound_probe_s)): Remove VEC.
7664         (collect_probes): Change return type to std::vector, remove
7665         cleanup.
7666         (compare_probes): Return bool, change parameter type.  Change
7667         semantic to "less than".
7668         (gen_ui_out_table_header_info): Change parameter to std::vector
7669         and update.
7670         (exists_probe_with_pops): Likewise.
7671         (info_probes_for_ops): Update to std::vector change.
7672         (enable_probes_command): Likewise.
7673         (disable_probes_command): Likewise.
7674
7675 2017-09-12  Simon Marchi  <simon.marchi@ericsson.com>
7676
7677         * probe.h (struct probe_ops) <get_probes>: Change parameter from
7678         vec to std::vector.
7679         * probe.c (parse_probes_in_pspace): Update.
7680         (find_probes_in_objfile): Update.
7681         (find_probe_by_pc): Update.
7682         (collect_probes): Update.
7683         (probe_any_get_probes): Update.
7684         * symfile.h (struct sym_probe_fns) <sym_get_probes> Change
7685         return type to reference to std::vector.
7686         * dtrace-probe.c (dtrace_process_dof_probe): Change parameter to
7687         std::vector and update.
7688         (dtrace_process_dof): Likewise.
7689         (dtrace_get_probes): Likewise.
7690         * elfread.c (elf_get_probes): Change return type to std::vector,
7691         store an std::vector in bfd_data.
7692         (probe_key_free): Update to std::vector.
7693         * stap-probe.c (handle_stap_probe): Change parameter to
7694         std::vector and update.
7695         (stap_get_probes): Likewise.
7696         * symfile-debug.c (debug_sym_get_probes): Change return type to
7697         std::vector and update.
7698
7699 2017-09-11  Tom Tromey  <tom@tromey.com>
7700
7701         * breakpoint.c (program_breakpoint_here_p): Update.
7702         * target.c (make_scoped_restore_show_memory_breakpoints): Rename
7703         from make_show_memory_breakpoints_cleanup.  Return a
7704         scoped_restore_tmpl<int>.
7705         (restore_show_memory_breakpoints): Remove.
7706         * ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint): Update.
7707         * mem-break.c (memory_validate_breakpoint): Update.
7708         * ia64-tdep.c (ia64_memory_insert_breakpoint): Update.
7709         (ia64_memory_remove_breakpoint): Update.
7710         (ia64_breakpoint_from_pc): Update.
7711         * target.h (make_scoped_restore_show_memory_breakpoints): Rename
7712         from make_show_memory_breakpoints_cleanup.
7713
7714 2017-09-11  Tom Tromey  <tom@tromey.com>
7715
7716         * d-namespace.c (d_lookup_symbol): Use std::string.
7717         (find_symbol_in_baseclass): Likewise.
7718
7719 2017-09-11  Tom Tromey  <tom@tromey.com>
7720
7721         * ctf.c (ctf_start): Use std::string.
7722
7723 2017-09-11  Tom Tromey  <tom@tromey.com>
7724
7725         * ada-lang.c (is_known_support_routine): Update.
7726         (ada_unhandled_exception_name_addr_from_raise): Update.
7727         * guile/scm-frame.c (gdbscm_frame_name): Update.
7728         * python/py-frame.c (frapy_name): Update.
7729         (frapy_function): Update.
7730         * stack.h (find_frame_funname): Update.
7731         * stack.c (find_frame_funname): Return unique_xmalloc_ptr.
7732         (print_frame): Update.
7733
7734 2017-09-11  Tom Tromey  <tom@tromey.com>
7735
7736         * findcmd.c (put_bits): Take a gdb::byte_vector.
7737         (parse_find_args): Return gdb::byte_vector.  "args" now const.
7738         Remove "pattern_bufp" and "pattern_lenp" parameters.  Remove
7739         cleanups.
7740         (find_command): Update.
7741
7742 2017-09-11  Tom Tromey  <tom@tromey.com>
7743
7744         * cli/cli-script.c (class scoped_restore_hook_in): New.
7745         (clear_hook_in_cleanup): Remove.
7746         (execute_cmd_pre_hook, execute_cmd_post_hook): Use
7747         scoped_restore_hook_in.
7748
7749 2017-09-11  Tom Tromey  <tom@tromey.com>
7750
7751         * cli/cli-script.c (restore_interp): Remove.
7752         (read_command_lines): Use scoped_restore_interp.
7753         * interps.c (scoped_restore_interp::set_temp): Rename from
7754         interp_set_temp.
7755         * interps.h (class scoped_restore_interp): New.
7756         (interp_set_temp): Remove.
7757
7758 2017-09-11  Tom Tromey  <tom@tromey.com>
7759
7760         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
7761         (mi_cmd_catch_exception, mi_catch_load_unload): Update.
7762         * mi/mi-cmd-break.c (setup_breakpoint_reporting): Return a
7763         scoped_restore.
7764         (mi_cmd_break_insert_1): Update.
7765         * mi/mi-cmd-break.h (setup_breakpoint_reporting): Return a
7766         scoped_restore.
7767
7768 2017-09-11  Tom Tromey  <tom@tromey.com>
7769
7770         * demangle.c (demangle_command): Update.
7771         * breakpoint.c (disable_command): Update.
7772         (enable_command): Update.
7773         (find_location_by_number): Make "number" const.  Use
7774         get_number_trailer.
7775         * cli/cli-utils.c (extract_arg): Return std::string.
7776         * probe.c (parse_probe_linespec): Update.  Change types.
7777         (collect_probes): Take string arguments.
7778         (parse_probe_linespec): Likewise.
7779         (info_probes_for_ops): Update.
7780         (enable_probes_command): Update.
7781         (disable_probes_command): Update.
7782         * break-catch-sig.c (catch_signal_split_args): Update.
7783         * mi/mi-parse.c (mi_parse): Update.
7784
7785 2017-09-11  Tom Tromey  <tom@tromey.com>
7786
7787         * language.h (language_enum): Make argument const.
7788         * language.c (language_enum): Make argument const.
7789
7790 2017-09-11  Tom Tromey  <tom@tromey.com>
7791
7792         * common/common-utils.h (skip_to_space): Remove macro, redeclare
7793         as function.
7794         (skip_to_space): Rename from skip_to_space_const.
7795         * common/common-utils.c (skip_to_space): New function.
7796         (skip_to_space): Rename from skip_to_space_const.
7797         * cli/cli-utils.h (get_number): Rename from get_number_const.
7798         (extract_arg): Rename from extract_arg_const.
7799         * cli/cli-utils.c (get_number): Rename from get_number_const.
7800         (extract_arg): Rename from extract_arg_const.
7801         (number_or_range_parser::get_number): Use ::get_number.
7802         * aarch64-linux-tdep.c, ada-lang.c, arm-linux-tdep.c, ax-gdb.c,
7803         break-catch-throw.c, breakpoint.c, cli/cli-cmds.c, cli/cli-dump.c,
7804         cli/cli-script.c, cli/cli-setshow.c, compile/compile.c,
7805         completer.c, demangle.c, disasm.c, findcmd.c, linespec.c,
7806         linux-tdep.c, linux-thread-db.c, location.c, mi/mi-parse.c,
7807         minsyms.c, nat/linux-procfs.c, printcmd.c, probe.c,
7808         python/py-breakpoint.c, record.c, rust-exp.y, serial.c, stack.c,
7809         stap-probe.c, tid-parse.c, tracepoint.c: Update all callers.
7810
7811 2017-09-11  Tom Tromey  <tom@tromey.com>
7812
7813         * python/python.c (do_start_initialization): Use
7814         py-event-types.def to initialize types.
7815         Define all object type structures.
7816         * python/python-internal.h: Don't declare event initialization
7817         functions.
7818         * python/py-threadevent.c (thread_event_object_type): Don't
7819         define.
7820         * python/py-stopevent.c (stop_event_object_type): Don't define.
7821         * python/py-signalevent.c (signal_event_object_type): Don't
7822         declare or define.
7823         * python/py-newobjfileevent.c (new_objfile_event_object_type)
7824         (clear_objfiles_event_object_type): Don't declare or define.
7825         * python/py-infevents.c (inferior_call_pre_event_object_type)
7826         (inferior_call_post_event_object_type)
7827         (register_changed_event_object_type)
7828         (memory_changed_event_object_type): Don't declare or define.
7829         * python/py-inferior.c (new_thread_event_object_type)
7830         (new_inferior_event_object_type)
7831         (inferior_deleted_event_object_type): Don't declare or define.
7832         * python/py-exitedevent.c (exited_event_object_type): Don't
7833         declare or define.
7834         * python/py-evts.c (gdbpy_initialize_py_events): Use
7835         py-all-events.def.
7836         * python/py-events.h (thread_event_object_type): Don't declare.
7837         (events_object): Use py-all-events.def.
7838         * python/py-event.h (GDBPY_NEW_EVENT_TYPE): Remove.  Use
7839         py-event-types.def.
7840         * python/py-event-types.def: New file.
7841         * python/py-continueevent.c (create_continue_event_object): Don't
7842         declare or define.
7843         * python/py-bpevent.c (breakpoint_event_object_type): Don't
7844         declare or define.
7845         * python/py-all-events.def: New file.
7846
7847 2017-09-11  Tom Tromey  <tom@tromey.com>
7848
7849         * python/py-threadevent.c (create_thread_event_object): Return
7850         gdbpy_ref.
7851         * python/py-stopevent.h (create_stop_event_object)
7852         (create_breakpoint_event_object, create_signal_event_object):
7853         Update.
7854         * python/py-stopevent.c (create_stop_event_object): Return
7855         gdbpy_ref.
7856         (emit_stop_event): Update.
7857         * python/py-signalevent.c (create_signal_event_object): Return
7858         gdbpy_ref.
7859         * python/py-infevents.c (create_inferior_call_event_object):
7860         Update.
7861         * python/py-event.h (create_event_object)
7862         (create_thread_event_object): Update.
7863         * python/py-event.c (create_event_object): Return gdbpy_ref.
7864         * python/py-continueevent.c: Return gdbpy_ref.
7865         * python/py-bpevent.c (create_breakpoint_event_object): Return
7866         gdbpy_ref.
7867
7868 2017-09-11  Tom Tromey  <tom@tromey.com>
7869
7870         PR python/15622:
7871         * NEWS: Add entry.
7872         * python/python.c (do_start_initialization): Initialize new event
7873         types.
7874         * python/python-internal.h (gdbpy_initialize_new_inferior_event)
7875         (gdbpy_initialize_inferior_deleted_event)
7876         (gdbpy_initialize_new_thread_event): Declare.
7877         * python/py-threadevent.c (create_thread_event_object): Add option
7878         "thread" parameter.
7879         * python/py-inferior.c (new_thread_event_object_type)
7880         (new_inferior_event_object_type)
7881         (inferior_deleted_event_object_type): Declare.
7882         (python_new_inferior, python_inferior_deleted): New functions.
7883         (add_thread_object): Emit new_thread event.
7884         (gdbpy_initialize_inferior): Attach new functions to corresponding
7885         observers.
7886         (new_thread, new_inferior, inferior_deleted): Define new event
7887         types.
7888         * python/py-evts.c (gdbpy_initialize_py_events): Add new
7889         registries.
7890         * python/py-events.h (events_object) <new_inferior,
7891         inferior_deleted, new_thread>: New fields.
7892         * python/py-event.h (create_thread_event_breakpoint): Add optional
7893         "thread" parameter.
7894
7895 2017-09-10  Andrew Burgess  <andrew.burgess@embecosm.com>
7896
7897         * utils.c (abort_with_message): Don't compare gdb_stderr to NULL,
7898         check current_ui instead.
7899         (internal_vproblem): Likewise.
7900
7901 2017-09-09  Simon Marchi  <simon.marchi@ericsson.com>
7902
7903         * thread.c (print_thread_info_1): Remove unnecessary calls to
7904         uiout->is_mi_like_p.
7905
7906 2017-09-09  Tom Tromey  <tom@tromey.com>
7907
7908         * namespace.h (add_using_directive): Update.
7909         * namespace.c (add_using_directive): Change type of excludes to
7910         std::vector.
7911         * dwarf2read.c (read_import_statement): Use std::vector.
7912         (read_namespace): Update.
7913         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
7914
7915 2017-09-09  Tom Tromey  <tom@tromey.com>
7916
7917         * linespec.c (create_sals_line_offset): Use gdb::def_vector.
7918
7919 2017-09-09  Tom Tromey  <tom@tromey.com>
7920
7921         * p-valprint.c (pascal_object_print_value): Use gdb::byte_vector.
7922
7923 2017-09-09  Tom Tromey  <tom@tromey.com>
7924
7925         * stack.c (func_command): Use gdb::def_vector.
7926
7927 2017-09-09  Tom Tromey  <tom@tromey.com>
7928
7929         * mi/mi-cmd-var.c (mi_cmd_var_list_children): Use gdb::optional,
7930         ui_out_emit_list, ui_out_emit_tuple.
7931         (mi_cmd_var_update): Likewise.
7932
7933 2017-09-09  Tom Tromey  <tom@tromey.com>
7934
7935         * mi/mi-interp.c (mi_user_selected_context_changed): Use
7936         ui_out_redirect_pop.
7937         * guile/scm-ports.c (ioscm_with_output_to_port_worker): Use
7938         ui_out_redirect_pop.
7939         * utils.c (do_ui_out_redirect_pop)
7940         (make_cleanup_ui_out_redirect_pop): Remove.
7941         * top.c (execute_command_to_string): Use ui_out_redirect_pop.
7942         * utils.h (make_cleanup_ui_out_redirect_pop): Remove.
7943         * ui-out.h (ui_out_redirect_pop): New class.
7944
7945 2017-09-09  Tom Tromey  <tom@tromey.com>
7946
7947         * mi/mi-main.c (output_cores): Use ui_out_emit_list.
7948         (list_available_thread_groups, mi_cmd_list_thread_groups)
7949         (mi_cmd_data_list_changed_registers, mi_cmd_data_read_memory)
7950         (mi_cmd_data_read_memory_bytes, mi_cmd_trace_frame_collected):
7951         Likewise.
7952
7953 2017-09-09  Tom Tromey  <tom@tromey.com>
7954
7955         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn): Use
7956         ui_out_emit_tuple.
7957
7958 2017-09-09  Tom Tromey  <tom@tromey.com>
7959
7960         * target.c (flash_erase_command): Use ui_out_emit_tuple.
7961         * stack.c (print_frame): Use ui_out_emit_tuple.
7962         * spu-tdep.c (info_spu_event_command): Use ui_out_emit_tuple.
7963         (info_spu_mailbox_command, info_spu_dma_command)
7964         (info_spu_proxydma_command): Likewise.
7965         * mi/mi-main.c (mi_cmd_trace_frame_collected): Use
7966         ui_out_emit_tuple, gdb::byte_vector, bin2hex.
7967         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Use
7968         ui_out_emit_tuple.
7969         * breakpoint.c (print_it_watchpoint): Use ui_out_emit_tuple.
7970
7971 2017-09-09  Tom Tromey  <tom@tromey.com>
7972
7973         * ui-out.h (make_cleanup_ui_out_table_begin_end): Remove.
7974         (class ui_out_emit_table): Update comment.
7975         * ui-out.c (do_cleanup_table_end)
7976         (make_cleanup_ui_out_table_begin_end): Remove.
7977         * spu-tdep.c (info_spu_mailbox_list): Use ui_out_emit_table.
7978         (info_spu_dma_cmdlist): Likewise.
7979         * probe.c (info_probes_for_ops): Use ui_out_emit_table.
7980         * darwin-nat-info.c (darwin_debug_regions_recurse): Use
7981         ui_out_emit_table.
7982
7983 2017-09-09  Tom Tromey  <tom@tromey.com>
7984
7985         * thread.c (print_thread_info_1): Use ui_out_emit_table,
7986         ui_out_emit_list, gdb::optional.
7987
7988 2017-09-09  John Baldwin  <jhb@FreeBSD.org>
7989
7990         * aarch64-linux-nat.c: Remove _initialize_aarch64_linux_nat
7991         prototype.
7992         * aarch64-linux-tdep.c: Remove _initialize_aarch64_linux_tdep
7993         prototype.
7994         * aarch64-newlib-tdep.c: Remove _initialize_aarch64_newlib_tdep
7995         prototype.
7996         * aarch64-tdep.c: Remove _initialize_aarch64_tdep prototype.
7997         * ada-exp.y: Remove _initialize_ada_exp prototype.
7998         * ada-lang.c: Remove _initialize_ada_language prototype.
7999         * ada-tasks.c: Remove _initialize_tasks prototype.
8000         * addrmap.c: Remove _initialize_addrmap prototype.
8001         * agent.c: Remove _initialize_agent prototype.
8002         * aix-thread.c: Remove _initialize_aix_thread prototype.
8003         * alpha-bsd-nat.c: Remove _initialize_alphabsd_nat prototype.
8004         * alpha-linux-nat.c: Remove _initialize_alpha_linux_nat prototype.
8005         * alpha-linux-tdep.c: Remove _initialize_alpha_linux_tdep
8006         prototype.
8007         * alpha-nbsd-tdep.c: Remove _initialize_alphanbsd_tdep prototype.
8008         * alpha-obsd-tdep.c: Remove _initialize_alphaobsd_tdep prototype.
8009         * alpha-tdep.c: Remove _initialize_alpha_tdep prototype.
8010         * amd64-darwin-tdep.c: Remove _initialize_amd64_darwin_tdep
8011         prototype.
8012         * amd64-dicos-tdep.c: Remove _initialize_amd64_dicos_tdep
8013         prototype.
8014         * amd64-fbsd-nat.c: Remove _initialize_amd64fbsd_nat prototype.
8015         * amd64-fbsd-tdep.c: Remove _initialize_amd64fbsd_tdep prototype.
8016         * amd64-linux-nat.c: Remove _initialize_amd64_linux_nat prototype.
8017         * amd64-linux-tdep.c: Remove _initialize_amd64_linux_tdep
8018         prototype.
8019         * amd64-nbsd-nat.c: Remove _initialize_amd64nbsd_nat prototype.
8020         * amd64-nbsd-tdep.c: Remove _initialize_amd64nbsd_tdep prototype.
8021         * amd64-obsd-nat.c: Remove _initialize_amd64obsd_nat prototype.
8022         * amd64-obsd-tdep.c: Remove _initialize_amd64obsd_tdep prototype.
8023         * amd64-sol2-tdep.c: Remove _initialize_amd64_sol2_tdep prototype.
8024         * amd64-tdep.c: Remove _initialize_amd64_tdep prototype.
8025         * amd64-windows-nat.c: Remove _initialize_amd64_windows_nat
8026         prototype.
8027         * amd64-windows-tdep.c: Remove _initialize_amd64_windows_tdep
8028         prototype.
8029         * annotate.c: Remove _initialize_annotate prototype.
8030         * arc-newlib-tdep.c: Remove _initialize_arc_newlib_tdep prototype.
8031         * arc-tdep.c: Remove _initialize_arc_tdep prototype.
8032         * arch-utils.c: Remove _initialize_gdbarch_utils prototype.
8033         * arm-linux-nat.c: Remove _initialize_arm_linux_nat prototype.
8034         * arm-linux-tdep.c: Remove _initialize_arm_linux_tdep prototype.
8035         * arm-nbsd-tdep.c: Remove _initialize_arm_netbsd_tdep prototype.
8036         * arm-obsd-tdep.c: Remove _initialize_armobsd_tdep prototype.
8037         * arm-symbian-tdep.c: Remove _initialize_arm_symbian_tdep
8038         prototype.
8039         * arm-tdep.c: Remove _initialize_arm_tdep prototype.
8040         * arm-wince-tdep.c: Remove _initialize_arm_wince_tdep prototype.
8041         * auto-load.c: Remove _initialize_auto_load prototype.
8042         * auxv.c: Remove _initialize_auxv prototype.
8043         * avr-tdep.c: Remove _initialize_avr_tdep prototype.
8044         * ax-gdb.c: Remove _initialize_ax_gdb prototype.
8045         * bfin-linux-tdep.c: Remove _initialize_bfin_linux_tdep prototype.
8046         * bfin-tdep.c: Remove _initialize_bfin_tdep prototype.
8047         * break-catch-sig.c: Remove _initialize_break_catch_sig prototype.
8048         * break-catch-syscall.c: Remove _initialize_break_catch_syscall
8049         prototype.
8050         * break-catch-throw.c: Remove _initialize_break_catch_throw
8051         prototype.
8052         * breakpoint.c: Remove _initialize_breakpoint prototype.
8053         * bsd-uthread.c: Remove _initialize_bsd_uthread prototype.
8054         * btrace.c: Remove _initialize_btrace prototype.
8055         * charset.c: Remove _initialize_charset prototype.
8056         * cli/cli-cmds.c: Remove _initialize_cli_cmds prototype.
8057         * cli/cli-dump.c: Remove _initialize_cli_dump prototype.
8058         * cli/cli-interp.c: Remove _initialize_cli_interp prototype.
8059         * cli/cli-logging.c: Remove _initialize_cli_logging prototype.
8060         * cli/cli-script.c: Remove _initialize_cli_script prototype.
8061         * coff-pe-read.c: Remove _initialize_coff_pe_read prototype.
8062         * coffread.c: Remove _initialize_coffread prototype.
8063         * compile/compile.c: Remove _initialize_compile prototype.
8064         * complaints.c: Remove _initialize_complaints prototype.
8065         * completer.c: Remove _initialize_completer prototype.
8066         * copying.awk: Remove _initialize_copying prototype.
8067         * copying.c: Regenerate.
8068         * core-regset.c: Remove _initialize_core_regset prototype.
8069         * corefile.c: Remove _initialize_core prototype.
8070         * corelow.c: Remove _initialize_corelow prototype.
8071         * cp-abi.c: Remove _initialize_cp_abi prototype.
8072         * cp-namespace.c: Remove _initialize_cp_namespace prototype.
8073         * cp-support.c: Remove _initialize_cp_support prototype.
8074         * cp-valprint.c: Remove _initialize_cp_valprint prototype.
8075         * cris-linux-tdep.c: Remove _initialize_cris_linux_tdep prototype.
8076         * cris-tdep.c: Remove _initialize_cris_tdep prototype.
8077         * ctf.c: Remove _initialize_ctf prototype.
8078         * d-lang.c: Remove _initialize_d_language prototype.
8079         * darwin-nat-info.c: Remove _initialize_darwin_info_commands
8080         prototype.
8081         * darwin-nat.c: Remove _initialize_darwin_inferior prototype.
8082         * dbxread.c: Remove _initialize_dbxread prototype.
8083         * dcache.c: Remove _initialize_dcache prototype.
8084         * demangle.c: Remove _initialize_demangler prototype.
8085         * disasm-selftests.c: Remove _initialize_disasm_selftests
8086         prototype.
8087         * disasm.c: Remove _initialize_disasm prototype.
8088         * dtrace-probe.c: Remove _initialize_dtrace_probe prototype.
8089         * dummy-frame.c: Remove _initialize_dummy_frame prototype.
8090         * dwarf2-frame-tailcall.c: Remove _initialize_tailcall_frame
8091         prototype.
8092         * dwarf2-frame.c: Remove _initialize_dwarf2_frame prototype.
8093         * dwarf2expr.c: Remove _initialize_dwarf2expr prototype.
8094         * dwarf2loc.c: Remove _initialize_dwarf2loc prototype.
8095         * dwarf2read.c: Remove _initialize_dwarf2_read prototype.
8096         * elfread.c: Remove _initialize_elfread prototype.
8097         * exec.c: Remove _initialize_exec prototype.
8098         * extension.c: Remove _initialize_extension prototype.
8099         * f-lang.c: Remove _initialize_f_language prototype.
8100         * f-valprint.c: Remove _initialize_f_valprint prototype.
8101         * fbsd-nat.c: Remove _initialize_fbsd_nat prototype.
8102         * fbsd-tdep.c: Remove _initialize_fbsd_tdep prototype.
8103         * filesystem.c: Remove _initialize_filesystem prototype.
8104         * findcmd.c: Remove _initialize_mem_search prototype.
8105         * fork-child.c: Remove _initialize_fork_child prototype.
8106         * frame-base.c: Remove _initialize_frame_base prototype.
8107         * frame-unwind.c: Remove _initialize_frame_unwind prototype.
8108         * frame.c: Remove _initialize_frame prototype.
8109         * frv-linux-tdep.c: Remove _initialize_frv_linux_tdep prototype.
8110         * frv-tdep.c: Remove _initialize_frv_tdep prototype.
8111         * ft32-tdep.c: Remove _initialize_ft32_tdep prototype.
8112         * gcore.c: Remove _initialize_gcore prototype.
8113         * gdb_bfd.c: Remove _initialize_gdb_bfd prototype.
8114         * gdbarch.c: Regenerate.
8115         * gdbarch.sh: Remove _initialize_gdbarch prototype.
8116         * gdbtypes.c: Remove _initialize_gdbtypes prototype.
8117         * gnu-nat.c: Remove _initialize_gnu_nat prototype.
8118         * gnu-v2-abi.c: Remove _initialize_gnu_v2_abi prototype.
8119         * gnu-v3-abi.c: Remove _initialize_gnu_v3_abi prototype.
8120         * go-lang.c: Remove _initialize_go_language prototype.
8121         * go32-nat.c: Remove _initialize_go32_nat prototype.
8122         * guile/guile.c: Remove _initialize_guile prototype.
8123         * h8300-tdep.c: Remove _initialize_h8300_tdep prototype.
8124         * hppa-linux-nat.c: Remove _initialize_hppa_linux_nat prototype.
8125         * hppa-linux-tdep.c: Remove _initialize_hppa_linux_tdep prototype.
8126         * hppa-nbsd-nat.c: Remove _initialize_hppanbsd_nat prototype.
8127         * hppa-nbsd-tdep.c: Remove _initialize_hppanbsd_tdep prototype.
8128         * hppa-obsd-nat.c: Remove _initialize_hppaobsd_nat prototype.
8129         * hppa-obsd-tdep.c: Remove _initialize_hppaobsd_tdep prototype.
8130         * hppa-tdep.c: Remove _initialize_hppa_tdep prototype.
8131         * i386-bsd-nat.c: Remove _initialize_i386bsd_nat prototype.
8132         * i386-cygwin-tdep.c: Remove _initialize_i386_cygwin_tdep
8133         prototype.
8134         * i386-darwin-tdep.c: Remove _initialize_i386_darwin_tdep
8135         prototype.
8136         * i386-dicos-tdep.c: Remove _initialize_i386_dicos_tdep prototype.
8137         * i386-fbsd-nat.c: Remove _initialize_i386fbsd_nat prototype.
8138         * i386-fbsd-tdep.c: Remove _initialize_i386fbsd_tdep prototype.
8139         * i386-gnu-nat.c: Remove _initialize_i386gnu_nat prototype.
8140         * i386-gnu-tdep.c: Remove _initialize_i386gnu_tdep prototype.
8141         * i386-linux-nat.c: Remove _initialize_i386_linux_nat prototype.
8142         * i386-linux-tdep.c: Remove _initialize_i386_linux_tdep prototype.
8143         * i386-nbsd-nat.c: Remove _initialize_i386nbsd_nat prototype.
8144         * i386-nbsd-tdep.c: Remove _initialize_i386nbsd_tdep prototype.
8145         * i386-nto-tdep.c: Remove _initialize_i386nto_tdep prototype.
8146         * i386-obsd-nat.c: Remove _initialize_i386obsd_nat prototype.
8147         * i386-obsd-tdep.c: Remove _initialize_i386obsd_tdep prototype.
8148         * i386-sol2-nat.c: Remove _initialize_amd64_sol2_nat prototype.
8149         * i386-sol2-tdep.c: Remove _initialize_amd64_sol2_tdep prototype.
8150         * i386-tdep.c: Remove _initialize_i386_tdep prototype.
8151         * i386-windows-nat.c: Remove _initialize_i386_windows_nat
8152         prototype.
8153         * ia64-libunwind-tdep.c: Remove _initialize_libunwind_frame
8154         prototype.
8155         * ia64-linux-nat.c: Remove _initialize_ia64_linux_nat prototype.
8156         * ia64-linux-tdep.c: Remove _initialize_ia64_linux_tdep prototype.
8157         * ia64-tdep.c: Remove _initialize_ia64_tdep prototype.
8158         * ia64-vms-tdep.c: Remove _initialize_ia64_vms_tdep prototype.
8159         * infcall.c: Remove _initialize_infcall prototype.
8160         * infcmd.c: Remove _initialize_infcmd prototype.
8161         * inferior.c: Remove _initialize_inferiors prototype.
8162         * inflow.c: Remove _initialize_inflow prototype.
8163         * infrun.c: Remove _initialize_infrun prototype.
8164         * interps.c: Remove _initialize_interpreter prototype.
8165         * iq2000-tdep.c: Remove _initialize_iq2000_tdep prototype.
8166         * jit.c: Remove _initialize_jit prototype.
8167         * language.c: Remove _initialize_language prototype.
8168         * linux-fork.c: Remove _initialize_linux_fork prototype.
8169         * linux-nat.c: Remove _initialize_linux_nat prototype.
8170         * linux-tdep.c: Remove _initialize_linux_tdep prototype.
8171         * linux-thread-db.c: Remove _initialize_thread_db prototype.
8172         * lm32-tdep.c: Remove _initialize_lm32_tdep prototype.
8173         * m2-lang.c: Remove _initialize_m2_language prototype.
8174         * m32c-tdep.c: Remove _initialize_m32c_tdep prototype.
8175         * m32r-linux-nat.c: Remove _initialize_m32r_linux_nat prototype.
8176         * m32r-linux-tdep.c: Remove _initialize_m32r_linux_tdep prototype.
8177         * m32r-tdep.c: Remove _initialize_m32r_tdep prototype.
8178         * m68hc11-tdep.c: Remove _initialize_m68hc11_tdep prototype.
8179         * m68k-bsd-nat.c: Remove _initialize_m68kbsd_nat prototype.
8180         * m68k-bsd-tdep.c: Remove _initialize_m68kbsd_tdep prototype.
8181         * m68k-linux-nat.c: Remove _initialize_m68k_linux_tdep prototype.
8182         * m68k-linux-tdep.c: Remove _initialize_m68k_linux_tdep prototype.
8183         * m68k-tdep.c: Remove _initialize_m68k_tdep prototype.
8184         * m88k-bsd-nat.c: Remove _initialize_m68kbsd_nat prototype.
8185         * m88k-tdep.c: Remove _initialize_m68kbsd_tdep prototype.
8186         * machoread.c: Remove _initialize_machoread prototype.
8187         * macrocmd.c: Remove _initialize_macrocmd prototype.
8188         * macroscope.c: Remove _initialize_macroscope prototype.
8189         * maint.c: Remove _initialize_maint_cmds prototype.
8190         * mdebugread.c: Remove _initialize_mdebugread prototype.
8191         * memattr.c: Remove _initialize_mem prototype.
8192         * mep-tdep.c: Remove _initialize_mep_tdep prototype.
8193         * mi/mi-cmd-env.c: Remove _initialize_mi_cmd_env prototype.
8194         * mi/mi-cmds.c: Remove _initialize_mi_cmds prototype.
8195         * mi/mi-interp.c: Remove _initialize_mi_interp prototype.
8196         * mi/mi-main.c: Remove _initialize_mi_main prototype.
8197         * microblaze-linux-tdep.c: Remove
8198         _initialize_microblaze_linux_tdep prototype.
8199         * microblaze-tdep.c: Remove _initialize_microblaze_tdep prototype.
8200         * mips-fbsd-nat.c: Remove _initialize_mips_fbsd_nat prototype.
8201         * mips-fbsd-tdep.c: Remove _initialize_mips_fbsd_tdep prototype.
8202         * mips-linux-nat.c: Remove _initialize_mips_linux_nat prototype.
8203         * mips-linux-tdep.c: Remove _initialize_mips_linux_tdep prototype.
8204         * mips-nbsd-nat.c: Remove _initialize_mipsnbsd_nat prototype.
8205         * mips-nbsd-tdep.c: Remove _initialize_mipsnbsd_tdep prototype.
8206         * mips-sde-tdep.c: Remove _initialize_mips_sde_tdep prototype.
8207         * mips-tdep.c: Remove _initialize_mips_tdep prototype.
8208         * mips64-obsd-nat.c: Remove _initialize_mips64obsd_nat prototype.
8209         * mips64-obsd-tdep.c: Remove _initialize_mips64obsd_tdep
8210         prototype.
8211         * mipsread.c: Remove _initialize_mipsread prototype.
8212         * mn10300-linux-tdep.c: Remove _initialize_mn10300_linux_tdep
8213         prototype.
8214         * mn10300-tdep.c: Remove _initialize_mn10300_tdep prototype.
8215         * moxie-tdep.c: Remove _initialize_moxie_tdep prototype.
8216         * msp430-tdep.c: Remove _initialize_msp430_tdep prototype.
8217         * mt-tdep.c: Remove _initialize_mt_tdep prototype.
8218         * nds32-tdep.c: Remove _initialize_nds32_tdep prototype.
8219         * nios2-linux-tdep.c: Remove _initialize_nios2_linux_tdep
8220         prototype.
8221         * nios2-tdep.c: Remove _initialize_nios2_tdep prototype.
8222         * nto-procfs.c: Remove _initialize_procfs prototype.
8223         * nto-tdep.c: Remove _initialize_nto_tdep prototype.
8224         * objc-lang.c: Remove _initialize_objc_language prototype.
8225         * objfiles.c: Remove _initialize_objfiles prototype.
8226         * observer.c: Remove observer_test_first_notification_function,
8227         observer_test_second_notification_function,
8228         observer_test_third_notification_function, and
8229         _initialize_observer prototypes.
8230         * opencl-lang.c: Remove _initialize_opencl_language prototypes.
8231         * osabi.c: Remove _initialize_gdb_osabi prototype.
8232         * osdata.c: Remove _initialize_osdata prototype.
8233         * p-valprint.c: Remove _initialize_pascal_valprint prototype.
8234         * parse.c: Remove _initialize_parse prototype.
8235         * ppc-fbsd-nat.c: Remove _initialize_ppcfbsd_nat prototype.
8236         * ppc-fbsd-tdep.c: Remove _initialize_ppcfbsd_tdep prototype.
8237         * ppc-linux-nat.c: Remove _initialize_ppc_linux_nat prototype.
8238         * ppc-linux-tdep.c: Remove _initialize_ppc_linux_tdep prototype.
8239         * ppc-nbsd-nat.c: Remove _initialize_ppcnbsd_nat prototype.
8240         * ppc-nbsd-tdep.c: Remove _initialize_ppcnbsd_tdep prototype.
8241         * ppc-obsd-nat.c: Remove _initialize_ppcobsd_nat prototype.
8242         * ppc-obsd-tdep.c: Remove _initialize_ppcobsd_tdep prototype.
8243         * printcmd.c: Remove _initialize_printcmd prototype.
8244         * probe.c: Remove _initialize_probe prototype.
8245         * proc-api.c: Remove _initialize_proc_api prototype.
8246         * proc-events.c: Remove _initialize_proc_events prototype.
8247         * proc-service.c: Remove _initialize_proc_service prototype.
8248         * procfs.c: Remove _initialize_procfs prototype.
8249         * psymtab.c: Remove _initialize_psymtab prototype.
8250         * python/python.c: Remove _initialize_python prototype.
8251         * ravenscar-thread.c: Remove _initialize_ravenscar prototype.
8252         * record-btrace.c: Remove _initialize_record_btrace prototype.
8253         * record-full.c: Remove _initialize_record_full prototype.
8254         * record.c: Remove _initialize_record prototype.
8255         * regcache.c: Remove _initialize_regcache prototype.
8256         * reggroups.c: Remove _initialize_reggroup prototype.
8257         * remote-notif.c: Remove _initialize_notif prototype.
8258         * remote-sim.c: Remove _initialize_remote_sim prototype.
8259         * remote.c: Remove _initialize_remote prototype.
8260         * reverse.c: Remove _initialize_reverse prototype.
8261         * rl78-tdep.c: Remove _initialize_rl78_tdep prototype.
8262         * rs6000-aix-tdep.c: Remove _initialize_rs6000_aix_tdep prototype.
8263         * rs6000-lynx178-tdep.c: Remove _initialize_rs6000_lynx178_tdep
8264         prototype.
8265         * rs6000-nat.c: Remove _initialize_rs6000_nat prototype.
8266         * rs6000-tdep.c: Remove _initialize_rs6000_tdep prototype.
8267         * rust-exp.y: Remove _initialize_rust_exp prototype.
8268         * rx-tdep.c: Remove _initialize_rx_tdep prototype.
8269         * s390-linux-nat.c: Remove _initialize_s390_nat prototype.
8270         * s390-linux-tdep.c: Remove _initialize_s390_tdep prototype.
8271         * score-tdep.c: Remove _initialize_score_tdep prototype.
8272         * selftest-arch.c: Remove _initialize_selftests_foreach_arch
8273         prototype.
8274         * ser-go32.c: Remove _initialize_ser_dos prototype.
8275         * ser-mingw.c: Remove _initialize_ser_windows prototype.
8276         * ser-pipe.c: Remove _initialize_ser_pipe prototype.
8277         * ser-tcp.c: Remove _initialize_ser_tcp prototype.
8278         * ser-unix.c: Remove _initialize_ser_hardwire prototype.
8279         * serial.c: Remove _initialize_serial prototype.
8280         * sh-linux-tdep.c: Remove _initialize_sh_linux_tdep prototype.
8281         * sh-nbsd-nat.c: Remove _initialize_shnbsd_nat prototype.
8282         * sh-nbsd-tdep.c: Remove _initialize_shnbsd_tdep prototype.
8283         * sh-tdep.c: Remove _initialize_sh_tdep prototype.
8284         * skip.c: Remove _initialize_step_skip prototype.
8285         * sol-thread.c: Remove _initialize_sol_thread prototype.
8286         * solib-aix.c: Remove _initialize_solib_aix prototype.
8287         * solib-darwin.c: Remove _initialize_darwin_solib prototype.
8288         * solib-dsbt.c: Remove _initialize_dsbt_solib prototype.
8289         * solib-frv.c: Remove _initialize_frv_solib prototype.
8290         * solib-spu.c: Remove _initialize_spu_solib prototype.
8291         * solib-svr4.c: Remove _initialize_svr4_solib prototype.
8292         * solib-target.c: Remove _initialize_solib_target prototype.
8293         * solib.c: Remove _initialize_solib prototype.
8294         * source.c: Remove _initialize_source prototype.
8295         * sparc-linux-nat.c: Remove _initialize_sparc_linux_nat prototype.
8296         * sparc-linux-tdep.c: Remove _initialize_sparc_linux_tdep
8297         prototype.
8298         * sparc-nat.c: Remove _initialize_sparc_nat prototype.
8299         * sparc-nbsd-nat.c: Remove _initialize_sparcnbsd_nat prototype.
8300         * sparc-nbsd-tdep.c: Remove _initialize_sparcnbsd_tdep prototype.
8301         * sparc-obsd-tdep.c: Remove _initialize_sparc32obsd_tdep
8302         prototype.
8303         * sparc-sol2-nat.c: Remove _initialize_sparc_sol2_nat prototype.
8304         * sparc-sol2-tdep.c: Remove _initialize_sparc_sol2_tdep prototype.
8305         * sparc-tdep.c: Remove _initialize_sparc_tdep prototype.
8306         * sparc64-fbsd-nat.c: Remove _initialize_sparc64fbsd_nat
8307         prototype.
8308         * sparc64-fbsd-tdep.c: Remove _initialize_sparc64fbsd_tdep
8309         prototype.
8310         * sparc64-linux-nat.c: Remove _initialize_sparc64_linux_nat
8311         prototype.
8312         * sparc64-linux-tdep.c: Remove _initialize_sparc64_linux_tdep
8313         prototype.
8314         * sparc64-nat.c: Remove _initialize_sparc64_nat prototype.
8315         * sparc64-nbsd-nat.c: Remove _initialize_sparc64nbsd_nat
8316         prototype.
8317         * sparc64-nbsd-tdep.c: Remove _initialize_sparc64nbsd_tdep
8318         prototype.
8319         * sparc64-obsd-nat.c: Remove _initialize_sparc64obsd_nat
8320         prototype.
8321         * sparc64-obsd-tdep.c: Remove _initialize_sparc64obsd_tdep
8322         prototype.
8323         * sparc64-sol2-tdep.c: Remove _initialize_sparc64_sol2_tdep
8324         prototype.
8325         * spu-linux-nat.c: Remove _initialize_spu_nat prototype.
8326         * spu-multiarch.c: Remove _initialize_spu_multiarch prototype.
8327         * spu-tdep.c: Remove _initialize_spu_tdep prototype.
8328         * stabsread.c: Remove _initialize_stabsread prototype.
8329         * stack.c: Remove _initialize_stack prototype.
8330         * stap-probe.c: Remove _initialize_stap_probe prototype.
8331         * std-regs.c: Remove _initialize_frame_reg prototype.
8332         * symfile-debug.c: Remove _initialize_symfile_debug prototype.
8333         * symfile-mem.c: Remove _initialize_symfile_mem prototype.
8334         * symfile.c: Remove _initialize_symfile prototype.
8335         * symmisc.c: Remove _initialize_symmisc prototype.
8336         * symtab.c: Remove _initialize_symtab prototype.
8337         * target-dcache.c: Remove _initialize_target_dcache prototype.
8338         * target-descriptions.c: Remove _initialize_target_descriptions
8339         prototype.
8340         * thread.c: Remove _initialize_thread prototype.
8341         * tic6x-linux-tdep.c: Remove _initialize_tic6x_linux_tdep
8342         prototype.
8343         * tic6x-tdep.c: Remove _initialize_tic6x_tdep prototype.
8344         * tilegx-linux-nat.c: Remove _initialize_tile_linux_nat prototype.
8345         * tilegx-linux-tdep.c: Remove _initialize_tilegx_linux_tdep
8346         prototype.
8347         * tilegx-tdep.c: Remove _initialize_tilegx_tdep prototype.
8348         * tracefile-tfile.c: Remove _initialize_tracefile_tfile prototype.
8349         * tracefile.c: Remove _initialize_tracefile prototype.
8350         * tracepoint.c: Remove _initialize_tracepoint prototype.
8351         * tui/tui-hooks.c: Remove _initialize_tui_hooks prototype.
8352         * tui/tui-interp.c: Remove _initialize_tui_interp prototype.
8353         * tui/tui-layout.c: Remove _initialize_tui_layout prototype.
8354         * tui/tui-regs.c: Remove _initialize_tui_regs prototype.
8355         * tui/tui-stack.c: Remove _initialize_tui_stack prototype.
8356         * tui/tui-win.c: Remove _initialize_tui_win prototype.
8357         * tui/tui.c: Remove _initialize_tui prototype.
8358         * typeprint.c: Remove _initialize_typeprint prototype.
8359         * user-regs.c: Remove _initialize_user_regs prototype.
8360         * utils.c: Remove _initialize_utils prototype.
8361         * v850-tdep.c: Remove _initialize_v850_tdep prototype.
8362         * valarith.c: Remove _initialize_valarith prototype.
8363         * valops.c: Remove _initialize_valops prototype.
8364         * valprint.c: Remove _initialize_valprint prototype.
8365         * value.c: Remove _initialize_values prototype.
8366         * varobj.c: Remove _initialize_varobj prototype.
8367         * vax-bsd-nat.c: Remove _initialize_vaxbsd_nat prototype.
8368         * vax-nbsd-tdep.c: Remove _initialize_vaxnbsd_tdep prototype.
8369         * vax-tdep.c: Remove _initialize_vax_tdep prototype.
8370         * windows-nat.c: Remove _initialize_windows_nat,
8371         _initialize_check_for_gdb_ini, and _initialize_loadable
8372         prototypes.
8373         * windows-tdep.c: Remove _initialize_windows_tdep prototype.
8374         * xcoffread.c: Remove _initialize_xcoffread prototype.
8375         * xml-support.c: Remove _initialize_xml_support prototype.
8376         * xstormy16-tdep.c: Remove _initialize_xstormy16_tdep prototype.
8377         * xtensa-linux-nat.c: Remove _initialize_xtensa_linux_nat
8378         prototype.
8379         * xtensa-linux-tdep.c: Remove _initialize_xtensa_linux_tdep
8380         prototype.
8381         * xtensa-tdep.c: Remove _initialize_xtensa_tdep prototype.
8382
8383 2017-09-08  Keith Seitz  <keiths@redhat.com>
8384
8385         * dwarf2read.c (struct field_info) <fnfields>: Remove unused
8386         field.
8387
8388 2017-09-08  Christoph Weinmann  <christoph.t.weinmann@intel.com>
8389
8390         * f-valprint.c (f_val_print): Remove check for one byte
8391         sized integers. Remove printing of character type.
8392
8393 2017-09-08  Frank Penczek  <frank.penczek@intel.com>
8394             Christoph Weinmann  <christoph.t.weinmann@intel.com>
8395             Bernhard Heckel  <bernhard.heckel@intel.com>
8396
8397         * f-typeprint.c (f_type_print_base): Use fprintfi_filtered
8398         to maintain proper indentation when printing pointers/refs.
8399
8400 2017-09-07  Joel Brobecker  <brobecker@adacore.com>
8401
8402         GDB 8.0.1 released.
8403
8404 2017-09-07  Joel Brobecker  <brobecker@adacore.com>
8405
8406         * NEWS (Changes in GDB 7.11): Remove entry for QStartupWithShell.
8407
8408 2017-09-05  Tom Tromey  <tom@tromey.com>
8409
8410         * parse.c (funcall_chain): Now a std::vector.
8411         (start_arglist, end_arglist): Simplify.
8412         (free_funcalls): Remove.
8413         (parse_exp_in_context_1): Remove cleanup.
8414
8415 2017-09-05  Tom Tromey  <tom@tromey.com>
8416
8417         * go-exp.y (go_parse): Don't create a cleanup.
8418
8419 2017-09-05  Tom Tromey  <tom@tromey.com>
8420
8421         * d-exp.y (PrimaryExpression): Use std::string.
8422         (d_parse): Don't create a cleanup.
8423
8424 2017-09-05  Tom Tromey  <tom@tromey.com>
8425
8426         * utils.c (do_clear_parser_state): Remove.
8427         (make_cleanup_clear_parser_state): Remove.
8428         * p-exp.y (pascal_parse): Use scoped_restore.
8429         * m2-exp.y (m2_parse): Use scoped_restore.
8430         * f-exp.y (f_parse): Use scoped_restore.
8431         * d-exp.y (d_parse): Use scoped_restore.
8432         * c-exp.y (c_parse): Use scoped_restore.
8433         * ada-exp.y (ada_parse): Use scoped_restore.
8434         * utils.h (make_cleanup_clear_parser_state): Remove.
8435
8436 2017-09-06  Keith Seitz  <keiths@redhat.com>
8437
8438         * dwarf2read.c (dw2_linkage_name_attr): New function.
8439         (dw2_linkage_name): New function.
8440         (dwarf2_compute_name, dwarf2_physname, read_call_site_scope)
8441         (guess_full_die_structure_name, dwarf2_name): Use dw2_linkage_name.
8442         (anonymous_struct_prefix, dwarf2_name): Use dw2_linkage_name_attr.
8443
8444 2017-09-06  Kamil Rytarowski  <n54@gmx.com>
8445
8446         * config/djgpp/djconfig.sh: Correct shell portability issue.
8447
8448 2017-09-06  Kamil Rytarowski  <n54@gmx.com>
8449
8450         * configure.nat: Define HAVE_NATIVE_GCORE_HOST on NetBSD.
8451
8452 2017-09-06  John Baldwin  <jhb@FreeBSD.org>
8453
8454         * Makefile.in (ALLDEPFILES): Add mips-fbsd-nat.c.
8455         * NEWS: Mention new FreeBSD/mips native configuration.
8456         * configure.host: Add aarch64*-*-freebsd*.
8457         * configure.nat: Likewise.
8458         * aarch64-fbsd-nat.c: New file.
8459
8460 2017-09-06  John Baldwin  <jhb@FreeBSD.org>
8461
8462         * Makefile.in (ALL_64_TARGET_OBS): Add aarch64-fbsd-tdep.o.
8463         (ALLDEPFILES): Add aarch64-fbsd-tdep.c.
8464         * NEWS: Mention new FreeBSD/aarch64 target.
8465         * configure.tgt: Add aarch64*-*-freebsd*.
8466         * aarch64-fbsd-tdep.c: New file.
8467         * aarch64-fbsd-tdep.h: New file.
8468
8469 2017-09-06  Kamil Rytarowski  <n54@gmx.com>
8470
8471         * MAINTAINERS (Write After Approval): Add Kamil Rytarowski.
8472
8473 2017-09-06  Jan Kratochvil  <jan.kratochvil@redhat.com>
8474
8475         * parse.c (find_minsym_type_and_address): Don't relocate addresses
8476         of TLS symbols.
8477
8478 2017-09-05  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
8479
8480         * objfiles.c (get_objfile_bfd_data): Remove useless obstack_init
8481         call.
8482
8483 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8484
8485         * infrun.c (follow_exec): Call add_thread after
8486         target_find_description.
8487
8488 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8489
8490         * infrun.c (handle_inferior_event_1): When exec'ing, read
8491         stop_pc after follow_exec.
8492
8493 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8494
8495         * remote.c (process_g_packet): Update error message.
8496
8497 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8498
8499         * configure.tgt (gdb_target_obs): Add i386.o for x86_64-*
8500         targets.
8501
8502 2017-09-05  Pedro Alves  <palves@redhat.com>
8503
8504         * eval.c (eval_call, evaluate_funcall): New functions, factored
8505         out from ...
8506         (evaluate_subexp_standard): ... this.
8507
8508 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8509
8510         * amd64-tdep.c (amd64_target_description): Create target
8511         descriptions.
8512         (_initialize_amd64_tdep): Don't call functions
8513         initialize_tdesc_amd64_*.  Add self tests.
8514         * arch/amd64.c (amd64_create_target_description): Add parameter
8515         is_linux.  Call set_tdesc_osabi if is_linux is true.
8516         * arch/amd64.h (amd64_create_target_description): Update the
8517         declaration.
8518         * arch/i386.c (i386_create_target_description): Add parameter
8519         is_linux.  Call set_tdesc_osabi if is_linux is true.
8520         * arch/i386.h (i386_create_target_description): Update
8521         declaration.
8522         * configure.tgt: Add i386.o to gdb_target_obs.
8523         * features/Makefile (XMLTOC): Remove i386/*.xml.
8524         * features/i386/amd64-avx-avx512.c: Remove.
8525         * features/i386/amd64-avx-mpx-avx512-pku.c: Remove.
8526         * features/i386/amd64-avx-mpx.c: Remove.
8527         * features/i386/amd64-avx.c: Remove.
8528         * features/i386/amd64-mpx.c: Remove.
8529         * features/i386/amd64.c: Remove.
8530         * features/i386/i386-avx-avx512.c: Remove.
8531         * features/i386/i386-avx-mpx-avx512-pku.c: Remove.
8532         * features/i386/i386-avx-mpx.c: Remove.
8533         * features/i386/i386-avx.c: Remove.
8534         * features/i386/i386-mmx.c: Remove.
8535         * features/i386/i386-mpx.c: Remove.
8536         * features/i386/i386.c: Remove.
8537         * i386-tdep.c: Don't include features/i386/i386*.c., include
8538         target-descriptions.h and arch/i386.h.
8539         (i386_target_description): Create target descriptions.
8540         (i386_gdbarch_init): Don't call initialize_tdesc_i386_*
8541         functions.  Do self tests.
8542
8543 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8544
8545         * features/Makefile (XMLTOC): Remove i386/amd64XXX-linux.xml.
8546         * features/i386/amd64-avx-avx512-linux.c: Removed.
8547         * features/i386/amd64-avx-linux.c: Removed.
8548         * features/i386/amd64-avx-mpx-avx512-pku-linux.c: Removed.
8549         * features/i386/amd64-avx-mpx-linux.c: Removed.
8550         * features/i386/amd64-linux.c: Removed.
8551         * features/i386/amd64-mpx-linux.c: Removed.
8552         * features/i386/x32-avx-avx512-linux.c: Removed.
8553         * features/i386/x32-avx-linux.c: Removed.
8554         * features/i386/x32-linux.c: Removed.
8555
8556 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8557
8558         * amd64-linux-tdep.c: Include arch/amd64.h.  Don't include
8559         features/i386/*.c.
8560         (amd64_linux_read_description): Call
8561         amd64_create_target_description.
8562         * arch/amd64.c: New file.
8563         * arch/amd64.h: New file.
8564         * configure.tgt (x86_64-*-linux*): Append amd64.o.
8565         * Makefile.in (ALL_64_TARGET_OBS): Append amd64.o.
8566
8567 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8568
8569         * amd64-linux-tdep.c: Don't include amd64-XXX-linux and
8570         x32-XXX-linux.c.  Include 64bit-XX.c and x32-XX.c.
8571         (amd64_linux_read_description): Create target descriptions.
8572         (_initialize_amd64_linux_tdep): Don't call initialize_tdesc_XXX
8573         functions.  Add unit tests.
8574         * features/Makefile (FEATURE_XMLFILES): Append 64bit-XXX.xml and
8575         x32-core.xml.
8576         * features/i386/64bit-avx.c: Generated.
8577         * features/i386/64bit-avx512.c: Generated.
8578         * features/i386/64bit-core.c: Generated.
8579         * features/i386/64bit-linux.c: Generated.
8580         * features/i386/64bit-mpx.c: Generated.
8581         * features/i386/64bit-pkeys.c: Generated.
8582         * features/i386/64bit-segments.c: Generated.
8583         * features/i386/64bit-sse.c: Generated.
8584         * features/i386/x32-core.c: Generated.
8585         * target-descriptions.c (maint_print_c_tdesc_cmd): Print feature
8586         c files for amd64-linux and x32-linux.
8587
8588 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8589
8590         * amd64-linux-tdep.c (amd64_linux_read_description): New
8591         function.
8592         (amd64_linux_core_read_description): Call
8593         amd64_linux_read_description.
8594         (amd64_linux_init_abi): Likewise.
8595         (amd64_x32_linux_init_abi): Likewise.
8596         * amd64-linux-tdep.h (amd64_linux_read_description): Declare.
8597         * x86-linux-nat.c (x86_linux_read_description): Call
8598         amd64_linux_read_description.
8599
8600 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8601
8602         * amd64-linux-tdep.c (amd64_linux_core_read_description): Update
8603         comments.
8604
8605 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8606
8607         * features/Makefile (XMLTOC): Remove i386/i386-XX-linux.xml.
8608         * features/i386/i386-avx-avx512-linux.c: Remove.
8609         * features/i386/i386-avx-linux.c: Remove.
8610         * features/i386/i386-avx-mpx-avx512-pku-linux.c: Remove.
8611         * features/i386/i386-avx-mpx-linux.c: Remove.
8612         * features/i386/i386-linux.c: Remove.
8613         * features/i386/i386-mmx-linux.c: Remove.
8614         * features/i386/i386-mpx-linux.c: Remove.
8615
8616 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8617
8618         * Makefile.in (ALL_TARGET_OBS): Add i386.o.
8619         (SFILES): Add arch/i386.c.
8620         (HFILES_NO_SRCDIR): Add arch/i386.h.
8621         * arch/i386.c: New file.
8622         * arch/i386.h: New file.
8623         * arch/tdesc.h (allocate_target_description): Declare.
8624         (set_tdesc_architecture): Declare.
8625         (set_tdesc_osabi): Declare.
8626         * configure.tgt (i[34567]86-*-linux*): Add i386.o.
8627         * i386-linux-tdep.c: Don't include ../features/i386/32bit-XXX.c.
8628         include arch/i386.h.
8629         (i386_linux_read_description): Remove code and call
8630         i386_create_target_description.
8631         (set_tdesc_architecture): New function.
8632         (set_tdesc_osabi): New function.
8633         * target-descriptions.h (allocate_target_description): Remove.
8634
8635 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8636
8637         * arch/tdesc.h (tdesc_create_feature): Add an argument xml.
8638         * target-descriptions.c (tdesc_create_feature): Likewise, and
8639         adjust code.
8640         * features/i386/32bit-avx.c: Re-generated.
8641         * features/i386/32bit-avx512.c: Re-generated.
8642         * features/i386/32bit-core.c: Re-generated.
8643         * features/i386/32bit-linux.c: Re-generated.
8644         * features/i386/32bit-mpx.c: Re-generated.
8645         * features/i386/32bit-pkeys.c: Re-generated.
8646         * features/i386/32bit-sse.c: Re-generated.
8647
8648 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8649
8650         * regformats/regdef.h (struct reg): Override operator == and !=.
8651
8652 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8653
8654         * arch/tdesc.h: New file.
8655         * regformats/regdat.sh: Generate code using tdesc_create_reg.
8656         * target-descriptions.c: Update comments.
8657         * target-descriptions.h: Include "arch/tdesc.h".  Remove the
8658         declarations.
8659         * features/i386/32bit-avx.c: Re-generated.
8660         * features/i386/32bit-avx512.c: Re-generated.
8661         * features/i386/32bit-core.c: Re-generated.
8662         * features/i386/32bit-linux.c: Re-generated.
8663         * features/i386/32bit-mpx.c: Re-generated.
8664         * features/i386/32bit-pkeys.c: Re-generated.
8665         * features/i386/32bit-sse.c: Re-generated.
8666
8667 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8668
8669         * regformats/regdat.sh: Update generated code.
8670
8671 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8672
8673         * regformats/regdat.sh: Adjust code order.
8674
8675 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8676
8677         * expprint.c (dump_subexp_body_standard): Use constant format
8678         string in fprintf_filtered call.
8679
8680 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8681
8682         * configure.nat: Add "x86-nat.o x86-dregs.o" for NetBSD/amd64 and
8683         NetBSD/i386.
8684         * x86-bsd-nat.c [!DBREG_DRX && __NetBSD__]: Define DBREG_DRX.
8685
8686 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8687
8688         * bsd-kvm.o: Make <sys/user.h> conditional on HAVE_SYS_USER_H.
8689
8690 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8691
8692         * bsd-kvm.o: Define _KMEMUSER.
8693         * configure.ac: Define _KMEMUSER when checking for "struct lwp".
8694         * configure: Regenerate.
8695
8696 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8697
8698         * amd64-fbsd-nat.c: Add include of "x86-xstate.h".
8699         * i386-fbsd-nat.c: Likewise.
8700
8701 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8702
8703         * unittests/array-view-selftests.c: Add include of <array>.
8704
8705 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8706
8707         * spu-tdep.c (flush_ea_cache): Add missing argument to
8708         call_function_by_hand.
8709
8710 2017-09-04  Pedro Alves  <palves@redhat.com>
8711
8712         * NEWS (Safer support for debugging with no debug info): New.
8713
8714 2017-09-04  Pedro Alves  <palves@redhat.com>
8715
8716         * c-exp.y (function_method, function_method_void): Add current
8717         instance flags to TYPE_INSTANCE.
8718         * dwarf2read.c (check_modifier): New.
8719         (compute_delayed_physnames): Assert that only C++ adds delayed
8720         physnames.  Mark fn_fields as const/volatile depending on
8721         physname.
8722         * eval.c (make_params): New type_instance_flags parameter.  Use
8723         it as the new type's instance flags.
8724         (evaluate_subexp_standard) <TYPE_INSTANCE>: Extract the instance
8725         flags element and pass it to make_params.
8726         * expprint.c (print_subexp_standard) <TYPE_INSTANCE>: Handle
8727         instance flags element.
8728         (dump_subexp_body_standard) <TYPE_INSTANCE>: Likewise.
8729         * gdbtypes.h: Include "enum-flags.h".
8730         (type_instance_flags): New enum-flags type.
8731         (TYPE_CONST, TYPE_VOLATILE, TYPE_RESTRICT, TYPE_ATOMIC)
8732         (TYPE_CODE_SPACE, TYPE_DATA_SPACE): Return boolean.
8733         * parse.c (operator_length_standard) <TYPE_INSTANCE>: Adjust.
8734         (follow_type_instance_flags): New function.
8735         (operator_check_standard) <TYPE_INSTANCE>: Adjust.
8736         * parser-defs.h (follow_type_instance_flags): Declare.
8737         * valops.c (value_struct_elt_for_reference): const/volatile must
8738         match too.
8739
8740 2017-09-04  Pedro Alves  <palves@redhat.com>
8741
8742         * cp-namespace.c (cp_search_static_and_baseclasses): Handle
8743         function/method scopes; lookup the nested name as a function local
8744         static variable.
8745
8746 2017-09-04  Pedro Alves  <palves@redhat.com>
8747
8748         (%type <voidval>): Add function_method.
8749         * c-exp.y (exp): New production for calls with no arguments.
8750         (function_method, function_method_void_or_typelist): New
8751         productions.
8752         (exp): New production for "method()::static_var".
8753         * eval.c (evaluate_subexp_standard): Handle OP_FUNC_STATIC_VAR.
8754         * expprint.c (print_subexp_standard, dump_subexp_body_standard):
8755         Handle OP_FUNC_STATIC_VAR.
8756         * parse.c (operator_length_standard):
8757         Handle OP_FUNC_STATIC_VAR.
8758
8759 2017-09-04  Pedro Alves  <palves@redhat.com>
8760
8761         * eval.c (evaluate_subexp_standard): Remove UNOP_MEMVAL_TLS
8762         handling.
8763         * expprint.c (print_subexp_standard, dump_subexp_body_standard):
8764         Ditto.
8765         * parse.c (operator_length_standard, operator_check_standard):
8766         Ditto.
8767         * std-operator.def (UNOP_MEMVAL_TLS): Delete.
8768
8769 2017-09-04  Pedro Alves  <palves@redhat.com>
8770
8771         * ax-gdb.c: Include "typeprint.h".
8772         (gen_expr_for_cast): New function.
8773         (gen_expr) <OP_CAST, OP_CAST_TYPE>: Use it.
8774         <OP_VAR_VALUE, OP_MSYM_VAR_VALUE>: Error out if the variable's
8775         type is unknown.
8776         * dwarf2read.c (new_symbol_full): Fallback to int instead of
8777         nodebug_data_symbol.
8778         * eval.c: Include "typeprint.h".
8779         (evaluate_subexp_standard) <OP_VAR_VALUE, OP_VAR_MSYM_VALUE>:
8780         Error out if symbol has unknown type.
8781         <UNOP_CAST, UNOP_CAST_TYPE>: Common bits factored out to
8782         evaluate_subexp_for_cast.
8783         (evaluate_subexp_for_address, evaluate_subexp_for_sizeof): Handle
8784         OP_VAR_MSYM_VALUE.
8785         (evaluate_subexp_for_cast): New function.
8786         * gdbtypes.c (init_nodebug_var_type): New function.
8787         (objfile_type): Use it to initialize types of variables with no
8788         debug info.
8789         * typeprint.c (error_unknown_type): New.
8790         * typeprint.h (error_unknown_type): New declaration.
8791         * compile/compile-c-types.c (convert_type_basic): Handle
8792         TYPE_CODE_ERROR; warn and fallback to int for variables with
8793         unknown type.
8794
8795 2017-09-04  Pedro Alves  <palves@redhat.com>
8796
8797         * eval.c (evaluate_var_value): New function, factored out from ...
8798         (evaluate_subexp_standard): ... here.
8799
8800 2017-09-04  Pedro Alves  <palves@redhat.com>
8801
8802         * eval.c (evaluate_subexp_standard) <UNOP_COMPLEMENT, UNOP_ADDR>:
8803         Remove useless assignments to 'op'.
8804
8805 2017-09-04  Pedro Alves  <palves@redhat.com>
8806
8807         * eval.c (eval_skip_value): New function.
8808         (evaluate_subexp_standard): Use it.
8809
8810 2017-09-04  Pedro Alves  <palves@redhat.com>
8811
8812         * eval.c (evaluate_subexp_standard): <OP_FUNCALL>: Extract
8813         function name from symbol/minsym and pass it to
8814         error_call_unknown_return_type.
8815
8816 2017-09-04  Pedro Alves  <palves@redhat.com>
8817
8818         * ada-lang.c (resolve_subexp): Handle OP_VAR_MSYM_VALUE.
8819         * ax-gdb.c (gen_msym_var_ref): New function.
8820         (gen_expr): Handle OP_VAR_MSYM_VALUE.
8821         * eval.c (evaluate_var_msym_value): New function.
8822         * eval.c (evaluate_subexp_standard): Handle OP_VAR_MSYM_VALUE.
8823         <OP_FUNCALL>: Extract function name from symbol/minsym and pass it
8824         to call_function_by_hand.
8825         * expprint.c (print_subexp_standard, dump_subexp_body_standard):
8826         Handle OP_VAR_MSYM_VALUE.
8827         (union exp_element) <msymbol>: New field.
8828         * minsyms.h (struct type): Forward declare.
8829         (find_minsym_type_and_address): Declare.
8830         * parse.c (write_exp_elt_msym): New function.
8831         (write_exp_msymbol): Delete, refactored as ...
8832         (find_minsym_type_and_address): ... this new function.
8833         (write_exp_msymbol): Reimplement using OP_VAR_MSYM_VALUE.
8834         (operator_length_standard, operator_check_standard): Handle
8835         OP_VAR_MSYM_VALUE.
8836         * std-operator.def (OP_VAR_MSYM_VALUE): New.
8837
8838 2017-09-04  Pedro Alves  <palves@redhat.com>
8839
8840         * ada-lang.c (ada_evaluate_subexp) <TYPE_CODE_FUNC>: Don't handle
8841         TYPE_GNU_IFUNC specially here.  Throw error if return type is
8842         unknown.
8843         * ada-typeprint.c (print_func_type): Handle functions with unknown
8844         return type.
8845         * c-typeprint.c (c_type_print_base): Handle functions and methods
8846         with unknown return type.
8847         * compile/compile-c-symbols.c (convert_symbol_bmsym)
8848         <mst_text_gnu_ifunc>: Use nodebug_text_gnu_ifunc_symbol.
8849         * compile/compile-c-types.c: Include "objfiles.h".
8850         (convert_func): For functions with unknown return type, warn and
8851         default to int.
8852         * compile/compile-object-run.c (compile_object_run): Adjust call
8853         to call_function_by_hand_dummy.
8854         * elfread.c (elf_gnu_ifunc_resolve_addr): Adjust call to
8855         call_function_by_hand.
8856         * eval.c (evaluate_subexp_standard): Adjust calls to
8857         call_function_by_hand.  Handle functions and methods with unknown
8858         return type.  Pass expect_type to call_function_by_hand.
8859         * f-typeprint.c (f_type_print_base): Handle functions with unknown
8860         return type.
8861         * gcore.c (call_target_sbrk): Adjust call to
8862         call_function_by_hand.
8863         * gdbtypes.c (objfile_type): Leave nodebug text symbol with NULL
8864         return type instead of int.  Make nodebug_text_gnu_ifunc_symbol be
8865         an integer address type instead of nodebug.
8866         * guile/scm-value.c (gdbscm_value_call): Adjust call to
8867         call_function_by_hand.
8868         * infcall.c (error_call_unknown_return_type): New function.
8869         (call_function_by_hand): New "default_return_type" parameter.
8870         Pass it down.
8871         (call_function_by_hand_dummy): New "default_return_type"
8872         parameter.  Use it instead of defaulting to int.  If there's no
8873         default and the return type is unknown, throw an error.  If
8874         there's a default return type, and the called function has no
8875         debug info, then assume the function is prototyped.
8876         * infcall.h (call_function_by_hand, call_function_by_hand_dummy):
8877         New "default_return_type" parameter.
8878         (error_call_unknown_return_type): New declaration.
8879         * linux-fork.c (call_lseek): Cast return type of lseek.
8880         (inferior_call_waitpid, checkpoint_command): Adjust calls to
8881         call_function_by_hand.
8882         * linux-tdep.c (linux_infcall_mmap, linux_infcall_munmap): Adjust
8883         calls to call_function_by_hand.
8884         * m2-typeprint.c (m2_procedure): Handle functions with unknown
8885         return type.
8886         * objc-lang.c (lookup_objc_class, lookup_child_selector)
8887         (value_nsstring, print_object_command): Adjust calls to
8888         call_function_by_hand.
8889         * p-typeprint.c (pascal_type_print_varspec_prefix): Handle
8890         functions with unknown return type.
8891         (pascal_type_print_func_varspec_suffix): New function.
8892         (pascal_type_print_varspec_suffix) <TYPE_CODE_FUNC,
8893         TYPE_CODE_METHOD>: Use it.
8894         * python/py-value.c (valpy_call): Adjust call to
8895         call_function_by_hand.
8896         * rust-lang.c (rust_evaluate_funcall): Adjust call to
8897         call_function_by_hand.
8898         * valarith.c (value_x_binop, value_x_unop): Adjust calls to
8899         call_function_by_hand.
8900         * valops.c (value_allocate_space_in_inferior): Adjust call to
8901         call_function_by_hand.
8902         * typeprint.c (type_print_unknown_return_type): New function.
8903         * typeprint.h (type_print_unknown_return_type): New declaration.
8904
8905 2017-09-04  Pedro Alves  <palves@redhat.com>
8906
8907         * gdbtypes.c (lookup_function_type_with_arguments): Mark function
8908         types with more than one parameter as prototyped.
8909
8910 2017-09-04  Pedro Alves  <palves@redhat.com>
8911
8912         * cli/cli-cmds.c (print_disassembly, disassemble_current_function)
8913         (disassemble_command): Use gdb_disassembly_flags instead of bare
8914         int.
8915         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn)
8916         (dump_insns, do_mixed_source_and_assembly_deprecated)
8917         (do_mixed_source_and_assembly, do_assembly_only, gdb_disassembly):
8918         Use gdb_disassembly_flags instead of bare int.
8919         * disasm.h (DISASSEMBLY_SOURCE_DEPRECATED, DISASSEMBLY_RAW_INSN)
8920         (DISASSEMBLY_OMIT_FNAME, DISASSEMBLY_FILENAME)
8921         (DISASSEMBLY_OMIT_PC, DISASSEMBLY_SOURCE)
8922         (DISASSEMBLY_SPECULATIVE): No longer macros.  Instead they're...
8923         (enum gdb_disassembly_flag): ... values of this new enumeration.
8924         (gdb_disassembly_flags): Define.
8925         (gdb_disassembly)
8926         (gdb_pretty_print_disassembler::pretty_print_insn): Use it.
8927         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Use
8928         gdb_disassembly_flags instead of bare int.
8929         * record-btrace.c (btrace_insn_history)
8930         (record_btrace_insn_history, record_btrace_insn_history_range)
8931         (record_btrace_insn_history_from): Use gdb_disassembly_flags
8932         instead of bare int.
8933         * record.c (get_insn_history_modifiers, cmd_record_insn_history):
8934         Use gdb_disassembly_flags instead of bare int.
8935         * target-debug.h (target_debug_print_gdb_disassembly_flags):
8936         Define.
8937         * target-delegates.c: Regenerate.
8938         * target.c (target_insn_history, target_insn_history_from)
8939         (target_insn_history_range): Use gdb_disassembly_flags instead of
8940         bare int.
8941         * target.h: Include "disasm.h".
8942         (struct target_ops) <to_insn_history, to_insn_history_from,
8943         to_insn_history_range>: Use gdb_disassembly_flags instead of bare
8944         int.
8945         (target_insn_history, target_insn_history_from)
8946         (target_insn_history_range): Use gdb_disassembly_flags instead of
8947         bare int.
8948
8949 2017-09-04  Simon Marchi  <simon.marchi@ericsson.com>
8950
8951         * cli/cli-script.c (build_command_line): For if/while commands,
8952         check whether args is empty.
8953
8954 2017-09-04  Simon Marchi  <simon.marchi@ericsson.com>
8955
8956         * cli/cli-script.h (enum misc_command_type): Move from defs.h.
8957         (enum command_control_type): Likewise.
8958         (struct command_line): Likewise.
8959         (free_command_lines): Likewise.
8960         (struct command_lines_deleter): Likewise.
8961         (command_line_up): Likewise.
8962         (read_command_lines): Likewise.
8963         (read_command_lines_1): Likewise.
8964         * defs.h (enum misc_command_type): Move to cli/cli-script.h.
8965         (enum command_control_type): Likewise.
8966         (struct command_line): Likewise.
8967         (free_command_lines): Likewise.
8968         (struct command_lines_deleter): Likewise.
8969         (command_line_up): Likewise.
8970         (read_command_lines): Likewise.
8971         (read_command_lines_1): Likewise.
8972         * breakpoint.h: Include cli/cli-script.h.
8973         * extension-priv.h: Likewise.
8974         * gdbcmd.h: Likewise.
8975
8976 2017-09-04  Pedro Alves  <palves@redhat.com>
8977
8978         * ada-lang.c (is_known_support_routine): Move sal declaration to
8979         where it is initialized.
8980         * breakpoint.c (create_internal_breakpoint, init_catchpoint)
8981         (parse_breakpoint_sals, decode_static_tracepoint_spec)
8982         (clear_command, update_static_tracepoint): Remove init_sal
8983         references.  Move declarations closer to initializations.
8984         * cli/cli-cmds.c (list_command): Move sal declarations closer to
8985         initializations.
8986         * elfread.c (elf_gnu_ifunc_resolver_stop): Remove init_sal
8987         references.  Move sal declarations closer to initializations.
8988         * frame.c (find_frame_sal): Return a symtab_and_line via function
8989         return instead of output parameter.  Remove init_sal references.
8990         * frame.h (find_frame_sal): Return a symtab_and_line via function
8991         return instead of output parameter.
8992         * guile/scm-frame.c (gdbscm_frame_sal): Adjust.
8993         * guile/scm-symtab.c (stscm_make_sal_smob): Use in-place new
8994         instead of memset.
8995         (gdbscm_find_pc_line): Remove init_sal reference.
8996         * infcall.c (call_function_by_hand_dummy): Remove init_sal
8997         references.  Move declarations closer to initializations.
8998         * infcmd.c (set_step_frame): Update.  Move declarations closer to
8999         initializations.
9000         (finish_backward): Remove init_sal references.  Move declarations
9001         closer to initializations.
9002         * infrun.c (process_event_stop_test, handle_step_into_function)
9003         (insert_hp_step_resume_breakpoint_at_frame)
9004         (insert_step_resume_breakpoint_at_caller): Likewise.
9005         * linespec.c (create_sals_line_offset, decode_digits_ordinary)
9006         (symbol_to_sal): Likewise.
9007         * probe.c (parse_probes_in_pspace): Remove init_sal reference.
9008         * python/py-frame.c (frapy_find_sal): Move sal declaration closer
9009         to its initialization.
9010         * reverse.c (save_bookmark_command): Use new/delete.  Remove
9011         init_sal references.  Move declarations closer to initializations.
9012         * source.c (get_current_source_symtab_and_line): Remove brace
9013         initialization.
9014         (set_current_source_symtab_and_line): Now takes the sal by const
9015         reference.  Remove brace initialization.
9016         (line_info): Remove init_sal reference.
9017         * source.h (set_current_source_symtab_and_line): Now takes a
9018         symtab_and_line via const reference.
9019         * stack.c (set_current_sal_from_frame): Adjust.
9020         (print_frame_info): Adjust.
9021         (get_last_displayed_sal): Return the sal via function return
9022         instead of via output parameter.  Simplify.
9023         (frame_info): Adjust.
9024         * stack.h (get_last_displayed_sal): Return the sal via function
9025         return instead of via output parameter.
9026         * symtab.c (init_sal): Delete.
9027         (find_pc_sect_line): Remove init_sal references.  Move
9028         declarations closer to initializations.
9029         (find_function_start_sal): Remove init_sal references.  Move
9030         declarations closer to initializations.
9031         * symtab.h (struct symtab_and_line): In-class initialize all
9032         fields.
9033         * tracepoint.c (set_traceframe_context)
9034         (print_one_static_tracepoint_marker): Remove init_sal references.
9035         Move declarations closer to initializations.
9036         * tui/tui-disasm.c (tui_show_disassem_and_update_source): Adjust.
9037         * tui/tui-stack.c (tui_show_frame_info): Adjust.  Move
9038         declarations closer to initializations.
9039         * tui/tui-winsource.c (tui_update_source_window_as_is): Remove
9040         init_sal references.  Adjust.
9041
9042 2017-09-04  Pedro Alves  <palves@redhat.com>
9043
9044         * ax-gdb.c (agent_command_1): Use range-for.
9045         * break-catch-throw.c (re_set_exception_catchpoint): Update.
9046         * breakpoint.c: Include "common/array-view.h".
9047         (init_breakpoint_sal, create_breakpoint_sal): Change sals
9048         parameter from struct symtabs_and_lines to
9049         array_view<symtab_and_line>.  Adjust.  Use range-for.  Update.
9050         (breakpoint_sals_to_pc): Change sals parameter from struct
9051         symtabs_and_lines to std::vector reference.
9052         (check_fast_tracepoint_sals): Change sals parameter from struct
9053         symtabs_and_lines to std::array_view.  Use range-for.
9054         (decode_static_tracepoint_spec): Return a std::vector instead of
9055         symtabs_and_lines.  Update.
9056         (create_breakpoint): Update.
9057         (break_range_command, until_break_command, clear_command): Update.
9058         (base_breakpoint_decode_location, bkpt_decode_location)
9059         (bkpt_probe_create_sals_from_location)
9060         (bkpt_probe_decode_location, tracepoint_decode_location)
9061         (tracepoint_probe_decode_location)
9062         (strace_marker_create_sals_from_location): Return a std::vector
9063         instead of symtabs_and_lines.
9064         (strace_marker_create_breakpoints_sal): Update.
9065         (strace_marker_decode_location): Return a std::vector instead of
9066         symtabs_and_lines.  Update.
9067         (update_breakpoint_locations): Change struct symtabs_and_lines
9068         parameters to gdb::array_view.  Adjust.
9069         (location_to_sals): Return a std::vector instead of
9070         symtabs_and_lines.  Update.
9071         (breakpoint_re_set_default): Use std::vector instead of struct
9072         symtabs_and_lines.
9073         (decode_location_default): Return a std::vector instead of
9074         symtabs_and_lines.  Update.
9075         * breakpoint.h: Include "common/array-view.h".
9076         (struct breakpoint_ops) <decode_location>: Now returns a
9077         std::vector instead of returning a symtabs_and_lines via output
9078         parameter.
9079         (update_breakpoint_locations): Change sals parameters to use
9080         gdb::array_view.
9081         * cli/cli-cmds.c (edit_command, list_command): Update to use
9082         std::vector and gdb::array_view.
9083         (ambiguous_line_spec): Adjust to use gdb::array_view and
9084         range-for.
9085         (compare_symtabs): Rename to ...
9086         (cmp_symtabs): ... this.  Change parameters to symtab_and_line
9087         const reference and adjust.
9088         (filter_sals): Rewrite using std::vector and standard algorithms.
9089         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Simplify.
9090         (jump_command): Update to use std::vector.
9091         * linespec.c (struct linespec_state) <canonical_names>: Update
9092         comment.
9093         (add_sal_to_sals_basic): Delete.
9094         (add_sal_to_sals, filter_results, convert_results_to_lsals)
9095         (decode_line_2, create_sals_line_offset)
9096         (convert_address_location_to_sals, convert_linespec_to_sals)
9097         (convert_explicit_location_to_sals, parse_linespec)
9098         (event_location_to_sals, decode_line_full, decode_line_1)
9099         (decode_line_with_current_source)
9100         (decode_line_with_last_displayed, decode_objc)
9101         (decode_digits_list_mode, decode_digits_ordinary, minsym_found)
9102         (linespec_result::~linespec_result): Adjust to use std::vector
9103         instead of symtabs_and_lines.
9104         * linespec.h (linespec_sals::sals): Now a std::vector.
9105         (struct linespec_result): Use std::vector, bool, and in-class
9106         initialization.
9107         (decode_line_1, decode_line_with_current_source)
9108         (decode_line_with_last_displayed): Return std::vector.
9109         * macrocmd.c (info_macros_command): Use std::vector.
9110         * mi/mi-main.c (mi_cmd_trace_find): Use std::vector.
9111         * probe.c (parse_probes_in_pspace, parse_probes): Adjust to use
9112         std::vector.
9113         * probe.h (parse_probes): Return a std::vector.
9114         * python/python.c (gdbpy_decode_line): Use std::vector and
9115         gdb::array_view.
9116         * source.c (select_source_symtab, line_info): Use std::vector.
9117         * stack.c (func_command): Use std::vector.
9118         * symtab.h (struct symtabs_and_lines): Delete.
9119         * tracepoint.c (tfind_line_command, scope_info): Use std::vector.
9120
9121 2017-09-04  Pedro Alves  <palves@redhat.com>
9122
9123         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9124         unittests/array-view-selftests.c.
9125         (SUBDIR_UNITTESTS_OBS): Add array-view-selftests.o.
9126         * common/array-view.h: New file.
9127         * unittests/array-view-selftests.c: New file.
9128
9129 2017-09-04  Pedro Alves  <palves@redhat.com>
9130
9131         * cli/cli-cmds.c (edit_command): Pass message to
9132         ambiguous_line_spec.
9133         (list_command): Pass message to ambiguous_line_spec.  Say
9134         "first"/"last" instead of "start" and "end" to be consistent with
9135         the manual.
9136         (ambiguous_line_spec): Add 'format' and vararg parameters.  Use
9137         them to print formatted message.
9138
9139 2017-09-04  Pedro Alves  <palves@redhat.com>
9140
9141         * btrace.c (ftrace_add_pt): Pass btrace_insn to
9142         ftrace_update_insns by reference instead of pointer.
9143
9144 2017-09-04  Yao Qi  <yao.qi@linaro.org>
9145
9146         * i386-go32-tdep.c: Include x86-xstate.h.
9147         (i386_go32_init_abi): Call i386_target_description.
9148         * i386-tdep.c (i386_target_description): Return tdesc_i386_mmx
9149         if xcr0 is X86_XSTATE_X87_MASK.
9150         * i386-tdep.h (tdesc_i386): Remove the declaration.
9151         (tdesc_i386_mmx): Likewise.
9152
9153 2017-09-04  Yao Qi  <yao.qi@linaro.org>
9154
9155         * i386-fbsd-tdep.c (i386fbsd_core_read_xcr0): Return
9156         X86_XSTATE_SSE_MASK instead of 0.
9157
9158 2017-09-04  Yao Qi  <yao.qi@linaro.org>
9159
9160         * amd64-fbsd-nat.c (amd64fbsd_read_description): Call
9161         i386_target_description.
9162         * i386-fbsd-nat.c (i386fbsd_read_description): Call
9163         i386_target_description.
9164         * i386-tdep.c (i386_gdbarch_init): Likewise.
9165
9166 2017-09-04  Yao Qi  <yao.qi@linaro.org>
9167
9168         * amd64-darwin-tdep.c: Include "x86-xstate.h".
9169         (x86_darwin_init_abi_64): Call amd64_target_description.
9170         * amd64-dicos-tdep.c: Likewise.
9171         * amd64-fbsd-nat.c: Likewise.
9172         * amd64-fbsd-tdep.c: Likewise.
9173         * amd64-nbsd-tdep.c: Likewise.
9174         * amd64-obsd-tdep.c: Likewise.
9175         * amd64-sol2-tdep.c: Likewise.
9176         * amd64-windows-tdep.c: Likewise.
9177         * amd64-tdep.h (tdesc_amd64): Remove the declaration.
9178
9179 2017-09-04  Simon Marchi  <simon.marchi@ericsson.com>
9180
9181         * btrace.h (btrace_insn_s, DEF_VEC_O (btrace_insn_s)): Remove.
9182         (btrace_function) <insn>: Change type to use std::vector.
9183         * btrace.c (ftrace_debug, ftrace_call_num_insn,
9184         ftrace_find_call, ftrace_new_gap, ftrace_update_function,
9185         ftrace_update_insns, ftrace_compute_global_level_offset,
9186         btrace_stitch_bts, btrace_clear, btrace_insn_get,
9187         btrace_insn_end, btrace_insn_next, btrace_insn_prev): Adjust to
9188         change to std::vector.
9189         (ftrace_update_insns): Adjust to change to std::vector, change
9190         type of INSN parameter.
9191         (btrace_compute_ftrace_bts): Adjust call to ftrace_update_insns.
9192         * record-btrace.c (btrace_call_history_insn_range,
9193         btrace_compute_src_line_range,
9194         record_btrace_frame_prev_register): Adjust to change to
9195         std::vector.
9196         * python/py-record-btrace.c (recpy_bt_func_instructions): Adjust
9197         to change to std::vector.
9198
9199 2017-09-03  Tom Tromey  <tom@tromey.com>
9200
9201         * corefile.c (reopen_exec_file): Use std::string.
9202
9203 2017-09-03  Tom Tromey  <tom@tromey.com>
9204
9205         * compile/compile.c (compile_register_name_mangled): Return
9206         std::string.
9207         * compile/compile-loc2c.c (pushf_register_address): Update.
9208         (pushf_register): Update.
9209         * compile/compile-c-types.c (convert_array): Update.
9210         * compile/compile-c-symbols.c (generate_vla_size): Update.
9211         (error_symbol_once): Use a gdb::unique_xmalloc_ptr.
9212         (symbol_substitution_name): Return a gdb::unique_xmalloc_ptr.
9213         (convert_one_symbol): Update.
9214         (generate_c_for_for_one_variable): Update.
9215         * compile/compile-c-support.c (c_get_range_decl_name): Return a
9216         std::string.
9217         (generate_register_struct): Update.
9218         * compile/compile-internal.h (c_get_range_decl_name): Return a
9219         std::string.
9220         (compile_register_name_mangled): Return std::string.
9221
9222 2017-09-03  Tom Tromey  <tom@tromey.com>
9223
9224         * utils.c (perror_string): Return a std::string.
9225         (throw_perror_with_name, perror_warning_with_name): Update.
9226
9227 2017-09-03  Tom Tromey  <tom@tromey.com>
9228
9229         * demangle.c (demangle_command): Use std::string,
9230         unique_xmalloc_ptr.
9231
9232 2017-09-03  Tom Tromey  <tom@tromey.com>
9233
9234         * cli/cli-setshow.c (do_set_command): Use std::string.
9235
9236 2017-09-03  Tom Tromey  <tom@tromey.com>
9237
9238         * cli/cli-cmds.c (cd_command): Use gdb::unique_xmalloc_ptr.
9239
9240 2017-09-03  Tom Tromey  <tom@tromey.com>
9241
9242         * mi/mi-interp.c (mi_cmd_interpreter_exec): Use std::string.
9243
9244 2017-09-03  Tom Tromey  <tom@tromey.com>
9245
9246         * mi/mi-cmd-env.c (env_execute_cli_command): Use
9247         gdb::unique_xmalloc_ptr.
9248
9249 2017-09-03  Tom Tromey  <tom@tromey.com>
9250
9251         * thread.c (print_thread_info_1): Use string_printf.
9252         (thread_apply_command, thread_apply_all_command): Use
9253         std::string.
9254
9255 2017-09-03  Tom Tromey  <tom@tromey.com>
9256
9257         * valprint.c (val_print_string): Update.
9258         * gdbcore.h (memory_error_message): Return std::string.
9259         * corefile.c (memory_error_message): Return std::string.
9260         (memory_error): Update.
9261         * breakpoint.c (insert_bp_location): Update.
9262
9263 2017-09-03  Simon Marchi  <simon.marchi@ericsson.com>
9264
9265         * target/waitstatus.h (target_waitstatus_to_string): Change
9266         return type to std::string.
9267         * target/waitstatus.c (target_waitstatus_to_string): Return
9268         std::string.
9269         * target.h (target_waitstatus_to_string): Remove declaration.
9270         * infrun.c (resume, clear_proceed_status_thread,
9271         print_target_wait_results, do_target_wait, save_waitstatus,
9272         stop_all_threads): Adjust.
9273         * record-btrace.c (record_btrace_wait): Adjust.
9274         * target-debug.h
9275         (target_debug_print_struct_target_waitstatus_p): Adjust.
9276
9277 2017-09-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
9278
9279         PR gdb/22046
9280         * nat/linux-procfs.c (parse_proc_status_state): Fix PROC_STATE_STOPPED
9281         detection.
9282
9283 2017-08-31  Sergio Durigan Junior  <sergiodj@redhat.com>
9284
9285         * NEWS (Changes since GDB 8.0): Add entry mentioning new support
9286         for setting/unsetting environment variables on the remote target.
9287         (New remote packets): Add entries for QEnvironmentHexEncoded,
9288         QEnvironmentUnset and QEnvironmentReset.
9289         * common/environ.c (gdb_environ::operator=): Extend method to
9290         handle m_user_set_env_list and m_user_unset_env_list.
9291         (gdb_environ::clear): Likewise.
9292         (match_var_in_string): Change type of first parameter from 'char
9293         *' to 'const char *'.
9294         (gdb_environ::set): Extend method to handle
9295         m_user_set_env_list and m_user_unset_env_list.
9296         (gdb_environ::unset): Likewise.
9297         (gdb_environ::clear_user_set_env): New method.
9298         (gdb_environ::user_set_envp): Likewise.
9299         (gdb_environ::user_unset_envp): Likewise.
9300         * common/environ.h (gdb_environ): Handle m_user_set_env_list and
9301         m_user_unset_env_list on move constructor/assignment.
9302         (unset): Add new default parameter 'update_unset_list = true'.
9303         (clear_user_set_env): New method.
9304         (user_set_envp): Likewise.
9305         (user_unset_envp): Likewise.
9306         (m_user_set_env_list): New std::set.
9307         (m_user_unset_env_list): Likewise.
9308         * common/rsp-low.c (hex2str): New function.
9309         (bin2hex): New overload for bin2hex function.
9310         * common/rsp-low.c (hex2str): New prototype.
9311         (str2hex): New overload prototype.
9312         * remote.c: Include "environ.h". Add QEnvironmentHexEncoded,
9313         QEnvironmentUnset and QEnvironmentReset.
9314         (remote_protocol_features): Add QEnvironmentHexEncoded,
9315         QEnvironmentUnset and QEnvironmentReset packets.
9316         (send_environment_packet): New function.
9317         (extended_remote_environment_support): Likewise.
9318         (extended_remote_create_inferior): Call
9319         extended_remote_environment_support.
9320         (_initialize_remote): Add QEnvironmentHexEncoded,
9321         QEnvironmentUnset and QEnvironmentReset packet configs.
9322         * unittests/environ-selftests.c (gdb_selftest_env_var):
9323         New variable.
9324         (test_vector_initialization): New function.
9325         (test_init_from_host_environ): Likewise.
9326         (test_reinit_from_host_environ): Likewise.
9327         (test_set_A_unset_B_unset_A_cannot_find_A_can_find_B):
9328         Likewise.
9329         (test_unset_set_empty_vector): Likewise.
9330         (test_vector_clear): Likewise.
9331         (test_std_move): Likewise.
9332         (test_move_constructor):
9333         (test_self_move): Likewise.
9334         (test_set_unset_reset): Likewise.
9335         (run_tests): Rewrite in terms of the functions above.
9336
9337 2017-08-31  Weimin Pan  <weimin.pan@oracle.com>
9338
9339         * sparc64-tdep.c (adi_stat_t): Fix comment formatting.
9340         (adi_available): Use a temp variable of type CORE_ADDR as argument
9341         3 when calling target_auxv_search.
9342         (adi_normalize_address): Use masks and xor operators to calculate
9343         normalized address.
9344         (adi_read_versions, adi_write_versions, adi_print_versions)
9345         (do_examine, do_assign): Use paddress.
9346
9347 2017-08-29  John Baldwin  <jhb@FreeBSD.org>
9348
9349         * mips-fbsd-nat.c (getfpregs_supplies): Return true for FIR.
9350         * mips-fbsd-tdep.c (mips_fbsd_supply_fpregs): Split supply of FSR
9351         out of loop and add supply of FIR.
9352         (mips_fbsd_collect_fpregs): Split collect of FSR out of loop and
9353         add collect of FIR.
9354
9355 2017-08-28  Simon Marchi  <simon.marchi@ericsson.com>
9356
9357         PR gdb/21827
9358         * cli/cli-script.c (define_command): Don't convert command name
9359         to lower case.
9360
9361 2017-08-25  Joel Brobecker  <brobecker@adacore.com>
9362
9363         * ada-lang.c (ada_lookup_struct_elt_type): Remove parameter "dispp".
9364         Update all callers accordingly. Remove all code blocks handling
9365         the case where DISPP is not NULL.
9366
9367 2017-08-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
9368
9369         PR symtab/22003
9370         * dwarf2read.c (dwarf2_const_value_attr, dump_die_shallow)
9371         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
9372         (skip_form_bytes, attr_form_is_constant): Handle DW_FORM_implicit_const.
9373
9374 2017-08-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
9375
9376         * dwarf2read.c (build_type_psymtabs_reader): New prototype.
9377         (process_psymtab_comp_unit): Accept IS_DEBUG_TYPES.
9378         (read_comp_units_from_section): New parameter abbrev_section, use
9379         read_and_check_comp_unit_head, allocate signatured_type if needed.
9380         (create_all_comp_units): Update read_comp_units_from_section caller.
9381
9382 2017-08-23  Pedro Alves  <palves@redhat.com>
9383
9384         PR remote/21852
9385         * remote.c (add_current_inferior_and_thread): Set inferior_ptid
9386         to null_ptid and switch to thread without reading the registers
9387         after adding the inferior.
9388
9389 2017-08-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
9390
9391         * NEWS (Changes since GDB 8.0): Add set compile-gcc and show
9392         compile-gcc.
9393         * compile/compile.c (compile_gcc, show_compile_gcc): New.
9394         (compile_to_object): Implement compile_gcc.
9395         (_initialize_compile): Install "set compile-gcc".  Initialize
9396         compile_gcc.
9397
9398 2017-08-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
9399
9400         * compile/compile.c (compile_to_object): Conditionally call
9401         set_verbose.  Conditionally call compile or compile_v0.
9402
9403 2017-08-07  Weimin Pan  <weimin.pan@oracle.com>
9404
9405         * sparc64-tdep.h: (adi_normalize_address): New export.
9406         * sparc-nat.h: (open_adi_tag_fd): New export.
9407         * sparc64-linux-nat.c: (open_adi_tag_fd): New function.
9408         * sparc64-linux-tdep.c:
9409         (SEGV_ACCADI, SEGV_ADIDERR, SEGV_ADIPERR) New defines.
9410         (sparc64_linux_handle_segmentation_fault): New function.
9411         (sparc64_linux_init_abi): Register
9412         sparc64_linux_handle_segmentation_fault
9413         * sparc64-tdep.c: Include cli-utils.h,gdbcmd.h,auxv.h.
9414         (sparc64_addr_bits_remove): New function.
9415         (sparc64_init_abi): Register sparc64_addr_bits_remove.
9416         (MAX_PROC_NAME_SIZE): New macro.
9417         (AT_ADI_BLKSZ, AT_ADI_NBITS, AT_ADI_UEONADI) New defines.
9418         (sparc64adilist): New variable.
9419         (adi_proc_list): New variable.
9420         (find_adi_info): New function.
9421         (add_adi_info): New function.
9422         (get_adi_info_proc): New function.
9423         (get_adi_info): New function.
9424         (info_adi_command): New function.
9425         (read_maps_entry): New function.
9426         (adi_available): New function.
9427         (adi_normalize_address): New function.
9428         (adi_align_address): New function.
9429         (adi_convert_byte_count): New function.
9430         (adi_tag_fd): New function.
9431         (adi_is_addr_mapped): New function.
9432         (adi_read_versions): New function.
9433         (adi_write_versions): New function.
9434         (adi_print_versions): New function.
9435         (do_examine): New function.
9436         (do_assign): New function.
9437         (adi_examine_command): New function.
9438         (adi_assign_command): New function.
9439         (_initialize_sparc64_adi_tdep): New function.
9440
9441 2017-08-22  Simon Marchi  <simon.marchi@ericsson.com>
9442
9443         * breakpoint.c (breakpoints_info): Rename to ...
9444         (info_breakpoints_command): ... this.
9445         (watchpoints_info): Rename to ...
9446         (info_watchpoints_command): ... this.
9447         (tracepoints_info): Rename to ...
9448         (info_tracepoints_command): ... this.
9449         (_initialize_breakpoint): Adjust.
9450         * dcache.c (dcache_info): Rename to ...
9451         (info_display_command): ... this.
9452         (_initialize_dcache): Adjust.
9453         * frame.h (args_info): Rename to ...
9454         (info_args_command): ... this.
9455         (locals_info): Rename to ...
9456         (info_locals_command): ... this.
9457         * infcmd.c (nofp_registers_info): Rename to ...
9458         (info_registers_command): ... this.
9459         (float_info): Rename to ...
9460         (info_float_command): ... this.
9461         (program_info): Rename to ...
9462         (info_program_command): ... this.
9463         (all_registers_info): Rename to ...
9464         (info_all_registers_command): ... this.
9465         (vector_info): Rename to ...
9466         (info_vector_command): ... this.
9467         (float_info): Rename to ...
9468         (info_float_command): ... this.
9469         (_initialize_infcmd): Adjust.
9470         * inferior.h (term_info): Rename to ...
9471         (info_terminal_command): ... this.
9472         * inflow.c (term_info): Rename to ...
9473         (info_terminal_command): ... this.
9474         (_initialize_inflow): Adjust.
9475         * infrun.c (signals_info): Rename to ...
9476         (info_signals_command): ... this.
9477         (_initialize_infrun): Adjust.
9478         * objc-lang.c (classes_info): Rename to ...
9479         (info_classes_command): ... this.
9480         (selectors_info): Rename to ...
9481         (info_selectors_command): ... this.
9482         (_initialize_objc_language): Adjust.
9483         * printcmd.c (sym_info): Rename to ...
9484         (info_symbol_command): ... this.
9485         (address_info): Rename to ...
9486         (info_address_command): ... this.
9487         (display_info): Rename to ...
9488         (info_display_command): ... this.
9489         (_initialize_printcmd): Adjust.
9490         * reverse.c (bookmarks_info): Rename to ...
9491         (info_breakpoints_command): ... this.
9492         (_initialize_reverse): Adjust.
9493         * ser-go32.c (dos_info): Rename to ...
9494         (info_serial_command): ... this.
9495         (_initialize_ser_dos): Adjust.
9496         * skip.c (skip_info): Rename to ...
9497         (info_skip_command): ... this.
9498         (_initialize_step_skip): Adjust.
9499         * source.c (line_info): Rename to ...
9500         (info_line_command): ... this.
9501         (source_info): Rename to ...
9502         (info_source_command)
9503         * stack.c (frame_info): Rename to ...
9504         (info_frame_command): ... this.
9505         (locals_info): Rename to ...
9506         (info_locals_command): ... this.
9507         (args_info): Rename to ...
9508         (info_args_command): ... this.
9509         (_initialize_stack): Adjust.
9510         * symtab.c (sources_info): Rename to ...
9511         (info_sources_command): ... this.
9512         (variables_info): Rename to ...
9513         (info_variables_command): ... this.
9514         (functions_info): Rename to ...
9515         (info_functions_command): ... this.
9516         (types_info): Rename to ...
9517         (info_types_command): ... this.
9518         (_initialize_symtab): Adjust.
9519         * target.c (target_info): Rename to ...
9520         (info_target_command): ... this.
9521         (initialize_targets): Adjust.
9522         * tracepoint.c (tvariables_info): Rename to ...
9523         (info_tvariables_command): ... this.
9524         (scope_info): Rename to ...
9525         (info_scope_command): ... this.
9526         (trace_dump_actions): Adjust.
9527         (_initialize_tracepoint): Adjust.
9528
9529 2017-08-22  Tom Tromey  <tom@tromey.com>
9530
9531         * breakpoint.h (install_breakpoint): Update.
9532         * breakpoint.c (add_solib_catchpoint): Update.
9533         (install_breakpoint): Change argument to a std::unique_ptr.
9534         (create_fork_vfork_event_catchpoint): Use std::unique_ptr.
9535         (create_breakpoint_sal, create_breakpoint): Update.
9536         (watch_command_1, catch_exec_command_1)
9537         (strace_marker_create_breakpoints_sal): Use std::unique_ptr.
9538         (add_to_breakpoint_chain): Change argument to a std::unique_ptr.
9539         Return the breakpoint.
9540         (set_raw_breakpoint_without_location, set_raw_breakpoint)
9541         (new_single_step_breakpoint): Update.
9542         * break-catch-throw.c (handle_gnu_v3_exceptions): Use
9543         std::unique_ptr.
9544         * break-catch-syscall.c (create_syscall_event_catchpoint): Use
9545         std::unique_ptr.
9546         * break-catch-sig.c (create_signal_catchpoint): Use
9547         std::unique_ptr.
9548         * ada-lang.c (create_ada_exception_catchpoint): Use
9549         std::unique_ptr.
9550
9551 2017-08-22  Tom Tromey  <tom@tromey.com>
9552
9553         * breakpoint.c (add_solib_catchpoint): Use std::unique_ptr.
9554
9555 2017-08-22  Tom Tromey  <tom@tromey.com>
9556
9557         * psymtab.c (psymtab_search_name): Return a unique_xmalloc_ptr.
9558         (lookup_partial_symbol): Update.
9559
9560 2017-08-22  Tom Tromey  <tom@tromey.com>
9561
9562         * source.h (rewrite_source_path): Return a unique_xmalloc_ptr.
9563         * source.c (rewrite_source_path): Return a unique_xmalloc_ptr.
9564         (find_and_open_source, symtab_to_fullname): Update.
9565         * psymtab.c (psymtab_to_fullname): Update.
9566
9567 2017-08-22  Tom Tromey  <tom@tromey.com>
9568
9569         * exec.c (exec_file_attach): Update.
9570         * linux-thread-db.c (try_thread_db_load): Update.
9571         * guile/scm-safe-call.c (gdbscm_safe_source_script): Update.
9572         * utils.c (gdb_realpath): Change return type.
9573         (gdb_realpath_keepfile): Update.
9574         (gdb_realpath_check_trailer, gdb_realpath_tests): New functions.
9575         (_initialize_utils): Register the new self test.
9576         * source.c (openp): Update.
9577         (find_and_open_source): Update.
9578         * nto-tdep.c (nto_find_and_open_solib): Update.
9579         * main.c (set_gdb_data_directory): Update.
9580         (captured_main_1): Update.
9581         * dwarf2read.c (dwarf2_get_dwz_file): Update
9582         (dw2_map_symbol_filenames): Update.
9583         * auto-load.c (auto_load_safe_path_vec_update): Update.
9584         (filename_is_in_auto_load_safe_path_vec): Change type of
9585         "filename_realp".
9586         (auto_load_objfile_script): Update.
9587         (file_is_auto_load_safe): Update.  Use std::string.
9588         * utils.h (gdb_realpath): Return a gdb::unique_xmalloc_ptr.
9589
9590 2017-08-22  Tom Tromey  <tom@tromey.com>
9591
9592         * utils.c (gdb_realpath_keepfile): Return a
9593         gdb::unique_xmalloc_ptr.
9594         * exec.c (exec_file_attach): Update.
9595         * utils.h (gdb_realpath_keepfile): Return a
9596         gdb::unique_xmalloc_ptr.
9597
9598 2017-08-22  Tom Tromey  <tom@tromey.com>
9599
9600         * compile/compile.c (compile_file_command): Use
9601         gdb::unique_xmalloc_ptr, std::string.
9602         * utils.c (gdb_abspath): Change return type.
9603         * source.c (openp): Update.
9604         * objfiles.c (allocate_objfile): Update.
9605         * main.c (set_gdb_data_directory): Update.
9606         * utils.h (gdb_abspath): Return a gdb::unique_xmalloc_ptr.
9607
9608 2017-08-22  Zhouyi Zhou  <zhouzhouyi@gmail.com>
9609
9610         * cli-cmds.c (list_commands): List actual code around more than
9611         one location.
9612
9613 2017-08-21  John Baldwin  <jhb@FreeBSD.org>
9614
9615         * fbsd-nat.c (fbsd_add_threads): Use array type for `lwps'.
9616
9617 2017-08-21  Pedro Alves  <palves@redhat.com>
9618
9619         PR gdb/19487
9620         * c-exp.y (variable production): Handle function aliases.
9621         * minsyms.c (msymbol_is_text): New function.
9622         * minsyms.h (msymbol_is_text): Declare.
9623         * symtab.c (find_function_alias_target): New function.
9624         * symtab.h (find_function_alias_target): Declare.
9625
9626 2017-08-21  Pedro Alves  <palves@redhat.com>
9627
9628         * eval.c (evaluate_subexp_standard) <OP_TYPE>: Don't dig past
9629         typedefs.
9630         * typeprint.c (whatis_exp): If handling "whatis", and expression
9631         is OP_TYPE, strip one typedef level.  Otherwise don't strip
9632         typedefs here.
9633         * valops.c (value_cast): Save "to" type before resolving
9634         stubs/typedefs.  Use that type as resulting value's type.
9635
9636 2017-08-18  Tom Tromey  <tom@tromey.com>
9637             Pedro Alves  <palves@redhat.com>
9638
9639         * spu-multiarch.c (parse_spufs_run): Use scoped_restore.
9640         * sol-thread.c (sol_thread_resume, sol_thread_wait)
9641         (sol_thread_xfer_partial, rw_common): Use scoped_restore.
9642         * procfs.c (procfs_do_thread_registers): Use scoped_restore.
9643         * proc-service.c (ps_xfer_memory): Use scoped_restore.
9644         * linux-tdep.c (linux_corefile_thread): Remove a cleanup.
9645         (linux_get_siginfo_data): Add "thread" argument.  Use
9646         scoped_restore.
9647         * linux-nat.c (linux_child_follow_fork)
9648         (check_stopped_by_watchpoint): Use scoped_restore.
9649         * infrun.c (displaced_step_prepare_throw, write_memory_ptid)
9650         (THREAD_STOPPED_BY, handle_signal_stop): Use scoped_restore.
9651         (restore_inferior_ptid, save_inferior_ptid): Remove.
9652         * btrace.c (btrace_fetch): Use scoped_restore.
9653         * bsd-uthread.c (bsd_uthread_fetch_registers)
9654         (bsd_uthread_store_registers): Use scoped_restore.
9655         * breakpoint.c (reattach_breakpoints, detach_breakpoints): Use
9656         scoped_restore.
9657         * aix-thread.c (aix_thread_resume, aix_thread_wait)
9658         (aix_thread_xfer_partial): Use scoped_restore.
9659         * inferior.h (save_inferior_ptid): Remove.
9660
9661 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9662
9663         PR tdep/21818
9664         * arm-tdep.c (gdb_print_insn_arm): Mark
9665         USER_SPECIFIED_MACHINE_TYPE if exec_bfd isn't NULL.
9666
9667 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9668
9669         * NEWS: Mention GDBserver's new option "--selftest".
9670         * Makefile.in (SFILES): Remove selftest.c, add common/selftest.c.
9671         * selftest.c: Move it to common/selftest.c.
9672         * selftest.h: Move it to common/selftest.h.
9673         * selftest-arch.c (reset): New function.
9674         (tests_with_arch): Call reset.
9675
9676 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9677
9678         * selftest.c (run_tests): Don't call QUIT.  Call debug_printf
9679         instead of exception_fprintf and printf_filtered.
9680
9681 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9682
9683         * selftest.c (register_self_test): Rename it to
9684         selftests::register_test.
9685         (run_self_tests): selftest::run_tests.
9686         * selftest.h: Update declarations.
9687         * selftest-arch.c (register_self_test_foreach_arch): Rename it to
9688         selftests::register_test_foreach_arch.
9689         * selftest-arch.h: Update declaration.
9690         * aarch64-tdep.c: Update.
9691         * arm-tdep.c: Likewise.
9692         * disasm-selftests.c: Likewise.
9693         * dwarf2loc.c: Likewise.
9694         * dwarf2-frame.c: Likewise.
9695         * findvar.c: Likewise.
9696         * gdbarch-selftests.c: Likewise.
9697         * maint.c (maintenance_selftest): Likewise.
9698         * regcache.c: Likewise.
9699         * rust-exp.y: Likewise.
9700         * selftest-arch.c: Likewise.
9701         * unittests/environ-selftests.c: Likewise.
9702         * unittests/function-view-selftests.c: Likewise.
9703         * unittests/offset-type-selftests.c: Likewise.
9704         * unittests/optional-selftests.c: Likewise.
9705         * unittests/scoped_restore-selftests.c: Likewise.
9706         * utils-selftests.c: Likewise.
9707
9708 2017-08-17  Pedro Alves  <palves@redhat.com>
9709
9710         * cli/cli-cmds.c (source_command): Delete 'old_source_verbose'
9711         local.
9712
9713 2017-08-17  Pedro Alves  <palves@redhat.com>
9714
9715         * dwarf2read.c (struct dwarf2_cu) <line_header_die_owner>: New
9716         field.
9717         (reset_die_in_process): Delete, replaced by ...
9718         (process_die_scope): ... this new class.  Make it responsible for
9719         freeing cu->line_header too.
9720         (process_die): Use process_die_scope.
9721         (handle_DW_AT_stmt_list): Record the line header's owner CU/DIE in
9722         cu->line_header_die_owner.  Don't release the line header if it's
9723         owned by the CU.
9724         (setup_type_unit_groups): Make the CU/DIE own the line header.
9725         Don't release the line header here.
9726
9727 2017-08-17  Alex Lindsay  <alexlindsay239@gmail.com>  (tiny change)
9728
9729         * elfread.c (elf_read_minimal_symbols): xfree synthsyms.
9730
9731 2017-08-17  Ruslan Kabatsayev  <b7.10110111@gmail.com>
9732
9733         * NEWS: Mention new shortcuts for nexti and stepi in TUI
9734         Single-Key mode
9735
9736 2017-08-16  Ruslan Kabatsayev  <b7.10110111@gmail.com>
9737
9738         * tui/tui.c (tui_commands): Add "nexti" and "stepi" to the Single-Key
9739         mode command list.
9740
9741 2017-08-15  Stafford Horne  <shorne@gmail.com>
9742
9743         * MAINTAINERS (Write After Approval): Add Stafford Horne.
9744
9745 2017-08-15  Stafford Horne  <shorne@gmail.com>
9746
9747         * xtensa-tdep.c (xtensa_init_reggroups): Use xstrdup for cpname.
9748
9749 2017-08-15  Sergio Durigan Junior  <sergiodj@redhat.com>
9750
9751         PR gdb/21954
9752         * infcmd.c (unset_environment_command): Use the 'clear' method on
9753         the environment instead of resetting it.
9754
9755 2017-08-15  John Baldwin  <jhb@FreeBSD.org>
9756
9757         * fbsd-nat.c (fbsd_convert_siginfo): Fix compile on big-endian
9758         platforms.
9759
9760 2017-08-14  Tom Tromey  <tom@tromey.com>
9761
9762         * valprint.c (print_octal_chars): Use HOST_CHAR_BIT.
9763         (print_binary_chars): Likewise.
9764         (BITS_IN_BYTES): Remove.
9765
9766 2017-08-14  Tom Tromey  <tom@tromey.com>
9767
9768         PR gdb/21675
9769         * valprint.c (LOW_ZERO): Change value to 034.
9770         (print_octal_chars): Add static_asserts for octal constants.
9771         * printcmd.c (print_scalar_formatted): Add 'd' case.
9772
9773 2017-08-11  Tom Tromey  <tom@tromey.com>
9774
9775         * symfile.c (add_symbol_file_command): Use std::vector.
9776
9777 2017-08-14  Tom Tromey  <tom@tromey.com>
9778
9779         * break-catch-throw.c (handle_gnu_v3_exceptions): Use std::move.
9780         * break-catch-syscall.c (create_syscall_event_catchpoint): Use
9781         std::move.
9782         * break-catch-sig.c (create_signal_catchpoint): Use std::move.
9783
9784 2017-08-11  Pedro Alves  <palves@redhat.com>
9785
9786         * infrun.c (process_event_stop_test): Adjust
9787         function_name_is_marked_for_skip call.
9788         * skip.c: Include <list>.
9789         (skiplist_entry): Make it a class with private fields, and
9790         getters/setters.
9791         (skiplist_entry_chain): Delete.
9792         (skiplist_entries): New.
9793         (skiplist_entry_count): Delete.
9794         (highest_skiplist_entry_num): New.
9795         (ALL_SKIPLIST_ENTRIES, ALL_SKIPLIST_ENTRIES_SAFE): Delete.
9796         (add_skiplist_entry): Delete.
9797         (skiplist_entry::skiplist_entry): New.
9798         (skiplist_entry::add_entry): New.
9799         (skip_file_command, skip_function): Adjust.
9800         (compile_skip_regexp): Delete.
9801         (skip_command): Don't compile regexp here.  Adjust to use
9802         skiplist_entry::add_entry.
9803         (skip_info): Adjust to use range-for and getters.
9804         (skip_enable_command, skip_disable_command): Adjust to use
9805         range-for and setters.
9806         (skip_delete_command): Adjust to use std::list.
9807         (add_skiplist_entry): Delete.
9808         (skip_file_p): Delete, refactored as ...
9809         (skiplist_entry::do_skip_file_p): ... this new method.
9810         (skip_gfile_p): Delete, refactored as ...
9811         (skiplist_entry::do_gskip_file_p): ... this new method.
9812         (skip_function_p, skip_rfunction_p): Delete, refactored as ...
9813         (skiplist_entry::skip_function_p): ... this new method.
9814         (function_name_is_marked_for_skip): Now returns bool, and takes
9815         the function sal by const reference.  Adjust to use range-for and
9816         skiplist_entry methods.
9817         (_initialize_step_skip): Remove references to
9818         skiplist_entry_chain, skiplist_entry_count.
9819         * skip.h (function_name_is_marked_for_skip): Now returns bool, and
9820         takes the function sal by const reference.
9821
9822 2017-08-11  Yao Qi  <yao.qi@linaro.org>
9823
9824         * dwarf2-frame.c (clear_pointer_cleanup): Remove.
9825         (dwarf2_frame_cache): Remove reset_cache_cleanup.
9826         (dwarf2_frame_cache):
9827         * frame-unwind.c (frame_unwind_try_unwinder): Catch
9828         RETURN_MASK_ALL and set *this_case to NULL.
9829         * frame-unwind.h: Update comments.
9830
9831 2017-08-11  Yao Qi  <yao.qi@linaro.org>
9832
9833         * dwarf2-frame.c (dwarf2_frame_state_alloc_regs): Remove.
9834         (dwarf2_frame_state_copy_regs): Remove.
9835         (dwarf2_frame_state_free_regs): Remove.
9836         (dwarf2_frame_state::~dwarf2_frame_state): Remove.
9837         (dwarf2_restore_rule): Call method .alloc_regs instead of
9838         dwarf2_frame_state_alloc_regs.
9839         (execute_cfa_program): Likewise.  Call dwarf2_frame_state_reg_info
9840         constructor.  Call std::move.
9841         (dwarf2_fetch_cfa_info): Don't call dwarf2_frame_state_copy_regs.
9842         (dwarf2_frame_cache): Likewise.
9843
9844         [GDB_SELF_TEST]: Include selftest.h and
9845         selftest-arch.h.
9846         [GDB_SELF_TEST] (execute_cfa_program_test): New function.
9847         (_initialize_dwarf2_frame) [GDB_SELF_TEST]: Register
9848         execute_cfa_program_test.
9849
9850         * dwarf2-frame.h (dwarf2_frame_state_reg_info): Add ctor, dtor,
9851         copy ctor, assignment operator, move assignment.
9852         <alloc_regs>: New method.
9853         <swap>: New method.
9854         (struct dwarf2_frame_state): Delete dtor.
9855         (dwarf2_frame_state_alloc_regs): Remove declaration.
9856         * sparc-tdep.c (sparc_execute_dwarf_cfa_vendor_op): Don't call
9857         dwarf2_frame_state_alloc_regs, use .alloc_regs instead.
9858
9859 2017-08-11  Yao Qi  <yao.qi@linaro.org>
9860
9861         * dwarf2-frame.c (dwarf2_frame_state_free): Remove.
9862         (dwarf2_frame_state::dwarf2_frame_state): New.
9863         (dwarf2_frame_state::~dwarf2_frame_state): New.
9864         (dwarf2_fetch_cfa_info): Update.
9865         (dwarf2_frame_cache): Remove old_chain.  Change 'fs' to an object
9866         rather than a pointer.  Update code.
9867         * dwarf2-frame.h (struct dwarf2_frame_state): Declare ctor and
9868         dtor.
9869         <data_align, code_align, retaddr_column>: Change them to const.
9870         <armcc_cfa_offsets_sf, armcc_cfa_offsets_reversed>: Change them
9871         to bool.
9872
9873 2017-08-11  Yao Qi  <yao.qi@linaro.org>
9874
9875         * dwarf2-frame.h (struct dwarf2_frame_state_reg) <exp_len>: Remove.
9876         <loc.exp>: New field.
9877         * dwarf2-frame.c (execute_cfa_program): Update.
9878         (dwarf2_frame_prev_register): Update.
9879
9880 2017-08-10  Pedro Alves  <palves@redhat.com>
9881
9882         * common/gdb_unique_ptr.h (xfree_deleter<T[]>): Define.
9883
9884 2017-08-09  John Baldwin  <jhb@FreeBSD.org>
9885
9886         * fbsd-nat.c (struct fbsd_fork_info): Remove.
9887         (fbsd_pending_children): Use std::list.
9888         (fbsd_remember_child): Likewise.
9889         (fbsd_is_child_pending): Likewise.
9890         (fbsd_pending_vfork_done): Use std::forward_list.
9891         (fbsd_add_vfork_done): Likewise.
9892         (fbsd_is_vfork_done_pending): Likewise.
9893         (fbsd_next_vfork_done): Likewise.
9894
9895 2017-08-09  John Baldwin  <jhb@FreeBSD.org>
9896
9897         * fbsd-nat.c [HAVE_KINFO_GETVMMAP] (struct free_deleter): New.
9898         (fbsd_find_memory_regions): Use free_deleter with std::unique_ptr.
9899         [!HAVE_KINFO_GETVMMAP] (fbsd_find_memory_regions): Use std::string
9900         for `mapfilename'.
9901         (fbsd_xfer_partial): Use gdb::byte_vector.
9902         (fbsd_add_threads): Use gdb::unique_xmalloc_ptr.
9903
9904 2017-08-09  John Baldwin  <jhb@FreeBSD.org>
9905
9906         * fbsd-nat.c: [!HAVE_KINFO_GETVMMAP]: Include <sys/user.h> and
9907         "filestuff.h".
9908         (fbsd_find_memory_regions): Fix `mapfile' initialization.
9909
9910 2017-08-09  Tom Tromey  <tom@tromey.com>
9911
9912         * skip.c (skiplist_entry): New constructor.
9913         (skiplist_entry::enabled, skiplist_entry::function_is_regexp)
9914         (skiplist_entry::file_is_glob): Now bool.
9915         (skiplist_entry::file, skiplist_entry::function): Now
9916         std::string.
9917         (make_skip_entry): Return a unique_ptr.  Use new.
9918         (free_skiplist_entry, free_skiplist_entry_cleanup)
9919         (make_free_skiplist_entry_cleanup): Remove.
9920         (skip_command, skip_disable_command, add_skiplist_entry)
9921         (skip_form_bytes, compile_skip_regexp, skip_command, skip_info)
9922         (skip_file_p, skip_gfile_p, skip_function_p, skip_rfunction_p)
9923         (function_name_is_marked_for_skip): Update.
9924         (skip_delete_command): Update.  Use delete.
9925
9926 2017-08-09  Jiong Wang  <jiong.wang@arm.com>
9927
9928         * aarch64-linux-tdep.c: Include "auxv.h" and "elf/common.h".
9929         (aarch64_linux_core_read_description): New function.
9930         (aarch64_linux_init_abi): Register gdbarch_core_read_description.
9931
9932 2017-08-09  Pedro Alves  <palves@redhat.com>
9933
9934         * cp-name-parser.y (cp_comp_to_string): Return a
9935         gdb::unique_xmalloc_ptr<char>.
9936         * cp-support.c (replace_typedefs_qualified_name)
9937         (replace_typedefs): Adjust to use gdb::unique_xmalloc_ptr<char>.
9938         (cp_canonicalize_string_full): Use op= instead of explicit
9939         convertion.
9940         (cp_class_name_from_physname, method_name_from_physname)
9941         (cp_func_name, cp_remove_params): Adjust to use
9942         gdb::unique_xmalloc_ptr<char>.
9943         * cp-support.h (cp_comp_to_string): Return a
9944         gdb::unique_xmalloc_ptr<char>.
9945         * python/py-type.c (typy_lookup_type): Adjust to use
9946         gdb::unique_xmalloc_ptr<char>.
9947
9948 2017-08-09  H.J. Lu  <hongjiu.lu@intel.com>
9949
9950         * dwarf2read.c (dwarf2_string_attr): Fix a typo.
9951
9952 2017-08-09  Alex Lindsay  <alexlindsay239@gmail.com>
9953             Yao Qi  <yao.qi@linaro.org>
9954
9955         * cp-support.c (cp_canonicalize_string_full): Use
9956         gdb::unique_xmalloc_ptr<char>.
9957         (cp_canonicalize_string): Likewise.
9958
9959 2017-08-09  Yao Qi  <yao.qi@linaro.org>
9960
9961         * features/Makefile (WHICH): Remove i386/ non-linux stuff.
9962         * regformats/i386/amd64-avx-avx512.dat: Remove.
9963         * regformats/i386/amd64-avx-mpx-avx512-pku.dat: Remove.
9964         * regformats/i386/amd64-avx-mpx.dat:Remove.
9965         * regformats/i386/amd64-avx.dat: Remove.
9966         * regformats/i386/amd64-mpx.dat: Remove.
9967         * regformats/i386/i386-avx-avx512.dat: Remove.
9968         * regformats/i386/i386-avx-mpx-avx512-pku.dat: Remove.
9969         * regformats/i386/i386-avx-mpx.dat: Remove.
9970         * regformats/i386/i386-mmx.dat: Remove.
9971         * regformats/i386/i386-mpx.dat: Remove.
9972
9973 2017-08-09  Yao Qi  <yao.qi@linaro.org>
9974
9975         * amd64-tdep.h (tdesc_x32): Remove the declaration.
9976         * amd64-tdep.c: Don't include features/i386/x32*.c.
9977         (_initialize_amd64_tdep): Don't call initialize_tdesc_x32*
9978         functions.
9979         * features/Makefile (WHICH): Remove i386/x32, i386/x32-avx,
9980         and i386/x32-avx-avx512.
9981         (XMLTOC): Remove i386/x32-avx.xml, i386/x32-avx-avx512.xml,
9982         and i386/x32.xml.
9983         * features/i386/x32-avx-avx512.c: Removed.
9984         * features/i386/x32-avx-avx512.xml: Removed.
9985         * features/i386/x32-avx.c: Removed.
9986         * features/i386/x32-avx.xml: Removed.
9987         * features/i386/x32.c: Removed.
9988         * features/i386/x32.xml: Removed.
9989         * regformats/i386/x32-avx-avx512.dat: Removed.
9990         * regformats/i386/x32-avx.dat: Removed.
9991         * regformats/i386/x32.dat: Removed.
9992
9993 2017-08-07  Maciej W. Rozycki  <macro@imgtec.com>
9994
9995         PR breakpoints/21886
9996         * mem-break.c (default_memory_insert_breakpoint): Use
9997         `->placed_address' rather than `->reqstd_address' for the
9998         breakpoint location.
9999
10000 2017-08-07  Maciej W. Rozycki  <macro@imgtec.com>
10001
10002         * arch-utils.c (default_print_insn): Remove arch/mach/endian
10003         assertions.
10004
10005 2017-08-07  Maciej W. Rozycki  <macro@imgtec.com>
10006
10007         * gdbarch.sh (gdbarch_info): Replace the `tdep_info' member with
10008         a union of `tdep_info', `tdesc_data' and `id'.
10009         * aarch64-tdep.c (aarch64_gdbarch_init): Use `info.tdesc_data'
10010         rather than `info.tdep_info'.
10011         * amd64-linux-tdep.c (amd64_linux_init_abi): Likewise.
10012         * i386-linux-tdep.c (i386_linux_init_abi): Likewise.
10013         * i386-tdep.c (i386_gdbarch_init): Likewise.
10014         * mips-linux-tdep.c (mips_linux_init_abi): Likewise.
10015         * mips-tdep.c (mips_gdbarch_init): Likewise.
10016         * nds32-tdep.c (nds32_gdbarch_init): Likewise.
10017         * rs6000-tdep.c (rs6000_gdbarch_init): Likewise.
10018         * ppc-linux-tdep.c (ppu2spu_sniffer): Use `info.id' rather than
10019         `info.tdep_info'.
10020         (ppc_linux_init_abi): Use `info.tdesc_data' rather than
10021         `info.tdep_info'.
10022         * sparc-tdep.c (sparc32_gdbarch_init): Likewise.
10023         * spu-multiarch.c (spu_gdbarch): Use `info.id' rather than
10024         `info.tdep_info'.
10025         * spu-tdep.c (spu_gdbarch_init): Likewise.
10026         * gdbarch.h: Regenerate.
10027
10028 2017-08-07  Leszek Swirski  <leszeks@google.com>
10029
10030         PR symtab/20899
10031         * dwarf2read.c (dwarf2_string_attr): Allow DW_FORM_GNU_strp_alt.
10032
10033 2017-08-07  Simon Marchi  <simon.marchi@ericsson.com>
10034
10035         * remote-sim.c (gdbsim_load): Remove char **argv local variable.
10036         (gdbsim_open): Rename gdb_argv args object to argv.
10037
10038 2017-08-05  Tom Tromey  <tom@tromey.com>
10039
10040         * compile/compile-object-load.c (compile_object_load): Use
10041         gdb::unique_xmalloc_ptr.
10042         * cli/cli-dump.c (scan_filename): Rename from
10043         scan_filename_with_cleanup.  Change return type.
10044         (scan_expression): Rename from scan_expression_with_cleanup.
10045         Change return type.
10046         (dump_memory_to_file, dump_value_to_file, restore_command):
10047         Use gdb::unique_xmalloc_ptr.  Update.
10048         * cli/cli-cmds.c (find_and_open_script): Use
10049         gdb::unique_xmalloc_ptr.
10050         * tracefile-tfile.c (tfile_open): Use gdb::unique_xmalloc_ptr.
10051         * symmisc.c (maintenance_print_symbols)
10052         (maintenance_print_msymbols): Use gdb::unique_xmalloc_ptr.
10053         * symfile.c (symfile_bfd_open, generic_load)
10054         (add_symbol_file_command, remove_symbol_file_command): Use
10055         gdb::unique_xmalloc_ptr.
10056         * source.c (openp): Use gdb::unique_xmalloc_ptr.
10057         * psymtab.c (maintenance_print_psymbols): Use
10058         gdb::unique_xmalloc_ptr.
10059         * corelow.c (core_open): Use gdb::unique_xmalloc_ptr.
10060         * breakpoint.c (save_breakpoints): Use gdb::unique_xmalloc_ptr.
10061         * solib.c (solib_map_sections): Use gdb::unique_xmalloc_ptr.
10062         (reload_shared_libraries_1): Likewise.
10063
10064 2017-08-05  Tom Tromey  <tom@tromey.com>
10065
10066         * rust-exp.y (rust_op_ptr, set_field): Remove typedefs.
10067         (rust_op_vector, rust_set_vector): New typedefs.
10068         (current_parser): New global.
10069         (work_obstack): Change to pointer type.  Update all users.
10070         (rust_ast, pstate): Remove globals.
10071         (struct rust_parser): New.
10072         (%union) <params, field_inits>: Change type.
10073         (start, tuple_expr, unit_expr, struct_expr_list, literal)
10074         (field_expr, expr_list, maybe_expr_list, type_list): Update.
10075         (ast_call_ish, ast_path, ast_function_type, ast_tuple_type)
10076         (convert_params_to_types, convert_params_to_expression): Change
10077         type of "params".
10078         (ast_string): Change type of "fields".
10079         (rust_parse): Make a rust_parser.  Remove cleanups.
10080         (rust_lex_tests): Make and install an auto_obstack.
10081
10082 2017-08-04  Yao Qi  <yao.qi@linaro.org>
10083
10084         * configure.srv (ipa_x32_linux_regobj): New.
10085         * linux-amd64-ipa.c (get_ipa_tdesc): Use X86_TDESC_AVX_AVX512
10086         instead of X86_TDESC_AVX512.
10087         (initialize_low_tracepoint): Call
10088         init_registers_x32_avx_avx512_linux.
10089
10090 2017-08-04  Yao Qi  <yao.qi@linaro.org>
10091
10092         * utils.h (gdb_argv): Add namespace std for nullptr_t.
10093
10094 2017-08-03  Ruslan Kabatsayev  <b7.10110111@gmail.com>
10095
10096         * MAINTAINERS (Write After Approval): Add Ruslan Kabatsayev.
10097
10098 2017-08-03  Tom Tromey  <tom@tromey.com>
10099
10100         * utils.c (make_cleanup_freeargv, do_freeargv, gdb_buildargv):
10101         Remove.
10102         * utils.h (make_cleanup_freeargv, gdb_buildargv): Remove.
10103
10104 2017-08-03  Tom Tromey  <tom@tromey.com>
10105
10106         * python/py-param.c (compute_enum_values): Use gdb_argv.
10107
10108 2017-08-03  Tom Tromey  <tom@tromey.com>
10109
10110         * utils.h (struct gdb_argv_deleter): New.
10111         (gdb_argv): New class.
10112         * utils.c (gdb_argv::reset): New method.
10113         * tracepoint.c (delete_trace_variable_command): Use gdb_argv.
10114         * tracefile.c (tsave_command): Use gdb_argv.
10115         * top.c (new_ui_command): Use gdb_argv.
10116         * symmisc.c (maintenance_print_symbols)
10117         (maintenance_print_msymbols, maintenance_expand_symtabs): Use gdb_argv.
10118         * symfile.c (symbol_file_command, generic_load)
10119         (remove_symbol_file_command): Use gdb_argv.
10120         * stack.c (backtrace_command): Use gdb_argv.
10121         * source.c (add_path, show_substitute_path_command)
10122         (unset_substitute_path_command, set_substitute_path_command):
10123         Use gdb_argv.
10124         * skip.c (skip_command): Use gdb_argv.  Use gdb_buildargv.
10125         * ser-mingw.c (pipe_windows_open): Use gdb_argv.
10126         * remote.c (extended_remote_run, remote_put_command)
10127         (remote_get_command, remote_delete_command): Use gdb_argv.
10128         * remote-sim.c (gdbsim_load, gdbsim_create_inferior)
10129         (gdbsim_open): Use gdb_argv.
10130         * python/py-cmd.c (gdbpy_string_to_argv): Use gdb_argv.
10131         * psymtab.c (maintenance_print_psymbols): Use gdb_argv.
10132         * procfs.c (procfs_info_proc): Use gdb_argv.
10133         * interps.c (interpreter_exec_cmd): Use gdb_argv.
10134         * infrun.c (handle_command): Use gdb_argv.
10135         * inferior.c (add_inferior_command, clone_inferior_command):
10136         Use gdb_argv.
10137         * guile/scm-string.c (gdbscm_string_to_argv): Use gdb_argv.
10138         * exec.c (exec_file_command): Use gdb_argv.
10139         * cli/cli-cmds.c (alias_command): Use gdb_argv.
10140         * compile/compile.c (build_argc_argv): Use gdb_argv.
10141
10142 2017-08-03  Tom Tromey  <tom@tromey.com>
10143
10144         * python/python.c (gdbpy_decode_line): Use unique_xmalloc_ptr.
10145
10146 2017-08-03  Tom Tromey  <tom@tromey.com>
10147
10148         * python/python.c (compute_python_string): Return std::string.
10149         (gdbpy_eval_from_control_command): Update.
10150         (do_start_initialization): Use std::string.
10151         * python/py-varobj.c (py_varobj_iter_next): Use string_printf, not
10152         xstrprintf.
10153         * python/py-breakpoint.c (local_setattro): Use string_printf, not
10154         xstrprintf.
10155
10156 2017-08-03  Tom Tromey  <tom@tromey.com>
10157
10158         * top.h (do_restore_instream_cleanup): Remove.
10159         * top.c (do_restore_instream_cleanup): Remove.
10160         (read_command_file): Use scoped_restore.
10161         * cli/cli-script.c (execute_user_command): Use scoped_restore.
10162
10163 2017-08-03  Tom Tromey  <tom@tromey.com>
10164
10165         * cli/cli-script.c (execute_user_command)
10166         (execute_control_command): Use scoped_restore.
10167
10168 2017-08-03  Tom Tromey  <tom@tromey.com>
10169
10170         * cli/cli-script.c (do_restore_user_call_depth): Remove.
10171         (execute_user_command): Remove user_call_depth; use
10172         user_args_stack's size instead.
10173
10174 2017-08-03  Tom Tromey  <tom@tromey.com>
10175
10176         * top.h (in_user_command): Remove.
10177         * top.c (in_user_command): Remove.
10178         * cli/cli-script.c (do_restore_user_call_depth)
10179         (execute_user_command): Update.
10180
10181 2017-08-03  Tom Tromey  <tom@tromey.com>
10182
10183         * valops.c (search_struct_method): Use gdb::byte_vector.
10184         * valarith.c (value_concat): Use std::vector.
10185         * target.c (memory_xfer_partial): Use gdb::byte_vector.
10186         (simple_search_memory): Likewise.
10187         * printcmd.c (find_string_backward): Use gdb::byte_vector.
10188         * mi/mi-main.c (mi_cmd_data_write_memory): Use gdb::byte_vector.
10189         * gcore.c (gcore_copy_callback): Use gdb::byte_vector.
10190         * elfread.c (elf_rel_plt_read): Use std::string.
10191         * cp-valprint.c (cp_print_value): Use gdb::byte_vector.
10192         * cli/cli-dump.c (restore_section_callback): Use
10193         gdb::byte_vector.
10194
10195 2017-08-03  Tom Tromey  <tom@tromey.com>
10196
10197         * jit.c (jit_reader_load_command): Use unique_xmalloc_ptr.
10198
10199 2017-08-03  Tom Tromey  <tom@tromey.com>
10200
10201         * tui/tui-regs.c (tui_restore_gdbout): Remove.
10202         (tui_register_format): Use scoped_restore.
10203
10204 2017-08-03  Tom Tromey  <tom@tromey.com>
10205
10206         * reverse.c (exec_direction_default): Remove.
10207         (exec_reverse_once): Use scoped_restore.
10208         * remote.c (restore_remote_timeout): Remove.
10209         (remote_flash_erase, remote_flash_write, remote_flash_done)
10210         (readchar, remote_serial_write): Use scoped_restore.
10211         * cli/cli-script.c (struct source_cleanup_lines_args)
10212         (source_cleanup_lines): Remove.
10213         (script_from_file): Use scoped_restore.
10214         * cli/cli-cmds.c (source_verbose_cleanup): Remove.
10215         (source_command): Use scoped_restore.
10216
10217 2017-08-03  Tom Tromey  <tom@tromey.com>
10218
10219         * utils.h (make_cleanup_free_so): Remove.
10220         * utils.c (do_free_so, make_cleanup_free_so): Remove.
10221         * solist.h (struct so_deleter): New.
10222         (so_list_up): New typedef.
10223         * solib-svr4.c (svr4_read_so_list): Use so_list_up.
10224
10225 2017-08-03  Tom Tromey  <tom@tromey.com>
10226
10227         * utils.h (make_cleanup_restore_current_language): Remove.
10228         * utils.c (do_restore_current_language)
10229         (make_cleanup_restore_current_language): Remove.
10230         * parse.c (parse_exp_in_context_1)
10231         (parse_expression_with_language): Use
10232         scoped_restore_current_language.
10233         * mi/mi-main.c (mi_cmd_execute): Use
10234         scoped_restore_current_language.
10235         * language.h (scoped_restore_current_language): New class.
10236
10237 2017-08-03  Tom Tromey  <tom@tromey.com>
10238
10239         * compile/compile.c (cleanup_unlink_file): Remove.
10240         (compile_to_object): Use gdb::unlinker.
10241         (eval_compile_command): Likewise.
10242
10243 2017-08-03  Tom Tromey  <tom@tromey.com>
10244
10245         * utils.h (make_cleanup_fclose): Remove.
10246         * utils.c (do_fclose_cleanup, make_cleanup_fclose): Remove.
10247
10248 2017-08-03  Tom Tromey  <tom@tromey.com>
10249
10250         * top.c (open_terminal_stream): Return gdb_file_up.
10251         (new_ui_command): Update.
10252
10253 2017-08-03  Tom Tromey  <tom@tromey.com>
10254
10255         * source.c (print_source_lines_base, forward_search_command)
10256         (reverse_search_command): Use gdb_file_up.
10257
10258 2017-08-03  Tom Tromey  <tom@tromey.com>
10259
10260         * fbsd-nat.c (fbsd_find_memory_regions): Update.
10261
10262 2017-08-03  Tom Tromey  <tom@tromey.com>
10263
10264         * cli/cli-cmds.c (find_and_open_script): Change return type.
10265         Remove "streamp" and "full_path" parameters.
10266         (source_script_with_search): Update.
10267         * auto-load.c (source_script_file): Update.
10268         * cli/cli-cmds.h (find_and_open_script): Change type.
10269         (open_script): New struct.
10270
10271 2017-08-03  Tom Tromey  <tom@tromey.com>
10272
10273         * xml-support.c (xml_fetch_content_from_file): Update.
10274         * ui-file.c (stdio_file::open): Update.
10275         * tracefile-tfile.c (tfile_start): Update.
10276         * remote.c (remote_file_put, remote_file_get): Update.
10277         * nat/linux-procfs.c (linux_proc_get_int)
10278         (linux_proc_pid_get_state, linux_proc_tid_get_name): Update.
10279         * nat/linux-osdata.c (linux_common_core_of_thread): Update.
10280         (command_from_pid, commandline_from_pid, linux_xfer_osdata_cpus)
10281         (print_sockets, linux_xfer_osdata_shm, linux_xfer_osdata_sem)
10282         (linux_xfer_osdata_msg, linux_xfer_osdata_modules): Update.
10283         * nat/linux-btrace.c (linux_determine_kernel_start): Update.
10284         * linux-nat.c (linux_proc_pending_signals): Update.
10285         * dwarf2read.c (write_psymtabs_to_index): Use gdb_file_up.
10286         (file_closer): Remove.
10287         * compile/compile.c (compile_to_object): Update.
10288         * common/filestuff.h (struct gdb_file_deleter): New.
10289         (gdb_file_up): New typedef.
10290         (gdb_fopen_cloexec): Change return type.
10291         * common/filestuff.c (gdb_fopen_cloexec): Return gdb_file_up.
10292         * cli/cli-dump.c (fopen_with_cleanup): Remove.
10293         (dump_binary_file, restore_binary_file): Update.
10294         * auto-load.c (auto_load_objfile_script_1): Update.
10295
10296 2017-08-03  Tom Tromey  <tom@tromey.com>
10297
10298         * tracepoint.c (tvariables_info_1): Use ui_out_emit_table.
10299         (info_static_tracepoint_markers_command): Likewise.
10300         * solib.c (info_sharedlibrary_command): Use ui_out_emit_table.
10301         * skip.c (skip_info): Use ui_out_emit_table.
10302         * progspace.c (print_program_space): Use ui_out_emit_table.
10303         * osdata.c (info_osdata): Use ui_out_emit_table.
10304         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions): Use
10305         ui_out_emit_table.
10306         * linux-thread-db.c (info_auto_load_libthread_db): Use
10307         ui_out_emit_table.
10308         * inferior.c (print_inferior): Use ui_out_emit_table.
10309         * gdb_bfd.c (maintenance_info_bfds): Use ui_out_emit_table.
10310         * breakpoint.c (breakpoint_1): Use ui_out_emit_table.
10311         * auto-load.c (auto_load_info_scripts): Use ui_out_emit_table.
10312         * ada-tasks.c (print_ada_task_info): Use ui_out_emit_table.
10313         * ui-out.h (class ui_out_emit_table): New.
10314
10315 2017-08-02  Maciej W. Rozycki  <macro@imgtec.com>
10316
10317         * mips-tdep.c (mips_fpu_type_str): New function.
10318         (mips_dump_tdep): Call it.
10319
10320 2017-08-01  Maciej W. Rozycki  <macro@imgtec.com>
10321
10322         * mips-tdep.c (mips_gdbarch_init): Use MIPS_FPU_TYPE to access
10323         `->mips_fpu_type'.
10324
10325 2017-07-31  Xavier Roirand  <roirand@adacore.com>
10326
10327         * solib-darwin.c (DYLD_VERSION_MAX): Increase value.
10328
10329 2017-07-27  Xavier Roirand  <roirand@adacore.com>
10330
10331         * MAINTAINERS (Write After Approval): Add Xavier Roirand.
10332
10333 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10334
10335         * cli/cli-cmds.c (maintenancechecklist): New variable.
10336         * gdbcmd.h (maintenancechecklist): Declare it.
10337         * i386-linux-tdep.c (_initialize_i386_linux_tdep) [GDB_SELF_TEST]:
10338         Call i386_linux_read_description with different masks.
10339         * maint.c (maintenance_check_command): New function.
10340         (_initialize_maint_cmds): Call add_prefix_cmd.
10341         * target-descriptions.c (tdesc_reg): override operator != and ==.
10342         (tdesc_type): Likewise.
10343         (tdesc_feature): Likewise.
10344         (target_desc): Likewise.
10345         [GDB_SELF_TEST] (selftests::record_xml_tdesc): New function.
10346         (maintenance_check_xml_descriptions): New function.
10347         (_initialize_target_descriptions) Add command "xml-descriptions".
10348         * target-descriptions.h (selftests::record_xml_tdesc): Declare.
10349
10350 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10351
10352         * i386-linux-tdep.c: Don't include features/i386/i386-*linux.c.
10353         Include features/i386/32bit-*.c.
10354         (i386_linux_read_description): Generate target description if it
10355         doesn't exist.
10356         (_initialize_i386_linux_tdep): Don't call _initialize_tdesc_i386
10357         functions.
10358         * features/i386/32bit-linux.c: Re-generated.
10359         * features/i386/32bit-sse.c: Likewise.
10360         * target-descriptions.c (print_c_feature::visit): Print code to
10361         set register number if needed.
10362         (print_c_feature) <m_next_regnum>: New field.
10363
10364 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10365
10366         * features/Makefile (CFILES): Rename with TDESC_CFILES.
10367         (FEATURE_XMLFILES): New.
10368         (FEATURE_CFILES): New.
10369         New rules.
10370         (clean-cfiles): Remove generated c files.
10371         * features/i386/32bit-avx.c: Generated.
10372         * features/i386/32bit-avx512.c: Generated.
10373         * features/i386/32bit-core.c: Generated.
10374         * features/i386/32bit-linux.c: Generated.
10375         * features/i386/32bit-mpx.c: Generated.
10376         * features/i386/32bit-pkeys.c: Generated.
10377         * features/i386/32bit-sse.c: Generated.
10378         * target-descriptions.c: Include algorithm.
10379         (tdesc_element_visitor): Add method visit_end.
10380         (print_c_tdesc): Implement visit_end.
10381         (print_c_tdesc:: m_filename_after_features): Move it to
10382         protected.
10383         (print_c_feature): New class.
10384         (maint_print_c_tdesc_cmd): Use print_c_feature if XML file
10385         name starts with "i386/32bit-".
10386
10387 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10388
10389         * target-descriptions.c (tdesc_element_visitor): New class.
10390         (tdesc_element): New class.
10391         (tdesc_reg): Inherit from tdesc_element.
10392         (tdesc_reg::accept): New function.
10393         (tdesc_type): Inherit from tdesc_element.
10394         (tdesc_type::accept): New function.
10395         (tdesc_feature): Inherit from tdesc_element.
10396         (tdesc_feature::accept): New function.
10397         (target_desc): Inherit from tdesc_element.
10398         (target_desc::target_desc): New.
10399         (target_desc::~target_desc): New.
10400         (target_desc::accept): New.
10401         (allocate_target_description): Use new.
10402         (free_target_description): Use delete.
10403         (print_c_tdesc): New class.
10404         (maint_print_c_tdesc_cmd): Adjust.
10405
10406         * features/aarch64.c: Re-generated.
10407         * features/arc-arcompact.c: Re-generated.
10408         * features/arc-v2.c: Re-generated.
10409         * features/arm/arm-with-iwmmxt.c: Re-generated.
10410         * features/arm/arm-with-m.c: Re-generated.
10411         * features/arm/arm-with-m-fpa-layout.c: Re-generated.
10412         * features/arm/arm-with-m-vfp-d16.c: Re-generated.
10413         * features/arm/arm-with-neon.c: Re-generated.
10414         * features/arm/arm-with-vfpv2.c: Re-generated.
10415         * features/arm/arm-with-vfpv3.c: Re-generated.
10416         * features/i386/amd64-avx-avx512.c: Re-generated.
10417         * features/i386/amd64-avx-avx512-linux.c: Re-generated.
10418         * features/i386/amd64-avx.c: Re-generated.
10419         * features/i386/amd64-avx-linux.c: Re-generated.
10420         * features/i386/amd64-avx-mpx-avx512-pku.c: Re-generated.
10421         * features/i386/amd64-avx-mpx-avx512-pku-linux.c: Re-generated.
10422         * features/i386/amd64-avx-mpx.c: Re-generated.
10423         * features/i386/amd64-avx-mpx-linux.c: Re-generated.
10424         * features/i386/amd64.c: Re-generated.
10425         * features/i386/amd64-linux.c: Re-generated.
10426         * features/i386/amd64-mpx.c: Re-generated.
10427         * features/i386/amd64-mpx-linux.c: Re-generated.
10428         * features/i386/i386-avx-avx512.c: Re-generated.
10429         * features/i386/i386-avx-avx512-linux.c: Re-generated.
10430         * features/i386/i386-avx.c: Re-generated.
10431         * features/i386/i386-avx-linux.c: Re-generated.
10432         * features/i386/i386-avx-mpx-avx512-pku.c: Re-generated.
10433         * features/i386/i386-avx-mpx-avx512-pku-linux.c: Re-generated.
10434         * features/i386/i386-avx-mpx.c: Re-generated.
10435         * features/i386/i386-avx-mpx-linux.c: Re-generated.
10436         * features/i386/i386.c: Re-generated.
10437         * features/i386/i386-linux.c: Re-generated.
10438         * features/i386/i386-mmx.c: Re-generated.
10439         * features/i386/i386-mmx-linux.c: Re-generated.
10440         * features/i386/i386-mpx.c: Re-generated.
10441         * features/i386/i386-mpx-linux.c: Re-generated.
10442         * features/i386/x32-avx-avx512.c: Re-generated.
10443         * features/i386/x32-avx-avx512-linux.c: Re-generated.
10444         * features/i386/x32-avx.c: Re-generated.
10445         * features/i386/x32-avx-linux.c: Re-generated.
10446         * features/i386/x32.c: Re-generated.
10447         * features/i386/x32-linux.c: Re-generated.
10448         * features/microblaze.c: Re-generated.
10449         * features/microblaze-with-stack-protect.c: Re-generated.
10450         * features/mips64-dsp-linux.c: Re-generated.
10451         * features/mips64-linux.c: Re-generated.
10452         * features/mips-dsp-linux.c: Re-generated.
10453         * features/mips-linux.c: Re-generated.
10454         * features/nds32.c: Re-generated.
10455         * features/nios2.c: Re-generated.
10456         * features/nios2-linux.c: Re-generated.
10457         * features/rs6000/powerpc-32.c: Re-generated.
10458         * features/rs6000/powerpc-32l.c: Re-generated.
10459         * features/rs6000/powerpc-403.c: Re-generated.
10460         * features/rs6000/powerpc-403gc.c : Re-generated.
10461         * features/rs6000/powerpc-405.c: Re-generated.
10462         * features/rs6000/powerpc-505.c: Re-generated.
10463         * features/rs6000/powerpc-601.c: Re-generated.
10464         * features/rs6000/powerpc-602.c: Re-generated.
10465         * features/rs6000/powerpc-603.c: Re-generated.
10466         * features/rs6000/powerpc-604.c: Re-generated.
10467         * features/rs6000/powerpc-64.c: Re-generated.
10468         * features/rs6000/powerpc-64l.c: Re-generated.
10469         * features/rs6000/powerpc-7400.c: Re-generated.
10470         * features/rs6000/powerpc-750.c: Re-generated.
10471         * features/rs6000/powerpc-860.c: Re-generated.
10472         * features/rs6000/powerpc-altivec32.c: Re-generated.
10473         * features/rs6000/powerpc-altivec32l.c: Re-generated.
10474         * features/rs6000/powerpc-altivec64.c: Re-generated.
10475         * features/rs6000/powerpc-altivec64l.c: Re-generated.
10476         * features/rs6000/powerpc-cell32l.c: Re-generated.
10477         * features/rs6000/powerpc-cell64l.c: Re-generated.
10478         * features/rs6000/powerpc-e500.c: Re-generated.
10479         * features/rs6000/powerpc-e500l.c: Re-generated.
10480         * features/rs6000/powerpc-isa205-32l.c: Re-generated.
10481         * features/rs6000/powerpc-isa205-64l.c: Re-generated.
10482         * features/rs6000/powerpc-isa205-altivec32l.c: Re-generated.
10483         * features/rs6000/powerpc-isa205-altivec64l.c: Re-generated.
10484         * features/rs6000/powerpc-isa205-vsx32l.c: Re-generated.
10485         * features/rs6000/powerpc-isa205-vsx64l.c: Re-generated.
10486         * features/rs6000/powerpc-vsx32.c: Re-generated.
10487         * features/rs6000/powerpc-vsx32l.c: Re-generated.
10488         * features/rs6000/powerpc-vsx64.c: Re-generated.
10489         * features/rs6000/powerpc-vsx64l.c: Re-generated.
10490         * features/rs6000/rs6000.c: Re-generated.
10491         * features/s390-linux32.c: Re-generated.
10492         * features/s390-linux32v1.c: Re-generated.
10493         * features/s390-linux32v2.c: Re-generated.
10494         * features/s390-linux64.c: Re-generated.
10495         * features/s390-linux64v1.c: Re-generated.
10496         * features/s390-linux64v2.c: Re-generated.
10497         * features/s390-te-linux64.c: Re-generated.
10498         * features/s390-tevx-linux64.c: Re-generated.
10499         * features/s390-vx-linux64.c: Re-generated.
10500         * features/s390x-linux64.c: Re-generated.
10501         * features/s390x-linux64v1.c: Re-generated.
10502         * features/s390x-linux64v2.c: Re-generated.
10503         * features/s390x-te-linux64.c: Re-generated.
10504         * features/s390x-tevx-linux64.c: Re-generated.
10505         * features/s390x-vx-linux64.c: Re-generated.
10506         * features/sparc/sparc32-solaris.c: Re-generated.
10507         * features/sparc/sparc64-solaris.c: Re-generated.
10508         * features/tic6x-c62x.c: Re-generated.
10509         * features/tic6x-c62x-linux.c: Re-generated.
10510         * features/tic6x-c64x.c: Re-generated.
10511         * features/tic6x-c64x-linux.c: Re-generated.
10512         * features/tic6x-c64xp.c: Re-generated.
10513         * features/tic6x-c64xp-linux.c: Re-generated.
10514
10515 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10516
10517         * i386-linux-tdep.c (i386_linux_read_description): New function.
10518         (i386_linux_core_read_description): Call
10519         i386_linux_read_description.
10520         * i386-linux-tdep.h (i386_linux_read_description): Declare.
10521         (tdesc_i386_linux, tdesc_i386_mmx_linux): Remove declarations.
10522         (tdesc_i386_avx_linux, tdesc_i386_mpx_linux): Likewise
10523         (tdesc_i386_avx_mpx_linux, tdesc_i386_avx_avx512_linux): Likewise.
10524         (tdesc_i386_avx_mpx_avx512_pku_linux): Likewise.
10525         * x86-linux-nat.c (x86_linux_read_description): Call
10526         i386_linux_read_description.
10527
10528 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10529
10530         * NEWS: Mention it.
10531         * features/Makefile (%.c: %.xml): Pass the xml file name to
10532         command "maint print c-tdesc".
10533         * target-descriptions.c (maint_print_c_tdesc_cmd): Get file
10534         name from 'arg'.
10535
10536 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10537
10538         * target-descriptions.c (target_desc): Add ctor and dtor.  Do
10539         in-class initialization.
10540         (tdesc_create_feature): Call new instead of XCNEW.
10541         (free_target_description): Ue delete.
10542
10543 2017-07-25  John Baldwin  <jhb@FreeBSD.org>
10544
10545         * configure.nat: Add "-lkvm" for NetBSD/sparc64 and fix typo.
10546
10547 2017-07-25  Yao Qi  <yao.qi@linaro.org>
10548
10549         * amd64-tdep.c (amd64_init_abi): Make argument default_tdesc
10550         constant.
10551         (amd64_x32_init_abi): Likewise.
10552         * amd64-tdep.h (amd64_init_abi): Update declaration.
10553         (amd64_x32_init_abi): Likewise.
10554
10555 2017-07-25  Yao Qi  <yao.qi@linaro.org>
10556
10557         PR tdep/21717
10558         * arm-linux-nat.c (arm_linux_fetch_inferior_registers): Update
10559         condition for FPSCR.
10560         (arm_linux_store_inferior_registers): Likewise.
10561
10562 2017-07-22  Tom Tromey  <tom@tromey.com>
10563
10564         * break-catch-syscall.c (struct catch_syscall_inferior_data)
10565         <syscalls_counts>: Now a std::vector.
10566         (get_catch_syscall_inferior_data): Use "new".
10567         (catch_syscall_inferior_data_cleanup): Use "delete".
10568         (insert_catch_syscall, remove_catch_syscall)
10569         (clear_syscall_counts): Update.
10570
10571 2017-07-22  Tom Tromey  <tom@tromey.com>
10572
10573         * break-catch-syscall.c (syscall_catchpoint)
10574         <syscalls_to_be_caught>: Now a std::vector<int>
10575         (~syscall_catchpoint): Remove.
10576         (insert_catch_syscall, remove_catch_syscall)
10577         (breakpoint_hit_catch_syscall, print_one_catch_syscall)
10578         (print_mention_catch_syscall, print_recreate_catch_syscall):
10579         Update.
10580         (create_syscall_event_catchpoint): Change type of "filter"
10581         parameter.
10582         (catch_syscall_split_args): Return a std::vector.
10583         (catch_syscall_command_1, catching_syscall_number_1): Update.
10584
10585 2017-07-22  Tom Tromey  <tom@tromey.com>
10586
10587         * break-catch-throw.c (struct exception_catchpoint)
10588         <exception_rx>: Now a std::string.
10589         (~exception_catchpoint): Remove.
10590         (print_one_detail_exception_catchpoint): Update.
10591         (handle_gnu_v3_exceptions): Change type of except_rx.
10592         (extract_exception_regexp): Return a std::string.
10593         (catch_exception_command_1): Update.
10594
10595 2017-07-22  Tom Tromey  <tom@tromey.com>
10596
10597         * break-catch-sig.c (gdb_signal_type): Remove typedef.
10598         (struct signal_catchpoint) <signals_to_be_caught>: Now a
10599         std::vector.
10600         <catch_all>: Now a bool.
10601         (~signal_catchpoint): Remove.
10602         (signal_catchpoint_insert_location)
10603         (signal_catchpoint_remove_location)
10604         (signal_catchpoint_breakpoint_hit, signal_catchpoint_print_one)
10605         (signal_catchpoint_print_mention)
10606         (signal_catchpoint_print_recreate)
10607         (signal_catchpoint_explains_signal): Update.
10608         (create_signal_catchpoint): Change type of "filter" and
10609         "catch_all".
10610         (catch_signal_split_args): Return a std::vector.  Change type of
10611         "catch_all".
10612         (catch_signal_command): Update.
10613
10614 2017-07-20  Pedro Alves  <palves@redhat.com>
10615
10616         * ada-lang.c (ada_language_defn): Make extern.
10617         (_initialize_ada_language): Remove add_language call.
10618         * c-lang.c (c_language_defn, cplus_language_defn)
10619         (asm_language_defn, minimal_language_defn): Make extern.
10620         (_initialize_c_language): Delete.
10621         * completer.c (compare_cstrings): Delete, moved to utils.h.
10622         * d-lang.c (d_language_defn): Make extern.
10623         (_initialize_d_language): Remove add_language calls.
10624         * defs.h (enum language): Add comment.
10625         * f-lang.c (f_language_defn): Make extern.
10626         (_initialize_f_language): Remove add_language call.
10627         * go-lang.c (go_language_defn): Make extern.
10628         (_initialize_go_language): Remove add_language call.
10629         * language.c: Include <algorithm>.
10630         (languages): Redefine as const array.
10631         (languages_size, languages_allocsize, DEFAULT_ALLOCSIZE): Delete.
10632         (set_language_command): Handle "local".  Use for-range loop.
10633         (set_language): Remove loop.
10634         (language_enum): Rewrite.
10635         (language_def, language_str): Remove loops.
10636         (add_language): Delete.
10637         (add_set_language_command): New, based on add_languages.
10638         (skip_language_trampoline): Adjust.
10639         (local_language_defn): Delete.
10640         (language_gdbarch_post_init): Adjust.
10641         (_initialize_language): Remove add_language calls.  Call
10642         add_set_language_command.
10643         * language.h (add_language): Delete.
10644         (auto_language_defn)
10645         (unknown_language_defn, minimal_language_defn, ada_language_defn)
10646         (asm_language_defn, c_language_defn, cplus_language_defn)
10647         (d_language_defn, f_language_defn, go_language_defn)
10648         (m2_language_defn, objc_language_defn, opencl_language_defn)
10649         (pascal_language_defn, rust_language_defn): Declare.
10650         * m2-lang.c (m2_language_defn): Make extern.
10651         (_initialize_m2_language): Remove add_language call.
10652         * objc-lang.c (objc_language_defn): Make extern.
10653         (_initialize_objc_language): Remove add_language call.
10654         * opencl-lang.c (opencl_language_defn): Make extern.
10655         (_initialize_opencl_language): Remove add_language call.
10656         * p-lang.c (pascal_language_defn): Make extern.
10657         (_initialize_pascal_language): Delete.
10658         * rust-lang.c (rust_language_defn): Make extern.
10659         (_initialize_rust_language): Delete.
10660         * utils.h (compare_cstrings): New static inline function.
10661
10662 2017-07-20  Pedro Alves  <palves@redhat.com>
10663
10664         * ada-lang.c (ada_to_fixed_type_1): Adjust.
10665         (get_var_value): Constify parameters.
10666         (get_int_var_value): Change prototype.
10667         (to_fixed_range_type): Adjust.
10668         * ada-lang.h (get_int_var_value): Change prototype.
10669
10670 2017-07-20  Pedro Alves  <palves@redhat.com>
10671
10672         * dwarf2read.c (dw2_lookup_symbol): Use
10673         SYMBOL_MATCHES_SEARCH_NAME.
10674         * psymtab.c (psym_lookup_symbol): Use SYMBOL_MATCHES_SEARCH_NAME.
10675
10676 2017-07-20  Pedro Alves  <palves@redhat.com>
10677
10678         * block.c (block_iter_name_step, block_iter_name_first)
10679         (block_iter_name_next): Delete.
10680         (block_lookup_symbol_primary): Adjust to use
10681         dict_iter_match_first/dict_iter_match_next.
10682         * block.h (block_iter_name_first, block_iter_name_next): Delete
10683         declarations.
10684         (ALL_BLOCK_SYMBOLS_WITH_NAME): Adjust to use
10685         dict_iter_match_first/dict_iter_match_next.
10686
10687 2017-07-20  Pedro Alves  <palves@redhat.com>
10688
10689         * cp-support.c (cp_find_first_component_aux): Add missing case for
10690         end of string.
10691
10692 2017-07-18  David Blaikie  <dblaikie@gmail.com>
10693
10694         * dwarf2read.c (create_cus_hash_table): Re-add lost initialization
10695         of dwo_cu's dwo_file.
10696
10697 2017-07-18  Yao Qi  <yao.qi@linaro.org>
10698
10699         * remote.c (store_registers_using_G): Remove one line comment.
10700
10701 2017-07-18  Yao Qi  <yao.qi@linaro.org>
10702
10703         * regcache.c (regcache_cpy): Simplify it.
10704         (regcache::cpy_no_passthrough): Remove it.
10705         * regcache.h (cpy_no_passthrough): Remove it.
10706         (regcache_dup, regcache_cpy): Update comments.
10707
10708 2017-07-18  Pedro Alves  <palves@redhat.com>
10709
10710         * remote-sim.c (sim_command_completer): Adjust to work with a
10711         completion_tracker instead of a VEC.
10712
10713 2017-07-17  Pedro Alves  <palves@redhat.com>
10714
10715         * completer.c (complete_source_filenames): New function.
10716         (complete_address_and_linespec_locations): New function.
10717         (location_completer): Use complete_address_and_linespec_locations.
10718         (completion_tracker::build_completion_result): Honor the tracker's
10719         request to suppress append.
10720         * completer.h (completion_tracker::suppress_append_ws)
10721         (completion_tracker::set_suppress_append_ws): New methods.
10722         (completion_tracker::m_suppress_append_ws): New field.
10723         (complete_source_filenames): New declaration.
10724         * linespec.c (linespec_complete_what): New.
10725         (struct ls_parser) <complete_what, completion_word,
10726         completion_quote_char, completion_quote_end, completion_tracker>:
10727         New fields.
10728         (string_find_incomplete_keyword_at_end): New.
10729         (linespec_lexer_lex_string): Record quote char.  If in completion
10730         mode, don't throw.
10731         (linespec_lexer_consume_token): Advance the completion word point.
10732         (linespec_lexer_peek_token): Save/restore completion info.
10733         (save_stream_and_consume_token): New.
10734         (set_completion_after_number): New.
10735         (linespec_parse_basic): Set what to complete next depending on
10736         token.  Handle function and label completions specially.
10737         (parse_linespec): Disable objc shortcut in completion mode.  Set
10738         what to complete next depending on token type.  Skip keyword if in
10739         completion mode.
10740         (complete_linespec_component, linespec_complete): New.
10741         * linespec.h (linespec_complete): Declare.
10742
10743 2017-07-17  Pedro Alves  <palves@redhat.com>
10744
10745         * linespec.c (linespec_lexer_lex_string, find_toplevel_char):
10746         Handle 'operator<' / 'operator<<'.
10747
10748 2017-07-17  Pedro Alves  <palves@redhat.com>
10749
10750         * completer.c (collect_explicit_location_matches): Handle
10751         MATCH_LABEL.
10752         (convert_explicit_location_to_linespec): New, factored out from
10753         ...
10754         (convert_explicit_location_to_sals): ... this.
10755         (complete_label): New.
10756         (linespec_complete_label, find_label_symbols_in_block): New.
10757         (find_label_symbols): Add completion_mode parameter and adjust to
10758         call find_label_symbols_in_block.
10759         * linespec.h (linespec_complete_label): Declare.
10760
10761 2017-07-17  Pedro Alves  <palves@redhat.com>
10762
10763         * ada-lang.c (ada_collect_symbol_completion_matches): Add
10764         complete_symbol_mode parameter.
10765         * cli/cli-cmds.c (complete_command): Get the completion result out
10766         of the handle_brkchars tracker if used a custom word point.
10767         * completer.c: Include "linespec.h".
10768         (enum explicit_location_match_type) <MATCH_LINE>: New enumerator.
10769         (advance_to_expression_complete_word_point): New.
10770         (completion_tracker::completes_to_completion_word): New.
10771         (complete_files_symbols): Pass down
10772         complete_symbol_mode::EXPRESSION.
10773         (explicit_options, probe_options): New.
10774         (collect_explicit_location_matches): Complete on the
10775         explictit_loc->foo instead of word.  Use
10776         linespec_complete_function.  Handle MATCH_LINE.  Handle offering
10777         keyword and options completions.
10778         (backup_text_ptr): Delete.
10779         (skip_keyword): New.
10780         (complete_explicit_location): Remove 'word' parameter.  Add
10781         language, quoted_arg_start and quoted_arg_end parameters.
10782         Rewrite, parsing left to right.
10783         (location_completer): Rewrite.
10784         (location_completer_handle_brkchars): New function.
10785         (symbol_completer): Pass down complete_symbol_mode::EXPRESSION.
10786         (enum complete_line_internal_reason): Adjust comments.
10787         (completion_tracker::discard_completions): New.
10788         (completer_handle_brkchars_func_for_completer): Handle
10789         location_completer.
10790         (gdb_custom_word_point_brkchars)
10791         (gdb_org_rl_basic_quote_characters): New.
10792         (gdb_completion_word_break_characters_throw)
10793         (completion_find_completion_word): Handle trackers that use a
10794         custom word point.
10795         (completion_tracker::advance_custom_word_point_by): New.
10796         (completion_tracker::build_completion_result): Don't rely on
10797         readline appending the quote char.
10798         (gdb_rl_attempted_completion_function_throw): Handle trackers that
10799         use a custom word point.
10800         (gdb_rl_attempted_completion_function): Restore
10801         rl_basic_quote_characters.
10802         * completer.h (class completion_tracker): Extend intro comment.
10803         (completion_tracker::set_quote_char)
10804         (completion_tracker::quote_char)
10805         (completion_tracker::set_use_custom_word_point)
10806         (completion_tracker::use_custom_word_point)
10807         (completion_tracker::custom_word_point)
10808         (completion_tracker::set_custom_word_point)
10809         (completion_tracker::advance_custom_word_point_by)
10810         (completion_tracker::completes_to_completion_word)
10811         (completion_tracker::discard_completions): New methods.
10812         (completion_tracker::m_quote_char)
10813         (completion_tracker::m_use_custom_word_point)
10814         (completion_tracker::m_custom_word_point): New fields.
10815         (advance_to_expression_complete_word_point): Declare.
10816         * f-lang.c (f_collect_symbol_completion_matches): Add
10817         complete_symbol_mode parameter.
10818         * language.h (struct language_defn)
10819         <la_collect_symbol_completion_matches>: Add complete_symbol_mode
10820         parameter.
10821         * linespec.c (linespec_keywords): Add NULL terminator.  Make extern.
10822         (linespec_complete_function): New function.
10823         (linespec_lexer_lex_keyword): Adjust.
10824         * linespec.h (linespec_keywords, linespec_complete_function): New
10825         declarations.
10826         * location.c (find_end_quote): New function.
10827         (explicit_location_lex_one): Add explicit_completion_info
10828         parameter.  Save quoting info.  Don't throw if being called for
10829         completion.  Don't handle Ada operators here.
10830         (is_cp_operator, skip_op_false_positives, first_of)
10831         (explicit_location_lex_one_function): New function.
10832         (string_to_explicit_location): Replace 'dont_throw' parameter with
10833         an explicit_completion_info pointer parameter.  Handle it.  Don't
10834         use explicit_location_lex_one to lex function names.  Use
10835         explicit_location_lex_one_function instead.
10836         * location.h (struct explicit_completion_info): New.
10837         (string_to_explicit_location): Replace 'dont_throw' parameter with
10838         an explicit_completion_info pointer parameter.
10839         * symtab.c (default_collect_symbol_completion_matches_break_on):
10840         Add complete_symbol_mode parameter.  Handle LINESPEC mode.
10841         (default_collect_symbol_completion_matches)
10842         (collect_symbol_completion_matches): Add complete_symbol_mode
10843         parameter.
10844         (collect_symbol_completion_matches_type): Pass down
10845         complete_symbol_mode::EXPRESSION.
10846         (collect_file_symbol_completion_matches): Add complete_symbol_mode
10847         parameter.  Handle LINESPEC mode.
10848         * symtab.h (complete_symbol_mode): New.
10849         (default_collect_symbol_completion_matches_break_on)
10850         (default_collect_symbol_completion_matches)
10851         (collect_symbol_completion_matches)
10852         (collect_file_symbol_completion_matches): Add complete_symbol_mode
10853         parameter.
10854
10855 2017-07-17  Pedro Alves  <palves@redhat.com>
10856
10857         * utils.c (enum class strncmp_iw_mode): New.
10858         (strcmp_iw): Rename to ...
10859         (strncmp_iw_with_mode): ... this.  Add string2_len and mode
10860         parameters.  Handle them.
10861         (strncmp_iw): New.
10862         (strcmp_iw): Reimplement as wrapper around strncmp_iw_with_mode.
10863         * utils.h (strncmp_iw): Declare.
10864         (strcmp_iw): Move describing comments here.
10865
10866 2017-07-17  Pedro Alves  <palves@redhat.com>
10867
10868         * c-exp.y (operator_stoken): Use CP_OPERATOR_LEN and
10869         CP_OPERATOR_STR.
10870         * c-typeprint.c (is_type_conversion_operator): Use
10871         CP_OPERATOR_STR.
10872         * cp-support.c (LENGTH_OF_OPERATOR): Delete.
10873         (cp_find_first_component_aux): Use CP_OPERATOR_STR and
10874         CP_OPERATOR_LEN.
10875         * cp-support.h (CP_OPERATOR_STR, CP_OPERATOR_LEN): New.
10876         * gnu-v2-abi.c (gnuv2_is_operator_name): Use CP_OPERATOR_STR.
10877         * gnu-v3-abi.c (gnuv3_is_operator_name): Use CP_OPERATOR_STR.
10878         * linespec.c (linespec_lexer_lex_string): Use CP_OPERATOR_LEN and
10879         CP_OPERATOR_STR.
10880         * location.c: Include "cp-support.h".
10881         (explicit_location_lex_one): Use CP_OPERATOR_LEN and
10882         CP_OPERATOR_STR.
10883         * symtab.c (operator_chars): Use CP_OPERATOR_STR and
10884         CP_OPERATOR_LEN.
10885
10886 2017-07-17  Pedro Alves  <palves@redhat.com>
10887
10888         * cli/cli-cmds.c (complete_command): Use a completion tracker
10889         along with completion_find_completion_word for handle_brkchars
10890         phase.
10891         * completer.c (RL_QF_SINGLE_QUOTE, RL_QF_DOUBLE_QUOTE)
10892         (RL_QF_BACKSLASH, RL_QF_OTHER_QUOTE): New.
10893         (struct gdb_rl_completion_word_info): New.
10894         (gdb_rl_find_completion_word): New.
10895         (completion_find_completion_word): New.
10896         * completer.h (completion_find_completion_word): Declare.
10897
10898 2017-07-17  Pedro Alves  <palves@redhat.com>
10899
10900         * ada-lang.c (symbol_completion_match): Adjust comments.
10901         (symbol_completion_add): Replace vector parameter with
10902         completion_tracker parameter.  Use it.
10903         (ada_make_symbol_completion_list): Rename to...
10904         (ada_collect_symbol_completion_matches): ... this.  Add
10905         completion_tracker parameter and use it.
10906         (ada_language_defn): Adjust.
10907         * break-catch-syscall.c (catch_syscall_completer): Adjust
10908         prototype and work with completion_tracker instead of VEC.
10909         * breakpoint.c (condition_completer): Adjust prototype and work
10910         with completion_tracker instead of VEC.
10911         * c-lang.c (c_language_defn, cplus_language_defn)
10912         (asm_language_defn, minimal_language_defn): Adjust to renames.
10913         * cli/cli-cmds.c (complete_command): Rework using
10914         completion_tracker.  Catch exceptions when completing.
10915         * cli/cli-decode.c (integer_unlimited_completer)
10916         (complete_on_cmdlist, complete_on_enum): Adjust prototype and work
10917         with completion_tracker instead of VEC.
10918         * command.h (struct completion_tracker): Forward declare.
10919         (completer_ftype, completer_handle_brkchars_ftype): Change
10920         types.
10921         (complete_on_cmdlist, complete_on_enum): Adjust.
10922         * completer.c: Include <algorithm>.
10923         (struct gdb_completer_state): New.
10924         (current_completion): New global.
10925         (readline_line_completion_function): Delete.
10926         (noop_completer, filename_completer)
10927         (filename_completer_handle_brkchars, complete_files_symbols)
10928         (linespec_location_completer): Adjust to work with a
10929         completion_tracker instead of a VEC.
10930         (string_or_empty): New.
10931         (collect_explicit_location_matches): Adjust to work with a
10932         completion_tracker instead of a VEC.
10933         (explicit_location_completer): Rename to ...
10934         (complete_explicit_location): ... this and adjust to work with a
10935         completion_tracker instead of a VEC.
10936         (location_completer): Adjust to work with a completion_tracker
10937         instead of a VEC.
10938         (add_struct_fields): Adjust to work with a completion_list instead
10939         of VEC.
10940         (expression_completer): Rename to ...
10941         (complete_expression): ... this and adjust to work with a
10942         completion_tracker instead of a VEC.  Use complete_files_symbols.
10943         (expression_completer): Reimplement on top of complete_expression.
10944         (symbol_completer): Adjust to work with a completion_tracker
10945         instead of a VEC.
10946         (enum complete_line_internal_reason): Add describing comments.
10947         (complete_line_internal_normal_command): Adjust to work with a
10948         completion_tracker instead of a VEC.
10949         (complete_line_internal): Rename to ...
10950         (complete_line_internal_1): ... this and adjust to work with a
10951         completion_tracker instead of a VEC.  Assert TEXT is NULL in the
10952         handle_brkchars phase.
10953         (new_completion_tracker): Delete.
10954         (complete_line_internal): Reimplement as TRY/CATCH wrapper around
10955         complete_line_internal_1.
10956         (free_completion_tracker): Delete.
10957         (INITIAL_COMPLETION_HTAB_SIZE): New.
10958         (completion_tracker::completion_tracker)
10959         (completion_tracker::~completion_tracker): New.
10960         (maybe_add_completion): Delete.
10961         (completion_tracker::maybe_add_completion)
10962         (completion_tracker::add_completion)
10963         (completion_tracker::add_completions): New.
10964         (throw_max_completions_reached_error): Delete.
10965         (complete_line): Adjust to work with a completion_tracker instead
10966         of a VEC.  Don't create a completion_tracker_t or check for max
10967         completions here.
10968         (command_completer, command_completer_handle_brkchars)
10969         (signal_completer, reg_or_group_completer_1)
10970         (reg_or_group_completer, default_completer_handle_brkchars):
10971         Adjust to work with a completion_tracker.
10972         (gdb_completion_word_break_characters_throw): New.
10973         (gdb_completion_word_break_characters): Reimplement.
10974         (line_completion_function): Delete.
10975         (completion_tracker::recompute_lowest_common_denominator)
10976         (expand_preserving_ws)
10977         (completion_tracker::build_completion_result)
10978         (completion_result::completion_result)
10979         (completion_result::completion_result)
10980         (completion_result::~completion_result)
10981         (completion_result::completion_result)
10982         (completion_result::release_match_list, compare_cstrings)
10983         (completion_result::sort_match_list)
10984         (completion_result::reset_match_list)
10985         (gdb_rl_attempted_completion_function_throw)
10986         (gdb_rl_attempted_completion_function): New.
10987         * completer.h (completion_list, struct completion_result)
10988         (class completion_tracker): New.
10989         (complete_line): Add completion_tracker parameter.
10990         (readline_line_completion_function): Delete.
10991         (gdb_rl_attempted_completion_function): New.
10992         (noop_completer, filename_completer, expression_completer)
10993         (location_completer, symbol_completer, command_completer)
10994         (signal_completer, reg_or_group_completer): Update prototypes.
10995         (completion_tracker_t, new_completion_tracker)
10996         (make_cleanup_free_completion_tracker): Delete.
10997         (enum maybe_add_completion_enum): Delete.
10998         (maybe_add_completion): Delete.
10999         (throw_max_completions_reached_error): Delete.
11000         * corefile.c (complete_set_gnutarget): Adjust to work with a
11001         completion_tracker instead of a VEC.
11002         * cp-abi.c (cp_abi_completer): Adjust to work with a
11003         completion_tracker instead of a VEC.
11004         * d-lang.c (d_language_defn): Adjust.
11005         * disasm.c (disassembler_options_completer): Adjust to work with a
11006         completion_tracker instead of a VEC.
11007         * f-lang.c (f_make_symbol_completion_list): Rename to ...
11008         (f_collect_symbol_completion_matches): ... this.  Adjust to work
11009         with a completion_tracker instead of a VEC.
11010         (f_language_defn): Adjust.
11011         * go-lang.c (go_language_defn): Adjust.
11012         * guile/scm-cmd.c (cmdscm_add_completion, cmdscm_completer):
11013         Adjust to work with a completion_tracker instead of a VEC.
11014         * infrun.c (handle_completer): Likewise.
11015         * interps.c (interpreter_completer): Likewise.
11016         * interps.h (interpreter_completer): Likewise.
11017         * language.c (unknown_language_defn, auto_language_defn)
11018         (local_language_defn): Adjust.
11019         * language.h (language_defn::la_make_symbol_completion_list):
11020         Rename to ...
11021         (language_defn::la_collect_symbol_completion_matches): ... this
11022         and adjust to work with a completion_tracker instead of a VEC.
11023         * m2-lang.c (m2_language_defn): Adjust.
11024         * objc-lang.c (objc_language_defn): Adjust.
11025         * opencl-lang.c (opencl_language_defn): Adjust.
11026         * p-lang.c (pascal_language_defn): Adjust.
11027         * python/py-cmd.c (cmdpy_completer_helper): Handle NULL word.
11028         (cmdpy_completer_handle_brkchars, cmdpy_completer): Adjust to work
11029         with a completion_tracker.
11030         * rust-lang.c (rust_language_defn): Adjust.
11031         * symtab.c (free_completion_list, do_free_completion_list)
11032         (return_val, completion_tracker): Delete.
11033         (completion_list_add_name, completion_list_add_symbol)
11034         (completion_list_add_msymbol, completion_list_objc_symbol)
11035         (completion_list_add_fields, add_symtab_completions): Add
11036         completion_tracker parameter and use it.
11037         (default_make_symbol_completion_list_break_on_1): Rename to...
11038         (default_collect_symbol_completion_matches_break_on): ... this.
11039         Add completion_tracker parameter and use it instead of allocating
11040         a completion tracker here.
11041         (default_make_symbol_completion_list_break_on): Delete old
11042         implementation.
11043         (default_make_symbol_completion_list): Delete.
11044         (default_collect_symbol_completion_matches): New.
11045         (make_symbol_completion_list): Delete.
11046         (collect_symbol_completion_matches): New.
11047         (make_symbol_completion_type): Rename to ...
11048         (collect_symbol_completion_matches_type): ... this.  Add
11049         completion_tracker parameter and use it instead of VEC.
11050         (make_file_symbol_completion_list_1): Rename to...
11051         (collect_file_symbol_completion_matches): ... this.  Add
11052         completion_tracker parameter and use it instead of VEC.
11053         (make_file_symbol_completion_list): Delete.
11054         (add_filename_to_list): Use completion_list instead of a VEC.
11055         (add_partial_filename_data::list): Now a completion_list.
11056         (make_source_files_completion_list): Work with a completion_list
11057         instead of a VEC.
11058         * symtab.h: Include "completer.h".
11059         (default_make_symbol_completion_list_break_on)
11060         (default_make_symbol_completion_list, make_symbol_completion_list)
11061         (make_symbol_completion_type, make_file_symbol_completion_list)
11062         (make_source_files_completion_list): Delete.
11063         (default_collect_symbol_completion_matches_break_on)
11064         (default_collect_symbol_completion_matches)
11065         (collect_symbol_completion_matches)
11066         (collect_symbol_completion_matches_type)
11067         (collect_file_symbol_completion_matches)
11068         (make_source_files_completion_list): New.
11069         * top.c (init_main): Don't install a rl_completion_entry_function
11070         hook.  Install a rl_attempted_completion_function hook instead.
11071         * tui/tui-layout.c (layout_completer): Adjust to work with a
11072         completion_tracker.
11073         * tui/tui-regs.c (tui_reggroup_completer):
11074         * tui/tui-win.c (window_name_completer, focus_completer)
11075         (winheight_completer): Adjust to work with a completion_tracker.
11076         * value.c: Include "completer.h".
11077         (complete_internalvar): Adjust to work with a completion_tracker.
11078         * value.h (complete_internalvar): Likewise.
11079
11080 2017-07-17  Pedro Alves  <palves@redhat.com>
11081
11082         * cli/cli-decode.c (set_cmd_completer_handle_brkchars): Adjust to
11083         renames.
11084         * cli/cli-decode.h (struct cmd_list_element) <completer>: Move
11085         comments to completer_ftype's declaration.
11086         <completer_handle_brkchars>: Change type to
11087         completer_handle_brkchars_ftype.
11088         * command.h (completer_ftype): Add describing comment and give
11089         names to parameters.
11090         (completer_ftype_void): Rename to ...
11091         (completer_handle_brkchars_ftype) ... this.  Add describing comment.
11092         (set_cmd_completer_handle_brkchars): Adjust.
11093         * completer.c (filename_completer_handle_brkchars): New function.
11094         (complete_line_internal_normal_command): New function, factored
11095         out from ...
11096         (complete_line_internal): ... here.
11097         (command_completer_handle_brkchars)
11098         (default_completer_handle_brkchars)
11099         (completer_handle_brkchars_func_for_completer): New functions.
11100         * completer.h (set_gdb_completion_word_break_characters): Delete
11101         declaration.
11102         (completer_handle_brkchars_func_for_completer): New declaration.
11103         * python/py-cmd.c (cmdpy_completer_handle_brkchars): Adjust to use
11104         completer_handle_brkchars_func_for_completer.
11105
11106 2017-07-17  Pedro Alves  <palves@redhat.com>
11107
11108         * completer.c (symbol_completer): New function, based on
11109         make_symbol_completion_list_fn.
11110         * completer.h (symbol_completer): New declaration.
11111         * guile/scm-cmd.c (cmdscm_completers): Adjust.
11112         * python/py-cmd.c (completers): Adjust.
11113         * symtab.c (make_symbol_completion_list_fn): Delete.
11114         * symtab.h (make_symbol_completion_list_fn): Delete.
11115         * cli/cli-decode.c (add_cmd): Adjust.
11116
11117 2017-07-17  Pedro Alves  <palves@redhat.com>
11118
11119         * Makefile.in (COMMON_OBS): Add filename-seen-cache.o.
11120         * dwarf2read.c: Include "filename-seen-cache.h".
11121         * dwarf2read.c (dwarf2_per_objfile) <filenames_cache>: New field.
11122         (dw2_map_symbol_filenames): Build and use a filenames_seen_cache.
11123         * filename-seen-cache.c: New file.
11124         * filename-seen-cache.h: New file.
11125         * symtab.c: Include "filename-seen-cache.h".
11126         (struct filename_seen_cache, INITIAL_FILENAME_SEEN_CACHE_SIZE)
11127         (create_filename_seen_cache, clear_filename_seen_cache)
11128         (delete_filename_seen_cache, filename_seen): Delete, parts moved
11129         to filename-seen-cache.h/filename-seen-cache.c.
11130         (output_source_filename, sources_info)
11131         (maybe_add_partial_symtab_filename)
11132         (make_source_files_completion_list): Adjust to use
11133         filename_seen_cache.
11134
11135 2017-07-17  Pedro Alves  <palves@redhat.com>
11136
11137         * dwarf2read.c (dwarf2_per_objfile): In-class initialize all
11138         fields.
11139         (dwarf2_per_objfile::dwarf2_per_objfile(objfile*, const
11140         dwarf2_debug_sections*)): New.
11141         (dwarf2_per_objfile::dwarf2_per_objfile(const
11142         dwarf2_per_objfile&)): Declare as deleted.
11143         (dwarf2_per_objfile::operator=): Declare as deleted.
11144         (dwarf2_per_objfile::dwarf2_per_objfile)
11145         (dwarf2_per_objfile::~dwarf2_per_objfile)
11146         (dwarf2_per_objfile::free_cached_comp_units): New.
11147         (dwarf2_has_info): dwarf2_per_objfile initialization code moved to
11148         ctor.  Call dwarf2_per_objfile's ctor manually.
11149         (dwarf2_locate_sections): Deleted/refactored as ...
11150         (dwarf2_per_objfile::locate_sections): ... this new method.
11151         (free_cached_comp_units): Defer to
11152         dwarf2_per_objfile::free_cached_comp_units.
11153         (dwarf2_free_objfile): Call dwarf2_per_objfile's dtor manually.
11154
11155 2017-07-14  Tom Tromey  <tom@tromey.com>
11156
11157         PR rust/21764:
11158         * rust-exp.y (convert_ast_to_expression): Add "want_type"
11159         parameter.
11160         <UNOP_SIZEOF>: Split into separate case.
11161         <UNOP_VAR_VALUE>: Handle want_type.  Add error case.
11162
11163 2017-07-14  Tom Tromey  <tom@tromey.com>
11164
11165         PR rust/21763:
11166         * symtab.c (symbol_matches_domain): Add language_rust to special
11167         case.
11168         * rust-exp.y (convert_ast_to_expression) <OP_VAR_VALUE>: Don't
11169         treat LOC_TYPEDEF symbols as variables.
11170
11171 2017-07-14  Pedro Alves  <palves@redhat.com>
11172
11173         * symtab.c (make_file_symbol_completion_list_1): Iterate over
11174         symtabs matching all symtabs with SRCFILE as file name instead of
11175         only considering the first hit, with lookup_symtab.
11176
11177 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
11178
11179         * ax-gdb.c (gen_aggregate_elt_ref): Remove operand_name and
11180         operator_name parameters.
11181         (gen_expr): Update function call.
11182
11183 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
11184
11185         * dwarf2loc.h (dwarf2_compile_expr_to_ax): Remove gdbarch
11186         parameter.
11187         * symtab.h (struct symbol_computed_ops::tracepoint_var_ref):
11188         Likewise.
11189         * dwarf2loc.c (dwarf2_compile_expr_to_ax): Remove gdbarch
11190         parameter, use agent_expr::gdbarch instead, update function
11191         calls.
11192         (locexpr_tracepoint_var_ref): Likewise.
11193         (loclist_tracepoint_var_ref): Likewise.
11194         * ax-gdb.c (gen_trace_static_fields): Likewise.
11195         (gen_traced_pop): Likewise.
11196         (gen_frame_args_address): Likewise.
11197         (gen_frame_locals_address): Likewise.
11198         (gen_var_ref): Likewise.
11199         (gen_struct_ref_recursive): Likewise.
11200         (gen_static_field): Likewise.
11201         (gen_maybe_namespace_elt): Likewise.
11202         (gen_expr): Likewise.
11203         (gen_trace_for_var): Likewise.
11204         (gen_trace_for_expr): Likewise.
11205         (gen_trace_for_return_address): Likewise.
11206
11207 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
11208
11209         * ax-gdb.c (gen_deref, gen_address_of): Remove unused ax
11210         parameter.
11211         (gen_struct_ref, gen_expr, gen_expr_binop_rest): Update call.
11212
11213 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
11214
11215         * ax-gdb.c (gen_usual_unary): Remove exp parameter, get gdbarch
11216         from ax, update calls.
11217         (gen_usual_arithmetic): Likewise.
11218         (gen_integral_promotions): Likewise.
11219         (gen_bitfield_ref): Likewise.
11220         (gen_primitive_field): Likewise.
11221         (gen_struct_ref_recursive): Likewise.
11222         (gen_struct_ref): Likewise.
11223         (gen_maybe_namespace_elt): Likewise.
11224         (gen_struct_elt_for_reference): Likewise.
11225         (gen_namespace_elt): Likewise.
11226         (gen_aggregate_elt_ref): Likewise.
11227         (gen_expr): Get gdbarch from ax, update calls.
11228         (gen_expr_binop_rest): Likewise.
11229
11230 2017-07-13  Pedro Alves  <palves@redhat.com>
11231
11232         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Pass tdesc_amd64
11233         as default tdesc.
11234         * amd64-dicos-tdep.c (amd64_dicos_init_abi):
11235         * amd64-fbsd-tdep.c (amd64fbsd_init_abi):
11236         * amd64-linux-tdep.c (amd64_linux_init_abi): Pass
11237         tdesc_amd64_linux as default tdesc.  Get final tdesc from the
11238         tdep.
11239         (amd64_x32_linux_init_abi): Pass tdesc_x32_linux as default tdesc.
11240         Get final tdesc from the tdep.
11241         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Pass tdesc_amd64 as
11242         default tdesc.
11243         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
11244         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
11245         * amd64-tdep.c (amd64_init_abi): Add 'default_tdesc' parameter.
11246         Use it as default tdesc.
11247         (amd64_x32_init_abi): Add 'default_tdesc' parameter, and pass it
11248         down to amd_init_abi.  No longer handle fallback tdesc here.
11249         * amd64-tdep.h (tdesc_x32): Declare.
11250         (amd64_init_abi, amd64_x32_init_abi): Add 'default_tdesc'
11251         parameter.
11252         * amd64-windows-tdep.c (amd64_windows_init_abi): Pass tdesc_amd64
11253         as default tdesc.
11254
11255 2017-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11256
11257         * s390-linux-tdep.c (s390_process_record): Add support for
11258         instructions new in arch12.
11259
11260 2017-07-11  John Baldwin  <jhb@FreeBSD.org>
11261
11262         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers): Use
11263         PT_GETFSBASE and PT_GETGSBASE.
11264         (amd64bsd_store_inferior_registers): Use PT_SETFSBASE and
11265         PT_SETGSBASE.
11266
11267 2017-07-11  John Baldwin  <jhb@FreeBSD.org>
11268
11269         * features/Makefile (amd64.dat, amd64-avx.dat, amd64-mpx.dat)
11270         (amd64-avx-mpx.dat, amd64-avx-avx512.dat)
11271         (amd64-avx-mpx-avx512-pku.dat): Add i386/64bit-segments.xml in
11272         those rules.
11273         * features/i386/amd64-avx-avx512.xml: Add 64bit-segments.xml.
11274         * features/i386/amd64-avx-mpx-avx512-pku.xml: Add 64bit-segments.xml.
11275         * features/i386/amd64-avx-mpx.xml: Add 64bit-segments.xml.
11276         * features/i386/amd64-avx.xml: Add 64bit-segments.xml.
11277         * features/i386/amd64-mpx.xml: Add 64bit-segments.xml.
11278         * features/i386/amd64.xml: Add 64bit-segments.xml.
11279         * features/i386/amd64-avx-avx512.c: Regenerated.
11280         * features/i386/amd64-avx-mpx-avx512-pku.c: Regenerated.
11281         * features/i386/amd64-avx-mpx.c: Regenerated.
11282         * features/i386/amd64-avx.c: Regenerated.
11283         * features/i386/amd64-mpx.c: Regenerated.
11284         * features/i386/amd64.c: Regenerated.
11285         * regformats/i386/amd64-avx-avx512.dat: Regenerated.
11286         * regformats/i386/amd64-avx-mpx-avx512-pku.dat: Regenerated.
11287         * regformats/i386/amd64-avx-mpx.dat: Regenerated.
11288         * regformats/i386/amd64-avx.dat: Regenerated.
11289         * regformats/i386/amd64-mpx.dat: Regenerated.
11290         * regformats/i386/amd64.dat: Regenerated.
11291
11292 2017-07-10  Yao Qi  <yao.qi@linaro.org>
11293
11294         * features/i386/amd64-avx-avx512-linux.c: Re-generated.
11295         * features/i386/amd64-avx-mpx-avx512-pku-linux.c: Re-generated.
11296
11297 2017-07-10  Anton Kolesov  <Anton.Kolesov@synopsys.com>
11298
11299         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add setenv and
11300         unsetenv.
11301         * gnulib/aclocal.m4: Regenerate.
11302         * gnulib/config.in: Regenerate.
11303         * gnulib/configure: Regenerate.
11304         * gnulib/import/Makefile.am: Regenerate.
11305         * gnulib/import/Makefile.in: Regenerate.
11306         * gnulib/import/m4/gnulib-cache.m4: Regenerate.
11307         * gnulib/import/m4/gnulib-comp.m4: Regenerate.
11308         * gnulib/import/m4/environ.m4: New file.
11309         * gnulib/import/m4/setenv.m4: New file.
11310         * gnulib/import/setenv.c: New file.
11311         * gnulib/import/unsetenv.c: New file.
11312
11313 2017-07-09  Simon Marchi  <simon.marchi@ericsson.com>
11314
11315         * compile/compile-loc2c.c (do_compile_dwarf_expr_to_c): Read
11316         address when op is DW_OP_addr.
11317
11318 2017-07-09  Tom Tromey  <tom@tromey.com>
11319
11320         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Reverse size
11321         check and apply to outer type.
11322
11323 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11324
11325         * fbsd-tdep.c (LWPINFO_OFFSET, LWPINFO_PL_FLAGS)
11326         (LWPINFO64_PL_SIGINFO, LWPINFO32_PL_SIGINFO, PL_FLAG_SI)
11327         (SIZE64_SIGINFO_T, SIZE32_SIGINFO_T, fbsd_core_xfer_siginfo): New.
11328         (fbsd_init_abi): Install gdbarch "core_xfer_siginfo" method.
11329
11330 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11331
11332         * fbsd-tdep.c (fbsd_core_thread_name): Use thread_section_name.
11333
11334 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11335
11336         * corelow.c (get_core_siginfo): Remove.
11337         (core_xfer_partial): Use the gdbarch "core_xfer_siginfo" method
11338         instead of get_core_siginfo.
11339         * gdbarch.sh (core_xfer_siginfo): New gdbarch callback.
11340         * gdbarch.h: Re-generate.
11341         * gdbarch.c: Re-generate.
11342         * linux-tdep.c (linux_core_xfer_siginfo): New.
11343         (linux_init_abi): Install gdbarch "core_xfer_siginfo" method.
11344
11345 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11346
11347         * corelow.c (thread_section_name): Move to ...
11348         * gdbcore.h (thread_section_name): ... here.
11349
11350 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11351
11352         * fbsd-nat.c [PT_LWPINFO && __LP64__] (union sigval32)
11353         (struct siginfo32): New.
11354         [PT_LWPINFO] (fbsd_siginfo_size, fbsd_convert_siginfo): New.
11355         (fbsd_xfer_partial) [PT_LWPINFO]: Handle TARGET_OBJECT_SIGNAL_INFO
11356         via ptrace(PT_LWPINFO).
11357
11358 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11359
11360         * fbsd-tdep.c (fbsd_gdbarch_data_handle, struct fbsd_gdbarch_data)
11361         (init_fbsd_gdbarch_data, get_fbsd_gdbarch_data)
11362         (fbsd_get_siginfo_type): New.
11363         (fbsd_init_abi): Install gdbarch "get_siginfo_type" method.
11364         (_initialize_fbsd_tdep): New.
11365
11366 2017-07-06  David Blaikie  <dblaikie@gmail.com>
11367
11368         * dwarf2read.c (struct dwo_file): Use a htab of dwo_unit* (rather than
11369         a singular dwo_unit*) to support multiple CUs in the same way that
11370         multiple TUs are supported.
11371         (create_cus_hash_table): Replace create_dwo_cu with a function for
11372         parsing multiple CUs from a DWO file.
11373         (open_and_init_dwo_file): Use create_cus_hash_table rather than
11374         create_dwo_cu.
11375         (lookup_dwo_cutu): Lookup CU in the hash table in the dwo_file with
11376         htab_find, rather than comparing the signature to a singleton CU in
11377         the dwo_file.
11378
11379 2017-07-06  Pedro Alves  <palves@redhat.com>
11380
11381         * python/py-unwind.c (pyuw_dealloc_cache): Fix for loop condition.
11382
11383 2017-07-04  Pedro Alves  <palves@redhat.com>
11384
11385         * gdbtypes.c (recursive_dump_type): Don't reference TYPE_STATIC.
11386         * gdbtypes.h (TYPE_STATIC): Delete.
11387         (struct fn_field) <is_public, is_abstract, is_static, is_final,
11388         is_synchronized, is_native>: Delete.
11389         <dummy>: Bump.
11390         (TYPE_FN_FIELD_PUBLIC, TYPE_FN_FIELD_STATIC, TYPE_FN_FIELD_FINAL)
11391         (TYPE_FN_FIELD_SYNCHRONIZED, TYPE_FN_FIELD_NATIVE)
11392         (TYPE_FN_FIELD_ABSTRACT): Delete.
11393
11394 2017-07-03  Simon Marchi  <simon.marchi@ericsson.com>
11395
11396         * buffer.h (buffer_finish): Fix spelling mistakes.
11397
11398 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
11399
11400         * .dir-locals.el: Automatically switch to C-style comments in
11401         versions of Emacs that support the feature.
11402
11403 2017-06-30  Sergio Durigan Junior  <sergiodj@redhat.com>
11404             Pedro Alves  <palves@redhat.com>
11405
11406         PR cli/21688
11407         * cli/cli-script.c (command_name_equals_not_inline): Remove function.
11408         (process_next_line): New variable 'inline_cmd'.
11409         Adjust 'if' clauses for "python", "compile" and "guile" to use
11410         'command_name_equals' and check for '!inline_cmd'.
11411
11412 2017-06-30  Sergio Durigan Junior  <sergiodj@redhat.com>
11413
11414         PR cli/21688
11415         * cli/cli-script.c (command_name_equals_not_inline): New function.
11416         (process_next_line): Adjust 'if' clauses for "python", "compile"
11417         and "guile" to use command_name_equals_not_inline.
11418
11419 2017-06-29  Pedro Alves  <palves@redhat.com>
11420
11421         * completer.c (expression_completer): Call
11422         linespec_location_completer instead of location_completer.
11423
11424 2017-06-29  Pedro Alves  <palves@redhat.com>
11425
11426         * completer.c (expression_completer): Remove code that recomputes
11427         'text' from 'word'.
11428
11429 2017-06-29  Yao Qi  <yao.qi@linaro.org>
11430
11431         * regformats/regdat.sh: Generate code with
11432         "ifndef IN_PROCESS_AGENT".
11433
11434 2017-06-28  Pedro Alves  <palves@redhat.com>
11435
11436         * command.h: Include "common/scoped_restore.h".
11437
11438 2017-06-28  Yao Qi  <yao.qi@linaro.org>
11439
11440         * mi/mi-cmd-break.c (mi_argv_to_format): Use obstack_grow_str
11441         instead of obstack_grow.
11442
11443 2017-06-28  Doug Gilmore  <Doug.Gilmore@imgtec.com>
11444
11445         PR gdb/21337
11446         * symfile.c (reread_symbols): Call objfiles_changed just before
11447         read_symbols.
11448
11449 2017-06-27  Pedro Alves  <palves@redhat.com>
11450
11451         * symtab.c (COMPLETION_LIST_ADD_SYMBOL)
11452         (MCOMPLETION_LIST_ADD_SYMBOL): Delete macros, replace with ...
11453         (completion_list_add_symbol, completion_list_add_msymbol):
11454         ... these new functions.
11455         (add_symtab_completions)
11456         (default_make_symbol_completion_list_break_on_1): Adjust.
11457
11458 2017-06-27  Pedro Alves  <palves@redhat.com>
11459
11460         * objfiles.c (get_objfile_bfd_data): Call bfd_alloc instead of
11461         bfd_zalloc.  Call objfile_per_bfd_storage's ctor.
11462         (free_objfile_per_bfd_storage): Call objfile_per_bfd_storage's
11463         dtor.
11464         * objfiles.h (objfile_per_bfd_storage): Add ctor.  Make
11465         'storage_obstack' field an auto_obstack.  In-class initialize all
11466         non-bitfield fields.  Make minsyms_read bool.
11467         * symfile.c (read_symbols): Adjust.
11468
11469 2017-06-27  Alan Hayward  <alan.hayward@arm.com>
11470
11471         * remote-sim.c (gdbsim_fetch_register): Use byte_vector.
11472         (gdbsim_store_register): Likewise.
11473
11474 2017-06-27  Pedro Alves  <palves@redhat.com>
11475
11476         * c-exp.y (name_obstack): Now an auto_obstack.
11477         (yylex): Use auto_obstack::clear.
11478         (c_parse): Use auto_obstack::clear instead of reinitializing and
11479         freeing the obstack.
11480         * c-lang.c (evaluate_subexp_c): Use auto_obstack.
11481         * d-exp.y (name_obstack): Now an auto_obstack.
11482         (yylex): Use auto_obstack::clear.
11483         (d_parse): Use auto_obstack::clear instead of reinitializing and
11484         freeing the obstack.
11485         * dwarf2loc.c (fetch_const_value_from_synthetic_pointer): Use
11486         auto_obstack.
11487         * dwarf2read.c (create_addrmap_from_index)
11488         (dwarf2_build_psymtabs_hard)
11489         (update_enumeration_type_from_children): Likewise.
11490         * gdb_obstack.h (auto_obstack): New type.
11491         * go-exp.y (name_obstack): Now an auto_obstack.
11492         (build_packaged_name): Use auto_obstack::clear.
11493         (go_parse): Use auto_obstack::clear instead of reinitializing and
11494         freeing the obstack.
11495         * linux-tdep.c (linux_make_mappings_corefile_notes): Use
11496         auto_obstack.
11497         * printcmd.c (printf_wide_c_string, ui_printf): Use auto_obstack.
11498         * rust-exp.y (work_obstack): Now an auto_obstack.
11499         (rust_parse, rust_lex_tests): Use auto_obstack::clear instead of
11500         reinitializing and freeing the obstack.
11501         * utils.c (do_obstack_free, make_cleanup_obstack_free): Delete.
11502         (host_char_to_target): Use auto_obstack.
11503         * utils.h (make_cleanup_obstack_free): Delete declaration.
11504         * valprint.c (generic_emit_char, generic_printstr): Use
11505         auto_obstack.
11506
11507 2017-06-27  Simon Marchi  <simon.marchi@ericsson.com>
11508
11509         * darwin-nat.c (darwin_check_new_threads): Don't handle dummy
11510         thread.
11511         (darwin_init_thread_list): Don't update dummy thread.
11512         (darwin_create_inferior, darwin_attach): Don't add a dummy thread.
11513
11514 2017-06-26  Simon Marchi  <simon.marchi@ericsson.com>
11515
11516         * record-full.c (netorder16): Remove.
11517
11518 2017-06-26  Simon Marchi  <simon.marchi@ericsson.com>
11519
11520         * common/diagnostics.h: Define macros for GCC.
11521         (DIAGNOSTIC_IGNORE_UNUSED_FUNCTION): New macro.
11522         * common/vec.h: Include diagnostics.h.
11523         (DIAGNOSTIC_IGNORE_UNUSED_VEC_FUNCTION): New macro.
11524         (DEF_VEC_I, DEF_VEC_P, DEF_VEC_O): Ignore -Wunused-function
11525         warning.
11526
11527 2017-06-26  Simon Marchi  <simon.marchi@ericsson.com>
11528
11529         * common/diagnostics.h (DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER):
11530         New macro.
11531         * ada-lex.l: Ignore deprecated register warnings.
11532
11533 2017-06-25  Simon Marchi  <simon.marchi@ericsson.com>
11534
11535         * main.c (get_init_files): Replace "SYSTEM_GDBINIT +
11536         datadir_len" with "&SYSTEM_GDBINIT[datadir_len]".
11537
11538 2017-06-25  Simon Marchi  <simon.marchi@ericsson.com>
11539
11540         * dtrace-probe.c (dtrace_process_dof_probe): Put semi-colon on
11541         its own line.
11542
11543 2017-06-25  Simon Marchi  <simon.marchi@ericsson.com>
11544
11545         * nat/x86-dregs.c (x86_show_dr): Print registers one per line.
11546
11547 2017-06-23  Alan Hayward  <alan.hayward@arm.com>
11548
11549         * xtensa-tdep.c (XTENSA_MAX_REGISTER_SIZE): Add.
11550         (xtensa_register_write_masked): Use XTENSA_MAX_REGISTER_SIZE.
11551         (xtensa_register_read_masked): Likewise.
11552
11553 2017-06-22  Sergio Durigan Junior  <sergiodj@redhat.com>
11554
11555         * common/environ.c (gdb_environ::unset): Update comment.
11556
11557 2017-06-22  Alan Hayward  <alan.hayward@arm.com>
11558
11559         * python/py-unwind.c (pyuw_sniffer): Allocate space for
11560         registers.
11561
11562 2017-06-22  Alan Hayward  <alan.hayward@arm.com>
11563
11564         * record-full.c (record_full_exec_insn): Use byte_vector.
11565
11566 2017-06-22  Yao Qi  <yao.qi@linaro.org>
11567
11568         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Regenerated.
11569         * regformats/i386/amd64-avx-mpx-avx512-pku.dat: Regenerated.
11570
11571 2017-06-22  Alan Hayward  <alan.hayward@arm.com>
11572
11573         * remote.c (cached_reg): Move from here...
11574         * regcache.h (cached_reg): ...to here.
11575         * python/py-unwind.c (struct reg_info): Remove.
11576         (cached_frame_info): Use cached_reg_t.
11577         (pyuw_prev_register): Likewise.
11578         (pyuw_sniffer): Use cached_reg_t and allocate registers.
11579         (pyuw_dealloc_cache): Free all registers.
11580
11581 2017-06-22  Pedro Alves  <palves@redhat.com>
11582             Simon Marchi  <simon.marchi@ericsson.com>
11583
11584         * unittests/environ-selftests.c (run_tests): Ignore -Wself-move
11585         warning.
11586         * common/diagnostics.h: New file.
11587
11588 2017-06-22  Pedro Alves  <palves@redhat.com>
11589
11590         * common/agent.h: Add include guards.
11591
11592 2017-06-21  Simon Marchi  <simon.marchi@ericsson.com>
11593
11594         * target.h (struct target_ops) <to_xfer_partial>: Update doc to
11595         talk about addressable units instead of bytes.
11596
11597 2017-06-20  Sergio Durigan Junior  <sergiodj@redhat.com>
11598
11599         * common/environ.c (gdb_environ::unset): Use '::iterator' instead
11600         of '::const_iterator'.
11601
11602 2017-06-20  Sergio Durigan Junior  <sergiodj@redhat.com>
11603
11604         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11605         'unittests/environ-selftests.c'.
11606         (SUBDIR_UNITTESTS_OBS): Add 'environ-selftests.o'.
11607         * charset.c (find_charset_names): Declare object 'iconv_env'.
11608         Update code to use 'iconv_env' object.  Remove call to
11609         'free_environ'.
11610         * common/environ.c: Include <utility>.
11611         (make_environ): Delete function.
11612         (free_environ): Delete function.
11613         (gdb_environ::clear): New function.
11614         (gdb_environ::operator=): New function.
11615         (gdb_environ::get): Likewise.
11616         (environ_vector): Delete function.
11617         (set_in_environ): Delete function.
11618         (gdb_environ::set): New function.
11619         (unset_in_environ): Delete function.
11620         (gdb_environ::unset): New function.
11621         (gdb_environ::envp): Likewise.
11622         * common/environ.h: Include <vector>.
11623         (struct gdb_environ): Delete; transform into...
11624         (class gdb_environ): ... this class.
11625         (free_environ): Delete prototype.
11626         (init_environ, get_in_environ, set_in_environ, unset_in_environ,
11627         environ_vector): Likewise.
11628         * infcmd.c (run_command_1): Update code to call
11629         'envp' from 'gdb_environ' class.
11630         (environment_info): Update code to call methods from 'gdb_environ'
11631         class.
11632         (unset_environment_command): Likewise.
11633         (path_info): Likewise.
11634         (path_command): Likewise.
11635         * inferior.c (inferior::~inferior): Delete call to 'free_environ'.
11636         (inferior::inferior): Initialize 'environment' using the host's
11637         information.
11638         * inferior.h: Remove forward declaration of 'struct gdb_environ'.
11639         Include "environ.h".
11640         (class inferior) <environment>: Change type from 'struct
11641         gdb_environ' to 'gdb_environ'.
11642         * mi/mi-cmd-env.c (mi_cmd_env_path): Update code to call
11643         methods from 'gdb_environ' class.
11644         * solib.c (solib_find_1): Likewise
11645         * unittests/environ-selftests.c: New file.
11646
11647 2017-06-20  Yao Qi  <yao.qi@linaro.org>
11648
11649         * features/i386/i386-linux.xml: Exchange the order of including
11650         32bit-linux.xml and 32bit-sse.xml.
11651         * features/i386/i386-linux.c: Regenerated.
11652
11653 2017-06-20  Yao Qi  <yao.qi@linaro.org>
11654
11655         * target-descriptions.c (tdesc_reg): Add ctor, dtor.
11656         Delete copy ctor and assignment operator.
11657         (tdesc_type): Likewise.
11658         (tdesc_feature): Likewise.
11659         (tdesc_free_reg): Remove.
11660         (tdesc_create_reg): Use new.
11661         (tdesc_free_type): Remove.
11662         (tdesc_create_vector): Use new.
11663         (tdesc_create_union): Likewise.
11664         (tdesc_create_flags): Likewise.
11665         (tdesc_create_enum): Likewise.
11666         (tdesc_free_feature): Delete.
11667         (free_target_description): Use delete.
11668
11669 2017-06-19  John Baldwin  <jhb@FreeBSD.org>
11670
11671         * mips-tdep.c (print_gp_register_row): Don't error for unavailable
11672         registers.
11673
11674 2017-06-19  Pedro Alves  <palves@redhat.com>
11675
11676         * dwarf2read.c (write_psymtabs_to_index): Construct file_closer
11677         after gdb::unlinker.
11678
11679 2017-06-19  Sergio Durigan Junior  <sergiodj@redhat.com>
11680
11681         * mi/mi-cm-env.c (_initialize_mi_cmd_env): Use getenv instead of
11682         gdb_environ to access an environment variable.
11683
11684 2017-06-18  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>
11685
11686         * nat/linux-ptrace.c (linux_fork_to_function): Add cast to
11687         gdb_byte*.
11688
11689 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11690
11691         * nat/fork-inferior.h (trace_start_error): Add ATTRIBUTE_PRINTF.
11692
11693 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11694
11695         * configure: Re-generate.
11696         * warning.m4 (build_warnings): Add -Wno-mismatched-tags.
11697
11698 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11699
11700         * configure: Re-generate.
11701         * warning.m4: Pass -Werror to compiler when checking for
11702         supported warning flags.
11703
11704 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11705
11706         * Makefile.in (COMPILE.pre): Add "-x c++".
11707
11708 2017-06-16  Alan Hayward  <alan.hayward@arm.com>
11709             Pedro Alves  <palves@redhat.com>
11710             Yao Qi  <yao.qi@linaro.org>
11711
11712         * defs.h (RequireLongest): New.
11713         (extract_integer): Declare function template.
11714         (extract_signed_integer): Remove the declaration, but define it
11715         static inline.
11716         (extract_unsigned_integer): Likewise.
11717         (store_integer): Declare function template.
11718         (store_signed_integer): Remove the declaration, but define it
11719         static inline.
11720         (store_unsigned_integer): Likewise.
11721         * findvar.c (extract_integer): New function template.
11722         (extract_signed_integer): Remove.
11723         (extract_unsigned_integer): Remove.
11724         (extract_integer<LONGEST>, extract_integer<ULONGEST>): Explicit
11725         instantiations.
11726         (store_integer): New function template.
11727         (store_signed_integer): Remove.
11728         (store_unsigned_integer): Remove.
11729         (store_integer): Explicit instantiations.
11730         * regcache.c (regcache_raw_read_signed): Update.
11731         (regcache::raw_read): New function.
11732         (regcache::raw_read_signed): Remove.
11733         (regcache::raw_read_unsigned): Remove.
11734         (regcache_raw_read_unsigned): Update.
11735         (regcache_raw_write_unsigned): Update.
11736         (regcache::raw_write_signed): Remove.
11737         (regcache::raw_write): New function.
11738         (regcache_cooked_read_signed): Update.
11739         (regcache::raw_write_unsigned): Remove.
11740         (regcache::cooked_read_signed): Remove.
11741         (regcache_cooked_read_unsigned): Update.
11742         (regcache::cooked_read_unsigned): Remove.
11743         (regcache_cooked_write_signed): Update.
11744         (regcache_cooked_write_unsigned): Update.
11745         * regcache.h (regcache) <raw_read_signed>: Remove.
11746         <raw_write_signed, raw_read_unsigned, raw_write_unsigned>: Remove.
11747         <raw_read, raw_write>: New.
11748         <cooked_read_signed, cooked_write_signed>: Remove.
11749         <cooked_write_unsigned, cooked_read_unsigned>: Remove.
11750         <cooked_read, cooked_write>: New.
11751         * sh64-tdep.c (sh64_pseudo_register_read): Update.
11752         (sh64_pseudo_register_write): Update.
11753
11754 2017-06-16  Anton Kolesov  <anton.kolesov@synopsys.com>
11755
11756         * arc-tdep.c (arc_disassembler_options): New variable.
11757         (arc_gdbarch_init): Set and use it. Use arc_delayed_print_insn instead
11758         of default_print_insn.
11759         (arc_delayed_print_insn): Set info->section when needed,
11760         use default_print_insn to retrieve a disassembler.
11761
11762 2017-06-14  Sergio Durigan Junior  <sergiodj@redhat.com>
11763
11764         PR gdb/21574
11765         * infcmd.c (_initialize_infcmd): Expand "help run" documentation
11766         to mention $SHELL and startup-with-shell.
11767
11768 2017-06-14  Max Filippov  <jcmvbkbc@gmail.com>
11769
11770         * MAINTAINERS: Move Maxim Grigoriev to the Past Maintainers.
11771
11772 2017-06-14  Yao Qi  <yao.qi@linaro.org>
11773
11774         * aarch64-tdep.c (aarch64_gdb_print_insn): Call
11775         default_print_insn instead of print_insn_aarch64.
11776         * arm-tdep.c (gdb_print_insn_arm): Call
11777         default_print_insn instead of print_insn_big_arm
11778         and print_insn_little_arm.
11779         * i386-tdep.c (i386_print_insn): Call default_print_insn
11780         instead of print_insn_i386.
11781         * ia64-tdep.c (ia64_print_insn): Call
11782         default_print_insn instead of print_insn_ia64.
11783         * mips-tdep.c (gdb_print_insn_mips): Call
11784         default_print_insn instead of print_insn_big_mips
11785         and print_insn_little_mips.
11786         * spu-tdep.c (gdb_print_insn_spu): Call default_print_insn
11787         instead of print_insn_spu.
11788
11789 2017-06-14  Pedro Alves  <palves@redhat.com>
11790
11791         * ada-lang.c: Include "common/byte-vector.h".
11792         (ada_value_primitive_packed_val): Use gdb::byte_vector.
11793         * charset.c (wchar_iterator::iterate): Resize the vector instead
11794         of reserving it.
11795         * common/byte-vector.h: Include "common/def-vector.h".
11796         (wchar_iterator::m_out): Now a gdb::def_vector<gdb_wchar_t>.
11797         * cli/cli-dump.c: Include "common/byte-vector.h".
11798         (dump_memory_to_file, restore_binary_file): Use gdb::byte_vector.
11799         * common/byte-vector.h: New file.
11800         * common/def-vector.h: New file.
11801         * common/default-init-alloc.h: New file.
11802         * dwarf2loc.c: Include "common/byte-vector.h".
11803         (rw_pieced_value): Use gdb::byte_vector, and resize the vector
11804         instead of reserving it.
11805         * dwarf2read.c: Include "common/byte-vector.h".
11806         (data_buf::m_vec): Now a gdb::byte_vector.
11807         * gdb_regex.c: Include "common/def-vector.h".
11808         (compiled_regex::compiled_regex): Use gdb::def_vector<char>.
11809         * mi/mi-main.c: Include "common/byte-vector.h".
11810         (mi_cmd_data_read_memory): Use gdb::byte_vector.
11811         * printcmd.c: Include "common/byte-vector.h".
11812         (print_scalar_formatted): Use gdb::byte_vector.
11813         * valprint.c: Include "common/byte-vector.h".
11814         (maybe_negate_by_bytes, print_decimal_chars): Use
11815         gdb::byte_vector.
11816
11817 2017-06-13  Simon Marchi  <simon.marchi@ericsson.com>
11818
11819         * darwin-nat.c: Include "nat/fork-inferior.h".
11820
11821 2017-06-13  Simon Marchi  <simon.marchi@ericsson.com>
11822
11823         * configure.nat: Factor out Darwin bits that are not
11824         architecture-specific.  Add fork-inferior.o.
11825
11826 2017-06-13  Simon Marchi  <simon.marchi@ericsson.com>
11827
11828         * configure.nat: Factor out AIX bits that are not
11829         architecture-specific.  Add fork-inferior.o.
11830
11831 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11832
11833         * dwarf2loc.c (rw_pieced_value): New.  Merge logic from...
11834         (read_pieced_value, write_pieced_value): ...here.  Reduce to
11835         wrappers that just call rw_pieced_value.
11836
11837 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11838
11839         * dwarf2loc.c (write_pieced_value): When writing the data for a
11840         memory piece, use write_memory_with_notification instead of
11841         write_memory.
11842
11843 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11844
11845         * valops.c (read_value_memory): Change embedded_offset to
11846         represent a bit offset instead of a byte offset.
11847         * value.h (read_value_memory): Adjust comment.
11848
11849 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11850
11851         * dwarf2loc.c (read_pieced_value): Remove unnecessary variables
11852         dest_offset_bits and source_offset_bits.
11853         (write_pieced_value): Likewise.
11854
11855 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11856
11857         * dwarf2loc.c (read_pieced_value): Respect the piece offset, as
11858         given by DW_OP_bit_piece.
11859         (write_pieced_value): Likewise.
11860
11861 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11862
11863         * dwarf2loc.c (read_pieced_value): Move the buffer allocation and
11864         some other preparations to the places where sufficient information
11865         is available.
11866         (write_pieced_value): Likewise.
11867
11868 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11869
11870         * dwarf2loc.c (bits_to_bytes): New function.
11871         (read_pieced_value): Fix offset calculations for register pieces
11872         on big-endian targets.
11873         (write_pieced_value): Likewise.
11874
11875 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11876
11877         * dwarf2loc.c (read_pieced_value): Remove buffer_size variable.
11878         (write_pieced_value): Likewise.
11879
11880 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11881
11882         * dwarf2loc.c (write_pieced_value): When writing to a bit-field,
11883         transfer the source value's least significant bits, instead of its
11884         lowest-addressed ones.  Rename type_len to max_offset.
11885         (read_pieced_value): Mirror above changes to write_pieced_value as
11886         applicable.
11887
11888 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11889
11890         * dwarf2loc.c (write_pieced_value): In DWARF_VALUE_MEMORY,
11891         truncate full bytes from dest_offset_bits before using it as an
11892         offset into the buffer.
11893
11894 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11895
11896         * dwarf2loc.c (write_pieced_value): Include transfer size in
11897         byte-wise check.
11898
11899 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11900
11901         * dwarf2loc.c (write_pieced_value): Fix copy/paste error in the
11902         calculation of this_size.
11903
11904 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11905
11906         * dwarf2loc.c (read_pieced_value): Respect parent value's offset
11907         when targeting a bit-field.
11908         (write_pieced_value): Likewise.
11909
11910 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11911
11912         * dwarf2loc.c (struct piece_closure) <addr_size>: Remove field.
11913         (allocate_piece_closure): Drop addr_size parameter.
11914         (dwarf2_evaluate_loc_desc_full): Adjust call to
11915         allocate_piece_closure.
11916
11917 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11918
11919         PR gdb/21226
11920         * dwarf2loc.c (read_pieced_value): Anchor stack value pieces at
11921         the LSB end, independent of endianness.
11922
11923 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11924
11925         * dwarf2loc.c (write_pieced_value): Fix order of calculations for
11926         size capping.
11927
11928 2017-06-13  Yao Qi  <yao.qi@linaro.org>
11929
11930         * mips-linux-nat.c: Move include features/mips*-linux.c to
11931         mips-linux-tdep.c.
11932         (_initialize_mips_linux_nat): Move initialize_tdesc_mips* calls
11933         to mips-linux-tdep.c.
11934         * mips-linux-tdep.c: Include features/mips*-linux.c
11935         (_initialize_mips_linux_tdep): Call initialize_tdesc_mips*
11936         functions.
11937         * mips-linux-tdep.h (tdesc_mips_linux): Declare.
11938         (tdesc_mips_dsp_linux, tdesc_mips64_linux): Declare.
11939         (tdesc_mips64_dsp_linux): Declare.
11940
11941 2017-06-12  Tom Tromey  <tom@tromey.com>
11942
11943         * valprint.h (val_print_type_code_int): Remove.
11944         * valprint.c (generic_val_print_int): Always call
11945         val_print_scalar_formatted.
11946         (val_print_type_code_int): Remove.
11947         * printcmd.c (print_scalar_formatted): Handle options->format==0.
11948         * f-valprint.c (f_val_print): Use val_print_scalar_formatted.
11949         * c-valprint.c (c_val_print_int): Use val_print_scalar_formatted.
11950         * ada-valprint.c (ada_val_print_num): Use
11951         val_print_scalar_formatted.
11952
11953 2017-06-12  Tom Tromey  <tom@tromey.com>
11954
11955         * printcmd.c (print_scalar_formatted): Unify the two switches.
11956         Don't convert scalars to LONGEST.
11957
11958 2017-06-12  Tom Tromey  <tom@tromey.com>
11959
11960         PR exp/16225:
11961         * valprint.h (print_decimal_chars): Update.
11962         * valprint.c (maybe_negate_by_bytes): New function.
11963         (print_decimal_chars): Add "is_signed" argument.
11964         * printcmd.c (print_scalar_formatted): Update.
11965
11966 2017-06-12  Tom Tromey  <tom@tromey.com>
11967
11968         PR exp/16225:
11969         * valprint.h (print_binary_chars, print_hex_chars): Update.
11970         * valprint.c (val_print_type_code_int): Update.
11971         (print_binary_chars): Add "zero_pad" argument.
11972         (emit_octal_digit): New function.
11973         (print_octal_chars): Don't zero-pad.
11974         (print_decimal_chars): Likewise.
11975         (print_hex_chars): Add "zero_pad" argument.
11976         * sh64-tdep.c (sh64_do_fp_register): Update.
11977         * regcache.c (regcache::dump): Update.
11978         * printcmd.c (print_scalar_formatted): Update.
11979         * infcmd.c (default_print_one_register_info): Update.
11980
11981 2017-06-12  Pedro Alves  <palves@redhat.com>
11982             Alan Hayward  <alan.hayward@arm.com>
11983
11984         * mips-tdep.c (MAX_MIPS_ABI_REGSIZE): New.
11985         (mips_eabi_push_dummy_call): Rename local 'regsize' to
11986         'abi_regsize'.  Rename local array 'valbuf' to 'ref_valbuf', and
11987         use MAX_MIPS_ABI_REGSIZE instead of MAX_REGISTER_SIZE to size it.
11988         Assert that abi_regsize bytes fit in 'ref_valbuf'.
11989
11990 2017-06-12  Pedro Alves  <palves@redhat.com>
11991
11992         * dwarf2read.c (mapped_symtab::data): Now a vector of
11993         symtab_index_entry instead of vector of
11994         std::unique_ptr<symtab_index_entry>.  All users adjusted to check
11995         whether an element's name is NULL instead of checking whether the
11996         element itself is NULL.
11997         (find_slot): Change return type.  Adjust.
11998         (hash_expand, , add_index_entry, uniquify_cu_indices)
11999         (write_hash_table): Adjust.
12000
12001 2017-06-12  Pedro Alves  <palves@redhat.com>
12002
12003         * dwarf2read.c (recursively_count_psymbols): New function.
12004         (write_psymtabs_to_index): Call it to compute number of psyms and
12005         pass estimate size of psyms_seen to unordered_set's ctor.
12006
12007 2017-06-12  Pedro Alves  <palves@redhat.com>
12008
12009         * dwarf2read.c (write_hash_table): Check if key already exists
12010         before emplacing.
12011
12012 2017-06-12  Pedro Alves  <palves@redhat.com>
12013
12014         * dwarf2read.c (data_buf::append_space): Rename to...
12015         (data_buf::grow): ... this, and make private.  Adjust all callers.
12016         (data_buf::append_uint): New method.
12017         (add_address_entry, write_one_signatured_type)
12018         (write_psymtabs_to_index): Use it.
12019
12020 2017-06-12  Pedro Alves  <palves@redhat.com>
12021
12022         * dwarf2read.c (file_write(FILE *, const void *, size_t)): Delete.
12023         (file_write (FILE *, const std::vector<Elem>&)): Delete.
12024         (data_buf::file_write): Call ::fwrite directly.
12025
12026 2017-06-12  Pedro Alves  <palves@redhat.com>
12027
12028         * dwarf2read.c (uniquify_cu_indices): Use std::unique and
12029         std::vector::erase.
12030
12031 2017-06-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
12032
12033         Code cleanup: C++ify .gdb_index producer.
12034         * dwarf2read.c: Include <unordered_set> and <unordered_map>.
12035         (MAYBE_SWAP) [WORDS_BIGENDIAN]: Cast to offset_type.
12036         (struct strtab_entry, hash_strtab_entry, eq_strtab_entry)
12037         (create_strtab, add_string): Remove.
12038         (file_write, data_buf): New.
12039         (struct symtab_index_entry): Use std::vector for cu_indices.
12040         (struct mapped_symtab): Use std::vector for data.
12041         (hash_symtab_entry, eq_symtab_entry, delete_symtab_entry)
12042         (create_symbol_hash_table, create_mapped_symtab, cleanup_mapped_symtab):
12043         Remove.
12044         (find_slot): Change return type.  Update it to the new data structures.
12045         (hash_expand, add_index_entry): Update it to the new data structures.
12046         (offset_type_compare): Remove.
12047         (uniquify_cu_indices): Update it to the new data structures.
12048         (c_str_view, c_str_view_hasher, vector_hasher): New.
12049         (add_indices_to_cpool): Remove.
12050         (write_hash_table): Update it to the new data structures.
12051         (struct psymtab_cu_index_map, hash_psymtab_cu_index)
12052         (eq_psymtab_cu_index): Remove.
12053         (psym_index_map): New typedef.
12054         (struct addrmap_index_data): Change addr_obstack pointer to data_buf
12055         reference and std::unordered_map for cu_index_htab.
12056         (add_address_entry, add_address_entry_worker, write_address_map)
12057         (write_psymbols): Update it to the new data structures.
12058         (write_obstack): Remove.
12059         (struct signatured_type_index_data): Change types_list to a data_buf
12060         reference and psyms_seen to a std::unordered_set reference.
12061         (write_one_signatured_type, recursively_write_psymbols)
12062         (write_psymtabs_to_index): Update it to the new data structures.
12063
12064 2017-06-11  Simon Marchi  <simon.marchi@ericsson.com>
12065
12066         * NEWS (Changes since GDB 8.0): Announce {set,show} debug
12067         separate-debug-file commands.
12068         * symfile.h (separate_debug_file_debug): New global.
12069         * symfile.c (separate_debug_file_debug): New global.
12070         (separate_debug_file_exists, find_separate_debug_file): Add
12071         debug output.
12072         (_initialize_symfile): Add "set debug separate-debug-file"
12073         command.
12074         * build-id.c (build_id_to_debug_bfd,
12075         find_separate_debug_file_by_buildid): Add debug output.
12076
12077 2017-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
12078
12079         * gdbarch.sh (displaced_step_free_closure): Remove.
12080         * gdbarch.h, gdbarch.c: Re-generate.
12081         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Don't set
12082         displaced_step_free_closure.
12083         * amd64-linux-tdep.c (amd64_linux_init_abi_common): Likewise.
12084         * arm-linux-tdep.c (arm_linux_init_abi): Likewise.
12085         * i386-linux-tdep.c (i386_linux_init_abi): Likewise.
12086         * rs6000-aix-tdep.c (rs6000_aix_init_osabi): Likewise.
12087         * rs6000-tdep.c (rs6000_gdbarch_init): Likewise.
12088         * s390-linux-tdep.c (s390_gdbarch_init): Likewise.
12089         * arch-utils.h (simple_displaced_step_free_closure): Remove.
12090         * arch-utils.c (simple_displaced_step_free_closure): Remove.
12091         * infrun.c (displaced_step_clear): Call xfree instead of
12092         gdbarch_displaced_step_free_closure.
12093
12094 2017-06-08  Sergio Durigan Junior  <sergiodj@redhat.com>
12095
12096         * common/common-utils.c (stringify_argv): Check for "arg[0] !=
12097         NULL".
12098
12099 2017-06-08 Alan Hayward  <alan.hayward@arm.com>
12100
12101         * mn10300-tdep.c (MN10300_MAX_REGISTER_SIZE): Add.
12102         (mn10300_extract_return_value): Use MN10300_MAX_REGISTER_SIZE.
12103         (mn10300_push_dummy_call): Likewise.
12104
12105 2017-06-08  Alan Hayward  <alan.hayward@arm.com>
12106
12107         * mi/mi-main.c (register_changed_p): Use value_contents_eq.
12108
12109 2017-06-08  Alan Hayward  <alan.hayward@arm.com>
12110
12111         * mi/mi-main.c (register_changed_p): Use cooked_read_value.
12112
12113 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
12114
12115         * NEWS (Changes since GDB 8.0): Announce that GDBserver is now
12116         able to start inferiors using a shell.
12117         (New remote packets): Announce new packet "QStartupWithShell".
12118         * remote.c: Add PACKET_QStartupWithShell.
12119         (extended_remote_create_inferior): Handle new
12120         PACKET_QStartupWithShell.
12121         (remote_protocol_features) <QStartupWithShell>: New entry for
12122         PACKET_QStartupWithShell.
12123         (_initialize_remote): Call "add_packet_config_cmd" for
12124         QStartupShell.
12125
12126 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
12127             Pedro Alves  <palves@redhat.com>
12128
12129         * Makefile.in (HFILES_NO_SRCDIR): Add "common/common-inferior.h"
12130         and "nat/fork-inferior.h".
12131         * common/common-inferior.h: New file, with contents from
12132         "gdb/inferior.h".
12133         * commom/common-utils.c: Include "common-utils.h".
12134         (stringify_argv): New function.
12135         * common/common-utils.h (stringify_argv): New prototype.
12136         * configure.nat: Add "fork-inferior.o" as a dependency for
12137         "*linux*", "fbsd*" and "nbsd*" hosts.
12138         * corefile.c (get_exec_file): Update comment.
12139         * darwin-nat.c (darwin_ptrace_him): Call "gdb_startup_inferior"
12140         instead of "startup_inferior".
12141         (darwin_create_inferior): Call "add_thread_silent" after
12142         "fork_inferior".
12143         * fork-child.c: Cleanup unnecessary includes.
12144         (SHELL_FILE): Move to "common/common-fork-child.c".
12145         (environ): Likewise.
12146         (exec_wrapper): Initialize.
12147         (get_exec_wrapper): New function.
12148         (breakup_args): Move to "common/common-fork-child.c"; rename to
12149         "breakup_args_for_exec".
12150         (escape_bang_in_quoted_argument): Move to
12151         "common/common-fork-child.c".
12152         (saved_ui): New variable.
12153         (prefork_hook): New function.
12154         (postfork_hook): Likewise.
12155         (postfork_child_hook): Likewise.
12156         (gdb_startup_inferior): Likewise.
12157         (fork_inferior): Move to "common/common-fork-child.c".  Update
12158         function to support gdbserver.
12159         (startup_inferior): Likewise.
12160         * gdbcore.h (get_exec_file): Remove declaration.
12161         * gnu-nat.c (gnu_create_inferior): Call "gdb_startup_inferior"
12162         instead of "startup_inferior".  Call "add_thread_silent" after
12163         "fork_inferior".
12164         * inf-ptrace.c: Include "nat/fork-inferior.h" and "utils.h".
12165         (inf_ptrace_create_inferior): Call "gdb_startup_inferior"
12166         instead of "startup_inferior".  Call "add_thread_silent" after
12167         "fork_inferior".
12168         * inferior.h: Include "common-inferior.h".
12169         (trace_start_error): Move to "common/common-utils.h".
12170         (trace_start_error_with_name): Likewise.
12171         (fork_inferior): Move prototype to "nat/fork-inferior.h".
12172         (startup_inferior): Likewise.
12173         (gdb_startup_inferior): New prototype.
12174         * nat/fork-inferior.c: New file, with contents from "fork-child.c".
12175         * nat/fork-inferior.h: New file.
12176         * procfs.c (procfs_init_inferior): Call "gdb_startup_inferior"
12177         instead of "startup_inferior".  Call "add_thread_silent" after
12178         "fork_inferior".
12179         * target.h (target_terminal_init): Move prototype to
12180         "target/target.h".
12181         (target_terminal_inferior): Likewise.
12182         (target_terminal_ours): Likewise.
12183         * target/target.h (target_terminal_init): New prototype, moved
12184         from "target.h".
12185         (target_terminal_inferior): Likewise.
12186         (target_terminal_ours): Likewise.
12187         * utils.c (gdb_flush_out_err): New function.
12188
12189 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
12190
12191         * Makefile.in (HFILES_NO_SRCDIR): Add "common/common-gdbthread.h".
12192         * common/common-gdbthread.h: New file, with parts from
12193         "gdb/gdbthread.h".
12194         * gdbthread.h: Include "common-gdbthread.h".
12195         (switch_to_thread): Moved to "common/common-gdbthread.h".
12196
12197 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
12198
12199         * Makefile.in (SFILES): Add "common/job-control.c".
12200         (HFILES_NO_SRCDIR): Add "common/job-control.h".
12201         (COMMON_OBS): Add "job-control.o".
12202         * common/job-control.c: New file, with contents from
12203         "gdb/inflow.c".
12204         * common/job-control.h: New file, with contents from "terminal.h".
12205         * fork-child.c: Include "job-control.h".
12206         * inflow.c: Include "job-control.h".
12207         (gdb_setpgid): Move to "common/common-inflow.c".
12208         (_initialize_inflow): Move setting of "job_control" to
12209         "handle_job_control".
12210         * terminal.h (job_control): Moved to "common/common-terminal.h".
12211         (gdb_setpgid): Likewise.
12212         * top.c: Include "job_control.h".
12213         * utils.c: Likewise.
12214         (job_control): Moved to "job-control.c".
12215
12216 2017-06-07  Pedro Alves  <palves@redhat.com>
12217
12218         * Makefile.in (SFILES): Add gdb_regex.c.
12219         (COMMON_OBS): Add gdb_regex.o.
12220         * ada-lang.c (ada_add_standard_exceptions)
12221         (ada_add_exceptions_from_frame, name_matches_regex)
12222         (ada_add_global_exceptions, ada_exceptions_list_1): Change regex
12223         parameter type to compiled_regex.  Adjust.
12224         (ada_exceptions_list): Use compiled_regex.
12225         * break-catch-throw.c (exception_catchpoint::pattern): Now a
12226         std::unique_ptr<compiled_regex>.
12227         (exception_catchpoint::~exception_catchpoint): Remove regfree
12228         call.
12229         (check_status_exception_catchpoint): Adjust to use compiled_regex.
12230         (handle_gnu_v3_exceptions): Adjust to use compiled_regex.
12231         * breakpoint.c (solib_catchpoint::compiled): Now a
12232         std::unique_ptr<compiled_regex>.
12233         (solib_catchpoint::~solib_catchpoint): Remove regfree call.
12234         (check_status_catch_solib): Adjust to use compiled_regex.
12235         (add_solib_catchpoint): Adjust to use compiled_regex.
12236         * cli/cli-cmds.c (apropos_command): Use compiled_regex.
12237         * cli/cli-decode.c (apropos_cmd): Change regex parameter to
12238         compiled_regex reference.  Adjust to use it.
12239         * cli/cli-decode.h: Remove struct re_pattern_buffer forward
12240         declaration.  Include "gdb_regex.h".
12241         (apropos_cmd): Change regex parameter to compiled_regex reference.
12242         * gdb_regex.c: New file.
12243         * gdb_regex.h (make_regfree_cleanup, get_regcomp_error): Delete
12244         declarations.
12245         (class compiled_regex): New.
12246         * linux-tdep.c: Include "common/gdb_optional.h".
12247         (struct mapping_regexes): New, factored out from
12248         mapping_is_anonymous_p, and adjusted to use compiled_regex.
12249         (mapping_is_anonymous_p): Use mapping_regexes wrapped in a
12250         gdb::optional and remove cleanups.  Adjust to compiled_regex.
12251         * probe.c: Include "common/gdb_optional.h".
12252         (collect_probes): Use compiled_regex and gdb::optional and remove
12253         cleanups.
12254         * skip.c: Include "common/gdb_optional.h".
12255         (skiplist_entry::compiled_function_regexp): Now a
12256         gdb::optional<compiled_regex>.
12257         (skiplist_entry::compiled_function_regexp_is_valid): Delete field.
12258         (free_skiplist_entry): Remove regfree call.
12259         (compile_skip_regexp, skip_rfunction_p): Adjust to use
12260         compiled_regex and gdb::optional.
12261         * symtab.c: Include "common/gdb_optional.h".
12262         (search_symbols): Use compiled_regex and gdb::optional.
12263         * utils.c (do_regfree_cleanup, make_regfree_cleanup)
12264         (get_regcomp_error, compile_rx_or_error): Delete.  Some bits moved
12265         to gdb_regex.c.
12266
12267 2017-06-07  Alan Hayward  <alan.hayward@arm.com>
12268
12269         * regcache.c (regcache::save): Avoid buffer use.
12270         (regcache::dump): Likewise.
12271
12272 2017-06-07  Alan Hayward  <alan.hayward@arm.com>
12273
12274         * sh-tdep.c (sh_pseudo_register_read): Remove
12275         MAX_REGISTER_SIZE.
12276         (sh_pseudo_register_write): Likewise.
12277         * sh64-tdep.c (sh64_pseudo_register_read): Likewise.
12278         (sh64_pseudo_register_write): Likewise
12279
12280 2017-06-07  Alan Hayward  <alan.hayward@arm.com>
12281
12282         * aarch64-tdep.c (aarch64_store_return_value): Use
12283         V_REGISTER_SIZE.
12284         (aarch64_pseudo_read_value): Likewise.
12285         (aarch64_pseudo_write): Likewise.
12286
12287 2017-06-06  Yao Qi  <yao.qi@linaro.org>
12288
12289         * regformats/regdef.h (set_register_cache): Remove the
12290         declaration.
12291
12292 2017-06-06 Alan Hayward  <alan.hayward@arm.com>
12293
12294         * frame.c (frame_unwind_register_signed): Use
12295         frame_unwind_register_value.
12296
12297 2017-06-06  Pedro Alves  <palves@redhat.com>
12298
12299         PR breakpoints/21553
12300         * breakpoint.c (create_breakpoints_sal_default)
12301         (init_breakpoint_sal, create_breakpoint_sal): Use
12302         gdb::unique_xmalloc_ptr for string parameters.
12303         (create_breakpoint): Constify 'extra_string' and 'cond_string'
12304         parameters.  Replace cleanups with gdb::unique_xmalloc_ptr.
12305         (base_breakpoint_create_breakpoints_sal)
12306         (bkpt_create_breakpoints_sal, tracepoint_create_breakpoints_sal)
12307         (strace_marker_create_breakpoints_sal)
12308         (create_breakpoints_sal_default): Use gdb::unique_xmalloc_ptr for
12309         string parameters.
12310         * breakpoint.h (breakpoint_ops::create_breakpoints_sal): Use
12311         gdb::unique_xmalloc_ptr for string parameters.
12312         (create_breakpoint): Constify 'extra_string' and 'cond_string'
12313         parameters.
12314
12315 2017-06-06  Alan Hayward  <alan.hayward@arm.com>
12316
12317         * alpha-tdep.c (alpha_register_to_value): Use
12318         get_frame_register_value.
12319         (alpha_value_to_register): Use ALPHA_REGISTER_SIZE.
12320
12321 2017-06-06  Alan Hayward  <alan.hayward@arm.com>
12322
12323         * ia64-tdep.c (IA64_MAX_FP_REGISTER_SIZE) Add.
12324         (ia64_register_to_value): Use IA64_MAX_FP_REGISTER_SIZE.
12325         (ia64_value_to_register): Likewise.
12326         (ia64_extract_return_value): Likewise.
12327         (ia64_store_return_value): Likewise.
12328         (ia64_push_dummy_call): Likewise.
12329
12330 2017-06-04  Joel Brobecker  <brobecker@adacore.com>
12331
12332         GDB 8.0 released.
12333
12334 2017-06-03  Simon Marchi  <simon.marchi@ericsson.com>
12335
12336         * x86-linux-nat.c (struct arch_lwp_info): Remove.
12337
12338 2017-06-03  Simon Marchi  <simon.marchi@polymtl.ca>
12339
12340         * linux-nat.c (linux_nat_post_attach_wait): Remove FIRST
12341         parameter.
12342         (linux_nat_attach): Adjust call to linux_nat_post_attach_wait.
12343
12344 2017-06-02  Simon Marchi  <simon.marchi@ericsson.com>
12345
12346         * event-loop.c (poll_timers): Unallocate timer using delete
12347         instead of xfree.
12348
12349 2017-06-02  Simon Marchi  <simon.marchi@polymtl.ca>
12350
12351         * breakpoint.h (struct breakpoint_ops) <dtor>: Remove.
12352         (struct breakpoint) <~breakpoint>: New.
12353         (struct watchpoint): Inherit from breakpoint.
12354         <~watchpoint>: New.
12355         <base>: Remove.
12356         (struct tracepoint): Inherit from breakpoint.
12357         <base>: Remove.
12358         * breakpoint.c (longjmp_breakpoint_ops): Remove.
12359         (struct longjmp_breakpoint): Inherit from breakpoint.
12360         <~longjmp_breakpoint>: New.
12361         <base>: Remove.
12362         (new_breakpoint_from_type): Remove casts.
12363         (watchpoint_in_thread_scope): Remove reference to base field.
12364         (watchpoint_del_at_next_stop): Likewise.
12365         (update_watchpoint): Likewise.
12366         (watchpoint_check): Likewise.
12367         (bpstat_check_watchpoint): Likewise.
12368         (set_longjmp_breakpoint): Likewise.
12369         (struct fork_catchpoint): Inherit from breakpoint.
12370         <base>: Remove.
12371         (struct solib_catchpoint): Inherit from breakpoint.
12372         <~solib_catchpoint>: New.
12373         <base>: Remove.
12374         (dtor_catch_solib): Change to ...
12375         (solib_catchpoint::~solib_catchpoint): ... this.
12376         (breakpoint_hit_catch_solib): Remove reference to base field.
12377         (add_solib_catchpoint): Likewise.
12378         (create_fork_vfork_event_catchpoint): Likewise.
12379         (struct exec_catchpoint): Inherit from breakpoint.
12380         <~exec_catchpoint>: New.
12381         <base>: Remove.
12382         (dtor_catch_exec): Change to ...
12383         (exec_catchpoint::~exec_catchpoint): ... this.
12384         (dtor_watchpoint): Change to ...
12385         (watchpoint::~watchpoint): ... this.
12386         (watch_command_1): Remove reference to base field.
12387         (catch_exec_command_1): Likewise.
12388         (base_breakpoint_dtor): Change to ...
12389         (breakpoint::~breakpoint): ... this.
12390         (base_breakpoint_ops): Remove dtor field value.
12391         (longjmp_bkpt_dtor): Change to ...
12392         (longjmp_breakpoint::~longjmp_breakpoint): ... this.
12393         (strace_marker_create_breakpoints_sal): Remove reference to base
12394         field.
12395         (delete_breakpoint): Don't manually call breakpoint destructor.
12396         (create_tracepoint_from_upload): Remove reference to base field.
12397         (trace_pass_set_count): Likewise.
12398         (initialize_breakpoint_ops): Don't initialize
12399         momentary_breakpoint_ops, don't set dtors.
12400         * ada-lang.c (struct ada_catchpoint): Inherit from breakpoint.
12401         <~ada_catchpoint>: New.
12402         <base>: Remove.
12403         (create_excep_cond_exprs): Remove reference to base field.
12404         (dtor_exception): Change to ...
12405         (ada_catchpoint::~ada_catchpoint): ... this.
12406         (dtor_catch_exception): Remove.
12407         (dtor_catch_exception_unhandled): Remove.
12408         (dtor_catch_assert): Remove.
12409         (create_ada_exception_catchpoint): Remove reference to base
12410         field.
12411         (initialize_ada_catchpoint_ops): Don't set dtors.
12412         * break-catch-sig.c (struct signal_catchpoint): Inherit from
12413         breakpoint.
12414         <~signal_catchpoint>: New.
12415         <base>: Remove.
12416         (signal_catchpoint_dtor): Change to ...
12417         (signal_catchpoint::~signal_catchpoint): ... this.
12418         (create_signal_catchpoint): Remove reference to base field.
12419         (initialize_signal_catchpoint_ops): Don't set dtor.
12420         * break-catch-syscall.c (struct syscall_catchpoint): Inherit
12421         from breakpoint.
12422         <~syscall_catchpoint>: New.
12423         <base>: Remove.
12424         (dtor_catch_syscall): Change to ...
12425         (syscall_catchpoint::~syscall_catchpoint): ... this.
12426         (create_syscall_event_catchpoint): Remove reference to base
12427         field.
12428         (initialize_syscall_catchpoint_ops): Don't set dtor.
12429         * break-catch-throw.c (struct exception_catchpoint): Inherit
12430         from breakpoint.
12431         <~exception_catchpoint>: New.
12432         <base>: Remove.
12433         (dtor_exception_catchpoint): Change to ...
12434         (exception_catchpoint::~exception_catchpoint): ... this.
12435         (handle_gnu_v3_exceptions): Remove reference to base field.
12436         (initialize_throw_catchpoint_ops): Don't set dtor.
12437         * ctf.c (ctf_get_traceframe_address): Remove reference to base
12438         field.
12439         * remote.c (remote_get_tracepoint_status): Likewise.
12440         * tracefile-tfile.c (tfile_get_traceframe_address): Likewise.
12441         * tracefile.c (tracefile_fetch_registers): Likewise.
12442         * tracepoint.c (actions_command): Likewise.
12443         (validate_actionline): Likewise.
12444         (tfind_1): Likewise.
12445         (get_traceframe_location): Likewise.
12446         (find_matching_tracepoint_location): Likewise.
12447         (parse_tracepoint_status): Likewise.
12448         * mi/mi-cmd-break.c (mi_cmd_break_passcount): Likewise.
12449
12450 2017-06-02  Simon Marchi  <simon.marchi@polymtl.ca>
12451
12452         * breakpoint.c (struct longjmp_breakpoint): New struct.
12453         (is_tracepoint_type): Change return type to bool.
12454         (is_longjmp_type): New function.
12455         (new_breakpoint_from_type): Handle longjmp kinds of breakpoints.
12456         (set_raw_breakpoint_without_location): Use
12457         new_breakpoint_from_type.
12458         (set_raw_breakpoint): Likewise.
12459
12460 2017-06-02  Simon Marchi  <simon.marchi@polymtl.ca>
12461
12462         * breakpoint.c (new_breakpoint_from_type): New function.
12463         (create_breakpoint_sal): Use new_breakpoint_from_type and
12464         unique_ptr.
12465         (create_breakpoint): Likewise.
12466
12467 2017-05-31  Simon Marchi  <simon.marchi@ericsson.com>
12468
12469         * memattr.c (mem_info_command): Rename to ...
12470         (info_mem_command): ... this.
12471         (mem_enable_command): Rename to ...
12472         (enable_mem_command): ... this.
12473         (mem_disable_command): Rename to ...
12474         (disable_mem_command): ... this.
12475         (mem_delete_command): Rename to ...
12476         (delete_mem_command): ... this.
12477         (_initialize_mem): Adjust function names.
12478
12479 2017-05-31  Markus Metzger  <markus.t.metzger@intel.com>
12480
12481         * btrace.c (handle_pt_insn_events): New.
12482         (ftrace_add_pt): Call handle_pt_insn_events.  Rename ERRCODE into
12483         STATUS.  Split into this and ...
12484         (handle_pt_insn_event_flags): ... this.
12485
12486 2017-05-31  Markus Metzger  <markus.t.metzger@intel.com>
12487
12488         * configure.ac: Check for pt_insn_event, struct pt_insn.enabled,
12489         and struct pt_insn.resynced.
12490         * configure: Regenerated.
12491         * config.in: Regenerated.
12492
12493 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12494
12495         * btrace.c (ftrace_find_call_by_number): New function.
12496         (ftrace_new_function): Store objects, not pointers.
12497         (ftrace_find_call_by_number, ftrace_new_return, ftrace_new_switch,
12498         ftrace_new_gap, ftrace_update_function,
12499         ftrace_compute_global_level_offset, btrace_stich_bts, btrace_clear,
12500         btrace_insn_get, btrace_insn_get_error, btrace_insn_end,
12501         btrace_insn_next, btrace_insn_prev, ptrace_find_insn_by_number,
12502         btrace_ends_with_single_insn, btrace_call_get): Account for
12503         btrace_thread_info::functions now storing objects.
12504         * btrace.h (struct btrace_thread_info): Add constructor.
12505         (struct btrace_thread_info) <functions>: Make std::vector.
12506         (struct btrace_thread_info) <prev, next, up, insn, errcode, flags):
12507         Initialize with default values.
12508         * record-btrace.c (record_btrace_frame_sniffer): Account for
12509         btrace_thread_info::functions now storing objects.
12510
12511 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12512
12513         * btrace.c: Remove typedef bfun_s.
12514         (ftrace_new_gap): Directly add gaps to the list of gaps.
12515         (btrace_bridge_gaps, btrace_compute_ftrace_bts, pt_btrace_insn_flags,
12516         ftrace_add_pt, btrace_compute_ftrace_pt, btrace_compute_ftrace_1,
12517         btrace_finalize_ftrace, btrace_compute_ftrace): Use std::vector
12518         instead of gdb VEC.
12519
12520 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12521
12522         * btrace.c (ftrace_fixup_caller, ftrace_new_return, ftrace_connect_bfun,
12523         ftrace_bridge_gap): Replace references to btrace_thread_info::segment
12524         with btrace_thread_info::next_segment and
12525         btrace_thread_info::prev_segment.
12526         * btrace.h: Remove struct btrace_func_link.
12527         (struct btrace_function): Replace pair of function segment pointers
12528         with pair of indices.
12529         * python/py-record-btrace.c (btpy_call_prev_sibling,
12530         btpy_call_next_sibling): Replace references to
12531         btrace_thread_info::segment with btrace_thread_info::next_segment and
12532         btrace_thread_info::prev_segment.
12533         * record-btrace.c (record_btrace_frame_this_id): Use
12534         btrace_find_call_by_number.
12535
12536 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12537
12538         * btrace.c (ftrace_new_function, ftrace_fixup_level,
12539         ftrace_connect_bfun, ftrace_bridge_gap, btrace_bridge_gaps,
12540         btrace_insn_next, btrace_insn_prev): Remove references to
12541         btrace_thread_info::flow.
12542         * btrace.h (struct btrace_function): Remove FLOW.
12543
12544 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12545
12546         * btrace.c (ftrace_find_call_by_number): New function.
12547         (ftrace_update_caller, ftrace_new_call, ftrace_new_tailcall,
12548         ftrace_get_caller, ftrace_find_call, ftrace_new_return,
12549         ftrace_match_backtrace, ftrace_connect_bfun, ftrace_connect_backtrace,
12550         ftrace_bridge_gap, btrace_bridge_gaps): Use btrace_function::up as an
12551         index.
12552         * btrace.h (struct btrace_function): Turn UP into an index.
12553         * python/py-record-btrace.c (btpy_call_up): Use btrace_function::up
12554         as an index.
12555         * record-btrace.c (record_btrace_frame_unwind_stop_reason,
12556         record_btrace_frame_prev_register, record_btrace_frame_sniffer,
12557         record_btrace_tailcall_frame_sniffe): Use btrace_find_call_by_number.
12558
12559 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12560
12561         * btrace.c (ftrace_new_function, ftrace_new_call, ftrace_new_tailcall,
12562         ftrace_new_return, ftrace_new_switch, ftrace_new_gap,
12563         ftrace_update_function, ftrace_compute_global_level_offset,
12564         btrace_compute_ftrace_bts, ftrace_add_pt, btrace_compute_ftrace_pt,
12565         btrace_stitch_bts, btrace_fetch, btrace_clear, btrace_insn_number,
12566         btrace_insn_end, btrace_is_empty): Remove references to
12567         btrace_thread_info::begin and btrace_thread_info::end.
12568         * btrace.h (struct btrace_thread_info): Remove BEGIN and END.
12569         (struct btrace_thread_info) <functions>: Adjust comment.
12570         * record-btrace.c (record_btrace_start_replaying): Remove reference to
12571         btrace_thread_info::begin.
12572
12573 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12574
12575         * btrace.c (ftrace_new_function, ftrace_new_call, ftrace_new_tailcall,
12576         ftrace_new_return, ftrace_new_switch, ftrace_new_gap,
12577         ftrace_update_function): Remove arguments that implicitly were always
12578         BTINFO->END.
12579         (btrace_compute_ftrace_bts, ftrace_add_pt, btrace_compute_ftrace_pt):
12580         Don't pass BTINFO->END.
12581
12582 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12583
12584         * btrace.c: (btrace_insn_get, btrace_insn_get_error, btrace_insn_number,
12585         btrace_insn_begin, btrace_insn_end, btrace_insn_next, btrace_insn_prev,
12586         btrace_find_insn_by_number): Replace function segment pointer with
12587         index.
12588         (btrace_insn_cmp): Simplify.
12589         * btrace.h: (struct btrace_insn_iterator) Rename index to
12590         insn_index.  Replace function segment pointer with index into function
12591         segment vector.
12592         * record-btrace.c (record_btrace_call_history): Replace function
12593         segment pointer use with index.
12594         (record_btrace_frame_sniffer): Retrieve function call segment through
12595         vector.
12596         (record_btrace_set_replay): Remove defunc't safety check.
12597
12598 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12599
12600         * btrace.c (btrace_ends_with_single_insn): New function.
12601         (btrace_call_get, btrace_call_number, btrace_call_begin,
12602         btrace_call_end, btrace_call_next, btrace_call_prev,
12603         btrace_find_call_by_number): Use index into call segment vector
12604         instead of pointer.
12605         (btrace_call_cmp): Simplify.
12606         * btrace.h (struct btrace_call_iterator): Replace function call segment
12607         pointer with index into vector.
12608         * record-btrace.c (record_btrace_call_history): Use index instead of
12609         pointer.
12610
12611 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12612
12613         * btrace.c (btrace_insn_begin, btrace_insn_end,
12614         btrace_find_insn_by_number): Add btinfo to iterator.
12615         * btrace.h (struct btrace_insn_iterator): Add btinfo.
12616
12617 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12618
12619         * btrace.c (ftrace_new_function): Add btrace_thread_info to arguments
12620         and save pointers directly.
12621         (ftrace_new_call, ftrace_new_tailcall, ftrace_new_return,
12622         ftrace_new_switch, ftrace_new_gap, ftrace_update_function,
12623         ftrace_add_pt): Add btrace_thread_info to arguments.  Adjust for
12624         changed signature of functions.
12625         (btrace_compute_ftrace_pt): Adjust for changed signature of functions.
12626         (btrace_fetch): Remove code that adds btrace_function pointers to
12627         vector of btrace_functions.
12628         (btrace_clear): Simplify freeing vector of btrace_functions.
12629
12630 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12631
12632         * btrace.c (btrace_fetch, btrace_clear, btrace_find_insn_by_number):
12633         Replace VEC_* with std::vector functions.
12634         * btrace.h: Add include: vector. Remove typedef for DEF_VEC_P.
12635         (struct btrace_thread_info)<functions>: Change type to std::vector.
12636
12637 2017-05-30  Simon Marchi  <simon.marchi@ericsson.com>
12638
12639         * NEWS (Changes in GDB 8.0): Remove extra empty line.  Move
12640         "Removed targets and native configurations" up.  Merge duplicate
12641         "New commands" sub-sections.  Add "New options" sub-sections.
12642
12643 2017-05-26  Alan Hayward  <alan.hayward@arm.com>
12644
12645         * defs.h (copy_integer_to_size): New declaration.
12646         * findvar.c (copy_integer_to_size): New function.
12647         (do_cint_test): New selftest function.
12648         (copy_integer_to_size_test): Likewise.
12649         (_initialize_findvar): Likewise.
12650         * mips-fbsd-tdep.c (mips_fbsd_supply_reg): Use raw_supply_integer.
12651         (mips_fbsd_collect_reg): Use raw_collect_integer.
12652         * mips-linux-tdep.c (supply_32bit_reg): Use raw_supply_integer.
12653         (mips64_fill_gregset): Use raw_collect_integer
12654         (mips64_fill_fpregset): Use raw_supply_integer.
12655         * regcache.c (regcache::raw_supply_integer): New function.
12656         (regcache::raw_collect_integer): Likewise.
12657         * regcache.h: (regcache::raw_supply_integer): New declaration.
12658         (regcache::raw_collect_integer): Likewise.
12659
12660 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12661
12662         * Makefile.in (SFILES): Add gdbarch-selftests.c.
12663         (COMMON_OBS): Add gdbarch-selftests.o.
12664         * frame.c [GDB_SELF_TESTS] (create_new_frame): New function.
12665         * frame.h [GDB_SELF_TESTS] (create_new_frame): Declare.
12666         * gdbarch-selftests.c: New file.
12667         * regcache.h (regcache) <~regcache>: Mark it virtual if
12668         GDB_SELF_TEST.
12669         <raw_write>: Likewise.
12670
12671 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12672
12673         * regcache.c (current_regcache): Change it to
12674         regcache::current_regcache.
12675         (regcache_observer_target_changed): Update.
12676         (regcache_thread_ptid_changed): Make it a regcache static
12677         method.
12678         (regcache_thread_ptid_changed): Update.
12679         (class regcache_access): New.
12680         (current_regcache_test): Update.
12681         (_initialize_regcache): Update.
12682         * regcache.h: Include forward_list.
12683         (regcache): Declare regcache_thread_ptid_changed and declare
12684         registers_changed_ptid as friend.
12685
12686 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12687
12688         * i387-tdep.c (i387_register_to_value): Use register_size
12689         instead of TYPE_LENGTH.
12690         * m68k-tdep.c (m68k_register_to_value): Likewise.
12691
12692 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12693
12694         * i387-tdep.c (i387_convert_register_p): Return false if type
12695         code isn't TYPE_CODE_FLT.
12696
12697 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12698
12699         * alpha-tdep.c (alpha_convert_register_p): Return true if type
12700         length is 4.
12701         (alpha_register_to_value): Remove type length check.
12702         (alpha_value_to_register): Likewise.
12703
12704 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12705
12706         * ia64-tdep.c (ia64_convert_register_p): Check type's code is
12707         TYPE_CODE_FLT.
12708
12709 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12710
12711         * m68k-tdep.c (m68k_convert_register_p): Check type's code is
12712         TYPE_CODE_FLT or not.
12713
12714 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12715
12716         * alpha-tdep.c (alpha_gdbarch_init): Use XCNEW instead of XNEW.
12717         * avr-tdep.c (avr_gdbarch_init): Likewise.
12718         * bfin-tdep.c (bfin_gdbarch_init): Likewise.
12719         * cris-tdep.c (cris_gdbarch_init): Likewise.
12720         * ft32-tdep.c (ft32_gdbarch_init): Likewise.
12721         * lm32-tdep.c (lm32_gdbarch_init): Likewise.
12722         * m32r-tdep.c (m32r_gdbarch_init): Likewise.
12723         * m68hc11-tdep.c (m68hc11_gdbarch_init): Likewise.
12724         * mep-tdep.c (mep_gdbarch_init): Likewise.
12725         * microblaze-tdep.c (microblaze_gdbarch_init): Likewise.
12726         * mips-tdep.c (mips_gdbarch_init): Likewise.
12727         * mn10300-tdep.c (mn10300_gdbarch_init): Likewise.
12728         * moxie-tdep.c (moxie_gdbarch_init): Likewise.
12729         * msp430-tdep.c (msp430_gdbarch_init): Likewise.
12730         * sh64-tdep.c (sh64_gdbarch_init): Likewise.
12731         * v850-tdep.c (v850_gdbarch_init): Likewise.
12732
12733 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12734
12735         * selftest-arch.c (tests_with_arch): Call registers_changed
12736         and reinit_frame_cache.
12737         * selftest.c (run_self_tests): Likewise.
12738
12739 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12740
12741         * rs6000-tdep.c (gdb_print_insn_powerpc): Remove.
12742         (rs6000_gdbarch_init): Don't call set_gdbarch_print_insn.
12743
12744 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12745
12746         * rl78-tdep.c (rl78_gdbarch_init): Don't call
12747         set_gdbarch_print_insn.
12748
12749 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12750
12751         * h8300-tdep.c (h8300_gdbarch_init): Don't call
12752         set_gdbarch_print_insn.
12753
12754 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12755
12756         * alpha-tdep.c (alpha_gdbarch_init): Don't call
12757         set_gdbarch_print_insn.
12758         * arc-tdep.c (arc_gdbarch_init): Likewise.
12759         * arch-utils.c: include dis-asm.h.
12760         (default_print_insn): New function.
12761         * arch-utils.h (default_print_insn): Declare.
12762         * avr-tdep.c (avr_gdbarch_init): Don't call set_gdbarch_print_insn.
12763         * bfin-tdep.c (bfin_gdbarch_init): Likewise.
12764         * cris-tdep.c (cris_delayed_get_disassembler): Remove.
12765         (cris_gdbarch_init): Don't call set_gdbarch_print_insn.
12766         * frv-tdep.c (frv_gdbarch_init): Likewise.
12767         * ft32-tdep.c (ft32_gdbarch_init): Likewise.
12768         * gdbarch.sh (print_insn): Use default_print_insn.
12769         * gdbarch.c: Regenerated.
12770         * hppa-tdep.c (hppa_gdbarch_init): Likewise.
12771         * iq2000-tdep.c (iq2000_gdbarch_init): Likewise.
12772         * lm32-tdep.c (lm32_gdbarch_init): Likewise.
12773         * m32c-tdep.c (m32c_gdbarch_init): Likewise.
12774         * m32r-tdep.c (m32r_gdbarch_init): Likewise.
12775         * m68hc11-tdep.c (gdb_print_insn_m68hc11): Remove.
12776         (m68hc11_gdbarch_init): Don't call set_gdbarch_print_insn.
12777         * m68k-tdep.c (m68k_gdbarch_init): Likewise.
12778         * m88k-tdep.c (m88k_gdbarch_init): Likewise.
12779         * microblaze-tdep.c (microblaze_gdbarch_init): Likewise.
12780         * mn10300-tdep.c (mn10300_gdbarch_init): Likewise.
12781         * moxie-tdep.c (moxie_gdbarch_init): Likewise.
12782         * msp430-tdep.c (msp430_gdbarch_init): Likewise.
12783         * mt-tdep.c (mt_gdbarch_init): Likewise.
12784         * nds32-tdep.c (nds32_gdbarch_init): Likewise.
12785         * nios2-tdep.c (nios2_print_insn): Remove.
12786         (nios2_gdbarch_init): Don't call set_gdbarch_print_insn.
12787         * rx-tdep.c (rx_gdbarch_init): Likewise.
12788         * s390-linux-tdep.c (s390_gdbarch_init): Likewise.
12789         * score-tdep.c (score_print_insn): Remove.
12790         (score_gdbarch_init): Don't call set_gdbarch_print_insn.
12791         * sh-tdep.c (sh_gdbarch_init): Likewise.
12792         * sh64-tdep.c (sh64_gdbarch_init): Likewise.
12793         * sparc-tdep.c (sparc32_gdbarch_init): Likewise.
12794         * tic6x-tdep.c (tic6x_print_insn): Remove.
12795         (tic6x_gdbarch_init): Don't call set_gdbarch_print_insn.
12796         * tilegx-tdep.c (tilegx_gdbarch_init): Likewise.
12797         * v850-tdep.c (v850_gdbarch_init): Likewise.
12798         * vax-tdep.c (vax_gdbarch_init): Likewise.
12799         * xstormy16-tdep.c (xstormy16_gdbarch_init): Likewise.
12800         * xtensa-tdep.c (xtensa_gdbarch_init): Likewise.
12801
12802 2017-05-23  John Baldwin  <jhb@FreeBSD.org>
12803
12804         * mips-fbsd-tdep.c (MIPS_PC_REGNUM): Remove.
12805         (MIPS_FP0_REGNUM): Remove.
12806         (MIPS_FSR_REGNUM): Remove.
12807         (mips_fbsd_supply_fpregs): Use mips_regnum.
12808         (mips_fbsd_supply_gregs): Likewise.
12809         (mips_fbsd_collect_fpregs): Likewise.
12810         (mips_fbsd_collect_gregs): Likewise.
12811
12812 2017-05-23  John Baldwin  <jhb@FreeBSD.org>
12813
12814         * mips-fbsd-nat.c (getregs_supplies): Fix upper bound comparison.
12815         (getpfpregs_supplies): New function.
12816         (mips_fbsd_fetch_inferior_registers): Remove early exit and use
12817         getfpregs_supplies.
12818         (mips_fbsd_store_inferior_registers): Likewise.
12819
12820 2017-05-22  Pedro Alves <palves@redhat.com>
12821
12822         * MAINTAINERS (Host/Native): Add John Baldwin as FreeBSD
12823         maintainer.
12824
12825 2017-05-22  Alan Hayward  <alan.hayward@arm.com>
12826
12827         * ppc-linux-nat.c (fetch_register): Use PPC_MAX_REGISTER_SIZE.
12828         (store_register): Likewise.
12829         * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Likewise.
12830         (get_decimal_float_return_value): Likewise.
12831         (do_ppc_sysv_return_value): Likewise.
12832         (ppc64_sysv_abi_push_integer): Likewise.
12833         (ppc64_sysv_abi_push_freg): Likewise.
12834         (ppc64_sysv_abi_return_value_base): Likewise.
12835         (ppc64_sysv_abi_return_value): Likewise.
12836         * rs6000-aix-tdep.c (rs6000_push_dummy_call): Likewise.
12837         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Likewise.
12838         * rs6000-nat.c: Likewise.
12839         * rs6000-tdep.c (rs6000_register_to_value): Likewise.
12840         (rs6000_value_to_register): Likewise.
12841         * ppc-tdep.h (PPC_MAX_REGISTER_SIZE): Add.
12842
12843 2017-05-21  Tom Tromey  <tom@tromey.com>
12844
12845         PR rust/21466:
12846         * rust-lang.c (rust_print_type) <TYPE_CODE_ARRAY>: Print unsized
12847         arrays as "[T]", not "[T; ]".
12848
12849 2017-05-19  Tom Tromey  <tom@tromey.com>
12850
12851         PR rust/21484:
12852         * rust-lang.c (exp_descriptor_rust): New function.
12853         (rust_language_defn): Use it.
12854         * p-lang.c (pascal_language_defn): Update.
12855         * opencl-lang.c (opencl_language_defn): Update.
12856         * objc-lang.c (objc_language_defn): Update.
12857         * m2-lang.c (m2_language_defn): Update.
12858         * language.h (struct language_defn)
12859         <la_watch_location_expression>: New member.
12860         * language.c (unknown_language_defn, auto_language_defn)
12861         (local_language_defn): Update.
12862         * go-lang.c (go_language_defn): Update.
12863         * f-lang.c (f_language_defn): Update.
12864         * d-lang.c (d_language_defn): Update.
12865         * c-lang.h (c_watch_location_expression): Declare.
12866         * c-lang.c (c_watch_location_expression): New function.
12867         (c_language_defn, cplus_language_defn, asm_language_defn)
12868         (minimal_language_defn): Use it.
12869         * breakpoint.c (watch_command_1): Call
12870         la_watch_location_expression.
12871         * ada-lang.c (ada_language_defn): Update.
12872
12873 2017-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12874
12875         PR tui/21482
12876         * gdb_curses.h (NOMACROS): Define.
12877         (NCURSES_NOMACROS): Define.
12878
12879 2017-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12880
12881         PR tui/21482
12882         * tui/tui-windata.c (tui_erase_data_content): Cast last mvwaddstr
12883         arg to char *.
12884         * tui/tui-wingeneral.c (box_win): Likewise.
12885         * tui/tui-winsource.c (tui_erase_source_content): Likewise.
12886         (tui_show_source_line): Likewise.
12887         (tui_show_exec_info_content): Likewise.
12888
12889 2017-05-19  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>
12890
12891         * sparc-tdep.c (sparc_structure_return_p)
12892         (sparc_arg_on_registers_p): New functions.
12893         (sparc32_store_arguments): Use them.
12894         * sparc64-tdep.c (sparc64_16_byte_align_p)
12895         (sparc64_store_floating_fields, sparc64_extract_floating_fields):
12896         Handle TYPE_CODE_ARRAY.
12897
12898 2017-05-17  Yao Qi  <yao.qi@linaro.org>
12899
12900         * cli/cli-decode.c (add_alias_cmd): New function.
12901         * command.h (add_alias_cmd): Declare.
12902         * infcmd.c (_initialize_infcmd): Don't call add_com_alias,
12903         instead call add_alias_cmd.
12904
12905 2017-05-17  Pedro Alves  <palves@redhat.com>
12906
12907         * Makefile.in (nat_extra_makefile_frag): Rename to ...
12908         (nat_makefile_frag): ... this.  All references updated.
12909         * configure.ac: Likewise.
12910         * configure.nat: Likewise.  Enhance comments.
12911         * configure: Regenerate.
12912
12913 2017-05-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12914
12915         * procfs.c (procfs_create_inferior): Change prototype to match
12916         definition.
12917
12918 2017-05-13  Eli Zaretskii  <eliz@gnu.org>
12919
12920         * tui/tui.c (tui_enable): Cast "unknown" to 'char *' to avoid a
12921         C++ compiler warning.
12922
12923 2017-05-12  Tom Tromey  <tom@tromey.com>
12924
12925         PR rust/21483:
12926         * rust-lang.c (rust_evaluate_subexp) <STRUCTOP_STRUCT>: Don't
12927         recurse, just call value_struct_elt directly.
12928
12929 2017-05-12  Tom Tromey  <tom@tromey.com>
12930
12931         * rust-lang.c (rust_dump_subexp_body) <STRUCTOP_ANONYMOUS,
12932         OP_RUST_ARRAY>: Fix.
12933
12934 2017-05-12  Tom Tromey  <tom@tromey.com>
12935
12936         * rust-lang.c (rust_print_subexp): Replace "return" with "break".
12937
12938 2017-05-09  Yao Qi  <yao.qi@linaro.org>
12939
12940         * regcache.c: Include <forward_list>.
12941         (struct regcache_list): Remove.
12942         (current_regcache): Update.
12943         (get_thread_arch_aspace_regcache): Update for std::forward_list.
12944         (regcache_thread_ptid_changed): Likewise.
12945         (registers_changed_ptid): Likewise.
12946         (current_regcache_size): Likewise.
12947
12948 2017-05-09  Yao Qi  <yao.qi@linaro.org>
12949
12950         * regcache.c [GDB_SELF_TEST]: Include selftest.h.
12951         (current_regcache_size): New function.
12952         (current_regcache_test): New function.
12953         (_initialize_regcache) [GDB_SELF_TEST]: Register the unit test.
12954
12955 2017-05-08  Alan Hayward  <alan.hayward@arm.com>
12956
12957         * mips-tdep.c (mips_o32_return_value): Remove unused buffer.
12958         (print_gp_register_row): Use get_frame_register_value.
12959
12960 2017-05-08  Alan Hayward  <alan.hayward@arm.com>
12961
12962         * mips-linux-tdep.c (mips_supply_gregset): Use raw_supply_zeroed.
12963         (mips_supply_fpregset): Likewise.
12964         (mips64_supply_gregset): Likewise.
12965
12966 2017-05-08  Alan Hayward  <alan.hayward@arm.com>
12967
12968         * mn10300-linux-tdep.c (am33_supply_gregset_method): Use 
12969         regcache->raw_supply_zeroed.
12970
12971 2017-05-06  Sergio Durigan Junior  <sergiodj@redhat.com>
12972
12973         * configure.nat: Rearrange 'case' statements to match
12974         host before cpu.
12975
12976 2017-05-06  Sergio Durigan Junior  <sergiodj@redhat.com>
12977
12978         * Makefile.in: Remove "@host_makefile_frag@".  Add variables
12979         NAT_FILE, NATDEPFILES, NAT_CDEPS, LOADLIBES, MH_CFLAGS, XM_CLIBS,
12980         NAT_GENERATED_FILES, HAVE_NATIVE_GCORE_HOST.  Add
12981         "@nat_extra_makefile_frag@".
12982         (Makefile): Remove dependency on "@frags@".
12983         ($(GNULIB_BUILDDIR)/Makefile): Likewise.
12984         (data-directory/Makefile): Likewise.
12985         * config/aarch64/linux.mh: Deleted; moved contents to
12986         "gdb/configure.nat".
12987         * config/alpha/alpha-linux.mh: Likewise.
12988         * config/alpha/nbsd.mh: Likewise.
12989         * config/arm/linux.mh: Likewise.
12990         * config/arm/nbsdelf.mh: Likewise.
12991         * config/i386/cygwin.mh: Likewise.
12992         * config/i386/cygwin64.mh: Likewise.
12993         * config/i386/darwin.mh: Likewise.
12994         * config/i386/fbsd.mh: Likewise.
12995         * config/i386/fbsd64.mh: Likewise.
12996         * config/i386/go32.mh: Likewise.
12997         * config/i386/i386gnu.mh: Likewise.
12998         * config/i386/i386sol2.mh: Likewise.
12999         * config/i386/linux.mh: Likewise.
13000         * config/i386/linux64.mh: Likewise.
13001         * config/i386/mingw.mh: Likewise.
13002         * config/i386/mingw64.mh: Likewise.
13003         * config/i386/nbsd64.mh: Likewise.
13004         * config/i386/nbsdelf.mh: Likewise.
13005         * config/i386/nto.mh: Likewise.
13006         * config/i386/obsd.mh: Likewise.
13007         * config/i386/obsd64.mh: Likewise.
13008         * config/i386/sol2-64.mh: Likewise.
13009         * config/ia64/linux.mh: Likewise.
13010         * config/m32r/linux.mh: Likewise.
13011         * config/m68k/linux.mh: Likewise.
13012         * config/m68k/nbsdelf.mh: Likewise.
13013         * config/m68k/obsd.mh: Likewise.
13014         * config/m88k/obsd.mh: Likewise.
13015         * config/mips/fbsd.mh: Likewise.
13016         * config/mips/linux.mh: Likewise.
13017         * config/mips/nbsd.mh: Likewise.
13018         * config/mips/obsd64.mh: Likewise.
13019         * config/pa/linux.mh: Likewise.
13020         * config/pa/nbsd.mh: Likewise.
13021         * config/pa/obsd.mh: Likewise.
13022         * config/powerpc/aix.mh: Likewise.
13023         * config/powerpc/fbsd.mh: Likewise.
13024         * config/powerpc/linux.mh: Likewise.
13025         * config/powerpc/nbsd.mh: Likewise.
13026         * config/powerpc/obsd.mh: Likewise.
13027         * config/powerpc/ppc64-linux.mh: Likewise.
13028         * config/powerpc/spu-linux.mh: Likewise.
13029         * config/s390/linux.mh: Likewise.
13030         * config/sh/nbsd.mh: Likewise.
13031         * config/sparc/fbsd.mh: Likewise.
13032         * config/sparc/linux.mh: Likewise.
13033         * config/sparc/linux64.mh: Likewise.
13034         * config/sparc/nbsd64.mh: Likewise.
13035         * config/sparc/nbsdelf.mh: Likewise.
13036         * config/sparc/obsd64.mh: Likewise.
13037         * config/sparc/sol2.mh: Likewise.
13038         * config/tilegx/linux.mh: Likewise.
13039         * config/vax/nbsdelf.mh: Likewise.
13040         * config/vax/obsd.mh: Likewise.
13041         * config/xtensa/linux.mh: Likewise.
13042         * config/i386/i386gnu.mn: New file, with excerpts from
13043         "config/i386/i386gnu.mh".
13044         * configure: Regenerate.
13045         * configure.ac: Rewrite code to use "gdb/configure.nat" instead of
13046         *.mh files under "gdb/config".
13047         * configure.nat: New file, with contents from the
13048         "gdb/config/*/*.mh" files.
13049
13050 2017-05-05  Tim Wiederhake  <tim.wiederhake@intel.com>
13051
13052         * btrace.c (btrace_clear): Free insn vector.
13053
13054 2017-05-05  Pedro Alves  <palves@redhat.com>
13055
13056         * warning.m4 (build_warnings): Add -Wno-error=maybe-uninitialized.
13057         * configure: Regenerate.
13058
13059 2017-05-04  Pedro Alves  <palves@redhat.com>
13060
13061         * Makefile.in (SFILES): Add progspace-and-thread.c.
13062         (HFILES_NO_SRCDIR): Add progspace-and-thread.h.
13063         (COMMON_OBS): Add progspace-and-thread.o.
13064         * breakpoint.c: Include "progspace-and-thread.h".
13065         (update_inserted_breakpoint_locations)
13066         (insert_breakpoint_locations, create_longjmp_master_breakpoint):
13067         Use scoped_restore_current_pspace_and_thread.
13068         (create_std_terminate_master_breakpoint): Use
13069         scoped_restore_current_program_space.
13070         (remove_breakpoint): Use scoped_restore_current_pspace_and_thread.
13071         (print_breakpoint_location): Use
13072         scoped_restore_current_program_space.
13073         (bp_loc_is_permanent): Use
13074         scoped_restore_current_pspace_and_thread.
13075         (resolve_sal_pc): Use scoped_restore_current_pspace_and_thread.
13076         (download_tracepoint_locations): Use
13077         scoped_restore_current_pspace_and_thread.
13078         (breakpoint_re_set): Use scoped_restore_current_pspace_and_thread.
13079         * exec.c (exec_close_1): Use scoped_restore_current_program_space.
13080         (enum step_over_calls_kind): Moved from inferior.h.
13081         (class scoped_restore_current_thread): New class.
13082         * gdbthread.h (make_cleanup_restore_current_thread): Delete
13083         declaration.
13084         (scoped_restore_current_thread): New class.
13085         * infcmd.c: Include "common/gdb_optional.h".
13086         (continue_1, proceed_after_attach): Use
13087         scoped_restore_current_thread.
13088         (notice_new_inferior): Use scoped_restore_current_thread.
13089         * inferior.c: Include "progspace-and-thread.h".
13090         (restore_inferior, save_current_inferior): Delete.
13091         (add_inferior_command, clone_inferior_command): Use
13092         scoped_restore_current_pspace_and_thread.
13093         * inferior.h (scoped_restore_current_inferior): New class.
13094         * infrun.c: Include "progspace-and-thread.h" and
13095         "common/gdb_optional.h".
13096         (follow_fork_inferior): Use
13097         scoped_restore_current_pspace_and_thread.
13098         (scoped_restore_exited_inferior): New class.
13099         (handle_vfork_child_exec_or_exit): Use
13100         scoped_restore_exited_inferior,
13101         scoped_restore_current_pspace_and_thread,
13102         scoped_restore_current_thread and scoped_restore.
13103         (fetch_inferior_event): Use scoped_restore_current_thread.
13104         * linespec.c (decode_line_full, decode_line_1): Use
13105         scoped_restore_current_program_space.
13106         * mi/mi-main.c: Include "progspace-and-thread.h".
13107         (exec_continue): Use scoped_restore_current_thread.
13108         (mi_cmd_exec_run): Use scoped_restore_current_pspace_and_thread.
13109         (mi_cmd_trace_frame_collected): Use scoped_restore_current_thread.
13110         * proc-service.c (ps_pglobal_lookup): Use
13111         scoped_restore_current_program_space.
13112         * progspace-and-thread.c: New file.
13113         * progspace-and-thread.h: New file.
13114         * progspace.c (release_program_space, clone_program_space): Use
13115         scoped_restore_current_program_space.
13116         (restore_program_space, save_current_program_space)
13117         (save_current_space_and_thread): Delete.
13118         (switch_to_program_space_and_thread): Moved to
13119         progspace-and-thread.c.
13120         * progspace.h (save_current_program_space)
13121         (save_current_space_and_thread): Delete declarations.
13122         (scoped_restore_current_program_space): New class.
13123         * remote.c (remote_btrace_maybe_reopen): Use
13124         scoped_restore_current_thread.
13125         * symtab.c: Include "progspace-and-thread.h".
13126         (skip_prologue_sal): Use scoped_restore_current_pspace_and_thread.
13127         * thread.c (print_thread_info_1): Use
13128         scoped_restore_current_thread.
13129         (struct current_thread_cleanup): Delete.
13130         (do_restore_current_thread_cleanup)
13131         (restore_current_thread_cleanup_dtor): Rename/convert both to ...
13132         (scoped_restore_current_thread::~scoped_restore_current_thread):
13133         ... this new dtor.
13134         (make_cleanup_restore_current_thread): Rename/convert to ...
13135         (scoped_restore_current_thread::scoped_restore_current_thread):
13136         ... this new ctor.
13137         (thread_apply_all_command): Use scoped_restore_current_thread.
13138         (thread_apply_command): Use scoped_restore_current_thread.
13139         * tracepoint.c (tdump_command): Use scoped_restore_current_thread.
13140         * varobj.c (value_of_root_1): Use scoped_restore_current_thread.
13141
13142 2017-05-04  Pedro Alves  <palves@redhat.com>
13143
13144         * thread.c (make_cleanup_restore_current_thread): Move
13145         find_thread_ptid call before the is_stopped call.  Assert that the
13146         thread is found.  Replace is_stopped call by checking the thread's
13147         state directly.  Remove unnecessary NULL-thread check.
13148
13149 2017-05-04  Pedro Alves  <palves@redhat.com>
13150
13151         * corelow.c (thread_section_name): New class.
13152         (get_core_register_section, get_core_siginfo): Use it.
13153
13154 2017-05-04  Andreas Arnez  <arnez@linux.vnet.ibm.com>
13155
13156         * corelow.c (sniff_core_bfd): Remove extra semicolon.
13157         (get_core_register_section): Remove xfree of NULL pointer.
13158
13159 2017-05-03  Alan Hayward  <alan.hayward@arm.com>
13160
13161         * frv-linux-tdep.c (frv_linux_supply_gregset): Use raw_supply_zeroed.
13162         * regcache.c (regcache::raw_supply_zeroed): New function.
13163         * regcache.h (regcache::raw_supply_zeroed): New declaration.
13164
13165 2017-05-03  Simon Marchi  <simon.marchi@ericsson.com>
13166
13167         * gdbarch.sh: Remove commented out definition of
13168         TARGET_CHAR_BIT.
13169         * gdbarch.h: Re-generate.
13170
13171 2017-05-03  Sergio Durigan Junior  <sergiodj@redhat.com>
13172
13173         * configure: Regenerate.
13174
13175 2017-05-02  Simon Marchi  <simon.marchi@ericsson.com>
13176
13177         * solib-target.c (solib_target_relocate_section_addresses):
13178         Remove num_section_bases, num_bases, segment_bases variables.
13179
13180 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
13181
13182         * common/gdb_vecs.h (DEF_VEC_I (CORE_ADDR)): Remove.
13183
13184 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
13185
13186         * solib-target.c: Include <vector>
13187         (struct lm_info_target) <~lm_info_target>: Remove.
13188         <segment_bases, section_bases>: Change type to
13189         std::vector<CORE_ADDR>.
13190         (library_list_start_segment, library_list_start_section,
13191         library_list_end_library,
13192         solib_target_relocate_section_addresses): Adjust.
13193
13194 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
13195
13196         * gdbarch.sh (software_single_step): Change return type to
13197         std::vector<CORE_ADDR>.
13198         * gdbarch.c, gdbarch.h: Re-generate.
13199         * arch/arm-get-next-pcs.c (thumb_deal_with_atomic_sequence_raw):
13200         Adjust.
13201         (arm_deal_with_atomic_sequence_raw): Adjust.
13202         (thumb_get_next_pcs_raw): Adjust.
13203         (arm_get_next_pcs_raw): Adjust.
13204         (arm_get_next_pcs): Adjust.
13205         * arch/arm-get-next-pcs.h (arm_get_next_pcs): Adjust.
13206         * aarch64-tdep.c (aarch64_software_single_step): Adjust.
13207         * alpha-tdep.c (alpha_deal_with_atomic_sequence): Adjust.
13208         (alpha_software_single_step): Adjust.
13209         * alpha-tdep.h (alpha_software_single_step): Adjust.
13210         * arm-linux-tdep.c (arm_linux_software_single_step): Adjust.
13211         * arm-tdep.c (arm_software_single_step): Adjust.
13212         (arm_breakpoint_kind_from_current_state): Adjust.
13213         * arm-tdep.h (arm_software_single_step): Adjust.
13214         * breakpoint.c (insert_single_step_breakpoint): Adjust.
13215         * cris-tdep.c (cris_software_single_step): Adjust.
13216         * mips-tdep.c (mips_deal_with_atomic_sequence): Adjust.
13217         (micromips_deal_with_atomic_sequence): Adjust.
13218         (deal_with_atomic_sequence): Adjust.
13219         (mips_software_single_step): Adjust.
13220         * mips-tdep.h (mips_software_single_step): Adjust.
13221         * moxie-tdep.c (moxie_software_single_step): Adjust.
13222         * nios2-tdep.c (nios2_software_single_step): Adjust.
13223         * ppc-tdep.h (ppc_deal_with_atomic_sequence): Adjust.
13224         * rs6000-aix-tdep.c (rs6000_software_single_step): Adjust.
13225         * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Adjust.
13226         * s390-linux-tdep.c (s390_software_single_step): Adjust.
13227         * sparc-tdep.c (sparc_software_single_step): Adjust.
13228         * spu-tdep.c (spu_software_single_step): Adjust.
13229         * tic6x-tdep.c (tic6x_software_single_step): Adjust.
13230
13231 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
13232
13233         * gdbarch.sh: Use semi-colon as field separator instead of colon.
13234         * gdbarch.h: Re-generate.
13235
13236 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13237
13238         * Makefile.in (SUBDIR_PYTHON_OBS): Add py-instruction.o.
13239         (SUBDIR_PYTHON_SRCS): Add py-instruction.c.
13240         * python/py-instruction.c, python/py-instruction.h: New file.
13241         * python/py-record.c: Add py-instruction.h include.
13242         (gdbpy_initialize_record): Make gdb.Instruction a super class of
13243         gdb.RecordInstruction.
13244         * python/python-internal.h: Add gdbpy_initialize_instruction
13245         declaration.
13246         * python/python.c (do_start_initialization): Add
13247         gdbpy_initialize_instruction.
13248
13249 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13250
13251         * python/py-record-btrace.c (BTPY_REQUIRE_VALID_CALL, btpy_call_type):
13252         Remove.
13253         (btrace_func_from_recpy_func): New function.
13254         (btpy_call_new, btpy_number, btpy_hash, btpy_richcompare): Remove.
13255         (btpy_call_level, btpy_call_symbol, btpy_call_instructions,
13256         btpy_call_up, btpy_call_prev_sibling, btpy_call_next_sibling): Rename to ...
13257         (recpy_bt_func_level, recpy_bt_func_symbol, recpy_bt_func_instructions,
13258         recpy_bt_func_up, recpy_bt_func_prev, recpy_bt_func_next): This.
13259         Also, use new helper functions.
13260         (btpy_list_item): Use new helper functions.
13261         (recpy_bt_function_call_history): Use new type name.
13262         (btpy_call_getset): Remove.
13263         (gdbpy_initialize_btrace): Remove code to initialize
13264         gdb.BtraceFunctionCall.
13265         * python/py-record-btrace.h (recpy_bt_func_number, recpy_btb_func_level,
13266         recpy_btb_func_symbol, recpy_bt_func_instructions, recpy_bt_func_up,
13267         recpy_bt_func_prev, recpy_bt_func_next): New export.
13268         * python/py-record.c (recpy_func_type): New static object.
13269         (recpy_func_new, recpy_func_level, recpy_func_symbol,
13270         recpy_func_instructions, recpy_func_up, recpy_func_prev,
13271         recpy_func_next): New function.
13272         (recpy_element_hash, recpy_element_richcompare): Updated comment.
13273         (recpy_func_getset): New static object.
13274         (gdbpy_initialize_record): Add code to initialize gdb.RecordInstruction.
13275         * python/py-record.h (recpy_func_type, recpy_func_new): New export.
13276
13277 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13278
13279         * python/py-record-btrace.c (BTPY_REQUIRE_VALID_INSN): Remove.
13280         (btpy_object, btpy_insn_type, btpy_new): Remove.
13281         (btpy_list_object): Use gdb.RecordInstruction type instead of
13282         gdb.BtraceInstruction type.
13283         (btrace_insn_from_recpy_insn): New function.
13284         (btpy_insn_or_gap_new): Adjust comment. Use recpy_insn_new instead of
13285         btpy_new.
13286         (btpy_call_new, btpy_list_item): Do not use btpy_new anymore.
13287         (btpy_number, btpy_hash, btpy_call_level, btpy_call_symbol,
13288         btpy_call_instructions, btpy_call_up, btpy_call_prev_sibling,
13289         btpy_call_next_sibling, btpy_richcompare): Use recpy_element_object
13290         instead of btpy_object.
13291         (btpy_insn_sal, btpy_insn_pc, btpy_insn_size, btpy_insn_is_speculative,
13292         btpy_insn_data, btpy_insn_decode): Rename to ...
13293         (recpy_bt_insn_sal, recpy_bt_insn_pc, recpy_bt_insn_size,
13294         recpy_bt_insn_is_speculative, recpy_bt_insn_data,
13295         recpy_bt_insn_decode): This.  Also, use new helper functions.
13296         (btpy_list_position, recpy_bt_goto): Use recpy_element_object and
13297         recpy_insn_type.
13298         (btpy_insn_getset): Remove.
13299         (gdbpy_initialize_btrace): Remove code to initialize
13300         gdb.BtraceInstruction.  Use recpy_element_object.
13301         * python/py-record-btrace.h (recpy_bt_insn_number, recpy_bt_insn_sal,
13302         recpy_bt_insn_pc, recpy_bt_insn_data, recpy_bt_insn_decoded,
13303         recpy_bt_insn_size, recpy_bt_insn_is_speculative): New export.
13304         * python/py-record.c (recpy_insn_type): New static object.
13305         (recpy_insn_new, recpy_insn_sal, recpy_insn_pc, recpy_insn_data,
13306         recpy_insn_decoded, recpy_insn_size, recpy_insn_is_speculative,
13307         recpy_element_number, recpy_element_hash, recpy_element_richcompare):
13308         New function.
13309         (recpy_insn_getset): New static object.
13310         (gdbpy_initialize_record): Initialize gdb.RecordInstruction.
13311         * python/py-record.h (recpy_element_object): New typedef.
13312         (recpy_insn_type, recpy_insn_new): New export.
13313
13314 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13315
13316         * py-record-btrace.c (btpy_insn_new): Removed.
13317         (btpy_insn_or_gap_new): New function.
13318         (btpy_insn_error): Removed.
13319         (btpy_insn_sal, btpy_insn_pc, btpy_insn_size, btpy_insn_is_speculative,
13320         btpy_insn_data, btpy_insn_decode): Remove code path for gaps.
13321         (recpy_bt_replay_position, recpy_bt_begin, recpy_bt_end): Call
13322         btpy_insn_or_gap_new instead of btpy_insn_new.
13323         (btpy_insn_getset): Remove btpy_insn_error.
13324         * py-record.c (recpy_gap_type): New static object.
13325         (recpy_gap_object): New typedef.
13326         (recpy_gap_new, recpy_gap_number, recpy_gap_reason_code,
13327         recpy_gap_reason_string): New function.
13328         (recpy_gap_getset): New static object.
13329         (gdbpy_initialize_record): Initialize gdb.RecordGap type.
13330         * py-record.h (recpy_gap_new): New export.
13331
13332 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13333
13334         * python/py-record.c (recpy_ptid): Remove.
13335         (recpy_record_getset): Remove recpy_ptid.
13336
13337 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13338
13339         * btrace.c (btrace_fetch): Set inferior_ptid.
13340         * python/py-record-btrace.c: Add "py-record.h" include.
13341         (recpy_bt_format, recpy_bt_replay_position, recpy_bt_begin,
13342         recpy_bt_end, recpy_bt_instruction_history,
13343         recpy_bt_function_call_history, recpy_bt_goto): Use ptid stored
13344         in gdb.Record object instead of current ptid.
13345         * python/py-record.c: Include new "py-record.h" file.
13346         (recpy_record_object): Moved to py-record.h.
13347         * python/py-record.h: New file.
13348
13349 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13350
13351         * python/py-record-btrace.c (BTPY_REQUIRE_VALID_INSN,
13352         BTPY_REQUIRE_VALID_CALL, recpy_bt_function_call_history): Fix
13353         indentation.
13354
13355 2017-05-01  Joel Brobecker  <brobecker@adacore.com>
13356
13357         * MAINTAINERS: Move Daniel Jacobowitz and Mark Kettenis to
13358         the past maintainers section.
13359
13360 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13361
13362         * infcmd.c (get_return_value): Use regcache ctor, and remove
13363         cleanup.
13364
13365 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13366             Pedro Alves  <palves@redhat.com>
13367
13368         * regcache.c (regcache::regcache): New tag dispatch ctor.
13369         (do_cooked_read): Moved above.
13370         (regcache_dup): Use the tag dispatch ctor..
13371         * regcache.h (regcache): Declare ctor, delete copy ctor and
13372         assignment operator, remove friend regcache_dup.
13373
13374 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13375
13376         * regcache.c (regcache_dup): Assert !src->m_readonly_p and
13377         call method save instead of regcache_cpy.
13378         * regcache.h (struct regcache): Make regcache_dup a friend.
13379
13380 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13381
13382         * regcache.c (struct regcache): Move to regcache.h
13383         (regcache::arch): New method.
13384         (regcache_get_ptid): Update.
13385         (get_regcache_arch): Call arch method.
13386         (get_regcache_aspace): Call method aspace.
13387         (register_buffer): Change it to method.
13388         (regcache_save): Change it to regcache::save.
13389         (regcache_restore): Likewise.
13390         (regcache_cpy_no_passthrough): Remove the declaration.
13391         (regcache_cpy): Call methods restore and cpy_no_passthrough.
13392         (regcache_cpy_no_passthrough): Change it to method
13393         cpy_no_passthrough.
13394         (regcache_register_status): Change it to method
13395         get_register_status.
13396         (regcache_invalidate): Change it to method invalidate.
13397         (regcache_thread_ptid_changed): Use methods ptid and set_ptid.
13398         (regcache_raw_update): Change it to method raw_update.
13399         (regcache_raw_read): Likewise.
13400         (regcache_raw_read_signed): Likewise.
13401         (regcache_raw_read_unsigned): Likewise.
13402         (regcache_raw_write_signed): Likewise.
13403         (regcache_raw_write_unsigned): Likewise.
13404         (regcache_cooked_read): Likewise.
13405         (regcache_cooked_read_value): Likewise.
13406         (regcache_cooked_read_signed): Likewise.
13407         (regcache_cooked_read_unsigned): Likewise.
13408         (regcache_cooked_write_signed): Likewise.
13409         (regcache_cooked_write_unsigned): Likewise.
13410         (regcache_raw_set_cached_value): Likewise.
13411         (regcache_raw_write): Likewise.
13412         (regcache_cooked_write): Likewise.
13413         (regcache_xfer_part): Likewise.
13414         (regcache_raw_read_part): Likewise.
13415         (regcache_raw_write_part): Likewise.
13416         (regcache_cooked_read_part): Likewise.
13417         (regcache_cooked_write_part): Likewise.
13418         (regcache_raw_supply): Likewise.
13419         (regcache_raw_collect): Likewise.
13420         (regcache_transfer_regset): Likewise.
13421         (regcache_supply_regset): Likewise.
13422         (regcache_collect_regset): Likewise.
13423         (regcache_debug_print_register): Likewise.
13424         (enum regcache_dump_what): Move it to regcache.h.
13425         (regcache_dump): Change it to method dump.
13426         * regcache.h (enum regcache_dump_what): New.
13427         (class regcache): New.
13428         * target.c (target_fetch_registers): Call method
13429         debug_print_register.
13430         (target_store_registers): Likewise.
13431
13432 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13433
13434         * windows-nat.c (struct lm_info_windows): Initialize field.
13435         (windows_make_so): Allocate lm_info_windows with new.
13436         (windows_free_so): Free lm_info_windows with delete.
13437
13438 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13439
13440         * solib-darwin.c (struct lm_info_darwin): Initialize field.
13441         (darwin_current_sos): Allocate lm_info_darwin with new, remove
13442         cleanup.
13443         (darwin_free_so): Free lm_info_darwin with delete.
13444
13445 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13446
13447         * solib-svr4.h (struct lm_info_svr4): Initialize fields.
13448         <l_addr_p>: Change type to bool.
13449         * solib-svr4.c (lm_info_read): Allocate lm_info_svr4 with new.
13450         (svr4_free_so): Free lm_info_svr4 with delete.
13451         (svr4_copy_library_list): Replace memcpy with call to copy
13452         constructor.
13453         (library_list_start_library, svr4_default_sos): Allocate
13454         lm_info_svr4 with new.
13455
13456 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13457
13458         * solib-target.c (struct lm_info_target): Add destructor,
13459         initialize fields.
13460         <name>: Change type to std::string.
13461         (library_list_start_library): Allocate lm_info_target with new.
13462         (solib_target_free_library_list): Free lm_info_target with
13463         delete.
13464         (solib_target_current_sos): Adapt to std::string.
13465         (solib_target_free_so): Free lm_info_target with delete.
13466
13467 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13468
13469         * solib-frv.c (struct lm_info_frv): Add destructor, initialize
13470         fields.
13471         (frv_current_sos): Allocate lm_info_frv with new.
13472         (frv_relocate_main_executable): Free lm_info_frv with delete,
13473         allocate with new.
13474         (frv_clear_solib, frv_free_so): Free lm_info_frv with delete.
13475
13476 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13477
13478         * solib-frv.c (struct lm_info_frv): Fix indentation.
13479
13480 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13481
13482         * solib-dsbt.c (struct lm_info_dsbt): Add destructor, initialize
13483         map field.
13484         (dsbt_current_sos): Allocate lm_info_dsbt with new.
13485         (dsbt_relocate_main_executable): Free lm_info_dsbt with delete
13486         and allocate with new.
13487         (dsbt_clear_solib, dsbt_free_so): Free lm_info_dsbt with delete.
13488
13489 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13490
13491         * solib-aix.c (struct lm_info_aix): Initialize fields in-class.
13492         <filename, member_name>: Change type to std::string.
13493         (solib_aix_new_lm_info, solib_aix_xfree_lm_info): Remove.
13494         (library_list_start_library): Allocate lm_info_aix with new.
13495         (solib_aix_free_library_list, solib_aix_free_so): Free with delete.
13496         (solib_aix_current_sos): Adapt to std::string, copy lm_info_aix
13497         with copy constructor.
13498
13499 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13500
13501         * solist.h (struct lm_info): Remove.
13502         (struct lm_info_base): New class.
13503         (struct so_list) <lm_info>: Change type to lm_info_base *.
13504         * nto-tdep.c (struct lm_info): Remove.
13505         (lm_addr): Adjust.
13506         * solib-aix.c (struct lm_info): Rename to ...
13507         (struct lm_info_aix): ... this.  Extend lm_info_base.
13508         (lm_info_p): Rename to ...
13509         (lm_info_aix_p): ... this, and adjust.
13510         (solib_aix_new_lm_info, solib_aix_xfree_lm_info,
13511         solib_aix_parse_libraries, library_list_start_library,
13512         solib_aix_free_library_list, solib_aix_parse_libraries,
13513         solib_aix_get_library_list,
13514         solib_aix_relocate_section_addresses, solib_aix_free_so,
13515         solib_aix_get_section_offsets,
13516         solib_aix_solib_create_inferior_hook, solib_aix_current_sos):
13517         Adjust.
13518         (struct solib_aix_inferior_data) <library_list>: Adjust.
13519         * solib-darwin.c (struct lm_info): Rename to ...
13520         (struct lm_info_darwin): ... this.  Extend lm_info_base.
13521         (darwin_current_sos, darwin_relocate_section_addresses): Adjust.
13522         * solib-dsbt.c (struct lm_info): Rename to ...
13523         (struct lm_info_dsbt): ... this.  Extend lm_info_base.
13524         (struct dsbt_info) <main_executable_lm_info): Adjust.
13525         (dsbt_current_sos, dsbt_relocate_main_executable, dsbt_free_so,
13526         dsbt_relocate_section_addresses): Adjust.
13527         * solib-frv.c (struct lm_info): Rename to ...
13528         (struct lm_info_frv): ... this.  Extend lm_info_base.
13529         (main_executable_lm_info): Adjust.
13530         (frv_current_sos, frv_relocate_main_executable, frv_free_so,
13531         frv_relocate_section_addresses, frv_fdpic_find_global_pointer,
13532         find_canonical_descriptor_in_load_object,
13533         frv_fdpic_find_canonical_descriptor): Adjust.
13534         * solib-svr4.c (struct lm_info): Move to solib-svr4.h, renamed
13535         to lm_info_svr4.
13536         (lm_info_read, lm_addr_check, svr4_keep_data_in_core,
13537         svr4_clear_so, svr4_copy_library_list,
13538         library_list_start_library, svr4_default_sos, svr4_read_so_list,
13539         svr4_current_sos, svr4_fetch_objfile_link_map,
13540         solist_update_incremental): Adjust.
13541         * solib-svr4.h (struct lm_info_svr4): Move here from
13542         solib-svr4.c.
13543         * solib-target.c (struct lm_info): Rename to ...
13544         (struct lm_info_target): ... this.  Extend lm_info_base.
13545         (lm_info_p): Rename to ...
13546         (lm_info_target_p): ... this.
13547         (solib_target_parse_libraries, library_list_start_segment,
13548         library_list_start_section, library_list_start_library,
13549         library_list_end_library, solib_target_free_library_list,
13550         solib_target_current_sos, solib_target_free_so,
13551         solib_target_relocate_section_addresses): Adjust.
13552         * windows-nat.c (struct lm_info): Rename to ...
13553         (struct lm_info_windows): ... this.  Extend lm_info_base.
13554         (windows_make_so, handle_load_dll, handle_unload_dll,
13555         windows_xfer_shared_libraries): Adjust.
13556
13557 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13558
13559         * solib-darwin.c (struct darwin_so_list): Remove.
13560         (darwin_current_sos): Allocate an so_list object instead of a
13561         darwin_so_list, separately allocate an lm_info object.
13562         (darwin_free_so): Free lm_info.
13563
13564 2017-04-28  John Baldwin  <jhb@FreeBSD.org>
13565
13566         * mips-tdep.c (print_gp_register_row): Replace printf_filtered
13567         with fprintf_filtered.
13568
13569 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13570
13571         * regcache.c (regcache::regcache): New function.
13572         (regcache::~regcache): New function.
13573         (regcache_xmalloc_1): Remove.
13574         (regcache_xmalloc): Call new regcache.
13575         (regcache_xfree): Call delete regcache.
13576         (get_thread_arch_aspace_regcache): Call new regcache.
13577
13578 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13579
13580         * mips-linux-nat.c (mips_linux_new_thread): Use ptid method
13581         lwp instead of ptid_get_lwp.
13582
13583 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13584
13585         * mips-linux-nat.c (mips_linux_new_thread): Get lwpid from
13586         lwp_info instead of getting from inferior_ptid.
13587
13588 2017-04-27  Keith Seitz  <keiths@redhat.com>
13589
13590         * gdbtypes.c (LVALUE_REFERENCE_TO_RVALUE_BINDING_BADNESS)
13591         DIFFERENT_REFERENCE_TYPE_BADNESS): Remove.
13592         (CV_CONVERSION_BADNESS): Define.
13593         (rank_one_type): Remove overly restrictive rvalue reference
13594         rank checks.
13595         Add cv-qualifier checks and subranks for type equality.
13596         * gdbtypes.h (REFERENCE_CONVERSION_RVALUE,
13597         REFERENCE_CONVERSION_CONST_LVALUE, CV_CONVERSION_BADNESS,
13598         CV_CONVERSION_CONST, CV_CONVERSION_VOLATILE): Declare.
13599
13600 2017-04-27  Simon Marchi  <simon.marchi@ericsson.com>
13601
13602         * python/py-inferior.c (inferior_to_inferior_object): Increment reference
13603         count when creating the object.
13604
13605 2017-04-27  Sangamesh Mallayya  <sangamesh.swamy@in.ibm.com>
13606             Ulrich Weigand  <uweigand@de.ibm.com>
13607
13608         * xcoffread.c (read_xcoff_symtab): Read correct function auxiliary
13609         entry if xlc -qfuncsect or gcc -ffunction-sections compiler option
13610         is used in AIX.
13611         (read_xcoff_symtab): Handle C_WEAKEXT storage class.
13612         (process_xcoff_symbol): Likewise.
13613         (scan_xcoff_symtab): Likewise.
13614
13615 2017-04-26  Alan Hayward  <alan.hayward@arm.com>
13616
13617         * ia64-tdep.c (examine_prologue): Use get_frame_register_unsigned.
13618         (ia64_sigtramp_frame_prev_register): Use read_memory_unsigned_integer.
13619         (ia64_access_reg): Use get_frame_register_unsigned.
13620         (ia64_access_rse_reg): Likewise.
13621         (ia64_libunwind_frame_prev_register): Likewise.
13622
13623 2017-04-26  Jiong Wang  <jiong.wang@arm.com>
13624
13625         * gdbarch.sh: New gdbarch method execute_dwarf_cfa_vendor_op.
13626         * gdbarch.c: Regenerated.
13627         * gdbarch.h: Regenerated.
13628         * dwarf2-frame.c (dwarf2_frame_state_alloc_regs): Made the
13629         visibility external.
13630         (execute_cfa_program): Call execute_dwarf_cfa_vendor_op for CFI
13631         between DW_CFA_lo_user and DW_CFA_high_user inclusive.
13632         (enum cfa_how_kind): Move to ...
13633         (struct dwarf2_frame_state_reg_info): Likewise.
13634         (struct dwarf2_frame_state): Likewise.
13635         * dwarf2-frame.h: ... here.
13636         (dwarf2_frame_state_alloc_regs): New declaration.
13637         * sparc-tdep.c (sparc_execute_dwarf_cfa_vendor_op): New function.
13638         (sparc32_gdbarch_init): Register execute_dwarf_cfa_vendor_op hook.
13639
13640 2017-04-26  Alan Hayward  <alan.hayward@arm.com>
13641
13642         * xtensa-tdep.c (xtensa_pseudo_register_read): Use
13643         regcache_raw_read_unsigned.
13644         (xtensa_pseudo_register_write): Likewise.
13645
13646 2017-04-26  Alan Hayward  <alan.hayward@arm.com>
13647
13648         * nds32-tdep.c (nds32_pseudo_register_read): Abort on errors.
13649         (nds32_pseudo_register_write): Likewise.
13650
13651 2017-04-25  Yao Qi  <yao.qi@linaro.org>
13652
13653         * regcache.c (struct regcache) <readonly_p>: Change its type
13654         to bool.
13655         (regcache_xmalloc_1): Update parameter type and callers update.
13656
13657 2017-04-25  Yao Qi  <yao.qi@linaro.org>
13658
13659         * aarch64-tdep.c (aarch64_gdbarch_init): Don't call
13660         set_gdbarch_wchar_bit.
13661         * arm-tdep.c (arm_gdbarch_init): Likewise.
13662
13663 2017-04-25  Pedro Alves  <palves@redhat.com>
13664
13665         * common/poison.h [!HAVE_IS_TRIVIALLY_COPYABLE] (IsRelocatable)
13666         (BothAreRelocatable, memcopy, memmove): Don't define.
13667         * common/traits.h (__has_feature, HAVE_IS_TRIVIALLY_COPYABLE): New
13668         macros.
13669
13670 2017-04-25  Pedro Alves  <palves@redhat.com>
13671
13672         * common/common-defs.h: Include "common/poison.h".
13673         * common/function-view.h: (Not, Or, Requires): Move to traits.h
13674         and adjust.
13675         * common/poison.h: New file.
13676         * common/traits.h: Include <type_traits>.
13677         (Not, Or, Requires): New, moved from common/function-view.h.
13678
13679 2017-04-25  Pedro Alves  <palves@redhat.com>
13680
13681         * breakpoint.h (struct breakpoint): In-class initialize all
13682         fields.  Make boolean fields "bool".
13683         * breakpoint.c (init_raw_breakpoint_without_location): Remove
13684         memset call and initializations no longer necessary.
13685
13686 2017-04-25  Pedro Alves  <palves@redhat.com>
13687
13688         * btrace.c (pt_btrace_insn_flags): Change parameter type to
13689         reference.
13690         (pt_btrace_insn): New function.
13691         (ftrace_add_pt): Remove memset call and use pt_btrace_insn.
13692
13693 2017-04-25  Pedro Alves  <palves@redhat.com>
13694
13695         * ada-lang.c (ada_catchpoint_location): Now a "class".  Remove
13696         "base" field and inherit from "bp_location" instead.  Add
13697         non-default ctor.
13698         (allocate_location_exception): Use new non-default ctor.
13699         * breakpoint.c (get_first_locp_gte_addr): Remove memset call.
13700         (init_bp_location): Convert to ...
13701         (bp_location::bp_location): ... this new ctor, and remove memset
13702         call.
13703         (base_breakpoint_allocate_location): Use the new non-default ctor.
13704         * breakpoint.h (bp_location): Now a class.  Declare default and
13705         non-default ctors.  In-class initialize all members.
13706         (init_bp_location): Remove declaration.
13707
13708 2017-04-25  Pedro Alves  <palves@redhat.com>
13709
13710         * common/enum-flags.h (enum_flags): Don't implement copy ctor and
13711         assignment operator.
13712
13713 2017-04-24  Yao Qi  <yao.qi@linaro.org>
13714
13715         * doublest.c (convert_doublest_to_floatformat): Call
13716         floatformat_totalsize_bytes.
13717
13718 2017-04-22  Tom Tromey  <tom@tromey.com>
13719
13720         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Use
13721         ui_out_emit_list.
13722         * stack.c (print_frame): Use ui_out_emit_list.
13723         * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Use
13724         ui_out_emit_list.
13725         * mi/mi-main.c (print_one_inferior)
13726         (mi_cmd_data_list_register_names)
13727         (mi_cmd_data_list_register_values, mi_cmd_list_features)
13728         (mi_cmd_list_target_features, mi_cmd_trace_frame_collected): Use
13729         ui_out_emit_list.
13730         * mi/mi-interp.c (mi_on_normal_stop_1): Use ui_out_emit_list.
13731         (mi_output_solib_attribs): Use ui_out_emit_list,
13732         ui_out_emit_tuple.
13733         * mi/mi-cmd-var.c (varobj_update_one): Use ui_out_emit_list.
13734         * mi/mi-cmd-stack.c (mi_cmd_stack_list_frames)
13735         (mi_cmd_stack_list_args, list_args_or_locals): Use
13736         ui_out_emit_list.
13737         * disasm.c (do_assembly_only): Use ui_out_emit_list.
13738         * breakpoint.c (print_solib_event, output_thread_groups): Use
13739         ui_out_emit_list.
13740
13741 2017-04-22  Tom Tromey  <tom@tromey.com>
13742
13743         * mi/mi-main.c (print_variable_or_computed): Use ui_out_emit_tuple.
13744         * mi/mi-cmd-var.c (varobj_update_one): Use ui_out_emit_tuple.
13745         * mi/mi-cmd-stack.c (list_arg_or_local): Use ui_out_emit_tuple.
13746
13747 2017-04-22  Tom Tromey  <tom@tromey.com>
13748
13749         * tracepoint.c (tvariables_info_1)
13750         (print_one_static_tracepoint_marker): Use ui_out_emit_tuple.
13751
13752 2017-04-22  Tom Tromey  <tom@tromey.com>
13753
13754         * stack.c (print_frame_arg): Use ui_out_emit_tuple,
13755         annotate_arg_emitter.
13756         * breakpoint.c (print_mention_watchpoint)
13757         (print_mention_masked_watchpoint): Use ui_out_emit_tuple.
13758         * annotate.h (struct annotate_arg_emitter): New.
13759
13760 2017-04-22  Tom Tromey  <tom@tromey.com>
13761
13762         * record-btrace.c (record_btrace_insn_history)
13763         (record_btrace_insn_history_range, record_btrace_call_history)
13764         (record_btrace_call_history_range): Use ui_out_emit_tuple.
13765         * thread.c (do_captured_list_thread_ids, print_thread_info_1): Use
13766         ui_out_emit_tuple.
13767         * stack.c (print_frame_info): Use ui_out_emit_tuple.
13768         * solib.c (info_sharedlibrary_command): Use ui_out_emit_tuple.
13769         * skip.c (skip_info): Use ui_out_emit_tuple.
13770         * remote.c (show_remote_cmd): Use ui_out_emit_tuple.
13771         * progspace.c (print_program_space): Use ui_out_emit_tuple.
13772         * probe.c (info_probes_for_ops): Use ui_out_emit_tuple.
13773         * osdata.c (info_osdata): Use ui_out_emit_tuple.
13774         * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Use
13775         ui_out_emit_tuple.
13776         * mi/mi-main.c (print_one_inferior, list_available_thread_groups)
13777         (output_register, mi_cmd_data_read_memory)
13778         (mi_cmd_data_read_memory_bytes, mi_load_progress)
13779         (mi_cmd_trace_frame_collected): Use ui_out_emit_tuple.
13780         * mi/mi-cmd-var.c (mi_cmd_var_list_children, varobj_update_one):
13781         Use ui_out_emit_tuple.
13782         * mi/mi-cmd-stack.c (mi_cmd_stack_list_args): Use
13783         ui_out_emit_tuple.
13784         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions)
13785         (mi_cmd_info_gdb_mi_command): Use ui_out_emit_tuple.
13786         * linux-thread-db.c (info_auto_load_libthread_db): Use
13787         ui_out_emit_tuple.
13788         * inferior.c (print_inferior): Use ui_out_emit_tuple.
13789         * gdb_bfd.c (print_one_bfd): Use ui_out_emit_tuple.
13790         * disasm.c (do_mixed_source_and_assembly_deprecated)
13791         (do_mixed_source_and_assembly): Use ui_out_emit_tuple.
13792         * cp-abi.c (list_cp_abis): Use ui_out_emit_tuple.
13793         * cli/cli-setshow.c (cmd_show_list): Use ui_out_emit_tuple.
13794         * breakpoint.c (print_one_breakpoint_location)
13795         (print_one_breakpoint): Use ui_out_emit_tuple.
13796         * auto-load.c (print_script, info_auto_load_cmd): Use
13797         ui_out_emit_tuple.
13798         * ada-tasks.c (print_ada_task_info): Use ui_out_emit_tuple.
13799
13800 2017-04-21  Simon Marchi  <simon.marchi@ericsson.com>
13801
13802         * thread.c (print_thread_info_1): Remove dead code.
13803
13804 2017-04-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
13805
13806         * aarch64-tdep.c (selftests::aarch64_process_record_test): Make it #if
13807         GDB_SELF_TEST.
13808         * arm-tdep.c (selftests::arm_record_test): Likewise.
13809
13810 2017-04-21  Yao Qi  <yao.qi@linaro.org>
13811
13812         * regcache.c (regcache_restore): Remove argument 2.  Replace
13813         argument 3 with regcache.  Get register status from
13814         src->register_status and get register contents from
13815         register_buffer (src, regnum).
13816         (regcache_cpy): Update.
13817
13818 2017-04-19  Pedro Alves  <palves@redhat.com>
13819
13820         * gdbthread.h (thread): Add missing closing parenthesis in
13821         comment.
13822
13823 2017-04-19  Pedro Alves  <palves@redhat.com>
13824
13825         * common/refcounted-object.h: New file.
13826         * gdbthread.h: Include "common/refcounted-object.h".
13827         (thread_info): Inherit from refcounted_object and add comments.
13828         (thread_info::incref, thread_info::decref)
13829         (thread_info::m_refcount): Delete.
13830         (thread_info::deletable): Use the refcounted_object::refcount()
13831         method.
13832         * inferior.c (current_inferior_): Add comment.
13833         (set_current_inferior): Increment/decrement refcounts.
13834         (prune_inferiors, remove_inferior_command): Skip inferiors marked
13835         not-deletable instead of comparing with the current inferior.
13836         (initialize_inferiors): Increment the initial inferior's refcount.
13837         * inferior.h (struct inferior): Forward declare.
13838         Include "common/refcounted-object.h".
13839         (current_inferior, set_current_inferior): Move declaration to
13840         before struct inferior's definition, and fix comment.
13841         (inferior): Inherit from refcounted_object.  Add comments.
13842         * thread.c (switch_to_thread_no_regs): Reference the thread's
13843         inferior pointer directly instead of doing a ptid lookup.
13844         (switch_to_no_thread): New function.
13845         (switch_to_thread(thread_info *)): New function, factored out
13846         from ...
13847         (switch_to_thread(ptid_t)): ... this.
13848         (restore_current_thread): Delete.
13849         (current_thread_cleanup): Remove 'inf_id' and 'was_removable'
13850         fields, and add 'inf' field.
13851         (do_restore_current_thread_cleanup): Check whether old->inf is
13852         alive instead of looking up an inferior by ptid.  Use
13853         switch_to_thread and switch_to_no_thread.
13854         (restore_current_thread_cleanup_dtor): Use old->inf directly
13855         instead of lookup up an inferior by id.  Decref the inferior.
13856         Don't restore 'removable'.
13857         (make_cleanup_restore_current_thread): Same the inferior pointer
13858         in old, instead of the inferior number.  Incref the inferior.
13859         Don't save/clear 'removable'.
13860
13861 2017-04-19  Pedro Alves  <palves@redhat.com>
13862
13863         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
13864         unittests/scoped_restore-selftests.c.
13865         (SUBDIR_UNITTESTS_OBS): Add scoped_restore-selftests.o.
13866         * common/scoped_restore.h (scoped_restore_base): Make "class".
13867         (scoped_restore_base::release): New public method.
13868         (scoped_restore_base::scoped_restore_base): New protected ctor.
13869         (scoped_restore_base::m_saved_var): New protected field.
13870         (scoped_restore_tmpl::scoped_restore_tmpl(T*)): Initialize the
13871         scoped_restore_base base class instead of m_saved_var directly.
13872         (scoped_restore_tmpl::scoped_restore_tmpl(T*, T2)): Likewise.
13873         (scoped_restore_tmpl::scoped_restore_tmpl(const
13874         scoped_restore_tmpl<T>&)): Likewise.
13875         (scoped_restore_tmpl::~scoped_restore_tmpl): Use the saved_var
13876         method.
13877         (scoped_restore_tmpl::saved_var): New method.
13878         (scoped_restore_tmpl::m_saved_var): Delete.
13879         * inferior.h (inferior::detaching): Now a bool.
13880         * infrun.c (prepare_for_detach): Use a scoped_restore instead of a
13881         cleanup.
13882         * unittests/scoped_restore-selftests.c: New file.
13883
13884 2017-04-19  Pedro Alves  <palves@redhat.com>
13885
13886         * Makefile.in (SUBDIR_UNITTESTS_SRCS, SUBDIR_UNITTESTS_OBS):
13887         Re-sort in alphabetic order.
13888
13889 2017-04-18  Pedro Alves  <palves@redhat.com>
13890
13891         * xml-support.c (obstack_xml_printf): Delete.
13892         * xml-support.h (obstack_xml_printf): Delete.
13893
13894 2017-04-18  Pedro Alves  <palves@redhat.com>
13895
13896         * xml-support.c (gdb_xml_parser) <use_dtd, dtd_name, parse,
13897         vdebug, verror, body_text, start_element, end_element, name,
13898         user_data, set_is_xinclude, set_error, expat_parser>: New methods.
13899         <name, user_data, expat_parser, scopes, error, last_line, dtd_name,
13900         is_xinclude>: Make private and add m_ prefix.
13901         (gdb_xml_parser::body_text): New method, based on ...
13902         (gdb_xml_body_text): ... this.  Adjust.
13903         (gdb_xml_parser::vdebug): New method, based on ...
13904         (gdb_xml_debug): ... this.  Adjust.
13905         (gdb_xml_parser::verror): New method, based on ...
13906         (gdb_xml_error): ... this.  Adjust.
13907         (gdb_xml_parser::start_element): New method, based on ...
13908         (gdb_xml_start_element): ... this.  Adjust.
13909         (gdb_xml_start_element_wrapper): Defer to
13910         gdb_xml_parser::start_element and gdb_xml_parser::set_error.
13911         (gdb_xml_parser::end_element): New method, based on ...
13912         (gdb_xml_end_element_wrapper): ... this.  Adjust.
13913         (gdb_xml_parser::~gdb_xml_parser): Adjust.
13914         (gdb_xml_parser::gdb_xml_parser): Adjust to field renames.
13915         (gdb_xml_parser::use_dtd): New method, based on ...
13916         (gdb_xml_use_dtd): ... this.  Adjust.
13917         (gdb_xml_parser::parse): New method, based on ...
13918         (gdb_xml_parse): ... this.  Adjust.
13919         (gdb_xml_parse_quick): Adjust to call the parser's parse method.
13920         (xinclude_start_include): Adjust to call the parser's name method.
13921         (xml_xinclude_default, xml_xinclude_start_doctype)
13922         (xml_xinclude_end_doctype): Adjust to call the parser's user_data
13923         method.
13924         (xml_process_xincludes): Adjust to call parser methods.
13925         * xml-support.h (gdb_xml_use_dtd, gdb_xml_parse): Delete
13926         declarations.
13927
13928 2017-04-18  Pedro Alves  <palves@redhat.com>
13929
13930         * tracefile-tfile.c (tfile_write_tdesc): Adjust to use
13931         gdb::optional<std::string>.
13932         * xml-support.c: Include <string>.
13933         (scope_level::scope_level(scope_level &&))
13934         (scope_level::~scope_level): Delete.
13935         (scope_level::body): Now a std::string.
13936         (gdb_xml_body_text, gdb_xml_end_element): Adjust.
13937         (xinclude_parsing_data::xinclude_parsing_data): Add 'output'
13938         parameter.
13939         (xinclude_parsing_data::~xinclude_parsing_data): Delete.
13940         (xinclude_parsing_data::output): Now a std::string reference.
13941         (xinclude_start_include): Adjust.
13942         (xml_xinclude_default): Adjust.
13943         (xml_process_xincludes): Add 'output' parameter, and return bool.
13944         * xml-support.h (xml_process_xincludes): Add 'output' parameter,
13945         and return bool.
13946         * xml-tdesc.c: Include <unordered_map> and <string>.
13947         (tdesc_xml_cache): Delete.
13948         (tdesc_xml_cache_s): Delete.
13949         (xml_cache): Now an std::unordered_map.
13950         (tdesc_parse_xml): Adjust to use std::string and unordered_map.
13951         (target_fetch_description_xml): Change return type to
13952         gdb::optional<std::string>, and adjust.
13953         * xml-tdesc.h: Include "common/gdb_optional.h" and <string>.
13954         (target_fetch_description_xml): Change return type to
13955         gdb::optional<std::string>.
13956
13957 2017-04-18  Pedro Alves  <palves@redhat.com>
13958
13959         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
13960         unittests/optional-selftests.c.
13961         (SUBDIR_UNITTESTS_OBS): Add optional-selftests.o.
13962         * unittests/optional-selftests.c: New file.
13963         * unittests/optional/assignment/1.cc: New file.
13964         * unittests/optional/assignment/2.cc: New file.
13965         * unittests/optional/assignment/3.cc: New file.
13966         * unittests/optional/assignment/4.cc: New file.
13967         * unittests/optional/assignment/5.cc: New file.
13968         * unittests/optional/assignment/6.cc: New file.
13969         * unittests/optional/assignment/7.cc: New file.
13970         * unittests/optional/cons/copy.cc: New file.
13971         * unittests/optional/cons/default.cc: New file.
13972         * unittests/optional/cons/move.cc: New file.
13973         * unittests/optional/cons/value.cc: New file.
13974         * unittests/optional/in_place.cc: New file.
13975         * unittests/optional/observers/1.cc: New file.
13976         * unittests/optional/observers/2.cc: New file.
13977
13978 2017-04-18  Pedro Alves  <palves@redhat.com>
13979
13980         * common/gdb_optional.h: Include common/traits.h.
13981         (in_place_t): New type.
13982         (in_place): New constexpr variable.
13983         (optional::optional): Remove member initialization of
13984         m_instantiated.
13985         (optional::optional(in_place_t...)): New constructor.
13986         (optional::~optional): Use reset.
13987         (optional::optional(const optional&)): New.
13988         (optional::optional(const optional&&)): New.
13989         (optional::optional(T &)): New.
13990         (optional::optional(T &&)): New.
13991         (operator::operator=(const optional &)): New.
13992         (operator::operator=(optional &&)): New.
13993         (operator::operator= (const T &))
13994         (operator::operator= (T &&))
13995         (operator::emplace (Args &&... args)): Return a T&.  Use reset.
13996         (operator::reset): New.
13997         (operator::m_instantiated):: Add in-class initializer.
13998         * common/traits.h: Include <type_traits>.
13999         (struct And): New types.
14000
14001 2017-04-18  Pedro Alves  <palves@redhat.com>
14002
14003         * xml-support.c: Include <vector>.
14004         (scope_level::scope_level(const gdb_xml_element *))
14005         (scope_level::scope_level(scope_level&&)): New.
14006         (scope_level::~scope_level): New.
14007         (scope_level_s): Delete.
14008         (gdb_xml_parser::scopes): Now a std::vector.
14009         (gdb_xml_body_text, gdb_xml_start_element, gdb_xml_end_element):
14010         Use std::vector.
14011         (gdb_xml_parser::~gdb_xml_parser): Remove now unnecessary
14012         scope cleanup code.
14013         (gdb_xml_parser::gdb_xml_parser): Remove explicit initialization
14014         of the scopes member.  Use std::vector::emplace_back.
14015
14016 2017-04-18  Pedro Alves  <palves@redhat.com>
14017
14018         * xml-support.c (gdb_xml_parser): Add ctor/dtor.  Make is_xinclude
14019         a bool.
14020         (gdb_xml_end_element): Change type of first parameter.
14021         (gdb_xml_cleanup): Rename to ...
14022         (gdb_xml_parser::~gdb_xml_parser): ... this.
14023         (gdb_xml_create_parser_and_cleanup): Delete with ...
14024         (gdb_xml_parser::gdb_xml_parser): ... creation parts factored out
14025         to this new ctor.
14026         (gdb_xml_parse_quick): Create a local gdb_xml_parser instead of
14027         using gdb_xml_create_parser_and_cleanup.
14028         (xinclude_parsing_data): Add ctor/dtor.
14029         (xml_xinclude_cleanup): Delete.
14030         (xml_process_xincludes): Create a local xinclude_parsing_data
14031         instead of heap-allocating one.  Create a local gdb_xml_parser
14032         instead of heap-allocating one with
14033         gdb_xml_create_parser_and_cleanup.
14034
14035 2017-04-18  John Baldwin  <jhb@FreeBSD.org>
14036
14037         PR threads/20743
14038         * fbsd-nat.c (resume_one_thread_cb): Remove.
14039         (resume_all_threads_cb): Remove.
14040         (fbsd_resume): Use ALL_NON_EXITED_THREADS instead of
14041         iterate_over_threads.
14042
14043 2017-04-17  Joel Brobecker  <brobecker@adacore.com>
14044
14045         * NEWS: Create a new section for the next release branch.
14046         Rename the section of the current branch, now that it has
14047         been cut.
14048
14049 2017-04-17  Joel Brobecker  <brobecker@adacore.com>
14050
14051         GDB 8.0 branch created (725bf5cf125783c2a7ca4ab63d3768e220bab2db):
14052         * version.in: Bump version to 8.0.50.DATE-git.
14053
14054 2017-04-13  Sergio Durigan Junior  <sergiodj@redhat.com>
14055
14056         PR gdb/21385
14057         * windows-nat.c (windows_create_inferior): Declare 'allargs'
14058         independently of the host, and fix build breakage on Cygwin.
14059
14060 2017-04-13  Pedro Alves  <palves@redhat.com>
14061
14062         * inferior.c (free_inferior): Convert to ...
14063         (inferior::~inferior): ... this dtor.
14064         (inferior::inferior): New ctor, factored out from ...
14065         (add_inferior_silent): ... here.  Allocate the inferior with a new
14066         expression.
14067         (delete_inferior): Call delete instead of free_inferior.
14068         * inferior.h (gdb_environ, continuation): Forward declare.
14069         (inferior): Now a class.  Add in-class initialization to all
14070         members.  Make boolean fields bool, except 'detaching'.
14071         (inferior::inferior): New explicit ctor.
14072         (inferior::~inferior): New.
14073
14074 2017-04-13  Pedro Alves  <palves@redhat.com>
14075
14076         * inferior.c (init_inferior_list): Delete.
14077         * inferior.h (init_inferior_list): Delete.
14078
14079 2017-04-13  Pedro Alves  <palves@redhat.com>
14080
14081         PR threads/13217
14082         * gdb.threads/threadapply.exp (thr_apply_detach): New procedure.
14083         (top level): Call it twice, with different thread sets.
14084
14085 2017-04-13  Pedro Alves  <palves@redhat.com>
14086
14087         * thread.c: Include <algorithm>.
14088         (thread_array_cleanup): Delete.
14089         (scoped_inc_dec_ref): New class.
14090         (live_threads_count): New function.
14091         (set_thread_refcount): Delete.
14092         (tp_array_compar_ascending): Now a bool.
14093         (tp_array_compar): Convert to a std::sort comparison function.
14094         (thread_apply_all_command): Use std::vector and scoped_inc_dec_ref
14095         and live_threads_count.
14096
14097 2017-04-13  Pedro Alves  <palves@redhat.com>
14098
14099         * infrun.c (follow_fork_inferior): Also switch the current
14100         inferior.
14101
14102 2017-04-13  Pedro Alves  <palves@redhat.com>
14103
14104         * breakpoint.c (watch_command_1): Save watchpoint-frame info
14105         before calling create_internal_breakpoint.
14106
14107 2017-04-13  Pedro Alves  <palves@redhat.com>
14108
14109         * fork-child.c (execv_argv): New class.
14110         (breakup_args): Refactored as ...
14111         (execv_argv::init_for_no_shell): .. this method of execv_argv.
14112         Copy arguments to storage and replace separators with NULL
14113         terminators in place.
14114         (escape_bang_in_quoted_argument): Adjust to return bool.
14115         (execv_argv::execv_argv): New ctor.
14116         (execv_argv::init_for_shell): New method, factored out from
14117         fork_inferior.  Don't strdup strings into the vector.
14118         (fork_inferior): Eliminate "shell" local and use execv_argv.  Use
14119         Remove free_vector_argv call.
14120
14121 2017-04-13  Yao Qi  <yao.qi@linaro.org>
14122
14123         * rx-tdep.c (rx_fpsw_type): Check tdep->rx_fpsw_type instead of
14124         tdep->rx_psw_type.
14125
14126 2017-04-13  Yao Qi  <yao.qi@linaro.org>
14127
14128         * rl78-tdep.c (rl78_gdbarch_init): Use XCNEW instead of XNEW.
14129         * rx-tdep.c (rx_gdbarch_init): Likewise.
14130
14131 2017-04-13  Pedro Alves  <palves@redhat.com>
14132
14133         * breakpoint.h (struct breakpoint): Reindent.
14134
14135 2017-04-13  Pedro Alves  <palves@redhat.com>
14136
14137         * breakpoint.c (bp_location): Rename to ...
14138         (bp_locations): ... this.  All references updated.
14139         (bp_location_count): Rename to ...
14140         (bp_locations_count): ... this.  All references updated.
14141         (bp_location_placed_address_before_address_max): Rename to ...
14142         (bp_locations_placed_address_before_address_max): ... this.  All
14143         references updated.
14144         (bp_location_shadow_len_after_address_max): Rename to ...
14145         (bp_locations_shadow_len_after_address_max): ... this.  All
14146         references updated.
14147         (bp_location_compare_addrs): Rename to ...
14148         (bp_locations_compare_addrs): ... this.  All references updated.
14149         (bp_location_compare):Rename to ...
14150         (bp_locations_compare): ... this.  All references updated.
14151         (bp_location_target_extensions_update): Rename to ...
14152         (bp_locations_target_extensions_update): ... this.  All references
14153         updated.
14154
14155 2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
14156
14157         * Makefile.in (HFILES_NO_SRCDIR): Add "common/gdb_termios.h".
14158         * common/common.m4: Check headers 'termios.h', 'termio.h' and
14159         'sgtty.h'.
14160         * common/gdb_termios.h: New file, with parts of "terminal.h".
14161         * inflow.c: Include "gdb_termios.h".
14162         * ser-unix.c: Include "gdb_termios.h".
14163         * terminal.h: Move terminal-related defines to
14164         "common/gdb_termios.h".
14165
14166 2017-04-12  Tom Tromey  <tom@tromey.com>
14167
14168         * probe.c (parse_probes): Update.
14169         * location.h (delete_event_location): Don't declare.
14170         (event_location_deleter::operator()): Update.
14171         * location.c (event_location_deleter::operator()): Rename from
14172         delete_event_location.
14173         * linespec.h (linespec_result) <location>: Change type to
14174         event_location_up.
14175         * linespec.c (canonicalize_linespec, event_location_to_sals)
14176         (decode_objc): Update.
14177         (linespec_result): Don't call delete_event_location.
14178         * breakpoint.c (create_breakpoints_sal)
14179         (bkpt_probe_create_sals_from_location)
14180         (strace_marker_create_sals_from_location): Update.
14181
14182 2017-04-12  Tom Tromey  <tom@tromey.com>
14183
14184         * linespec.h (struct linespec_result): Add constructor and
14185         destructor.
14186         (init_linespec_result, destroy_linespec_result)
14187         (make_cleanup_destroy_linespec_result): Don't declare.
14188         * linespec.c (init_linespec_result): Remove.
14189         (linespec_result::~linespec_result): Rename from
14190         destroy_linespec_result.  Update.
14191         (cleanup_linespec_result, make_cleanup_destroy_linespec_result):
14192         Remove.
14193         * breakpoint.c (create_breakpoint, break_range_command)
14194         (decode_location_default): Update.
14195         * ax-gdb.c (agent_command_1): Update.
14196
14197 2017-04-12  Tom Tromey  <tom@tromey.com>
14198
14199         * remote.c (remote_download_tracepoint): Update.
14200         * python/py-breakpoint.c (bppy_get_location): Update.
14201         * guile/scm-breakpoint.c (bpscm_print_breakpoint_smob)
14202         (gdbscm_breakpoint_location): Update.
14203         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Update.
14204         * breakpoint.h (struct breakpoint) <location, location_range_end>:
14205         Change type to event_location_up.
14206         * breakpoint.c (create_overlay_event_breakpoint)
14207         (create_longjmp_master_breakpoint)
14208         (create_std_terminate_master_breakpoint)
14209         (create_exception_master_breakpoint)
14210         (breakpoint_event_location_empty_p, print_breakpoint_location)
14211         (print_one_breakpoint_location, create_thread_event_breakpoint)
14212         (init_breakpoint_sal, create_breakpoint)
14213         (print_recreate_ranged_breakpoint, break_range_command)
14214         (init_ada_exception_breakpoint, say_where): Update.
14215         (base_breakpoint_dtor): Don't call delete_event_location.
14216         (bkpt_print_recreate, tracepoint_print_recreate)
14217         (dprintf_print_recreate, update_static_tracepoint)
14218         (breakpoint_re_set_default): Update.
14219
14220 2017-04-12  Tom Tromey  <tom@tromey.com>
14221
14222         * compile/compile-loc2c.c (compute_stack_depth_worker): Change
14223         type of "to_do".  Update.
14224         (compute_stack_depth): Use std::vector.
14225
14226 2017-04-12  Tom Tromey  <tom@tromey.com>
14227
14228         * printcmd.c (find_instruction_backward): Use std::vector.
14229
14230 2017-04-12  Tom Tromey  <tom@tromey.com>
14231
14232         * symfile.c (objfilep): Remove typedef.
14233         (reread_symbols): Use a std::vector.
14234
14235 2017-04-12  Tom Tromey  <tom@tromey.com>
14236
14237         * mi/mi-main.c (exec_direction_forward): Remove.
14238         (exec_reverse_continue, mi_execute_command): Use scoped_restore.
14239         * guile/scm-ports.c (ioscm_with_output_to_port_worker): Use
14240         scoped_restore.
14241         * guile/guile.c (guile_repl_command, guile_command)
14242         (gdbscm_execute_gdb_command): Use scoped_restore.
14243         * go-exp.y (go_parse): Use scoped_restore.
14244         * d-exp.y (d_parse): Use scoped_restore.
14245         * cli/cli-decode.c (cmd_func): Use scoped_restore.
14246         * c-exp.y (c_parse): Use scoped_restore.
14247
14248 2017-04-12  Tom Tromey  <tom@tromey.com>
14249
14250         * mi/mi-parse.h (struct mi_parse): Add constructor, destructor.
14251         (mi_parse): Update return type.
14252         (mi_parse_free): Remove.
14253         * mi/mi-parse.c (mi_parse::mi_parse): New constructor.
14254         (mi_parse::~mi_parse): Rename from mi_parse_free.
14255         (mi_parse_cleanup): Remove.
14256         (mi_parse): Return a unique_ptr.  Use new.
14257         * mi/mi-main.c (mi_execute_command): Update.
14258
14259 2017-04-12  Tom Tromey  <tom@tromey.com>
14260
14261         * location.c (explicit_location_lex_one): Return a
14262         unique_xmalloc_ptr.
14263         (string_to_explicit_location): Update.  Remove cleanups.
14264
14265 2017-04-12  Tom Tromey  <tom@tromey.com>
14266
14267         * gnu-v3-abi.c (value_and_voffset_p): Remove typedef.
14268         (compare_value_and_voffset): Change type.  Update.
14269         (compute_vtable_size): Change type of "offset_vec".
14270         (gnuv3_print_vtable): Use std::vector.  Remove cleanups.
14271         (gnuv3_get_typeid): Remove extraneous declaration.
14272
14273 2017-04-12  Tom Tromey  <tom@tromey.com>
14274
14275         * charset.h (wchar_iterator): Fix comment.
14276
14277 2017-04-12  Tom Tromey  <tom@tromey.com>
14278
14279         * charset.c (iconv_wrapper): New class.
14280         (cleanup_iconv): Remove.
14281         (convert_between_encodings): Use it.
14282
14283 2017-04-12  Tom Tromey  <tom@tromey.com>
14284
14285         * symfile.h (increment_reading_symtab): Update type.
14286         * symfile.c (decrement_reading_symtab): Remove.
14287         (increment_reading_symtab): Return a scoped_restore_tmpl<int>.
14288         * psymtab.c (psymtab_to_symtab): Update.
14289         * dwarf2read.c (dw2_instantiate_symtab): Update.
14290
14291 2017-04-12  Tom Tromey  <tom@tromey.com>
14292
14293         * jit.c (struct jit_reader): Declare separately.  Add constructor
14294         and destructor.  Change type of "handle".
14295         (loaded_jit_reader): Define separately.
14296         (jit_reader_load): Update.  New "new".
14297         (jit_reader_unload_command): Use "delete".
14298         * gdb-dlfcn.h (struct dlclose_deleter): New.
14299         (gdb_dlhandle_up): New typedef.
14300         (gdb_dlopen, gdb_dlsym): Update types.
14301         (gdb_dlclose): Remove.
14302         * gdb-dlfcn.c (gdb_dlopen): Return a gdb_dlhandle_up.
14303         (gdb_dlsym): Change type of "handle".
14304         (make_cleanup_dlclose): Remove.
14305         (dlclose_deleter::operator()): Rename from gdb_dlclose.
14306         * compile/compile-c-support.c (load_libcc): Update.
14307
14308 2017-04-12  Tom Tromey  <tom@tromey.com>
14309
14310         * symtab.h (find_pcs_for_symtab_line): Change return type.
14311         * symtab.c (find_pcs_for_symtab_line): Change return type.
14312         * python/py-linetable.c (build_line_table_tuple_from_pcs): Change
14313         type of "vec".  Update.
14314         (ltpy_get_pcs_for_line): Update.
14315         * linespec.c (decode_digits_ordinary): Update.
14316
14317 2017-04-12  Tom Tromey  <tom@tromey.com>
14318
14319         * tracepoint.c (actions_command): Update.
14320         * python/python.c (python_command, python_interactive_command):
14321         Update.
14322         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
14323         * guile/guile.c (guile_command): Update.
14324         * defs.h (read_command_lines, read_command_lines_1): Return
14325         command_line_up.
14326         (command_lines_deleter): New struct.
14327         (command_line_up): New typedef.
14328         * compile/compile.c (compile_code_command)
14329         (compile_print_command): Update.
14330         * cli/cli-script.h (get_command_line, copy_command_lines): Return
14331         command_line_up.
14332         (make_cleanup_free_command_lines): Remove.
14333         * cli/cli-script.c (get_command_line, read_command_lines_1)
14334         (copy_command_lines): Return command_line_up.
14335         (while_command, if_command, read_command_lines, define_command)
14336         (document_command): Update.
14337         (do_free_command_lines_cleanup, make_cleanup_free_command_lines):
14338         Remove.
14339         * breakpoint.h (breakpoint_set_commands): Change type of
14340         "commands".
14341         * breakpoint.c (breakpoint_set_commands): Change type of
14342         "commands".  Update.
14343         (do_map_commands_command, update_dprintf_command_list)
14344         (create_tracepoint_from_upload): Update.
14345
14346 2017-04-12  Tom Tromey  <tom@tromey.com>
14347
14348         * tracepoint.c (scope_info): Update.
14349         * spu-tdep.c (spu_catch_start): Update.
14350         * python/python.c (gdbpy_decode_line): Update.
14351         * python/py-finishbreakpoint.c (bpfinishpy_init): Update.
14352         * python/py-breakpoint.c (bppy_init): Update.
14353         * probe.c (parse_probes): Update.
14354         * mi/mi-cmd-break.c (mi_cmd_break_insert_1): Update.
14355         * location.h (event_location_deleter): New struct.
14356         (event_location_up): New typedef.
14357         (new_linespec_location, new_address_location, new_probe_location)
14358         (new_explicit_location, copy_event_location)
14359         (string_to_event_location, string_to_event_location_basic)
14360         (string_to_explicit_location): Update return type.
14361         (make_cleanup_delete_event_location): Remove.
14362         * location.c (new_linespec_location, new_address_location)
14363         (new_probe_location, new_explicit_location, copy_event_location):
14364         Return event_location_up.
14365         (delete_event_location_cleanup)
14366         (make_cleanup_delete_event_location): Remove.
14367         (string_to_explicit_location, string_to_event_location_basic)
14368         (string_to_event_location): Return event_location_up.
14369         * linespec.c (canonicalize_linespec, event_location_to_sals)
14370         (decode_line_with_current_source)
14371         (decode_line_with_last_displayed, decode_objc): Update.
14372         * guile/scm-breakpoint.c (gdbscm_register_breakpoint_x): Update.
14373         * completer.c (location_completer): Update.
14374         * cli/cli-cmds.c (edit_command, list_command): Update.
14375         * breakpoint.c (create_overlay_event_breakpoint)
14376         (create_longjmp_master_breakpoint)
14377         (create_std_terminate_master_breakpoint)
14378         (create_exception_master_breakpoint)
14379         (create_thread_event_breakpoint): Update.
14380         (init_breakpoint_sal): Update.  Remove some dead code.
14381         (create_breakpoint_sal): Change type of "location".  Update.
14382         (create_breakpoints_sal, create_breakpoint, break_command_1)
14383         (dprintf_command, break_range_command, until_break_command)
14384         (init_ada_exception_breakpoint)
14385         (strace_marker_create_sals_from_location)
14386         (update_static_tracepoint, trace_command, ftrace_command)
14387         (strace_command, create_tracepoint_from_upload): Update.
14388         * break-catch-throw.c (re_set_exception_catchpoint): Update.
14389         * ax-gdb.c (agent_command_1): Update.
14390
14391 2017-04-12  Pedro Alves  <palves@redhat.com>
14392
14393         * Makefile.in (ALL_TARGET_OBS): Add i386-go32-tdep.o.
14394         * configure.tgt: Handle i[34567]86-*-go32* and
14395         i[34567]86-*-msdosdjgpp*.
14396         * i386-tdep.c (i386_svr4_reg_to_regnum):
14397         Make extern.
14398         (i386_go32_init_abi, i386_coff_osabi_sniffer): Moved to
14399         i386-go32-tdep.c.
14400         (_initialize_i386_tdep): DJGPP bits moved to i386-go32-tdep.c.
14401         * i386-go32-tdep.c: New file.
14402         * i386-tdep.h (tdesc_i386_mmx, i386_svr4_reg_to_regnum): New
14403         declarations.
14404
14405 2017-04-12  Simon Marchi  <simon.marchi@ericsson.com>
14406
14407         * aix-thread.c (pd_status2str): Change return type to const char *.
14408
14409 2017-04-12  Pedro Alves  <palves@redhat.com>
14410
14411         * i386-tdep.c (i386_elf_init_abi, i386_go32_init_abi): Remove
14412         calls to set_gdbarch_gnu_triplet_regexp.
14413
14414 2017-04-12  Pedro Alves  <palves@redhat.com>
14415
14416         PR gdb/21323
14417         * c-lang.c (cplus_primitive_types) <cplus_primitive_type_wchar_t>:
14418         New enum value.
14419         (cplus_language_arch_info): Register cplus_primitive_type_wchar_t.
14420         * gdbtypes.h (struct builtin_type) <builtin_wchar>: New field.
14421         * gdbtypes.c (gdbtypes_post_init): Create the "wchar_t" type.
14422         * gdbarch.sh (wchar_bit, wchar_signed): New per-arch values.
14423         * gdbarch.h, gdbarch.c: Regenerate.
14424         * aarch64-tdep.c (aarch64_gdbarch_init): Override
14425         gdbarch_wchar_bit and gdbarch_wchar_signed.
14426         * alpha-tdep.c (alpha_gdbarch_init): Likewise.
14427         * arm-tdep.c (arm_gdbarch_init): Likewise.
14428         * avr-tdep.c (avr_gdbarch_init): Likewise.
14429         * h8300-tdep.c (h8300_gdbarch_init): Likewise.
14430         * i386-nto-tdep.c (i386nto_init_abi): Likewise.
14431         * i386-tdep.c (i386_go32_init_abi): Likewise.
14432         * m32r-tdep.c (m32r_gdbarch_init): Likewise.
14433         * moxie-tdep.c (moxie_gdbarch_init): Likewise.
14434         * nds32-tdep.c (nds32_gdbarch_init): Likewise.
14435         * rs6000-aix-tdep.c (rs6000_aix_init_osabi): Likewise.
14436         * sh-tdep.c (sh_gdbarch_init): Likewise.
14437         * sparc-tdep.c (sparc32_gdbarch_init): Likewise.
14438         * sparc64-tdep.c (sparc64_init_abi): Likewise.
14439         * windows-tdep.c (windows_init_abi): Likewise.
14440         * xstormy16-tdep.c (xstormy16_gdbarch_init): Likewise.
14441
14442 2017-04-12  Pedro Alves  <palves@redhat.com>
14443
14444         PR c++/21323
14445         * c-lang.c (cplus_primitive_types) <cplus_primitive_type_char16_t,
14446         cplus_primitive_type_char32_t>: New enum values.
14447         (cplus_language_arch_info): Register cplus_primitive_type_char16_t
14448         and cplus_primitive_type_char32_t.
14449         * dwarf2read.c (read_base_type) <DW_ATE_UTF>: If bit size is 16 or
14450         32, use the archtecture's built-in type for char16_t and char32_t,
14451         respectively.  Otherwise, fallback to init_integer_type as before,
14452         but make the type unsigned, and issue a complaint.
14453         * gdbtypes.c (gdbtypes_post_init): Make char16_t and char32_t unsigned.
14454
14455 2017-04-12  Alan Hayward  <alan.hayward@arm.com>
14456
14457         * m32r-tdep.c (M32R_ARG_REGISTER_SIZE): Added.
14458         (m32r_push_dummy_call): Use M32R_ARG_REGISTER_SIZE.
14459
14460 2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
14461
14462         * windows-nat.c (windows_create_inferior): Declare 'toexec' as
14463         'const char *'.
14464
14465 2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
14466
14467         * common/common-utils.c (free_vector_argv): New function.
14468         * common/common-utils.h: Include <vector>.
14469         (free_vector_argv): New prototype.
14470         * darwin-nat.c (darwin_create_inferior): Rewrite function
14471         prototype in order to constify "exec_file" and accept a
14472         "std::string" for "allargs".
14473         * fork-child.c: Include <vector>.
14474         (breakup_args): Rewrite function, using C++.
14475         (fork_inferior): Rewrite function header, constify "exec_file_arg"
14476         and accept "std::string" for "allargs".  Update the code to
14477         calculate "argv" based on "allargs".  Update calls to "exec_fun"
14478         and "execvp".
14479         * gnu-nat.c (gnu_create_inferior): Rewrite function prototype in
14480         order to constify "exec_file" and accept a "std::string" for
14481         "allargs".
14482         * go32-nat.c (go32_create_inferior): Likewise.
14483         * inf-ptrace.c (inf_ptrace_create_inferior): Likewise.
14484         * infcmd.c (run_command_1): Constify "exec_file".  Use
14485         "std::string" for inferior arguments.
14486         * inferior.h (fork_inferior): Update prototype.
14487         * linux-nat.c (linux_nat_create_inferior): Rewrite function
14488         prototype in order to constify "exec_file" and accept a
14489         "std::string" for "allargs".
14490         * nto-procfs.c (procfs_create_inferior): Likewise.
14491         * procfs.c (procfs_create_inferior): Likewise.
14492         * remote-sim.c (gdbsim_create_inferior): Likewise.
14493         * remote.c (extended_remote_run): Update code to accept
14494         "std::string" as argument.
14495         (extended_remote_create_inferior): Rewrite function prototype in
14496         order to constify "exec_file" and accept a "std::string" for
14497         "allargs".
14498         * rs6000-nat.c (super_create_inferior): Likewise.
14499         (rs6000_create_inferior): Likewise.
14500         * target.h (struct target_ops) <to_create_inferior>: Likewise.
14501         * windows-nat.c (windows_create_inferior): Likewise.
14502
14503 2017-04-11  Pedro Alves  <palves@redhat.com>
14504
14505         * thread.c: Fix whitespace throughout.
14506
14507 2017-04-11  Philipp Rudo  <prudo@linux.vnet.ibm.com>
14508
14509         * linux-nat.c (linux_nat_detach): Remove delete_lwp call.
14510
14511 2017-04-11  Alan Hayward  <alan.hayward@arm.com>
14512
14513         * arm-tdep.c (arm_store_return_value): Use FP_REGISTER_SIZE
14514
14515 2017-04-10  Sergio Durigan Junior  <sergiodj@redhat.com>
14516
14517         PR gdb/21364
14518         * osdata.c (info_osdata): Check if 'type' is an empty string
14519         instead of NULL.
14520
14521 2017-04-10  Pedro Alves  <palves@redhat.com>
14522
14523         * thread.c (add_thread_silent, delete_thread_1, find_thread_ptid)
14524         (ptid_to_global_thread_id, in_thread_list)
14525         (do_captured_list_thread_ids, set_resumed, set_running)
14526         (set_executing, set_stop_requested, finish_thread_state)
14527         (validate_registers_access, can_access_registers_ptid)
14528         (print_thread_info_1, switch_to_thread)
14529         (do_restore_current_thread_cleanup)
14530         (make_cleanup_restore_current_thread, thread_command)
14531         (thread_name_command): Use operator== instead of ptid_equal.
14532
14533 2017-04-10  Pedro Alves  <palves@redhat.com>
14534
14535         * thread.c (struct current_thread_cleanup) <next>: Delete field.
14536         (current_thread_cleanup_chain): Delete.
14537         (restore_current_thread_cleanup_dtor)
14538         (make_cleanup_restore_current_thread): Remove references to
14539         current_thread_cleanup_chain.
14540
14541 2017-04-10  Alan Hayward  <alan.hayward@arm.com>
14542
14543         * msp430-tdep.c (msp430_pseudo_register_read): Never return
14544         REG_UNKNOWN.
14545
14546 2017-04-10  Yao Qi  <yao.qi@linaro.org>
14547
14548         PR gdb/19942
14549         * gdbthread.h (thread_info::deletable): New method.
14550         (thread_info::incref): New method.
14551         (thread_info::decref): New method.
14552         (thread_info::refcount): Move it to private.
14553         * infrun.c (save_stop_context): Call inc_refcount.
14554         (release_stop_context_cleanup): Likewise.
14555         * thread.c (set_thread_exited): New function.
14556         (init_thread_list): Delete "tp" only it is deletable, otherwise
14557         call set_thread_exited.
14558         (delete_thread_1): Call set_thread_exited.
14559         (current_thread_cleanup) <inferior_pid>: Remove.
14560         <thread>: New field.
14561         (restore_current_thread_ptid_changed): Removed.
14562         (do_restore_current_thread_cleanup): Adjust.
14563         (restore_current_thread_cleanup_dtor): Don't call
14564         find_thread_ptid.
14565         (set_thread_refcount): Use dec_refcount.
14566         (make_cleanup_restore_current_thread): Adjust.
14567         (thread_apply_all_command): Call inc_refcount.
14568         (_initialize_thread): Don't call
14569         observer_attach_thread_ptid_changed.
14570
14571 2017-04-10  Yao Qi  <yao.qi@linaro.org>
14572
14573         * thread.c (delete_thread_1): Hoist code on marking thread as
14574         exited.
14575
14576 2017-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
14577
14578         * windows-nat.c (windows_detach): Initialize ptid with
14579         minus_one_ptid.
14580
14581 2017-04-07  Simon Marchi  <simon.marchi@ericsson.com>
14582
14583         * unittests/ptid-selftests.c: Fix erroneous assert messages.
14584
14585 2017-04-07  Alan Hayward  <alan.hayward@arm.com>
14586
14587         * bfin-tdep.c (BFIN_MAX_REGISTER_SIZE): Add.
14588         (bfin_pseudo_register_read): Use BFIN_MAX_REGISTER_SIZE.
14589         (bfin_pseudo_register_write): Likewise
14590
14591 2017-04-06  Simon Marchi  <simon.marchi@ericsson.com>
14592
14593         * common/ptid.h (struct ptid): Change to...
14594         (class ptid_t): ... this.
14595         <ptid_t>: New constructors.
14596         <pid, lwp_p, lwp, tid_p, tid, is_pid, operator==, operator!=,
14597         matches>: New methods.
14598         <make_null, make_minus_one>: New static methods.
14599         <pid>: Rename to...
14600         <m_pid>: ...this.
14601         <lwp>: Rename to...
14602         <m_lwp>: ...this.
14603         <tid>: Rename to...
14604         <m_tid>: ...this.
14605         (ptid_build, ptid_get_pid, ptid_get_lwp, ptid_get_tid, ptid_equal,
14606         ptid_is_pid, ptid_lwp_p, ptid_tid_p, ptid_match): Take ptid arguments
14607         as references, move comment to class ptid_t.
14608         * common/ptid.c (null_ptid, minus_one_ptid): Initialize with
14609         ptid_t static methods.
14610         (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_tid,
14611         ptid_equal, ptid_is_pid, ptid_lwp_p, ptid_tid_p, ptid_match):
14612         Take ptid arguments as references, implement using ptid_t methods.
14613         * unittests/ptid-selftests.c: New file.
14614         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
14615         unittests/ptid-selftests.c.
14616         (SUBDIR_UNITTESTS_OBS): Add unittests/ptid-selftests.o.
14617
14618 2017-04-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
14619
14620         * python/python.c (python_run_simple_file): Cast mode literal to
14621         non-const char pointer as expected by PyFile_FromString.
14622
14623 2017-04-05  Simon Marchi  <simon.marchi@ericsson.com>
14624
14625         * common/ptid.c (ptid_lwp_p, ptid_tid_p): Remove comparison with
14626         minus_one_ptid and null_ptid.
14627
14628 2017-04-05  Pedro Alves  <palves@redhat.com>
14629
14630         * warning.m4 (build_warnings): Remove -Wno-write-strings.
14631         * configure: Regenerate.
14632
14633 2017-04-05  Pedro Alves  <palves@redhat.com>
14634
14635         * ada-exp.y (yyerror): Constify.
14636         * ada-lang.c (bound_name, get_selections)
14637         (ada_variant_discrim_type)
14638         (ada_variant_discrim_name, ada_value_struct_elt)
14639         (ada_lookup_struct_elt_type, is_unchecked_variant)
14640         (ada_which_variant_applies, standard_exc, ada_get_next_arg)
14641         (catch_ada_exception_command_split)
14642         (catch_ada_assert_command_split, catch_assert_command)
14643         (ada_op_name): Constify.
14644         * ada-lang.h (ada_yyerror, get_selections)
14645         (ada_variant_discrim_name, ada_value_struct_elt): Constify.
14646         * arc-tdep.c (arc_print_frame_cache): Constify.
14647         * arm-tdep.c (arm_skip_stub): Constify.
14648         * ax-gdb.c (gen_binop, gen_struct_ref_recursive, gen_struct_ref)
14649         (gen_aggregate_elt_ref): Constify.
14650         * bcache.c (print_bcache_statistics): Constify.
14651         * bcache.h (print_bcache_statistics): Constify.
14652         * break-catch-throw.c (catch_exception_command_1):
14653         * breakpoint.c (struct ep_type_description::description):
14654         Constify.
14655         (add_solib_catchpoint): Constify.
14656         (catch_fork_command_1): Add cast.
14657         (add_catch_command): Constify.
14658         * breakpoint.h (add_catch_command, add_solib_catchpoint):
14659         Constify.
14660         * bsd-uthread.c (bsd_uthread_state): Constify.
14661         * buildsym.c (patch_subfile_names): Constify.
14662         * buildsym.h (next_symbol_text_func, patch_subfile_names):
14663         Constify.
14664         * c-exp.y (yyerror): Constify.
14665         (token::oper): Constify.
14666         * c-lang.h (c_yyerror, cp_print_class_member): Constify.
14667         * c-varobj.c (cplus_describe_child): Constify.
14668         * charset.c (find_charset_names): Add cast.
14669         (find_charset_names): Constify array and add const_cast.
14670         * cli/cli-cmds.c (complete_command, cd_command): Constify.
14671         (edit_command): Constify.
14672         * cli/cli-decode.c (lookup_cmd): Constify.
14673         * cli/cli-dump.c (dump_memory_command, dump_value_command):
14674         Constify.
14675         (struct dump_context): Constify.
14676         (add_dump_command, restore_command): Constify.
14677         * cli/cli-script.c (get_command_line): Constify.
14678         * cli/cli-script.h (get_command_line): Constify.
14679         * cli/cli-utils.c (check_for_argument): Constify.
14680         * cli/cli-utils.h (check_for_argument): Constify.
14681         * coff-pe-read.c (struct read_pe_section_data): Constify.
14682         * command.h (lookup_cmd): Constify.
14683         * common/print-utils.c (decimal2str): Constify.
14684         * completer.c (gdb_print_filename): Constify.
14685         * corefile.c (set_gnutarget): Constify.
14686         * cp-name-parser.y (yyerror): Constify.
14687         * cp-valprint.c (cp_print_class_member): Constify.
14688         * cris-tdep.c (cris_register_name, crisv32_register_name):
14689         Constify.
14690         * d-exp.y (yyerror): Constify.
14691         (struct token::oper): Constify.
14692         * d-lang.h (d_yyerror): Constify.
14693         * dbxread.c (struct header_file_location::name): Constify.
14694         (add_old_header_file, add_new_header_file, last_function_name)
14695         (dbx_next_symbol_text, add_bincl_to_list)
14696         (find_corresponding_bincl_psymtab, set_namestring)
14697         (find_stab_function_addr, read_dbx_symtab, start_psymtab)
14698         (dbx_end_psymtab, read_ofile_symtab, process_one_symbol):
14699         * defs.h (command_line_input, print_address_symbolic)
14700         (deprecated_readline_begin_hook): Constify.
14701         * dwarf2read.c (anonymous_struct_prefix, dwarf_bool_name):
14702         Constify.
14703         * event-top.c (handle_line_of_input): Constify and add cast.
14704         * exceptions.c (catch_errors): Constify.
14705         * exceptions.h (catch_errors): Constify.
14706         * expprint.c (print_subexp_standard, op_string, op_name)
14707         (op_name_standard, dump_raw_expression, dump_raw_expression):
14708         * expression.h (op_name, op_string, dump_raw_expression):
14709         Constify.
14710         * f-exp.y (yyerror): Constify.
14711         (struct token::oper): Constify.
14712         (struct f77_boolean_val::name): Constify.
14713         * f-lang.c (f_word_break_characters): Constify.
14714         * f-lang.h (f_yyerror): Constify.
14715         * fork-child.c (fork_inferior): Add cast.
14716         * frv-tdep.c (struct gdbarch_tdep::register_names): Constify.
14717         (new_variant): Constify.
14718         * gdbarch.sh (pstring_ptr, pstring_list): Constify.
14719         * gdbarch.c: Regenerate.
14720         * gdbcore.h (set_gnutarget): Constify.
14721         * go-exp.y (yyerror): Constify.
14722         (token::oper): Constify.
14723         * go-lang.h (go_yyerror): Constify.
14724         * go32-nat.c (go32_sysinfo): Constify.
14725         * guile/scm-breakpoint.c (gdbscm_breakpoint_expression): Constify.
14726         * guile/scm-cmd.c (cmdscm_function): Constify.
14727         * guile/scm-param.c (pascm_param_value): Constify.
14728         * h8300-tdep.c (h8300_register_name, h8300s_register_name)
14729         (h8300sx_register_name): Constify.
14730         * hppa-tdep.c (hppa32_register_name, hppa64_register_name):
14731         Constify.
14732         * ia64-tdep.c (ia64_register_names): Constify.
14733         * infcmd.c (construct_inferior_arguments): Constify.
14734         (path_command, attach_post_wait): Constify.
14735         * language.c (show_range_command, show_case_command)
14736         (unk_lang_error): Constify.
14737         * language.h (language_defn::la_error)
14738         (language_defn::la_name_of_this): Constify.
14739         * linespec.c (decode_line_2): Constify.
14740         * linux-thread-db.c (thread_db_err_str): Constify.
14741         * lm32-tdep.c (lm32_register_name): Constify.
14742         * m2-exp.y (yyerror): Constify.
14743         * m2-lang.h (m2_yyerror): Constify.
14744         * m32r-tdep.c (m32r_register_names): Constify and make static.
14745         * m68hc11-tdep.c (m68hc11_register_names): Constify.
14746         * m88k-tdep.c (m88k_register_name): Constify.
14747         * macroexp.c (appendmem): Constify.
14748         * mdebugread.c (fdr_name, add_data_symbol, parse_type)
14749         (upgrade_type, parse_external, parse_partial_symbols)
14750         (mdebug_next_symbol_text, cross_ref, mylookup_symbol, new_psymtab)
14751         (new_symbol): Constify.
14752         * memattr.c (mem_info_command): Constify.
14753         * mep-tdep.c (register_name_from_keyword): Constify.
14754         * mi/mi-cmd-env.c (mi_cmd_env_path, _initialize_mi_cmd_env):
14755         Constify.
14756         * mi/mi-cmd-stack.c (list_args_or_locals): Constify.
14757         * mi/mi-cmd-var.c (mi_cmd_var_show_attributes): Constify.
14758         * mi/mi-main.c (captured_mi_execute_command): Constify and add
14759         cast.
14760         (mi_execute_async_cli_command): Constify.
14761         * mips-tdep.c (mips_register_name): Constify.
14762         * mn10300-tdep.c (register_name, mn10300_generic_register_name)
14763         (am33_register_name, am33_2_register_name)
14764         * moxie-tdep.c (moxie_register_names): Constify.
14765         * nat/linux-osdata.c (osdata_type): Constify fields.
14766         * nto-tdep.c (nto_parse_redirection): Constify.
14767         * objc-lang.c (lookup_struct_typedef, lookup_objc_class)
14768         (lookup_child_selector): Constify.
14769         (objc_methcall::name): Constify.
14770         * objc-lang.h (lookup_objc_class, lookup_child_selector)
14771         (lookup_struct_typedef): Constify.
14772         * objfiles.c (pc_in_section): Constify.
14773         * objfiles.h (pc_in_section): Constify.
14774         * p-exp.y (struct token::oper): Constify.
14775         (yyerror): Constify.
14776         * p-lang.h (pascal_yyerror): Constify.
14777         * parser-defs.h (op_name_standard): Constify.
14778         (op_print::string): Constify.
14779         (exp_descriptor::op_name): Constify.
14780         * printcmd.c (print_address_symbolic): Constify.
14781         * psymtab.c (print_partial_symbols): Constify.
14782         * python/py-breakpoint.c (stop_func): Constify.
14783         (bppy_get_expression): Constify.
14784         * python/py-cmd.c (cmdpy_completer::name): Constify.
14785         (cmdpy_function): Constify.
14786         * python/py-event.c (evpy_add_attribute)
14787         (gdbpy_initialize_event_generic): Constify.
14788         * python/py-event.h (evpy_add_attribute)
14789         (gdbpy_initialize_event_generic): Constify.
14790         * python/py-evts.c (add_new_registry): Constify.
14791         * python/py-finishbreakpoint.c (outofscope_func): Constify.
14792         * python/py-framefilter.c (get_py_iter_from_func): Constify.
14793         * python/py-inferior.c (get_buffer): Add cast.
14794         * python/py-param.c (parm_constant::name): Constify.
14795         * python/py-unwind.c (fprint_frame_id): Constify.
14796         * python/python.c (gdbpy_parameter_value): Constify.
14797         * remote-fileio.c (remote_fio_func_map): Make 'name' const.
14798         * remote.c (memory_packet_config::name): Constify.
14799         (show_packet_config_cmd, remote_write_bytes)
14800         (remote_buffer_add_string):
14801         * reverse.c (exec_reverse_once): Constify.
14802         * rs6000-tdep.c (variant::name, variant::description): Constify.
14803         * rust-exp.y (rustyyerror): Constify.
14804         * rust-lang.c (rust_op_name): Constify.
14805         * rust-lang.h (rustyyerror): Constify.
14806         * serial.h (serial_ops::name): Constify.
14807         * sh-tdep.c (sh_sh_register_name, sh_sh3_register_name)
14808         (sh_sh3e_register_name, sh_sh2e_register_name)
14809         (sh_sh2a_register_name, sh_sh2a_nofpu_register_name)
14810         (sh_sh_dsp_register_name, sh_sh3_dsp_register_name)
14811         (sh_sh4_register_name, sh_sh4_nofpu_register_name)
14812         (sh_sh4al_dsp_register_name): Constify.
14813         * sh64-tdep.c (sh64_register_name): Constify.
14814         * solib-darwin.c (lookup_symbol_from_bfd): Constify.
14815         * spu-tdep.c (spu_register_name, info_spu_dma_cmdlist): Constify.
14816         * stabsread.c (patch_block_stabs, read_type_number)
14817         (ref_map::stabs, ref_add, process_reference)
14818         (symbol_reference_defined, define_symbol, define_symbol)
14819         (error_type, read_type, read_member_functions, read_cpp_abbrev)
14820         (read_one_struct_field, read_struct_fields, read_baseclasses)
14821         (read_tilde_fields, read_struct_type, read_array_type)
14822         (read_enum_type, read_sun_builtin_type, read_sun_floating_type)
14823         (read_huge_number, read_range_type, read_args, common_block_start)
14824         (find_name_end): Constify.
14825         * stabsread.h (common_block_start, define_symbol)
14826         (process_one_symbol, symbol_reference_defined, ref_add):
14827         * symfile.c (get_section_index, add_symbol_file_command):
14828         * symfile.h (get_section_index): Constify.
14829         * target-descriptions.c (tdesc_type::name): Constify.
14830         (tdesc_free_type): Add cast.
14831         * target.c (find_default_run_target):
14832         (add_deprecated_target_alias, find_default_run_target)
14833         (target_announce_detach): Constify.
14834         (do_option): Constify.
14835         * target.h (add_deprecated_target_alias): Constify.
14836         * thread.c (print_thread_info_1): Constify.
14837         * top.c (deprecated_readline_begin_hook, command_line_input):
14838         Constify.
14839         (init_main): Add casts.
14840         * top.h (handle_line_of_input): Constify.
14841         * tracefile-tfile.c (tfile_write_uploaded_tsv): Constify.
14842         * tracepoint.c (tvariables_info_1, trace_status_mi): Constify.
14843         (tfind_command): Rename to ...
14844         (tfind_command_1): ... this and constify.
14845         (tfind_command): New function.
14846         (tfind_end_command, tfind_start_command): Adjust.
14847         (encode_source_string): Constify.
14848         * tracepoint.h (encode_source_string): Constify.
14849         * tui/tui-data.c (tui_partial_win_by_name): Constify.
14850         * tui/tui-data.h (tui_partial_win_by_name): Constify.
14851         * tui/tui-source.c (tui_set_source_content_nil): Constify.
14852         * tui/tui-source.h (tui_set_source_content_nil): Constify.
14853         * tui/tui-win.c (parse_scrolling_args): Constify.
14854         * tui/tui-windata.c (tui_erase_data_content): Constify.
14855         * tui/tui-windata.h (tui_erase_data_content): Constify.
14856         * tui/tui-winsource.c (tui_erase_source_content): Constify.
14857         * tui/tui.c (tui_enable): Add cast.
14858         * utils.c (defaulted_query): Constify.
14859         (init_page_info): Add cast.
14860         (puts_debug, subset_compare): Constify.
14861         * utils.h (subset_compare): Constify.
14862         * varobj.c (varobj_format_string): Constify.
14863         * varobj.h (varobj_format_string): Constify.
14864         * vax-tdep.c (vax_register_name): Constify.
14865         * windows-nat.c (windows_detach): Constify.
14866         * xcoffread.c (process_linenos, xcoff_next_symbol_text): Constify.
14867         * xml-support.c (gdb_xml_end_element): Constify.
14868         * xml-tdesc.c (tdesc_start_reg): Constify.
14869         * xstormy16-tdep.c (xstormy16_register_name): Constify.
14870         * xtensa-tdep.c (xtensa_find_register_by_name): Constify.
14871         * xtensa-tdep.h (xtensa_register_t::name): Constify.
14872
14873 2017-04-05  Pedro Alves  <palves@redhat.com>
14874
14875         * proc-api.c (struct trans): Constify.
14876         (procfs_note): Constify.
14877         * proc-events.c (struct trans, syscall_table):
14878         * proc-flags.c (struct trans): Constify.
14879         * proc-utils.h (procfs_note): Constify.
14880         * proc-why.c (struct trans): Constify.
14881         * procfs.c (dead_procinfo, find_syscall, proc_warn, proc_error)
14882         (procfs_detach): Constify.
14883         * sol-thread.c (struct string_map): Constify.
14884         (td_err_string, td_state_string): Constify.
14885
14886 2017-04-05  Pedro Alves  <palves@redhat.com>
14887
14888         * proc-api.c (procfs_filename): Don't initialize
14889         procfs_filename.
14890         (prepare_to_trace): Assume procfs_filename is non-NULL.
14891         (_initialize_proc_api): Give procfs_filename a default value here.
14892
14893 2017-04-05  Pedro Alves  <palves@redhat.com>
14894
14895         * break-catch-throw.c (handle_gnu_v3_exceptions): Constify
14896         'cond_string' parameter.
14897         (extract_exception_regexp): Constify 'string' parameter.
14898         (catch_exception_command_1): Constify.
14899         * breakpoint.c (init_catchpoint)
14900         (create_fork_vfork_event_catchpoint): Constify 'cond_string'
14901         parameter.
14902         (ep_parse_optional_if_clause, catch_fork_command_1)
14903         (catch_exec_command_1): Constify.
14904         * breakpoint.h (init_catchpoint): Constify 'cond_string'
14905         parameter.
14906         (ep_parse_optional_if_clause): Constify.
14907         * cli/cli-utils.c (remove_trailing_whitespace)
14908         (check_for_argument): Constify.
14909         * cli/cli-utils.h (remove_trailing_whitespace): Constify and add
14910         non-const overload.
14911         (check_for_argument): Likewise.
14912
14913 2017-04-05  Pedro Alves  <palves@redhat.com>
14914
14915         * event-top.c (command_line_handler): Add cast to execute_command
14916         call.
14917         * record-btrace.c (cmd_record_btrace_bts_start)
14918         (cmd_record_btrace_pt_start, cmd_record_btrace_start)
14919         (cmd_record_btrace_start): Add cast to execute_command call.
14920         * record-full.c (record_full_goto_insn):
14921         * record.c (record_start, record_stop): Add cast to
14922         execute_command_to_string calls.
14923         (cmd_record_start): Add cast to execute_command calls.
14924
14925 2017-04-05  Pedro Alves  <palves@redhat.com>
14926
14927         * python/python-internal.h (gdb_PyArg_ParseTupleAndKeywords): New
14928         static inline function.
14929         * python/py-arch.c (archpy_disassemble): Constify 'keywords'
14930         array and use gdb_PyArg_ParseTupleAndKeywords.
14931         * python/py-cmd.c (cmdpy_init): Likewise.
14932         * python/py-finishbreakpoint.c (bpfinishpy_init): Likewise.
14933         * python/py-inferior.c (infpy_read_memory, infpy_write_memory)
14934         (infpy_search_memory): Likewise.
14935         * python/py-objfile.c (objfpy_add_separate_debug_file)
14936         (gdbpy_lookup_objfile): Likewise.
14937         * python/py-symbol.c (gdbpy_lookup_symbol)
14938         (gdbpy_lookup_global_symbol): Likewise.
14939         * python/py-type.c (gdbpy_lookup_type): Likewise.
14940         * python/py-value.c (valpy_lazy_string, valpy_string): Likewise.
14941         * python/python.c (execute_gdb_command, gdbpy_write, gdbpy_flush):
14942         Likewise.
14943
14944 2017-04-05  Pedro Alves  <palves@redhat.com>
14945
14946         * python/python-internal.h (gdb_PyGetSetDef): New type.
14947         * python/py-block.c (block_object_getset)
14948         (breakpoint_object_getset): Now a gdb_PyGetSetDef array.
14949         * python/py-event.c (event_object_getset)
14950         (finish_breakpoint_object_getset): Likewise.
14951         * python/py-inferior.c (inferior_object_getset): Likewise.
14952         * python/py-infthread.c (thread_object_getset): Likewise.
14953         * python/py-lazy-string.c (lazy_string_object_getset): Likewise.
14954         * python/py-linetable.c (linetable_entry_object_getset): Likewise.
14955         * python/py-objfile.c (objfile_getset): Likewise.
14956         * python/py-progspace.c (pspace_getset): Likewise.
14957         * python/py-record-btrace.c (btpy_insn_getset, btpy_call_getset):
14958         Likewise.
14959         * python/py-record.c (recpy_record_getset): Likewise.
14960         * python/py-symbol.c (symbol_object_getset): Likewise.
14961         * python/py-symtab.c (symtab_object_getset, sal_object_getset):
14962         Likewise.
14963         * python/py-type.c (type_object_getset, field_object_getset):
14964         Likewise.
14965         * python/py-value.c (value_object_getset): Likewise.
14966
14967 2017-04-05  Pedro Alves  <palves@redhat.com>
14968
14969         * python/python-internal.h (gdb_PyObject_CallMethod)
14970         (gdb_PyErr_NewException, gdb_PySys_GetObject, gdb_PySys_SetPath):
14971         New functions.
14972         (GDB_PYSYS_SETPATH_CHAR, PyObject_CallMethod, PyErr_NewException)
14973         (PySys_GetObject, PySys_SetPath): New macros.
14974
14975 2017-04-05  Pedro Alves  <palves@redhat.com>
14976
14977         * mi/mi-cmd-info.c (mi_cmd_info_os): Call info_osdata instead of
14978         info_osdata_command.
14979         * osdata.c (info_osdata_command): Rename to ...
14980         (info_osdata): ... this.  Constify 'type' parameter, and remove
14981         the 'from_tty' parameter.  Accept NULL TYPE.
14982         (info_osdata_command): New function.
14983         * osdata.h (info_osdata_command): Remove declaration.
14984         (info_osdata): New declaration.
14985
14986 2017-04-05  Pedro Alves  <palves@redhat.com>
14987
14988         * mi/mi-cmd-break.c (mi_cmd_break_insert_1, mi_cmd_break_insert)
14989         (mi_cmd_dprintf_insert, mi_cmd_break_passcount)
14990         (mi_cmd_break_watch, mi_cmd_break_commands): Constify 'command'
14991         parameter.
14992         * mi/mi-cmd-catch.c (mi_cmd_catch_assert, mi_cmd_catch_exception)
14993         (mi_cmd_catch_load, mi_cmd_catch_unload): Constify cmd' parameter.
14994         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Constify 'command'
14995         parameter.
14996         * mi/mi-cmd-env.c (mi_cmd_env_pwd, mi_cmd_env_cd, mi_cmd_env_path)
14997         (mi_cmd_env_dir, mi_cmd_inferior_tty_set, _cmd_inferior_tty_show)
14998         * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file)
14999         (mi_cmd_file_list_exec_source_files)
15000         (mi_cmd_file_list_shared_libraries): Constify 'command' parameter.
15001         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions)
15002         (mi_cmd_info_gdb_mi_command, mi_cmd_info_os): Constify 'command'
15003         parameter.
15004         * mi/mi-cmd-stack.c (mi_cmd_enable_frame_filters)
15005         (mi_cmd_stack_list_frames, mi_cmd_stack_info_depth)
15006         (mi_cmd_stack_list_locals, mi_cmd_stack_list_args)
15007         (mi_cmd_stack_list_variables, mi_cmd_stack_select_frame)
15008         (mi_cmd_stack_info_frame): Constify 'command' parameter.
15009         * mi/mi-cmd-target.c (mi_cmd_target_file_get)
15010         (mi_cmd_target_file_put, mi_cmd_target_file_delete): Constify
15011         'command' parameter.
15012         * mi/mi-cmd-var.c (mi_cmd_var_create, mi_cmd_var_delete)
15013         (mi_cmd_var_set_format, mi_cmd_var_set_visualizer)
15014         (mi_cmd_var_set_frozen, mi_cmd_var_show_format)
15015         (mi_cmd_var_info_num_children, mi_cmd_var_list_children)
15016         (mi_cmd_var_info_type, mi_cmd_var_info_path_expression)
15017         (mi_cmd_var_info_expression, mi_cmd_var_show_attributes)
15018         (mi_cmd_var_evaluate_expression, mi_cmd_var_assign)
15019         (mi_cmd_var_update, mi_cmd_enable_pretty_printing)
15020         (mi_cmd_var_set_update_range): Constify 'command' parameter.
15021         * mi/mi-cmds.h (mi_cmd_argv_ftype): Constify 'command' parameter.
15022         * mi/mi-interp.c (mi_cmd_interpreter_exec): Constify 'command'
15023         parameter.
15024         * mi/mi-main.c (mi_cmd_gdb_exit, mi_cmd_exec_next)
15025         (mi_cmd_exec_next_instruction, mi_cmd_exec_step)
15026         (mi_cmd_exec_step_instruction, mi_cmd_exec_finish)
15027         (mi_cmd_exec_return ,mi_cmd_exec_jump, mi_cmd_exec_continue)
15028         (mi_cmd_exec_interrupt, mi_cmd_exec_run, mi_cmd_target_detach)
15029         (mi_cmd_target_flash_erase, mi_cmd_thread_select)
15030         (mi_cmd_thread_list_ids, mi_cmd_thread_info)
15031         (mi_cmd_list_thread_groups, mi_cmd_data_list_register_names)
15032         (mi_cmd_data_list_changed_registers)
15033         (mi_cmd_data_write_register_values)
15034         (mi_cmd_data_evaluate_expression, mi_cmd_data_read_memory)
15035         (mi_cmd_data_read_memory_bytes, mi_cmd_data_write_memory)
15036         (mi_cmd_data_write_memory_bytes, mi_cmd_enable_timings)
15037         (mi_cmd_list_features, mi_cmd_list_target_features)
15038         (mi_cmd_add_inferior, mi_cmd_remove_inferior)
15039         (mi_cmd_trace_define_variable, mi_cmd_trace_list_variables)
15040         (mi_cmd_trace_find, mi_cmd_trace_save, mi_cmd_trace_start)
15041         (mi_cmd_trace_status, mi_cmd_trace_stop, mi_cmd_ada_task_info)
15042         (mi_cmd_trace_frame_collected): Constify 'command'
15043         parameter.
15044         * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Constify
15045         'command' parameter.
15046
15047 2017-04-05  Pedro Alves  <palves@redhat.com>
15048
15049         * ada-lang.c (ada_completer_word_break_characters): Now a const
15050         array.
15051         (ada_get_gdb_completer_word_break_characters): Constify.
15052         * completer.c (gdb_completer_command_word_break_characters)
15053         (gdb_completer_file_name_break_characters)
15054         (gdb_completer_quote_characters): Now const arrays.
15055         (get_gdb_completer_quote_characters): Constify.
15056         (set_rl_completer_word_break_characters): New function.
15057         (set_gdb_completion_word_break_characters)
15058         (complete_line_internal): Use it.
15059         * completer.h (get_gdb_completer_quote_characters): Constify.
15060         (set_rl_completer_word_break_characters): Declare.
15061         * f-lang.c (f_word_break_characters): Constify.
15062         * language.c (default_word_break_characters): Constify.
15063         * language.h (language_defn::la_word_break_characters): Constify.
15064         (default_word_break_characters): Constify.
15065         * top.c (init_main): Use set_rl_completer_word_break_characters.
15066
15067 2017-04-05  Pedro Alves  <palves@redhat.com>
15068
15069         * aix-thread.c (aix_thread_pid_to_str)
15070         (aix_thread_extra_thread_info): Constify.
15071         * bsd-kvm.c (bsd_kvm_pid_to_str): Constify.
15072         * bsd-uthread.c (bsd_uthread_extra_thread_info)
15073         (bsd_uthread_pid_to_str): Constify.
15074         * corelow.c (core_pid_to_str): Constify.
15075         * darwin-nat.c (darwin_pid_to_str): Constify.
15076         * fbsd-nat.c (fbsd_pid_to_str): Constify.
15077         * fbsd-tdep.c (fbsd_core_pid_to_str, gdbarch_core_pid_to_str):
15078         Constify.
15079         * gnu-nat.c (gnu_pid_to_str): Constify.
15080         * go32-nat.c (go32_pid_to_str): Constify.
15081         * i386-cygwin-tdep.c (i386_windows_core_pid_to_str): Constify.
15082         * inf-ptrace.c (inf_ptrace_pid_to_str): Constify.
15083         * inferior.c (inferior_pid_to_str): Constify.
15084         * linux-nat.c (linux_nat_pid_to_str): Constify.
15085         * linux-tdep.c (linux_core_pid_to_str): Constify.
15086         * linux-thread-db.c (thread_db_pid_to_str)
15087         (thread_db_extra_thread_info): Constify.
15088         * nto-tdep.c (nto_extra_thread_info): Constify.
15089         * nto-tdep.h (nto_extra_thread_info): Constify.
15090         * obsd-nat.c (obsd_pid_to_str): Constify.
15091         * procfs.c (procfs_pid_to_str): Constify.
15092         * ravenscar-thread.c (ravenscar_extra_thread_info)
15093         (ravenscar_pid_to_str): Constify.
15094         * remote-sim.c (gdbsim_pid_to_str): Constify.
15095         * remote.c (remote_threads_extra_info, remote_pid_to_str):
15096         Constify.
15097         * sol-thread.c (solaris_pid_to_str): Constify.
15098         * sol2-tdep.c (sol2_core_pid_to_str): Constify.
15099         * sol2-tdep.h (sol2_core_pid_to_str): Constify.
15100         * target.c (default_pid_to_str, target_pid_to_str)
15101         (normal_pid_to_str, default_pid_to_str): Constify.
15102         * target.h (target_ops::to_pid_to_str)
15103         (target_ops::to_extra_thread_info): Constify.
15104         (target_pid_to_str, normal_pid_to_str): Constify.
15105         * windows-nat.c (windows_pid_to_str): Constify.
15106         * gdbarch.sh (core_pid_to_str): Constify.
15107         * target-delegates.c: Regenerate.
15108         * gdbarch.h, gdbarch.c: Regenerate.
15109
15110 2017-04-05  Pedro Alves  <palves@redhat.com>
15111
15112         * main.c (captured_main_1): Use gdb::unique_xmalloc_ptr to manage
15113         the memory of the temporary warning_pre_print override.
15114         * utils.c (warning_pre_print): Constify.
15115         * utils.h (warning_pre_print): Constify.
15116
15117 2017-04-05  Pedro Alves  <palves@redhat.com>
15118
15119         * cli/cli-cmds.c (shell_escape): Constify 'arg' parameter.
15120         (shell_command): New function.
15121         (make_command): Use std::string.
15122         (init_cli_cmds): Register shell_command instead of shell_escape.
15123
15124 2017-04-05  Pedro Alves  <palves@redhat.com>
15125
15126         * breakpoint.c (dprintf_function, dprintf_channel): Don't initialize.
15127         * tracepoint.c (default_collect): Don't initialize.
15128
15129 2017-04-05  Pedro Alves  <palves@redhat.com>
15130
15131         * macroexp.c (macro_buffer::shared): Now a bool.
15132         (init_buffer): Update.
15133         (init_shared_buffer): Constify 'addr' parameter.
15134         (substitute_args, expand, macro_expand, macro_expand_next): Remove
15135         casts.
15136
15137 2017-04-05  Pedro Alves  <palves@redhat.com>
15138
15139         * arm-tdep.c (show_disassembly_style_sfunc): Constify local.
15140         * disasm.c (set_disassembler_options): Constify local.
15141         * i386-tdep.c (i386_print_insn): Remove cast and FIXME comment.
15142
15143 2017-04-05  Sergio Durigan Junior  <sergiodj@redhat.com>
15144
15145         PR gdb/21352
15146         * tracefile.c (tsave_command): Fix argument parsing for '-r'
15147         option.
15148
15149 2017-04-05  Yao Qi  <yao.qi@linaro.org>
15150
15151         * frame.c (frame_unwind_register_unsigned): Call
15152         frame_unwind_register_value.
15153
15154 2017-04-05  Yao Qi  <yao.qi@linaro.org>
15155
15156         * gdb.threads/thread-specific-bp.exp (check_thread_specific_breakpoint):
15157         Use gdb_test_multiple, and don't match anchor.
15158
15159 2017-04-05  Pedro Alves  <palves@redhat.com>
15160
15161         * MAINTAINERS (Global Maintainers): Add Simon Marchi.
15162         (Write After Approval): Remove Simon Marchi.
15163
15164 2017-04-05  Pedro Alves  <palves@redhat.com>
15165
15166         * common/gdb_optional.h (optional::optional): Make constexpr and
15167         initialize m_dummy.
15168
15169 2017-04-04  John Baldwin  <jhb@FreeBSD.org>
15170
15171         * amd64-fbsd-tdep.c: Remove "bsd-uthread.h" include.
15172         (amd64fbsd_jmp_buf_reg_offset): Remove.
15173         (amd64fbsd_supply_uthread): Remove function.
15174         (amd64fbsd_collect_uthread): Remove function.
15175         (amd64fbsd_init_abi): Don't set bsd-uthread callbacks.
15176         * configure.tgt (i[34567]86-*-freebsd*): Remove bsd-uthread.o.
15177         (x86_64-*-freebsd*): Remove bsd-uthread.o.
15178         (fbsd-nat.c): Update comment.
15179         * i386-fbsd-tdep.c: Remove "bsd-uthread.h" include.
15180         (i386fbsd_jmp_buf_reg_offset): Remove.
15181         (i386fbsd_supply_uthread): Remove function.
15182         (i386fbsd_collect_uthread): Remove function.
15183         (i386fbsd_init_abi): Don't set bsd-uthread callbacks.
15184
15185 2017-04-04  John Baldwin  <jhb@FreeBSD.org>
15186
15187         * Makefile.in (ALL_64_TARGET_OBS): Remove alpha-fbsd-tdep.o.
15188         (ALLDEPFILES): Remove alpha-fbsd-tdep.c
15189         * NEWS: Mention that support for FreeBSD/alpha was removed.
15190         * alpha-fbsd-tdep.c: Delete file.
15191         * config/alpha/fbsd.mh: Delete file.
15192         * configure.host: Delete alpha*-*-freebsd* and
15193         alpha*-*-kfreebsd*-gnu.
15194         * configure.tgt: Delete alpha*-*-freebsd* and
15195         alpha*-*-kfreebsd*-gnu.
15196
15197 2017-04-04  John Baldwin  <jhb@FreeBSD.org>
15198
15199         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers,
15200         amd64bsd_store_inferior_registers): Use ptid from regcache.
15201
15202 2017-04-04  Pedro Alves  <palves@redhat.com>
15203
15204         * dwarf2read.c (lnp_state_machine): Now a class.  Initialize all
15205         data fields, make them private and add "m_" prefixes.
15206         (lnp_state_machine::lnp_state_machine): New ctor.
15207         (record_line, check_line_address, handle_set_discriminator)
15208         (handle_set_address, handle_advance_pc, handle_special_opcode)
15209         (handle_advance_line, handle_set_file, handle_negate_stmt)
15210         (handle_const_add_pc, handle_fixed_advance_pc, handle_copy)
15211         (end_sequence, advance_line): New methods.
15212         (m_gdbarch, m_record_lines_p): New fields.
15213         (lnp_reader_state): Delete.
15214         (dwarf_record_line): Rename to ...
15215         (lnp_state_machine::record_line): ... adjust.
15216         (init_lnp_state_machine): Delete.
15217         (lnp_state_machine::lnp_state_machine): New.
15218         (check_line_address): Rename to ...
15219         (lnp_state_machine::check_line_address): This.
15220         (dwarf_decode_lines_1): Remove reference to "reader_state".
15221         Adjust lnp_state_machine having a non-default ctor.  Use bool.
15222         State machine internal state manipulation moved to
15223         lnp_state_machine methods.
15224
15225 2017-04-04  Pedro Alves  <palves@redhat.com>
15226
15227         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
15228         unittests/offset-type-selftests.c.
15229         (SUBDIR_UNITTESTS_OBS): Add offset-type-selftests.o.
15230         * common/offset-type.h: New file.
15231         * common/preprocessor.h: New file.
15232         * common/traits.h: New file.
15233         * common/valid-expr.h: New file.
15234         * dwarf2expr.c: Include "common/underlying.h".  Adjust to use
15235         sect_offset and cu_offset strong typedefs throughout.
15236         * dwarf2expr.h: Adjust to use sect_offset and cu_offset strong
15237         typedefs throughout.
15238         * dwarf2loc.c: Include "common/underlying.h".  Adjust to use
15239         sect_offset and cu_offset strong typedefs throughout.
15240         * dwarf2read.c: Adjust to use sect_offset and cu_offset strong
15241         typedefs throughout.
15242         * gdbtypes.h: Include "common/offset-type.h".
15243         (cu_offset): Now an offset type (strong typedef) instead of a
15244         struct.
15245         (sect_offset): Likewise.
15246         (union call_site_parameter_u): Rename "param_offset" field to
15247         "param_cu_off".
15248         * unittests/offset-type-selftests.c: New file.
15249
15250 2017-04-04  Pedro Alves  <palves@redhat.com>
15251
15252         * common/underlying.h: New file.
15253         * dwarf2read.c: Include "common/gdb_optional.h" and
15254         "common/underlying.h".
15255         (dir_index, file_name_index): New types.
15256         (file_entry): Use them.
15257         (file_entry::include): Use to_underlying.
15258         (line_header::add_file_name): Use dir_index.
15259         (read_formatted_entries): Use gdb::optional.  Read form before
15260         writting to file_entry.
15261         (dwarf_decode_line_header): Use dir_index.
15262         (lnp_state_machine::current_file): Use to_underlying.
15263         (lnp_state_machine::file): Change type to file_name_index.
15264         (dwarf_record_line): Use to_underlying.
15265         (init_lnp_state_machine): Use file_name_index.
15266         (dwarf_decode_lines_1): Use dir_index and file_name_index.
15267
15268 2017-04-04  Pedro Alves  <palves@redhat.com>
15269
15270         * common/gdb_optional.h (gdb::optiona): Add operator->, operator*,
15271         operator bool, has_value and get methods.
15272
15273 2017-04-04  Pedro Alves  <palves@redhat.com>
15274
15275         * dwarf2read.c (struct file_entry): Add ctors, and initialize all
15276         fields.
15277         (line_header): Initialize all data fields.  Change type of
15278         standard_opcode_lengths to std::unique_ptr<unsigned char[]>.
15279         Change type of include_dirs to std::vector<const char *>.  Remove
15280         num_include_dirs, include_dirs_size.  Change type of file_names to
15281         std::vector<file_entry>.  Remove num_file_names, file_names_size.
15282         (line_header::line_header): New.
15283         (line_header::add_include_dir, line_header::add_file_name): New
15284         methods.
15285         (line_header::include_dir_at): Remove NULL check.
15286         (line_header::file_name_at): Add const overload.
15287         (line_header_up): New unique_ptr typedef.
15288         (dw2_get_file_names_reader): Use line_header_up.  Adjust to use
15289         std::vector.  Remove free_line_header call.
15290         (dwarf2_build_include_psymtabs): Use line_header_up.  Remove
15291         free_line_header call.
15292         (free_cu_line_header): Delete.
15293         (handle_DW_AT_stmt_list, handle_DW_AT_stmt_list)
15294         (setup_type_unit_groups): Use line_header_up instead of cleanups.
15295         Adjust to use std::vector.
15296         (free_line_header): Delete.
15297         (free_line_header_voidp): Use delete.
15298         (add_include_dir): Replace with ...
15299         (line_header::add_include_dir): ... this method.  Use std::vector.
15300         (add_file_name): Replace with ...
15301         (line_header::add_file_name): ... this method.  Use std::vector.
15302         (add_include_dir_stub): Delete.
15303         (read_formatted_entries): Remove memset.
15304         (dwarf_decode_line_header): Return a line_header_up instead of a
15305         raw pointer.  Remove cleanup handling.  Pass lambdas to
15306         read_formatted_entries.  Adjust to use line_header methods.
15307         (dwarf_decode_lines_1): Adjust to use line_header methods.
15308         (dwarf_decode_lines, file_file_name, file_full_name): Adjust to
15309         use std::vector.
15310
15311 2017-04-04  Simon Marchi  <simon.marchi@polymtl.ca>
15312
15313         * remote.c (set_general_thread, set_continue_thread): Use ptid_t
15314         instead of struct ptid.
15315
15316 2017-05-04  Alan Hayward  <alan.hayward@arm.com>
15317
15318         * frame.c (get_frame_register_bytes): Unwind using value.
15319         (put_frame_register_bytes): Likewise.
15320
15321 2017-03-30  Iain Buclaw  <ibuclaw@gdcproject.org>
15322
15323         * d-exp.y (type_aggregate_p): Treat TYPE_CODE_MODULE as being
15324         aggregate-like.
15325
15326 2017-03-29  Jan Kratochvil  <jan.kratochvil@redhat.com>
15327
15328         * auto-load.c (auto_load_section_scripts): Check SEC_HAS_CONTENTS.
15329
15330 2017-03-29  Yao Qi  <yao.qi@linaro.org>
15331
15332         * gdbthread.h (struct thread_info): Declare constructor and
15333         destructor.  Add some in-class member initializers.
15334         * thread.c (free_thread): Remove.
15335         (init_thread_list): Call delete instead of free_thread.
15336         (new_thread): Call thread_info constructor.
15337         (thread_info::thread_info): New function.
15338         (thread_info::~thread_info): New function.
15339         (delete_thread_1): Call delete instead of free_thread.
15340         (make_cleanup_restore_current_thread): Move tp and frame to
15341         inner block.
15342
15343 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15344
15345         * arc-tdep.c (arc_frame_cache): Add support for prologue analysis.
15346         (arc_skip_prologue): Likewise.
15347         (arc_make_frame_cache): Likewise.
15348         (arc_pv_get_operand): New function.
15349         (arc_is_in_prologue): Likewise.
15350         (arc_analyze_prologue): Likewise.
15351         (arc_print_frame_cache): Likewise.
15352         (MAX_PROLOGUE_LENGTH): New constant.
15353
15354 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15355
15356         * configure.tgt: Add arc-insn.o.
15357         * arc-tdep.c (arc_delayed_print_insn): Make non-static.
15358         (dump_arc_instruction_command): New function.
15359         (arc_fprintf_disasm): Likewise.
15360         (arc_disassemble_info): Likewise.
15361         (arc_insn_get_operand_value): Likewise.
15362         (arc_insn_get_operand_value_signed): Likewise.
15363         (arc_insn_get_memory_base_reg): Likewise.
15364         (arc_insn_get_memory_offset): Likewise.
15365         (arc_insn_get_branch_target): Likewise.
15366         (arc_insn_dump): Likewise.
15367         (arc_insn_get_linear_next_pc): Likewise.
15368         * arc-tdep.h (arc_delayed_print_insn): Add function declaration.
15369         (arc_disassemble_info): Likewise.
15370         (arc_insn_get_branch_target): Likewise.
15371         (arc_insn_get_linear_next_pc): Likewise.
15372         * NEWS: Mention new "maint print arc arc-instruction".
15373
15374 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15375
15376         * arc-tdep (maintenance_print_arc_list): New variable.
15377         (maintenance_print_arc_command): New function.
15378
15379 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15380
15381         * arc-tdep.c (core_v2_register_names, core_arcompact_register_names)
15382         Add "limm" and "reserved".
15383         (arc_cannot_fetch_register, arc_cannot_store_register): Add
15384         ARC_RESERVED_REGNUM and ARC_LIMM_REGNUM.
15385         * arc-tdep.h (arc_regnum): Likewise.
15386
15387 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15388
15389         * xtensa-linux-nat.c (fill_gregset): Call regcache_raw_collect
15390         for THREADPTR register.
15391         (supply_gregset_reg): Call regcache_raw_supply for THREADPTR
15392         register.
15393         * xtensa-tdep.c (XTENSA_DBREGN_UREG): New definition.
15394         (xtensa_derive_tdep): Initialize tdep->threadptr_regnum.
15395         * xtensa-tdep.h (gdbarch_tdep::threadptr_regnum): New field.
15396
15397 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15398
15399         * xtensa-tdep.c (xtensa_pseudo_register_read): Treat all
15400         registers above gdbarch_num_regs (gdbarch) as privileged in
15401         call0 ABI.
15402
15403 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15404
15405         * xtensa-linux-nat.c (fill_gregset): Call regcache_raw_collect
15406         for a single specified register or for all registers in
15407         a0_base..a0_base + C0_NREGS range.
15408         (supply_gregset_reg): Call regcache_raw_supply for a single
15409         specified register or for all registers in a0_base..a0_base +
15410         C0_NREGS range.
15411
15412 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15413
15414         * arch/xtensa.h (C0_NREGS): Add definition.
15415         * xtensa-tdep.c (C0_NREGS): Remove definition.
15416
15417 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15418
15419         * xtensa-tdep.c (xtensa_scan_prologue, call0_analyze_prologue):
15420         Drop xtensa_default_isa initialization.
15421         (xtensa_gdbarch_init): Initialize xtensa_default_isa.
15422
15423 2017-03-27  Pedro Alves  <palves@redhat.com>
15424
15425         * dwarf2read.c (file_entry) <dir_index>: Add comment.
15426         (file_entry::include_dir): New method.
15427         (line_header::include_dir_at, line_header::file_name_at): New
15428         methods.
15429         (setup_type_unit_groups, setup_type_unit_groups)
15430         (psymtab_include_file_name): Simplify using the new methods.
15431         (lnp_state_machine) <the_line_header>: New field.
15432         <file>: Add comment.
15433         (lnp_state_machine::current_file): New method.
15434         (dwarf_record_line): Simplify using the new methods.
15435         (init_lnp_state_machine): Initialize the "the_line_header" field.
15436         (dwarf_decode_lines_1, dwarf_decode_lines, file_file_name):
15437         Simplify using the new methods.
15438
15439 2017-03-27  Pedro Alves  <palves@redhat.com>
15440
15441         * cp-name-parser.y (make_empty): Delete.
15442         (demangler_special, nested_name, ptr_operator, array_indicator)
15443         (direct_declarator, declarator_1): Use fill_comp instead of
15444         make_empty.
15445
15446 2017-03-27  Pedro Alves  <palves@redhat.com>
15447
15448         * xml-support.h (gdb_xml_debug): Pass a "first-to-check" argument
15449         to ATTRIBUTE_PRINTF.
15450         * solib-target.c (library_list_start_list): Print "string" not
15451         "version".
15452         * xml-tdesc.c (tdesc_start_field): Pass "field_name" to
15453         gdb_xml_error call.
15454
15455 2017-03-27  Pedro Alves  <palves@redhat.com>
15456
15457         * dwarf2read.c (struct file_and_directory): New.
15458         (dwarf2_get_dwz_file): Adjust to use std::string.
15459         (dw2_get_file_names_reader): Adjust to use file_and_directory.
15460         (find_file_and_directory): Adjust to return a file_and_directory
15461         object.
15462         (read_file_scope): Adjust to use file_and_directory.  Remove
15463         make_cleanup/do_cleanups calls.
15464         (open_and_init_dwp_file): Adjust to use std::string.  Remove
15465         make_cleanup/do_cleanups calls.
15466         * python/python.c (do_start_initialization): Adjust to ldirname
15467         returning a std::string.
15468         * utils.c (ldirname): Now returns a std::string.
15469         * utils.h (ldirname): Change return type to std::string.
15470         * xml-syscall.c (xml_init_syscalls_info): Adjust to ldirname
15471         returning a std::string.
15472         * xml-tdesc.c (file_read_description_xml): Likewise.
15473
15474 2017-03-24  Alan Hayward  <alan.hayward@arm.com>
15475
15476         * regcache.c (regcache_debug_print_register): New function.
15477         * regcache.h (regcache_debug_print_register): New declaration.
15478         * target.c (debug_print_register): Remove.
15479         (target_fetch_registers): Call regcache_debug_print_register.
15480         (target_store_registers): Likewise.
15481
15482 2017-03-24  Pádraig Brady  <pbrady@fb.com>
15483
15484         * dwarf2read.c (setup_type_unit_groups): Ensure dir_index doesn't
15485         reference beyond the 'lh->include_dirs' array before accessing to
15486         it.
15487         (psymtab_include_file_name): Likewise.
15488         (dwarf_decode_lines_1): Likewise.
15489         (dwarf_decode_lines): Likewise.
15490         (file_file_name): Likewise.
15491
15492 2017-03-23  Simon Marchi  <simon.marchi@ericsson.com>
15493
15494         * fbsd-tdep.c (fbsd_corefile_thread): Don't set/restore
15495         inferior_ptid.
15496         * proc-service.c (ps_lgetregs, ps_lsetregs, ps_lgetfpregs,
15497         ps_lsetfpregs): Likewise.
15498         * regcache.c (regcache_raw_update, regcache_raw_write): Likewise.
15499         * sol-thread.c (ps_lgetregs, ps_lsetregs, ps_lgetfpregs,
15500         ps_lsetfpregs): Likewise.
15501         * target.c (target_fetch_registers, target_store_registers):
15502         Remove asserts.
15503
15504 2017-03-23  Alan Hayward  <alan.hayward@arm.com>
15505
15506         * sol-thread.c (sol_thread_store_registers): Remove regcache calls.
15507
15508 2017-03-23  Yao Qi  <yao.qi@linaro.org>
15509
15510         * aarch64-tdep.c (aarch64_process_record_test): Declare.
15511         (_initialize_aarch64_tdep): Register it.
15512         (aarch64_record_load_store): Handle PRFM instruction.
15513         (aarch64_process_record_test): New function.
15514
15515 2017-03-23  Yao Qi  <yao.qi@linaro.org>
15516
15517         * aarch64-tdep.c (aarch64_record_load_store): Fix code
15518         indentation.
15519
15520 2017-03-23  Yao Qi  <yao.qi@linaro.org>
15521
15522         * aarch64-tdep.c: Remove AARCH64_RECORD_FAILURE.
15523
15524 2017-03-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
15525
15526         python/python.c (do_start_initialization): Fix memory leak.
15527
15528 2017-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
15529
15530         * inf-ptrace.c (inf_ptrace_xfer_partial): Get pid from ptid
15531         using get_ptrace_pid.
15532         * linux-nat.c (linux_nat_xfer_partial): Don't set/restore
15533         inferior_ptid.
15534         (linux_proc_xfer_partial, linux_proc_xfer_spu): Use lwp of
15535         inferior_ptid instead of pid.
15536
15537 2017-03-22  Yao Qi  <yao.qi@linaro.org>
15538
15539         * aarch64-tdep.c: Wrap locally used classes in anonymous
15540         namespace.
15541         * arm-tdep.c: Likewise.
15542         * linespec.c: Likewise.
15543         * ui-out.c: Likewise.
15544
15545 2017-03-22  Jonah Graham  <jonah@kichwacoders.com>
15546
15547         PR gdb/19637
15548         * python/lib/gdb/printer/bound_registers.py: Import sys.
15549
15550 2017-03-21  Simon Marchi  <simon.marchi@ericsson.com>
15551
15552         * windows-nat.c (do_windows_fetch_inferior_registers): Add
15553         windows_thread_info parameter and use it instead of
15554         current_thread.
15555         (windows_fetch_inferior_registers): Don't set current_thread,
15556         pass the thread to do_windows_fetch_inferior_registers.  Use
15557         ptid from regcache instead of inferior_ptid.
15558         (do_windows_store_inferior_registers): Add windows_thread_info
15559         parameter and use it instead of current_thread.
15560         (windows_store_inferior_registers): Don't set current_thread,
15561         pass the thread to do_windows_store_inferior_registers.  Use
15562         ptid from regcache instead of inferior_ptid.
15563
15564 2017-03-21  Simon Marchi  <simon.marchi@ericsson.com>
15565
15566         * ser-mingw.c (ser_windows_raw): Remove reference to
15567         struct serial::current_timeout.
15568
15569 2017-03-21  Ivo Raisr  <ivo.raisr@oracle.com>
15570
15571         PR tdep/20928
15572         * gdb/sparc-tdep.h (gdbarch_tdep) <sparc64_ccr_type>: New field.
15573         * gdb/sparc64-tdep.c (sparc64_ccr_type): New function.
15574         (sparc64_fsr_type): Fix %fsr decoding.
15575
15576 2017-03-21  Tim Wiederhake  <tim.wiederhake@intel.com>
15577
15578         * python/py-record-btrace.c (btpy_insn_data): Change return type
15579         for Python 2.
15580
15581 2017-03-20  Simon Marchi  <simon.marchi@polymtl.ca>
15582
15583         * spu-linux-nat.c (spu_fetch_inferior_registers,
15584         spu_store_inferior_registers): Use ptid from regcache, set and
15585         restore inferior_ptid.
15586         * spu-multiarch.c (spu_fetch_registers, spu_store_registers):
15587         Likewise.
15588
15589 2017-03-20  Simon Marchi  <simon.marchi@polymtl.ca>
15590
15591         * i386-linux-nat.c (fetch_register, store_register,
15592         i386_linux_fetch_inferior_registers,
15593         i386_linux_store_inferior_registers): Use ptid from regcache.
15594         * ia64-linux-nat.c (ia64_linux_fetch_register,
15595         ia64_linux_store_register): Likewise.
15596         * inf-ptrace.c (inf_ptrace_fetch_register,
15597         inf_ptrace_store_register): Likewise.
15598         * m32r-linux-nat.c (m32r_linux_fetch_inferior_registers,
15599         m32r_linux_store_inferior_registers): Likewise.
15600         * m68k-bsd-nat.c (m68kbsd_fetch_inferior_registers,
15601         m68kbsd_store_inferior_registers): Likewise.
15602         * m68k-linux-nat.c (fetch_register, store_register,
15603         m68k_linux_fetch_inferior_registers,
15604         m68k_linux_store_inferior_registers): Likewise.
15605         * m88k-bsd-nat.c (m88kbsd_fetch_inferior_registers,
15606         m88kbsd_store_inferior_registers): Likewise.
15607         * mips-fbsd-nat.c (mips_fbsd_fetch_inferior_registers,
15608         mips_fbsd_store_inferior_registers): Likewise.
15609         * mips-linux-nat.c (mips64_linux_regsets_fetch_registers,
15610         mips64_linux_regsets_store_registers): Likewise.
15611         * mips-nbsd-nat.c (mipsnbsd_fetch_inferior_registers,
15612         mipsnbsd_store_inferior_registers): Likewise.
15613         * mips-obsd-nat.c (mips64obsd_fetch_inferior_registers,
15614         mips64obsd_store_inferior_registers): Likewise.
15615         * nto-procfs.c (procfs_fetch_registers, procfs_store_registers):
15616         Likewise.
15617         * ppc-fbsd-nat.c (ppcfbsd_fetch_inferior_registers,
15618         ppcfbsd_store_inferior_registers): Likewise.
15619         * ppc-linux-nat.c (ppc_linux_fetch_inferior_registers,
15620         ppc_linux_store_inferior_registers): Likewise.
15621         * ppc-nbsd-nat.c (ppcnbsd_fetch_inferior_registers,
15622         ppcnbsd_store_inferior_registers): Likewise.
15623         * ppc-obsd-nat.c (ppcobsd_fetch_registers,
15624         ppcobsd_store_registers): Likewise.
15625         * procfs.c (procfs_fetch_registers, procfs_store_registers):
15626         Likewise.
15627         * ravenscar-thread.c (ravenscar_fetch_registers,
15628         ravenscar_store_registers, ravenscar_prepare_to_store):
15629         Likewise.
15630         * record-btrace.c (record_btrace_fetch_registers,
15631         record_btrace_store_registers, record_btrace_prepare_to_store):
15632         Likewise.
15633         * remote-sim.c (gdbsim_fetch_register, gdbsim_store_register):
15634         Lookup inferior using ptid from regcache, instead of
15635         current_inferior.
15636         * remote.c (remote_fetch_registers, remote_store_registers): Use
15637         ptid from regcache.
15638         * rs6000-nat.c (fetch_register, store_register): Likewise.
15639         * s390-linux-nat.c (s390_linux_fetch_inferior_registers,
15640         s390_linux_store_inferior_registers): Likewise.
15641         * sh-nbsd-nat.c (shnbsd_fetch_inferior_registers,
15642         shnbsd_store_inferior_registers): Likewise.
15643         * sol-thread.c (sol_thread_fetch_registers,
15644         sol_thread_store_registers): Likewise.
15645         * sparc-nat.c (sparc_fetch_inferior_registers,
15646         sparc_store_inferior_registers): Likewise.
15647         * tilegx-linux-nat.c (fetch_inferior_registers,
15648         store_inferior_registers): Likewise.
15649         * vax-bsd-nat.c (vaxbsd_fetch_inferior_registers,
15650         vaxbsd_store_inferior_registers): Likewise.
15651         * xtensa-linux-nat.c (fetch_gregs, store_gregs, fetch_xtregs,
15652         store_xtregs): Likewise.
15653
15654 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15655
15656         PR gdb/14441
15657         * NEWS: Mention support for rvalue references in GDB and python.
15658         * doc/gdb.texinfo (C Plus Plus Expressions): Mention that GDB
15659         supports both lvalue and rvalue references.
15660
15661 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15662
15663         PR gdb/14441
15664         * gdbtypes.c (rank_one_type): Implement overloading
15665         resolution rules regarding rvalue references.
15666
15667 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15668
15669         PR gdb/14441
15670         * aarch64-tdep.c (aarch64_type_align)
15671         (aarch64_extract_return_value, aarch64_store_return_value): Change
15672         lvalue reference type checks to general reference type checks.
15673         * amd64-tdep.c (amd64_classify): Likewise.
15674         * amd64-windows-tdep.c (amd64_windows_passed_by_integer_register):
15675         Likewise.
15676         * arm-tdep.c (arm_type_align, arm_extract_return_value)
15677         (arm_store_return_value): Likewise.
15678         * ax-gdb.c (gen_fetch, gen_cast): Likewise.
15679         * c-typeprint.c (c_print_type): Likewise.
15680         * c-varobj.c (adjust_value_for_child_access, c_value_of_variable)
15681         (cplus_number_of_children, cplus_describe_child): Likewise.
15682         * compile/compile-c-symbols.c (generate_vla_size): Likewise.
15683         * completer.c (expression_completer): Likewise.
15684         * cp-support.c (make_symbol_overload_list_adl_namespace):
15685         Likewise.
15686         * darwin-nat-info.c (info_mach_region_command): Likewise.
15687         * dwarf2loc.c (entry_data_value_coerce_ref)
15688         (value_of_dwarf_reg_entry): Likewise.
15689         * eval.c (ptrmath_type_p, evaluate_subexp_standard)
15690         (evaluate_subexp_for_address, evaluate_subexp_for_sizeof):
15691         Likewise.
15692         * findvar.c (extract_typed_address, store_typed_address):
15693         Likewise.
15694         * gdbtypes.c (rank_one_type): Likewise.
15695         * hppa-tdep.c (hppa64_integral_or_pointer_p): Likewise.
15696         * infcall.c (value_arg_coerce): Likewise.
15697         * language.c (pointer_type): Likewise.
15698         * m32c-tdep.c (m32c_reg_arg_type, m32c_m16c_address_to_pointer):
15699         Likewise.
15700         * m88k-tdep.c (m88k_integral_or_pointer_p): Likewise.
15701         * mn10300-tdep.c (mn10300_type_align): Likewise.
15702         * msp430-tdep.c (msp430_push_dummy_call): Likewise.
15703         * ppc-sysv-tdep.c (do_ppc_sysv_return_value)
15704         (ppc64_sysv_abi_push_param, ppc64_sysv_abi_return_value):
15705         Likewise.
15706         * printcmd.c (print_formatted, x_command): Likewise.
15707         * python/py-type.c (typy_get_composite, typy_template_argument):
15708         Likewise.
15709         * python/py-value.c (valpy_referenced_value)
15710         (valpy_get_dynamic_type, value_has_field): Likewise.
15711         * s390-linux-tdep.c (s390_function_arg_integer): Likewise.
15712         * sparc-tdep.c (sparc_integral_or_pointer_p): Likewise.
15713         * sparc64-tdep.c (sparc64_integral_or_pointer_p): Likewise.
15714         * spu-tdep.c (spu_scalar_value_p): Likewise.
15715         * symtab.c (lookup_symbol_aux): Likewise.
15716         * typeprint.c (whatis_exp, print_type_scalar): Likewise.
15717         * valarith.c (binop_types_user_defined_p, unop_user_defined_p):
15718         Likewise.
15719         * valops.c (value_cast_pointers, value_cast)
15720         (value_reinterpret_cast, value_dynamic_cast, value_addr, typecmp)
15721         (value_struct_elt, value_struct_elt_bitpos)
15722         (value_find_oload_method_list, find_overload_match)
15723         (value_rtti_indirect_type): Likewise.
15724         * valprint.c (val_print_scalar_type_p, generic_val_print):
15725         Likewise.
15726         * value.c (value_actual_type, value_as_address, unpack_long)
15727         (pack_long, pack_unsigned_long, coerce_ref_if_computed)
15728         (coerce_ref): Likewise.
15729         * varobj.c (varobj_get_value_type): Likewise.
15730
15731 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15732
15733         PR gdb/14441
15734         * doc/python.texi (Types in Python): Add TYPE_CODE_RVALUE_REF to
15735         table of constants.
15736         * python/lib/gdb/command/explore.py: Support exploring values
15737         of rvalue reference types.
15738         * python/lib/gdb/types.py: Implement get_basic_type() for
15739         rvalue reference types.
15740         * python/py-type.c (pyty_codes) <TYPE_CODE_RVALUE_REF>: New
15741         constant.
15742         * python/py-value.c (valpy_getitem): Add an rvalue reference
15743         check.
15744         (valpy_reference_value): Add new parameter "refcode".
15745         (valpy_lvalue_reference_value, valpy_rvalue_reference_value):
15746         New wrappers for valpy_reference_value().
15747         * python/py-xmethods.c (gdbpy_get_xmethod_result_type)
15748         (gdbpy_invoke_xmethod): Likewise.
15749
15750 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15751
15752         PR gdb/14441
15753         * dwarf2read.c (process_die, read_type_die_1): Handle the
15754         DW_TAG_rvalue_reference_type DIE.
15755         (read_tag_reference_type): Add new parameter "refcode".
15756
15757 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15758
15759         PR gdb/14441
15760         * c-typeprint.c (c_print_type, c_type_print_varspec_prefix)
15761         (c_type_print_modifier, c_type_print_varspec_suffix)
15762         (c_type_print_base): Support printing rvalue reference types.
15763         * c-valprint.c (c_val_print, c_value_print): Support printing
15764         rvalue reference values.
15765
15766 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15767
15768         PR gdb/14441
15769         * cp-name-parser.y (ptr_operator): Handle the '&&' token in
15770         typename.
15771         * cp-support.c (replace_typedefs): Handle
15772         DEMANGLE_COMPONENT_RVALUE_REFERENCE.
15773         * python/py-type.c (typy_lookup_type): Likewise.
15774
15775 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15776
15777         PR gdb/14441
15778         * c-exp.y (ptr_operator): Handle the '&&' token in the typename.
15779         * parse.c (insert_type): Change assert statement.
15780         (follow_types): Handle rvalue reference types.
15781         * parser-defs.h (enum type_pieces) <tp_rvalue_reference>: New
15782         constant.
15783
15784 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15785
15786         PR gdb/14441
15787         * ada-lang.c (ada_evaluate_subexp): Adhere to the new
15788         value_ref() interface.
15789         * c-valprint.c (c_value_print): Likewise.
15790         * infcall.c (value_arg_coerce): Likewise.
15791         * python/py-value.c (valpy_reference_value): Likewise.
15792         * valops.c (value_cast, value_reinterpret_cast)
15793         (value_dynamic_cast, typecmp): Likewise.
15794         (value_ref): Parameterize by kind of return value reference type.
15795         * value.h (value_ref): Add new parameter "refcode".
15796
15797 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15798
15799         PR gdb/14441
15800         * dwarf2read.c (read_tag_reference_type): Use
15801         lookup_lvalue_reference_type() instead of lookup_reference_type().
15802         * eval.c (evaluate_subexp_standard): Likewise.
15803         * f-exp.y: Likewise.
15804         * gdbtypes.c (make_reference_type, lookup_reference_type):
15805         Generalize with rvalue reference types.
15806         (lookup_lvalue_reference_type, lookup_rvalue_reference_type): New
15807         convenience wrappers for lookup_reference_type().
15808         * gdbtypes.h (make_reference_type, lookup_reference_type): Add a
15809         reference kind parameter.
15810         (lookup_lvalue_reference_type, lookup_rvalue_reference_type): Add
15811         wrappers for lookup_reference_type().
15812         * guile/scm-type.c (gdbscm_type_reference): Use
15813         lookup_lvalue_reference_type() instead of lookup_reference_type().
15814         * guile/scm-value.c (gdbscm_value_dynamic_type): Likewise.
15815         * parse.c (follow_types): Likewise.
15816         * python/py-type.c (typy_reference, typy_lookup_type): Likewise.
15817         * python/py-value.c (valpy_get_dynamic_type, valpy_getitem):
15818         Likewise.
15819         * python/py-xmethods.c (gdbpy_get_xmethod_result_type)
15820         (gdbpy_invoke_xmethod): Likewise.
15821         * stabsread.c: Provide extra argument to make_reference_type()
15822         call.
15823         * valops.c (value_ref, value_rtti_indirect_type): Use
15824         lookup_lvalue_reference_type() instead of lookup_reference_type().
15825
15826 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15827
15828         PR gdb/14441
15829         * gdbtypes.h (enum type_code) <TYPE_CODE_RVALUE_REF>: New constant.
15830         (TYPE_IS_REFERENCE): New macro.
15831         (struct type): Add rvalue_reference_type field.
15832         (TYPE_RVALUE_REFERENCE_TYPE): New macro.
15833
15834 2017-03-20  Marc-Andre Laperle  <marc-andre.laperle@ericsson.com>
15835
15836         * NEWS: Add an entry about new '-file-list-shared-libraries' command.
15837         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries):
15838         New function definition.
15839         * mi/mi-cmds.c (mi_cmds): Add -file-list-shared-libraries command.
15840         * mi/mi-cmds.h (mi_cmd_file_list_shared_libraries):
15841         New function declaration.
15842         * mi/mi-interp.c (mi_output_solib_attribs): New Function.
15843         * mi/mi-interp.h: New file.
15844         * solib.c (info_sharedlibrary_command): Replace for loop with
15845         ALL_SO_LIBS macro
15846         * solib.h (update_solib_list): New function declaration.
15847         (so_list_head): Move macro.
15848         * solist.h (ALL_SO_LIBS): New macro.
15849
15850 2017-03-20  Marc-Andre Laperle  <marc-andre.laperle@ericsson.com>
15851
15852         * infcmd.c (post_create_inferior): Remove unused argument in
15853         call to solib_add.
15854         * remote.c (remote_start_remote): Likewise.
15855         * solib-frv.c (frv_fetch_objfile_link_map): Likewise.
15856         * solib-svr4.c: (svr4_fetch_objfile_link_map): Likewise.
15857         (enable_break): Likewise.
15858         * solib.c (update_solib_list): Remove unused target argument
15859         and its documentation.
15860         (solib_add): Remove unused target argument.  Remove unused
15861         argument in call to update_solib_list.
15862         (info_sharedlibrary_command): Remove unused argument in call
15863         to update_solib_list.
15864         (sharedlibrary_command): Remove unused argument in call to
15865         solib_add.
15866         (handle_solib_event): Likewise.
15867         (reload_shared_libraries): Likewise.
15868         * solib.h (solib_add): Remove unused target argument.
15869
15870 2017-03-20  Andreas Arnez  <arnez@linux.vnet.ibm.com>
15871
15872         * s390-linux-tdep.c (is_rsi, is_rie): Remove functions.
15873         (s390_displaced_step_fixup): Cover relative branches with the
15874         default fixup handling.  This fixes lack of support for some
15875         relative branch instructions.
15876
15877 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15878
15879         * i386-gnu-nat.c (gnu_fetch_registers, gnu_store_registers): Use
15880         ptid from regcache.
15881
15882 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15883
15884         * i386-darwin-nat.c (i386_darwin_fetch_inferior_registers,
15885         i386_darwin_store_inferior_registers): Use ptid from regcache.
15886
15887 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15888
15889         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers,
15890         i386bsd_store_inferior_registers): Use ptid from regcache.
15891
15892 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15893
15894         * hppa-obsd-nat.c (hppaobsd_fetch_registers,
15895         hppaobsd_store_registers): Use ptid from regcache.
15896
15897 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15898
15899         * hppa-nbsd-nat.c (hppanbsd_fetch_registers,
15900         hppanbsd_store_registers): Use ptid from regcache.
15901
15902 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15903
15904         * hppa-linux-nat.c (fetch_register, store_register): Use ptid
15905         from regcache.  Use get_ptrace_pid.
15906
15907 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15908
15909         * corelow.c (get_core_register_section): Use ptid from regcache,
15910         update doc.
15911
15912 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15913
15914         * bsd-uthread.c (bsd_uthread_fetch_registers,
15915         bsd_uthread_store_registers): Use ptid from regcache, set and
15916         restore inferior_ptid.
15917
15918 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15919
15920         * arm-nbsd-nat.c (fetch_register, fetch_regs, fetch_fp_register,
15921         fetch_fp_regs, store_register, store_regs, store_fp_register,
15922         store_fp_regs): Use ptid from regcache.
15923
15924 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15925
15926         * arm-linux-nat.c (fetch_fpregs, store_fpregs, fetch_regs,
15927         store_regs, fetch_wmmx_regs, store_wmmx_regs, fetch_vfp_regs,
15928         store_vfp_regs): Use ptid from regcache.
15929
15930 2017-03-17  Pedro Alves  <palves@redhat.com>
15931
15932         PR remote/21188
15933         * ser-base.c (ser_base_wait_for): Add comment.
15934         (do_ser_base_readchar): Improve comment based on the ser-unix.c's
15935         version.
15936         * ser-unix.c (hardwire_raw): Remove reference to
15937         scb->current_timeout.
15938         (wait_for, do_hardwire_readchar, hardwire_readchar): Delete.
15939         (hardwire_ops): Install ser_base_readchar instead of
15940         hardwire_readchar.
15941         * serial.h (struct serial) <current_timeout, timeout_remaining>:
15942         Remove fields.
15943
15944 2017-03-17  Jonah Graham  <jonah@kichwacoders.com>
15945
15946         PR gdb/19637
15947         * python/lib/gdb/printer/bound_registers.py: Add support for
15948         Python 3.
15949
15950 2017-03-16  Andreas Arnez  <arnez@linux.vnet.ibm.com>
15951
15952         * dwarf2loc.c (indirect_synthetic_pointer): Get data type of
15953         pointed-to DIE and pass it to dwarf2_evaluate_loc_desc_full.
15954         (dwarf2_evaluate_loc_desc_full): New parameter subobj_type; rename
15955         byte_offset to subobj_byte_offset.  Fix the handling of
15956         DWARF_VALUE_STACK on big-endian targets when coming via an
15957         implicit pointer.
15958         (dwarf2_evaluate_loc_desc): Adjust call to
15959         dwarf2_evaluate_loc_desc_full.
15960         * dwarf2loc.h (dwarf2_fetch_die_type_sect_off): New declaration.
15961         * dwarf2read.c (dwarf2_fetch_die_type_sect_off): New function.
15962
15963 2017-03-16  Yao Qi  <yao.qi@linaro.org>
15964
15965         * arm-tdep.c (thumb_record_misc): Decode CBNZ, CBZ, REV16,
15966         and REVSH instructions.
15967
15968 2017-03-16  Yao Qi  <yao.qi@linaro.org>
15969
15970         * arm-tdep.c [GDB_SELF_TEST]: include "selftests.h".
15971         (arm_record_test): Declare.
15972         (_initialize_arm_tdep) [GDB_SELF_TEST]: call register_self_test.
15973         (thumb_record_ld_st_reg_offset): Rewrite the opcode matching to
15974         align with the manual.
15975         (thumb_record_misc): Adjust the code order to align with the
15976         manual.
15977         (thumb2_record_decode_insn_handler): Fix instruction matching.
15978         (instruction_reader_thumb): New class.
15979         (arm_record_test): New function.
15980
15981 2017-03-16  Yao Qi  <yao.qi@linaro.org>
15982
15983         * arm-tdep.c (abstract_memory_reader): New class.
15984         (instruction_reader): New class.
15985         (extract_arm_insn): Add argument 'reader'.  Callers updated.
15986         (decode_insn): Likewise.
15987
15988 2017-03-16  Doug Evans  <dje@google.com>
15989
15990         * guile/scm-lazy-string.c (lazy_string_smob): Clarify use of LENGTH
15991         member.  Change type of TYPE member to SCM.  All uses updated.
15992         (lsscm_make_lazy_string_smob): Add assert.
15993         (lsscm_make_lazy_string): Flag bad length values.
15994         (lsscm_elt_type): New function.
15995         (gdbscm_lazy_string_to_value): Rewrite to use
15996         lsscm_safe_lazy_string_to_value.
15997         (lsscm_safe_lazy_string_to_value): Fix handling of TYPE_CODE_PTR.
15998         * guile/scm-value.c (gdbscm_value_to_lazy_string): Flag bad length
15999         values.  Fix TYPE_CODE_PTR.  Handle TYPE_CODE_ARRAY.  Handle typedefs
16000         in incoming type.
16001         * guile/guile-internal.h (tyscm_scm_to_type): Declare.
16002         * guile/scm-type.c (tyscm_scm_to_type): New function.
16003
16004 2017-03-15  Doug Evans  <dje@google.com>
16005
16006         PR python/17728, python/18439, python/18779
16007         * python/py-lazy-string.c (lazy_string_object): Clarify use of LENGTH
16008         member.  Change type of TYPE member to PyObject *.  All uses updated.
16009         (stpy_convert_to_value): Fix handling of TYPE_CODE_PTR.
16010         (gdbpy_create_lazy_string_object): Flag bad length values.
16011         Handle TYPE_CODE_ARRAY with possibly different user-provided length.
16012         Handle typedefs in incoming type.
16013         (stpy_lazy_string_elt_type): New function.
16014         (gdbpy_extract_lazy_string): Call it.
16015         * python/py-value.c (valpy_lazy_string): Flag bad length values.
16016         Fix handling of TYPE_CODE_PTR.  Handle TYPE_CODE_ARRAY.  Handle
16017         typedefs in incoming type.
16018
16019 2017-03-16  Doug Evans  <dje@google.com>
16020
16021         * guile/guile-internal.h (tyscm_scm_to_type): Declare.
16022         * guile/scm-type.c (tyscm_scm_to_type): New function.
16023
16024 2017-03-16  Jiong Wang  <jiong.wang@arm.com>
16025
16026         * inf-ptrace.c (inf_ptrace_peek_poke): Change the type to
16027         "ULONGEST" for "skip".
16028
16029 2017-03-14  Andreas Arnez  <arnez@linux.vnet.ibm.com>
16030
16031         PR gdb/21220
16032         * inf-ptrace.c (inf_ptrace_xfer_partial): In "case
16033         TARGET_OBJECT_MEMORY", extract the logic for ptrace peek/poke...
16034         (inf_ptrace_peek_poke): ...here.  New function.  Now also loop
16035         over ptrace peek/poke until end of buffer or error.
16036
16037 2017-03-14  Simon Marchi  <simon.marchi@ericsson.com>
16038
16039         * parse.c (length_of_subexp): Make static.
16040         * parser-defs.h (length_of_subexp): Remove.
16041
16042 2017-03-14  Andreas Arnez  <arnez@linux.vnet.ibm.com>
16043
16044         * linux-nat.c (linux_proc_xfer_partial): Handle write operations
16045         as well.
16046
16047 2017-03-14  Pedro Alves  <palves@redhat.com>
16048
16049         * cp-name-parser.y (cp_demangled_name_to_comp): Update comment.
16050         (main): Use std::unique_ptr.  Remove calls to
16051         cp_demangled_name_parse_free.
16052
16053 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
16054
16055         * alpha-bsd-nat.c (alphabsd_fetch_inferior_registers,
16056         alphabsd_store_inferior_registers): Use regcache->ptid instead
16057         of inferior_ptid.
16058
16059 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
16060
16061         * aix-thread.c (aix_thread_fetch_registers,
16062         aix_thread_store_registers): Use regcache->ptid instead of
16063         inferior_ptid.
16064
16065 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
16066
16067         * aarch64-linux-nat.c (fetch_gregs_from_thread,
16068         store_gregs_to_thread, fetch_fpregs_from_thread,
16069         store_fpregs_to_thread): Use regcache->ptid instead of
16070         inferior_ptid.
16071
16072 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
16073
16074         * amd64-linux-nat.c (amd64_linux_fetch_inferior_registers,
16075         amd64_linux_fetch_inferior_registers): Use regcache->ptid
16076         instead of inferior_ptid.
16077
16078 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
16079
16080         * target.c (target_fetch_registers, target_store_registers): Add
16081         assert.
16082
16083 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
16084
16085         * regcache.h (regcache_get_ptid): New function.
16086         * regcache.c (regcache_get_ptid): New function.
16087
16088 2017-03-13  Mark Wielaard  <mark@klomp.org>
16089
16090         * cp-name-parser.y (make_empty): Initialize d_printing to zero.
16091
16092 2017-03-10  Keith Seitz  <keiths@redhat.com>
16093
16094         PR c++/8218
16095         * c-typeprint.c (cp_type_print_method_args): Skip artificial arguments.
16096
16097 2017-03-08  Pedro Alves  <palves@redhat.com>
16098
16099         PR gdb/18360
16100         * infrun.c (start_step_over, do_target_resume, resume)
16101         (restart_threads): Assert we're not resuming a thread that is
16102         meant to be stopped.
16103         (infrun_thread_stop_requested_callback): Delete.
16104         (infrun_thread_stop_requested): If the thread is internally
16105         stopped, queue a pending stop event and clear the thread's
16106         inline-frame state.
16107         (handle_stop_requested): New function.
16108         (handle_syscall_event, handle_inferior_event_1): Use
16109         handle_stop_requested.
16110         (handle_stop_requested): New function.
16111         (handle_signal_stop): Set the thread's stop_signal here instead of
16112         at caller.
16113         (finish_step_over): Clear step over info unconditionally.
16114         (handle_signal_stop): If the user had interrupted the event
16115         thread, consider the stop a random signal.
16116         (handle_signal_stop) <signal arrived while stepping over
16117         breakpoint>: Don't restart threads here.
16118         (stop_waiting): Don't clear step-over info here.
16119
16120 2017-03-08  Pedro Alves  <palves@redhat.com>
16121
16122         PR 21206
16123         * common/gdb_unlinker.h (unlinker::unlinker): Attribute nonnull
16124         goes to argument 2, not 1.
16125
16126 2017-03-08  Pedro Alves  <palves@redhat.com>
16127
16128         PR cli/21218
16129         * top.c (gdb_readline_wrapper): Avoid passing NULL to
16130         display_gdb_prompt.
16131         (command_line_input): Add comment.
16132
16133 2017-03-08  Pedro Alves  <palves@redhat.com>
16134
16135         PR tui/21216
16136         * tui/tui-file.c (tui_file::write): New.
16137         * tui/tui-file.h (tui_file): Override "write".
16138         * tui/tui-io.c (do_tui_putc, update_start_line): New functions,
16139         factored out from ...
16140         (tui_puts): ... here.
16141         (tui_putc): Use them.
16142         (tui_write): New function.
16143         * tui/tui-io.h (tui_write): Declare.
16144
16145 2017-03-07  Sergio Durigan Junior  <sergiodj@redhat.com>
16146
16147         * Makefile.in (SFILES): Replace "environ.c" with
16148         "common/environ.c".
16149         (HFILES_NO_SRCDIR): Likewise, for "environ.h".
16150         * environ.c: Include "common-defs.h" instead of "defs.h.  Moved
16151         to...
16152         * common/environ.c: ... here.
16153         * environ.h: Moved to...
16154         * common/environ.h: ... here.
16155
16156 2017-03-07  Peter Bergner  <bergner@vnet.ibm.com>
16157
16158         * gdbarch.sh (pstring_ptr): New static function.
16159         (gdbarch_disassembler_options): Use it.
16160         (gdbarch_verify_disassembler_options): Print valid_disassembler_options,
16161         not valid_disassembler_option->name.
16162         * gdbarch.c: Regenerate.
16163
16164 2017-03-07  Peter Bergner  <bergner@vnet.ibm.com>
16165
16166         * config/powerpc/ppc64-linux.mh (MH_CFLAGS): Delete.
16167
16168 2017-03-07  Pedro Alves  <palves@redhat.com>
16169
16170         * tui/tui-regs.c (tui_restore_gdbout): Don't delete gdb_stdout.
16171
16172 2017-03-07  Walfred Tedeschi  <walfred.tedeschi@intel.com>
16173
16174         * i387-tdep.h (i387_reset_bnd_regs): Add function definition.
16175         * i387-tdep.c (i387_reset_bnd_regs): Add function implementation.
16176         * i386-tdep.c (i386_push_dummy_call): Call i387_reset_bnd_regs.
16177         * amd64-tdep.c (amd64_push_dummy_call): Call i387_reset_bnd_regs.
16178
16179 2017-03-06  Simon Marchi  <simon.marchi@ericsson.com>
16180
16181         * xtensa-linux-nat.c (fetch_gregs): Remove const.
16182
16183 2017-03-03  Simon Marchi  <simon.marchi@ericsson.com>
16184
16185         * remote.c (remote_add_target_side_commands): Use range-based
16186         for loop.
16187
16188 2017-03-03  Yao Qi  <yao.qi@linaro.org>
16189
16190         PR gdb/21165
16191         * ada-valprint.c (ada_val_print_ref): Call value_fetch_lazy if
16192         value is lazy.
16193         * valprint.c (common_val_print): Likewise.
16194
16195 2017-02-28  Peter Bergner  <bergner@vnet.ibm.com>
16196
16197         * NEWS: Mention new set/show disassembler-options commands.
16198         * doc/gdb.texinfo: Document new set/show disassembler-options commands.
16199         * disasm.c: Include "arch-utils.h", "gdbcmd.h" and "safe-ctype.h".
16200         (prospective_options): New static variable.
16201         (gdb_disassembler::gdb_disassembler): Initialize
16202         m_di.disassembler_options.
16203         (gdb_buffered_insn_length_init_dis): Initilize di->disassembler_options.
16204         (get_disassembler_options): New function.
16205         (set_disassembler_options): Likewise.
16206         (set_disassembler_options_sfunc): Likewise.
16207         (show_disassembler_options_sfunc): Likewise.
16208         (disassembler_options_completer): Likewise.
16209         (_initialize_disasm): Likewise.
16210         * disasm.h (get_disassembler_options): New prototype.
16211         (set_disassembler_options): Likewise.
16212         * gdbarch.sh (gdbarch_disassembler_options): New variable.
16213         (gdbarch_verify_disassembler_options): Likewise.
16214         * gdbarch.c: Regenerate.
16215         * gdbarch.h: Likewise.
16216         * arm-tdep.c (num_disassembly_options): Delete.
16217         (set_disassembly_style): Likewise.
16218         (arm_disassembler_options): New static variable.
16219         (set_disassembly_style_sfunc): Convert short style name into long
16220         option name.  Call set_disassembler_options.
16221         (show_disassembly_style_sfunc): New function.
16222         (arm_gdbarch_init): Call set_gdbarch_disassembler_options and
16223         set_gdbarch_verify_disassembler_options.
16224         (_initialize_arm_tdep): Delete regnames variable and update callers.
16225         (arm_disassembler_options): Initialize.
16226         (disasm_options): New variable.
16227         (num_disassembly_options): Rename from this...
16228         (num_disassembly_styles): ...to this.  Compute by scanning through
16229         disasm_options.
16230         (valid_disassembly_styles): Initialize using disasm_options.
16231         Remove calls to parse_arm_disassembler_option, get_arm_regnames and
16232         set_arm_regname_option.
16233         Pass show_disassembly_style_sfunc to the "disassembler" setshow command.
16234         * rs6000-tdep.c (powerpc_disassembler_options): New static variable.
16235         (rs6000_gdbarch_init): Call set_gdbarch_disassembler_options and
16236         set_gdbarch_verify_disassembler_options.
16237         * s390-tdep.c (s390_disassembler_options): New static variable.
16238         (s390_gdbarch_init):all set_gdbarch_disassembler_options and
16239         set_gdbarch_verify_disassembler_options.
16240
16241 2017-02-27  Simon Marchi  <simon.marchi@ericsson.com>
16242
16243         * remote.c (remote_add_target_side_condition): Remove "struct"
16244         keyword from range-based for loop.
16245
16246 2017-02-27  Simon Marchi  <simon.marchi@ericsson.com>
16247
16248         * remote.c (remote_add_target_side_condition): Use range-based
16249         for loop.  Update comment.
16250
16251 2017-02-27  Yao Qi  <yao.qi@linaro.org>
16252
16253         * f-typeprint.c (f_print_type): Check "varstring" is empty first.
16254
16255 2017-02-26  Alan Hayward  <alan.hayward@arm.com>
16256
16257         * regcache.c (regcache_raw_update): New function.
16258         (regcache_raw_read): Move code to regcache_raw_update.
16259         * regcache.h (regcache_raw_update): New declaration.
16260         * remote.c (remote_prepare_to_store): Call regcache_raw_update.
16261
16262 2017-02-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
16263
16264         * dwarf2read.c (create_debug_type_hash_table): Initialize
16265         header.signature and header.type_offset_in_tu.
16266
16267 2017-02-24  Pedro Alves  <palves@redhat.com>
16268
16269         * symtab.c (make_file_symbol_completion_list_1): Use
16270         add_symtab_completions.
16271
16272 2017-02-24  Alan Hayward  <alan.hayward@arm.com>
16273
16274         * stack.c (frame_info): Use frame_unwind_register_value to avoid buf.
16275
16276 2017-02-24  Alan Hayward  <alan.hayward@arm.com>
16277
16278         * i386-tdep.c (i386_pseudo_register_read_into_value): Use
16279         I386_MAX_REGISTER_SIZE.
16280         (i386_pseudo_register_write): Likewise.
16281         (i386_process_record): Likewise.
16282         * i387-tdep.c (i387_supply_xsave): Likewise.
16283         * m68k-linux-nat.c (fetch_register): Use M68K_MAX_REGISTER_SIZE.
16284         (store_register): Likewise.
16285
16286 2017-02-23  Pedro Alves  <palves@redhat.com>
16287
16288         * ada-lang.c: Include "common/function-view.h".
16289         (ada_iterate_over_symbols): Adjust to use function_view as
16290         callback type.
16291         (struct add_partial_datum, ada_complete_symbol_matcher): Delete.
16292         (ada_make_symbol_completion_list): Use a lambda.
16293         (ada_exc_search_name_matches): Delete.
16294         (name_matches_regex): New.
16295         (ada_add_global_exceptions): Use a lambda and name_matches_regex.
16296         * compile/compile-c-support.c: Include "common/function-view.h".
16297         (print_one_macro): Change prototype to accept a ui_file pointer.
16298         (write_macro_definitions): Use a lambda.
16299         * dwarf2read.c: Include "common/function-view.h".
16300         (dw2_map_expand_apply, dw2_map_symtabs_matching_filename)
16301         (dw2_expand_symtabs_matching): Adjust to use function_view as
16302         callback type.
16303         * language.h: Include "common/function-view.h".
16304         (struct language_defn) <la_iterate_over_symbols>: Adjust to use
16305         function_view as callback type.
16306         (LA_ITERATE_OVER_SYMBOLS): Remove DATA parameter.
16307         * linespec.c: Include "common/function-view.h".
16308         (collect_info::add_symbol): New method.
16309         (struct symbol_and_data_callback, iterate_inline_only, struct
16310         symbol_matcher_data, iterate_name_matcher): Delete.
16311         (iterate_over_all_matching_symtabs): Adjust to use function_view
16312         as callback type and lambdas.
16313         (iterate_over_file_blocks): Adjust to use function_view as
16314         callback type.
16315         (decode_compound_collector): Now a class with private fields.
16316         (decode_compound_collector::release_symbols): New method.
16317         (collect_one_symbol): Rename to...
16318         (decode_compound_collector::operator()): ... this and adjust.
16319         (lookup_prefix_sym): decode_compound_collector construction bits
16320         move to decode_compound_collector ctor.  Pass the
16321         decode_compound_collector object directly as callback.  Remove
16322         cleanups and use decode_compound_collector::release_symbols
16323         instead.
16324         (symtab_collector): Now a class with private fields.
16325         (symtab_collector::release_symtabs): New method.
16326         (add_symtabs_to_list): Rename to...
16327         (symtab_collector::operator()): ... this and adjust.
16328         (collect_symtabs_from_filename): symtab_collector construction
16329         bits move to symtab_collector ctor.  Pass the symtab_collector
16330         object directly as callback.  Remove cleanups and use
16331         symtab_collector::release_symtabs instead.
16332         (collect_symbols): Delete.
16333         (add_matching_symbols_to_info): Use lambdas.
16334         * macrocmd.c (print_macro_callback): Delete.
16335         (info_macro_command): Use a lambda.
16336         (info_macros_command): Pass print_macro_definition as callable
16337         directly.
16338         (print_one_macro): Remove 'ignore' parameter.
16339         (macro_list_command): Adjust.
16340         * macrotab.c (macro_for_each_data::fn): Now a function_view.
16341         (macro_for_each_data::user_data): Delete field.
16342         (foreach_macro): Adjust to call the function_view.
16343         (macro_for_each): Adjust to use function_view as callback type.
16344         (foreach_macro_in_scope): Adjust to call the function_view.
16345         (macro_for_each_in_scope): Adjust to use function_view as callback
16346         type.
16347         * macrotab.h: Include "common/function-view.h".
16348         (macro_callback_fn): Declare a prototype instead of a pointer.
16349         Remove "user_data" parameter.
16350         (macro_for_each, macro_for_each_in_scope): Adjust to use
16351         function_view as callback type.
16352         * psymtab.c (partial_map_expand_apply)
16353         (psym_map_symtabs_matching_filename, recursively_search_psymtabs):
16354         Adjust to use function_view as callback type and to return bool.
16355         (psym_expand_symtabs_matching): Adjust to use function_view as
16356         callback types.
16357         * symfile-debug.c (debug_qf_map_symtabs_matching_filename): Adjust
16358         to use function_view as callback type and to return bool.
16359         (debug_qf_expand_symtabs_matching): Adjust to use function_view as
16360         callback types.
16361         * symfile.c (expand_symtabs_matching): Adjust to use function_view
16362         as callback types.
16363         * symfile.h: Include "common/function-view.h".
16364         (expand_symtabs_file_matcher_ftype)
16365         (expand_symtabs_symbol_matcher_ftype)
16366         (expand_symtabs_exp_notify_ftype): Remove "data" parameter and
16367         return bool.
16368         (quick_symbol_functions::map_symtabs_matching_filename)
16369         (quick_symbol_functions::expand_symtabs_matching): Adjust to use
16370         function_view as callback type and return bool.
16371         (expand_symtabs_matching): Adjust to use function_view as callback
16372         type.
16373         (maintenance_expand_name_matcher)
16374         (maintenance_expand_file_matcher): Delete.
16375         (maintenance_expand_symtabs): Use lambdas.
16376         * symtab.c (iterate_over_some_symtabs): Adjust to use
16377         function_view as callback types and return bool.
16378         (iterate_over_symtabs): Likewise.  Use unique_xmalloc_ptr instead
16379         of a cleanup.
16380         (lookup_symtab_callback): Delete.
16381         (lookup_symtab): Use a lambda.
16382         (iterate_over_symbols): Adjust to use function_view as callback
16383         type.
16384         (struct search_symbols_data, search_symbols_file_matches)
16385         (search_symbols_name_matches): Delete.
16386         (search_symbols): Use a pair of lambdas.
16387         (struct add_name_data, add_macro_name, symbol_completion_matcher)
16388         (symtab_expansion_callback): Delete.
16389         (default_make_symbol_completion_list_break_on_1): Use lambdas.
16390         * symtab.h: Include "common/function-view.h".
16391         (iterate_over_some_symtabs): Adjust to use function_view as
16392         callback type and return bool.
16393         (iterate_over_symtabs): Adjust to use function_view as callback
16394         type.
16395         (symbol_found_callback_ftype): Remove 'data' parameter and return
16396         bool.
16397         (iterate_over_symbols): Adjust to use function_view as callback
16398         type.
16399
16400 2017-02-23  Pedro Alves  <palves@redhat.com>
16401
16402         * Makefile.in (SUBDIR_UNITTESTS_SRCS, SUBDIR_UNITTESTS_OBS): New.
16403         (%.o) <unittests/%.c>: New pattern.
16404         * configure.ac ($development): Add $(SUBDIR_UNITTESTS_OBS) to
16405         CONFIG_OBS, and $(SUBDIR_UNITTESTS_SRCS) to CONFIG_SRCS.
16406         * common/function-view.h: New file.
16407         * unittests/function-view-selftests.c: New file.
16408         * configure: Regenerate.
16409
16410 2017-02-23  Simon Marchi  <simon.marchi@ericsson.com>
16411
16412         * bsd-uthread.c (bsd_uthread_thread_alive): Use ptid instead of
16413         inferior_ptid.
16414         * go32-nat.c (go32_thread_alive): Likewise.
16415
16416 2017-02-23  Yao Qi  <yao.qi@linaro.org>
16417
16418         * varobj-iter.h (varobj_iter_delete): Call xfree instead of
16419         delete.
16420
16421 2017-02-23  Yao Qi  <yao.qi@linaro.org>
16422
16423         * varobj.c (varobj_clear_saved_item): Use delete instead of
16424         xfree.
16425         (update_dynamic_varobj_children): Likewise.
16426
16427 2017-02-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
16428
16429         * dwarf2read.c (dwarf2_record_block_ranges): Add forgotten BASEADDR.
16430
16431 2017-02-21  Simon Marchi  <simon.marchi@ericsson.com>
16432
16433         * common/enum-flags.h (enum_flags::enum_flags): Initialize
16434         m_enum_value to 0 in default constructor.
16435
16436 2017-02-21  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
16437
16438         * rs6000-tdep.c (LOAD_AND_RESERVE_MASK): Rename from LWARX_MASK.
16439         (STORE_CONDITIONAL_MASK): Rename from STWCX_MASK.
16440         (LBARX_INSTRUCTION, LHARX_INSTRUCTION, LQARX_INSTRUCTION,
16441         STBCX_INSTRUCTION, STHCX_INSTRUCTION, STQCX_INSTRUCTION): New defines.
16442         (IS_LOAD_AND_RESERVE_INSN, IS_STORE_CONDITIONAL_INSN): New macros.
16443         (ppc_displaced_step_copy_insn): Use IS_LOAD_AND_RESERVE_INSN.
16444         (ppc_deal_with_atomic_sequence): Use IS_LOAD_AND_RESERVE_INSN and
16445         IS_STORE_CONDITIONAL_INSN.
16446
16447 2017-02-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
16448
16449         * dwarf2_rnglists_process: Initialize range_beginning and range_end.
16450
16451 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16452
16453         * NEWS (Changes since GDB 7.12): Add DWARF-5.
16454
16455 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16456
16457         * dwarf2read.c (skip_one_die, read_attribute_value)
16458         (dwarf2_const_value_attr, dump_die_shallow)
16459         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
16460         (skip_form_bytes, attr_form_is_constant): Handle DW_FORM_data16.
16461
16462 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16463
16464         * dwarf2read.c (read_file_scope): Rename DW_MACRO_GNU_*.
16465         (dwarf_parse_macro_header): Accept DWARF version 5.
16466         (dwarf_decode_macro_bytes, dwarf_decode_macros): Rename DW_MACRO_GNU_*.
16467
16468 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16469
16470         * block.c (call_site_for_pc): Rename DW_OP_GNU_*, DW_TAG_GNU_* and
16471         DW_AT_GNU_*.
16472         * common/common-exceptions.h (enum errors): Likewise.
16473         * dwarf2-frame.c (class dwarf_expr_executor): Likewise.
16474         * dwarf2expr.c (dwarf_block_to_dwarf_reg)
16475         (dwarf_expr_context::execute_stack_op): Likewise.
16476         * dwarf2expr.h (struct dwarf_expr_context, struct dwarf_expr_piece):
16477         Likewise.
16478         * dwarf2loc.c (dwarf_evaluate_loc_desc::get_base_type)
16479         (dwarf_evaluate_loc_desc::push_dwarf_reg_entry_value)
16480         (show_entry_values_debug, call_site_to_target_addr)
16481         (func_addr_to_tail_call_list, func_verify_no_selftailcall)
16482         (dwarf_expr_reg_to_entry_parameter, dwarf_entry_parameter_to_value)
16483         (entry_data_value_free_closure, value_of_dwarf_reg_entry)
16484         (value_of_dwarf_block_entry, indirect_pieced_value)
16485         (symbol_needs_eval_context::push_dwarf_reg_entry_value):
16486         (disassemble_dwarf_expression): Likewise.
16487         * dwarf2read.c (process_die, inherit_abstract_dies)
16488         (read_call_site_scope): Likewise.
16489         * gdbtypes.h (struct func_type, struct call_site_parameter)
16490         (struct call_site): Likewise.
16491         * stack.c (read_frame_arg): Likewise.
16492         * std-operator.def (OP_VAR_ENTRY_VALUE): Likewise.
16493
16494 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16495
16496         * defs.h (read_unsigned_leb128): New declaration.
16497         * dwarf2loc.c (decode_debug_loclists_addresses): New function.
16498         (decode_debug_loc_dwo_addresses): Update DEBUG_LOC_* to DW_LLE_*.
16499         (dwarf2_find_location_expression): Call also
16500         decode_debug_loclists_addresses.  Handle DWARF-5 ULEB128 length.
16501         * dwarf2loc.h (dwarf2_version): New declaration.
16502         * dwarf2read.c (struct dwarf2_per_objfile): Add loclists, line_str,
16503         rnglists.
16504         (dwarf2_elf_names): Add .debug_loclists, .debug_line_str,
16505         .debug_rnglists.
16506         (struct dwop_section_names): Add loclists_dwo.
16507         (dwop_section_names): Add .debug_loclists.dwo.
16508         (struct comp_unit_head): Add unit_type, signature, type_offset_in_tu.
16509         (struct dwarf2_per_cu_data): Add dwarf_version.
16510         (struct dwo_sections): Add loclists.
16511         (struct attr_abbrev): Add implicit_const.
16512         (read_indirect_line_string): New declaration.
16513         (read_unsigned_leb128): Delete declaration.
16514         (rcuh_kind): New definition.
16515         (read_and_check_comp_unit_head): Change parameter
16516         is_debug_types_section to section_kind.
16517         (dwarf2_locate_sections): Handle loclists, line_str and rnglists.
16518         (read_comp_unit_head): Change parameter abfd to section, add parameter
16519         section_kind.  Handle DWARF-5.
16520         (error_check_comp_unit_head): Accept also DWARF version 5.
16521         (read_and_check_comp_unit_head): Change parameter
16522         is_debug_types_section to section_kind.
16523         (read_and_check_type_unit_head): Delete function.
16524         (read_abbrev_offset): Handle DWARF-5.
16525         (create_debug_type_hash_table): Add parameter section_kind.  Process
16526         only DW_UT_type.  Use signature and type_offset_in_tu from struct
16527         comp_unit_head.
16528         (create_debug_types_hash_table): Update create_debug_type_hash_table
16529         caller.
16530         (create_all_type_units): Call create_debug_type_hash_table.
16531         (read_cutu_die_from_dwo, init_cutu_and_read_dies): Change
16532         read_and_check_type_unit_head caller to read_and_check_comp_unit_head
16533         caller.
16534         (skip_one_die): Handle DW_FORM_implicit_const.
16535         (dwarf2_rnglists_process): New function.
16536         (dwarf2_ranges_process): Call dwarf2_rnglists_process for DWARF-5.
16537         (abbrev_table_read_table): Handle DW_FORM_implicit_const.
16538         (read_attribute_value): Handle DW_FORM_implicit_const,
16539         DW_FORM_line_strp.
16540         (read_attribute): Handle DW_FORM_implicit_const.
16541         (read_indirect_string_at_offset_from): New function from
16542         read_indirect_string_at_offset.
16543         (read_indirect_string_at_offset): Call
16544         read_indirect_string_at_offset_from.
16545         (read_indirect_line_string_at_offset): New function.
16546         (read_indirect_string): New function comment.
16547         (read_indirect_line_string): New function.
16548         (read_unsigned_leb128): Make it global.
16549         (dwarf2_string_attr): Handle DWARF-5.
16550         (add_include_dir_stub, read_formatted_entries): New functions.
16551         (dwarf_decode_line_header, dump_die_shallow, cu_debug_loc_section):
16552         Handle DWARF-5.
16553         (per_cu_header_read_in): Update read_comp_unit_head caller.
16554         (dwarf2_version): New function.
16555         * symfile.h (struct dwarf2_debug_sections): Add loclists, line_str and
16556         rnglists.
16557         * xcoffread.c (dwarf2_xcoff_names): Update struct dwarf2_debug_sections
16558         fields.
16559
16560 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16561
16562         * dwarf2read.c (abbrev_table_read_table): Read the data only once.
16563
16564 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16565
16566         * dwarf2read.c (dwarf2_ranges_process): New function from
16567         dwarf2_ranges_read.
16568         (dwarf2_ranges_read, dwarf2_record_block_ranges): Use
16569         dwarf2_ranges_process.
16570
16571 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16572
16573         * dwarf2read.c (create_debug_type_hash_table): New function from
16574         create_debug_types_hash_table.
16575         (create_debug_types_hash_table): Call create_debug_type_hash_table.
16576         (create_all_type_units, open_and_init_dwo_file): Update
16577         create_debug_types_hash_table callers.
16578
16579 2017-02-20  Sergio Durigan Junior  <sergiodj@redhat.com>
16580
16581         PR gdb/16188
16582         * fork-child.c (trace_start_error): Fix thinko.  va_end should
16583         refer to 'ap', not 'args'.
16584
16585 2017-02-20  Sergio Durigan Junior  <sergiodj@redhat.com>
16586             Pedro Alves  <palves@redhat.com>
16587
16588         PR gdb/16188
16589         * darwin-nat.c (darwin_ptrace_me): Check if calls to system
16590         calls succeeded.
16591         * fork-child.c (trace_start_error): New function.
16592         (trace_start_error_with_name): Likewise.
16593         * gnu-nat.c (gnu_ptrace_me): Check if call to PTRACE succeeded.
16594         * inf-ptrace.c (inf_ptrace_me): Likewise.
16595         * inferior.h (trace_start_error): New prototype.
16596         (trace_start_error_with_name): Likewise.
16597
16598 2017-02-15  Sergio Durigan Junior  <sergiodj@redhat.com>
16599
16600         PR gdb/21164
16601         * psymtab.c (maintenance_print_psymbols): Verify if 'argv' is not
16602         NULL before using it.
16603         * symmisc.c (maintenance_print_symbols): Likewise.
16604         (maintenance_print_msymbols): Likewise.
16605
16606 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16607
16608         * NEWS: Add record Python bindings entry.
16609
16610 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16611
16612         * Makefile.in (SUBDIR_PYTHON_OBS): Add py-record-btrace.o,
16613         py-record-full.o.
16614         (SUBDIR_PYTHON_SRCS): Add py-record-btrace.c, py-record-full.c.
16615         * python/py-record-btrace.c, python/py-record-btrace.h,
16616         python/py-record-full.c, python/py-record-full.h: New file.
16617         * python/py-record.c: Add include for py-record-btrace.h and
16618         py-record-full.h.
16619         (recpy_method, recpy_format, recpy_goto, recpy_replay_position,
16620         recpy_instruction_history, recpy_function_call_history, recpy_begin,
16621         recpy_end): Use functions from py-record-btrace.c and py-record-full.c.
16622         * python/python-internal.h (PyInt_FromSsize_t, PyInt_AsSsize_t):
16623         New definition.
16624         (gdbpy_initialize_btrace): New export.
16625         * python/python.c (_initialize_python): Add gdbpy_initialize_btrace.
16626
16627 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16628
16629         * Makefile.in (SUBDIR_PYTHON_OBS): Add python/py-record.o.
16630         (SUBDIR_PYTHON_SRCS): Add python/py-record.c.
16631         * python/py-record.c: New file.
16632         * python/python-internal.h (gdbpy_start_recording,
16633         gdbpy_current_recording, gdpy_stop_recording,
16634         gdbpy_initialize_record): New export.
16635         * python/python.c (_initialize_python): Add gdbpy_initialize_record.
16636         (python_GdbMethods): Add gdbpy_start_recording,
16637         gdbpy_current_recording and gdbpy_stop_recording.
16638
16639 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16640
16641         * record-btrace.c (record_btrace_record_method): New function.
16642         (init_record_btrace_ops): Initialize to_record_method.
16643         * record-full.c (record_full_record_method): New function.
16644         (init_record_full_ops, init_record_full_core_ops): Add
16645         record_full_record_method.
16646         * record.h (enum record_method): New enum.
16647         * target-debug.h (target_debug_print_enum_record_method: New define.
16648         * target-delegates.c: Regenerate.
16649         * target.c (target_record_method): New function.
16650         * target.h: Include record.h.
16651         (struct target_ops) <to_record_method>: New field.
16652         (target_record_method): New export.
16653
16654 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16655
16656         * record.h (record_start, record_stop): New export.
16657         * record.c (record_start, record_stop): New function.
16658
16659 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16660
16661         * btrace.c (btrace_fetch): Copy function call segments pointer
16662         into a vector.
16663         (btrace_clear): Clear the vector.
16664         (btrace_find_insn_by_number): Use binary search to find the correct
16665         function call segment.
16666         * btrace.h (brace_fun_p): New typedef.
16667         (struct btrace_thread_info) <functions>: New field.
16668
16669 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16670
16671         * record-btrace.c (btrace_ui_out_decode_error): Move most of it ...
16672         * btrace.c (btrace_decode_error): ... here.  New function.
16673         * btrace.h (btrace_decode_error): New export.
16674
16675 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16676
16677         * btrace.c (ftrace_call_num_insn, btrace_insn_get_error): New function.
16678         (ftrace_new_function, btrace_insn_number, btrace_insn_cmp,
16679         btrace_find_insn_by_number): Remove special case for gaps.
16680         * btrace.h (btrace_insn_get_error): New export.
16681         (btrace_insn_number, btrace_find_insn_by_number): Adjust comment.
16682         * record-btrace.c (btrace_insn_history): Print number for gaps.
16683         (record_btrace_info, record_btrace_goto): Handle gaps.
16684
16685 2017-02-14  Tom Tromey  <tom@tromey.com>
16686
16687         PR python/13598:
16688         * python/python.c (gdbpy_before_prompt_hook): Emit before_prompt
16689         event.
16690         * python/py-evts.c (gdbpy_initialize_py_events): Add
16691         before_prompt registry.
16692         * python/py-events.h (events_object) <before_prompt>: New field.
16693
16694 2017-02-14  Markus Metzger  <markus.t.metzger@intel.com>
16695
16696         * btrace.c (ftrace_new_switch): Preserve up link and flags.
16697
16698 2017-02-13  Luis Machado  <lgustavo@codesourcery.com>
16699
16700         * symfile (_initialize_symfile): Add usage text to the load command's
16701         help text.
16702
16703 2017-02-10  Simon Marchi  <simon.marchi@ericsson.com>
16704
16705         * utils.c (defaulted_query): Don't query on secondary UIs.
16706
16707 2017-02-10  Tom Tromey  <tom@tromey.com>
16708
16709         * rust-lang.c (rust_get_disr_info): Remove unused variable.
16710
16711 2017-02-10  Tom Tromey  <tom@tromey.com>
16712
16713         * python/py-value.c (valpy_richcompare_throw): Remove unnecessary
16714         "cleanup" local.
16715         * python/py-type.c (typy_legacy_template_argument): Remove
16716         unnecessary "cleanup" local.
16717
16718 2017-02-10  Tom Tromey  <tom@tromey.com>
16719
16720         * python/python.c (do_start_initialization): New function, from
16721         _initialize_python.
16722         (_initialize_python): Call do_start_initialization.
16723         * python/py-linetable.c (ltpy_iternext): Use explicit returns, not
16724         goto.
16725
16726 2017-02-10  Tom Tromey  <tom@tromey.com>
16727
16728         * python/py-prettyprint.c (pretty_print_one_value): Use
16729         gdbpy_ref.
16730
16731 2017-02-10  Tom Tromey  <tom@tromey.com>
16732
16733         * python/py-cmd.c (cmdpy_destroyer): Use gdbpy_ref.
16734         * python/py-breakpoint.c (gdbpy_breakpoint_deleted): Use
16735         gdbpy_ref.
16736         * python/py-type.c (field_new): Use gdbpy_ref.
16737         * python/py-symtab.c (symtab_and_line_to_sal_object): Use
16738         gdbpy_ref.
16739         * python/py-progspace.c (pspy_new): Use gdbpy_ref.
16740         (py_free_pspace): Likewise.
16741         (pspace_to_pspace_object): Likewise.
16742         * python/py-objfile.c (objfpy_new): Use gdbpy_ref.
16743         (py_free_objfile): Likewise.
16744         (objfile_to_objfile_object): Likewise.
16745         * python/py-inferior.c (delete_thread_object): Use
16746         gdbpy_ref.
16747         (infpy_read_memory): Likewise.
16748         (py_free_inferior): Likewise.
16749         * python/py-evtregistry.c (create_eventregistry_object): Use
16750         gdbpy_ref.
16751         * python/py-event.c (create_event_object): Use gdbpy_ref.
16752
16753 2017-02-10  Tom Tromey  <tom@tromey.com>
16754
16755         * python/py-ref.h (gdbpy_ref_policy): Now a template.
16756         (gdbpy_ref): Now a template; allow subclasses of PyObject to be
16757         used.
16758         * python/py-arch.c, python/py-bpevent.c, python/py-breakpoint.c,
16759         python/py-cmd.c, python/py-continueevent.c, python/py-event.c,
16760         python/py-exitedevent.c, python/py-finishbreakpoint.c,
16761         python/py-framefilter.c, python/py-function.c,
16762         python/py-inferior.c, python/py-infevents.c,
16763         python/py-linetable.c, python/py-newobjfileevent.c,
16764         python/py-param.c, python/py-prettyprint.c, python/py-ref.h,
16765         python/py-signalevent.c, python/py-stopevent.c,
16766         python/py-symbol.c, python/py-threadevent.c, python/py-type.c,
16767         python/py-unwind.c, python/py-utils.c, python/py-value.c,
16768         python/py-varobj.c, python/py-xmethods.c, python/python.c,
16769         varobj.c: Change gdbpy_ref to gdbpy_ref<>.
16770
16771 2017-02-10  Tom Tromey  <tom@tromey.com>
16772
16773         * ui-out.h (ui_out_emit_type): New class.
16774         (ui_out_emit_tuple, ui_out_emit_list): New typedefs.
16775         * python/py-framefilter.c (py_print_single_arg): Use gdb::optional
16776         and ui_out_emit_tuple.
16777         (enumerate_locals): Likewise.
16778         (py_mi_print_variables, py_print_locals, py_print_args): Use
16779         ui_out_emit_list.
16780         (py_print_frame): Use gdb::optional, ui_out_emit_tuple,
16781         ui_out_emit_list.
16782         * common/gdb_optional.h: New file.
16783
16784 2017-02-10  Martin Galvan  <martingalvan@sourceware.org>
16785
16786         * MAINTAINERS (Write After Approval): Update my e-mail address.
16787
16788 2017-02-10  Martin Galvan  <martingalvan@sourceware.org>
16789
16790         PR gdb/21122
16791         * breakpoint.c (_initialize_breakpoint): Update the help description
16792         of the 'commands' command to indicate that it takes a list argument.
16793
16794 2017-02-09  Simon Marchi  <simon.marchi@ericsson.com>
16795
16796         * interps.c (current_interp_set_logging): Remove "return".
16797
16798 2017-02-09  Gary Benson  <gbenson@redhat.com>
16799
16800         * symtab.c (add_symtab_completions): Prevent NULL pointer
16801         dereference.
16802
16803 2017-02-08  Pedro Alves  <palves@redhat.com>
16804
16805         * interps.c (interp::interp): Remove reference to quiet_p.
16806         (interp_set): Make static.  Remove dead "Switching to" output
16807         code.
16808         (interp_quiet_p, interp_set_quiet): Delete.
16809         (interpreter_exec_cmd): Don't set the interpreter quiet.
16810         * interps.h (interp_quiet_p): Make static.
16811         (class interp) <quiet_p>: Remove field
16812
16813 2017-02-08  Jerome Guitton  <guitton@adacore.com>
16814
16815         * cli/cli-decode.c (find_command_name_length): Make it extern.
16816         * cli/cli-decode.h (find_command_name_length): Declare.
16817         * cli/cli-script.c (command_name_equals, line_first_arg):
16818         New functions.
16819         (process_next_line): Use cli-decode to parse command names.
16820         (build_command_line): Make args a constant pointer.
16821
16822 2017-02-08  Jerome Guitton  <guitton@adacore.com>
16823
16824         * cli-decode.c (lookup_cmd_1, lookup_cmd_composition):
16825         Remove case-insensitive search.
16826
16827 2017-02-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
16828
16829         * sparc-tdep.c (sparc32_gdbarch_init): Do not place a + operator
16830         at the end of the line.  Avoids an ARI warning.
16831
16832 2017-02-06  Luis Machado  <lgustavo@codesourcery.com>
16833
16834         * NEWS: Mention support for record/replay of Intel 64 rdrand and
16835         rdseed instructions.
16836         i386-tdep.c (i386_process_record): Handle Intel 64 rdrand and rseed.
16837
16838 2017-02-06  Ivo Raisr  <ivo.raisr@oracle.com>
16839
16840         PR tdep/20936
16841         Provide and use sparc32 and sparc64 target description XML files.
16842         * features/sparc/sparc32-cp0.xml, features/sparc/sparc32-cpu.xml,
16843         features/sparc/sparc32-fpu.xml: New files for sparc 32-bit.
16844         * features/sparc/sparc64-cp0.xml, features/sparc/sparc64-cpu.xml,
16845         features/sparc/sparc64-fpu.xml: New files for sparc 64-bit.
16846         * features/sparc/sparc32-solaris.xml: New file.
16847         * features/sparc/sparc64-solaris.xml: New file.
16848         * features/sparc/sparc32-solaris.c: Generated.
16849         * features/sparc/sparc64-solaris.c: Generated.
16850         * sparc-tdep.h: Account for differences in target descriptions.
16851         * sparc-tdep.c (sparc32_register_name): Use target provided registers.
16852         (sparc32_register_type): Use target provided registers.
16853         (validate_tdesc_registers): New function.
16854         (sparc32_gdbarch_init): Use tdesc_has_registers.
16855         Set pseudoregister functions.
16856         * sparc64-tdep.c (sparc64_register_name): Use target provided registers.
16857         (sparc64_register_type): Use target provided registers.
16858         (sparc64_init_abi): Set pseudoregister functions.
16859
16860 2017-02-03  Tom Tromey  <tom@tromey.com>
16861
16862         PR rust/21097:
16863         * rust-lang.c (rust_print_type) <TYPE_CODE_UNION>: Handle enums
16864         with a single member.
16865
16866 2017-02-03  Pedro Alves  <palves@redhat.com>
16867
16868         * cli/cli-interp.c (cli_interp_base::cli_interp_base)
16869         (cli_interp_base::~cli_interp_base): New.
16870         (cli_interp): New struct.
16871         (as_cli_interp): Cast the interp itself to cli_interp.
16872         (cli_interpreter_pre_command_loop): Rename to ...
16873         (cli_interp_base::pre_command_loop): ... this.  Remove 'self'
16874         parameter.
16875         (cli_interpreter_init): Rename to ...
16876         (cli_interp::init): ... this.  Remove 'self' parameter.  Use
16877         boolean.  Make extern.
16878         (cli_interpreter_resume): Rename to ...
16879         (cli_interp::resume): ... this.  Remove 'data' parameter.  Make
16880         extern.
16881         (cli_interpreter_suspend): Rename to ...
16882         (cli_interp::suspend): ... this.  Remove 'data' parameter.  Make
16883         extern.
16884         (cli_interpreter_exec): Rename to ...
16885         (cli_interp::exec): ... this.  Remove 'data' parameter.  Make
16886         extern.
16887         (cli_interpreter_supports_command_editing): Rename to ...
16888         (cli_interp_base::supports_command_editing): ... this.  Remove
16889         'interp' parameter.  Make extern.
16890         (cli_ui_out): Rename to ...
16891         (cli_interp::interp_ui_out): ... this.  Remove 'interp' parameter.
16892         Make extern.
16893         (cli_set_logging): Rename to ...
16894         (cli_interp_base::set_logging): ... this.  Remove 'interp'
16895         parameter.  Make extern.
16896         (cli_interp_procs): Delete.
16897         (cli_interp_factory): Adjust to use "new".
16898         * cli/cli-interp.h: Include "interps.h".
16899         (struct cli_interp_base): New struct.
16900         * interps.c (struct interp): Delete.  Fields moved to interps.h.
16901         (interp_new): Delete.
16902         (interp::interp, interp::~interp): New.
16903         (interp_set): Use bool, and return void.  Assume the interpreter
16904         has suspend, init and resume methods, and that the all return
16905         void.
16906         (set_top_level_interpreter): interp_set returns void.
16907         (interp_ui_out): Adapt.
16908         (current_interp_set_logging): Adapt.
16909         (interp_data): Delete.
16910         (interp_pre_command_loop, interp_supports_command_editing): Adapt.
16911         (interp_exec): Adapt.
16912         (top_level_interpreter_data): Delete.
16913         * interps.h (interp_init_ftype, interp_resume_ftype)
16914         (interp_suspend_ftype, interp_exec_ftype)
16915         (interp_pre_command_loop_ftype, interp_ui_out_ftype): Delete.
16916         (class interp): New.
16917         (interp_new): Delete.
16918         (interp_set): Now returns void.  Use bool.
16919         (interp_data, top_level_interpreter_data): Delete.
16920         * mi/mi-common.h: Include interps.h.
16921         (class mi_interp): Inherit from interp.  Define a ctor.  Declare
16922         init, resume, suspect, exec, interp_ui_out, set_logging and
16923         pre_command_loop methods.
16924         * mi/mi-interp.c (as_mi_interp): Cast the interp itself.
16925         (mi_interpreter_init): Rename to ...
16926         (mi_interp::init): ... this.  Remove the 'interp' parameter, use
16927         bool, return void and make extern.  Adjust.
16928         (mi_interpreter_resume): ... Rename to ...
16929         (mi_interp::resume): ... this.  Remove the 'data' parameter,
16930         return void and make extern.  Adjust.
16931         (mi_interpreter_suspend): ... Rename to ...
16932         (mi_interp::suspend): ... this.  Remove the 'data' parameter,
16933         return void and make extern.  Adjust.
16934         (mi_interpreter_exec): ... Rename to ...
16935         (mi_interp::exec): ... this.  Remove the 'data' parameter and make
16936         extern.  Adjust.
16937         (mi_interpreter_pre_command_loop): ... Rename to ...
16938         (mi_interp::pre_command_loop): ... this.  Remove the 'self'
16939         parameter and make extern.
16940         (mi_on_normal_stop_1): Adjust.
16941         (mi_ui_out): Rename to ...
16942         (mi_interp::interp_ui_out): ... this.  Remove the 'interp'
16943         parameter and make extern.  Adjust.
16944         (mi_set_logging): Rename to ...
16945         (mi_interp::set_logging): ... this.  Remove the 'interp'
16946         parameter and make extern.  Adjust.
16947         (mi_interp_procs): Delete.
16948         (mi_interp_factory): Adjust to use 'new'.
16949         * mi/mi-main.c (mi_cmd_gdb_exit, captured_mi_execute_command)
16950         (mi_print_exception, mi_execute_command, mi_load_progress):
16951         Adjust.
16952         * tui/tui-interp.c (tui_interp): New class.
16953         (as_tui_interp): Return a tui_interp pointer.
16954         (tui_on_normal_stop, tui_on_signal_received)
16955         (tui_on_end_stepping_range, tui_on_signal_exited, tui_on_exited)
16956         (tui_on_no_history, tui_on_user_selected_context_changed): Adjust
16957         to use interp::interp_ui_out.
16958         (tui_init): Rename to ...
16959         (tui_interp::init): ... this.  Remove the 'self' parameter, use
16960         bool, return void and make extern.  Adjust.
16961         (tui_resume): Rename to ...
16962         (tui_interp::resume): ... this.  Remove the 'data' parameter,
16963         return void and make extern.  Adjust.
16964         (tui_suspend): Rename to ...
16965         (tui_interp::suspend): ... this.  Remove the 'data' parameter,
16966         return void and make extern.  Adjust.
16967         (tui_ui_out): Rename to ...
16968         (tui_interp::interp_ui_out): ... this.  Remove the 'self'
16969         parameter, and make extern.  Adjust.
16970         (tui_exec): Rename to ...
16971         (tui_interp::exec): ... this.  Remove the 'data' parameter and
16972         make extern.
16973         (tui_interp_procs): Delete.
16974         (tui_interp_factory): Use "new".
16975
16976 2017-02-02  Tom Tromey  <tom@tromey.com>
16977
16978         * rust-exp.y (ends_raw_string, space_then_number)
16979         (rust_identifier_start_p): Return bool.
16980         * rust-lang.c (rust_tuple_type_p, rust_underscore_fields)
16981         (rust_tuple_struct_type_p, rust_tuple_variant_type_p)
16982         (rust_slice_type_p, rust_range_type_p, rust_u8_type_p)
16983         (rust_chartype_p): Return bool.
16984         (val_print_struct, rust_print_struct_def, rust_print_type):
16985         Update.
16986         * rust-lang.h (rust_tuple_type_p, rust_tuple_struct_type_p):
16987         Return bool.
16988
16989 2017-02-02  Tom Tromey  <tom@tromey.com>
16990
16991         * rust-lang.c: Reindent.
16992
16993 2017-02-02  Tom Tromey  <tom@tromey.com>
16994
16995         * rust-lang.h (rust_crate_for_block): Update.
16996         * rust-lang.c (rust_crate_for_block): Return std::string.
16997         (rust_get_disr_info): Use std:;string, not
16998         gdb::unique_xmalloc_ptr.
16999         * rust-exp.y (crate_name): Update.
17000
17001 2017-02-02  Pedro Alves  <palves@redhat.com>
17002
17003         * disasm-selftests.c (print_one_insn_test): Move the "verbose"
17004         field out of gdb_disassembler_test and make it static.
17005
17006 2017-02-02  Pedro Alves  <palves@redhat.com>
17007
17008         * mi/mi-common.h (struct mi_interp): Delete the mi2_interp,
17009         mi1_interp and mi_interp fields.
17010
17011 2017-02-02  Pedro Alves  <palves@redhat.com>
17012
17013         * cli/cli-interp.c (struct saved_output_files, saved_output):
17014         Moved from cli/cli-logging.c.
17015         (cli_set_logging): New function.
17016         (cli_interp_procs): Install cli_set_logging.
17017         * cli/cli-interp.h (make_logging_output, cli_set_logging):
17018         Declare.
17019         * cli/cli-logging.c (struct saved_output_files, saved_output):
17020         Moved to cli/cli-interp.c.
17021         (pop_output_files): Don't save outputs here.
17022         (make_logging_output): New function.
17023         (handle_redirections): Don't build tee nor save previous outputs
17024         here.
17025         * interps.c (current_interp_set_logging): Change prototype.
17026         Assume there's always a set_logging_proc method installed.
17027         * interps.h (interp_set_logging_ftype): Change prototype.
17028         (current_interp_set_logging): Change prototype and adjust comment.
17029         * mi/mi-interp.c (mi_set_logging): Change protototype.  Adjust to
17030         use make_logging_output.
17031         * tui/tui-interp.c (tui_interp_procs): Install cli_set_logging.
17032 2017-02-02  Pedro Alves  <palves@redhat.com>
17033
17034         * cli/cli-logging.c (maybe_warn_already_logging): New factored out
17035         from ...
17036         (set_logging_overwrite): ... here.
17037         (logging_no_redirect_file): Delete.
17038         (set_logging_redirect): Don't handle redirection on the fly.
17039         Instead warn that "logging off" / "logging on" is necessary.
17040         (pop_output_files): Delete references to logging_no_redirect_file.
17041         (show_logging_command): Always speak in terms of what will happen
17042         once logging is reenabled.
17043
17044 2017-02-02  Pedro Alves  <palves@redhat.com>
17045
17046         * disasm.h (gdb_pretty_print_disassembler): Tweak intro comment.
17047
17048 2017-02-02  Pedro Alves  <palves@redhat.com>
17049
17050         * disasm.c (gdb_pretty_print_insn): Rename to ...
17051         (gdb_pretty_print_disassembler::pretty_print_insn): ... this.
17052         Remove gdbarch parameter.  Adapt to clear the object's buffers
17053         instead of allocating new buffers, and to print using the object's
17054         gdb_disassembler instead of calling gdb_print_insn.
17055         (dump_insns): Use gdb_pretty_print_disassembler.
17056         * disasm.h (gdb_pretty_print_insn): Delete declaration.
17057         (gdb_pretty_print_disassembler): New class.
17058         * record-btrace.c (btrace_insn_history): Use
17059         gdb_pretty_print_disassembler.
17060
17061 2017-02-02  Pedro Alves  <palves@redhat.com>
17062
17063         * ada-lang.c (type_as_string): Use string_file.
17064         * ada-valprint.c (ada_print_floating): Use string_file.
17065         * ada-varobj.c (ada_varobj_scalar_image)
17066         (ada_varobj_get_value_image): Use string_file.
17067         * aix-thread.c (aix_thread_extra_thread_info): Use string_file.
17068         * arm-tdep.c (_initialize_arm_tdep): Use string_printf.
17069         * breakpoint.c (update_inserted_breakpoint_locations)
17070         (insert_breakpoint_locations, reattach_breakpoints)
17071         (print_breakpoint_location, print_one_detail_ranged_breakpoint)
17072         (print_it_watchpoint): Use string_file.
17073         (save_breakpoints): Use stdio_file.
17074         * c-exp.y (oper): Use string_file.
17075         * cli/cli-logging.c (set_logging_redirect): Use ui_file_up and
17076         tee_file.
17077         (pop_output_files): Use delete.
17078         (handle_redirections): Use stdio_file and tee_file.
17079         * cli/cli-setshow.c (do_show_command): Use string_file.
17080         * compile/compile-c-support.c (c_compute_program): Use
17081         string_file.
17082         * compile/compile-c-symbols.c (generate_vla_size): Take a
17083         'string_file &' instead of a 'ui_file *'.
17084         (generate_c_for_for_one_variable): Take a 'string_file &' instead
17085         of a 'ui_file *'.  Use string_file.
17086         (generate_c_for_variable_locations): Take a 'string_file &'
17087         instead of a 'ui_file *'.
17088         * compile/compile-internal.h (generate_c_for_for_one_variable):
17089         Take a 'string_file &' instead of a 'ui_file *'.
17090         * compile/compile-loc2c.c (push, pushf, unary, binary)
17091         (print_label, pushf_register_address, pushf_register)
17092         (do_compile_dwarf_expr_to_c): Take a 'string_file &' instead of a
17093         'ui_file *'.  Adjust.
17094         * compile/compile.c (compile_to_object): Use string_file.
17095         * compile/compile.h (compile_dwarf_expr_to_c)
17096         (compile_dwarf_bounds_to_c): Take a 'string_file &' instead of a
17097         'ui_file *'.
17098         * cp-support.c (inspect_type): Use string_file and obstack_copy0.
17099         (replace_typedefs_qualified_name): Use string_file and
17100         obstack_copy0.
17101         * disasm.c (gdb_pretty_print_insn): Use string_file.
17102         (gdb_disassembly): Adjust reference the null_stream global.
17103         (do_ui_file_delete): Delete.
17104         (gdb_insn_length): Use null_stream.
17105         * dummy-frame.c (maintenance_print_dummy_frames): Use stdio_file.
17106         * dwarf2loc.c (dwarf2_compile_property_to_c)
17107         (locexpr_generate_c_location, loclist_generate_c_location): Take a
17108         'string_file &' instead of a 'ui_file *'.
17109         * dwarf2loc.h (dwarf2_compile_property_to_c): Likewise.
17110         * dwarf2read.c (do_ui_file_peek_last): Delete.
17111         (dwarf2_compute_name): Use string_file.
17112         * event-top.c (gdb_setup_readline): Use stdio_file.
17113         * gdbarch.sh (verify_gdbarch): Use string_file.
17114         * gdbtypes.c (safe_parse_type): Use null_stream.
17115         * guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Use
17116         string_file.
17117         * guile/scm-disasm.c (gdbscm_print_insn_from_port): Take a
17118         'string_file *' instead of a 'ui_file *'.
17119         (gdbscm_arch_disassemble): Use string_file.
17120         * guile/scm-frame.c (frscm_print_frame_smob): Use string_file.
17121         * guile/scm-ports.c (class ioscm_file_port): Now a class that
17122         inherits from ui_file.
17123         (ioscm_file_port_delete, ioscm_file_port_rewind)
17124         (ioscm_file_port_put): Delete.
17125         (ioscm_file_port_write): Rename to ...
17126         (ioscm_file_port::write): ... this.  Remove file_port_magic
17127         checks.
17128         (ioscm_file_port_new): Delete.
17129         (ioscm_with_output_to_port_worker): Use ioscm_file_port and
17130         ui_file_up.
17131         * guile/scm-type.c (tyscm_type_name): Use string_file.
17132         * guile/scm-value.c (vlscm_print_value_smob, gdbscm_value_print):
17133         Use string_file.
17134         * infcmd.c (print_return_value_1): Use string_file.
17135         * infrun.c (print_target_wait_results): Use string_file.
17136         * language.c (add_language): Use string_file.
17137         * location.c (explicit_to_string_internal): Use string_file.
17138         * main.c (captured_main_1): Use null_file.
17139         * maint.c (maintenance_print_architecture): Use stdio_file.
17140         * mi/mi-cmd-stack.c (list_arg_or_local): Use string_file.
17141         * mi/mi-common.h (struct mi_interp) <out, err, log, targ,
17142         event_channel>: Change type to mi_console_file pointer.
17143         * mi/mi-console.c (mi_console_file_fputs, mi_console_file_flush)
17144         (mi_console_file_delete): Delete.
17145         (struct mi_console_file): Delete.
17146         (mi_console_file_magic): Delete.
17147         (mi_console_file_new): Delete.
17148         (mi_console_file::mi_console_file): New.
17149         (mi_console_file_delete): Delete.
17150         (mi_console_file_fputs): Delete.
17151         (mi_console_file::write): New.
17152         (mi_console_raw_packet): Delete.
17153         (mi_console_file::flush): New.
17154         (mi_console_file_flush): Delete.
17155         (mi_console_set_raw): Rename to ...
17156         (mi_console_file::set_raw): ... this.
17157         * mi/mi-console.h (class mi_console_file): New class.
17158         (mi_console_file_new, mi_console_set_raw): Delete.
17159         * mi/mi-interp.c (mi_interpreter_init): Use mi_console_file.
17160         (mi_set_logging): Use delete and tee_file.  Adjust.
17161         * mi/mi-main.c (output_register): Use string_file.
17162         (mi_cmd_data_evaluate_expression): Use string_file.
17163         (mi_cmd_data_read_memory): Use string_file.
17164         (mi_cmd_execute, print_variable_or_computed): Use string_file.
17165         * mi/mi-out.c (mi_ui_out::main_stream): New.
17166         (mi_ui_out::rewind): Use main_stream and
17167         string_file.
17168         (mi_ui_out::put): Use main_stream and string_file.
17169         (mi_ui_out::mi_ui_out): Remove 'stream' parameter.
17170         Allocate a 'string_file' instead.
17171         (mi_out_new): Don't allocate a mem_fileopen stream here.
17172         * mi/mi-out.h (mi_ui_out::mi_ui_out): Remove 'stream' parameter.
17173         (mi_ui_out::main_stream): Declare method.
17174         * printcmd.c (eval_command): Use string_file.
17175         * psymtab.c (maintenance_print_psymbols): Use stdio_file.
17176         * python/py-arch.c (archpy_disassemble): Use string_file.
17177         * python/py-breakpoint.c (bppy_get_commands): Use string_file.
17178         * python/py-frame.c (frapy_str): Use string_file.
17179         * python/py-framefilter.c (py_print_type, py_print_single_arg):
17180         Use string_file.
17181         * python/py-type.c (typy_str): Use string_file.
17182         * python/py-unwind.c (unwind_infopy_str): Use string_file.
17183         * python/py-value.c (valpy_str): Use string_file.
17184         * record-btrace.c (btrace_insn_history): Use string_file.
17185         * regcache.c (regcache_print): Use stdio_file.
17186         * reggroups.c (maintenance_print_reggroups): Use stdio_file.
17187         * remote.c (escape_buffer): Use string_file.
17188         * rust-lang.c (rust_get_disr_info): Use string_file.
17189         * serial.c (serial_open_ops_1): Use stdio_file.
17190         (do_serial_close): Use delete.
17191         * stack.c (print_frame_arg): Use string_file.
17192         (print_frame_args): Remove local mem_fileopen stream, not used.
17193         (print_frame): Use string_file.
17194         * symmisc.c (maintenance_print_symbols): Use stdio_file.
17195         * symtab.h (struct symbol_computed_ops) <generate_c_location>:
17196         Take a 'string_file *' instead of a 'ui_file *'.
17197         * top.c (new_ui): Use stdio_file and stderr_file.
17198         (free_ui): Use delete.
17199         (execute_command_to_string): Use string_file.
17200         (quit_confirm): Use string_file.
17201         * tracepoint.c (collection_list::append_exp): Use string_file.
17202         * tui/tui-disasm.c (tui_disassemble): Use string_file.
17203         * tui/tui-file.c: Don't include "ui-file.h".
17204         (enum streamtype, struct tui_stream): Delete.
17205         (tui_file_new, tui_file_delete, tui_fileopen, tui_sfileopen)
17206         (tui_file_isatty, tui_file_rewind, tui_file_put): Delete.
17207         (tui_file::tui_file): New method.
17208         (tui_file_fputs): Delete.
17209         (tui_file_get_strbuf): Delete.
17210         (tui_file::puts): New method.
17211         (tui_file_adjust_strbuf): Delete.
17212         (tui_file_flush): Delete.
17213         (tui_file::flush): New method.
17214         * tui/tui-file.h: Tweak intro comment.
17215         Include ui-file.h.
17216         (tui_fileopen, tui_sfileopen, tui_file_get_strbuf)
17217         (tui_file_adjust_strbuf): Delete declarations.
17218         (class tui_file): New class.
17219         * tui/tui-io.c (tui_initialize_io): Use tui_file.
17220         * tui/tui-regs.c (tui_restore_gdbout): Use delete.
17221         (tui_register_format): Use string_stream.
17222         * tui/tui-stack.c (tui_make_status_line): Use string_file.
17223         (tui_get_function_from_frame): Use string_file.
17224         * typeprint.c (type_to_string): Use string_file.
17225         * ui-file.c (struct ui_file, ui_file_magic, ui_file_new): Delete.
17226         (null_stream): New global.
17227         (ui_file_delete): Delete.
17228         (ui_file::ui_file): New.
17229         (null_file_isatty): Delete.
17230         (ui_file::~ui_file): New.
17231         (null_file_rewind): Delete.
17232         (ui_file::printf): New.
17233         (null_file_put): Delete.
17234         (null_file_flush): Delete.
17235         (ui_file::putstr): New.
17236         (null_file_write): Delete.
17237         (ui_file::putstrn): New.
17238         (null_file_read): Delete.
17239         (ui_file::putc): New.
17240         (null_file_fputs): Delete.
17241         (null_file_write_async_safe): Delete.
17242         (ui_file::vprintf): New.
17243         (null_file_delete): Delete.
17244         (null_file::write): New.
17245         (null_file_fseek): Delete.
17246         (null_file::puts): New.
17247         (ui_file_data): Delete.
17248         (null_file::write_async_safe): New.
17249         (gdb_flush, ui_file_isatty): Adjust.
17250         (ui_file_put, ui_file_rewind): Delete.
17251         (ui_file_write): Adjust.
17252         (ui_file_write_for_put): Delete.
17253         (ui_file_write_async_safe, ui_file_read): Adjust.
17254         (ui_file_fseek): Delete.
17255         (fputs_unfiltered): Adjust.
17256         (set_ui_file_flush, set_ui_file_isatty, set_ui_file_rewind)
17257         (set_ui_file_put, set_ui_file_write, set_ui_file_write_async_safe)
17258         (set_ui_file_read, set_ui_file_fputs, set_ui_file_fseek)
17259         (set_ui_file_data): Delete.
17260         (string_file::~string_file, string_file::write)
17261         (struct accumulated_ui_file, do_ui_file_xstrdup, ui_file_xstrdup)
17262         (do_ui_file_as_string, ui_file_as_string): Delete.
17263         (do_ui_file_obsavestring, ui_file_obsavestring): Delete.
17264         (struct mem_file): Delete.
17265         (mem_file_new): Delete.
17266         (stdio_file::stdio_file): New.
17267         (mem_file_delete): Delete.
17268         (stdio_file::stdio_file): New.
17269         (mem_fileopen): Delete.
17270         (stdio_file::~stdio_file): New.
17271         (mem_file_rewind): Delete.
17272         (stdio_file::set_stream): New.
17273         (mem_file_put): Delete.
17274         (stdio_file::open): New.
17275         (mem_file_write): Delete.
17276         (stdio_file_magic, struct stdio_file): Delete.
17277         (stdio_file_new, stdio_file_delete, stdio_file_flush): Delete.
17278         (stdio_file::flush): New.
17279         (stdio_file_read): Rename to ...
17280         (stdio_file::read): ... this.  Adjust.
17281         (stdio_file_write): Rename to ...
17282         (stdio_file::write): ... this.  Adjust.
17283         (stdio_file_write_async_safe): Rename to ...
17284         (stdio_file::write_async_safe) ... this.  Adjust.
17285         (stdio_file_fputs): Rename to ...
17286         (stdio_file::puts) ... this.  Adjust.
17287         (stdio_file_isatty): Delete.
17288         (stdio_file_fseek): Delete.
17289         (stdio_file::isatty): New.
17290         (stderr_file_write): Rename to ...
17291         (stderr_file::write) ... this.  Adjust.
17292         (stderr_file_fputs): Rename to ...
17293         (stderr_file::puts) ... this.  Adjust.
17294         (stderr_fileopen, stdio_fileopen, gdb_fopen): Delete.
17295         (stderr_file::stderr_file): New.
17296         (tee_file_magic): Delete.
17297         (struct tee_file): Delete.
17298         (tee_file::tee_file): New.
17299         (tee_file_new): Delete.
17300         (tee_file::~tee_file): New.
17301         (tee_file_delete): Delete.
17302         (tee_file_flush): Rename to ...
17303         (tee_file::flush): ... this.  Adjust.
17304         (tee_file_write): Rename to ...
17305         (tee_file::write): ... this.  Adjust.
17306         (tee_file::write_async_safe): New.
17307         (tee_file_fputs): Rename to ...
17308         (tee_file::puts): ... this.  Adjust.
17309         (tee_file_isatty): Rename to ...
17310         (tee_file::isatty): ... this.  Adjust.
17311         * ui-file.h (struct obstack, struct ui_file): Don't
17312         forward-declare.
17313         (ui_file_new, ui_file_flush_ftype, set_ui_file_flush)
17314         (ui_file_write_ftype)
17315         (set_ui_file_write, ui_file_fputs_ftype, set_ui_file_fputs)
17316         (ui_file_write_async_safe_ftype, set_ui_file_write_async_safe)
17317         (ui_file_read_ftype, set_ui_file_read, ui_file_isatty_ftype)
17318         (set_ui_file_isatty, ui_file_rewind_ftype, set_ui_file_rewind)
17319         (ui_file_put_method_ftype, ui_file_put_ftype, set_ui_file_put)
17320         (ui_file_delete_ftype, set_ui_file_data, ui_file_fseek_ftype)
17321         (set_ui_file_fseek): Delete.
17322         (ui_file_data, ui_file_delete, ui_file_rewind)
17323         (struct ui_file): New.
17324         (ui_file_up): New.
17325         (class null_file): New.
17326         (null_stream): Declare.
17327         (ui_file_write_for_put, ui_file_put): Delete.
17328         (ui_file_xstrdup, ui_file_as_string, ui_file_obsavestring):
17329         Delete.
17330         (ui_file_fseek, mem_fileopen, stdio_fileopen, stderr_fileopen)
17331         (gdb_fopen, tee_file_new): Delete.
17332         (struct string_file): New.
17333         (struct stdio_file): New.
17334         (stdio_file_up): New.
17335         (struct stderr_file): New.
17336         (class tee_file): New.
17337         * ui-out.c (ui_out::field_stream): Take a 'string_file &' instead
17338         of a 'ui_file *'.  Adjust.
17339         * ui-out.h (class ui_out) <field_stream>: Likewise.
17340         * utils.c (do_ui_file_delete, make_cleanup_ui_file_delete)
17341         (null_stream): Delete.
17342         (error_stream): Take a 'string_file &' instead of a 'ui_file *'.
17343         Adjust.
17344         * utils.h (struct ui_file): Delete forward declaration..
17345         (make_cleanup_ui_file_delete, null_stream): Delete declarations.
17346         (error_stream): Take a 'string_file &' instead of a
17347         'ui_file *'.
17348         * varobj.c (varobj_value_get_print_value): Use string_file.
17349         * xtensa-tdep.c (xtensa_verify_config): Use string_file.
17350         * gdbarch.c: Regenerate.
17351
17352 2017-02-02  Pedro Alves  <palves@redhat.com>
17353
17354         * disasm.c (gdb_disassembler::pretty_print_insn): Rename to...
17355         (gdb_pretty_print_insn): ... this.  Now a free function.  Add back
17356         a 'gdbarch' parameter.  Allocate a mem_fileopen stream here.
17357         Adjust to call gdb_print_insn instead of
17358         gdb_disassembler::print_insn.
17359         (dump_insns, do_mixed_source_and_assembly_deprecated)
17360         (do_mixed_source_and_assembly, do_assembly_only): Add back a
17361         'gdbarch' parameter.  Remove gdb_disassembler parameter.
17362         (gdb_disassembly): Don't allocate a gdb_disassembler here.
17363         * disasm.h (gdb_disassembler::pretty_print_insn): Delete
17364         declaration.
17365         (gdb_pretty_print_insn): Re-add declaration.
17366         * record-btrace.c (btrace_insn_history): Don't allocate a
17367         gdb_disassembler here.  Adjust to call gdb_pretty_print_insn.
17368
17369 2017-02-01  Simon Marchi  <simon.marchi@polymtl.ca>
17370
17371         * disasm.h (gdb_disassembly): Remove file_string parameter.
17372         * disasm.c (gdb_disassembly): Likewise.
17373         * cli/cli-cmds.c (print_disassembly): Adapt.
17374         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Likewise.
17375         * stack.c (do_gdb_disassembly): Likewise.
17376
17377 2017-02-01  Andreas Arnez  <arnez@linux.vnet.ibm.com>
17378
17379         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): For
17380         DWARF_VALUE_LITERAL, no longer ignore the offset on big-endian
17381         targets.  And if the implicit value is longer than needed, extract
17382         the first bytes instead of the "least significant" ones.
17383
17384 2017-02-01  Markus Metzger  <markus.t.metzger@intel.com>
17385
17386         * btrace.c (btrace_enable): Do not call btrace_add_pc for
17387         BTRACE_FORMAT_PT or if can_access_registers_ptid returns false.
17388         (btrace_fetch): Assert can_access_registers_ptid.
17389         * record-btrace.c (require_btrace_thread, record_btrace_info): Call
17390         validate_registers_access.
17391
17392 2017-02-01  Markus Metzger  <markus.t.metzger@intel.com>
17393
17394         * gdbthread.h (can_access_registers_ptid): New.
17395         * thread.c (can_access_registers_ptid): New.
17396
17397 2017-02-01  Pedro Alves  <palves@redhat.com>
17398
17399         * i386-tdep.c (i386_fast_tracepoint_valid_at): Use gdb_insn_length.
17400
17401 2017-01-31  Pedro Alves  <palves@redhat.com>
17402
17403         * mi/mi-interp.c (mi_breakpoint_created, mi_breakpoint_modified):
17404         Fix typos.
17405
17406 2017-01-31  Pedro Alves  <palves@redhat.com>
17407
17408         * stack.c (print_frame_args): Remove local mem_fileopen stream,
17409         not used.
17410
17411 2017-01-31  Pedro Alves  <palves@redhat.com>
17412
17413         * varobj.c (varobj_value_get_print_value): Remove xstrdup call.
17414
17415 2017-01-31  Pedro Alves  <palves@redhat.com>
17416
17417         * common/scoped_restore.h
17418         (scoped_restore_tmpl::scoped_restore_tmpl): Template on T2, and
17419         change the value's parameter type to T2.
17420         (make_scoped_restore): Likewise.
17421
17422 2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
17423             Richard Henderson  <rth@redhat.com>
17424
17425         * amd64-linux-nat.c (PTRACE_ARCH_PRCTL): New define.
17426         (amd64_linux_fetch_inferior_registers): Add case to fetch FS_BASE
17427         GS_BASE for older kernels.
17428         (amd64_linux_store_inferior_registers): Add case to store FS_BASE
17429         GS_BASE for older kernels.
17430         * amd64-linux-tdep.c (amd64_linux_gregset_reg_offset): Add FS_BASE
17431         and GS_BASE to the offset table.
17432         (amd64_linux_register_reggroup_p): Add FS_BASE and GS_BASE to the
17433         system register group.
17434         * amd64-nat.c (amd64_native_gregset_reg_offset): Implements case
17435         for older kernels.
17436         * amd64-tdep.c (amd64_init_abi): Add segment registers for the
17437         amd64 ABI.
17438         * amd64-tdep.h (amd64_regnum): Add AMD64_FSBASE_REGNUM and
17439         AMD64_GSBASE_REGNUM.
17440         (AMD64_NUM_REGS): Set to AMD64_GSBASE_REGNUM + 1.
17441         * features/Makefile (amd64-linux.dat, amd64-avx-linux.dat)
17442         (amd64-mpx-linux.dat, amd64-avx512-linux.dat, x32-linux.dat)
17443         (x32-avx-linux.dat, x32-avx512-linux.dat): Add
17444         i386/64bit-segments.xml in those rules.
17445         * features/i386/64bit-segments.xml: New file.
17446         * features/i386/amd64-avx-mpx-linux.xml: Add 64bit-segments.xml.
17447         * features/i386/amd64-avx-linux.xml: Add 64bit-segments.xml.
17448         * features/i386/amd64-avx512-linux.xml: Add 64bit-segments.xml.
17449         * features/i386/amd64-mpx-linux.xml: Add 64bit-segments.xml.
17450         * features/i386/x32-avx512-linux.xml: Add 64bit-segments.xml.
17451         * features/i386/x32-avx-linux.xml: Add 64bit-segments.xml.
17452         * features/i386/amd64-linux.xml: Add 64bit-segments.xml.
17453         * features/i386/amd64-avx-linux.c: Regenerated.
17454         * features/i386/amd64-avx-mpx-linux.c: Regenerated.
17455         * features/i386/amd64-avx-mpx.c: Regenerated.
17456         * features/i386/amd64-avx512-linux.c: Regenerated.
17457         * features/i386/amd64-linux.c: Regenerated.
17458         * features/i386/amd64-mpx-linux.c: Regenerated.
17459         * features/i386/i386-avx-mpx-linux.c: Regenerated.
17460         * features/i386/i386-avx-mpx.c: Regenerated.
17461         * features/i386/x32-avx-linux.c: Regenerated.
17462         * features/i386/x32-avx512-linux.c: Regenerated.
17463         * regformats/i386/amd64-avx-linux.dat: Regenerated.
17464         * regformats/i386/amd64-avx-mpx-linux.dat: Regenerated.
17465         * regformats/i386/amd64-avx512-linux.dat: Regenerated.
17466         * regformats/i386/amd64-linux.dat: Regenerated.
17467         * regformats/i386/amd64-mpx-linux.dat: Regenerated.
17468         * regformats/i386/x32-avx-linux.dat: Regenerated.
17469         * regformats/i386/x32-avx512-linux.dat: Regenerated.
17470         * regformats/i386/x32-linux.dat: Regenerated.
17471
17472 2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
17473
17474         * amd64-linux-tdep.h (AMD64_LINUX_ORIG_RAX_REGNUM):
17475         Set to AMD64_NUM_REGS.
17476
17477 2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
17478
17479         * amd64-nat.c (amd64_native_gregset_reg_offset): Simplify logic
17480         that checks validity of a register number.
17481
17482 2017-01-27  Kees Cook  <keescook@google.com>
17483
17484         * gdb/arm-linux-nat.c (arm_linux_fetch_inferior_registers): Call
17485         fetch_fpregs if target has fpa registers.
17486         (arm_linux_store_inferior_registers): Call store_fpregs if target
17487         has fpa registers.
17488
17489 2017-01-26  Andreas Arnez  <arnez@linux.vnet.ibm.com>
17490
17491         * cris-tdep.c (cris_gdbarch_init): Remove check for
17492         info.byte_order and force it to BFD_ENDIAN_LITTLE.
17493
17494 2017-01-26  Antoine Tremblay  <antoine.tremblay@ericsson.com>
17495
17496         * corelow.c (get_core_register_section): Check for regset
17497         existence before checking for REGSET_VARIABLE_SIZE.
17498
17499 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17500             Pedro Alves  <palves@redhat.com>
17501
17502         PR gdb/20939
17503         * disasm.c (gdb_disassembler::dis_asm_memory_error): Don't
17504         call memory_error, save memaddr instead.
17505         (gdb_disassembler::print_insn): If gdbarch_print_insn returns
17506         negative, cal memory_error.
17507         * disasm.h (gdb_disassembler) <m_err_memaddr>: New field.
17508
17509 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17510
17511         * disasm-selftests.c (memory_error_test): New function.
17512         (_initialize_disasm_selftests): Register memory_error_test.
17513
17514 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17515
17516         * Makefile.in (SFILES): Add disasm-selftests.c and
17517         selftest-arch.c.
17518         (COMMON_OBS): Add disasm-selftests.o and selftest-arch.o.
17519         * disasm-selftests.c: New file.
17520         * selftest-arch.c: New file.
17521         * selftest-arch.h: New file.
17522
17523 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17524
17525         * mep-tdep.c (mep_gdb_print_insn): Set info->arch
17526         to bfd_arch_mep.  Don't return 0 if section is not
17527         found.  Call print_insn_mep.
17528
17529 2017-01-26  Pedro Alves  <palves@redhat.com>
17530             Yao Qi  <yao.qi@linaro.org>
17531
17532         * arm-tdep.c: Include "disasm.h".
17533         (gdb_print_insn_arm): Update code to get gdbarch.
17534         * disasm.c (dis_asm_read_memory): Change it to
17535         gdb_disassembler::dis_asm_read_memory.
17536         (dis_asm_memory_error): Likewise.
17537         (dis_asm_print_address): Likewise.
17538         (gdb_pretty_print_insn): Change it to
17539         gdb_disassembler::pretty_print_insn.
17540         (dump_insns): Add one argument gdb_disassemlber.  All
17541         callers updated.
17542         (do_mixed_source_and_assembly_deprecated): Likewise.
17543         (do_mixed_source_and_assembly): Likewise.
17544         (do_assembly_only): Likewise.
17545         (gdb_disassembler::gdb_disassembler): New.
17546         (gdb_disassembler::print_insn): New.
17547         * disasm.h (class gdb_disassembler): New.
17548         (gdb_pretty_print_insn): Remove declaration.
17549         (gdb_disassemble_info): Likewise.
17550         * guile/scm-disasm.c (class gdbscm_disassembler): New.
17551         (gdbscm_disasm_read_memory_worker): Update.
17552         (gdbscm_disasm_read_memory): Update.
17553         (gdbscm_disasm_memory_error): Remove.
17554         (gdbscm_disasm_print_address): Remove.
17555         (gdbscm_disassembler::gdbscm_disassembler): New.
17556         (gdbscm_print_insn_from_port): Update.
17557         * mips-tdep.c: Include disasm.h.
17558         (gdb_print_insn_mips): Update code to get gdbarch.
17559         * record-btrace.c (btrace_insn_history): Update.
17560         * spu-tdep.c: Include disasm.h.
17561         (struct spu_dis_asm_data): Remove.
17562         (struct spu_dis_asm_info): New.
17563         (spu_dis_asm_print_address): Use spu_dis_asm_info to get
17564         SPU id.
17565         (gdb_print_insn_spu): Cast disassemble_info to
17566         spu_dis_asm_info.
17567
17568 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17569
17570         * disasm.c (do_ui_file_delete): Delete.
17571         (gdb_insn_length): Move code creating stream to ...
17572         * utils.c (null_stream): ... here.  New function.
17573         * utils.h (null_stream): Declare.
17574
17575 2017-01-23  Simon Marchi  <simon.marchi@polymtl.ca>
17576
17577         * python/py-inferior.c (find_thread_object): Return directly
17578         from the loop.  Remove "found" variable.
17579
17580 2017-01-21  Joel Brobecker  <brobecker@adacore.com>
17581
17582         GDB 7.12.1 released.
17583
17584 2017-01-20  Simon Marchi  <simon.marchi@ericsson.com>
17585
17586         * python/py-function.c (fnpy_call): Reorder declarations to have
17587         the gdbpy_enter object declared first.
17588         * python/py-xmethods.c (gdbpy_get_xmethod_arg_types): Likewise.
17589
17590 2017-01-20  Simon Marchi  <simon.marchi@ericsson.com>
17591
17592         PR python/21068
17593         * python/python-internal.h (PyMem_RawMalloc): Define for
17594         Python < 3.4.
17595         * python/py-gdb-readline.c (gdbpy_readline_wrapper): Use
17596         PyMem_RawMalloc instead of PyMem_Malloc.
17597
17598 2017-01-20  Mike Wrighton  <mike_wrighton@codesourcery.com>
17599             Luis Machado  <lgustavo@codesourcery.com>
17600
17601         * NEWS (New commands): Mention flash-erase.
17602         (New MI commands): Mention target-flash-erase.
17603         * mi/mi-cmds.c (mi_cmd_target_flash_erase): Add target-flash-erase MI
17604         command.
17605         * mi/mi-cmds.h (mi_cmd_target_flash_erase): New declaration.
17606         * mi/mi-main.c (mi_cmd_target_flash_erase): New function.
17607         * target.c (flash_erase_command): New function.
17608         (initialize_targets): Add new flash-erase command.
17609         * target.h (flash_erase_command): New declaration.
17610
17611 2017-01-20  Joel Brobecker  <brobecker@adacore.com>
17612
17613         * nat/linux-ptrace.c: Only include <sys/procfs.h> if
17614         HAVE_SYS_PROCFS_H is defined.
17615
17616 2017-01-18  Alan Hayward  <alan.hayward@arm.com>
17617
17618         * remote.c (struct cached_reg): Change data into a pointer.
17619         * (stop_reply_dtr): Free data pointers before deleting vector.
17620         (process_stop_reply): Likewise.
17621         (remote_parse_stop_reply): Allocate space for data
17622
17623 2017-01-18  Alan Hayward  <alan.hayward@arm.com>
17624
17625         * amd64-tdep.c (amd64_pseudo_register_read_value): remove
17626         MAX_REGISTER_SIZE.
17627         (amd64_pseudo_register_read_value): Likewise.
17628         * remote.c (fetch_register_using_p): Remove MAX_REGISTER_SIZE.
17629         (store_register_using_P): Likewise.
17630         * regcache.c (regcache_xfer_part): Likewise.
17631
17632 2017-01-16  Ivo Raisr  <ivo.raisr@oracle.com>
17633
17634         Split real and pseudo registers.
17635         * sparc-tdep.h (SPARC_CORE_REGISTERS): New macro.
17636         (sparc32_pseudo_regnum): New enum.
17637         * sparc64-tdep.h (sparc64_pseudo_regnum): New enum.
17638         * sparc-tdep.c (SPARC32_FPU_REGISTERS): New macro.
17639         (SPARC32_CP0_REGISTERS): New macro.
17640         (sparc32_pseudo_register_name): New function.
17641         (sparc32_register_name): Use sparc32_pseudo_register_name.
17642         (sparc32_pseudo_register_type): New function.
17643         (sparc32_register_type): Use sparc32_pseudo_register_type.
17644         (sparc32_pseudo_register_read, sparc32_pseudo_register_write): Handle
17645         pseudo register numbers.
17646         * sparc64-tdep.c SPARC64_FPU_REGISTERS): New macro.
17647         (SPARC64_CP0_REGISTERS): New macro.
17648         (sparc64_pseudo_register_name): New function.
17649         (sparc64_register_name): Use sparc64_pseudo_register_name.
17650         (sparc64_pseudo_register_type): New function.
17651         (sparc64_register_type): Use sparc64_pseudo_register_type.
17652         (sparc64_pseudo_register_read, sparc64_pseudo_register_write): Handle
17653         pseudo register numbers.
17654         (sparc64_store_floating_fields, sparc64_extract_floating_fields,
17655         sparc64_store_arguments): Handle pseudo register numbers.
17656
17657 2017-01-13  Yao Qi  <yao.qi@linaro.org>
17658
17659         * remote.c (REMOTE_DEBUG_MAX_CHAR): New macro.
17660         (putpkt_binary): Print only REMOTE_DEBUG_MAX_CHAR chars in debug
17661         output.
17662         (getpkt_or_notif_sane_1): Likewise.
17663
17664 2017-01-13  Yao Qi  <yao.qi@linaro.org>
17665
17666         * Makefile.in (checker-headers): Use CXX and CXX_DIALET instead
17667         of CC.  Pass "-x c++-header" instead of "-x c".
17668
17669 2017-01-12  Simon Marchi  <simon.marchi@ericsson.com>
17670
17671         * remote.c (remote_can_async_p): Update comment.
17672
17673 2017-01-12  Simon Marchi  <simon.marchi@ericsson.com>
17674
17675         * linux-nat.c (linux_nat_can_async_p): Update comment.
17676
17677 2017-01-12  Simon Marchi  <simon.marchi@ericsson.com>
17678
17679         * serial.c (serial_open): Forget about "pc" and "lpt" serial interface.
17680
17681 2017-01-11  Simon Marchi  <simon.marchi@ericsson.com>
17682
17683         * cli/cli-decode.c (lookup_cmd_1): Fix typo in comment.
17684
17685 2017-01-10  Tom Tromey  <tom@tromey.com>
17686
17687         * python/py-type.c (typy_legacy_template_argument): Update.
17688         * cp-support.h (struct demangle_parse_info) (demangle_parse_info,
17689         ~demangle_parse_info): Declare new members.
17690         (cp_demangled_name_to_comp): Return unique_ptr.
17691         (cp_demangled_name_parse_free)
17692         (make_cleanup_cp_demangled_name_parse_free)
17693         (cp_new_demangle_parse_info): Remove.
17694         * cp-support.c (do_demangled_name_parse_free_cleanup)
17695         (make_cleanup_cp_demangled_name_parse_free): Remove.
17696         (inspect_type, cp_canonicalize_string_full)
17697         (cp_canonicalize_string): Update.
17698         (mangled_name_to_comp): Change return type.
17699         (cp_class_name_from_physname, method_name_from_physname)
17700         (cp_func_name, cp_remove_params): Update.
17701         * cp-name-parser.y (demangle_parse_info): New constructor, from
17702         cp_new_demangle_parse_info.
17703         (~demangle_parse_info): New destructor, from
17704         cp_demangled_name_parse_free.
17705         (cp_merge_demangle_parse_infos): Update.
17706         (cp_demangled_name_to_comp): Change return type.
17707
17708 2017-01-10  Tom Tromey  <tom@tromey.com>
17709
17710         * top.c (prevent_dont_repeat): Change return type.
17711         * python/python.c (execute_gdb_command): Use std::string.
17712         Update.
17713         * guile/guile.c (gdbscm_execute_gdb_command): Update.
17714         * command.h (prevent_dont_repeat): Change return type.
17715         * breakpoint.c (bpstat_do_actions_1): Update.
17716
17717 2017-01-10  Tom Tromey  <tom@tromey.com>
17718
17719         * value.h (scoped_value_mark::~scoped_value_mark): Call
17720         free_to_mark.
17721         (scoped_value_mark::free_to_mark): New method.
17722         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use
17723         scoped_value_mark.
17724
17725 2017-01-10  Tom Tromey  <tom@tromey.com>
17726
17727         * python/py-value.c (valpy_dereference, valpy_referenced_value)
17728         (valpy_reference_value, valpy_const_value, valpy_get_address)
17729         (valpy_get_dynamic_type, valpy_lazy_string, valpy_do_cast)
17730         (valpy_getitem, valpy_call, valpy_binop_throw, valpy_negative)
17731         (valpy_absolute, valpy_richcompare_throw): Use scoped_value_mark.
17732         * dwarf2loc.c (dwarf2_loc_desc_get_symbol_read_needs): Use
17733         scoped_value_mark.
17734         * dwarf2-frame.c (execute_stack_op): Use scoped_value_mark.
17735         * value.h (scoped_value_mark): New class.
17736
17737 2017-01-10  Tom Tromey  <tom@tromey.com>
17738
17739         * dwarf2read.c (dwarf2_build_psymtabs): Use psymtab_discarder.
17740         * psympriv.h (make_cleanup_discard_psymtabs): Don't declare.
17741         * psymtab.c (discard_psymtabs_upto): Remove.
17742         (make_cleanup_discard_psymtabs): Remove.
17743         (struct psymtab_state): Remove.
17744
17745 2017-01-10  Tom Tromey  <tom@tromey.com>
17746
17747         * record-full.c (record_full_save_cleanups): Remove.
17748         (record_full_save): Use gdb::unlinker.
17749         * gcore.c (do_bfd_delete_cleanup): Remove.
17750         (gcore_command): Use gdb::unlinker, unique_xmalloc_ptr.  Remove
17751         cleanups.
17752         * dwarf2read.c (unlink_if_set): Remove.
17753         (write_psymtabs_to_index): Use gdb::unlinker.
17754         * common/gdb_unlinker.h: New file.
17755
17756 2017-01-10  Tom Tromey  <tom@tromey.com>
17757
17758         * windows-tdep.c (windows_xfer_shared_library): Update.
17759         * windows-nat.c (windows_make_so): Update.
17760         * utils.h (make_cleanup_bfd_unref): Remove.
17761         * utils.c (do_bfd_close_cleanup, make_cleanup_bfd_unref): Remove.
17762         * symfile.h (symfile_bfd_open)
17763         (find_separate_debug_file_in_section): Return gdb_bfd_ref_ptr.
17764         * symfile.c (read_symbols, symbol_file_add)
17765         (separate_debug_file_exists): Update.
17766         (symfile_bfd_open): Return gdb_bfd_ref_ptr.
17767         (generic_load, reread_symbols): Update.
17768         * symfile-mem.c (symbol_file_add_from_memory): Update.
17769         * spu-linux-nat.c (spu_bfd_open): Return gdb_bfd_ref_ptr.
17770         (spu_symbol_file_add_from_memory): Update.
17771         * solist.h (struct target_so_ops) <bfd_open>: Return
17772         gdb_bfd_ref_ptr.
17773         (solib_bfd_fopen, solib_bfd_open): Return gdb_bfd_ref_ptr.
17774         * solib.c (solib_bfd_fopen, solib_bfd_open): Return
17775         gdb_bfd_ref_ptr.
17776         (solib_map_sections, reload_shared_libraries_1): Update.
17777         * solib-svr4.c (enable_break): Update.
17778         * solib-spu.c (spu_bfd_fopen): Return gdb_bfd_ref_ptr.
17779         * solib-frv.c (enable_break2): Update.
17780         * solib-dsbt.c (enable_break): Update.
17781         * solib-darwin.c (gdb_bfd_mach_o_fat_extract): Return
17782         gdb_bfd_ref_ptr.
17783         (darwin_solib_get_all_image_info_addr_at_init): Update.
17784         (darwin_bfd_open): Return gdb_bfd_ref_ptr.
17785         * solib-aix.c (solib_aix_bfd_open): Return gdb_bfd_ref_ptr.
17786         * record-full.c (record_full_save): Update.
17787         * python/py-objfile.c (objfpy_add_separate_debug_file): Update.
17788         * procfs.c (insert_dbx_link_bpt_in_file): Update.
17789         * minidebug.c (find_separate_debug_file_in_section): Return
17790         gdb_bfd_ref_ptr.
17791         * machoread.c (macho_add_oso_symfile): Change abfd to
17792         gdb_bfd_ref_ptr.
17793         (macho_symfile_read_all_oso): Update.
17794         (macho_check_dsym): Return gdb_bfd_ref_ptr.
17795         (macho_symfile_read): Update.
17796         * jit.c (bfd_open_from_target_memory): Return gdb_bfd_ref_ptr.
17797         (jit_bfd_try_read_symtab): Update.
17798         * gdb_bfd.h (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
17799         (gdb_bfd_openw, gdb_bfd_openr_iovec)
17800         (gdb_bfd_openr_next_archived_file, gdb_bfd_fdopenr): Return
17801         gdb_bfd_ref_ptr.
17802         (gdb_bfd_ref_policy): New struct.
17803         (gdb_bfd_ref_ptr): New typedef.
17804         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
17805         (gdb_bfd_openw, gdb_bfd_openr_iovec)
17806         (gdb_bfd_openr_next_archived_file, gdb_bfd_fdopenr): Return
17807         gdb_bfd_ref_ptr.
17808         * gcore.h (create_gcore_bfd): Return gdb_bfd_ref_ptr.
17809         * gcore.c (create_gcore_bfd): Return gdb_bfd_ref_ptr.
17810         (gcore_command): Update.
17811         * exec.c (exec_file_attach): Update.
17812         * elfread.c (elf_symfile_read): Update.
17813         * dwarf2read.c (dwarf2_get_dwz_file): Update.
17814         (try_open_dwop_file, open_dwo_file): Return gdb_bfd_ref_ptr.
17815         (open_and_init_dwo_file): Update.
17816         (open_dwp_file): Return gdb_bfd_ref_ptr.
17817         (open_and_init_dwp_file): Update.
17818         * corelow.c (core_open): Update.
17819         * compile/compile-object-load.c (compile_object_load): Update.
17820         * common/gdb_ref_ptr.h (ref_ptr::operator->): New operator.
17821         * coffread.c (coff_symfile_read): Update.
17822         * cli/cli-dump.c (bfd_openr_or_error, bfd_openw_or_error): Return
17823         gdb_bfd_ref_ptr.  Rename.
17824         (dump_bfd_file, restore_command): Update.
17825         * build-id.h (build_id_to_debug_bfd): Return gdb_bfd_ref_ptr.
17826         * build-id.c (build_id_to_debug_bfd): Return gdb_bfd_ref_ptr.
17827         (find_separate_debug_file_by_buildid): Update.
17828
17829 2017-01-10  Tom Tromey  <tom@tromey.com>
17830
17831         * common/gdb_ref_ptr.h: New file.
17832         * python/py-ref.h (struct gdbpy_ref_policy): New.
17833         (gdbpy_ref): Now a typedef.
17834
17835 2017-01-10  Tom Tromey  <tom@tromey.com>
17836
17837         * utils.h (make_cleanup_htab_delete): Don't declare.
17838         * utils.c (do_htab_delete_cleanup, make_cleanup_htab_delete):
17839         Remove.
17840         * linespec.c (decode_compound_collector): Add constructor,
17841         destructor.
17842         (lookup_prefix_sym): Remove cleanup.
17843         (symtab_collector): Add constructor, destructor.
17844         (collect_symtabs_from_filename): Remove cleanup.
17845         * disasm.c (do_mixed_source_and_assembly): Use htab_up.
17846         * compile/compile-c-symbols.c (generate_c_for_variable_locations):
17847         Use htab_up.
17848         * gnu-v3-abi.c (gnuv3_print_vtable): Use htab_up.
17849         * dwarf2read.c (dw2_expand_symtabs_matching)
17850         (dw2_map_symbol_filenames, dwarf_decode_macros)
17851         (write_psymtabs_to_index): Use htab_up.
17852         * dwarf2loc.c (func_verify_no_selftailcall)
17853         (call_site_find_chain_1, func_verify_no_selftailcall)
17854         (chain_candidate, call_site_find_chain_1): Use std::unordered_set,
17855         std::vector, gdb::unique_xmalloc_ptr.
17856         (call_sitep): Remove typedef.
17857         (dwarf2_locexpr_baton_eval): Remove unused variable.
17858
17859 2017-01-10  Tom Tromey  <tom@tromey.com>
17860
17861         * python/python-internal.h (make_cleanup_py_decref)
17862         (make_cleanup_py_xdecref): Don't declare.
17863         * python/py-utils.c (py_decref, make_cleanup_py_decref)
17864         (py_xdecref, make_cleanup_py_xdecref): Remove.
17865
17866 2017-01-10  Tom Tromey  <tom@tromey.com>
17867
17868         * python/py-framefilter.c (py_mi_print_variables): Use gdbpy_ref.
17869         (py_print_locals, enumerate_locals, py_print_args): Use gdbpy_ref.
17870
17871 2017-01-10  Tom Tromey  <tom@tromey.com>
17872
17873         * python/py-framefilter.c (enumerate_args): Use gdbpy_ref.
17874
17875 2017-01-10  Tom Tromey  <tom@tromey.com>
17876
17877         * python/py-utils.c (unicode_to_encoded_string)
17878         (python_string_to_target_string)
17879         (python_string_to_target_python_string)
17880         (python_string_to_host_string, gdbpy_obj_to_string)
17881         (get_addr_from_python): Use gdbpy_ref.
17882
17883 2017-01-10  Tom Tromey  <tom@tromey.com>
17884
17885         * python/py-unwind.c (pyuw_object_attribute_to_pointer): Use
17886         gdbpy_ref.
17887
17888 2017-01-10  Tom Tromey  <tom@tromey.com>
17889
17890         * python/python.c (eval_python_command, gdbpy_decode_line)
17891         (gdbpy_run_events, gdbpy_start_type_printers)
17892         (gdbpy_apply_type_printers): Use gdbpy_ref.
17893
17894 2017-01-10  Tom Tromey  <tom@tromey.com>
17895
17896         * python/py-param.c (get_doc_string, compute_enum_values): Use
17897         gdbpy_ref.
17898
17899 2017-01-10  Tom Tromey  <tom@tromey.com>
17900
17901         * python/py-inferior.c (find_thread_object, build_inferior_list):
17902         Use gdbpy_ref.
17903
17904 2017-01-10  Tom Tromey  <tom@tromey.com>
17905
17906         * python/py-framefilter.c (py_print_frame): Use gdbpy_ref.
17907
17908 2017-01-10  Tom Tromey  <tom@tromey.com>
17909
17910         * python/py-finishbreakpoint.c (bpfinishpy_out_of_scope): Use
17911         gdbpy_ref.
17912
17913 2017-01-10  Tom Tromey  <tom@tromey.com>
17914
17915         * python/py-cmd.c (cmdpy_completer_helper): Use gdbpy_ref.  Remove
17916         extra incref.
17917         (cmdpy_completer_handle_brkchars, cmdpy_completer, cmdpy_init):
17918         Use gdbpy_ref.
17919
17920 2017-01-10  Tom Tromey  <tom@tromey.com>
17921
17922         * python/py-breakpoint.c (gdbpy_breakpoint_cond_says_stop): Use
17923         gdbpy_ref.
17924
17925 2017-01-10  Tom Tromey  <tom@tromey.com>
17926
17927         * python/py-arch.c (archpy_disassemble): Use gdbpy_ref.  Don't
17928         decref results of PyArg_ParseTupleAndKeywords.
17929
17930 2017-01-10  Tom Tromey  <tom@tromey.com>
17931
17932         * python/python.c (python_run_simple_file): Use
17933         unique_xmalloc_ptr, gdbpy_ref.
17934
17935 2017-01-10  Tom Tromey  <tom@tromey.com>
17936
17937         * python/py-prettyprint.c (print_stack_unless_memory_error)
17938         (print_string_repr, print_children): Use gdbpy_ref.
17939         (dummy_python_frame): New class.
17940         (dummy_python_frame::dummy_python_frame): Rename from
17941         push_dummy_python_frame.
17942         (py_restore_tstate): Remove.
17943
17944 2017-01-10  Tom Tromey  <tom@tromey.com>
17945
17946         * python/py-framefilter.c (py_print_frame): Use gdbpy_ref.
17947
17948 2017-01-10  Tom Tromey  <tom@tromey.com>
17949
17950         * python/python.c (ensure_python_env, restore_python_env):
17951         Remove.
17952         * python/python-internal.h (ensure_python_env): Don't declare.
17953         * varobj.h (varobj_ensure_python_env): Don't declare.
17954         * varobj.c (varobj_ensure_python_env): Remove.
17955
17956 2017-01-10  Tom Tromey  <tom@tromey.com>
17957
17958         * varobj.c (varobj_value_get_print_value): Use
17959         gdbpy_enter_varobj.
17960
17961 2017-01-10  Tom Tromey  <tom@tromey.com>
17962
17963         * python/py-prettyprint.c (print_string_repr, print_children):
17964         Update.
17965         * python/py-lazy-string.c (gdbpy_extract_lazy_string): Change type
17966         of "encoding".
17967         * varobj.c (varobj_value_get_print_value): Update.
17968         * python/python-internal.h (gdbpy_extract_lazy_string): Update.
17969
17970 2017-01-10  Tom Tromey  <tom@tromey.com>
17971
17972         * varobj.c (varobj_get_display_hint)
17973         (dynamic_varobj_has_child_method, install_new_value_visualizer)
17974         (varobj_set_visualizer, free_variable): Use
17975         gdbpy_enter_varobj.
17976
17977 2017-01-10  Tom Tromey  <tom@tromey.com>
17978
17979         * python/python.c (python_command): Use gdbpy_enter, gdbpy_ref.
17980         (do_finish_initialization): New function.  Use gdbpy_ref.
17981         (gdbpy_finish_initialization): Use gdbpy_enter.  Call
17982         do_finish_initialization.
17983
17984 2017-01-10  Tom Tromey  <tom@tromey.com>
17985
17986         * python/py-param.c (get_set_value, get_show_value): Use
17987         gdbpy_enter, gdbpy_ref.
17988
17989 2017-01-10  Tom Tromey  <tom@tromey.com>
17990
17991         * python/py-function.c (fnpy_call): Use gdbpy_enter, gdbpy_ref.
17992
17993 2017-01-10  Tom Tromey  <tom@tromey.com>
17994
17995         * python/py-cmd.c (cmdpy_function): Use gdbpy_enter, gdbpy_ref.
17996
17997 2017-01-10  Tom Tromey  <tom@tromey.com>
17998
17999         * python/py-varobj.c (py_varobj_iter_dtor, py_varobj_iter_next):
18000         Use gdbpy_enter_varobj.
18001
18002 2017-01-10  Tom Tromey  <tom@tromey.com>
18003
18004         * varobj.c (gdbpy_enter_varobj): New constructor.
18005         * python/python-internal.h (gdbpy_enter_varobj): New class.
18006         * python/py-varobj.c (py_varobj_get_iterator): Use
18007         gdbpy_enter_varobj.
18008
18009 2017-01-10  Tom Tromey  <tom@tromey.com>
18010
18011         * python/py-xmethods.c (gdbpy_get_xmethod_result_type): Use
18012         gdbpy_enter, gdbpy_ref, unique_xmalloc_ptr.
18013         (gdbpy_invoke_xmethod): Use gdbpy_ref, gdbpy_enter.
18014         (gdbpy_get_xmethod_arg_types): Use gdbpy_ref,
18015         unique_xmalloc_ptr.
18016         (gdbpy_get_xmethod_arg_types): Use gdbpy_ref, gdbpy_enter.
18017
18018 2017-01-10  Tom Tromey  <tom@tromey.com>
18019
18020         * python/py-xmethods.c (invoke_match_method): Use
18021         gdbpy_ref.
18022
18023 2017-01-10  Tom Tromey  <tom@tromey.com>
18024
18025         * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers): use
18026         gdbpy_enter, gdbpy_ref.
18027
18028 2017-01-10  Tom Tromey  <tom@tromey.com>
18029
18030         * python/python.c (python_interactive_command): Use gdbpy_enter.
18031
18032 2017-01-10  Tom Tromey  <tom@tromey.com>
18033
18034         * python/python.c (gdbpy_before_prompt_hook): Use gdbpy_enter,
18035         gdbpy_ref.
18036
18037 2017-01-10  Tom Tromey  <tom@tromey.com>
18038
18039         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Use
18040         gdbpy_enter, gdbpy_ref, unique_xmalloc_ptr.
18041
18042 2017-01-10  Tom Tromey  <tom@tromey.com>
18043
18044         * utils.h (htab_deleter): New struct.
18045         (htab_up): New typedef.
18046         * python/py-framefilter.c (gdbpy_apply_frame_filter): Use
18047         gdbpy_enter, gdbpy_ref, htab_up.
18048
18049 2017-01-10  Tom Tromey  <tom@tromey.com>
18050
18051         * python/py-unwind.c (pending_frame_invalidate): Remove.
18052         (pyuw_sniffer): Use gdbpy_enter and gdbpy_ref.
18053
18054 2017-01-10  Tom Tromey  <tom@tromey.com>
18055
18056         * python/py-xmethods.c (gdbpy_free_xmethod_worker_data)
18057         (gdbpy_clone_xmethod_worker_data): Use gdbpy_enter.
18058
18059 2017-01-10  Tom Tromey  <tom@tromey.com>
18060
18061         * python/py-type.c (save_objfile_types): Use gdbpy_enter.
18062
18063 2017-01-10  Tom Tromey  <tom@tromey.com>
18064
18065         * python/python.c (gdbpy_eval_from_control_command)
18066         (gdbpy_source_script, gdbpy_run_events)
18067         (gdbpy_source_objfile_script, gdbpy_execute_objfile_script)
18068         (gdbpy_free_type_printers, gdbpy_finish_initialization): Use
18069         gdbpy_enter.
18070
18071 2017-01-10  Tom Tromey  <tom@tromey.com>
18072
18073         * python/py-progspace.c (py_free_pspace): Use gdbpy_enter.
18074
18075 2017-01-10  Tom Tromey  <tom@tromey.com>
18076
18077         * python/py-objfile.c (py_free_objfile): Use gdbpy_enter.
18078
18079 2017-01-10  Tom Tromey  <tom@tromey.com>
18080
18081         * python/py-inferior.c (python_on_normal_stop, python_on_resume)
18082         (python_on_inferior_call_pre, python_on_inferior_call_post)
18083         (python_on_memory_change, python_on_register_change)
18084         (python_inferior_exit, python_new_objfile, add_thread_object)
18085         (delete_thread_object, py_free_inferior): Use gdbpy_enter.
18086
18087 2017-01-10  Tom Tromey  <tom@tromey.com>
18088
18089         * python/py-finishbreakpoint.c (bpfinishpy_handle_stop)
18090         (bpfinishpy_handle_exit): Use gdbpy_enter.
18091
18092 2017-01-10  Tom Tromey  <tom@tromey.com>
18093
18094         * python/py-cmd.c (cmdpy_destroyer)
18095         (cmdpy_completer_handle_brkchars, cmdpy_completer): Use
18096         gdbpy_enter.
18097
18098 2017-01-10  Tom Tromey  <tom@tromey.com>
18099
18100         * python/py-breakpoint.c (gdbpy_breakpoint_cond_says_stop): Use
18101         gdbpy_enter.
18102         (gdbpy_breakpoint_has_cond): Likewise.
18103
18104 2017-01-10  Tom Tromey  <tom@tromey.com>
18105
18106         * python/python.c (gdbpy_enter): New constructor.
18107         (~gdbpy_enter): New destructor.
18108         (restore_python_env, ensure_python_env): Rewrite.
18109         * python/python-internal.h (gdbpy_enter): New class.
18110
18111 2017-01-10  Tom Tromey  <tom@tromey.com>
18112
18113         * python/py-symbol.c (gdbpy_lookup_symbol): Use gdbpy_ref.
18114
18115 2017-01-10  Tom Tromey  <tom@tromey.com>
18116
18117         * python/py-value.c (value_has_field, get_field_flag)
18118         (get_field_type, valpy_getitem, convert_value_from_python): Use
18119         gdbpy_ref.
18120
18121 2017-01-10  Tom Tromey  <tom@tromey.com>
18122
18123         * python/python.c (gdbpy_progspaces, gdbpy_objfiles): Use
18124         gdbpy_ref.
18125
18126 2017-01-10  Tom Tromey  <tom@tromey.com>
18127
18128         * python/py-prettyprint.c (search_pp_list)
18129         (find_pretty_printer_from_objfiles)
18130         (find_pretty_printer_from_progspace)
18131         (find_pretty_printer_from_gdb, find_pretty_printer)
18132         (gdbpy_get_display_hint, gdbpy_get_varobj_pretty_printer): Use
18133         gdbpy_ref.
18134
18135 2017-01-10  Tom Tromey  <tom@tromey.com>
18136
18137         * python/py-param.c (call_doc_function): Use gdbpy_ref.
18138
18139 2017-01-10  Tom Tromey  <tom@tromey.com>
18140
18141         * python/py-linetable.c (build_line_table_tuple_from_pcs)
18142         (ltpy_get_all_source_lines): Use gdbpy_ref.
18143
18144 2017-01-10  Tom Tromey  <tom@tromey.com>
18145
18146         * python/py-framefilter.c (extract_sym, extract_value)
18147         (get_py_iter_from_func, bootstrap_python_frame_filters): Use
18148         gdbpy_ref.
18149
18150 2017-01-10  Tom Tromey  <tom@tromey.com>
18151
18152         * python/py-breakpoint.c (gdbpy_breakpoints): Use gdbpy_ref.
18153
18154 2017-01-10  Tom Tromey  <tom@tromey.com>
18155
18156         * python/py-inferior.c (gdbpy_inferiors): Use gdbpy_ref.
18157
18158 2017-01-10  Tom Tromey  <tom@tromey.com>
18159
18160         * python/py-function.c (convert_values_to_python, fnpy_init): Use
18161         gdbpy_ref.
18162
18163 2017-01-10  Tom Tromey  <tom@tromey.com>
18164
18165         * python/py-cmd.c (gdbpy_string_to_argv): Use gdbpy_ref.
18166
18167 2017-01-10  Tom Tromey  <tom@tromey.com>
18168
18169         * python/py-type.c (convert_field, make_fielditem, typy_fields)
18170         (typy_range): Use gdbpy_ref.
18171
18172 2017-01-10  Tom Tromey  <tom@tromey.com>
18173
18174         * python/py-threadevent.c (create_thread_event_object): Use
18175         gdbpy_ref.
18176         * python/py-stopevent.c (create_stop_event_object): Simplify.
18177         (emit_stop_event): Use gdbpy_ref.
18178         * python/py-signalevent.c (create_signal_event_object): Use
18179         gdbpy_ref.
18180         * python/py-newobjfileevent.c (create_new_objfile_event_object)
18181         (emit_new_objfile_event, create_clear_objfiles_event_object)
18182         (emit_clear_objfiles_event): Use gdbpy_ref.
18183         * python/py-infevents.c (create_inferior_call_event_object)
18184         (create_register_changed_event_object)
18185         (create_memory_changed_event_object, emit_inferior_call_event)
18186         (emit_memory_changed_event, emit_register_changed_event): Use
18187         gdbpy_ref.
18188         * python/py-exitedevent.c (create_exited_event_object)
18189         (emit_exited_event): Use gdbpy_ref.
18190         * python/py-event.h (evpy_emit_event): Remove
18191         CPYCHECKER_STEALS_REFERENCE_TO_ARG annotation.
18192         * python/py-event.c (evpy_emit_event): Use gdbpy_ref.
18193         * python/py-continueevent.c (emit_continue_event): Use
18194         gdbpy_ref.
18195         * python/py-breakpoint.c (gdbpy_breakpoint_created)
18196         (gdbpy_breakpoint_deleted, gdbpy_breakpoint_modified): Use
18197         gdbpy_ref.
18198         * python/py-bpevent.c (create_breakpoint_event_object): Use
18199         gdbpy_ref.
18200
18201 2017-01-10  Tom Tromey  <tom@tromey.com>
18202
18203         * python/py-ref.h: New file.
18204
18205 2017-01-10  Simon Marchi  <simon.marchi@ericsson.com>
18206
18207         * cli-out.c (cli_ui_out::do_redirect): Change return type to
18208         void.
18209         * cli-out.h (cli_ui_out::do_redirect): Likewise.
18210         * mi/mi-out.c (mi_ui_out::do_redirect): Likewise.
18211         * mi/mi-out.h (mi_ui_out::do_redirect): Likewise.
18212         * ui-out.c (ui_out::redirect): Likewise.
18213         * ui-out.h (ui_out::redirect, ui_out::do_redirect): Likewise.
18214         * cli/cli-logging.c (set_logging_redirect): Update call site of
18215         ui_out::redirect.
18216         (handle_redirections): Likewise.
18217         * scm-ports.c (ioscm_with_output_to_port_worker): Likewise.
18218         * top.c (execute_command_to_string): Likewise.
18219         * utils.c (do_ui_out_redirect_pop): Likewise.
18220
18221 2017-01-10  Simon Marchi  <simon.marchi@ericsson.com>
18222
18223         * stack.c (_initialize_stack): Update "frame" command help message.
18224
18225 2017-01-08  Iain Buclaw  <ibuclaw@gdcproject.org>
18226
18227         * d-exp.y (CastExpression): Emit UNOP_CAST_TYPE.
18228
18229 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18230
18231         * x86-linux-nat.h: Include gdb_proc_service.h.
18232
18233 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18234
18235         * ser-base.h: Include serial.h.
18236
18237 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18238
18239         * ppc-linux-tdep.h: Include ppc-tdep.h.
18240
18241 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18242
18243         * nat/amd64-linux-siginfo.h: Include signal.h.
18244
18245 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18246
18247         * nat/aarch64-linux-hw-point.h: Include break-common.h.
18248
18249 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18250
18251         * mi/mi-parse.h: Include mi-cmds.h.
18252
18253 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18254
18255         * inf-loop.c: Don't include "target.h".
18256         * inf-loop.h: Include it here.
18257
18258 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18259
18260         * dfp.h: Include "dboulest.h" and "expression.h".
18261
18262 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18263
18264         * ax-gdb.h: Include "ax.h".
18265
18266 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18267
18268         * Makefile.in (HFILES_NO_SRCDIR): Replace gdb_ptrace.h
18269         with nat/gdb_ptrace.h.
18270
18271 2017-01-05  Yao Qi  <yao.qi@linaro.org>
18272
18273         * mips-fbsd-tdep.c (mips_fbsd_sigframe_init): Move && to
18274         new line.
18275         (mips64_fbsd_sigframe_init): Likewise.
18276
18277 2017-01-04  John Baldwin  <jhb@FreeBSD.org>
18278
18279         * mips-fbsd-tdep.c (_initialize_mips_fbsd_tdep): Use
18280         GDB_OSABI_FREEBSD instead of GDB_OSABI_FREEBSD_ELF.
18281
18282 2017-01-04  John Baldwin  <jhb@FreeBSD.org>
18283
18284         * Makefile.in (ALLDEPFILES): Add mips-fbsd-nat.c.
18285         * NEWS: Mention new FreeBSD/mips native configuration.
18286         * config/mips/fbsd.mh: New file.
18287         * configure.host: Add mips*-*-freebsd*.
18288         * mips-fbsd-nat.c: New file.
18289
18290 2017-01-04  John Baldwin  <jhb@FreeBSD.org>
18291
18292         * Makefile.in (ALL_TARGET_OBS): Add mips-fbsd-tdep.o.
18293         (ALLDEPFILES): Add mips-fbsd-tdep.c.
18294         * NEWS: Mention new FreeBSD/mips target.
18295         * configure.tgt: Add mips*-*-freebsd*.
18296         * mips-fbsd-tdep.c: New file.
18297         * mips-fbsd-tdep.h: New file.
18298
18299 2017-01-04  Yao Qi  <yao.qi@linaro.org>
18300
18301         * dwarf2loc.c (write_pieced_value): Don't use VALUE_FRAME_ID (to),
18302         use c->frame_id when the piece location is DWARF_VALUE_REGISTER.
18303
18304 2017-01-01  Joel Brobecker  <brobecker@adacore.com>
18305
18306         Update copyright year range in all GDB files.
18307
18308 2017-01-01  Joel Brobecker  <brobecker@adacore.com>
18309
18310         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2016.
18311
18312 For older changes see ChangeLog-2016.
18313 \f
18314 Local Variables:
18315 mode: change-log
18316 left-margin: 8
18317 fill-column: 74
18318 version-control: never
18319 coding: utf-8
18320 End: