(Ada) Handle same component names when searching in tagged types
[external/binutils.git] / gdb / ChangeLog
1 2017-12-15  Xavier Roirand  <roirand@adacore.com>
2
3         * ada-lang.c (ada_value_primitive_field): Handle field search
4         in case of homonyms.
5         (find_struct_field): Ditto.
6         (ada_search_struct_field): Ditto.
7         (ada_value_struct_elt): Ditto.
8         (ada_lookup_struct_elt_type): Ditto.
9
10 2017-12-14  Simon Marchi  <simon.marchi@ericsson.com>
11
12         * python/py-breakpoint.c (bppy_init): Use 'O' format specifier
13         for "qualified" and use PyObject_IsTrue.
14
15 2017-12-14  Jan Kratochvil  <jan.kratochvil@redhat.com>
16
17         * dwarf2read.c (dw2_debug_names_iterator::next): Support
18         DW_IDX_type_unit.
19         (debug_names::dwarf5_offset_size, unit_kind): New.
20         (debug_names::insert): Add parameter kind.
21         (debug_names::build): Support DW_IDX_type_unit.
22         (debug_names::recursively_write_psymbols): Update
23         (debug_names::write_psymbols caller.
24         (debug_names::write_one_signatured_type_data)
25         (debug_names::write_one_signatured_type): New.
26         (debug_names::index_key, debug_names::symbol_value)
27         (debug_names::write_psymbols): Add kind.
28         (debug_names::write_one_signatured_type): New.
29         (write_debug_names): Move dwarf5_offset_size to debug_names.
30         Use debug_names::write_one_signatured_type for type units.
31
32 2017-12-14  Joel Brobecker  <brobecker@adacore.com>
33
34         * ada-lang.c (ada_value_equal): Add handling of typedef types
35         when comparing array objects.
36
37 2017-12-14  Joel Brobecker  <brobecker@adacore.com>
38
39         * ada-tasks.c (read_atcb): Properly set task_info->ptid
40         when !target_has_execution as well.
41         (task_command): Remove error when !target_has_execution.
42
43 2017-12-13  Simon Marchi  <simon.marchi@ericsson.com>
44
45         * location.h (string_to_event_location): Add match_type
46         parameter.
47         * location.c (string_to_event_location): Likewise.
48         * python/py-breakpoint.c (bppy_init): Handle qualified
49         parameter.
50
51 2017-12-13  Pedro Alves  <palves@redhat.com>
52
53         * completer.c (completion_tracker::maybe_add_completion): New
54         'text' and 'word' parameters.  Use make_completion_match_str.
55         (completion_tracker::add_completion): New 'text' and 'word'
56         parameters.  Pass down.
57         (completion_tracker::recompute_lowest_common_denominator): Change
58         parameter type to gdb::unique_xmalloc_ptr rval ref.  Adjust.
59         * completer.h (completion_tracker::add_completion): New 'text' and
60         'word' parameters.
61         (completion_tracker::recompute_lowest_common_denominator): Change
62         parameter type to gdb::unique_xmalloc_ptr rval ref.
63         (completion_tracker::recompute_lowest_common_denominator): Change
64         parameter type to gdb::unique_xmalloc_ptr rval ref.
65         * symtab.c (completion_list_add_name): Pass down 'text' and 'word'
66         as well.
67
68 2017-12-13  Pedro Alves  <palves@redhat.com>
69
70         * cli/cli-decode.c (complete_on_cmdlist, complete_on_enum): Use
71         make_completion_match_str.
72         * completer.c: Use gdb::unique_xmalloc_ptr and
73         make_completion_match_str.
74         (make_completion_match_str_1): New.
75         (make_completion_match_str(const char *, const char *,
76         const char *)): New.
77         (make_completion_match_str(gdb::unique_xmalloc_ptr<char> &&,
78         const char *, const char *)): New.
79         * completer.h (make_completion_match_str(const char *,
80         const char *, const char *)): New.
81         (make_completion_match_str(gdb::unique_xmalloc_ptr<char> &&,
82         const char *, const char *)): New.
83         * interps.c (interpreter_completer): Use make_completion_match_str.
84         * symtab.c (completion_list_add_name, add_filename_to_list): Use
85         make_completion_match_str.
86
87 2017-12-13  Stafford Horne  <shorne@gmail.com>
88
89         * or1k-tdep.c (or1k_analyse_inst): Use _() wrapper for message
90         strings.
91         (or1k_unwind_pc): Use paddress() instead of %p.
92         (or1k_unwind_sp): Likewise.
93         (or1k_frame_cache): Use host_address_to_string()/paddress()
94         instead of %p and use _() wrapper for message strings.
95
96 2017-12-13  Simon Marchi  <simon.marchi@ericsson.com>
97
98         * contrib/ari/gdb_ari.sh: Fix typo in help.
99
100 2017-12-13  Joel Brobecker  <brobecker@adacore.com>
101
102         * event-top.c (handle_line_of_input): Set server_command.
103
104 2017-12-12  Stafford Horne  <shorne@gmail.com>
105             Stefan Wallentowitz  <stefan@wallentowitz.de>
106             Stefan Kristiansson  <stefan.kristiansson@saunalahti.fi>
107             Franck Jullien  <franck.jullien@gmail.com>
108             Jeremy Bennett  <jeremy.bennett@embecosm.com>
109
110         * configure.tgt: Add targets for or1k and or1knd.
111         * or1k-tdep.c: New file.
112         * or1k-tdep.h: New file.
113         * features/Makefile: Add or1k.xml to build.
114         * features/or1k.xml: New file.
115         * features/or1k-core.xml: New file.
116         * features/or1k.c: Generated.
117
118 2017-12-12  Alan Modra  <amodra@gmail.com>
119
120         PR tdep/22576
121         * ppc64-tdep.c (ppc64_plt_entry_point): Rewrite to take TOC-relative
122         PLT offset, and retrieve r2 from stack when executing in reverse.
123         (ppc64_standard_linkage1_target): Drop pc param.  Calculate offset
124         rather than PLT address.
125         (ppc64_standard_linkage2_target): Likewise.
126         (ppc64_standard_linkage3_target): Likewise.
127         (ppc64_standard_linkage4_target): Likewise.
128         (ppc64_skip_trampoline_code_1): Adjust to suit.
129
130 2017-12-11  Simon Marchi  <simon.marchi@ericsson.com>
131
132         PR gdb/22556
133         * remote.c (remote_thread_name): Return NULL if name is empty.
134         (remote_threads_extra_info): Return NULL if extra info is empty.
135
136 2017-12-11  Pedro Alves  <palves@redhat.com>
137
138         * defs.h (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index)
139         (elf_sym_fns_debug_names): Move to elfread.c.
140         * dwarf2read.c (dwarf2_initialize_objfile): Return a boolean
141         instead of a sym_fns and add 'index_kind' output parameter.  Fill
142         the latter in with the index variant kind if using an index.
143         (enum dw_index_kind): Moved to symfile.h.
144         * elfread.c (elf_sym_fns_gdb_index, elf_sym_fns_debug_names)
145         (elf_sym_fns_lazy_psyms): Move from defs.h.
146         (elf_symfile_read): Adjust to new dwarf2_initialize_objfile
147         interface.
148         * symfile.h (enum class dw_index_kind): New, moved from
149         dwarf2read.c.
150         (dwarf2_initialize_objfile): Change prototype.
151
152 2017-12-11  Ulrich Weigand  <uweigand@de.ibm.com>
153
154         * target-float.c (mpfr_float_ops::from_target): Use mpfr_set_ui
155         instead of mpfr_set_si to convert mantissa bits.
156
157 2017-12-11  Xavier Roirand <roirand@adacore.com>
158             Joel Brobecker  <brobecker@adacore.com>
159
160         * ada-lang.c (ada_tag_value_at_base_address): Change the way
161         tagged type base address is computed.
162         (enum ada_primitive_types) <ada_primitive_type_storage_offset>:
163         New enumerate.
164         (ada_language_arch_info): Set the ada_primitive_type_storage_offset
165         element of lai->primitive_type_vector.
166
167 2017-12-08  Pedro Alves  <palves@redhat.com>
168
169         * dwarf2read.c (mock_mapped_index): Reimplement as an extension of
170         mapped_index_base.
171         (check_match): Adjust to use mock_index directly.
172         (check_find_bounds_finds)
173         (test_mapped_index_find_name_component_bounds): Adjust to work
174         with a mapped_index_base.
175
176 2017-12-08  Pedro Alves  <palves@redhat.com>
177
178         * dwarf2read.c (struct mapped_index_base): New, partially factored
179         out from ...
180         (struct mapped_index): ... this.  Inherit mapped_index_base.
181         (mapped_index::symbol_name_slot_invalid):
182         (mapped_index::symbol_name_at): Add override marker.
183         (mapped_index::symbol_name_count): New.
184         (struct mapped_debug_names): Inherit mapped_index_base.
185         (mapped_debug_names::symbol_name_at): New.
186         (mapped_debug_names::symbol_name_count): New.
187         (mapped_index::find_name_components_bounds): Rename to ...
188         (mapped_index_base::find_name_components_bounds): ... this.
189         (mapped_index::build_name_components): Rename to ...
190         (mapped_index_base::build_name_components): ... this.  Adjust to
191         use mapped_index_base::symbol_name_count and
192         mapped_index_base::symbol_name_slot_invalid.
193         (dw2_expand_symtabs_matching_symbol): Take a mapped_index_base
194         instead of a mapped_index.  Use
195         dw2_expand_symtabs_matching_symbol.
196
197 2017-12-08  Pedro Alves  <palves@redhat.com>
198
199         * dwarf2read.c (mapped_index::symbol_table_slot): New.
200         (mapped_index::address_table): Now a gdb::array_view of const
201         gdb_byte.
202         (mapped_index::symbol_table): Now a gdb::array_view of
203         symbol_table_slot.
204         (mapped_index::address_table_size)
205         (mapped_index::symbol_table_slots): Delete.
206         (create_addrmap_from_index): Adjust.
207         (find_slot_in_mapped_hash): Adjust.
208         (read_index_from_section): Adjust.
209         (dwarf2_read_index): Adjust.
210
211 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
212             Pedro Alves  <palves@redhat.com>
213
214         * defs.h (elf_sym_fns_debug_names): New declaration.
215         * dwarf2read.c: Include "hash_enum.h".
216         (mapped_debug_names): New.
217         (struct dwarf2_per_objfile): Add debug_names, debug_aranges and
218         debug_names_table.
219         (dwarf2_elf_names): Add ".debug_names" and ".debug_aranges".
220         (struct dwz_file): Add debug_names.
221         (dwarf2_per_objfile::locate_sections): Handle debug_names and
222         debug_aranges.
223         (locate_dwz_sections): Handle debug_names.
224         (create_signatured_type_table_from_debug_names)
225         (create_addrmap_from_aranges): New.
226         (dwarf2_read_index): Update function comment.
227         (dwarf5_augmentation): Moved up.
228         (read_debug_names_from_section, create_cus_from_debug_names_list)
229         (create_cus_from_debug_names, dwarf2_read_debug_names): New.
230         (dwarf5_djb_hash): Moved up.
231         (dw2_debug_names_iterator): New.
232         (read_indirect_string_at_offset): New declaration.
233         (mapped_debug_names::namei_to_name)
234         (dw2_debug_names_iterator::find_vec_in_debug_names)
235         (dw2_debug_names_iterator::next, dw2_debug_names_lookup_symbol)
236         (dw2_debug_names_dump, dw2_debug_names_expand_symtabs_for_function)
237         (dw2_debug_names_expand_symtabs_matching, dwarf2_debug_names_functions):
238         New.
239         (dwarf2_initialize_objfile): Return also elf_sym_fns_debug_names.
240         (debug_names::djb_hash): Rename it to dwarf5_djb_hash.
241         (debug_names::build): Update djb_hash caller.
242         (write_debug_names): Move out and rename augmentation to
243         dwarf5_augmentation.
244         * elfread.c (elf_sym_fns_debug_names): New.
245         * psymtab.h (dwarf2_debug_names_functions): New declaration.
246         * symfile.h (struct dwarf2_debug_sections): Add debug_names and
247         debug_aranges.
248         * xcoffread.c (dwarf2_xcoff_names): Add debug_names and debug_aranges.
249
250 2017-12-08  Pedro Alves  <palves@redhat.com>
251
252         * common/hash_enum.h: New file.
253
254 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
255
256         * dwarf2read.c (create_cu_from_index_list): New from ...
257         (create_cus_from_index_list): ... this function, use it.
258         (dw_expand_symtabs_matching_file_matcher)
259         (dw2_expand_symtabs_matching_one): New from ...
260         (dw2_expand_symtabs_matching): ... this function, use them.
261
262 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
263
264         * defs.h (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index): Move here
265         declarations from elfread.c.
266         (dwarf2_initialize_objfile): Change return value.
267         * elfread.c (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index): Move these
268         declarations to defs.h.
269         (elf_symfile_read): Adjust dwarf2_initialize_objfile caller.
270         * symfile.h (dwarf2_initialize_objfile): Change return type.
271
272 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
273             Pedro Alves  <palves@redhat.com>
274
275         * contrib/gdb-add-index.sh (index): Rename to ...
276         (index4): ... here.
277         (index5, debugstr, debugstrmerge, debugstrerr): New variables.
278         Support also .debug_names and .debug_str.
279         * dwarf2read.c: Include cmath, set, list.
280         (INDEX_SUFFIX): Rename to ...
281         (INDEX4_SUFFIX): ... here.
282         (INDEX5_SUFFIX, DEBUG_STR_SUFFIX): New.
283         (file_write(FILE *, const void *, size_t)): New.
284         (file_write(FILE *, const std::vector<Elem, Alloc> &)): New.
285         (data_buf::append_unsigned_leb128, data_buf::empty): New.
286         (data_buf::file_write): Use ::file_write.
287         (data_buf::c_str, dwarf5_djb_hash, debug_names)
288         (check_dwarf64_offsets): New.
289         (psyms_seen_size, write_gdbindex): New from
290         write_psymtabs_to_index code.
291         (dwarf5_gdb_augmentation, write_debug_names, assert_file_size)
292         (enum dw_index_kind): New.
293         (write_psymtabs_to_index): New parameter index_kind.  Support
294         filename_str and out_file_str.  Move code to write_gdbindex,
295         possibly call write_debug_names.
296         (save_gdb_index_command): New parameter -dwarf-5.
297         (_initialize_dwarf2_read): Document the new parameter -dwarf-5.
298
299 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
300             Pedro Alves  <palves@redhat.com>
301
302         * contrib/cc-with-tweaks.sh: Change interpreter to bash, incl. initial
303         comment.
304         (GDB_ADD_INDEX): New variable.
305         <$want_index>: Call $GDB_ADD_INDEX.
306
307 2017-12-08  Sergio Durigan Junior  <sergiodj@redhat.com>
308
309         * dtrace-probe.c (dtrace_process_dof_probe): Do not declare a new
310         "expression_up" inside the TRY block.
311
312 2017-12-08  Yao Qi  <yao.qi@linaro.org>
313
314         * breakpoint.c (update_watchpoint): Call
315         address_significant.
316
317 2017-12-08  Yao Qi  <yao.qi@linaro.org>
318
319         * breakpoint.c (adjust_breakpoint_address): Call
320         address_significant.
321
322 2017-12-08  Yao Qi  <yao.qi@linaro.org>
323
324         * aarch64-tdep.c (aarch64_gdbarch_init): Install gdbarch
325         significant_addr_bit.
326         * gdbarch.sh (significant_addr_bit): New.
327         * gdbarch.c, gdbarch.h: Re-generated.
328         * target.c (memory_xfer_partial): Call address_significant.
329         * utils.c (address_significant): New function.
330         * utils.h (address_significant): Declare.
331
332 2017-12-08  Tom Tromey  <tom@tromey.com>
333
334         * printcmd.c (ui_printf): Update.  Use std::vector.
335         * common/format.h (struct format_piece): Add constructor.
336         <string>: Now const.
337         (class format_pieces): New class.
338         (parse_format_string, free_format_pieces)
339         (free_format_pieces_cleanup): Remove.
340         * common/format.c (format_pieces::format_pieces): Rename from
341         parse_format_string.  Update.
342         (free_format_pieces, free_format_pieces_cleanup): Remove.
343         * breakpoint.c (parse_cmd_to_aexpr): Update.  Use std::vector.
344         * ax-gdb.h (gen_printf): Remove argument.
345         * ax-gdb.c (gen_printf): Remove "frags" argument.
346         (maint_agent_printf_command): Update.  Use std::vector.
347
348 2017-12-08  Yao Qi  <yao.qi@linaro.org>
349
350         PR breakpionts/22567
351         * linespec.c (minsym_found): Set sal.section.
352
353 2017-12-08  Andreas Arnez  <arnez@linux.vnet.ibm.com>
354
355         * configure.tgt (s390*-*-linux*): Add symfile-mem.o.
356
357 2017-12-07  Keith Seitz  <keiths@redhat.com>
358
359         PR breakpoints/22569
360         * location.c (string_to_explicit_location): When terminating
361         parsing early, break out of enclosing loop instead of returning.
362
363 2017-12-07  Keith Seitz  <keiths@redhat.com>
364
365         * NEWS (New commands): Mention set/show print type nested-type-limit.
366         * c-typeprint.c (c_type_print_base): Print out nested types.
367         * dwarf2read.c (struct typedef_field_list): Rename to ...
368         (struct decl_field_list): ... this.  Change all uses.
369         (struct field_info) <nested_types_list, nested_types_list_count>:
370         New fields.
371         (add_partial_symbol): Look for nested type definitions in C++, too.
372         (dwarf2_add_typedef): Rename to ...
373         (dwarf2_add_type_defn): ... this.
374         (type_can_define_types): New function.
375         Update assertion to use type_can_define_types.
376         Permit NULL for a field's name.
377         (process_structure_scope): Handle child DIEs of types that can
378         define types.
379         Copy the list of nested types into the type struct.
380         * gdbtypes.h (struct typedef_field): Rename to ...
381         (struct decl_field): ... this.  Change all uses.
382         [is_protected, is_private]: New fields.
383         (struct cplus_struct_type) <nested_types, nested_types_count>: New
384         fields.
385         (TYPE_NESTED_TYPES_ARRAY, TYPE_NESTED_TYPES_FIELD)
386         (TYPE_NESTED_TYPES_FIELD_NAME, TYPE_NESTED_TYPES_FIELD_TYPE)
387         (TYPE_NESTED_TYPES_COUNT, TYPE_NESTED_TYPES_FIELD_PROTECTED)
388         (TYPE_NESTED_TYPES_FIELD_PRIVATE): New macros.
389         * typeprint.c (type_print_raw_options, default_ptype_flags): Add
390         default value for print_nested_type_limit.
391         (print_nested_type_limit): New static variable.
392         (set_print_type_nested_types, show_print_type_nested_types): New
393         functions.
394         (_initialize_typeprint): Register new commands for set/show
395         `print-nested-type-limit'.
396         * typeprint.h (struct type_print_options) [print_nested_type_limit]:
397         New field.
398
399 2017-12-07  Tom Tromey  <tom@tromey.com>
400
401         PR breakpoints/22511:
402         * breakpoint.c (commands_command_1): Don't throw an exception when
403         no commands have been read.
404
405 2017-12-07  Adam Stylinski  <adam.stylinski@etegent.com>
406
407         PR c++/21222
408         * target-descriptions.c (print_c_tdesc::visit_pre): Change type of
409         range-for variable.
410
411 2017-12-07  Simon Marchi  <simon.marchi@ericsson.com>
412
413         * common/selftest.h (struct selftest): Add virtual destructor.
414
415 2017-12-07  Phil Muldoon  <pmuldoon@redhat.com>
416
417         * python/py-breakpoint.c (bppy_init): Use string_to_event_location
418         over basic location code. Implement explicit location keywords.
419         (bppy_init_validate_args): New function.
420         * NEWS: Document Python explicit breakpoint locations.
421
422 2017-12-07  Joel Brobecker  <brobecker@adacore.com>
423
424         * MAINTAINERS: Restore target entries for m68hc11-elf,
425         score-elf and xstormy16-elf, incorrectly removed in a previous
426         patch meant to only update the list of active maintainers.
427
428 2017-12-06  Pedro Alves  <palves@redhat.com>
429
430         * break-catch-syscall.c (insert_catch_syscall)
431         (remove_catch_syscall): Adjust to pass reference to
432         inf_data->syscalls_counts directly via gdb::array_view.
433         * fbsd-nat.c (fbsd_set_syscall_catchpoint): Adjust to use bool
434         and gdb::array_view.
435         * linux-nat.c (linux_child_set_syscall_catchpoint): Likewise.
436         * remote.c (remote_set_syscall_catchpoint): Likewise.
437         * target-debug.h (target_debug_print_bool): New.
438         (define target_debug_print_gdb_array_view_const_int): New.
439         * target-delegates.c: Regenerate.
440         * target.h (target_ops) <to_set_syscall_catchpoint>: Use
441         gdb::array_view and bool.
442         (target_set_syscall_catchpoint): Likewise.
443
444 2017-12-06  Simon Marchi  <simon.marchi@ericsson.com>
445
446         * break-catch-syscall.c (catch_syscall_completer): Get pointers
447         to syscall group strings after building the string vector.
448
449 2017-12-06  Pedro Alves  <palves@redhat.com>
450
451         * remote.c (remote_query_supported): Don't send "xmlRegisters=" if
452         "qXfer:features:read"" is disabled.
453         (remote_write_qxfer, remote_read_qxfer, remote_search_memory):
454         Check packet_config_support instead of packet->support directly.
455
456 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
457
458         * target-descriptions.c (struct tdesc_feature) <registers>: Use
459         tdesc_reg_up typedef.
460         (struct target_desc) <features>: Use tdesc_feature_up typedef.
461
462 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
463
464         * target-descriptions.c (struct tdesc_type): Use default
465         destructor.
466         <u>: Remove.
467         <accept>: Remove.
468         (struct tdesc_type_builtin): New.
469         (struct tdesc_type_vector): New.
470         (struct tdesc_type_with_fields): New.
471         (tdesc_predefined_types): Change type to tdesc_type_builtin[].
472         (tdesc_gdb_type): Remove.
473         (tdesc_register_type): Adjust.
474         (tdesc_create_vector): Create tdesc_type_vector.
475         (tdesc_create_struct): Create tdesc_type_with_fields.
476         (tdesc_set_struct_size): Change parameter type.
477         (tdesc_create_union): Create tdesc_type_with_fields.
478         (tdesc_create_flags): Likewise.
479         (tdesc_create_enum): Likewise.
480         (tdesc_add_field): Change parameter type.
481         (tdesc_add_typed_bitfield): Likewise.
482         (tdesc_add_bitfield): Likewise.
483         (tdesc_add_flag): Likewise.
484         (tdesc_add_enum_value): Likewise.
485         (print_c_tdesc) <visit>: Remove overload with tdesc_type
486         parameter, add overloads for tdesc_type_builtin,
487         tdesc_type_with_fields and tdesc_type_vector.
488         <m_printed_type>: Remove.
489         <m_printed_element_type, m_printed_type_with_fields>: Add.
490         * target-descriptions.h (tdesc_create_enum): Change return type.
491         (tdesc_add_typed_bitfield): Change parameter type.
492         (tdesc_add_enum_value): Change parameter type.
493         * xml-tdesc.c (struct tdesc_parsing_data) <current_type>: Change
494         type to tdesc_type_with_fields.
495         (tdesc_start_struct): Adjust.
496         (tdesc_start_flags): Adjust.
497         (tdesc_start_enum): Adjust.
498         (tdesc_start_field): Adjust.
499         * arch/tdesc.h (struct tdesc_type_builtin): Forward-declare.
500         (struct tdesc_type_vector): Forward-declare.
501         (struct tdesc_type_with_fields): Forward-declare.
502         (tdesc_create_struct): Change return type.
503         (tdesc_create_union): Likewise.
504         (tdesc_create_flags): Likewise.
505         (tdesc_add_field): Change parameter type.
506         (tdesc_set_struct_size): Likewise.
507         (tdesc_add_bitfield): Likewise.
508         (tdesc_add_flag): Likewise.
509         * features: Re-generate C files.
510
511 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
512
513         * target-descriptions.c (tdesc_arch_reg): Remove typedef.
514         (struct tdesc_arch_reg): Add constructor.
515         (DEF_VEC_O (tdesc_arch_reg)): Remove.
516         (struct tdesc_arch_data): Initialize fields.
517         <arch_regs>: Change type to std::vector.
518         (target_find_description): Adjust.
519         (tdesc_find_type): Adjust.
520         (tdesc_data_init): Call tdesc_arch_data constructor.
521         (tdesc_data_alloc): Allocate tdesc_arch_data with new.
522         (tdesc_data_cleanup): Free data with delete.
523         (tdesc_numbered_register): Adjust.
524         (tdesc_find_arch_register): Adjust.
525         (tdesc_use_registers): Adjust.
526
527 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
528
529         * target-descriptions.c (tdesc_type_field): Remove typedef.
530         (DEF_VEC_O (tdesc_type_field)): Remove.
531         (struct tdesc_type_field): Add constructor.
532         <name>: Change type to std::string.
533         (struct tdesc_type) <tdesc_type>: Instantiate vector if the type
534         kind uses it.
535         <~tdesc_type>: Destroy vector if the type kind uses it.
536         <u::u::fields>: Change type to std::vector.
537         (tdesc_gdb_type): Adjust.
538         (tdesc_add_field): Adjust.
539         (tdesc_add_typed_bitfield): Adjust.
540         (tdesc_add_field): Adjust.
541         (tdesc_add_enum_value): Adjust.
542         (class print_c_tdesc) <visit>: Adjust.
543
544 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
545
546         * target-descriptions.c (struct tdesc_type) <name>: Change type
547         to std::string.
548         <~tdesc_type>: Don't manually free name.
549         <operator==>: Adjust.
550         (tdesc_named_type): Adjust.
551         (tdesc_find_type): Adjust.
552         (tdesc_gdb_type): Adjust.
553         (class print_c_tdesc) <visit>: Adjust.
554
555 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
556
557         * target-descriptions.c (tdesc_type_p): Remove typedef.
558         (DEF_VEC_P (tdesc_type_p)): Remove.
559         (struct tdesc_feature) <types>: Change type to std::vector.
560         <~tdesc_feature>: Replace with default implementation.
561         <accept>: Adjust.
562         (tdesc_named_type): Adjust.
563         (tdesc_create_vector): Adjust.
564         (tdesc_create_struct): Adjust.
565         (tdesc_create_union): Adjust.
566         (tdesc_create_flags): Adjust.
567         (tdesc_create_enum): Adjust.
568
569 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
570
571         * target-descriptions.c (struct tdesc_reg) <tdesc_reg>: Change
572         type of name_ parameter, adjust to std::string change.
573         <name, group, type>: Change type to std::string.
574         <~tdesc_reg>: Replace with default implementation.
575         <operator==>: Adjust.
576         (tdesc_find_register_early): Adjust.
577         (tdesc_register_name): Adjust.
578         (tdesc_register_type): Adjust.
579         (tdesc_register_in_reggroup_p): Adjust.
580         (class print_c_tdesc) <visit>: Adjust.
581         (class print_c_feature) <visit>: Adjust.
582         * features/arc-arcompact.c: Re-generate.
583         * features/arc-v2.c: Re-generate.
584
585 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
586
587         * target-descriptions.c (tdesc_reg_p): Remove typedef.
588         (DEF_VEC_P (tdesc_reg_p)): Remove.
589         (struct tdesc_feature) <registers>: Change type to std::vector.
590         <~tdesc_feature>: Don't manually free registers.
591         <accept>: Adjust.
592         <operator==>: Adjust.
593         (tdesc_has_registers): Adjust.
594         (tdesc_find_register_early): Adjust.
595         (tdesc_use_registers): Adjust.
596         (tdesc_create_reg): Adjust.
597
598 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
599
600         * target-descriptions.c (tdesc_feature) <name>: Change type to
601         std::string.
602         <~tdesc_feature>: Don't manually free name.
603         <operator==>: Adjust.
604         (tdesc_find_feature): Adjust.
605         (tdesc_feature_name): Adjust.
606         (class print_c_tdesc) <visit_pre>: Adjust.
607         (class print_c_feature) <visit_pre>: Adjust.
608
609 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
610
611         * target-descriptions.c (tdesc_feature_p): Remove typedef.
612         (DEF_VEC_P (tdesc_feature_p)): Remove.
613         (struct target_desc) <features>: Change type to std::vector.
614         <~target_desc>: Replace with default implementation.
615         <accept>: Adjust.
616         <operator==>: Adjust.
617         (tdesc_has_registers): Adjust.
618         (tdesc_find_feature): Adjust.
619         (tdesc_use_registers): Adjust.
620         (tdesc_create_feature): Adjust.
621
622 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
623
624         * target-descriptions.c (arch_p): Remove typedef.
625         (DEF_VEC_P (arch_p)): Remove.
626         (struct target_desc) <compatible>: Change type to std::vector.
627         <~target_desc>: Don't manually free compatible.
628         (tdesc_compatible_p): Adjust.
629         (tdesc_add_compatible): Adjust.
630         (class print_c_tdesc) <visit_pre>: Adjust.
631
632 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
633
634         * target-descriptions.c (property_s): Remove typedef.
635         (DEF_VEC_O (property_s)): Remove.
636         (struct target_desc) <properties>: Make an std::vector.
637         <~target_desc>: Don't manually free properties.
638         (tdesc_property): Adjust.
639         (set_tdesc_property): Adjust.
640         (class print_c_tdesc) <visit_pre>: Adjust.
641
642 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
643
644         * common/gdb_assert.h (gdb_static_assert): Redefine using
645         static_assert.
646
647 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
648
649         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
650         unused variables.
651         (ada_is_redundant_range_encoding): Likewise.
652         * ada-varobj.c (ada_varobj_get_value_of_array_variable):
653         Likewise.
654         * alpha-tdep.c (alpha_software_single_step): Likewise.
655         * arm-tdep.c (_initialize_arm_tdep): Likewise.
656         * auto-load.c (info_auto_load_cmd): Likewise.
657         * break-catch-syscall.c (insert_catch_syscall): Likewise.
658         (remove_catch_syscall): Likewise.
659         * breakpoint.c (condition_completer): Likewise.
660         (clear_command): Likewise.
661         (update_breakpoint_locations): Likewise.
662         * btrace.c (btrace_disable): Likewise.
663         (btrace_teardown): Likewise.
664         (btrace_maint_update_pt_packets): Likewise.
665         (maint_btrace_clear_cmd): Likewise.
666         * cli/cli-decode.c (lookup_cmd_1): Likewise.
667         (lookup_cmd_composition): Likewise.
668         * cli/cli-dump.c (scan_filename): Likewise.
669         (restore_command): Likewise.
670         * compile/compile-loc2c.c (compute_stack_depth): Likewise.
671         * compile/compile-object-load.c (compile_object_load): Likewise.
672         * compile/compile-object-run.c (compile_object_run): Likewise.
673         * compile/compile.c (compile_to_object): Likewise.
674         * completer.c (filename_completer): Likewise.
675         (complete_files_symbols): Likewise.
676         (complete_expression): Likewise.
677         * corelow.c (core_open): Likewise.
678         * ctf.c (ctf_start): Likewise.
679         (ctf_write_status): Likewise.
680         (ctf_write_uploaded_tsv): Likewise.
681         (ctf_write_definition_end): Likewise.
682         (ctf_open_dir): Likewise.
683         (ctf_xfer_partial): Likewise.
684         (ctf_trace_find): Likewise.
685         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
686         Likewise.
687         * dwarf2loc.c (allocate_piece_closure): Likewise.
688         (indirect_pieced_value): Likewise.
689         (dwarf2_evaluate_loc_desc_full): Likewise.
690         * dwarf2read.c (dw2_expand_marked_cus): Likewise.
691         (dw2_expand_symtabs_matching): Likewise.
692         (dw2_map_symbol_filenames): Likewise.
693         (read_and_check_comp_unit_head): Likewise.
694         (read_cutu_die_from_dwo): Likewise.
695         (lookup_dwo_unit): Likewise.
696         (read_comp_units_from_section): Likewise.
697         (dwarf2_compute_name): Likewise.
698         (handle_DW_AT_stmt_list): Likewise.
699         (create_cus_hash_table): Likewise.
700         (create_dwp_v2_section): Likewise.
701         (dwarf2_rnglists_process): Likewise.
702         (dwarf2_ranges_process): Likewise.
703         (dwarf2_record_block_ranges): Likewise.
704         (is_vtable_name): Likewise.
705         (read_formatted_entries): Likewise.
706         (skip_form_bytes): Likewise.
707         * elfread.c (elf_symtab_read): Likewise.
708         * exec.c (exec_file_command): Likewise.
709         * f-valprint.c (f_val_print): Likewise.
710         (info_common_command_for_block): Likewise.
711         * guile/guile.c (initialize_scheme_side): Likewise.
712         * guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Likewise.
713         * guile/scm-cmd.c (cmdscm_completer): Likewise.
714         (gdbscm_register_command_x): Likewise.
715         * guile/scm-frame.c (gdbscm_frame_read_var): Likewise.
716         * guile/scm-param.c (gdbscm_parameter_value): Likewise.
717         * guile/scm-ports.c (file_port_magic): Likewise.
718         * guile/scm-pretty-print.c (ppscm_search_pp_list): Likewise.
719         (ppscm_pretty_print_one_value): Likewise.
720         (ppscm_print_children): Likewise.
721         * guile/scm-string.c (gdbscm_string_to_argv): Likewise.
722         * guile/scm-symtab.c (gdbscm_sal_symtab): Likewise.
723         * guile/scm-type.c (gdbscm_type_next_field_x): Likewise.
724         * guile/scm-utils.c (gdbscm_parse_function_args): Likewise.
725         * i386-tdep.c (i386_register_reggroup_p): Likewise.
726         * infcmd.c (run_command_1): Likewise.
727         (until_next_fsm_clean_up): Likewise.
728         * linespec.c (linespec_complete): Likewise.
729         (find_label_symbols): Likewise.
730         * m2-valprint.c (m2_val_print): Likewise.
731         * memattr.c (require_user_regions): Likewise.
732         (lookup_mem_region): Likewise.
733         (disable_mem_command): Likewise.
734         (mem_delete): Likewise.
735         * mep-tdep.c (mep_register_name): Likewise.
736         (mep_analyze_prologue): Likewise.
737         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Likewise.
738         * mi/mi-interp.c (mi_on_sync_execution_done): Likewise.
739         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
740         * microblaze-linux-tdep.c (microblaze_linux_init_abi): Likewise.
741         * minidebug.c (lzma_open): Likewise.
742         * minsyms.c (lookup_minimal_symbol): Likewise.
743         * mips-linux-tdep.c (mips64_fill_fpregset): Likewise.
744         * mips-tdep.c (mips_stub_frame_sniffer): Likewise.
745         (mips_o64_return_value): Likewise.
746         (mips_single_step_through_delay): Likewise.
747         (_initialize_mips_tdep): Likewise.
748         * nios2-tdep.c (nios2_push_dummy_call): Likewise.
749         (nios2_software_single_step): Likewise.
750         * parse.c (find_minsym_type_and_address): Likewise.
751         * psymtab.c (psym_relocate): Likewise.
752         * python/py-breakpoint.c (bppy_get_commands): Likewise.
753         (gdbpy_breakpoint_modified): Likewise.
754         * python/py-infevents.c (create_inferior_call_event_object):
755         Likewise.
756         * python/py-record-btrace.c (btpy_list_item): Likewise.
757         * python/py-type.c (typy_str): Likewise.
758         * python/py-value.c (valpy_call): Likewise.
759         * python/python.c (do_start_initialization): Likewise.
760         * record-btrace.c (record_btrace_insn_history_range): Likewise.
761         (record_btrace_call_history_range): Likewise.
762         (record_btrace_record_method): Likewise.
763         (record_btrace_xfer_partial): Likewise.
764         (btrace_get_frame_function): Likewise.
765         * record-full.c (record_full_open): Likewise.
766         * record.c (get_context_size): Likewise.
767         * registry.h (DEFINE_REGISTRY): Likewise.
768         * remote-fileio.c (remote_fileio_request): Likewise.
769         * remote.c (remote_update_thread_list): Likewise.
770         (remote_check_symbols): Likewise.
771         (remote_commit_resume): Likewise.
772         (remote_interrupt): Likewise.
773         (remote_insert_breakpoint): Likewise.
774         (compare_sections_command): Likewise.
775         * rust-exp.y (super_name): Likewise.
776         (lex_string): Likewise.
777         (convert_ast_to_type): Likewise.
778         (convert_ast_to_expression): Likewise.
779         * rust-lang.c (rust_print_struct_def): Likewise.
780         (rust_print_type): Likewise.
781         (rust_evaluate_subexp): Likewise.
782         * rx-tdep.c (rx_register_type): Likewise.
783         * ser-event.c (serial_event_clear): Likewise.
784         * serial.c (serial_open): Likewise.
785         * spu-tdep.c (spu_overlay_new_objfile): Likewise.
786         * symfile.c (section_is_overlay): Likewise.
787         (overlay_unmapped_address): Likewise.
788         (overlay_mapped_address): Likewise.
789         (simple_overlay_update_1): Likewise.
790         (simple_overlay_update): Likewise.
791         * symtab.c (symbol_find_demangled_name): Likewise.
792         (search_symbols): Likewise.
793         * target-descriptions.c (tdesc_predefined_type): Likewise.
794         * target.c (target_commit_resume): Likewise.
795         * thread.c (print_selected_thread_frame): Likewise.
796         * top.c (new_ui_command): Likewise.
797         (gdb_readline_no_editing): Likewise.
798         * tracefile-tfile.c (tfile_open): Likewise.
799         * tracepoint.c (create_tsv_from_upload): Likewise.
800         * utils.c (quit): Likewise.
801         (defaulted_query): Likewise.
802         * valarith.c (value_concat): Likewise.
803         * xml-syscall.c (xml_list_syscalls_by_group): Likewise.
804         * xml-tdesc.c (target_fetch_description_xml): Likewise.
805         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
806         (xtensa_pseudo_register_write): Likewise.
807
808 2017-12-04  Tom Tromey  <tom@tromey.com>
809
810         * NEWS: Mention Rust trait object inspection.
811
812 2017-12-04  Pedro Alves  <palves@redhat.com>
813
814         PR gdb/22499
815         * amd64-tdep.c (amd64_insn::rex_offset): Rename to...
816         (amd64_insn::enc_prefix_offset): ... this, and tweak comment.
817         (vex2_prefix_p, vex3_prefix_p): New functions.
818         (amd64_get_insn_details): Adjust to rename.  Also skip VEX2 and
819         VEX3 prefixes.
820         (fixup_riprel): Set VEX3.!B.
821
822 2017-12-03  Simon Marchi  <simon.marchi@ericsson.com>
823
824         * target.h (mem_region_vector): Remove.
825         (struct target_ops) <to_memory_map>: Change return type to
826         std::vector<mem_region>.
827         * target-debug.h (target_debug_print_mem_region_vector): Rename
828         to ...
829         (target_debug_print_std_vector_mem_region): ... this.
830         * target-delegates.c: Re-generate.
831
832 2017-12-03  Pedro Alves  <palves@redhat.com>
833
834         * make-target-delegates (munge_type): Also munge '<', '>', and
835         ':'.  Avoid double underscores in identifiers, and trailing
836         underscores.
837         * target-debug.h
838         (target_debug_print_VEC_static_tracepoint_marker_p__p): Rename to
839         ...
840         (target_debug_print_VEC_static_tracepoint_marker_p_p): ... this.
841         * target-delegates.c: Regenerate.
842
843 2017-12-02  Simon Marchi  <simon.marchi@polymtl.ca>
844
845         * common/poison.h (XDELETE): Fix typo.
846
847 2017-12-01  Andrew Cagney  <cagney@redhat.com>
848             Joel Brobecker  <brobecker@adacore.com>
849             Sergio Durigan Junior  <sergiodj@redhat.com>
850
851         * NEWS (Changes since GDB 8.0: Mention new '--readnever'
852         feature.
853         * coffread.c (coff_symfile_read): Do not map over sections with
854         'coff_locate_sections' if readnever is on.
855         * dwarf2read.c (dwarf2_has_info): Return 0 if
856         readnever is on.
857         * elfread.c (elf_symfile_read): Do not map over sections with
858         'elf_locate_sections' if readnever is on.
859         * main.c (validate_readnow_readnever): New function.
860         (captured_main_1): Add support for --readnever.
861         (print_gdb_help): Document --readnever.
862         * objfile-flags.h (enum objfile_flag) <OBJF_READNEVER>: New
863         flag.
864         * symfile.c (readnever_symbol_files): New global.
865         (symbol_file_add_with_addrs): Set 'OBJF_READNEVER' when
866         'READNEVER_SYMBOL_FILES' is set.
867         (validate_readnow_readnever): New function.
868         (symbol_file_command): Handle '-readnever' option.
869         Call 'validate_readnow_readnever'.
870         (add_symbol_file_command): Handle '-readnever' option.
871         Call 'validate_readnow_readnever'.
872         (_initialize_symfile): Document new '-readnever' option for
873         both 'symbol-file' and 'add-symbol-file' commands.
874         * top.h (readnever_symbol_files): New extern global.
875         * xcoffread.c (xcoff_initial_scan): Do not read debug
876         information if readnever is on.
877
878 2017-12-01  Sergio Durigan Junior  <sergiodj@redhat.com>
879
880         * symfile.c (symbol_file_command): Call
881         'symbol_file_add_main_1' only after processing all command
882         line options.
883         (add_symbol_file_command): Modify logic to make arguments
884         position-independent.
885
886 2017-12-01  Joel Brobecker  <brobecker@adacore.com>
887
888         * ada-lang.c (symbol_list_obstack): Delete.
889         (resolve_subexp): Make sure "candidates" gets xfree'ed.
890         (ada_lookup_symbol_list_worker): Remove the limitation that
891         the result is only good until the next call, now making it
892         the responsibility of the caller to free the result when no
893         longer needed.  Adjust the function's intro comment accordingly.
894         (ada_lookup_symbol_list): Adjust the function's intro comment.
895         (ada_iterate_over_symbols): Make sure "results" gets xfree'ed.
896         (ada_lookup_encoded_symbol, get_var_value): Likewise.
897         (_initialize_ada_language): Remove symbol_list_obstack
898         initialization.
899         * ada-exp.y (block_lookup): Make sure "syms" gets xfree'ed.
900         (write_var_or_type, write_name_assoc): Likewise.
901
902 2017-12-01  Tom Tromey  <tom@tromey.com>
903
904         * Makefile.in (all_deps_files): New variable.
905         Include .Po files using all_deps_files.
906
907 2017-12-01  Joel Brobecker  <brobecker@adacore.com>
908
909         * MAINTAINERS: Update list of maintainers, moving those who
910         stepped down or became inactive to the "Past Maintainers"
911         section.
912
913 2017-11-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
914
915         * configure.ac Don't check for sys/fault.h, sys/syscall.h,
916         sys/proc.h.
917         (NEW_PROC_API): Remove.
918         (prsysent_t, pr_sigset_t, pr_sigaction64_t, pr_siginfo64_t):
919         Likewise.
920         * common/common.m4 (GDB_AC_COMMON): Don't check for sys/syscall.h.
921         * configure: Regenerate.
922         * config.in: Regenerate.
923         * gdbserver/configure: Regenerate.
924         * gdbserver/config.in: Regenerate.
925
926         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Remove
927         NEW_PROC_API test.
928         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Likewise.
929
930         * linux-btrace.c: Remove HAVE_SYS_SYSCALL_H test.
931
932         * proc-api.c: Remove !NEW_PROC_API support.
933         Remove HAVE_SYS_PROC_H and HAVE_SYS_USER_H tests.
934         Remove tests for macros always defined on Solaris.
935         * proc-events.c: Remove !NEW_PROC_API support.
936         Remove Remove HAVE_SYS_SYSCALL_H, HAVE_SYS_PROC_H and
937         HAVE_SYS_USER_H tests.
938         (init_syscall_table): Remove non-Solaris syscalls.
939         Remove tests for syscalls present on all Solaris versions.
940         Add missing Solaris 10+ syscalls.
941         (signal_table): Remove non-Solaris signals.
942         Remove tests for signals present on all Solaris versions.
943         (fault_table): Remove non-Solaris faults.
944         Remove tests for faults present on all Solaris versions.
945         * proc-flags.c: Remove !NEW_PROC_API support.
946         (pr_flag_table): Remove non-Solaris and pre-Solaris 7 comments.
947         Remove non-Solaris flags.
948         * proc-why.c: Remove !NEW_PROC_API support.
949         (pr_why_table): Remove meaningless comments.
950         Remove tests for reasons present on all Solaris versions.
951         Remove OSF/1 cases.
952         (proc_prettyfprint_why): Likewise.
953
954         * procfs.c: Remove !NEW_PROC_API and DYNAMIC_SYSCALLS support.
955         Remove HAVE_SYS_FAULT_H and HAVE_SYS_SYSCALL_H tests.
956         Remove WA_READ test, IRIX watchpoint support.
957         (gdb_sigset_t, gdb_sigaction_t, gdb_siginfo_t): Replace by base
958         types.  Change users.
959         (gdb_praddset, gdb_prdelset, gdb_premptysysset, gdb_praddsysset)
960         (gdb_prdelset, gdb_pr_issyssetmember): Replace by base macros.
961         Change callers.
962         Remove CTL_PROC_NAME_FMT tests.
963         (gdb_prstatus_t, gdb_lwpstatus_t): Replace by base types.  Change
964         users.
965         (sysset_t_size): Remove.  Use sizeof (sysset_t) in callers.
966         Remove PROCFS_DONT_PIOCSSIG_CURSIG support.
967         (proc_modify_flag): Replace GDBRESET by PCUNSET.
968         Remove PR_ASYNC, PR_KLC tests.
969         (proc_unset_inherit_on_fork): Remove PR_ASYNC test.
970         (proc_parent_pid): Remove PCWATCH etc. tests.
971         (proc_set_watchpoint): Remove !PCWATCH && !PIOCSWATCH support.
972         Remove PCAGENT test.
973         (proc_get_nthreads) [PIOCNTHR && PIOCTLIST]: Remove.
974         Remove SYS_lwpcreate || SYS_lwp_create test.
975         (proc_get_current_thread): Likewise.
976         [PIOCNTHR && PIOCTLIST]: Remove.
977         [PIOCLSTATUS]: Remove.
978         (procfs_debug_inferior): Remove non-Solaris cases, conditionals.
979         [PRFS_STOPEXEC]: Remove.
980         (syscall_is_lwp_exit): Remove non-Solaris cases, conditionals.
981         (syscall_is_exit): Likewise.
982         (syscall_is_exec): Likewise.
983         (syscall_is_lwp_create): Likewise.
984         Remove SYS_syssgi support.
985         (procfs_wait): Remove PR_ASYNC, !PIOCSSPCACT tests.
986         [SYS_syssgi]: Remove.
987         Remove non-Solaris cases, conditionals.
988         (unconditionally_kill_inferior) [PROCFS_NEED_PIOCSSIG_FOR_KILL]:
989         Remove.
990         (procfs_init_inferior) [SYS_syssgi]: Remove.
991         (procfs_set_exec_trap) [PRFS_STOPEXEC]: Remove.
992         (procfs_inferior_created) [SYS_syssgi]: Remove.
993         (procfs_set_watchpoint): Remove !AIX5 test.
994         (procfs_stopped_by_watchpoint): Remove FLTWATCH test, FLTKWATCH
995         case.
996         (mappingflags) [MA_PHYS]: Remove.
997         (info_mappings_callback): Remove PCAGENT test.
998         Remove PIOCOPENLWP || PCAGENT test.
999
1000 2017-11-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1001
1002         * sol-thread.c (info_solthreads): Constify args.
1003         Cast args to void *.
1004
1005 2017-11-29  John Baldwin  <jhb@FreeBSD.org>
1006
1007         * target-float.c [HAVE_LIBMPFR]: Define MPFR_USE_INTMAX_T.
1008
1009 2017-11-29  Joel Brobecker  <brobecker@adacore.com>
1010
1011         * ada-lang.c (to_fixed_range_type): Make sure that the size
1012         of the range type being returned is the same as the size
1013         of the range type being fixed.
1014
1015 2017-11-29  Pedro Alves  <palves@redhat.com>
1016
1017         PR c++/19436
1018         * NEWS: Mention setting breakpoints on functions with C++ ABI
1019         tags.
1020         * completer.h (completion_match_for_lcd) <match,
1021         mark_ignored_range>: New methods.
1022         <finish>: Consider ignored ranges.
1023         <clear>: Clear ignored ranges.
1024         <m_ignored_ranges, m_finished_storage>: New fields.
1025         * cp-support.c (cp_search_name_hash): Ignore ABI tags.
1026         (cp_symbol_name_matches_1, cp_fq_symbol_name_matches): Pass the
1027         completion_match_for_lcd pointer to strncmp_iw_with_mode.
1028         (test_cp_symbol_name_cmp): Add [abi:...] tags unit tests.
1029         * language.c (default_symbol_name_matcher): Pass the
1030         completion_match_for_lcd pointer to strncmp_iw_with_mode.
1031         * linespec.c (linespec_lexer_lex_string): Don't tokenize ABI tags.
1032         * utils.c (skip_abi_tag): New function.
1033         (strncmp_iw_with_mode): Add completion_match_for_lcd parameter.
1034         Handle ABI tags.
1035         * utils.h (strncmp_iw_with_mode): Add completion_match_for_lcd
1036         parameter.
1037
1038 2017-11-29  Pedro Alves  <palves@redhat.com>
1039
1040         PR c++/19436
1041         * NEWS: Mention setting breakpoints on functions with C++ ABI
1042         tags.
1043         * completer.h (completion_match_for_lcd) <match,
1044         mark_ignored_range>: New methods.
1045         <finish>: Consider ignored ranges.
1046         <clear>: Clear ignored ranges.
1047         <m_ignored_ranges, m_finished_storage>: New fields.
1048         * cp-support.c (cp_search_name_hash): Ignore ABI tags.
1049         (cp_symbol_name_matches_1, cp_fq_symbol_name_matches): Pass the
1050         completion_match_for_lcd pointer to strncmp_iw_with_mode.
1051         (test_cp_symbol_name_cmp): Add [abi:...] tags unit tests.
1052         * language.c (default_symbol_name_matcher): Pass the
1053         completion_match_for_lcd pointer to strncmp_iw_with_mode.
1054         * linespec.c (linespec_lexer_lex_string): Don't tokenize ABI tags.
1055         * utils.c (skip_abi_tag): New function.
1056         (strncmp_iw_with_mode): Add completion_match_for_lcd parameter.
1057         Handle ABI tags.
1058         * utils.h (strncmp_iw_with_mode): Add completion_match_for_lcd
1059         parameter.
1060
1061 2017-11-29  Pedro Alves  <palves@redhat.com>
1062
1063         * NEWS: Mention that breakpoints on C++ functions are now set on
1064         on all namespaces/classes by default, and mention "break
1065         -qualified".
1066         * ax-gdb.c (agent_command_1): Adjust to pass a
1067         symbol_name_match_type to new_linespec_location.
1068         * breakpoint.c (parse_breakpoint_sals): Adjust to
1069         get_linespec_location's return type change.
1070         (strace_marker_create_sals_from_location): Adjust to pass a
1071         symbol_name_match_type to new_linespec_location.
1072         (strace_marker_decode_location): Adjust to get_linespec_location's
1073         return type change.
1074         (strace_command): Adjust to pass a symbol_name_match_type to
1075         new_linespec_location.
1076         (LOCATION_HELP_STRING): Add paragraph about wildmatching, and
1077         mention "-qualified".
1078         * c-lang.c (cplus_language_defn): Install cp_search_name_hash.
1079         * completer.c (explicit_location_match_type::MATCH_QUALIFIED): New
1080         enumerator.
1081         (complete_address_and_linespec_locations): New parameter
1082         'match_type'.  Pass it down.
1083         (explicit_options): Add "-qualified".
1084         (collect_explicit_location_matches): Pass the requested match type
1085         to the linespec completers.  Handle MATCH_QUALIFIED.
1086         (location_completer): Handle "-qualified" combined with linespecs.
1087         * cp-support.c (cp_search_name_hash): New.
1088         (cp_symbol_name_matches_1): Implement wild matching for C++.
1089         (cp_fq_symbol_name_matches): Reimplement.
1090         (cp_get_symbol_name_matcher): Return different matchers depending
1091         on the lookup name's match type.
1092         (selftests::test_cp_symbol_name_matches): Add wild matching tests.
1093         * cp-support.h (cp_search_name_hash): New declaration.
1094         * dwarf2read.c
1095         (selftests::dw2_expand_symtabs_matching::test_symbols): Add
1096         symbols.
1097         (test_dw2_expand_symtabs_matching_symbol): Add wild matching
1098         tests.
1099         * guile/scm-breakpoint.c (gdbscm_register_breakpoint_x): Adjust to
1100         pass a symbol_name_match_type to new_linespec_location.
1101         * linespec.c (linespec_parse_basic): Lookup function symbols using
1102         the parser's symbol name match type.
1103         (convert_explicit_location_to_linespec): New
1104         symbol_name_match_type parameter.  Pass it down to
1105         find_linespec_symbols.
1106         (convert_explicit_location_to_sals): Pass the location's name
1107         match type to convert_explicit_location_to_linespec.
1108         (parse_linespec): New match_type parameter.  Save it in the
1109         parser.
1110         (linespec_parser_new): Default to symbol_name_match_type::WILD.
1111         (linespec_complete_function): New symbol_name_match_type
1112         parameter.  Use it.
1113         (complete_linespec_component): Pass down the parser's recorded
1114         name match type.
1115         (linespec_complete_label): New symbol_name_match_type parameter.
1116         Use it.
1117         (linespec_complete): New symbol_name_match_type parameter.  Save
1118         it in the parser and pass it down.  Adjust to
1119         get_linespec_location's prototype change.
1120         (find_function_symbols, find_linespec_symbols): New
1121         symbol_name_match_type parameter.  Pass it down instead of
1122         assuming symbol_name_match_type::WILD.
1123         * linespec.h (linespec_complete, linespec_complete_function)
1124         (linespec_complete_label): New symbol_name_match_type parameter.
1125         * location.c (event_location::linespec_location): Now a struct
1126         linespec_location.
1127         (EL_LINESPEC): Adjust.
1128         (initialize_explicit_location): Default to
1129         symbol_name_match_type::WILD.
1130         (new_linespec_location): New symbol_name_match_type parameter.
1131         Record it in the location.
1132         (get_linespec_location): Now returns a struct linespec_location.
1133         (new_explicit_location): Also copy func_name_match_type.
1134         (explicit_to_string_internal)
1135         (string_to_explicit_location): Handle "-qualified".
1136         (copy_event_location): Adjust to LINESPEC_LOCATION type change.
1137         Copy symbol_name_match_type fields.
1138         (event_location_deleter::operator()): Adjust to LINESPEC_LOCATION
1139         type change.
1140         (event_location_to_string): Adjust to LINESPEC_LOCATION type
1141         change.  Handle "-qualfied".
1142         (string_to_explicit_location): Handle "-qualified".
1143         (string_to_event_location_basic): New symbol_name_match_type
1144         parameter.  Pass it down.
1145         (string_to_event_location): Handle "-qualified".
1146         * location.h (struct linespec_location): New.
1147         (explicit_location::func_name_match_type): New field.
1148         (new_linespec_location): Now returns a const linespec_location *.
1149         (string_to_event_location_basic): New symbol_name_match_type
1150         parameter.
1151         (explicit_completion_info::saw_explicit_location_option): New
1152         field.
1153         * mi/mi-cmd-break.c (mi_cmd_break_insert_1): Adjust to pass a
1154         symbol_name_match_type to new_linespec_location.
1155         * python/py-breakpoint.c (bppy_init): Likewise.
1156         * python/python.c (gdbpy_decode_line): Likewise.
1157
1158 2017-11-29  Pedro Alves  <palves@redhat.com>
1159
1160         * ada-lang.c (ada_lookup_name_info::matches): Change type of
1161         parameter from completion_match to completion_match_result.
1162         Adjust.
1163         (do_wild_match, do_full_match, ada_symbol_name_matches): Likewise.
1164         * completer.c (completion_tracker::maybe_add_completion): Add
1165         match_for_lcd parameter and use it.
1166         (completion_tracker::add_completion): Likewise.
1167         * completer.h (class completion_match_for_lcd): New class.
1168         (completion_match_result::match_for_lcd): New field.
1169         (completion_match_result::set_match): New method.
1170         (completion_tracker): Add comments.
1171         (completion_tracker::add_completion): Add match_for_lcd parameter.
1172         (completion_tracker::reset_completion_match_result): Reset
1173         match_for_lcd too.
1174         (completion_tracker::maybe_add_completion): Add match_for_lcd
1175         parameter.
1176         (completion_tracker::m_lowest_common_denominator_unique): Extend
1177         comments.
1178         * cp-support.c (cp_symbol_name_matches_1)
1179         (cp_fq_symbol_name_matches): Change type of parameter from
1180         completion_match to completion_match_result.  Adjust.
1181         * language.c (default_symbol_name_matcher): Change type of
1182         parameter from completion_match to completion_match_result.
1183         Adjust.
1184         * language.h (completion_match_for_lcd): Forward declare.
1185         (default_symbol_name_matcher): Change type of parameter from
1186         completion_match to completion_match_result.
1187         * symtab.c (compare_symbol_name): Adjust.
1188         (completion_list_add_name): Pass the match_for_lcd to the tracker.
1189         * symtab.h (ada_lookup_name_info::matches): Change type of
1190         parameter from completion_match to completion_match_result.
1191         (symbol_name_matcher_ftype): Likewise, and update comments.
1192
1193 2017-11-29  Pedro Alves  <palves@redhat.com>
1194
1195         * linespec.c (minsym_found, add_minsym): Use msymbol_is_function.
1196         * minsyms.c (msymbol_is_text): Delete.
1197         (msymbol_is_function): New function.
1198         * minsyms.h (msymbol_is_text): Delete.
1199         (msymbol_is_function): New declaration.
1200         * symtab.c (find_function_alias_target): Use msymbol_is_function.
1201
1202 2017-11-29  Tom Tromey  <tom@tromey.com>
1203
1204         * Makefile.in (distclean): Handle the case where rmdir fails.
1205
1206 2017-11-29  Tom Tromey  <tom@tromey.com>
1207
1208         * symfile.c (_initialize_symfile): Update usage text for
1209         add-symbol-file, symbol-file, load.
1210
1211 2017-11-29  Tom Tromey  <tom@tromey.com>
1212
1213         * symfile.c (add_symbol_file_command): Error if some arguments to
1214         -s are missing.  Change unrecognized-argument error message.
1215         (_initialize_symfile): Fix usage text for add-symbol-file.
1216
1217 2017-11-27  Tom Tromey  <tom@tromey.com>
1218
1219         * Makefile.in (REMOTE_OBS): Remove.
1220         (SFILES): Remove remote sources.
1221         (COMMON_SFILES): Add remote sources.
1222         (ALLDEPFILES): Remove dcache.c.
1223
1224 2017-11-27  Tom Tromey  <tom@tromey.com>
1225
1226         * Makefile.in (SUBDIR_TARGET_SRCS, SUBDIR_TARGET_OBS): New
1227         variables.
1228         (SFILES): Use SUBDIR_TARGET_SRCS.
1229         (COMMON_OBS): Use SUBDIR_TARGET_OBS.  Remove waitstatus.o.
1230         (CONFIG_SRC_SUBDIR): Add target.
1231         (%.o): Remove target rule.
1232
1233 2017-11-27  Tom Tromey  <tom@tromey.com>
1234
1235         * Makefile.in (COMMON_OBS): Remove filename-seen-cache.o,
1236         registry.o, thread-fsm.o, debug.o.
1237         (COMMON_SFILES): Add filename-seen-cache.c, registry.c,
1238         thread-fsm.c, debug.c.
1239
1240 2017-11-27  Tom Tromey  <tom@tromey.com>
1241
1242         * Makefile.in (COMMON_SFILES): New.
1243         (SFILES): Move some entries to COMMON_SFILES.
1244         (COMMON_OBS): Use COMMON_SFILES.
1245
1246 2017-11-27  Tom Tromey  <tom@tromey.com>
1247
1248         * Makefile.in (YYFILES): Update comment.
1249         (YYOBJ): Redefine.
1250
1251 2017-11-27  Tom Tromey  <tom@tromey.com>
1252
1253         * Makefile.in (SUBDIR_PYTHON_OBS): Redefine.
1254         (CONFIG_SRC_SUBDIR): Add python.
1255         (%.o): Remove python rule.
1256         (python/%.o): New rule.
1257         * configure: Rebuild.
1258         * configure.ac (CONFIG_OBS): Refer to python/python.o
1259
1260 2017-11-27  Tom Tromey  <tom@tromey.com>
1261
1262         * configure: Rebuild.
1263         * configure.ac (CONFIG_OBS): Refer to guile/guile.o.
1264         * Makefile.in (SUBDIR_GUILE_OBS): Redefine.
1265         (CONFIG_SRC_SUBDIR): Add guile.
1266         (%.o): Remove guile rule.
1267
1268 2017-11-27  Tom Tromey  <tom@tromey.com>
1269
1270         * Makefile.in (SUBDIR_UNITTESTS_OBS): Redefine.
1271         (%.o): Remove unittests rule.
1272         (CONFIG_SRC_SUBDIR): Add unittests.
1273
1274 2017-11-27  Tom Tromey  <tom@tromey.com>
1275
1276         * Makefile.in (SUBDIR_TUI_OBS): Redefine.
1277         (CONFIG_SRC_SUBDIR): Add tui.
1278         (%.o): Remove tui rule.
1279
1280 2017-11-27  Tom Tromey  <tom@tromey.com>
1281
1282         * Makefile.in (SUBDIR_GCC_COMPILE_OBS): Redefine.
1283         (%.o): Remove compile rule.
1284         (CONFIG_SRC_SUBDIR): Add compile.
1285
1286 2017-11-27  Tom Tromey  <tom@tromey.com>
1287
1288         * Makefile.in (SUBDIR_MI_OBS): Redefine.
1289         (%.o): Remove mi rule.
1290         (CONFIG_SRC_SUBDIR): Add mi.
1291         (COMMON_OBS): Use mi/mi-common.o
1292
1293 2017-11-27  Tom Tromey  <tom@tromey.com>
1294
1295         * Makefile.in (SUBDIR_CLI_OBS): Redefine.
1296         (%.o): Remove cli rule.
1297         (CONFIG_SRC_SUBDIR): Add cli.
1298
1299 2017-11-27  Tom Tromey  <tom@tromey.com>
1300
1301         * configure.ac (CONFIG_SRC_SUBDIR): Don't subst.
1302         * configure: Rebuild.
1303         * Makefile.in (CONFIG_SRC_SUBDIR): Redefine.
1304         (CONFIG_DEP_SUBDIR): New variable.
1305         (%.o): Add order-only dependency.
1306         ($(CONFIG_DEP_SUBDIR)): New target.
1307
1308 2017-11-26  Dominik Czarnota  <dominik.b.czarnota@gmail.com>
1309
1310         PR gdb/21945
1311         * findcmd.c (_initialize_mem_search): Update find command help
1312         text.
1313
1314 2017-11-26  Simon Marchi  <simon.marchi@polymtl.ca>
1315
1316         * python/python.c (do_start_initialization): Change progname
1317         type to gdb::unique_xmalloc_ptr.  Release the pointer when using
1318         Python 2.
1319
1320 2017-11-26  Tom Tromey  <tom@tromey.com>
1321
1322         * common/format.h: Add include guards.
1323
1324 2017-11-26  Tom Tromey  <tom@tromey.com>
1325
1326         * nat/linux-personality.h (class
1327         maybe_disable_address_space_randomization): New class.
1328         (maybe_disable_address_space_randomization): Don't declare
1329         function.
1330         * nat/linux-personality.c (restore_personality)
1331         (make_disable_asr_cleanup): Remove.
1332         (maybe_disable_address_space_randomization): Now a constructor.
1333         (~maybe_disable_address_space_randomization): New destructor.
1334         * linux-nat.c (linux_nat_create_inferior): Update.
1335
1336 2017-11-26  Tom Tromey  <tom@tromey.com>
1337
1338         * gcore.c (write_gcore_file_1): Use gdb::unique_xmalloc_ptr.
1339
1340 2017-11-26  Ulrich Weigand  <uweigand@de.ibm.com>
1341
1342         * spu-tdep.c (spu_software_single_step): Access SPU_LSLR_REGNUM as
1343         "cooked" register.  Access only first four bytes of branch target
1344         registers.
1345
1346 2017-11-25  Sergio Durigan Junior  <sergiodj@redhat.com>
1347
1348         PR gdb/22491
1349         * stap-probe.c (relocate_address): New function.
1350         (stap_probe::get_relocated_address): Use 'relocate_address'.
1351         (stap_probe::set_semaphore): Use 'relocate_address' and pass
1352         'm_sem_addr'.
1353         (stap_probe::clear_semaphore): Likewise.
1354
1355 2017-11-25  Pedro Alves  <palves@redhat.com>
1356
1357         * dictionary.c: Include "safe-ctype.h".
1358         * minsyms.c: Include "safe-ctype.h".
1359         * minsyms.c (SYMBOL_HASH_NEXT): Use TOLOWER instead of tolower.
1360
1361 2017-11-25   Pedro Alves  <palves@redhat.com>
1362
1363         * completer.c (complete_line_internal_1): Skip spaces until the
1364         start of the command.
1365
1366 2017-11-24  Pedro Alves  <palves@redhat.com>
1367
1368         * cp-support.c (cp_symbol_name_matches_1): New, factored out from
1369         cp_fq_symbol_name_matches.  Pass language_cplus to
1370         strncmp_with_mode.
1371         (cp_fq_symbol_name_matches): Call cp_symbol_name_matches_1.
1372         (selftests::test_cp_symbol_name_cmp): New.
1373         (_initialize_cp_support): Register "cp_symbol_name_matches"
1374         selftests.
1375         * language.c (default_symbol_name_matcher): Pass language_minimal
1376         to strncmp_iw_with_mode.
1377         * utils.c: Include "cp-support.h" and <algorithm>.
1378         (valid_identifier_name_char, cp_skip_operator_token, skip_ws)
1379         (cp_is_operator): New functions.
1380         (strncmp_iw_with_mode): Use them.  Add language parameter.  Don't
1381         skip whitespace in the symbol name when the lookup name doesn't
1382         have spaces, and vice versa.
1383         (strncmp_iw, strcmp_iw): Pass language to strncmp_iw_with_mode.
1384         * utils.h (strncmp_iw_with_mode): Add language parameter.
1385
1386 2017-11-24  Joel Brobecker  <brobecker@adacore.com>
1387
1388         * ada-lang.c (ada_exception_message_1, ada_exception_message):
1389         New functions.
1390         (print_it_exception): If available, display the exception
1391         message as well.
1392         * NEWS: Document new feature.
1393
1394 2017-11-24  Ulrich Weigand  <uweigand@de.ibm.com>
1395
1396         * configure.nat <spu-linux>: Add fork-inferior.o to NATDEPFILES.
1397
1398 2017-11-24  Philipp Rudo  <prudo@linux.vnet.ibm.com>
1399
1400         * dtrace-probe.c (dtrace_probe::build_arg_exprs)
1401         (dtrace_probe::is_enabled, dtrace_probe::enable)
1402         (dtrace_probe::disable): Remove keyword 'struct' at for-range
1403         variable
1404         * probe.c (gen_ui_out_table_header_info)
1405         (print_ui_out_not_applicables):  Remove keyword 'struct' at
1406         for-range variable
1407
1408 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1409
1410         * configure.tgt: Add arch/aarch64.o
1411
1412 2017-11-24  Simon Marchi  <simon.marchi@polymtl.ca>
1413
1414         * common/common-utils.h: Include poison.h.
1415         (xfree): Remove declaration, add definition with static_assert.
1416         * common/common-utils.c (xfree): Remove.
1417         * common/poison.h (IsMallocatable): Define.
1418         (IsFreeable): Define.
1419         (free): Delete for non-freeable types.
1420         (xnew): New.
1421         (XNEW): Undef and redefine.
1422         (xcnew): New.
1423         (XCNEW): Undef and redefine.
1424         (xdelete): New.
1425         (XDELETE): Undef and redefine.
1426         (xnewvec): New.
1427         (XNEWVEC): Undef and redefine.
1428         (xcnewvec): New.
1429         (XCNEWVEC): Undef and redefine.
1430         (xresizevec): New.
1431         (XRESIZEVEC): Undef and redefine.
1432         (xdeletevec): New.
1433         (XDELETEVEC): Undef and redefine.
1434         (xnewvar): New.
1435         (XNEWVAR): Undef and redefine.
1436         (xcnewvar): New.
1437         (XCNEWVAR): Undef and redefine.
1438         (xresizevar): New.
1439         (XRESIZEVAR): Undef and redefine.
1440
1441 2017-11-24  Simon Marchi  <simon.marchi@polymtl.ca>
1442
1443         * gdbthread.h (private_thread_info): Define structure type, add
1444         virtual pure destructor.
1445         (thread_info) <priv>: Change type to unique_ptr.
1446         <private_dtor>: Remove.
1447         * thread.c (add_thread_with_info): Adjust to use of unique_ptr.
1448         (private_thread_info::~private_thread_info): Provide default
1449         implementation.
1450         (thread_info::~thread_info): Don't call private_dtor nor
1451         manually free priv.
1452         * aix-thread.c (private_thread_info): Rename to ...
1453         (aix_thread_info): ... this.
1454         (get_aix_thread_info): New.
1455         (sync_threadlists): Adjust.
1456         (iter_tid): Adjust.
1457         (aix_thread_resume): Adjust.
1458         (aix_thread_fetch_registers): Adjust.
1459         (aix_thread_store_registers): Adjust.
1460         (aix_thread_extra_thread_info): Adjust.
1461         * darwin-nat.h (private_thread_info): Rename to ...
1462         (darwin_thread_info): ... this.
1463         (get_darwin_thread_info): New.
1464         * darwin-nat.c (darwin_init_thread_list): Adjust.
1465         (darwin_check_new_threads): Adjust.
1466         (thread_info_from_private_thread_info): Adjust.
1467         * linux-thread-db.c (private_thread_info): Rename to ...
1468         (thread_db_thread_info): ... this, initialize fields.
1469         (get_thread_db_thread_info): New.
1470         <dying>: Change type to bool.
1471         (update_thread_state): Adjust to type rename.
1472         (record_thread): Adjust to type rename an use of unique_ptr.
1473         (thread_db_pid_to_str): Likewise.
1474         (thread_db_extra_thread_info): Likewise.
1475         (thread_db_thread_handle_to_thread_info): Likewise.
1476         (thread_db_get_thread_local_address): Likewise.
1477         * nto-tdep.h (private_thread_info): Rename to ...
1478         (nto_thread_info): ... this, initialize fields.
1479         (get_nto_thread_info): New.
1480         <name>: Change type to std::string.
1481         * nto-tdep.c (nto_extra_thread_info): Adjust to type rename and
1482         use of unique_ptr.
1483         * nto-procfs.c (update_thread_private_data_name): Adjust to
1484         std::string change, allocate nto_private_thread_info with new.
1485         (update_thread_private_data): Adjust to unique_ptr.
1486         * remote.c (private_thread_info): Rename to ...
1487         (remote_thread_info): ... this, initialize data members with
1488         default values.
1489         <extra, name>: Change type to std::string.
1490         <thread_handle>: Change type to non-pointer.
1491         (free_private_thread_info): Remove.
1492         (get_private_info_thread): Rename to...
1493         (get_remote_thread_info): ... this, change return type, adjust to
1494         use of unique_ptr, use remote_thread_info constructor.
1495         (remote_add_thread): Adjust.
1496         (get_private_info_ptid): Rename to...
1497         (get_remote_thread_info): ...this, change return type.
1498         (remote_thread_name): Use get_remote_thread_info, adjust to
1499         change to std::string.
1500         (struct thread_item) <~thread_item>: Remove.
1501         <thread_handle>: Make non pointer.
1502         (start_thread): Adjust to thread_item::thread_handle type
1503         change.
1504         (remote_update_thread_list): Adjust to type name change, move
1505         strings from temporary to long-lived object instead of
1506         duplicating.
1507         (remote_threads_extra_info): Use get_remote_thread_info.
1508         (process_initial_stop_replies): Likewise.
1509         (resume_clear_thread_private_info): Likewise.
1510         (remote_resume): Adjust to type name change.
1511         (remote_commit_resume): Use get_remote_thread_info.
1512         (process_stop_reply): Adjust to type name change.
1513         (remote_stopped_by_sw_breakpoint): Use get_remote_thread_info.
1514         (remote_stopped_by_hw_breakpoint): Likewise.
1515         (remote_stopped_by_watchpoint): Likewise.
1516         (remote_stopped_data_address): Likewise.
1517         (remote_core_of_thread): Likewise.
1518         (remote_thread_handle_to_thread_info): Use
1519         get_private_info_thread, adjust to thread_handle field type
1520         change.
1521
1522 2017-11-24  Simon Marchi  <simon.marchi@polymtl.ca>
1523
1524         * remote.c (struct thread_item): Add constructor, disable copy
1525         construction and copy assignment, define default move
1526         construction and move assignment.
1527         <extra, name>: Change type to std::string.
1528         <core>: Initialize.
1529         <thread_handle>: Make non-pointer.
1530         (thread_item_t): Remove typedef.
1531         (DEF_VEC_O(thread_item_t)): Remove.
1532         (threads_listing_context) <contains_thread>: New method.
1533         <remove_thread>: New method.
1534         <items>: Change type to std::vector.
1535         (clear_threads_listing_context): Remove.
1536         (threads_listing_context_remove): Remove.
1537         (remote_newthread_step): Use thread_item constructor, adjust to
1538         change to std::vector.
1539         (start_thread): Use thread_item constructor, adjust to change to
1540         std::vector.
1541         (end_thread): Adjust to change to std::vector and std::string.
1542         (remote_get_threads_with_qthreadinfo): Use thread_item
1543         constructor, adjust to std::vector.
1544         (remote_update_thread_list): Adjust to change to std::vector and
1545         std::string, use threads_listing_context methods.
1546         (remove_child_of_pending_fork): Adjust.
1547         (remove_new_fork_children): Adjust.
1548         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add rsp-low-selftests.c.
1549         (SUBDIR_UNITTESTS_OBS): Add rsp-low-selftests.o.
1550         * unittests/rsp-low-selftests.c: New file.
1551         * common/rsp-low.h: Include common/byte-vector.h.
1552         (hex2bin): New overload.
1553         * common/rsp-low.c (hex2bin): New overload.
1554
1555 2017-11-24  Simon Marchi  <simon.marchi@ericsson.com>
1556
1557         * inferior.h (private_inferior): Define structure type, add
1558         virtual pure destructor.
1559         (inferior) <priv>: Change type to unique_ptr.
1560         * inferior.c (private_inferior::~private_inferior): Provide
1561         default implementation.
1562         (inferior::~inferior): Don't free priv field.
1563         (exit_inferior_1): Likewise.
1564         * darwin-nat.h (struct darwin_exception_info): Initialize fields.
1565         (darwin_exception_info): Remove typedef.
1566         (DEF_VEC_O (darwin_thread_t)); Remove.
1567         (private_inferior): Rename to ...
1568         (darwin_private_inferior): ... this, extend private_inferior.
1569         (get_darwin_inferior): New.
1570         <threads>: Change type to std::vector of darwin_thread_t pointers.
1571         * darwin-nat.c (darwin_check_new_threads): Adjust.
1572         (find_inferior_task_it): Adjust.
1573         (darwin_find_thread); Adjust.
1574         (darwin_suspend_inferior): Adjust.
1575         (darwin_resume_inferior): Adjust.
1576         (darwin_find_new_inferior): Adjust.
1577         (darwin_decode_notify_message): Adjust.
1578         (darwin_send_reply): Adjust.
1579         (darwin_resume_inferior_threads): Adjust.
1580         (darwin_suspend_inferior_threads): Adjust.
1581         (darwin_decode_message): Adjust.
1582         (darwin_wait): Adjust.
1583         (darwin_interrupt): Adjust.
1584         (darwin_deallocate_threads): Adjust.
1585         (darwin_mourn_inferior): Adjust, don't free private data.
1586         (darwin_reply_to_all_pending_messages): Adjust.
1587         (darwin_stop_inferior): Adjust.
1588         (darwin_setup_exceptions): Adjust.
1589         (darwin_kill_inferior): Adjust.
1590         (darwin_setup_request_notification): Adjust.
1591         (darwin_attach_pid): Adjust.
1592         (darwin_init_thread_list): Adjust.
1593         (darwin_setup_fake_stop_event): Adjust.
1594         (darwin_attach): Adjust.
1595         (darwin_detach): Adjust.
1596         (darwin_xfer_partial): Adjust.
1597         (set_enable_mach_exceptions): Adjust.
1598         (darwin_pid_to_exec_file): Adjust.
1599         (darwin_get_ada_task_ptid): Adjust.
1600         * darwin-nat-info.c (get_task_from_args): Adjust.
1601         (info_mach_ports_command): Adjust.
1602         (info_mach_region_command): Adjust.
1603         (info_mach_exceptions_command): Adjust.
1604         * remote.c (private_inferior): Rename to ...
1605         (remote_private_inferior): ... this, initialize fields.
1606         (get_remote_inferior); New.
1607         (remote_commit_resume): Use get_remote_inferior.
1608         (check_pending_event_prevents_wildcard_vcont_callback): Likewise.
1609
1610 2017-11-24  Pedro Alves  <palves@redhat.com>
1611
1612         * NEWS: Mention linespecs and explicit locations, and completion
1613         improvements.
1614
1615 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1616
1617         * regcache.c (regcache::dump): Remove footnote_register_size.
1618
1619 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1620
1621         * regcache.c (cooked_read_test): Add more test for readonly
1622         regcache.
1623
1624 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1625
1626         * gdbarch-selftests.c (test_target_has_registers): Move it to
1627         target.c.
1628         (test_target_has_stack): Likewise.
1629         (test_target_has_memory): Likewise.
1630         (test_target_prepare_to_store): Likewise.
1631         (test_target_store_registers): Likewise.
1632         (test_target_ops): Likewise.
1633         * regcache.c: Include selftest-arch.h and gdbthread.h.
1634         (target_ops_no_register): New class.
1635         (test_target_fetch_registers): New.
1636         (test_target_store_registers): New.
1637         (test_target_xfer_partial): New.
1638         (readwrite_regcache): New.
1639         (cooked_read_test): New.
1640         (_initialize_regcache): Register the test.
1641         * target.c: (test_target_has_registers): Moved from
1642         gdbarch-selftests.c.
1643         (test_target_has_stack): Likewise.
1644         (test_target_has_memory): Likewise.
1645         (test_target_prepare_to_store): Likewise.
1646         (test_target_store_registers): Likewise.
1647         * target.h (test_target_ops): New class.
1648
1649 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1650
1651         * aarch64-tdep.c (_initialize_aarch64_tdep): Add target desc
1652         selftest.
1653
1654 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1655
1656         * aarch64-tdep.c (_initialize_aarch64_tdep): Remove init.
1657         * arch/aarch64.c (aarch64_create_target_description): Create
1658         new target description.
1659         * features/Makefile: Add new files.
1660         * features/aarch64.c: Remove file.
1661         * features/aarch64-core.c: New autogenerated file.
1662         * features/aarch64-fpu.c: New autogenerated file.
1663         * target-descriptions.c (maint_print_c_tdesc_cmd): Check for aarch64.
1664
1665 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1666
1667         * Makefile.in: Add new files.
1668         * aarch64-linux-nat.c (aarch64_linux_read_description): Call
1669         aarch64_read_description.
1670         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
1671         Call aarch64_read_description.
1672         * aarch64-tdep.c (aarch64_read_description): New function.
1673         (aarch64_gdbarch_init): Call aarch64_read_description.
1674         * aarch64-tdep.h (aarch64_read_description): New function.
1675         * arch/aarch64.c: New file.
1676         * configure.tgt: Add new files.
1677
1678 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1679
1680         * mi/mi-main.c (register_changed_p): Update.
1681         * value.c (value_contents_bits_eq): Change return type.
1682         (value_contents_eq): Likewise.
1683         * value.h: Update comments.
1684
1685 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1686
1687         * mi/mi-main.c (mi_cmd_data_list_changed_registers): Remove
1688         local 'changed'.  Remove error.
1689         (register_changed_p): Change return type to bool.
1690
1691 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1692
1693         * arch/tic6x.c: New file.
1694         * arch/tic6x.h: New file.
1695         * features/Makefile (FEATURE_XMLFILES): Add tic6x-c6xp.xml,
1696         tic6x-core.xml and tic6x-gp.xml.
1697         * features/tic6x-c6xp.c: Generated.
1698         * features/tic6x-core.c: Generated.
1699         * features/tic6x-gp.c: Generated.
1700         * target-descriptions.c (maint_print_c_tdesc_cmd): Match
1701         "tic6x-".
1702
1703 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1704
1705         * mi/mi-main.c (list_available_thread_groups): Change map value
1706         type to std::vector.
1707
1708 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1709
1710         * osdata.c (osdata_end_column, get_osdata): Remove std::move.
1711
1712 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1713
1714         * varobj.c (struct varobj_dynamic) <children_requested_>: Rename
1715         back to...
1716         <children_requested>: ... this.
1717         (varobj_get_num_children, varobj_update): Adjust.
1718
1719 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1720
1721         * ada-varobj.c (ada_value_is_changeable_p): Change int to bool where applicable.
1722         (ada_value_has_mutated): Likewise.
1723         * c-varobj.c (varobj_is_anonymous_child): Likewise.
1724         (c_is_path_expr_parent): Likewise.
1725         * mi/mi-cmd-var.c (varobj_update_one): Likewise.
1726         (mi_cmd_var_set_frozen): Likewise.
1727         (mi_cmd_var_update_iter): Likewise.
1728         (mi_cmd_var_update): Likewise.
1729         * varobj.c (pretty_printing): Likewise.
1730         (varobj_enable_pretty_printing): Likewise.
1731         (struct varobj_root) <floating, is_valid>: Likewise.
1732         (struct varobj_dynamic) <children_requested>: Likewise.
1733         (delete_variable): Likewise.
1734         (delete_variable_1): Likewise.
1735         (install_variable): Likewise.
1736         (update_type_if_necessary): Likewise.
1737         (install_new_value): Likewise.
1738         (value_of_root): Likewise.
1739         (is_root_p): Likewise.
1740         (varobj_create): Likewise.
1741         (varobj_delete): Likewise.
1742         (varobj_has_more): Likewise.
1743         (varobj_set_frozen): Likewise.
1744         (varobj_get_frozen): Likewise.
1745         (install_dynamic_child): Likewise.
1746         (dynamic_varobj_has_child_method): Likewise.
1747         (update_dynamic_varobj_children): Likewise.
1748         (varobj_get_num_children): Likewise.
1749         (varobj_list_children): Likewise.
1750         (is_path_expr_parent): Likewise.
1751         (varobj_default_is_path_expr_parent): Likewise.
1752         (varobj_is_dynamic_p): Likewise.
1753         (varobj_set_value): Likewise.
1754         (varobj_value_has_mutated): Likewise.
1755         (varobj_update): Likewise.
1756         (check_scope): Likewise.
1757         (value_of_root_1): Likewise.
1758         (varobj_value_get_print_value): Likewise.
1759         (varobj_editable_p): Likewise.
1760         (varobj_value_is_changeable_p): Likewise.
1761         (varobj_floating_p): Likewise.
1762         (varobj_default_value_is_changeable_p): Likewise.
1763         (varobj_invalidate_iter): Likewise.
1764         * varobj.h (struct varobj_update_result) <type_changed,
1765         children_changed, changed, value_installed>: Likewise.
1766         (struct varobj) <updated, frozen, not_fetched>: Likewise.
1767         (struct lang_varobj_ops) <value_is_changeable_p,
1768         value_has_mutated, is_path_expr_parent>: Likewise.
1769         (varobj_delete): Likewise.
1770         (varobj_set_frozen): Likewise.
1771         (varobj_get_frozen): Likewise.
1772         (varobj_set_value): Likewise.
1773         (varobj_update): Likewise.
1774         (varobj_editable_p): Likewise.
1775         (varobj_floating_p): Likewise.
1776         (varobj_has_more): Likewise.
1777         (varobj_is_dynamic_p): Likewise.
1778         (varobj_default_value_is_changeable_p): Likewise.
1779         (varobj_value_is_changeable_p): Likewise.
1780         (varobj_is_anonymous_child): Likewise.
1781         (varobj_default_is_path_expr_parent): Likewise.
1782
1783 2017-11-22  Sergio Durigan Junior  <sergiodj@redhat.com>
1784
1785         * dtrace-probe.c (struct probe_ops dtrace_probe_ops): Delete.
1786         (struct dtrace_probe_arg) <dtrace_probe_arg>: New constructor.
1787         <type_str>: Convert to 'std::string'.
1788         <expr>: Convert to 'expression_up'.
1789         (dtrace_probe_arg_s): Delete type and VEC.
1790         (dtrace_probe_enabler_s): Likewise.
1791         (struct dtrace_probe): Replace by...
1792         (class dtrace_static_probe_ops): ...this and...
1793         (class dtrace_probe): ...this.
1794         (dtrace_probe_is_linespec): Rename to...
1795         (dtrace_static_probe_ops::is_linespec): ...this.  Adjust code
1796         to reflect change.
1797         (dtrace_process_dof_probe): Use 'std::vector' instead of VEC.
1798         Adjust code.  Create new instance of 'dtrace_probe'.
1799         (dtrace_build_arg_exprs): Rename to...
1800         (dtrace_probe::build_arg_exprs): ...this.  Adjust code to
1801         reflect change.
1802         (dtrace_get_probes): Rename to...
1803         (dtrace_static_probe_ops::get_probes): ...this.  Adjust code
1804         to reflect change.
1805         (dtrace_get_arg): Rename to...
1806         (dtrace_probe::get_arg_by_number): ...this.  Adjust code to
1807         reflect change.
1808         (dtrace_probe_is_enabled): Rename to...
1809         (dtrace_probe::is_enabled): ...this.  Adjust code to reflect
1810         change.
1811         (dtrace_get_probe_address): Rename to...
1812         (dtrace_probe::get_relocated_address): ...this.  Adjust code
1813         to reflect change.
1814         (dtrace_get_probe_argument_count): Rename to...
1815         (dtrace_probe::get_argument_count): ...this.  Adjust code to
1816         reflect change.
1817         (dtrace_can_evaluate_probe_arguments): Rename to...
1818         (dtrace_probe::can_evaluate_arguments): ...this.  Adjust code
1819         to reflect change.
1820         (dtrace_evaluate_probe_argument): Rename to...
1821         (dtrace_probe::evaluate_argument): ...this.  Adjust code to
1822         reflect change.
1823         (dtrace_compile_to_ax): Rename to...
1824         (dtrace_probe::compile_to_ax): ...this.  Adjust code to
1825         reflect change.
1826         (dtrace_probe_destroy): Delete.
1827         (dtrace_type_name): Rename to...
1828         (dtrace_static_probe_ops::type_name): ...this.  Adjust code to
1829         reflect change.
1830         (dtrace_probe::get_static_ops): New method.
1831         (dtrace_gen_info_probes_table_header): Rename to...
1832         (dtrace_static_probe_ops::gen_info_probes_table_header):
1833         ...this.  Adjust code to reflect change.
1834         (dtrace_gen_info_probes_table_values): Rename to...
1835         (dtrace_probe::gen_info_probes_table_values): ...this.  Adjust
1836         code to reflect change.
1837         (dtrace_enable_probe): Rename to...
1838         (dtrace_probe::enable_probe): ...this.  Adjust code to reflect
1839         change.
1840         (dtrace_disable_probe): Rename to...
1841         (dtrace_probe::disable_probe): ...this.  Adjust code to reflect
1842         change.
1843         (struct probe_ops dtrace_probe_ops): Delete.
1844         (info_probes_dtrace_command): Call 'info_probes_for_spops'
1845         instead of 'info_probes_for_ops'.
1846         (_initialize_dtrace_probe): Use 'all_static_probe_ops' instead
1847         of 'all_probe_ops'.
1848
1849 2017-11-22  Sergio Durigan Junior  <sergiodj@redhat.com>
1850             Simon Marchi  <simark@simark.ca>
1851
1852         * stap-probe.c (struct probe_ops stap_probe_ops): Delete
1853         variable.
1854         (struct stap_probe_arg) <stap_probe_arg>: New constructor.
1855         <aexpr>: Change type to 'expression_up'.
1856         (stap_probe_arg_s): Delete type and VEC.
1857         (struct stap_probe): Delete.  Replace by...
1858         (class stap_static_probe_ops): ...this and...
1859         (class stap_probe): ...this.  Rename variables to add 'm_'
1860         prefix.  Do not use 'union' for arguments anymore.
1861         (stap_get_expected_argument_type): Receive probe name instead
1862         of 'struct stap_probe'.  Adjust code.
1863         (stap_parse_probe_arguments): Rename to...
1864         (stap_probe::parse_arguments): ...this.  Adjust code to
1865         reflect change.
1866         (stap_get_probe_address): Rename to...
1867         (stap_probe::get_relocated_address): ...this.  Adjust code
1868         to reflect change.
1869         (stap_get_probe_argument_count): Rename to...
1870         (stap_probe::get_argument_count): ...this.  Adjust code
1871         to reflect change.
1872         (stap_get_arg): Rename to...
1873         (stap_probe::get_arg_by_number'): ...this. Adjust code to
1874         reflect change.
1875         (can_evaluate_probe_arguments): Rename to...
1876         (stap_probe::can_evaluate_arguments): ...this.  Adjust code
1877         to reflect change.
1878         (stap_evaluate_probe_argument): Rename to...
1879         (stap_probe::evaluate_argument): ...this.  Adjust code
1880         to reflect change.
1881         (stap_compile_to_ax): Rename to...
1882         (stap_probe::compile_to_ax): ...this.  Adjust code to
1883         reflect change.
1884         (stap_probe_destroy): Delete.
1885         (stap_modify_semaphore): Adjust comment.
1886         (stap_set_semaphore): Rename to...
1887         (stap_probe::set_semaphore): ...this.  Adjust code to reflect
1888         change.
1889         (stap_clear_semaphore): Rename to...
1890         (stap_probe::clear_semaphore): ...this.  Adjust code to
1891         reflect change.
1892         (stap_probe::get_static_ops): New method.
1893         (handle_stap_probe): Adjust code to create instance of
1894         'stap_probe'.
1895         (stap_get_probes): Rename to...
1896         (stap_static_probe_ops::get_probes): ...this.  Adjust code to
1897         reflect change.
1898         (stap_probe_is_linespec): Rename to...
1899         (stap_static_probe_ops::is_linespec): ...this.  Adjust code to
1900         reflect change.
1901         (stap_type_name): Rename to...
1902         (stap_static_probe_ops::type_name): ...this.  Adjust code to
1903         reflect change.
1904         (stap_gen_info_probes_table_header): Rename to...
1905         (stap_static_probe_ops::gen_info_probes_table_header):
1906         ...this.  Adjust code to reflect change.
1907         (stap_gen_info_probes_table_values): Rename to...
1908         (stap_probe::gen_info_probes_table_values): ...this.  Adjust
1909         code to reflect change.
1910         (struct probe_ops stap_probe_ops): Delete.
1911         (info_probes_stap_command): Use 'info_probes_for_spops'
1912         instead of 'info_probes_for_ops'.
1913         (_initialize_stap_probe): Use 'all_static_probe_ops' instead
1914         of 'all_probe_ops'.
1915
1916 2017-11-22  Sergio Durigan Junior  <sergiodj@redhat.com>
1917
1918         * break-catch-throw.c (fetch_probe_arguments): Use
1919         'probe.prob' instead of 'probe.probe'.
1920         * breakpoint.c (create_longjmp_master_breakpoint): Call
1921         'can_evaluate_arguments' and 'get_relocated_address' methods
1922         from probe.
1923         (create_exception_master_breakpoint): Likewise.
1924         (add_location_to_breakpoint): Use 'sal->prob' instead of
1925         'sal->probe'.
1926         (bkpt_probe_insert_location): Call 'set_semaphore' method from
1927         probe.
1928         (bkpt_probe_remove_location): Likewise, for 'clear_semaphore'.
1929         * elfread.c (elf_get_probes): Use 'static_probe_ops' instead
1930         of 'probe_ops'.
1931         (probe_key_free): Call 'delete' on probe.
1932         (check_exception_resume): Use 'probe.prob' instead of
1933         'probe.probe'.
1934         * location.c (string_to_event_location_basic): Call
1935         'probe_linespec_to_static_ops'.
1936         * probe.c (class any_static_probe_ops): New class.
1937         (any_static_probe_ops any_static_probe_ops): New variable.
1938         (parse_probes_in_pspace): Receive 'static_probe_ops' as
1939         argument.  Adjust code to reflect change.
1940         (parse_probes): Use 'static_probe_ops' instead of
1941         'probe_ops'.  Adjust code to reflect change.
1942         (find_probes_in_objfile): Call methods to get name and
1943         provider from probe.
1944         (find_probe_by_pc): Use 'result.prob' instead of
1945         'result.probe'.  Call 'get_relocated_address' method from
1946         probe.
1947         (collect_probes): Adjust comment and argument list to receive
1948         'static_probe_ops' instead of 'probe_ops'.  Adjust code to
1949         reflect change.  Call necessary methods from probe.
1950         (compare_probes): Call methods to get name and provider from
1951         probes.
1952         (gen_ui_out_table_header_info): Receive 'static_probe_ops'
1953         instead of 'probe_ops'.  Use 'std::vector' instead of VEC,
1954         adjust code accordingly.
1955         (print_ui_out_not_applicables): Likewise.
1956         (info_probes_for_ops): Rename to...
1957         (info_probes_for_spops): ...this.  Receive 'static_probe_ops'
1958         as argument instead of 'probe_ops'.  Adjust code.  Call
1959         necessary methods from probe.
1960         (info_probes_command): Use 'info_probes_for_spops'.
1961         (enable_probes_command): Pass correct argument to
1962         'collect_probes'.  Call methods from probe.
1963         (disable_probes_command): Likewise.
1964         (get_probe_address): Move to 'any_static_probe_ops::get_address'.
1965         (get_probe_argument_count): Move to
1966         'any_static_probe_ops::get_argument_count'.
1967         (can_evaluate_probe_arguments): Move to
1968         'any_static_probe_ops::can_evaluate_arguments'.
1969         (evaluate_probe_argument): Move to
1970         'any_static_probe_ops::evaluate_argument'.
1971         (probe_safe_evaluate_at_pc): Use 'probe.prob' instead of
1972         'probe.probe'.
1973         (probe_linespec_to_ops): Rename to...
1974         (probe_linespec_to_static_ops): ...this.  Adjust code.
1975         (probe_any_is_linespec): Rename to...
1976         (any_static_probe_ops::is_linespec): ...this.
1977         (probe_any_get_probes): Rename to...
1978         (any_static_probe_ops::get_probes): ...this.
1979         (any_static_probe_ops::type_name): New method.
1980         (any_static_probe_ops::gen_info_probes_table_header): New
1981         method.
1982         (compute_probe_arg): Use 'pc_probe.prob' instead of
1983         'pc_probe.probe'.  Call methods from probe.
1984         (compile_probe_arg): Likewise.
1985         (std::vector<const probe_ops *> all_probe_ops): Delete.
1986         (std::vector<const static_probe_ops *> all_static_probe_ops):
1987         New variable.
1988         (_initialize_probe): Use 'all_static_probe_ops' instead of
1989         'all_probe_ops'.
1990         * probe.h (struct info_probe_column) <field_name>: Delete
1991         extraneous newline
1992         (info_probe_column_s): Delete type and VEC.
1993         (struct probe_ops): Delete.  Replace with...
1994         (class static_probe_ops): ...this and...
1995         (clas probe): ...this.
1996         (struct bound_probe) <bound_probe>: Delete extraneous
1997         newline.  Adjust constructor to receive 'probe' instead of
1998         'struct probe'.
1999         <probe>: Rename to...
2000         <prob>: ...this.  Delete extraneous newline.
2001         <objfile>: Delete extraneous newline.
2002         (register_probe_ops): Delete unused prototype.
2003         (info_probes_for_ops): Rename to...
2004         (info_probes_for_spops): ...this.  Adjust comment.
2005         (get_probe_address): Move to 'probe::get_address'.
2006         (get_probe_argument_count): Move to
2007         'probe::get_argument_count'.
2008         (can_evaluate_probe_arguments): Move to
2009         'probe::can_evaluate_arguments'.
2010         (evaluate_probe_argument): Move to 'probe::evaluate_argument'.
2011         * solib-svr4.c (struct svr4_info): Adjust comment.
2012         (struct probe_and_action) <probe>: Rename to...
2013         <prob>: ...this.
2014         (register_solib_event_probe): Receive 'probe' instead of
2015         'struct probe' as argument.  Use 'prob' instead of 'probe'
2016         when applicable.
2017         (solib_event_probe_action): Call 'get_argument_count' method
2018         from probe.  Adjust comment.
2019         (svr4_handle_solib_event): Adjust comment.  Call
2020         'evaluate_argument' method from probe.
2021         (svr4_create_probe_breakpoints): Call 'get_relocated_address'
2022         from probe.
2023         (svr4_create_solib_event_breakpoints): Use 'probe' instead of
2024         'struct probe'.  Call 'can_evaluate_arguments' from probe.
2025         * symfile.h: Forward declare 'class probe' instead of 'struct
2026         probe'.
2027         * symtab.h: Likewise.
2028         (struct symtab_and_line) <probe>: Rename to...
2029         <prob>: ...this.
2030         * tracepoint.c (start_tracing): Use 'prob' when applicable.
2031         Call probe methods.
2032         (stop_tracing): Likewise.
2033
2034 2017-11-22  Joel Brobecker  <brobecker@adacore.com>
2035
2036         * ravenscar-thread.c (ravenscar_inferior_created): Remove
2037         trailing newline at end of string in call to warning.
2038
2039 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
2040
2041         * osdata.h: Include vector isntead of vec.h.
2042         (osdata_column_s): Remove typedef.
2043         (struct osdata_column): Add constructor.
2044         <name, value>: Change type to std::string.
2045         (DEF_VEC_O (osdata_column_s)): Remove.
2046         (osdata_item_s): Remove typedef.
2047         (struct osdata_item) <columns>: Change type to std::vector.
2048         (DEF_VEC_O (osdata_item_s)): Remove.
2049         (struct osdata): Add constructor.
2050         <type>: Change type to std::string.
2051         <items>: Change type to std::vector.
2052         (osdata_p): Remove typedef.
2053         (DEF_VEC_P (osdata_p)): Remove.
2054         (osdata_parse): Return a unique_ptr.
2055         (osdata_free): Remove.
2056         (make_cleanup_osdata_free): Remove.
2057         (get_osdata): Return a unique_ptr.
2058         (get_osdata_column): Return pointer to std::string, take a
2059         reference to osdata_item as parameter.
2060         * osdata.c (struct osdata_parsing_data) <osdata>: Change type to
2061         unique_ptr.
2062         <property_name>: Change type to std::string.
2063         (osdata_start_osdata): Allocate osdata with new and adjust.
2064         (osdata_start_item): Adjust.
2065         (osdata_start_column): Adjust.
2066         (osdata_end_column): Adjust.
2067         (clear_parsing_data): Remove.
2068         (osdata_parse): Return a unique_ptr and adjust, remove cleanup.
2069         (osdata_item_clear): Remove.
2070         (get_osdata): return a unique_ptr and adjust.
2071         (get_osdata_column): Return a pointer to std::string and adjust.
2072         (info_osdata): Adjust.
2073         * mi/mi-main.c: Include <map>.
2074         (free_vector_of_osdata_items): Remove.
2075         (list_available_thread_groups): Adjust, use std::map instead of
2076         splay tree.
2077
2078 2017-11-22  Simon Marchi  <simon.marchi@ericsson.com>
2079
2080         * stack.c (iterate_over_block_locals): Add LOC_OPTIMIZED_OUT
2081         case in switch.
2082
2083 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
2084
2085         * varobj.h (DEF_VEC_P (varobj_p)): Remove.
2086
2087 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
2088
2089         * varobj.h (struct varobj_update_result): Add constructor, add
2090         move constructor, disable copy and assign, initialize fields.
2091         <newobj>: Change type to std::vector.
2092         (varobj_update): Return std::vector.
2093         * varobj.c (install_dynamic_child): Change VEC parameters to
2094         std::vector and adjust.
2095         (update_dynamic_varobj_children): Likewise.
2096         (varobj_update): Return std::vector and adjust.
2097         * mi/mi-cmd-var.c (varobj_update_one): Adjust to vector changes.
2098
2099 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
2100
2101         * varobj.h (struct varobj) <parent>: Remove const.
2102         <children>: Change type to std::vector.
2103         (varobj_list_children): Return std::vector const reference.
2104         (varobj_restrict_range): Change parameter type to std::vector
2105         const reference.
2106         * varobj.c (varobj_has_more): Adjust.
2107         (varobj_restrict_range): Change parameter type to std::vector
2108         const reference and adjust.
2109         (install_dynamic_child): Adjust.
2110         (update_dynamic_varobj_children): Adjust.
2111         (varobj_list_children): Return std::vector const reference and
2112         adjust.
2113         (varobj_add_child): Adjust.
2114         (update_type_if_necessary): Adjust.
2115         (varobj_update): Adjust.
2116         (delete_variable_1): Adjust.
2117         * ada-varobj.c (ada_value_has_mutated): Adjust.
2118         * mi/mi-cmd-var.c (mi_cmd_var_list_children): Adjust.
2119
2120 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
2121
2122         * varobj.h (struct varobj): Add constructor and destructor,
2123         initialize fields.
2124         * varobj.c (struct varobj_root): Initialize fields.
2125         (struct varobj_dynamic): Initialize fields.
2126         (varobj_create): Use unique_ptr instead of cleanup.  Create
2127         varobj with new instead of new_root_variable.
2128         (delete_variable_1): Free variable with delete instead of
2129         free_variable.
2130         (create_child_with_value): Create variable with new instead of
2131         new_variable.
2132         (varobj::varobj): New.
2133         (varobj::~varobj): New (body mostly coming from free_variable).
2134         (new_variable): Remove.
2135         (free_variable): Remove.
2136         (do_free_variable_cleanup): Remove.
2137         (make_cleanup_free_variable): Remove.
2138
2139 2017-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
2140
2141         * core-regset.c: Remove file.
2142         * Makefile.in (ALLDEPFILES): Remove core-regset.c.
2143
2144 2017-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
2145
2146         * NEWS: Document use of GNU MPFR.
2147         * README: Likewise.
2148
2149         * Makefile.in (LIBMPFR): Add define.
2150         (CLIBS): Add $(LIBMPFR).
2151         * configure.ac: Add --with-mpfr configure option.
2152         * configure: Regenerate.
2153         * config.in: Regenerate.
2154
2155         * target-float.c [HAVE_LIBMPFR]: Include <mpfr.h>.
2156         (class mpfr_float_ops): New type.
2157         (mpfr_float_ops::from_target): Two new overloaded functions.
2158         (mpfr_float_ops::to_target): Likewise.
2159         (mpfr_float_ops::to_string): New function.
2160         (mpfr_float_ops::from_string): Likewise.
2161         (mpfr_float_ops::to_longest): Likewise.
2162         (mpfr_float_ops::from_longest): Likewise.
2163         (mpfr_float_ops::from_ulongest): Likewise.
2164         (mpfr_float_ops::to_host_double): Likewise.
2165         (mpfr_float_ops::from_host_double): Likewise.
2166         (mpfr_float_ops::convert): Likewise.
2167         (mpfr_float_ops::binop): Likewise.
2168         (mpfr_float_ops::compare): Likewise.
2169         (get_target_float_ops): Use mpfr_float_ops if available.
2170
2171 2017-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
2172
2173         * target-float.c: Do not include <math.h>.
2174         Include <cmath> and <limits>.
2175         (DOUBLEST): Do not define.
2176         (class target_float_ops): New type.
2177         (class host_float_ops): New templated type.
2178         (class decimal_float_ops): New type.
2179
2180         (floatformat_to_doublest): Rename to ...
2181         (host_float_ops<T>::from_target): ... this.  Use template type T
2182         instead of DOUBLEST.  Use C++ math routines.  Update recursive calls.
2183         (host_float_ops<T>::from_target): New overload using a type argument.
2184         (floatformat_from_doublest): Rename to ...
2185         (host_float_ops<T>::to_target): ... this.  Use template type T
2186         instead of DOUBLEST.  Use C++ math routines.  Update recursive calls.
2187         (host_float_ops<T>::to_target): New overload using a type argument.
2188         (floatformat_printf_format): New function.
2189         (struct printf_length_modifier): New templated type.
2190         (floatformat_to_string): Rename to ...
2191         (host_float_ops<T>::to_string): ... this.  Use type instead of
2192         floatformat argument.  Use floatformat_printf_format and
2193         printf_length_modifier.  Remove special handling of invalid numbers,
2194         infinities and NaN (moved to target_float_to_string).
2195         (struct scanf_length_modifier): New templated type.
2196         (floatformat_from_string): Rename to ...
2197         (host_float_ops<T>::from_string): ... this.  Use type instead of
2198         floatformat argument.  Use scanf_length_modifier.
2199         (floatformat_to_longest): Rename to ...
2200         (host_float_ops<T>::to_longest): ... this.  Use type instead of
2201         floatformat argument.  Handle out-of-range values deterministically.
2202         (floatformat_from_longest): Rename to ...
2203         (host_float_ops<T>::from_longest): ... this.  Use type instead of
2204         floatformat argument.
2205         (floatformat_from_ulongest): Rename to ...
2206         (host_float_ops<T>::from_ulongest): ... this.  Use type instead of
2207         floatformat argument.
2208         (floatformat_to_host_double): Rename to ...
2209         (host_float_ops<T>::to_host_double): ... this.  Use type instead of
2210         floatformat argument.
2211         (floatformat_from_host_double): Rename to ...
2212         (host_float_ops<T>::from_host_double): ... this.  Use type instead of
2213         floatformat argument.
2214         (floatformat_convert): Rename to ...
2215         (host_float_ops<T>::convert): ... this.  Use type instead of
2216         floatformat arguments.  Remove handling of no-op conversions.
2217         (floatformat_binop): Rename to ...
2218         (host_float_ops<T>::binop): ... this.  Use type instead of
2219         floatformat arguments.
2220         (floatformat_compare): Rename to ...
2221         (host_float_ops<T>::compare): ... this.  Use type instead of
2222         floatformat arguments.
2223
2224         (match_endianness): Use type instead of length/byte_order arguments.
2225         (set_decnumber_context): Likewise.
2226         (decimal_from_number): Likewise.  Update calls.
2227         (decimal_to_number): Likewise.
2228         (decimal_is_zero): Likewise.  Update calls.  Move to earlier in file.
2229         (decimal_float_ops::to_host_double): New dummy function.
2230         (decimal_float_ops::from_host_double): Likewise.
2231         (decimal_to_string): Rename to ...
2232         (decimal_float_ops::to_string): ... this.  Use type instead of
2233         length/byte_order arguments.  Update calls.
2234         (decimal_from_string): Rename to ...
2235         (decimal_float_ops::from_string): ... this.  Use type instead of
2236         length/byte_order arguments.  Update calls.
2237         (decimal_from_longest): Rename to ...
2238         (decimal_float_ops::from_longest): ... this.  Use type instead of
2239         length/byte_order arguments.  Update calls.
2240         (decimal_from_ulongest): Rename to ...
2241         (decimal_float_ops::from_ulongest): ... this.  Use type instead of
2242         length/byte_order arguments.  Update calls.
2243         (decimal_to_longest): Rename to ...
2244         (decimal_float_ops::to_longest): ... this.  Use type instead of
2245         length/byte_order arguments.  Update calls.
2246         (decimal_binop): Rename to ...
2247         (decimal_float_ops::binop): ... this.  Use type instead of
2248         length/byte_order arguments.  Update calls.
2249         (decimal_compare): Rename to ...
2250         (decimal_float_ops::compare): ... this.  Use type instead of
2251         length/byte_order arguments.  Update calls.
2252         (decimal_convert): Rename to ...
2253         (decimal_float_ops::convert): ... this.  Use type instead of
2254         length/byte_order arguments.  Update calls.
2255
2256         (target_float_same_category_p): New function.
2257         (target_float_same_format_p): Likewise.
2258         (target_float_format_length): Likewise.
2259         (enum target_float_ops_kind): New type.
2260         (get_target_float_ops_kind): New function.
2261         (get_target_float_ops): Three new overloaded functions.
2262
2263         (target_float_is_zero): Update call.
2264         (target_float_to_string): Add special handling of invalid numbers,
2265         infinities and NaN (moved from floatformat_to_string).  Use
2266         target_float_ops callback.
2267         (target_float_from_string): Use target_float_ops callback.
2268         (target_float_to_longest): Likewise.
2269         (target_float_from_longest): Likewise.
2270         (target_float_from_ulongest): Likewise.
2271         (target_float_to_host_double): Likewise.
2272         (target_float_from_host_double): Likewise.
2273         (target_float_convert): Add special case for no-op conversions.
2274         Use target_float_ops callback.
2275         (target_float_binop): Use target_float_ops callback.
2276         (target_float_compare): Likewise.
2277
2278 2017-11-22  Yao Qi  <yao.qi@linaro.org>
2279
2280         * python/py-gdb-readline.c (gdbpy_readline_wrapper): Use strcpy.
2281
2282 2017-11-22  Yao Qi  <yao.qi@linaro.org>
2283
2284         * cli/cli-decode.c (help_list): Use memcpy instead of strncpy.
2285         * cp-namespace.c (cp_lookup_transparent_type_loop): Likewise.
2286
2287 2017-11-21  Jerome Guitton  <guitton@adacore.com>
2288
2289         * ravenscar-thread.c (ravenscar_wait): Update inferior ptid
2290         with event ptid from the lower layer before doing the
2291         ravenscar-specific update.
2292
2293 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2294
2295         * ravenscar-thread.c (is_ravenscar_task): Also verify that
2296         the ptid's TID is nonzero.
2297
2298 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2299
2300         * ada-lang.h (ada_get_tcb_types_info): Add declaration.
2301         * ada-tasks.c (ada_get_tcb_types_info): Renames get_tcb_types_info.
2302         Make non-static.  Change return type to char *.  Adjust code
2303         accordingly.  Rewrite the function's documentation.
2304         (read_atcb): Adjust call to get_tcb_types_info accordingly.
2305         * ravenscar-thread.c (ravenscar_inferior_created): Check that
2306         we have enough debugging information in the runtime to support
2307         Ada task debugging before we enable the ravenscar-thread layer.
2308
2309 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2310
2311         * ada-lang.h (ada_get_task_info_from_ptid): Add declaration.
2312         * ada-tasks.c (ada_get_task_info_from_ptid): New function.
2313         * ravenscar-thread.c: Add into comment.
2314         (base_magic_null_ptid): Delete.
2315         (base_ptid): Change documentation.
2316         (ravenscar_active_task): Renames ravenscar_running_thread.
2317         All callers updated throughout.
2318         (is_ravenscar_task, ravenscar_get_thread_base_cpu): New function.
2319         (ravenscar_task_is_currently_active): Likewise.
2320         (get_base_thread_from_ravenscar_task): Ditto.
2321         (ravenscar_update_inferior_ptid): Adjust to handle multiple CPUs.
2322         (ravenscar_runtime_initialized): Likewise.
2323         (get_running_thread_id): Add new parameter "cpu".  Adjust
2324         implementation to handle this new parameter.
2325         (ravenscar_fetch_registers): Small adjustment to use
2326         is_ravenscar_task and ravenscar_task_is_currently_active in
2327         order to decide whether to use the target beneath or this
2328         module's arch_ops.
2329         (ravenscar_store_registers, ravenscar_prepare_to_store): Likewise.
2330         (ravenscar_stopped_by_sw_breakpoint): Use
2331         get_base_thread_from_ravenscar_task to get the underlying
2332         thread, rather than using base_ptid.
2333         (ravenscar_stopped_by_hw_breakpoint, ravenscar_stopped_by_watchpoint)
2334         (ravenscar_stopped_data_address, ravenscar_core_of_thread):
2335         Likewise.
2336         (ravenscar_inferior_created): Do not set base_magic_null_ptid.
2337
2338 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2339
2340         * ada-lang.h (struct ada_task_info) <base_cpu>: New field.
2341         * ada-lang.c (struct atcb_fieldno) <base_cpu>: New field.
2342         (get_tcb_types_info): Set fieldnos.base_cpu.
2343         (read_atcb): Set task_info->base_cpu.
2344         (info_task): Print "Base CPU" info if set by runtime.
2345
2346 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2347
2348         * ravenscar-thread.c (ravenscar_stopped_by_sw_breakpoint)
2349         (ravenscar_stopped_by_hw_breakpoint, ravenscar_stopped_by_watchpoint)
2350         (ravenscar_stopped_data_address, ravenscar_core_of_thread):
2351         New functions.
2352         (init_ravenscar_thread_ops): Set the to_stopped_by_sw_breakpoint,
2353         to_stopped_by_hw_breakpoint, to_stopped_by_watchpoint,
2354         to_stopped_data_address and to_core_of_thread fields of
2355         ravenscar_ops.
2356
2357 2017-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
2358
2359         * ppc-tdep.h (enum powerpc_long_double_abi): New data type.
2360         (struct gdbarch_tdep): New member long_double_abi.
2361         * rs6000-tdep.c (rs6000_gdbarch_init): Initialize long_double_abi
2362         member of tdep struct based on Tag_GNU_Power_ABI_FP attribute.
2363         * ppc-linux-tdep.c (ppc_linux_init_abi): Install long double data
2364         format depending on long_double_abi tdep member.
2365         (ppc_floatformat_for_type): Handle __ibm128 type.
2366
2367 2017-11-20  Simon Marchi  <simon.marchi@polymtl.ca>
2368
2369         * darwin-nat.c (set_enable_mach_exceptions): Constify parameter.
2370
2371 2017-11-21  Pedro Alves  <palves@redhat.com>
2372
2373         * dwarf2read.c (mapped_index::find_name_components_bounds)
2374         <completion mode, upper bound>: Use std::lower_bound instead of
2375         std::upper_bound.
2376         (test_mapped_index_find_name_component_bounds): Remove incorrect
2377         "t1_fund" from expected symbols.
2378
2379 2017-11-21  Pedro Alves  <palves@redhat.com>
2380
2381         * dwarf2read.c (mapped_index::name_components_casing): New field.
2382         (mapped_index) <build_name_components,
2383         find_name_components_bounds): Declare new methods.
2384         (mapped_index::find_name_components_bounds)
2385         (mapped_index::build_name_components): New methods, factored out
2386         from dw2_expand_symtabs_matching_symbol.
2387         (check_find_bounds_finds)
2388         (test_mapped_index_find_name_component_bounds): New.
2389         (run_test): Rename to ...
2390         (test_dw2_expand_symtabs_matching_symbol): ... this.
2391         (run_test): Reimplement.
2392
2393 2017-11-21  Pedro Alves  <palves@redhat.com>
2394
2395         * cp-name-parser.y (cp_ident_is_alpha, cp_ident_is_alnum): New.
2396         (symbol_end): Use cp_ident_is_alnum.
2397         (yylex): Use cp_ident_is_alpha and cp_ident_is_alnum.
2398         * dwarf2read.c (make_sort_after_prefix_name): New function.
2399         (dw2_expand_symtabs_matching_symbol): Use it.
2400         (test_symbols): Add more symbols.
2401         (run_test): Add tests.
2402
2403 2017-11-17  Tom Tromey  <tom@tromey.com>
2404
2405         * symtab.h (enum symbol_subclass_kind): New.
2406         (struct symbol) <is_cplus_template_function, is_rust_vtable>:
2407         Remove.
2408         <subclass>: New member.
2409         (SYMBOL_IS_CPLUS_TEMPLATE_FUNCTION): Update.
2410         * rust-lang.c (rust_get_trait_object_pointer): Update.
2411         * dwarf2read.c (read_func_scope): Update.
2412         (read_variable): Update.
2413
2414 2017-11-17  Tom Tromey  <tom@tromey.com>
2415
2416         * dwarf2read.c (read_func_scope): Update.
2417         * symtab.h (struct template_symbol): Derive from symbol.
2418         <base>: Remove.
2419
2420 2017-11-17  Tom Tromey  <tom@tromey.com>
2421
2422         * symtab.h (struct symbol) <is_rust_vtable>: New member.
2423         (struct rust_vtable_symbol): New.
2424         (find_symbol_at_address): Declare.
2425         * symtab.c (find_symbol_at_address): New function.
2426         * symfile.h (struct quick_symbol_functions)
2427         <find_compunit_symtab_by_address>: New member.
2428         * symfile-debug.c (debug_qf_find_compunit_symtab_by_address): New
2429         function.
2430         (debug_sym_quick_functions): Link to
2431         debug_qf_find_compunit_symtab_by_address.
2432         * rust-lang.c (rust_get_trait_object_pointer): New function.
2433         (rust_evaluate_subexp) <case UNOP_IND>: New case.  Call
2434         rust_get_trait_object_pointer.
2435         * psymtab.c (psym_relocate): Clear psymbol_map.
2436         (psym_fill_psymbol_map, psym_find_compunit_symtab_by_address): New
2437         functions.
2438         (psym_functions): Link to psym_find_compunit_symtab_by_address.
2439         * objfiles.h (struct objfile) <psymbol_map>: New member.
2440         * dwarf2read.c (dwarf2_gdb_index_functions): Update.
2441         (process_die) <DW_TAG_variable>: New case.  Call read_variable.
2442         (rust_containing_type, read_variable): New functions.
2443
2444 2017-11-17  Simon Marchi  <simon.marchi@polymtl.ca>
2445
2446         * common/gdb_vecs.h (DEF_VEC_I (int)): Remove.
2447
2448 2017-11-17  Simon Marchi  <simon.marchi@polymtl.ca>
2449
2450         * common/filestuff.c: Include <algorithm>.
2451         (open_fds): Change type to std::vector<int>.
2452         (do_mark_open_fd): Adjust.
2453         (unmark_fd_no_cloexec): Adjust.
2454         (do_close): Adjust.
2455
2456 2017-11-17  Simon Marchi  <simon.marchi@polymtl.ca>
2457
2458         * breakpoint.c (output_thread_groups): Take an std::vector.
2459         (print_one_breakpoint_location): Adjust.
2460
2461 2017-11-17  Joel Brobecker  <brobecker@adacore.com>
2462
2463         * ada-lang.c (resolve_subexp): Add handling of OP_VAR_MSYM_VALUE.
2464         (ada_evaluate_subexp_for_cast): New function.
2465         (ada_evaluate_subexp) <UNOP_CAST>: Replace code by call to
2466         ada_evaluate_subexp_for_cast.
2467         (ada_evaluate_subexp) <nosideret>: Replace code by call to
2468         eval_skip_value.
2469         * eval.c (evaluate_var_value): Make non-static.
2470         (evaluate_var_msym_value, eval_skip_value): Likewise.
2471         * value.h (evaluate_var_value, evaluate_var_msym_value)
2472         (eval_skip_value): Declare.
2473
2474 2017-11-16  Joel Brobecker  <brobecker@adacore.com>
2475
2476         * ada-lang.c (ada_value_cast): Remove parameter "noside".
2477         Update all callers.
2478
2479 2017-11-16  Pedro Alves  <palves@redhat.com>
2480
2481         * python/py-unwind.c (pyuw_sniffer): Translate
2482         PyExc_KeyboardInterrupt to a GDB Quit exception.
2483
2484 2017-11-16  Pedro Alves  <palves@redhat.com>
2485
2486         * infrun.c (resume_cleanups): Delete.
2487         (resume): No longer install a resume_cleanups cleanup nor call
2488         QUIT.
2489         (proceed): Pass the terminal to the inferior.
2490         (keep_going_pass_signal): No longer install a resume_cleanups
2491         cleanup.
2492
2493 2017-11-16  Pedro Alves  <palves@redhat.com>
2494
2495         * inf-loop.c (inferior_event_handler): Don't swallow the exception
2496         if the prompt is blocked.
2497
2498 2017-11-16  Pedro Alves  <palves@redhat.com>
2499
2500         * breakpoint.c (insert_bp_location): Replace bp_err and
2501         bp_err_message locals by a gdb_exception local.
2502
2503 2017-11-16  Pedro Alves  <palves@redhat.com>
2504
2505         * inflow.c (scoped_ignore_sigttou): New class.
2506         (child_terminal_ours_1, new_tty): Use it.
2507
2508 2017-11-16  Ulrich Weigand  <uweigand@de.ibm.com>
2509
2510         * target-float.c (decimal_from_number): Add byte_order argument and
2511         call match_endianness.  Error if unknown floating-point type.
2512         (decimal_to_number): Add byte_order argument and call match_endianness.
2513         (decimal_from_longest): Update call.  Do not call match_endianness.
2514         (decimal_from_ulongest): Likewise.
2515         (decimal_binop): Likewise.
2516         (decimal_is_zero): Likewise.
2517         (decimal_compare): Likewise.
2518         (decimal_convert): Likewise.
2519
2520 2017-11-16  Phil Muldoon  <pmuldoon@redhat.com>
2521
2522         * python/python.c (gdbpy_rbreak): New function.
2523         * NEWS: Document Python rbreak feature.
2524
2525 2017-11-16  Yao Qi  <yao.qi@linaro.org>
2526
2527         * features/tic6x-c62x.xml: Remove.
2528         * features/tic6x-c64x.xml: Remove.
2529         * features/tic6x-c64xp.xml: Remove.
2530
2531 2017-11-15  John Baldwin  <jhb@FreeBSD.org>
2532
2533         * symtab.h: Include <array>.
2534
2535 2017-11-15  John Baldwin  <jhb@FreeBSD.org>
2536
2537         * bsd-kvm.c (bsd_kvm_cmd): Constify 'arg'.
2538         (bsd_kvm_proc_cmd): Likewise.
2539
2540 2017-11-15  Simon Marchi  <simon.marchi@ericsson.com>
2541
2542         * tui/tui-win.c (window_name_completer): Replace VEC with
2543         std::vector.
2544
2545 2017-11-15  Andrew Cagney  <cagney@gnu.org>
2546
2547         * MAINTAINERS: Remove no-longer applicable entries.
2548
2549 2017-11-15  Andrew Cagney  <cagney@gnu.org>
2550
2551         * MAINTAINERS: Move self to Past Maintainers.
2552
2553 2017-11-15  Yao Qi  <yao.qi@linaro.org>
2554
2555         * features/Makefile (XMLTOC): Remove nios2-linux.xml.
2556         * features/nios2-linux.c: Remove.
2557         * nios2-linux-tdep.c (_initialize_nios2_linux_tdep): Don't call
2558         initialize_tdesc_nios2_linux.
2559
2560 2017-11-15  Yao Qi  <yao.qi@linaro.org>
2561
2562         * m68hc11-tdep.c (M68HC11_NUM_REGS): Change it to
2563         M68HC11_LAST_HARD_REG + 1.
2564
2565 2017-11-14  Paul Carroll  <pcarroll@codesourcery.com>
2566
2567         PR gdb/22388
2568         * remote.c (remote_write_bytes_aux, remote_read_bytes_1,
2569         remote_read_bytes, remote_write_qxfer, remote_xfer_partial):
2570         Return TARGET_XFER_EOF if size of returned data is 0.
2571
2572 2017-11-14  Simon Marchi  <simon.marchi@ericsson.com>
2573
2574         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
2575         memory-map-selftests.c.
2576         (SUBDIR_UNITTESTS_OBS): Add memory-map-selftests.o.
2577         * memory-map.c (memory_map_start_memory): Fix computation of hi
2578         address.
2579         * unittests/memory-map-selftests.c: New file.
2580
2581 2017-11-09  Joel Brobecker  <brobecker@adacore.com>
2582
2583         * ada-lang.c: Fix some typos in the general command documenting
2584         how Ada expressions are being evaluated and how their result
2585         is printed.
2586
2587 2017-11-09  Tom Tromey  <tom@tromey.com>
2588
2589         * psymtab.c (psymbol_hash): Do not hash string contents.
2590         (psymbol_compare): Add comment.
2591
2592 2017-11-09  Tom Tromey  <tom@tromey.com>
2593
2594         * dictionary.c (dict_hash): Move "TKB" check into the "switch".
2595
2596 2017-11-08  Joel Brobecker  <brobecker@adacore.com>
2597
2598         * ada-exp.y (write_var_from_sym): Remove parameter
2599         "orig_left_context".  Update all callers.
2600
2601 2017-11-08  Simon Marchi  <simon.marchi@ericsson.com>
2602
2603         * tracepoint.h (class collection_list) <stringify>: Return
2604         std::vector<std::string>.
2605         (encode_actions_rsp): Change parameters to
2606         std::vector<std::string> *.
2607         * tracepoint.c (collection_list::stringify): Return
2608         std::vector<std::string> and adjust accordingly.
2609         (encode_actions_rsp): Changee parameters to
2610         std::vector<std::string> and adjust accordingly.
2611         * remote.c (free_actions_list),
2612         free_actions_list_cleanup_wrapper): Remove.
2613         (remote_download_tracepoint): Adjust to std::vector.
2614
2615 2017-11-08  Tom Tromey  <tom@tromey.com>
2616
2617         * dwarf2read.c (symbolp): Remove typedef.
2618         (read_func_scope): Use std::vector.
2619         (process_structure_scope): Use std::vector.
2620
2621 2017-11-08  Pedro Alves  <palves@redhat.com>
2622
2623         * ada-lang.c (ada_make_symbol_completion_list): Use
2624         completion_skip_symbol.
2625         * symtab.c (symbol_is_function_or_method(minimal_symbol*)): New.
2626         (symbol_is_function_or_method(symbol*)): New.
2627         (add_symtab_completions): Add complete_symbol_mode parameter.  Use
2628         completion_skip_symbol.
2629         (default_collect_symbol_completion_matches_break_on): Use
2630         completion_skip_symbol.  Pass down mode.
2631         (collect_file_symbol_completion_matches): Pass down mode.
2632         * symtab.h (symbol_is_function_or_method): New declarations.
2633         (completion_skip_symbol): New template function.
2634
2635 2017-11-08  Pedro Alves  <palves@redhat.com>
2636
2637         * linespec.c (iterate_over_all_matching_symtabs): Add
2638         search_domain parameter.  Pass it down to expand_symtabs_matching.
2639         (decode_objc): Request FUNCTIONS_DOMAIN symbols only.
2640         (lookup_prefix_sym): Adjust by passing ALL_DOMAIN as
2641         search_domain.
2642         (add_all_symbol_names_from_pspace): Add search_domain parameter.
2643         Pass it down.
2644         (find_method, find_function_symbols): Request FUNCTIONS_DOMAIN
2645         symbols.
2646         (add_matching_symbols_to_info): Add search_domain parameter.  Pass
2647         it down.
2648
2649 2017-11-08  Pedro Alves  <palves@redhat.com>
2650
2651         * ada-lang.c (ada_make_symbol_completion_list): Remove text and
2652         text_len locals and don't pass them down.
2653         * symtab.c (completion_list_add_name): Remove
2654         sym_text/sym_text_len parameters and adjust.
2655         (completion_list_add_symbol, completion_list_add_msymbol)
2656         (completion_list_objc_symbol, completion_list_add_fields)
2657         (add_symtab_completions): Likewise.
2658         (default_collect_symbol_completion_matches_break_on)
2659         (collect_file_symbol_completion_matches): Remove sym_text_len
2660         local and don't pass it down.
2661         * symtab.h (completion_list_add_name): Remove
2662         sym_text/sym_text_len parameters.
2663
2664 2017-11-08  Pedro Alves  <palves@redhat.com>
2665
2666         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
2667         unittests/lookup_name_info-selftests.c.
2668         (SUBDIR_UNITTESTS_OBS): Add lookup_name_info-selftests.o.
2669         * cp-support.c: Include "selftest.h".
2670         (cp_remove_params_1): Rename from cp_remove_params.  Add
2671         'require_param' parameter, and handle it.
2672         (cp_remove_params): Reimplement.
2673         (cp_remove_params_if_any): New.
2674         (selftests::quote): New.
2675         (selftests::check_remove_params): New.
2676         (selftests::test_cp_remove_params): New.
2677         (_initialize_cp_support): Install
2678         selftests::test_cp_remove_params.
2679         * cp-support.h (cp_remove_params_if_any): Declare.
2680         * dwarf2read.c :Include "selftest.h".
2681         (dw2_expand_symtabs_matching_symbol): Use
2682         lookup_name_info::make_ignore_params.
2683         (selftests::dw2_expand_symtabs_matching::mock_mapped_index)
2684         (selftests::dw2_expand_symtabs_matching::string_or_null)
2685         (selftests::dw2_expand_symtabs_matching::check_match)
2686         (selftests::dw2_expand_symtabs_matching::test_symbols)
2687         (selftests::dw2_expand_symtabs_matching::run_test): New.
2688         (_initialize_dwarf2_read): Register
2689         selftests::dw2_expand_symtabs_matching::run_test.
2690         * psymtab.c (psym_expand_symtabs_matching): Use
2691         lookup_name_info::make_ignore_params.
2692         * symtab.c (demangle_for_lookup_info::demangle_for_lookup_info):
2693         If the lookup name wants to ignore parameters, strip them.
2694         (compare_symbol_name): Remove sym_text/sym_text_len parameters and
2695         code handling '('.
2696         (completion_list_add_name): Don't pass down sym_text/sym_text_len.
2697         (default_collect_symbol_completion_matches_break_on): Don't try to
2698         strip parameters.
2699         * symtab.h (lookup_name_info::lookup_name_info): Add
2700         'ignore_parameters' parameter.
2701         (lookup_name_info::ignore_parameters)
2702         (lookup_name_info::make_ignore_params): New methods.
2703         (lookup_name_info::m_ignore_parameters): New field.
2704         * unittests/lookup_name_info-selftests.c: New file.
2705
2706 2017-11-08  Pedro Alves  <palves@redhat.com>
2707
2708         * dwarf2read.c (dw2_expand_marked_cus)
2709         (dw2_expand_symtabs_matching_symbol): Remove forward declarations.
2710         (dw2_expand_symtabs_matching): Move further below.
2711         (dw2_expand_marked_cus): Reindent.
2712
2713 2017-11-08  Pedro Alves  <palves@redhat.com>
2714
2715         * dwarf2read.c (byte_swap, MAYBE_SWAP): Move higher up in file.
2716         (struct name_component): New.
2717         (mapped_index::name_components): New field.
2718         (mapped_index::symbol_name_at): New method.
2719         (dwarf2_read_index): Call mapped_index ctor.
2720         (dw2_map_matching_symbols): Add comment about name_components
2721         table.
2722         (dw2_expand_symtabs_matching): Factor part to...
2723         (dw2_expand_symtabs_matching_symbol): ... this new function.
2724         Build name components table, and lookup symbols in it before
2725         calling the name matcher.
2726         (dw2_expand_marked_cus): New, factored out from
2727         dw2_expand_symtabs_matching.
2728         (dwarf2_per_objfile_free): Call the mapped_index's dtor.
2729
2730 2017-11-08   Pedro Alves  <palves@redhat.com>
2731
2732         * ada-lang.c (ada_encode): Rename to ..
2733         (ada_encode_1): ... this.  Add throw_errors parameter and handle
2734         it.
2735         (ada_encode): Reimplement.
2736         (match_name): Delete, folded into full_name.
2737         (resolve_subexp): No longer pass the encoded name to
2738         ada_lookup_symbol_list.
2739         (should_use_wild_match): Delete.
2740         (name_match_type_from_name): New.
2741         (ada_lookup_simple_minsym): Use lookup_name_info and the
2742         language's symbol_name_matcher_ftype.
2743         (add_symbols_from_enclosing_procs, ada_add_local_symbols)
2744         (ada_add_block_renamings): Adjust to use lookup_name_info.
2745         (ada_lookup_name): New.
2746         (add_nonlocal_symbols, ada_add_all_symbols)
2747         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list)
2748         (ada_iterate_over_symbols): Adjust to use lookup_name_info.
2749         (ada_name_for_lookup): Delete.
2750         (ada_lookup_encoded_symbol): Construct a verbatim name.
2751         (wild_match): Reverse sense of return type.  Use bool.
2752         (full_match): Reverse sense of return type.  Inline bits of old
2753         match_name here.
2754         (ada_add_block_symbols): Adjust to use lookup_name_info.
2755         (symbol_completion_match): Delete, folded into...
2756         (ada_lookup_name_info::matches): ... .this new method.
2757         (symbol_completion_add): Delete.
2758         (ada_collect_symbol_completion_matches): Add name_match_type
2759         parameter.  Adjust to use lookup_name_info and
2760         completion_list_add_name.
2761         (get_var_value, ada_add_global_exceptions): Adjust to use
2762         lookup_name_info.
2763         (ada_get_symbol_name_cmp): Delete.
2764         (do_wild_match, do_full_match): New functions.
2765         (ada_lookup_name_info::ada_lookup_name_info): New method.
2766         (ada_symbol_name_matches, ada_get_symbol_name_matcher): New
2767         functions.
2768         (ada_language_defn): Install ada_get_symbol_name_matcher.
2769         * ada-lex.l (processId): If name starts with '<', copy it
2770         verbatim.
2771         * block.c (block_iter_match_step, block_iter_match_first)
2772         (block_iter_match_next, block_lookup_symbol)
2773         (block_lookup_symbol_primary, block_find_symbol): Adjust to use
2774         lookup_name_info.
2775         * block.h (block_iter_match_first, block_iter_match_next)
2776         (ALL_BLOCK_SYMBOLS_WITH_NAME): Adjust to use lookup_name_info.
2777         * c-lang.c (c_language_defn, cplus_language_defn)
2778         (asm_language_defn, minimal_language_defn): Adjust comments to
2779         refer to la_get_symbol_name_matcher.
2780         * completer.c (complete_files_symbols)
2781         (collect_explicit_location_matches, symbol_completer): Pass a
2782         symbol_name_match_type down.
2783         * completer.h (class completion_match, completion_match_result):
2784         New classes.
2785         (completion_tracker::reset_completion_match_result): New method.
2786         (completion_tracker::m_completion_match_result): New field.
2787         * cp-support.c (make_symbol_overload_list_block): Adjust to use
2788         lookup_name_info.
2789         (cp_fq_symbol_name_matches, cp_get_symbol_name_matcher): New
2790         functions.
2791         * cp-support.h (cp_get_symbol_name_matcher): New declaration.
2792         * d-lang.c: Adjust comments to refer to
2793         la_get_symbol_name_matcher.
2794         * dictionary.c (dict_vector) <iter_match_first, iter_match_next>:
2795         Adjust to use lookup_name_info.
2796         (dict_iter_match_first, dict_iter_match_next)
2797         (iter_match_first_hashed, iter_match_next_hashed)
2798         (iter_match_first_linear, iter_match_next_linear): Adjust to work
2799         with a lookup_name_info.
2800         * dictionary.h (dict_iter_match_first, dict_iter_match_next):
2801         Likewise.
2802         * dwarf2read.c (dw2_lookup_symbol): Adjust to use lookup_name_info.
2803         (dw2_map_matching_symbols): Adjust to use symbol_name_match_type.
2804         (gdb_index_symbol_name_matcher): New class.
2805         (dw2_expand_symtabs_matching) Adjust to use lookup_name_info and
2806         gdb_index_symbol_name_matcher.  Accept a NULL symbol_matcher.
2807         * f-lang.c (f_collect_symbol_completion_matches): Adjust to work
2808         with a symbol_name_match_type.
2809         (f_language_defn): Adjust comments to refer to
2810         la_get_symbol_name_matcher.
2811         * go-lang.c (go_language_defn): Adjust comments to refer to
2812         la_get_symbol_name_matcher.
2813         * language.c (default_symbol_name_matcher)
2814         (language_get_symbol_name_matcher): New functions.
2815         (unknown_language_defn, auto_language_defn): Adjust comments to
2816         refer to la_get_symbol_name_matcher.
2817         * language.h (symbol_name_cmp_ftype): Delete.
2818         (language_defn) <la_collect_symbol_completion_matches>: Add match
2819         type parameter.
2820         <la_get_symbol_name_cmp>: Delete field.
2821         <la_get_symbol_name_matcher>: New field.
2822         <la_iterate_over_symbols>: Adjust to use lookup_name_info.
2823         (default_symbol_name_matcher, language_get_symbol_name_matcher):
2824         Declare.
2825         * linespec.c (iterate_over_all_matching_symtabs)
2826         (iterate_over_file_blocks): Adjust to use lookup_name_info.
2827         (find_methods): Add language parameter, and use lookup_name_info
2828         and the language's symbol_name_matcher_ftype.
2829         (linespec_complete_function): Adjust.
2830         (lookup_prefix_sym): Use lookup_name_info.
2831         (add_all_symbol_names_from_pspace): Adjust.
2832         (find_superclass_methods): Add language parameter and pass it
2833         down.
2834         (find_method): Pass symbol language down.
2835         (find_linespec_symbols): Don't demangle or Ada encode here.
2836         (search_minsyms_for_name): Add lookup_name_info parameter.
2837         (add_matching_symbols_to_info): Add name_match_type parameter.
2838         Use lookup_name_info.
2839         * m2-lang.c (m2_language_defn): Adjust comments to refer to
2840         la_get_symbol_name_matcher.
2841         * minsyms.c: Include <algorithm>.
2842         (add_minsym_to_demangled_hash_table): Remove table parameter and
2843         add objfile parameter.  Use search_name_hash, and add language to
2844         demangled languages vector.
2845         (struct found_minimal_symbols): New struct.
2846         (lookup_minimal_symbol_mangled, lookup_minimal_symbol_demangled):
2847         New functions.
2848         (lookup_minimal_symbol): Adjust to use them.  Don't canonicalize
2849         input names here.  Use lookup_name_info instead.  Lookup up
2850         demangled names once for each language in the demangled names
2851         vector.
2852         (iterate_over_minimal_symbols): Use lookup_name_info.  Lookup up
2853         demangled names once for each language in the demangled names
2854         vector.
2855         (build_minimal_symbol_hash_tables): Adjust.
2856         * minsyms.h (iterate_over_minimal_symbols): Adjust to pass down a
2857         lookup_name_info.
2858         * objc-lang.c (objc_language_defn): Adjust comment to refer to
2859         la_get_symbol_name_matcher.
2860         * objfiles.h: Include <vector>.
2861         (objfile_per_bfd_storage) <demangled_hash_languages>: New field.
2862         * opencl-lang.c (opencl_language_defn): Adjust comment to refer to
2863         la_get_symbol_name_matcher.
2864         * p-lang.c (pascal_language_defn): Adjust comment to refer to
2865         la_get_symbol_name_matcher.
2866         * psymtab.c (psym_lookup_symbol): Use lookup_name_info.
2867         (match_partial_symbol): Use symbol_name_match_type,
2868         lookup_name_info and psymbol_name_matches.
2869         (lookup_partial_symbol): Use lookup_name_info.
2870         (map_block): Use symbol_name_match_type and lookup_name_info.
2871         (psym_map_matching_symbols): Use symbol_name_match_type.
2872         (psymbol_name_matches): New.
2873         (recursively_search_psymtabs): Use lookup_name_info and
2874         psymbol_name_matches.  Rename 'kind' parameter to 'domain'.
2875         (psym_expand_symtabs_matching): Use lookup_name_info.  Rename
2876         'kind' parameter to 'domain'.
2877         * rust-lang.c (rust_language_defn): Adjust comment to refer to
2878         la_get_symbol_name_matcher.
2879         * symfile-debug.c (debug_qf_map_matching_symbols)
2880         (debug_qf_map_matching_symbols): Use symbol_name_match_type.
2881         (debug_qf_expand_symtabs_matching): Use lookup_name_info.
2882         * symfile.c (expand_symtabs_matching): Use lookup_name_info.
2883         * symfile.h (quick_symbol_functions) <map_matching_symbols>:
2884         Adjust to use symbol_name_match_type.
2885         <expand_symtabs_matching>: Adjust to use lookup_name_info.
2886         (expand_symtabs_matching): Adjust to use lookup_name_info.
2887         * symmisc.c (maintenance_expand_symtabs): Use
2888         lookup_name_info::match_any ().
2889         * symtab.c (symbol_matches_search_name): New.
2890         (eq_symbol_entry): Adjust to use lookup_name_info and the
2891         language's matcher.
2892         (demangle_for_lookup_info::demangle_for_lookup_info): New.
2893         (lookup_name_info::match_any): New.
2894         (iterate_over_symbols, search_symbols): Use lookup_name_info.
2895         (compare_symbol_name): Add language, lookup_name_info and
2896         completion_match_result parameters, and use them.
2897         (completion_list_add_name): Make extern.  Add language and
2898         lookup_name_info parameters.  Use them.
2899         (completion_list_add_symbol, completion_list_add_msymbol)
2900         (completion_list_objc_symbol): Add lookup_name_info parameters and
2901         adjust.  Pass down language.
2902         (completion_list_add_fields): Add lookup_name_info parameters and
2903         adjust.  Pass down language.
2904         (add_symtab_completions): Add lookup_name_info parameters and
2905         adjust.
2906         (default_collect_symbol_completion_matches_break_on): Add
2907         name_match_type parameter, and use it.  Use lookup_name_info.
2908         (default_collect_symbol_completion_matches)
2909         (collect_symbol_completion_matches): Add name_match_type
2910         parameter, and pass it down.
2911         (collect_symbol_completion_matches_type): Adjust.
2912         (collect_file_symbol_completion_matches): Add name_match_type
2913         parameter, and use lookup_name_info.
2914         * symtab.h: Include <string> and "common/gdb_optional.h".
2915         (enum class symbol_name_match_type): New.
2916         (class ada_lookup_name_info): New.
2917         (struct demangle_for_lookup_info): New.
2918         (class lookup_name_info): New.
2919         (symbol_name_matcher_ftype): New.
2920         (SYMBOL_MATCHES_SEARCH_NAME): Use symbol_matches_search_name.
2921         (symbol_matches_search_name): Declare.
2922         (MSYMBOL_MATCHES_SEARCH_NAME): Delete.
2923         (default_collect_symbol_completion_matches)
2924         (collect_symbol_completion_matches)
2925         (collect_file_symbol_completion_matches): Add name_match_type
2926         parameter.
2927         (iterate_over_symbols): Use lookup_name_info.
2928         (completion_list_add_name): Declare.
2929         * utils.c (enum class strncmp_iw_mode): Moved to utils.h.
2930         (strncmp_iw_with_mode): Now extern.
2931         * utils.h (enum class strncmp_iw_mode): Moved from utils.c.
2932         (strncmp_iw_with_mode): Declare.
2933
2934 2017-11-08  Keith Seitz  <keiths@redhat.com>
2935             Pedro Alves  <palves@redhat.com>
2936
2937         * ada-lang.c (ada_language_defn): Install
2938         default_search_name_hash.
2939         * buildsym.c (struct buildsym_compunit): <language>: New field.
2940         (finish_block_internal): Pass language when creating dictionaries.
2941         (start_buildsym_compunit, start_symtab): New language parameters.
2942         Use them.
2943         (restart_symtab): Pass down compilation unit's language.
2944         * buildsym.h (enum language): Forward declare.
2945         (start_symtab): New 'language' parameter.
2946         * c-lang.c (c_language_defn, cplus_language_defn)
2947         (asm_language_defn, minimal_language_defn): Install
2948         default_search_name_hash.
2949         * coffread.c (coff_start_symtab): Adjust.
2950         * d-lang.c (d_language_defn): Install default_search_name_hash.
2951         * dbxread.c (struct symloc): Add 'pst_language' field.
2952         (PST_LANGUAGE): Define.
2953         (start_psymtab, read_ofile_symtab): Use it.
2954         (process_one_symbol): New 'language' parameter.  Pass it down.
2955         * dictionary.c (struct dictionary) <language>: New field.
2956         (DICT_LANGUAGE): Define.
2957         (dict_create_hashed, dict_create_hashed_expandable)
2958         (dict_create_linear, dict_create_linear_expandable): New parameter
2959         'language'.  Set the dictionary's language.
2960         (iter_match_first_hashed): Adjust to rename.
2961         (insert_symbol_hashed): Assert we don't see mismatching
2962         languages.  Adjust to rename.
2963         (dict_hash): Rename to ...
2964         (default_search_name_hash): ... this and make extern.
2965         * dictionary.h (struct language_defn): Forward declare.
2966         (dict_create_hashed): New parameter 'language'.
2967         * dwarf2read.c (dwarf2_start_symtab): Pass down language.
2968         * f-lang.c (f_language_defn): Install default_search_name_hash.
2969         * go-lang.c (go_language_defn): Install default_search_name_hash.
2970         * jit.c (finalize_symtab): Pass compunit's language to dictionary
2971         creation.
2972         * language.c (unknown_language_defn, auto_language_defn):
2973         * language.h (language_defn::la_search_name_hash): New field.
2974         (default_search_name_hash): Declare.
2975         * m2-lang.c (m2_language_defn): Install default_search_name_hash.
2976         * mdebugread.c (new_block): New parameter 'language'.
2977         * mdebugread.c (parse_symbol): Pass symbol language to block
2978         allocation.
2979         (psymtab_to_symtab_1): Pass down language.
2980         (new_symtab): Pass compunit's language to block allocation.
2981         * objc-lang.c (objc_language_defn): Install
2982         default_search_name_hash.
2983         * opencl-lang.c (opencl_language_defn):
2984         * p-lang.c (pascal_language_defn): Install
2985         default_search_name_hash.
2986         * rust-lang.c (rust_language_defn): Install
2987         default_search_name_hash.
2988         * stabsread.h (enum language): Forward declare.
2989         (process_one_symbol): Add 'language' parameter.
2990         * symtab.c (search_name_hash): New function.
2991         * symtab.h (search_name_hash): Declare.
2992         * xcoffread.c (read_xcoff_symtab): Pass language to start_symtab.
2993
2994 2017-11-08  Pedro Alves  <palves@redhat.com>
2995
2996         * cp-name-parser.y (main): Don't initialize extra_chars.
2997
2998 2017-11-07  Tom Tromey  <tom@tromey.com>
2999
3000         * event-top.h (command_handler): Constify.
3001         * record-full.c (cmd_record_full_start): Update.
3002         * thread.c (thread_apply_all_command): Update.
3003         * printcmd.c (eval_command): Update.
3004         * mi/mi-main.c (mi_execute_cli_command): Update.
3005         (mi_execute_async_cli_command): Update.
3006         * tui/tui-stack.c (tui_update_command): Update.
3007         * cli/cli-interp.c (safe_execute_command): Constify.
3008         * record.c (record_start): Update.
3009         (record_start, record_stop, cmd_record_start): Update.
3010         * record-btrace.c (cmd_record_btrace_bts_start): Update.
3011         (cmd_record_btrace_pt_start): Update.
3012         (cmd_record_btrace_start): Update.
3013         (cmd_record_btrace_start): Update.
3014         * reverse.c (exec_reverse_once): Update.
3015         * python/python.c (execute_gdb_command): Don't copy the command.
3016         * event-top.c (command_line_handler): Update.
3017         (command_handler): Constify.
3018         * defs.h (deprecated_call_command_hook): Constify.
3019         * cli/cli-script.h (execute_user_command): Constify.
3020         * cli/cli-script.c (execute_user_command): Constify.
3021         (execute_cmd_pre_hook, execute_cmd_post_hook): Constify.
3022         (enum command_control_type): Update.
3023         * main.c (catch_command_errors): Remove non-const overload.
3024         (catch_command_errors_ftype): Remove.
3025         * python/py-cmd.c (cmdpy_function): Constify.
3026         * guile/scm-cmd.c (cmdscm_function): Constify.
3027         * cli/cli-dump.c (call_dump_func): Constify.
3028         * cli/cli-decode.c (do_const_cfunc): Constify.
3029         (do_sfunc): Constify.
3030         (cmd_func): Constify.
3031         * gdbcmd.h (execute_command, execute_command_to_string): Constify.
3032         * top.h (execute_command): Constify.
3033         * top.c (execute_command): Constify.
3034         (execute_command_to_string): Constify.
3035         (deprecated_call_command_hook): Constify.
3036         * command.h (cmd_func): Constify.
3037         * cli/cli-decode.h (struct cmd_list_element) <func>: Constify.
3038
3039 2017-11-07  Tom Tromey  <tom@tromey.com>
3040
3041         * ada-lang.c (catch_ada_exception_command): Constify.
3042         (catch_assert_command): Constify.
3043         * break-catch-throw.c (catch_catch_command, catch_throw_command)
3044         (catch_rethrow_command): Constify.
3045         (catch_exception_command_1): Constify.
3046         * breakpoint.h (add_catch_command): Constify.
3047         * break-catch-syscall.c (catch_syscall_command_1): Constify.
3048         (catch_syscall_split_args): Constify.
3049         * break-catch-sig.c (catch_signal_command): Constify.
3050         (catch_signal_split_args): Constify.
3051         * cli/cli-decode.h (struct cmd_list_element) <function>: Use
3052         cmd_const_sfunc_ftype.
3053         * cli/cli-decode.c (add_setshow_cmd_full): Constify.
3054         (add_setshow_enum_cmd, add_setshow_auto_boolean_cmd)
3055         (add_setshow_boolean_cmd, add_setshow_filename_cmd)
3056         (add_setshow_string_cmd, struct cmd_list_element)
3057         (add_setshow_optional_filename_cmd, add_setshow_integer_cmd)
3058         (add_setshow_uinteger_cmd, add_setshow_zinteger_cmd)
3059         (add_setshow_zuinteger_unlimited_cmd, add_setshow_zuinteger_cmd):
3060         Constify.
3061         (set_cmd_sfunc): Constify.
3062         (empty_sfunc): Constify.
3063         * command.h (add_setshow_enum_cmd, add_setshow_auto_boolean_cmd)
3064         (add_setshow_boolean_cmd, add_setshow_filename_cmd)
3065         (add_setshow_string_cmd, add_setshow_string_noescape_cmd)
3066         (add_setshow_optional_filename_cmd, add_setshow_integer_cmd)
3067         (add_setshow_uinteger_cmd, add_setshow_zinteger_cmd)
3068         (add_setshow_zuinteger_cmd, add_setshow_zuinteger_unlimited_cmd):
3069         Constify.
3070         (set_cmd_sfunc): Constify.
3071         (cmd_sfunc_ftype): Remove.
3072         * compile/compile.c (set_compile_args): Constify.
3073         * infrun.c (set_disable_randomization): Constify.
3074         * infcmd.c (set_args_command, set_cwd_command): Constify.
3075         * breakpoint.c (set_condition_evaluation_mode): Constify.
3076         (add_catch_command): Constify.
3077         (catch_fork_command_1, catch_exec_command_1)
3078         (catch_load_command_1, catch_unload_command_1): Constify.
3079         (catch_load_or_unload): Constify.
3080         * guile/scm-param.c (pascm_set_func): Constify.
3081         (add_setshow_generic): Constify.
3082         * python/py-param.c (get_set_value): Constify.
3083         * top.h (set_verbose): Constify.
3084         * tui/tui-win.c (tui_set_var_cmd): Constify.
3085         * mi/mi-main.c (set_mi_async_command): Constify.
3086         * cli/cli-logging.c (set_logging_overwrite)
3087         (set_logging_redirect): Constify.
3088         * value.c (set_max_value_size): Constify.
3089         * valprint.c (set_input_radix, set_output_radix): Constify.
3090         * utils.c (set_width_command, set_height_command): Constify.
3091         * typeprint.c (set_print_type_methods, set_print_type_typedefs): Constify.
3092         * tracepoint.c (set_disconnected_tracing)
3093         (set_circular_trace_buffer, set_trace_buffer_size)
3094         (set_trace_user, set_trace_notes, set_trace_stop_notes): Constify.
3095         * top.c (set_history_size_command, set_verbose, set_editing)
3096         (set_gdb_datadir, set_history_filename): Constify.
3097         * target.c (set_targetdebug, maint_set_target_async_command)
3098         (maint_set_target_non_stop_command, set_target_permissions)
3099         (set_write_memory_permission): Constify.
3100         (open_target): Constify.
3101         * target-descriptions.c (set_tdesc_filename_cmd): Constify.
3102         * target-dcache.c (set_stack_cache, set_code_cache): Constify.
3103         * symtab.c (set_symbol_cache_size_handler): Constify.
3104         * symfile.c (set_ext_lang_command): Constify.
3105         * symfile-debug.c (set_debug_symfile): Constify.
3106         * source.c (set_directories_command): Constify.
3107         * solib.c (reload_shared_libraries, gdb_sysroot_changed): Constify.
3108         * serial.c (set_parity): Constify.
3109         * rs6000-tdep.c (powerpc_set_soft_float, powerpc_set_vector_abi): Constify.
3110         * remote.c (set_remote_exec_file, set_remotebreak)
3111         (set_remote_protocol_Z_packet_cmd, set_range_stepping): Constify.
3112         * record.c (set_record_insn_history_size)
3113         (set_record_call_history_size): Constify.
3114         * record-full.c (set_record_full_insn_max_num): Constify.
3115         * proc-api.c (set_procfs_trace_cmd, set_procfs_file_cmd): Constify.
3116         * osabi.c (set_osabi): Constify.
3117         * mips-tdep.c (set_mips64_transfers_32bit_regs)
3118         (reinit_frame_cache_sfunc, mips_abi_update): Constify.
3119         * maint.c (maintenance_set_profile_cmd): Constify.
3120         * linux-thread-db.c (set_libthread_db_search_path): Constify.
3121         * language.c (set_language_command, set_range_command)
3122         (set_case_command): Constify.
3123         * infrun.c (set_non_stop, set_observer_mode)
3124         (set_stop_on_solib_events, set_schedlock_func)
3125         (set_exec_direction_func): Constify.
3126         * infcmd.c (set_inferior_tty_command): Constify.
3127         * disasm.c (set_disassembler_options_sfunc): Constify.
3128         * demangle.c (set_demangling_command): Constify.
3129         * dcache.c (set_dcache_size, set_dcache_line_size): Constify.
3130         * cris-tdep.c (set_cris_version, set_cris_mode)
3131         (set_cris_dwarf2_cfi): Constify.
3132         * corefile.c (set_gnutarget_command): Constify.
3133         * charset.c (set_host_charset_sfunc, set_target_charset_sfunc)
3134         (set_target_wide_charset_sfunc): Constify.
3135         * breakpoint.c (update_dprintf_commands): Constify.
3136         * auto-load.c (set_auto_load_dir, set_auto_load_safe_path): Constify.
3137         * arm-tdep.c (set_fp_model_sfunc, arm_set_abi)
3138         (set_disassembly_style_sfunc): Constify.
3139         * arch-utils.c (set_endian, set_architecture): Constify.
3140         * alpha-tdep.c (reinit_frame_cache_sfunc): Constify.
3141         * agent.c (set_can_use_agent): Constify.
3142
3143 2017-11-07  Tom Tromey  <tom@tromey.com>
3144
3145         * go32-nat.c (go32_sysinfo, go32_sldt, go32_sgdt, go32_sidt)
3146         (go32_pde, go32_pte, go32_pte_for_address): Constify.
3147         * gnu-nat.c (_parse_bool_arg, show_thread_default_pause_cmd)
3148         (set_thread_default_pause_cmd, set_thread_default_run_cmd)
3149         (show_thread_default_run_cmd, set_thread_default_detach_sc_cmd)
3150         (parse_int_arg, show_thread_default_detach_sc_cmd)
3151         (set_signals_cmd, show_signals_cmd, set_sig_thread_cmd)
3152         (show_sig_thread_cmd, set_stopped_cmd, show_stopped_cmd)
3153         (set_exceptions_cmd, show_exceptions_cmd, set_task_pause_cmd)
3154         (show_task_pause_cmd, set_task_detach_sc_cmd)
3155         (show_task_detach_sc_cmd, set_task_exc_port_cmd)
3156         (set_noninvasive_cmd, set_thread_pause_cmd)
3157         (show_thread_pause_cmd, set_thread_run_cmd, show_thread_run_cmd)
3158         (set_thread_detach_sc_cmd, show_thread_detach_sc_cmd)
3159         (set_thread_exc_port_cmd, thread_takeover_sc_cmd): Constify.
3160         * windows-nat.c (display_selectors): Constify.
3161         * cli/cli-decode.h (struct cmd_list_element) <function>: Remove
3162         non-const "cfunc".
3163         * cli/cli-decode.c (set_cmd_cfunc): Remove non-const overload.
3164         (cmd_cfunc_eq): Likewise.
3165         (struct cmd_list_element): Likewise.
3166         (do_cfunc): Remove.
3167         (cli_user_command_p): Update.
3168         * command.h (add_cmd): Remove non-const overload.
3169         (cmd_cfunc_ftype): Remove typedef.
3170         (cmd_cfunc_eq): Remove non-const overload.
3171         * value.c (show_values): Constify.
3172         * thread.c (thread_apply_all_command): Constify.
3173         * symfile.c (load_command): Constify.
3174         * source.c (directory_command): Constify.
3175         * maint.c (maintenance_internal_error)
3176         (maintenance_demangler_warning, maintenance_space_display)
3177         (maintenance_print_architecture, maintenance_translate_address)
3178         (maintenance_info_selftests, maintenance_internal_warning):
3179         Constify.
3180         * breakpoint.c (disable_trace_command, enable_trace_command):
3181         Constify.
3182         * auto-load.c (info_auto_load_local_gdbinit, add_auto_load_dir):
3183         Constify.
3184         (add_auto_load_safe_path): Constify.
3185         * guile/scm-auto-load.c (info_auto_load_guile_scripts): Constify.
3186         * top.h (show_commands): Constify.
3187         * linux-thread-db.c (info_auto_load_libthread_db): Constify.
3188         * sparc64-tdep.c (adi_examine_command): Constify.
3189         (adi_assign_command): Constify.
3190
3191 2017-11-07  Tom Tromey  <tom@tromey.com>
3192
3193         * frame.h (info_locals_command, info_args_command): Constify.
3194         * auto-load.h (auto_load_info_scripts): Constify.
3195         * inferior.h (registers_info): Constify.
3196         * copying.c: Rebuild.
3197         * copying.awk: Constify generated commands.
3198         * auto-load.c (auto_load_info_scripts)
3199         (info_auto_load_gdb_scripts): Constify.
3200         * cli/cli-decode.c (struct cmd_list_element): Take a
3201         cmd_const_cfunc_ftype.
3202         * command.h (add_info): Take a cmd_const_cfunc_ftype.
3203         * tui/tui-win.c (tui_all_windows_info): Constify.
3204         * python/py-auto-load.c (info_auto_load_python_scripts):
3205         Constify.
3206         * cli/cli-cmds.c (show_command): Remove non-const overload.
3207         * tracepoint.c (info_tvariables_command, info_scope_command):
3208         Constify.
3209         (info_static_tracepoint_markers_command): Constify.
3210         * thread.c (info_threads_command): Constify.
3211         (print_thread_info_1): Constify.
3212         * target.c (info_target_command): Constify.
3213         * symtab.c (info_sources_command, info_functions_command)
3214         (info_types_command): Constify.
3215         (info_variables_command): Remove non-const overload.
3216         * symfile.c (info_ext_lang_command): Constify.
3217         * stack.c (info_frame_command, info_locals_command)
3218         (info_args_command): Constify.
3219         (backtrace_command): Remove non-const overload.
3220         * source.c (info_source_command, info_line_command): Constify.
3221         * solib.c (info_sharedlibrary_command): Constify.
3222         * skip.c (info_skip_command): Constify.
3223         * ser-go32.c (info_serial_command): Constify.
3224         * reverse.c (info_bookmarks_command): Constify.
3225         * printcmd.c (info_symbol_command, info_address_command)
3226         (info_display_command): Constify.
3227         * osdata.c (info_osdata_command): Constify.
3228         * objc-lang.c (info_selectors_command, info_classes_command):
3229         Constify.
3230         * nto-procfs.c (procfs_pidlist, procfs_meminfo): Constify.
3231         * memattr.c (info_mem_command): Constify.
3232         * macrocmd.c (info_macro_command, info_macros_command): Constify.
3233         * linux-fork.c (info_checkpoints_command): Constify.
3234         * infrun.c (info_signals_command): Constify.
3235         * inflow.c (info_terminal_command): Constify.
3236         * inferior.c (info_inferiors_command): Constify.
3237         (print_inferior): Constify.
3238         * infcmd.c (info_program_command, info_all_registers_command)
3239         (info_registers_command, info_vector_command)
3240         (info_float_command): Constify.
3241         (registers_info): Constify.
3242         * gnu-nat.c (info_send_rights_cmd, info_recv_rights_cmd)
3243         (info_port_sets_cmd, info_dead_names_cmd, info_port_rights_cmd):
3244         Constify.
3245         * f-valprint.c (info_common_command): Constify.
3246         * dcache.c (info_dcache_command): Constify.
3247         (dcache_info_1): Constify.
3248         * darwin-nat-info.c (info_mach_tasks_command)
3249         (info_mach_task_command, info_mach_ports_command)
3250         (info_mach_port_command, info_mach_threads_command)
3251         (info_mach_thread_command, info_mach_regions_command)
3252         (info_mach_regions_recurse_command, info_mach_region_command)
3253         (info_mach_exceptions_command): Constify.
3254         (get_task_from_args): Constify.
3255         * cp-support.c (info_vtbl_command): Constify.
3256         * breakpoint.c (info_watchpoints_command)
3257         (info_tracepoints_command): Constify.
3258         (info_breakpoints_command): Remove non-const overload.
3259         * avr-tdep.c (avr_io_reg_read_command): Constify.
3260         * auxv.c (info_auxv_command): Constify.
3261         * ada-tasks.c (info_tasks_command): Constify.
3262         (info_task): Constify.
3263         * ada-lang.c (info_exceptions_command): Constify.
3264
3265 2017-11-07  Tom Tromey  <tom@tromey.com>
3266
3267         * solib.h (no_shared_libraries): Constify.
3268         * frame.h (return_command): Constify.
3269         * cli/cli-cmds.h (quit_command): Constify.
3270         * top.h (quit_command, execute_command): Constify.
3271         * target.h (flash_erase_command): Constify.
3272         * inferior.h (set_inferior_args, attach_command): Constify.
3273         * tracepoint.h (start_tracing, stop_tracing): Constify.
3274         * breakpoint.h (break_command, tbreak_command)
3275         (hbreak_command_wrapper, thbreak_command_wrapper)
3276         (rbreak_command_wrapper, watch_command_wrapper)
3277         (awatch_command_wrapper, rwatch_command_wrapper)
3278         (get_tracepoint_by_number): Constify.
3279         * symtab.c (info_variables_command, rbreak_command)
3280         (symtab_symbol_info): Constify.
3281         (info_variables_command): Add non-const overload.
3282         * top.c (dont_repeat_command): Constify.
3283         * breakpoint.c (ignore_command, commands_command)
3284         (condition_command, tbreak_command, hbreak_command)
3285         (thbreak_command, clear_command, break_command)
3286         (info_breakpoints_command, watch_command, rwatch_command)
3287         (awatch_command, trace_command, ftrace_command, strace_command)
3288         (trace_pass_command, break_range_command, dprintf_command)
3289         (agent_printf_command, get_tracepoint_by_number)
3290         (watch_maybe_just_location, trace_pass_command): Constify.
3291         (info_breakpoints_command): Add non-const overload.
3292         * tracefile.c (tsave_command): Constify.
3293         * infcmd.c (attach_command, disconnect_command, signal_command)
3294         (queue_signal_command, stepi_command, nexti_command)
3295         (finish_command, next_command, step_command, until_command)
3296         (advance_command, jump_command, continue_command, run_command)
3297         (start_command, starti_command, interrupt_command)
3298         (run_command_1, set_inferior_args, step_1): Constify.
3299         * inferior.c (add_inferior_command, remove_inferior_command)
3300         (clone_inferior_command): Constify.
3301         * linux-fork.c (checkpoint_command, restart_command): Constify.
3302         * windows-nat.c (signal_event_command): Constify.
3303         * guile/guile.c (guile_repl_command, guile_command): Constify.
3304         * printcmd.c (x_command, display_command, printf_command)
3305         (output_command, set_command, call_command, print_command)
3306         (eval_command): Constify.
3307         (non_const_set_command): Remove.
3308         (_initialize_printcmd): Update.
3309         * source.c (forward_search_command, reverse_search_command):
3310         Constify.
3311         * jit.c (jit_reader_load_command, jit_reader_unload_command):
3312         Constify.
3313         * infrun.c (handle_command): Constify.
3314         * memattr.c (mem_command): Constify.
3315         * stack.c (return_command, up_command, up_silently_command)
3316         (down_command, down_silently_command, frame_command)
3317         (backtrace_command, func_command, backtrace_command_1): Constify.
3318         (backtrace_command): Add non-const overload.
3319         * remote-sim.c (simulator_command): Constify.
3320         * exec.c (set_section_command): Constify.
3321         * tracepoint.c (tdump_command, trace_variable_command)
3322         (tstatus_command, tstop_command, tstart_command)
3323         (end_actions_pseudocommand, while_stepping_pseudocommand)
3324         (collect_pseudocommand, teval_pseudocommand, actions_command)
3325         (start_tracing, stop_tracing): Constify.
3326         * value.c (init_if_undefined_command): Constify.
3327         * tui/tui-stack.c (tui_update_command): Constify.
3328         * tui/tui-win.c (tui_refresh_all_command)
3329         (tui_set_tab_width_command, tui_set_win_height_command)
3330         (tui_set_focus_command, tui_scroll_forward_command)
3331         (tui_scroll_backward_command, tui_scroll_left_command)
3332         (tui_scroll_right_command, parse_scrolling_args, tui_set_focus)
3333         (tui_set_win_height): Constify.
3334         * tui/tui-layout.c (tui_layout_command): Constify.
3335         * procfs.c (proc_trace_syscalls, proc_trace_sysentry_cmd)
3336         (proc_trace_sysexit_cmd, proc_untrace_sysentry_cmd)
3337         (proc_untrace_sysexit_cmd): Constify.
3338         * remote.c (threadlist_test_cmd, threadinfo_test_cmd)
3339         (threadset_test_cmd, threadlist_update_test_cmd)
3340         (threadalive_test): Constify.
3341         * objc-lang.c (print_object_command): Constify.
3342         * command.h (add_com): Constify.
3343         * cli/cli-dump.c (restore_command): Constify.
3344         * cli/cli-cmds.c (pwd_command, echo_command, quit_command)
3345         (help_command, complete_command, shell_command, edit_command)
3346         (list_command, disassemble_command, make_command)
3347         (apropos_command, alias_command): Constify.
3348         * cli/cli-script.c (document_command, define_command)
3349         (while_command, if_command, validate_comname): Constify.
3350         * cli/cli-decode.c (struct cmd_list_element): Change type of
3351         "fun".
3352         * target.c (do_monitor_command, flash_erase_command): Constify.
3353         * regcache.c (reg_flush_command): Constify.
3354         * reverse.c (reverse_step, reverse_next, reverse_stepi)
3355         (reverse_nexti, reverse_continue, reverse_finish)
3356         (save_bookmark_command, goto_bookmark_command)
3357         (exec_reverse_once): Constify.
3358         * python/python.c (python_interactive_command, python_command):
3359         Constify.
3360         * typeprint.c (ptype_command, whatis_command, whatis_exp):
3361         Constify.
3362         * solib.c (sharedlibrary_command, no_shared_libraries): Constify.
3363         * gcore.c (gcore_command): Constify.
3364
3365 2017-11-07  Tom Tromey  <tom@tromey.com>
3366
3367         * printcmd.c (x_command): Call set_repeat_arguments.
3368         * cli/cli-cmds.c (list_command): Call set_repeat_arguments.
3369         * top.c (repeat_arguments): New global.
3370         (set_repeat_arguments): New function.
3371         (execute_command): Handle repeat_arguments.
3372         (show_commands): Calls set_repeat_arguments.
3373         * command.h (set_repeat_arguments): Declare.
3374
3375 2017-11-07  Tom Tromey  <tom@tromey.com>
3376
3377         * stack.c (backtrace_command): Use std::string.
3378         (backtrace_command_1): Make "count_exp" const.
3379
3380 2017-11-07  Tom Tromey  <tom@tromey.com>
3381
3382         * source.c (directory_switch, mod_path, add_path): Constify.
3383         * defs.h (add_path, mod_path, directory_switch): Constify.
3384         * mi/mi-cmd-env.c (env_mod_path): Constify.
3385
3386 2017-11-07  Tom Tromey  <tom@tromey.com>
3387
3388         * infcmd.c (strip_bg_char): Return gdb::unique_xmalloc_ptr.
3389         (run_command_1, continue_command, step_1, jump_command)
3390         (signal_command, until_command, advance_command, finish_command)
3391         (attach_command): Update.
3392
3393 2017-11-07  Tom Tromey  <tom@tromey.com>
3394
3395         * command.h (set_cmd_cfunc): Don't declare.
3396         * cli/cli-decode.c (set_cmd_cfunc): Now static.
3397
3398 2017-11-07  Tom Tromey  <tom@tromey.com>
3399
3400         * stack.c (select_frame_command): Constify.
3401         * cli/cli-decode.c (add_com_suppress_notification): Constify.
3402         * command.h (add_com_suppress_notification): Constify.
3403
3404 2017-11-07  Tom Tromey  <tom@tromey.com>
3405
3406         * breakpoint.c (stop_command): Constify.
3407         * cli/cli-decode.c (struct cmd_list_element): Constify.
3408         * command.h (add_abbrev_prefix_cmd): Constify.
3409
3410 2017-11-07  Pedro Alves  <palves@redhat.com>
3411
3412         * breakpoint.c (extract_bp_kind): New enum.
3413         (extract_bp_num, extract_bp_or_bp_range): New functions, partially
3414         factored out from ...
3415         (extract_bp_number_and_location): ... here.
3416         * cli/cli-utils.c (get_number_trailer): Handle '-$variable'.
3417
3418 2017-11-07  Pedro Alves  <palves@redhat.com>
3419
3420         * breakpoint.c (extract_bp_number_and_location): Change return
3421         type to void.  Throw error instead of warning.
3422         (enable_disable_command): Adjust.
3423
3424 2017-11-07  Xavier Roirand  <roirand@adacore.com>
3425             Pedro Alves  <palves@redhat.com>
3426
3427         * breakpoint.c (map_breakpoint_number_range): New, factored out
3428         from ...
3429         (map_breakpoint_numbers): ... here.
3430         (find_location_by_number): Change parameters from string to
3431         breakpoint number and location.
3432         (extract_bp_number_and_location): New function.
3433         (enable_disable_bp_num_loc)
3434         (enable_disable_breakpoint_location_range)
3435         (enable_disable_command): New functions, factored out ...
3436         (enable_command, disable_command): ... these functions, and
3437         adjusted to support ranges.
3438         * NEWS: Document enable/disable breakpoint location range feature.
3439
3440 2017-11-06  Luis Machado  <luis.machado@linaro.org>
3441
3442         * MAINTAINERS (Write After Approval): Update my e-mail address.
3443
3444 2017-11-06  Pedro Alves  <palves@redhat.com>
3445
3446         * gnu-nat.c (gnu_terminal_init): Delete.
3447         (gnu_target): Don't install gnu_terminal_init.
3448         * inflow.c (child_terminal_init_with_pgrp): Delete, merged with ...
3449         (child_terminal_init): ... this function.
3450
3451 2017-11-06  Pedro Alves  <palves@redhat.com>
3452
3453         * common/common.m4 (GDB_AC_COMMON): No longer check termio.h nor
3454         sgtty.h.
3455         * config.in, configure: Regenerate.
3456
3457 2017-11-06  Pedro Alves  <palves@redhat.com>
3458
3459         * event-top.c: Check SIGTSTP instead of STOP_SIGNAL thoughout.
3460         (async_init_signals): Adjust.
3461         (handle_stop_sig): Rename to ...
3462         (handle_sigtstp): ... this.
3463         (async_stop_sig): Rename to ...
3464         (async_sigtstp_handler): ... this, and delete STOP_SIGNAL !=
3465         SIGTSTP path.
3466         * event-top.h: Move signal.h include to the top.  Check SIGTSTP
3467         instead of STOP_SIGNAL thoughout.
3468         (handle_stop_sig): Rename to ...
3469         (handle_sigtstp): ... this.
3470         * top.c (command_line_input): Replace STOP_SIGNAL -> SIGTSTP.
3471
3472 2017-11-06  Pedro Alves  <palves@redhat.com>
3473
3474         * inflow.c (child_terminal_inferior, child_terminal_ours_1): No
3475         longer set flags twice in row.
3476
3477 2017-11-06  Pedro Alves  <palves@redhat.com>
3478
3479         * Makefile.in (SER_HARDWIRE): Update comment.
3480         (HFILES_NO_SRCDIR): Remove gdb_termios.h.
3481         * common/gdb_termios.h: Delete file.
3482         * common/job-control.c: Include termios.h and unistd.h instead of
3483         gdb_termios.h.
3484         (gdb_setpgid): Remove HAVE_TERMIOS || TIOCGPGRP preprocessor
3485         check.
3486         (have_job_control): Check HAVE_TERMIOS_H instead of HAVE_TERMIOS.
3487         Remove sgtty code.
3488         * configure.ac: No longer check for termio.h and sgtty.h.
3489         * configure: Regenerate.
3490         * inflow.c: Include termios.h instead of gdb_termios.h.  Replace
3491         PROCESS_GROUP_TYPE checks with HAVE_TERMIOS_H checks throughout.
3492         Replace PROCESS_GROUP_TYPE references with pid_t references
3493         throughout.
3494         (gdb_getpgrp): Delete.
3495         (set_initial_gdb_ttystate): Use tcgetpgrp instead of gdb_getpgrp.
3496         (child_terminal_inferior): Remove comment.  Remove sgtty code.
3497         (child_terminal_ours_1): Use tcgetpgrp directly instead of
3498         gdb_getpgrp.  Use serial_set_tty_state instead aof
3499         serial_noflush_set_tty_state.  Remove sgtty code.
3500         * inflow.h: Include unistd.h instead of gdb_termios.h.  Replace
3501         PROCESS_GROUP_TYPE check with HAVE_TERMIOS_H check.
3502         (inferior_process_group): Now returns pid_t.
3503         * ser-base.c (ser_base_noflush_set_tty_state): Delete.
3504         * ser-base.h (ser_base_noflush_set_tty_state): Delete.
3505         * ser-event.c (serial_event_ops): Update.
3506         * ser-go32.c (dos_noflush_set_tty_state): Delete.
3507         (dos_ops): Update.
3508         * ser-mingw.c (hardwire_ops, tty_ops, pipe_ops, tcp_ops): Update.
3509         * ser-pipe.c (pipe_ops): Update.
3510         * ser-tcp.c (tcp_ops): Update.
3511         * ser-unix.c: Include termios.h instead of gdb_termios.h.  Remove
3512         HAVE_TERMIOS checks.
3513         [HAVE_TERMIO] (struct hardwire_ttystate): Delete.
3514         [HAVE_SGTTY] (struct hardwire_ttystate): Delete.
3515         (get_tty_state, set_tty_state): Drop termio and sgtty code, and
3516         assume termios.
3517         (hardwire_noflush_set_tty_state): Delete.
3518         (hardwire_print_tty_state, hardwire_drain_output)
3519         (hardwire_flush_output, hardwire_flush_input)
3520         (hardwire_send_break, hardwire_raw, hardwire_setbaudrate)
3521         (hardwire_setstopbits, hardwire_setparity): Drop termio and sgtty
3522         code, and assume termios.
3523         (hardwire_ops): Update.
3524         (_initialize_ser_hardwire): Remove HAVE_TERMIOS check.
3525         * serial.c (serial_noflush_set_tty_state): Delete.
3526         * serial.h (serial_noflush_set_tty_state): Delete.
3527         (serial_ops::noflush_set_tty_state): Delete.
3528
3529 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3530
3531         * Makefile.in (SFILES): Remove doublest.c and dfp.c.
3532         (HFILES_NO_SRCDIR): Remove doublest.h and dfp.h.
3533         (COMMON_OBS): Remove doublest.o and dfp.o.
3534         Do not build target-float.c (instead of doublest.c)
3535         with -Wformat-nonliteral.
3536
3537         * doublest.c: Remove file.
3538         * doublest.h: Remove file.
3539         * dfp.c: Remove file.
3540         * dfp.h: Remove file.
3541
3542         * target-float.c: Do not include "doublest.h" and "dfp.h".
3543         (DOUBLEST): Move here from doublest.h.
3544         (enum float_kind): Likewise.
3545         (FLOATFORMAT_CHAR_BIT): Likewise.
3546         (FLOATFORMAT_LARGEST_BYTES): Likewise.
3547         (floatformat_totalsize_bytes): Move here from doublest.c.  Make static.
3548         (floatformat_precision): Likewise.
3549         (floatformat_normalize_byteorder, get_field, put_field): Likewise.
3550         (floatformat_is_negative, floatformat_classify, floatformat_mantissa):
3551         Likewise.
3552         (host_float_format, host_double_format, host_long_double_format):
3553         Likewise.
3554         (floatformat_to_string, floatformat_from_string): Likewise.
3555         (floatformat_to_doublest): Likewise.  Also, inline the original
3556         convert_floatformat_to_doublest.
3557         (floatformat_from_doublest): Likewise.  Also, inline the original
3558         convert_floatformat_from_doublest.
3559
3560         Include "dpd/decimal128.h", "dpd/decimal64.h", and "dpd/decimal32.h".
3561         (MAX_DECIMAL_STRING): Move here from dfp.c.
3562         (match_endianness): Likewise.
3563         (set_decnumber_context, decimal_check_errors): Likewise.
3564         (decimal_from_number, decimal_to_number): Likewise.
3565         (decimal_to_string, decimal_from_string): Likewise.  Make static.
3566         (decimal_from_longest, decimal_from_ulongest): Likewise.
3567         (decimal_to_longest): Likewise.
3568         (decimal_binop, decimal_is_zero, decimal_compare): Likewise.
3569         (decimal_convert): Likewise.
3570
3571 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3572
3573         * doublest.c: Do not include "gdbtypes.h".
3574         (extract_typed_floating): Remove.
3575         (store_typed_floating): Remove.
3576         (convert_typed_floating): Remove.
3577         * doublest.h (struct type): Remove.
3578         (DOUBLEST_PRINT_FORMAT): Remove.
3579         (DOUBLEST_SCAN_FORMAT): Remove.
3580         (extract_typed_floating): Remove.
3581         (store_typed_floating): Remove.
3582         (convert_typed_floating): Remove.
3583
3584         * dfp.c (decimal_from_doublest): Remove.
3585         (decimal_to_doublest): Remove.
3586         * dfp.h: Do not include "doublest.h".
3587         (decimal_from_doublest): Remove.
3588         (decimal_to_doublest): Remove.
3589
3590         * value.c: Do not include "doublest.h" and "dfp.h".
3591         (value_as_double): Remove.
3592         (unpack_double): Remove.
3593         (value_from_double): Remove.
3594         (value_from_decfloat): Remove.
3595         * value.h: Do not include "doublest.h".
3596         (value_as_double): Remove.
3597         (unpack_double): Remove.
3598         (value_from_double): Remove.
3599         (value_from_decfloat): Remove.
3600
3601 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3602
3603         * i386-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3604         (i386_extract_return_value): Use target_float_convert.
3605         (i386_store_return_value): Likewise.
3606         * i387-tdep.c (i387_register_to_value): Use target_float_convert.
3607         (i387_value_to_register): Likewise.
3608         * ia64-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3609         (ia64_register_to_value): Use target_float_convert.
3610         (ia64_value_to_register): Likewise.
3611         (ia64_extract_return_value): Likewise.
3612         (ia64_store_return_value): Likewise.
3613         (ia64_push_dummy_call): Likewise.
3614         * m68k-tdep.c: Include "target-float.h".
3615         (m68k_register_to_value): Use target_float_convert.
3616         (m68k_value_to_register): Likewise.
3617         (m68k_svr4_extract_return_value): Likewise.
3618         (m68k_svr4_store_return_value): Likewise.
3619         * ppc-sysv-tdep.c: Include "target-float.h".
3620         (ppc_sysv_abi_push_dummy_call): Use target_float_convert.
3621         (do_ppc_sysv_return_value): Likewise.
3622         (ppc64_sysv_abi_push_freg): Likewise.
3623         (ppc64_sysv_abi_return_value_base): Likewise.
3624         * rs6000-aix-tdep.c: Include "target-float.h".
3625         (rs6000_push_dummy_call): Use target_float_convert.
3626         (rs6000_return_value): Likewise.
3627         * rs6000-lynx178-tdep.c: Include "target-float.h".
3628         (rs6000_lynx178_push_dummy_call): Use target_float_convert.
3629         (rs6000_lynx178_return_value): Likewise.
3630         * rs6000-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3631         (rs6000_register_to_value): Use target_float_convert.
3632         (rs6000_value_to_register): Likewise.
3633         * arm-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3634         (arm_extract_return_value): Use target_float_convert.
3635         (arm_store_return_value): Likewise.
3636         * sh-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3637         (sh_register_convert_to_virtual): Use target_float_convert.
3638         (sh_register_convert_to_raw): Likewise.
3639         * sh64-tdep.c: Include "target-float.h".
3640         (sh64_extract_return_value): Use target_float_convert.
3641         (sh64_register_convert_to_virtual): Likewise.
3642         (sh64_register_convert_to_raw): Likewise.  Fix argument types.
3643
3644 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3645
3646         * target-float.c (floatformat_to_host_double): New function.
3647         (floatformat_from_host_double): Likewise.
3648         (target_float_to_host_double): Likewise.
3649         (target_float_from_host_double): Likewise.
3650         * target-float.h (target_float_to_host_double): Add prototype.
3651         (target_float_from_host_double): Likewise.
3652
3653         * guile/scm-value.c: Include "target-float.h".
3654         (gdbscm_value_to_real): Use target_float_to_host_double.
3655         Handle integer source values via value_as_long.
3656         * guile/scm-math.c: Include "target-float.h".  Do not include
3657         "doublest.h", "dfp.h", and "expression.h".
3658         (vlscm_convert_typed_number): Use target_float_from_host_double.
3659         (vlscm_convert_number): Likewise.
3660
3661         * python/py-value.c (valpy_float): Use target_float_to_host_double.
3662         (convert_value_from_python): Use target_float_from_host_double.
3663
3664 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3665
3666         * ada-lang.c (cast_to_fixed): Reimplement in target arithmetic.
3667         (cast_from_fixed): Likewise.
3668         (ada_scaling_type): New function.
3669         (ada_delta): Return value instead of DOUBLEST.  Perform target
3670         arithmetic instead of host arithmetic.
3671         (scaling_factor): Rename to ...
3672         (ada_scaling_factor) ... this.  Make non-static.  Return value instead
3673         of DOUBLEST.  Perform target arithmetic instead of host arithmetic.
3674         (ada_fixed_to_float): Remove.
3675         (ada_float_to_fixed): Remove.
3676         * ada-lang.h (ada_fixed_to_float): Remove.
3677         (ada_float_to_fixed): Remove.
3678         (ada_delta): Return value instead of DOUBLEST.
3679         (ada_scaling_factor): Add prototype.
3680
3681         * ada-typeprint.c: Include "target-float.h".
3682         (print_fixed_point_type): Perform target arithmetic instead of
3683         host arithmetic.
3684         * ada-valprint.c: Include "target-float.h".
3685         (ada_val_print_num): Perform target arithmetic instead of
3686         host arithmetic for fixed-point types.
3687
3688 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3689
3690         * target-float.c: Include <math.h>.
3691         (floatformat_binop): New function.
3692         (floatformat_compare): Likewise.
3693         (target_float_binop): Likewise.
3694         (target_float_compare): Likewise.
3695         * target-float.h: Include "expression.h".
3696         (target_float_binop): Add prototype.
3697         (target_float_compare): Likewise.
3698
3699         * valarith.c: Do not include "doublest.h" and "dfp.h".
3700         Include "common/byte-vector.h".
3701         (value_args_as_decimal): Remove, replace by ...
3702         (value_args_as_target_float): ... this function.  Handle both
3703         binary and decimal target floating-point formats.
3704         (scalar_binop): Handle both binary and decimal FP using
3705         value_args_as_target_float and target_float_binop.
3706         (value_equal): Handle both binary and decimal FP using
3707         value_args_as_target_float and target_float_compare.
3708         (value_less): Likewise.
3709         (value_pos): Handle all scalar types as simple copy.
3710         (value_neg): Handle all scalar types via BINOP_SUB from 0.
3711         * dfp.c (decimal_binop): Throw error instead of internal_error
3712         when called with an unsupported operation code.
3713
3714 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3715
3716         * target-float.c (target_float_to_string): New function.
3717         (target_float_from_string): New function.
3718         * target-float.h (target_float_to_string): Add prototype.
3719         (target_float_from_string): Add prototype.
3720
3721         * valprint.c: Include "target-float.h".  Do not include
3722         "doublest.h" and "dfp.h".
3723         (print_floating): Use target_float_to_string.
3724         * printcmd.c: Include "target-float.h".  Do not include "dfp.h".
3725         (printf_floating): Use target_float_to_string.
3726         * i387-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3727         (print_i387_value): Use target_float_to_string.
3728         * mips-tdep.c: Include "target-float.h".
3729         (mips_print_fp_register): Use target_float_to_string.
3730         * sh64-tdep.c: Include "target-float.h".
3731         (sh64_do_fp_register): Use target_float_to_string.
3732
3733         * parse.c: Include "target-float.h".  Do not include
3734         "doublest.h" and "dfp.h".
3735         (parse_float): Use target_float_from_string.
3736         * stabsread.c: Include "target-float.h".  Do not include "doublest.h".
3737         (define_symbol): Use target_float_from_string.
3738         * gdbarch-selftests.c: Include "target-float.h".
3739         (register_to_value_test): Use target_float_from_string.
3740
3741 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3742
3743         * Makefile.c (SFILES): Add target-float.c.
3744         (HFILES_NO_SRCDIR): Add target-float.h.
3745         (COMMON_OBS): Add target-float.o.
3746         * target-float.h: New file.
3747         * target-float.c: New file.
3748
3749         * doublest.c (floatformat_classify): Fix detection of float_zero.
3750
3751         * gdbtypes.c (is_floating_type): New function.
3752         * gdbtypes.h (is_floating_type): Add prototype.
3753
3754         * value.c: Do not include "floatformat.h".
3755         (unpack_double): Use target_float_is_valid.
3756         (is_floating_value): New function.
3757         * value.h (is_floating_value): Add prototype-
3758
3759         * valarith.c: Include "target-float.h".
3760         (value_logical_not): Use target_float_is_zero.
3761
3762         * python/py-value.c: Include "target-float.h".
3763         (valpy_nonzero): Use target_float_is_zero.
3764
3765 2017-11-04  Tom Tromey  <tom@tromey.com>
3766
3767         * h8300-tdep.c (h8300_push_dummy_call): Use std::vector.
3768
3769 2017-11-04  Tom Tromey  <tom@tromey.com>
3770
3771         * breakpoint.c (set_momentary_breakpoint): Return
3772         breakpoint_up.
3773         (until_break_command): Update.
3774         (new_until_break_fsm): Change argument types to
3775         breakpoint_up.
3776         (set_momentary_breakpoint_at_pc): Return breakpoint_up.
3777         (do_delete_breakpoint_cleanup, make_cleanup_delete_breakpoint):
3778         Remove.
3779         * infcmd.c (finish_forward): Update.
3780         * breakpoint.h (set_momentary_breakpoint)
3781         (set_momentary_breakpoint_at_pc): Return breakpoint_up.
3782         (make_cleanup_delete_breakpoint): Remove.
3783         (struct breakpoint_deleter): New.
3784         (breakpoint_up): New typedef.
3785         * infrun.c (insert_step_resume_breakpoint_at_sal_1): Update.
3786         (insert_exception_resume_breakpoint): Update.
3787         (insert_exception_resume_from_probe): Update.
3788         (insert_longjmp_resume_breakpoint): Update.
3789         * arm-linux-tdep.c (arm_linux_copy_svc): Update.
3790         * elfread.c (elf_gnu_ifunc_resolver_stop): Update.
3791         * infcall.c (call_function_by_hand_dummy): Update
3792
3793 2017-11-04  Tom Tromey  <tom@tromey.com>
3794
3795         * c-typeprint.c (c_type_print_base): Use gdb::unique_xmalloc_ptr.
3796
3797 2017-11-04  Tom Tromey  <tom@tromey.com>
3798
3799         * linux-tdep.c (linux_core_info_proc_mappings): Use
3800         gdb::def_vector.
3801         (linux_get_siginfo_data): Return gdb::byte_vector.  Remove
3802         "size" argument.
3803         (linux_corefile_thread): Update.
3804         (linux_make_corefile_notes): Remove unused variable.
3805
3806 2017-11-04  Tom Tromey  <tom@tromey.com>
3807
3808         * ppc-linux-tdep.c (ppc_linux_get_syscall_number): Use
3809         gdb::byte_vector.
3810
3811 2017-11-04  Tom Tromey  <tom@tromey.com>
3812
3813         * objfiles.c (do_free_objfile_cleanup): Remove.
3814         * compile/compile-object-load.c (compile_object_load): Update.
3815         * objfiles.h (make_cleanup_free_objfile): Remove.
3816
3817 2017-11-04  Tom Tromey  <tom@tromey.com>
3818
3819         * sparc64-tdep.c (do_examine): Use gdb::def_vector.
3820         (adi_read_versions): Change "tags" to "gdb_byte *".
3821         (adi_print_versions): Likewise.
3822
3823 2017-11-04  Tom Tromey  <tom@tromey.com>
3824
3825         * breakpoint.c
3826         (scoped_rbreak_breakpoints::scoped_rbreak_breakpoints): Rename
3827         from start_rbreak_breakpoints.
3828         (scoped_rbreak_breakpoints): Rename from end_rbreak_breakpoints.
3829         * breakpoint.h (class scoped_rbreak_breakpoints): New.
3830         (start_rbreak_breakpoints, end_rbreak_breakpoints): Remove.
3831         * symtab.c (do_end_rbreak_breakpoints): Remove.
3832         (rbreak_command): Use scoped_rbreak_breakpoints, std::string.
3833
3834 2017-11-04  Tom Tromey  <tom@tromey.com>
3835
3836         * cp-namespace.c (reset_directive_searched): Remove.
3837         (cp_lookup_symbol_via_imports): Use scoped_restore.
3838         * cp-support.c (reset_directive_searched): Remove.
3839         (make_symbol_overload_list_using): Use scoped_restore.
3840         * d-namespace.c (d_lookup_symbol_imports): Use scoped_restore.
3841         (reset_directive_searched): Remove.
3842
3843 2017-11-04  Tom Tromey  <tom@tromey.com>
3844
3845         * symfile.c (find_separate_debug_file_by_debuglink): Use
3846         unique_xmalloc_ptr.
3847
3848 2017-11-04  Tom Tromey  <tom@tromey.com>
3849
3850         * compile/compile-loc2c.c (compute_stack_depth_worker): Change
3851         type of "info".
3852         (compute_stack_depth): Likewise.
3853         (do_compile_dwarf_expr_to_c): Use std::vector.
3854
3855 2017-11-04  Tom Tromey  <tom@tromey.com>
3856
3857         * compile/compile-object-load.c (link_callbacks_einfo): Use
3858         std::string.
3859
3860 2017-11-04  Tom Tromey  <tom@tromey.com>
3861
3862         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
3863         Use scoped_free_pendings.
3864         * dbxread.c (dbx_symfile_read, dbx_psymtab_to_symtab_1): Use
3865         scoped_free_pendings.
3866         * xcoffread.c (xcoff_psymtab_to_symtab_1): Use scoped_free_pendings.
3867         (xcoff_initial_scan): Likewise.
3868         * buildsym.c (reset_symtab_globals): Update comment.
3869         (scoped_free_pendings): Rename from really_free_pendings.
3870         (prepare_for_building): Update comment.
3871         (buildsym_init): Likewise.
3872         * buildsym.h (class scoped_free_pendings): New class.
3873         (really_free_pendings): Don't declare.
3874
3875 2017-11-03  Ulrich Weigand  <uweigand@de.ibm.com>
3876
3877         * doublest.c (convert_doublest_to_floatformat): Fix uninitialized
3878         output when converting a zero value to a special byteorder format.
3879
3880 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3881
3882         * frame.c (do_frame_register_read): Remove aspace.
3883         * jit.c (jit_frame_sniffer): Likwise.
3884         * ppc-linux-tdep.c (ppu2spu_sniffer): Likewise.
3885         * regcache.c (regcache::regcache): Pass nullptr.
3886         (regcache_print): Caller updated.
3887         * regcache.h (regcache::regcache): Remove one constructor
3888         parameter aspace.
3889
3890 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3891
3892         * regcache.h (regcache) <m_readonly_p>: Change it to const bool.
3893
3894 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3895
3896         * breakpoint.c (insert_single_step_breakpoints): Update.
3897         * frame.c (struct frame_info) <aspace>: Add const.
3898         (frame_save_as_regcache): Add const.
3899         (get_frame_address_space): Return const address_space *.
3900         * frame.h (get_frame_address_space): Update declaration.
3901         * infrun.c (struct step_over_info) <aspace>: Add const.
3902         (set_step_over_info): Make aspace const.
3903         (displaced_step_prepare_throw): Change variable const.
3904         (resume): Likewise.
3905         (proceed): Likewise.
3906         (adjust_pc_after_break): Likewise.
3907         (save_waitstatus): Likewise.
3908         (handle_signal_stop): Likewise.
3909         (keep_going_pass_signal): Likewise.
3910         * jit.c (jit_frame_sniffer): Add const.
3911         * mips-tdep.c (mips_single_step_through_delay): Likewise.
3912         * ppc-linux-tdep.c (ppu2spu_sniffer): Likewise.
3913         * record-full.c (record_full_wait_1): Likewise.
3914         * regcache.c (regcache::regcache): Change parameter to const.
3915         * regcache.h (regcache::regcache): Likewise.
3916         (regcache::aspace): Return const address_space *.
3917         (regcache) <m_aspace>: Add const.
3918
3919 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3920
3921         * darwin-nat.c (cancel_breakpoint): Use regcache->aspace ().
3922         * frame.c (create_sentinel_frame): Likewise.
3923         * infrun.c (displaced_step_prepare_throw): Likewise.
3924         (resume): Likewise.
3925         (thread_still_needs_step_over_bp): Likewise.
3926         (proceed): Likewise.
3927         (do_target_wait): Likewise.
3928         (adjust_pc_after_break): Likewise.
3929         (handle_syscall_event): Likewise.
3930         (save_waitstatus): Likewise.
3931         (handle_inferior_event_1): Likewise.
3932         (handle_signal_stop): Likewise.
3933         (keep_going_pass_signal): Likewise.
3934         * linux-nat.c (status_callback): Likewise.
3935         (save_stop_reason): Likewise.
3936         (resume_stopped_resumed_lwps): Likewise.
3937         * record-full.c (record_full_exec_insn): Likewise.
3938         (record_full_wait_1): Likewise.
3939         * regcache.c (get_regcache_aspace): Remove.
3940         * regcache.h (get_regcache_aspace): Remove.
3941
3942 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3943
3944         * regcache.c (struct regcache_descr) <nr_raw_registers>: Remove.
3945         (init_regcache_descr): Use gdbarch_num_regs.
3946         (regcache::regcache): Likewise.
3947         (regcache::get_register_status): Likewise.
3948         (regcache::assert_raw_regnum): Likewise.
3949         (regcache::cooked_read): Likewise.
3950         (regcache::cooked_read_value): Likewise.
3951         (regcache::cooked_write): Likewise.
3952         (regcache::dump): Likewise.
3953         (regcache::num_raw_registers): New method.
3954         * regcache.h (class regcache) <num_raw_registers>: New.
3955
3956 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3957
3958         * regcache.c (regcache::assert_regnum): New method.
3959         (regcache::invalidate): Call assert_regnum.
3960         (regcache::raw_update): Likewise.
3961         (regcache::raw_write): Likewise.
3962         (regcache::raw_read_part): Likewise.
3963         (regcache::raw_write_part): Likewise.
3964         (regcache::raw_supply): Likewise.
3965         (regcache::raw_supply_integer): Likewise.
3966         (regcache::raw_supply_zeroed): Likewise.
3967         (regcache::raw_collect): Likewise.
3968         (regcache::raw_collect_integer): Likewise.
3969         * regcache.h (regcache::assert_regnum): Declare.
3970
3971 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3972
3973         * regcache.c (regcache::dump): Remove code.
3974
3975 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3976
3977         * regcache.c (struct regcache_descr) <sizeof_raw_register_status>:
3978         Remove.
3979         <sizeof_cooked_register_status>: Remove.
3980         (init_regcache_descr): Update.
3981         (regcache::regcache): Use nr_cooked_registers and nr_raw_registers.
3982         (regcache::save): Likewise.
3983         (regcache::dump): Likewise.
3984
3985 2017-11-01  James Bowman  <james.bowman@ftdichip.com>
3986
3987         * ft32-tdep.c (ft32_fetch_instruction): New function.
3988         (ft32_analyze_prologue): Use ft32_fetch_instruction().
3989
3990 2017-10-31  Simon Marchi  <simon.marchi@polymtl.ca>
3991
3992         * cli/cli-script.c (execute_control_command): Rename to ...
3993         (execute_control_command_1): ... this.
3994         (execute_control_command): New function.
3995
3996 2017-10-31  Simon Marchi  <simon.marchi@ericsson.com>
3997
3998         * tracepoint.c (tfind_command): Remove const_cast.
3999
4000 2017-10-30  Mike Gulick  <mgulick@mathworks.com>
4001
4002         * Makefile.in (HFILES_NO_SRCDIR): Remove reference to gdb.h.
4003
4004 2017-10-30  Simon Marchi  <simon.marchi@ericsson.com>
4005
4006         * common/common-utils.h (in_inclusive_range): New function.
4007         * arm-tdep.c (arm_record_extension_space): Use
4008         in_inclusive_range.
4009         (thumb_record_ld_st_reg_offset): Use in_inclusive_range.
4010         * cris-tdep.c (cris_spec_reg_applicable): Use
4011         in_inclusive_range.
4012
4013 2017-10-30  Pedro Alves  <palves@redhat.com>
4014             Simon Marchi <simon.marchi@ericsson.com>
4015
4016         * remote.c (remote_set_syscall_catchpoint): Build a std::string
4017         instead of a gdb::unique_xmalloc_ptr, using string_appendf.
4018
4019 2017-10-30  Pedro Alves  <palves@redhat.com>
4020
4021         * common/common-utils.c (string_appendf, string_vappendf): New
4022         functions.
4023         * common/common-utils.h (string_appendf, string_vappendf): New
4024         declarations.
4025         * unittests/common-utils-selftests.c (string_appendf_func)
4026         (test_appendf_func, string_vappendf_wrapper, string_appendf_tests)
4027         (string_vappendf_tests): New functions.
4028         (_initialize_common_utils_selftests): Register "string_appendf" and
4029         "string_vappendf tests".
4030
4031 2017-10-30  Pedro Alves  <palves@redhat.com>
4032
4033         * unittests/common-utils-selftests.c (format_func): New typedef.
4034         (string_printf_tests, string_vprintf_tests): Tests factored out
4035         and merged to ...
4036         (test_format_func): ... this new function.
4037         (string_printf_tests, string_vprintf_tests): Reimplement on top of
4038         test_format_func.
4039
4040 2017-10-29  Simon Marchi  <simon.marchi@ericsson.com>
4041
4042         * darwin-nat.c: Remove include of gdb.h.
4043
4044 2017-10-29  Simon Marchi  <simon.marchi@ericsson.com>
4045
4046         * xtensa-xtregs.c: Fix formatting issues.
4047
4048 2017-10-29  Simon Marchi  <simon.marchi@ericsson.com>
4049
4050         * xtensa-xtregs.c (xtensa_regtable_t) <name>: Constify.
4051
4052 2017-10-28  Maksim Dzabraev  <dzabraew@gmail.com>
4053
4054         PR python/21213
4055         * python/py-infthread.c (thpy_get_inferior): Increment reference
4056         of inferior before returning it.
4057
4058 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4059
4060         * unittests/common-utils-selftests.c (format): Add
4061         ATTRIBUTE_PRINTF.
4062
4063 2017-10-27  Simon Marchi  <simon.marchi@polymtl.ca>
4064
4065         * xml-syscall.c (struct syscall_desc): Add constructor.
4066         <name>: Change type to std::string.
4067         (syscall_desc_up): New typedef.
4068         (syscall_desc_p): Remove typeder.
4069         (DEF_VEC_P(syscall_desc_p)): Remove.
4070         (struct syscall_group_desc): Add constructor.
4071         <name>: Change type to std::string.
4072         <syscalls>: Change type to std::vector.
4073         (syscall_group_desc_up): New typedef.
4074         (syscall_group_desc_p): Remove typedef.
4075         (DEF_VEC_P(syscall_group_desc_p)): Remove.
4076         (struct syscalls_info) <syscalls>: Change type to std::vector of
4077         unique_ptr.
4078         <groups>: Likewise.
4079         <my_gdb_datadir>: Change type to std::string.
4080         (syscalls_info_up): New typedef.
4081         (allocate_syscalls_info): Remove.
4082         (syscalls_info_free_syscalls_desc): Remove.
4083         (syscalls_info_free_syscall_group_desc): Remove.
4084         (free_syscalls_info): Remove.
4085         (make_cleanup_free_syscalls_info): Remove.
4086         (syscall_group_create_syscall_group_desc): Adjust.
4087         (syscall_group_add_syscall): Adjust.
4088         (syscall_create_syscall_desc): Adjust.
4089         (syscall_parse_xml): Adjust, use unique_ptr instead of cleanup.
4090         (init_syscalls_info): Adjust.
4091         (syscall_group_get_group_by_name): Adjust.
4092         (xml_get_syscall_number): Adjust.
4093         (xml_get_syscall_name): Adjust.
4094         (xml_list_of_syscalls): Adjust.
4095         (xml_list_syscalls_by_group): Adjust.
4096         (xml_list_of_groups): Adjust.
4097
4098 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4099
4100         * probe.h: Don't include gdb_vecs.h.
4101         (DEF_VEC_P (probe_p)): Remove.
4102         (find_probes_in_objfile): Return an std::vector.
4103         * probe.c (find_probes_in_objfile): Likewise.
4104         * breakpoint.c (breakpoint_objfile_data)
4105         <longjmp_probes>: Change type to std::vector.
4106         <exception_probes>: Likewise.
4107         (free_breakpoint_probes): Don't manually free vectors.
4108         (create_longjmp_master_breakpoint): Adjust.
4109         (create_exception_master_breakpoint): Adjust.
4110         * solib-svr4.c (svr4_create_probe_breakpoints): Change
4111         parameter type, adjust.
4112         (svr4_create_solib_event_breakpoints): Adjust.
4113
4114 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4115
4116         * breakpoint.c (breakpoint_objfile_data): Initialize fields.
4117         (get_breakpoint_objfile_data): Allocate breakpoint_objfile_data
4118         with new.
4119         (free_breakpoint_probes): Rename to ...
4120         (free_breakpoint_objfile_data): ... this, and call delete on
4121         bp_objfile_data..
4122
4123 2017-10-27  Simon Marchi  <simon.marchi@polymtl.ca>
4124
4125         * auto-load.c: Don't include gdb_vecs.h, include algorithm.
4126         (loaded_script_ptr): Remove typedef.
4127         (DEF_VEC_P (loaded_script_ptr)): Remove.
4128         (struct collect_matching_scripts_data): Add constructor.
4129         <scripts_p>: Change type to (pointer to) std::vector.
4130         (collect_matching_scripts_data): Adjust.
4131         (sort_scripts_by_name): Make suitable for std::sort.
4132         (print_scripts): Don't sort vector, adjust to std::vector.
4133         (auto_load_info_scripts): Sort vectors, adjust to std::vector.
4134
4135 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4136
4137         * symfile.c (filename_language): Make struct, not typedef.  Add
4138         constructor.
4139         <ext>: Change type to std::string.
4140         (DEF_VEC_O (filename_language)): Remove.
4141         (filename_language_table): Change type to std::vector.
4142         (add_filename_language): Adjust.
4143         (set_ext_lang_command): Adjust.
4144         (info_ext_lang_command): Adjust.
4145         (deduce_language_from_filename): Adjust.
4146         (class scoped_restore_filename_language_table): Remove.
4147         (test_filename_language): Use scoped_restore.
4148         (test_set_ext_lang_command): Use scoped_restore, adjust to
4149         std::vector change.
4150
4151 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4152
4153         * symfile.c: Include selftest.h.
4154         (class scoped_restore_filename_language_table): New.
4155         (test_filename_language): New test.
4156         (test_set_ext_lang_command): New test.
4157         (_initialize_symfile): Register tests.
4158
4159 2017-10-27  Keith Seitz  <keiths@redhat.com>
4160
4161         * breakpoint.c (print_breakpoint_location): Use the symbol saved
4162         in the bp_location, falling back to find_pc_sect_function when
4163         needed.
4164         (add_location_to_breakpoint): Save sal->symbol.
4165         * breakpoint.h (struct bp_location) <symbol>: New field.
4166         * symtab.c (find_function_start_sal): Save the symbol into the SaL.
4167         * symtab.h (struct symtab_and_line) <symbol>: New field.
4168
4169 2017-10-26  Patrick Frants  <osscontribute@gmail.com>
4170
4171         PR gdb/13669
4172         * cp-valprint.c (cp_print_value_fields): Use obstack_blank_fast
4173         to rewind obstack.
4174
4175 2017-10-26  Pedro Alves  <palves@redhat.com>
4176
4177         * remote.c (remote_async_terminal_ours_p): Delete.
4178         (remote_open_1, remote_terminal_inferior, remote_terminal_ours):
4179         Remove references to 'remote_async_terminal_ours_p'.
4180
4181 2017-10-26  Yao Qi  <yao.qi@linaro.org>
4182
4183         * breakpoint.h (regular_breakpoint_inserted_here_p): Remove.
4184
4185 2017-10-26  Yao Qi  <yao.qi@linaro.org>
4186
4187         * break-catch-sig.c (signal_catchpoint_breakpoint_hit): Make
4188         aspace const.
4189         * break-catch-syscall.c (breakpoint_hit_catch_syscall):
4190         Likewise.
4191         * breakpoint.c (bpstat_check_location): Remove cast.
4192         (breakpoint_hit_catch_fork): Make aspce const.
4193         (breakpoint_hit_catch_solib): Likewise.
4194         (breakpoint_hit_catch_exec): Likewise.
4195         (breakpoint_hit_ranged_breakpoint): Likewise.
4196         (breakpoint_hit_watchpoint): Likewise.
4197         (base_breakpoint_breakpoint_hit): Likewise.
4198         (bkpt_breakpoint_hit): Likewise.
4199         (dprintf_breakpoint_hit): Likewise.
4200         (tracepoint_breakpoint_hit): Likewise.
4201         * breakpoint.h (breakpoint_ops) <breakpoint_hit>: Likewise.
4202
4203 2017-10-26  Yao Qi  <yao.qi@linaro.org>
4204
4205         * breakpoint.c (breakpoint_location_address_match): Change
4206         "struct address_space *" to "const address_space".
4207         (breakpoint_location_address_range_overlap): Likewise.
4208         (breakpoint_here_p): Likewise.
4209         (breakpoint_in_range_p): Likewise.
4210         (moribund_breakpoint_here_p): Likewise.
4211         (bp_location_inserted_here_p): Likewise.
4212         (software_breakpoint_inserted_here_p): Likewise.
4213         (hardware_breakpoint_inserted_here_p): Likewise.
4214         (hardware_watchpoint_inserted_in_range): Likewise.
4215         (bpstat_check_location): Likewise.
4216         (bpstat_stop_status): Likewise.
4217         (breakpoint_address_match): Likewise.
4218         (breakpoint_address_match_range): Likewise.
4219         (breakpoint_location_address_match): Likewise.
4220         (breakpoint_location_address_range_overlap): Likewise.
4221         (insert_single_step_breakpoint): Likewise.
4222         (breakpoint_has_location_inserted_here): Likewise.
4223         (single_step_breakpoint_inserted_here_p): Likewise.
4224         (pc_at_non_inline_function): Likewise.
4225         * breakpoint.h (bpstat_stop_status): Update declaration.
4226         (breakpoint_here_p): Likewise.
4227         (breakpoint_in_range_p): Likewise.
4228         (moribund_breakpoint_here_p): Likewise.
4229         (breakpoint_inserted_here_p): Likewise.
4230         (software_breakpoint_inserted_here_p): Likewise.
4231         (hardware_breakpoint_inserted_here_p): Likewise.
4232         (breakpoint_has_location_inserted_here): Likewise.
4233         (single_step_breakpoint_inserted_here_p): Likewise.
4234         (hardware_watchpoint_inserted_in_range): Likewise.
4235         (breakpoint_address_match): Likewise.
4236         (insert_single_step_breakpoint): Likewise.
4237         (pc_at_non_inline_function): Likewise.
4238         * gdbthread.h (thread_has_single_step_breakpoint_here): Likewise.
4239         * record.c (record_check_stopped_by_breakpoint): Likewise.
4240         * record.h (record_check_stopped_by_breakpoint): Likewise.
4241         * thread.c (thread_has_single_step_breakpoint_here): Likewise.
4242
4243 2017-10-25  Yao Qi  <yao.qi@linaro.org>
4244
4245         * aarch32-linux-nat.c (aarch32_gp_regcache_supply): Use
4246         regcache->arch () instead get_regcache_arch.
4247         * aarch64-fbsd-nat.c (aarch64_fbsd_fetch_inferior_registers):
4248         Likewise.
4249         (aarch64_fbsd_store_inferior_registers): Likewise.
4250         * aarch64-linux-nat.c (fetch_gregs_from_thread): Likewise.
4251         (store_gregs_to_thread): Likewise.
4252         (fetch_fpregs_from_thread): Likewise.
4253         (store_fpregs_to_thread): Likewise.
4254         * aarch64-tdep.c (aarch64_extract_return_value): Likewise.
4255         (aarch64_store_return_value): Likewise.
4256         (aarch64_software_single_step): Likewise.
4257         * aix-thread.c (aix_thread_wait): Likewise.
4258         (supply_reg32): Likewise.
4259         (supply_sprs64): Likewise.
4260         (supply_sprs32): Likewise.
4261         (fill_gprs64): Likewise.
4262         (fill_gprs32): Likewise.
4263         (fill_sprs64): Likewise.
4264         (fill_sprs32): Likewise.
4265         (store_regs_user_thread): Likewise.
4266         (store_regs_kernel_thread): Likewise.
4267         * alpha-bsd-nat.c (alphabsd_fetch_inferior_registers): Likewise.
4268         (alphabsd_store_inferior_registers): Likewise.
4269         * alpha-tdep.c (alpha_extract_return_value): Likewise.
4270         (alpha_store_return_value): Likewise.
4271         (alpha_deal_with_atomic_sequence): Likewise.
4272         (alpha_next_pc): Likewise.
4273         (alpha_software_single_step): Likewise.
4274         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers): Likewise.
4275         (amd64bsd_store_inferior_registers): Likewise.
4276         * amd64-linux-nat.c (amd64_linux_fetch_inferior_registers):
4277         Likewise.
4278         (amd64_linux_store_inferior_registers): Likewise.
4279         * amd64-nat.c (amd64_supply_native_gregset): Likewise.
4280         (amd64_collect_native_gregset): Likewise.
4281         * amd64-obsd-tdep.c (amd64obsd_supply_uthread): Likewise.
4282         (amd64obsd_collect_uthread): Likewise.
4283         * amd64-tdep.c (amd64_supply_fpregset): Likewise.
4284         (amd64_collect_fpregset): Likewise.
4285         (amd64_supply_fxsave): Likewise.
4286         (amd64_supply_xsave): Likewise.
4287         (amd64_collect_fxsave): Likewise.
4288         (amd64_collect_xsave): Likewise.
4289         * arc-tdep.c (arc_write_pc): Likewise.
4290         * arch-utils.c (default_skip_permanent_breakpoint): Likewise.
4291         * arm-fbsd-nat.c (arm_fbsd_fetch_inferior_registers): Likewise.
4292         (arm_fbsd_store_inferior_registers): Likewise.
4293         * arm-linux-nat.c (fetch_vfp_regs): Likewise.
4294         (store_vfp_regs): Likewise.
4295         (arm_linux_fetch_inferior_registers): Likewise.
4296         (arm_linux_store_inferior_registers): Likewise.
4297         * arm-linux-tdep.c (arm_linux_supply_gregset): Likewise.
4298         (arm_linux_sigreturn_next_pc): Likewise.
4299         (arm_linux_get_next_pcs_syscall_next_pc): Likewise.
4300         * arm-nbsd-nat.c (arm_supply_gregset): Likewise.
4301         (fetch_register): Likewise.
4302         (store_register): Likewise.
4303         * arm-tdep.c (arm_is_thumb): Likewise.
4304         (displaced_in_arm_mode): Likewise.
4305         (bx_write_pc): Likewise.
4306         (arm_get_next_pcs_addr_bits_remove): Likewise.
4307         (arm_software_single_step): Likewise.
4308         (arm_extract_return_value): Likewise.
4309         (arm_store_return_value): Likewise.
4310         (arm_write_pc): Likewise.
4311         * bfin-tdep.c (bfin_extract_return_value): Likewise.
4312         * bsd-uthread.c (bsd_uthread_fetch_registers): Likewise.
4313         (bsd_uthread_store_registers): Likewise.
4314         * core-regset.c (fetch_core_registers): Likewise.
4315         * corelow.c (get_core_registers): Likewise.
4316         * cris-tdep.c (cris_store_return_value): Likewise.
4317         (cris_extract_return_value): Likewise.
4318         (find_step_target): Likewise.
4319         (find_step_target): Likewise.
4320         (cris_software_single_step): Likewise.
4321         * ctf.c (ctf_fetch_registers): Likewise.
4322         * darwin-nat.c (cancel_breakpoint): Likewise.
4323         * fbsd-tdep.c (fbsd_collect_thread_registers): Likewise.
4324         * frv-tdep.c (frv_extract_return_value): Likewise.
4325         * ft32-tdep.c (ft32_store_return_value): Likewise.
4326         (ft32_extract_return_value): Likewise.
4327         * go32-nat.c (fetch_register): Likewise.
4328         (go32_fetch_registers): Likewise.
4329         (go32_store_registers): Likewise.
4330         (store_register): Likewise.
4331         * h8300-tdep.c (h8300_extract_return_value): Likewise.
4332         (h8300_store_return_value): Likewise.
4333         * hppa-linux-nat.c (fetch_register): Likewise.
4334         (store_register): Likewise.
4335         (hppa_linux_fetch_inferior_registers): Likewise.
4336         (hppa_linux_store_inferior_registers): Likewise.
4337         * i386-darwin-nat.c (i386_darwin_fetch_inferior_registers): Likewise.
4338         (i386_darwin_store_inferior_registers): Likewise.
4339         * i386-gnu-nat.c (gnu_fetch_registers): Likewise.
4340         (gnu_store_registers): Likewise.
4341         * i386-linux-nat.c (fetch_register): Likewise.
4342         (store_register): Likewise.
4343         (supply_gregset): Likewise.
4344         (fill_gregset): Likewise.
4345         (i386_linux_fetch_inferior_registers): Likewise.
4346         (i386_linux_store_inferior_registers): Likewise.
4347         (i386_linux_resume): Likewise.
4348         * i386-linux-tdep.c (i386_linux_get_syscall_number_from_regcache):
4349         Likewise.
4350         * i386-nto-tdep.c (i386nto_supply_gregset): Likewise.
4351         * i386-obsd-nat.c (i386obsd_supply_pcb): Likewise.
4352         * i386-obsd-tdep.c (i386obsd_supply_uthread): Likewise.
4353         (i386obsd_collect_uthread): Likewise.
4354         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
4355         (i386_supply_gregset): Likewise.
4356         (i386_collect_gregset): Likewise.
4357         (i386_supply_fpregset): Likewise.
4358         (i386_collect_fpregset): Likewise.
4359         (i386_mpx_bd_base): Likewise.
4360         * i386-v4-nat.c (supply_fpregset): Likewise.
4361         (fill_fpregset): Likewise.
4362         * i387-tdep.c (i387_supply_fsave): Likewise.
4363         (i387_collect_fsave): Likewise.
4364         (i387_supply_fxsave): Likewise.
4365         (i387_collect_fxsave): Likewise.
4366         (i387_supply_xsave): Likewise.
4367         (i387_collect_xsave): Likewise.
4368         * ia64-linux-nat.c (ia64_linux_fetch_registers): Likewise.
4369         (ia64_linux_store_registers): Likewise.
4370         * ia64-tdep.c (ia64_access_rse_reg): Likewise.
4371         (ia64_extract_return_value): Likewise.
4372         (ia64_store_return_value): Likewise.
4373         (find_func_descr): Likewise.
4374         * inf-child.c (inf_child_fetch_inferior_registers): Likewise.
4375         * inf-ptrace.c (inf_ptrace_fetch_registers): Likewise.
4376         (inf_ptrace_store_registers): Likewise.
4377         * infrun.c (use_displaced_stepping): Likewise.
4378         (displaced_step_prepare_throw): Likewise.
4379         (resume): Likewise.
4380         (proceed): Likewise.
4381         (do_target_wait): Likewise.
4382         (adjust_pc_after_break): Likewise.
4383         (handle_inferior_event_1): Likewise.
4384         (handle_signal_stop): Likewise.
4385         (save_infcall_suspend_state): Likewise.
4386         (restore_infcall_suspend_state): Likewise.
4387         * iq2000-tdep.c (iq2000_extract_return_value): Likewise.
4388         * jit.c (jit_frame_prev_register): Likewise.
4389         * linux-nat.c (save_stop_reason): Likewise.
4390         (linux_nat_wait_1): Likewise.
4391         (resume_stopped_resumed_lwps): Likewise.
4392         * linux-record.c (record_linux_sockaddr): Likewise.
4393         (record_linux_msghdr): Likewise.
4394         (record_linux_system_call): Likewise.
4395         * linux-tdep.c (linux_collect_thread_registers): Likewise.
4396         * lm32-tdep.c (lm32_extract_return_value): Likewise.
4397         (lm32_store_return_value): Likewise.
4398         * m32c-tdep.c (m32c_read_flg): Likewise.
4399         (m32c_pseudo_register_read): Likewise.
4400         (m32c_pseudo_register_write): Likewise.
4401         * m32r-linux-tdep.c (m32r_linux_supply_gregset): Likewise.
4402         (m32r_linux_collect_gregset): Likewise.
4403         * m32r-tdep.c (m32r_store_return_value): Likewise.
4404         (m32r_extract_return_value): Likewise.
4405         * m68k-bsd-nat.c (m68kbsd_supply_fpregset): Likewise.
4406         (m68kbsd_collect_fpregset): Likewise.
4407         * m68k-bsd-tdep.c (m68kbsd_supply_fpregset): Likewise.
4408         * m68k-linux-nat.c (fetch_register): Likewise.
4409         (old_fetch_inferior_registers): Likewise.
4410         (old_store_inferior_registers): Likewise.
4411         (store_regs): Likewise.
4412         * m68k-tdep.c (m68k_svr4_extract_return_value): Likewise.
4413         (m68k_svr4_store_return_value): Likewise.
4414         * m88k-tdep.c (m88k_store_arguments): Likewise.
4415         * mi/mi-main.c (mi_cmd_data_list_changed_registers): Likewise.
4416         (mi_cmd_data_write_register_values): Likewise.
4417         * mips-fbsd-nat.c (mips_fbsd_fetch_inferior_registers): Likewise.
4418         (mips_fbsd_store_inferior_registers): Likewise.
4419         * mips-fbsd-tdep.c (mips_fbsd_supply_fpregs): Likewise.
4420         (mips_fbsd_supply_gregs): Likewise.
4421         (mips_fbsd_collect_fpregs): Likewise.
4422         (mips_fbsd_collect_gregs): Likewise.
4423         (mips_fbsd_supply_fpregset): Likewise.
4424         (mips_fbsd_collect_fpregset): Likewise.
4425         (mips_fbsd_supply_gregset): Likewise.
4426         (mips_fbsd_collect_gregset): Likewise.
4427         * mips-linux-nat.c (supply_gregset): Likewise.
4428         (fill_gregset): Likewise.
4429         (supply_fpregset): Likewise.
4430         (fill_fpregset): Likewise.
4431         * mips-linux-tdep.c (mips_supply_gregset): Likewise.
4432         (mips_fill_gregset): Likewise.
4433         (mips_supply_fpregset): Likewise.
4434         (mips_fill_fpregset): Likewise.
4435         (mips64_supply_gregset): Likewise.
4436         (micromips_linux_sigframe_validate): Likewise.
4437         * mips-nbsd-nat.c (mipsnbsd_fetch_inferior_registers): Likewise.
4438         (mipsnbsd_fetch_inferior_registers): Likewise.
4439         (mipsnbsd_store_inferior_registers): Likewise.
4440         * mips-nbsd-tdep.c (mipsnbsd_supply_fpregset): Likewise.
4441         (mipsnbsd_supply_gregset): Likewise.
4442         (mipsnbsd_iterate_over_regset_sections): Likewise.
4443         (mipsnbsd_supply_reg): Likewise.
4444         (mipsnbsd_supply_fpreg): Likewise.
4445         * mips-tdep.c (mips_in_frame_stub): Likewise.
4446         (mips_dummy_id): Likewise.
4447         (is_octeon_bbit_op): Likewise.
4448         (micromips_bc1_pc): Likewise.
4449         (extended_mips16_next_pc): Likewise.
4450         (mips16_next_pc): Likewise.
4451         (deal_with_atomic_sequence): Likewise.
4452         * moxie-tdep.c (moxie_process_readu): Likewise.
4453         * nios2-tdep.c (nios2_get_next_pc): Likewise.
4454         * nto-procfs.c (procfs_store_registers): Likewise.
4455         * ppc-fbsd-nat.c (ppcfbsd_fetch_inferior_registers): Likewise.
4456         (ppcfbsd_store_inferior_registers): Likewise.
4457         * ppc-linux-nat.c (fetch_vsx_register): Likewise.
4458         (fetch_altivec_register): Likewise.
4459         (get_spe_registers): Likewise.
4460         (fetch_spe_register): Likewise.
4461         (fetch_altivec_registers): Likewise.
4462         (fetch_all_gp_regs): Likewise.
4463         (fetch_all_fp_regs): Likewise.
4464         (store_vsx_register): Likewise.
4465         (store_altivec_register): Likewise.
4466         (set_spe_registers): Likewise.
4467         (store_spe_register): Likewise.
4468         (store_altivec_registers): Likewise.
4469         (store_all_gp_regs): Likewise.
4470         (store_all_fp_regs): Likewise.
4471         * ppc-linux-tdep.c (ppc_linux_supply_gregset): Likewise.
4472         (ppc_linux_collect_gregset): Likewise.
4473         (ppc_canonicalize_syscall): Likewise.
4474         (ppc_linux_record_signal): Likewise.
4475         (ppu2spu_prev_register): Likewise.
4476         * ppc-nbsd-nat.c (ppcnbsd_supply_pcb): Likewise.
4477         * ppc-obsd-nat.c (ppcobsd_fetch_registers): Likewise.
4478         (ppcobsd_store_registers): Likewise.
4479         * ppc-ravenscar-thread.c (ppc_ravenscar_generic_fetch_registers):
4480         Likewise.
4481         (ppc_ravenscar_generic_store_registers): Likewise.
4482         * procfs.c (procfs_fetch_registers): Likewise.
4483         (procfs_store_registers): Likewise.
4484         * ravenscar-thread.c (ravenscar_fetch_registers): Likewise.
4485         (ravenscar_store_registers): Likewise.
4486         (ravenscar_prepare_to_store): Likewise.
4487         * record-btrace.c (record_btrace_fetch_registers): Likewise.
4488         * record-full.c (record_full_wait_1): Likewise.
4489         (record_full_registers_change): Likewise.
4490         (record_full_store_registers): Likewise.
4491         (record_full_core_fetch_registers): Likewise.
4492         (record_full_save): Likewise.
4493         (record_full_goto_insn): Likewise.
4494         * regcache.c (regcache_register_size): Likewise.
4495         (get_regcache_arch): Remove.
4496         (regcache_read_pc): Likewise.
4497         * regcache.h (get_regcache_arch): Remove.
4498         * remote-sim.c (gdbsim_fetch_register): Likewise.
4499         (gdbsim_store_register): Likewise.
4500         * remote.c (fetch_register_using_p): Likewise.
4501         (send_g_packet): Likewise.
4502         (remote_prepare_to_store): Likewise.
4503         (store_registers_using_G): Likewise.
4504         * reverse.c (save_bookmark_command): Likewise.
4505         (goto_bookmark_command): Likewise.
4506         * rs6000-aix-tdep.c (branch_dest): Likewise.
4507         * rs6000-nat.c (rs6000_ptrace64): Likewise.
4508         (fetch_register): Likewise.
4509         * rs6000-tdep.c (ppc_supply_reg): Likewise.
4510         (ppc_collect_reg): Likewise.
4511         (ppc_collect_gregset): Likewise.
4512         (ppc_collect_fpregset): Likewise.
4513         (ppc_collect_vsxregset): Likewise.
4514         (ppc_collect_vrregset): Likewise.
4515         (ppc_displaced_step_hw_singlestep): Likewise.
4516         (rs6000_pseudo_register_read): Likewise.
4517         (rs6000_pseudo_register_write): Likewise.
4518         * s390-linux-nat.c (supply_gregset): Likewise.
4519         (fill_gregset): Likewise.
4520         (s390_linux_fetch_inferior_registers): Likewise.
4521         * s390-linux-tdep.c (s390_write_pc): Likewise.
4522         (s390_software_single_step): Likewise.
4523         (s390_all_but_pc_registers_record): Likewise.
4524         (s390_linux_syscall_record): Likewise.
4525         * sentinel-frame.c (sentinel_frame_prev_arch): Likewise.
4526         * sh-nbsd-nat.c (shnbsd_fetch_inferior_registers): Likewise.
4527         (shnbsd_store_inferior_registers): Likewise.
4528         * sh-tdep.c (sh_extract_return_value_nofpu): Likewise.
4529         (sh_extract_return_value_fpu): Likewise.
4530         (sh_store_return_value_nofpu): Likewise.
4531         (sh_corefile_supply_regset): Likewise.
4532         (sh_corefile_collect_regset): Likewise.
4533         * sh64-tdep.c (sh64_extract_return_value): Likewise.
4534         (sh64_store_return_value): Likewise.
4535         * sparc-linux-tdep.c (sparc32_linux_collect_core_fpregset): Likewise.
4536         * sparc-nat.c (sparc_fetch_inferior_registers): Likewise.
4537         (sparc_store_inferior_registers): Likewise.
4538         * sparc-ravenscar-thread.c (register_in_thread_descriptor_p): Likewise.
4539         (sparc_ravenscar_prepare_to_store): Likewise.
4540         * sparc-tdep.c (sparc32_store_arguments): Likewise.
4541         (sparc_analyze_control_transfer): Likewise.
4542         (sparc_step_trap): Likewise.
4543         (sparc_software_single_step): Likewise.
4544         (sparc32_gdbarch_init): Likewise.
4545         (sparc_supply_rwindow): Likewise.
4546         (sparc_collect_rwindow): Likewise.
4547         * sparc64-linux-tdep.c (sparc64_linux_collect_core_fpregset): Likewise.
4548         * sparc64-nbsd-nat.c (sparc64nbsd_supply_gregset): Likewise.
4549         (sparc64nbsd_collect_gregset): Likewise.
4550         (sparc64nbsd_supply_fpregset): Likewise.
4551         (sparc64nbsd_collect_fpregset): Likewise.
4552         * sparc64-tdep.c (sparc64_store_arguments): Likewise.
4553         (sparc64_supply_gregset): Likewise.
4554         (sparc64_collect_gregset): Likewise.
4555         (sparc64_supply_fpregset): Likewise.
4556         (sparc64_collect_fpregset): Likewise.
4557         * spu-linux-nat.c (spu_fetch_inferior_registers): Likewise.
4558         * spu-tdep.c (spu_unwind_sp): Likewise.
4559         (spu2ppu_prev_register): Likewise.
4560         (spu_memory_remove_breakpoint): Likewise.
4561         * stack.c (return_command): Likewise.
4562         * tic6x-tdep.c (tic6x_extract_signed_field): Likewise.
4563         * tracefile-tfile.c (tfile_fetch_registers): Likewise.
4564         * tracefile.c (trace_save_ctf): Likewise.
4565         * windows-nat.c (do_windows_fetch_inferior_registers): Likewise.
4566         (do_windows_store_inferior_registers): Likewise.
4567         (windows_resume): Likewise.
4568         * xtensa-linux-nat.c (fill_gregset): Likewise.
4569         (supply_gregset_reg): Likewise.
4570         * xtensa-tdep.c (xtensa_register_write_masked): Likewise.
4571         (xtensa_register_read_masked): Likewise.
4572         (xtensa_supply_gregset): Likewise.
4573         (xtensa_extract_return_value): Likewise.
4574         (xtensa_store_return_value): Likewise.
4575
4576 2017-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
4577
4578         * doublest.c (floatformat_from_string): New function.
4579         * doublest.h (floatformat_from_string): Add prototype.
4580
4581         * std-operator.def (OP_DOUBLE, OP_DECFLOAT): Remove, replace by ...
4582         (OP_FLOAT): ... this.
4583         * expression.h: Do not include "doublest.h".
4584         (union exp_element): Replace doubleconst and decfloatconst by
4585         new element floatconst.
4586         * ada-lang.c (resolve_subexp): Handle OP_FLOAT instead of OP_DOUBLE.
4587         (ada_evaluate_subexp): Likewise.
4588         * eval.c (evaluate_subexp_standard): Handle OP_FLOAT instead of
4589         OP_DOUBLE and OP_DECFLOAT.
4590         * expprint.c (print_subexp_standard): Likewise.
4591         (dump_subexp_body_standard): Likewise.
4592         * breakpoint.c (watchpoint_exp_is_const): Likewise.
4593
4594         * parse.c: Include "dfp.h".
4595         (write_exp_elt_dblcst, write_exp_elt_decfloatcst): Remove.
4596         (write_exp_elt_floatcst): New function.
4597         (operator_length_standard): Handle OP_FLOAT instead of OP_DOUBLE
4598         and OP_DECFLOAT.
4599         (operator_check_standard): Likewise.
4600         (parse_float): Do not accept suffix.  Take type as input.  Return bool.
4601         Return target format buffer instead of host DOUBLEST.
4602         Use floatformat_from_string and decimal_from_string to parse
4603         either binary or decimal floating-point types.
4604         (parse_c_float): Remove.
4605         * parser-defs.h: Do not include "doublest.h".
4606         (write_exp_elt_dblcst, write_exp_elt_decfloatcst): Remove.
4607         (write_exp_elt_floatcst): Add prototype.
4608         (parse_float): Update prototype.
4609         (parse_c_float): Remove.
4610
4611         * c-exp.y: Do not include "dfp.h".
4612         (typed_val_float): Use byte buffer instead of DOUBLEST.
4613         (typed_val_decfloat): Remove.
4614         (DECFLOAT): Remove.
4615         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4616         (parse_number): Update to new parse_float interface.
4617         Parse suffixes and determine type before calling parse_float.
4618         Handle decimal and binary FP types the same way.
4619
4620         * d-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4621         (FLOAT_LITERAL): Use OP_FLOAT and write_exp_elt_floatcst.
4622         (parse_number): Update to new parse_float interface.
4623         Parse suffixes and determine type before calling parse_float.
4624
4625         * f-exp.y: Replace dval by typed_val_float.
4626         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4627         (parse_number): Use parse_float instead of atof.
4628
4629         * go-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4630         (parse_go_float): Remove.
4631         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4632         (parse_number): Call parse_float instead of parse_go_float.
4633         Parse suffixes and determine type before calling parse_float.
4634
4635         * p-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4636         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4637         (parse_number): Update to new parse_float interface.
4638         Parse suffixes and determine type before calling parse_float.
4639
4640         * m2-exp.y: Replace dval by byte buffer val.
4641         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4642         (parse_number): Call parse_float instead of atof.
4643
4644         * rust-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4645         (lex_number): Call parse_float instead of strtod.
4646         (ast_dliteral): Use OP_FLOAT instead of OP_DOUBLE.
4647         (convert_ast_to_expression): Handle OP_FLOAT instead of OP_DOUBLE.
4648         Use write_exp_elt_floatcst.
4649         (unit_testing): Remove static variable.
4650         (rust_type): Do not check unit_testing.
4651         (rust_lex_tests): Do not set uint_testing.  Set up dummy rust_parser.
4652
4653         * ada-exp.y (type_float, type_double): Remove.
4654         (typed_val_float): Use byte buffer instead of DOUBLEST.
4655         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4656         * ada-lex.l (processReal): Use parse_float instead of sscanf.
4657
4658 2017-10-25  Alan Hayward  <alan.hayward@arm.com>
4659
4660         * aarch64-tdep.h (enum aarch64_regnum): Remove.
4661         * arch/aarch64.h: New file.
4662
4663 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4664
4665         * dfp.h (decimal_from_string): Use const reference for argument.
4666         * dfp.c (decimal_from_string): Likewise.
4667
4668 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4669
4670         * i387-tdep.c (print_i387_value): Use floatformat_to_string.
4671         * sh64-tdep.c (sh64_do_fp_register): Likewise.
4672         * mips-tdep.c (mips_print_fp_register): Likewise.
4673
4674 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4675
4676         * common/format.h (enum argclass): Replace decfloat_arg by
4677         dec32float_arg, dec64float_arg, and dec128float_arg.
4678         * common/format.c (parse_format_string): Update to return
4679         new decimal float argument classes.
4680
4681         * printcmd.c (printf_decfloat): Rename to ...
4682         (printf_floating): ... this.  Add argclass argument, and use it
4683         instead of parsing the format string again.  Add support for
4684         binary floating-point values, using floatformat_to_string.
4685         Convert value to the target format if it doesn't already match.
4686         (ui_printf): Call printf_floating instead of printf_decfloat,
4687         also for double_arg / long_double_arg.  Pass argclass.
4688
4689         * dfp.c (decimal_to_string): Add format string argument.
4690         * dfp.h (decimal_to_string): Likewise.
4691
4692         * doublest.c (floatformat_to_string): Add format string argument.
4693         * doublest.h (floatformat_to_string): Likewise.
4694
4695 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4696
4697         * doublest.c (floatformat_precision): New routine.
4698         (floatformat_to_string): Likewise.
4699         * doublest.c (floatformat_to_string): Add prototype.
4700
4701         * printcmd.c (print_scalar_formatted): Only call print_floating
4702         on floating-point types.
4703         * valprint.c: Do not include "floatformat.h".
4704         (generic_val_print_decfloat): Remove.
4705         (generic_val_print): Call generic_val_print_float for both
4706         TYPE_CODE_FLT and TYPE_CODE_DECFLOAT.
4707         (print_floating): Use floatformat_to_string.  Handle decimal float.
4708         (print_decimal_floating): Remove, merge into floatformat_to_string.
4709         * value.h (print_decimal_floating): Remove.
4710
4711         * Makefile.in: Do not build doublest.c with -Wformat-nonliteral.
4712
4713 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4714
4715         * buildsym.c (end_symtab_get_static_block): Use std::stable_sort.
4716
4717 2017-10-21  Simon Marchi  <simon.marchi@ericsson.com>
4718
4719         * memattr.h: Don't include vec.h.
4720         (struct mem_attrib): Initialize fields.
4721         <unknown>: New static method.
4722         (struct mem_region): Add constructors, operator<, initialize
4723         fields.
4724         * memattr.c: Include algorithm.
4725         (default_mem_attrib, unknown_mem_attrib): Remove.
4726         (user_mem_region_list): New global.
4727         (target_mem_region_list, mem_region_list): Change type to
4728         std::vector<mem_region>.
4729         (mem_use_target): Now a function.
4730         (target_mem_regions_valid): Change type to bool.
4731         (mem_region_lessthan, mem_region_cmp, mem_region_init): Remove.
4732         (require_user_regions): Adjust.
4733         (require_target_regions): Adjust.
4734         (create_mem_region): Adjust.
4735         (lookup_mem_region): Adjust.
4736         (invalidate_target_mem_regions): Adjust.
4737         (mem_clear): Rename to...
4738         (user_mem_clear): ... this, and adjust.
4739         (mem_command): Adjust.
4740         (info_mem_command): Adjust.
4741         (mem_enable, enable_mem_command, mem_disable,
4742         disable_mem_command): Adjust.
4743         (mem_delete): Adjust.
4744         (delete_mem_command): Adjust.
4745         * memory-map.h (parse_memory_map): Return an std::vector.
4746         * memory-map.c (parse_memory_map): Likewise.
4747         (struct memory_map_parsing_data): Add constructor.
4748         <memory_map>: Point to std::vector.
4749         (memory_map_start_memory): Adjust.
4750         (memory_map_end_memory): Adjust.
4751         (memory_map_end_property): Adjust.
4752         (clear_result): Remove.
4753         * remote.c (remote_memory_map): Return an std::vector.
4754         * target-debug.h (target_debug_print_VEC_mem_region_s__p):
4755         Remove.
4756         (target_debug_print_mem_region_vector): New.
4757         * target-delegates.c: Regenerate.
4758         * target.h (mem_region_vector): New typedef.
4759         (to_memory_map): Return mem_region_vector.
4760         (target_memory_map): Return an std::vector.
4761         * target.c (target_memory_map): Return an std::vector.
4762         (flash_erase_command): Adjust.
4763
4764 2017-10-21  Simon Marchi  <simon.marchi@ericsson.com>
4765
4766         * memory-map.c (struct memory_map_parsing_data) <property_name>:
4767         Change type to std::string.
4768         (memory_map_start_property): Adjust.
4769         (memory_map_end_property): Adjust.
4770
4771 2017-10-21  Simon Marchi  <simon.marchi@polymtl.ca>
4772
4773         * infrun.h: Include common/byte-vector.h.
4774         (struct displaced_step_closure): New struct.
4775         (struct buf_displaced_step_closure): New struct.
4776         * infrun.c (displaced_step_closure::~displaced_step_closure):
4777         Provide default implementation.
4778         (displaced_step_clear): Deallocate step closure with delete.
4779         * aarch64-tdep.c (displaced_step_closure): Rename to ...
4780         (aarch64_displaced_step_closure): ... this, extend
4781         displaced_step_closure.
4782         (aarch64_displaced_step_data) <dsc>: Change type to
4783         aarch64_displaced_step_closure.
4784         (aarch64_displaced_step_copy_insn): Adjust to type change, use
4785         unique_ptr.
4786         (aarch64_displaced_step_fixup): Add cast for displaced step
4787         closure.
4788         * amd64-tdep.c (displaced_step_closure): Rename to ...
4789         (amd64_displaced_step_closure): ... this, extend
4790         displaced_step_closure.
4791         <insn_buf>: Change type to std::vector<gdb_byte>.
4792         <max_len>: Remove.
4793         (fixup_riprel): Change type of DSC parameter, adjust to type
4794         change of insn_buf.
4795         (fixup_displaced_copy): Change type of DSC parameter.
4796         (amd64_displaced_step_copy_insn): Instantiate
4797         amd64_displaced_step_closure.
4798         (amd64_displaced_step_fixup): Add cast for closure type, adjust
4799         to type change of insn_buf.
4800         * arm-linux-tdep.c (arm_linux_cleanup_svc): Change type of
4801         parameter DSC.
4802         (arm_linux_copy_svc): Likewise.
4803         (cleanup_kernel_helper_return): Likewise.
4804         (arm_catch_kernel_helper_return): Likewise.
4805         (arm_linux_displaced_step_copy_insn): Instantiate
4806         arm_displaced_step_closure.
4807         * arm-tdep.c (arm_pc_is_thumb): Add cast for closure.
4808         (displaced_read_reg): Change type of parameter DSC.
4809         (branch_write_pc): Likewise.
4810         (load_write_pc): Likewise.
4811         (alu_write_pc): Likewise.
4812         (displaced_write_reg): Likewise.
4813         (arm_copy_unmodified): Likewise.
4814         (thumb_copy_unmodified_32bit): Likewise.
4815         (thumb_copy_unmodified_16bit): Likewise.
4816         (cleanup_preload): Likewise.
4817         (install_preload): Likewise.
4818         (arm_copy_preload): Likewise.
4819         (thumb2_copy_preload): Likewise.
4820         (install_preload_reg): Likewise.
4821         (arm_copy_preload_reg): Likewise.
4822         (cleanup_copro_load_store): Likewise.
4823         (install_copro_load_store): Likewise.
4824         (arm_copy_copro_load_store) Likewise.
4825         (thumb2_copy_copro_load_store): Likewise.
4826         (cleanup_branch): Likewise.
4827         (install_b_bl_blx): Likewise.
4828         (arm_copy_b_bl_blx): Likewise.
4829         (thumb2_copy_b_bl_blx): Likewise.
4830         (thumb_copy_b): Likewise.
4831         (install_bx_blx_reg): Likewise.
4832         (arm_copy_bx_blx_reg): Likewise.
4833         (thumb_copy_bx_blx_reg): Likewise.
4834         (cleanup_alu_imm): Likewise.
4835         (arm_copy_alu_imm): Likewise.
4836         (thumb2_copy_alu_imm): Likewise.
4837         (cleanup_alu_reg): Likewise.
4838         (install_alu_reg): Likewise.
4839         (arm_copy_alu_reg): Likewise.
4840         (thumb_copy_alu_reg): Likewise.
4841         (cleanup_alu_shifted_reg): Likewise.
4842         (install_alu_shifted_reg): Likewise.
4843         (arm_copy_alu_shifted_reg): Likewise.
4844         (cleanup_load): Likewise.
4845         (cleanup_store): Likewise.
4846         (arm_copy_extra_ld_st): Likewise.
4847         (install_load_store): Likewise.
4848         (thumb2_copy_load_literal): Likewise.
4849         (thumb2_copy_load_reg_imm): Likewise.
4850         (arm_copy_ldr_str_ldrb_strb): Likewise.
4851         (cleanup_block_load_all): Likewise.
4852         (cleanup_block_store_pc): Likewise.
4853         (cleanup_block_load_pc): Likewise.
4854         (arm_copy_block_xfer): Likewise.
4855         (thumb2_copy_block_xfer): Likewise.
4856         (cleanup_svc): Likewise.
4857         (install_svc): Likewise.
4858         (arm_copy_svc): Likewise.
4859         (thumb_copy_svc): Likewise.
4860         (arm_copy_undef): Likewise.
4861         (thumb_32bit_copy_undef): Likewise.
4862         (arm_copy_unpred): Likewise.
4863         (arm_decode_misc_memhint_neon): Likewise.
4864         (arm_decode_unconditional): Likewise.
4865         (arm_decode_miscellaneous): Likewise.
4866         (arm_decode_dp_misc): Likewise.
4867         (arm_decode_ld_st_word_ubyte): Likewise.
4868         (arm_decode_media): Likewise.
4869         (arm_decode_b_bl_ldmstm): Likewise.
4870         (arm_decode_ext_reg_ld_st): Likewise.
4871         (thumb2_decode_dp_shift_reg): Likewise.
4872         (thumb2_decode_ext_reg_ld_st): Likewise.
4873         (arm_decode_svc_copro): Likewise.
4874         (thumb2_decode_svc_copro): Likewise.
4875         (install_pc_relative): Likewise.
4876         (thumb_copy_pc_relative_16bit): Likewise.
4877         (thumb_decode_pc_relative_16bit): Likewise.
4878         (thumb_copy_pc_relative_32bit): Likewise.
4879         (thumb_copy_16bit_ldr_literal): Likewise.
4880         (thumb_copy_cbnz_cbz): Likewise.
4881         (thumb2_copy_table_branch): Likewise.
4882         (cleanup_pop_pc_16bit_all): Likewise.
4883         (thumb_copy_pop_pc_16bit): Likewise.
4884         (thumb_process_displaced_16bit_insn): Likewise.
4885         (decode_thumb_32bit_ld_mem_hints): Likewise.
4886         (thumb_process_displaced_32bit_insn): Likewise.
4887         (thumb_process_displaced_insn): Likewise.
4888         (arm_process_displaced_insn): Likewise.
4889         (arm_displaced_init_closure): Likewise.
4890         (arm_displaced_step_fixup): Add cast for closure.
4891         * arm-tdep.h: Include infrun.h.
4892         (displaced_step_closure): Rename to ...
4893         (arm_displaced_step_closure): ... this, extend
4894         displaced_step_closure.
4895         <u::svc::copy_svc_os>: Change type of parameter DSC.
4896         <cleanup>: Likewise.
4897         (arm_process_displaced_insn): Likewise.
4898         (arm_displaced_init_closure): Likewise.
4899         (displaced_read_reg): Likewise.
4900         (displaced_write_reg): Likewise.
4901         * i386-linux-tdep.c (i386_linux_displaced_step_copy_insn):
4902         Adjust.
4903         * i386-tdep.h: Include infrun.h.
4904         (i386_displaced_step_closure): New typedef.
4905         * i386-tdep.c (i386_displaced_step_copy_insn): Use
4906         i386_displaced_step_closure.
4907         (i386_displaced_step_fixup): Adjust.
4908         * rs6000-tdep.c (ppc_displaced_step_closure): New typedef.
4909         (ppc_displaced_step_copy_insn): Use ppc_displaced_step_closure
4910         and unique_ptr.
4911         (ppc_displaced_step_fixup): Adjust.
4912         * s390-linux-tdep.c (s390_displaced_step_closure): New typedef.
4913         (s390_displaced_step_copy_insn): Use s390_displaced_step_closure
4914         and unique_ptr.
4915         (s390_displaced_step_fixup): Adjust.
4916
4917 2017-10-21  Simon Marchi  <simon.marchi@polymtl.ca>
4918
4919         * interps.h (interp_resume, interp_suspend, interp_set_temp):
4920         Remove declarations.
4921
4922 2017-10-20  Tom Tromey  <tom@tromey.com>
4923
4924         * gdb_bfd.c (struct gdb_bfd_data) <included_bfds>: Now a
4925         std::vector.
4926         (gdb_bfd_record_inclusion): Update.
4927         (bfdp): Remove typedef.
4928
4929 2017-10-20  Tom Tromey  <tom@tromey.com>
4930
4931         * gdb_bfd.c (gdb_bfd_ref): Use new.
4932         (struct gdb_bfd_data): Add constructor, destructor, and member
4933         initializers.
4934         (gdb_bfd_unref): Use delete.
4935
4936 2017-10-20  Tom Tromey  <tom@tromey.com>
4937
4938         * exec.c (exec_file_attach): Use new_bfd_ref.
4939         * symfile-mem.c (symbol_file_add_from_memory): Use new_bfd_ref.
4940         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
4941         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_fdopenr): Use
4942         new_bfd_ref.
4943         * gdb_bfd.h (new_bfd_ref): New function.
4944
4945 2017-10-20  Pedro Alves  <palves@redhat.com>
4946
4947         * main.c (captured_command_loop): Add attribute noinline.
4948
4949 2017-10-19  Simon Marchi  <simon.marchi@ericsson.com>
4950
4951         * interps.c (struct interp_factory): Add constructor.
4952         (interp_factory_p): Remove typedef.
4953         (DEF_VEC_P(interp_factory_p)): Remove.
4954         (interpreter_factories): Change type to std::vector.
4955         (interp_factory_register): Adjust.
4956         (interp_lookup): Adjust.
4957         (interpreter_completer): Adjust.
4958
4959 2017-10-19  Tom Tromey  <tom@tromey.com>
4960
4961         * break-catch-syscall.c (catch_syscall_completer): Use
4962         std::string, gdb::unique_xmalloc_ptr.
4963
4964 2017-10-19  Tom Tromey  <tom@tromey.com>
4965
4966         * infcall.c (call_function_by_hand_dummy): Use std::string.
4967
4968 2017-10-19  Tom Tromey  <tom@tromey.com>
4969
4970         * mi/mi-main.c (mi_cmd_execute): Update.
4971         * top.h (prepare_execute_command): Return scoped_value_mark.
4972         * value.h (class scoped_value_mark): Use DISABLE_COPY_AND_ASSIGN.
4973         Add move constructor.
4974         * top.c (prepare_execute_command): Return scoped_value_mark.
4975         (execute_command): Update.
4976
4977 2017-10-19  Pedro Alves  <palves@redhat.com>
4978
4979         * xml-support.c (xml_fetch_content_from_file): Check fread's
4980         return.
4981
4982 2017-10-19  Pedro Alves  <palves@redhat.com>
4983
4984         * ser-base.c (ser_base_read_error_fd): Delete the file handler if
4985         async.
4986         (handle_error_fd): New function.
4987         (ser_base_async): Add/delete an event loop file handler for
4988         error_fd.
4989
4990 2017-10-19  Pedro Alves  <palves@redhat.com>
4991
4992         * xml-support.c (xml_fetch_content_from_file): Don't read in
4993         chunks.  Instead use fseek to determine the file's size, and read
4994         it in one go.
4995
4996 2017-11-18  Keith Seitz  <keiths@redhat.com>
4997
4998         * c-exp.y (oper): Canonicalize conversion operators of user-defined
4999         types.
5000         Add whitespace to front of type name.
5001
5002 2017-10-18  Keith Seitz  <keiths@redhat.com>
5003
5004         * dwarf2read.c (dwarf2_add_typedef): Issue a complaint on unhandled
5005         DW_AT_accessibility.
5006
5007 2017-10-18  Yao Qi  <yao.qi@linaro.org>
5008
5009         * features/tic6x-c62x-linux.c: Remove.
5010
5011 2017-10-17  Tom Tromey  <tom@tromey.com>
5012
5013         * disasm.c (do_mixed_source_and_assembly_deprecated): Use
5014         gdb::optional, ui_out_emit_list, ui_out_emit_tuple.
5015         (do_mixed_source_and_assembly): Likewise.
5016
5017 2017-10-17  Tom Tromey  <tom@tromey.com>
5018
5019         * regcache.c (regcache::xfer_part): Remove assertion.
5020
5021 2017-10-17  Pedro Alves  <palves@redhat.com>
5022
5023         * xml-support.c (xml_fetch_content_from_file): Call
5024         unique_ptr::release() instead unique_ptr::get() when passing
5025         through xrealloc.
5026
5027 2017-10-17  Yao Qi  <yao.qi@linaro.org>
5028
5029         * regcache.c (regcache::xfer_part): Remove parameters read and
5030         write, add parameter is_raw.  All callers are updated.
5031
5032 2017-10-16  Keith Seitz  <keiths@redhat.com>
5033
5034         * c-typeprint.c (enum access_specifier): Moved here from
5035         c_type_print_base.
5036         (output_access_specifier): New function.
5037         (c_type_print_base): Consider typedefs when assessing
5038         whether access labels are needed.
5039         Use output_access_specifier as needed.
5040         Output access specifier for typedefs, if needed.
5041         * dwarf2read.c (dwarf2_add_typedef): Record DW_AT_accessibility.
5042         * gdbtypes.h (struct typedef_field) <is_protected, is_private>: New
5043         fields.
5044         (TYPE_TYPEDEF_FIELD_PROTECTED, TYPE_TYPEDEF_FIELD_PRIVATE): New
5045         accessor macros.
5046
5047 2017-10-16  Tom Tromey  <tom@tromey.com>
5048
5049         * linux-tdep.c (linux_info_proc, linux_find_memory_regions_full)
5050         (linux_fill_prpsinfo, linux_vsyscall_range_raw): Update.
5051         * target.c (target_fileio_read_stralloc): Update.
5052         * sparc64-tdep.c (adi_is_addr_mapped): Update.
5053         * target.h (target_fileio_read_stralloc): Return
5054         unique_xmalloc_ptr.
5055
5056 2017-10-16  Tom Tromey  <tom@tromey.com>
5057
5058         * xml-syscall.c (xml_init_syscalls_info): Update.
5059         * xml-support.c (xinclude_start_include): Update.
5060         (xml_fetch_content_from_file): Return unique_xmalloc_ptr.
5061         * xml-support.h (xml_fetch_another): Return unique_xmalloc_ptr.
5062         (xml_fetch_content_from_file): Likewise.
5063         * osdata.c (get_osdata): Update.
5064         * target.h (target_read_stralloc, target_get_osdata): Return
5065         unique_xmalloc_ptr.
5066         * solib-aix.c (solib_aix_get_library_list): Update.
5067         * solib-target.c (solib_target_current_sos): Update.
5068         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Update.
5069         * xml-tdesc.c (fetch_available_features_from_target): Update.
5070         (target_fetch_description_xml): Update.
5071         (file_read_description_xml): Update.
5072         * remote.c (remote_get_threads_with_qxfer, remote_memory_map)
5073         (remote_traceframe_info, btrace_read_config, remote_read_btrace)
5074         (remote_pid_to_exec_file): Update.
5075         * target.c (target_read_stralloc): Return unique_xmalloc_ptr.
5076         (target_get_osdata): Likewise.
5077
5078 2017-10-16  Tom Tromey  <tom@tromey.com>
5079
5080         * remote.c (remote_register_number_and_offset): Use std::vector.
5081         (remote_set_syscall_catchpoint): Use gdb::unique_xmalloc_ptr.
5082         (putpkt_binary): Use gdb::def_vector.
5083         (compare_sections_command): Use gdb::byte_vector.
5084
5085 2017-10-16  Tom Tromey  <tom@tromey.com>
5086
5087         * ppc-linux-nat.c (hwdebug_insert_point): Use
5088         gdb::unique_xmalloc_ptr, XDUP.
5089
5090 2017-10-16  Tom Tromey  <tom@tromey.com>
5091
5092         * probe.c (parse_probes): Use std::string.
5093         (info_probes_for_ops, enable_probes_command)
5094         (disable_probes_command): Remove cleanups.
5095
5096 2017-10-16  Tom Tromey  <tom@tromey.com>
5097
5098         * buildsym.c (block_compar): Remove.
5099         (end_symtab_get_static_block): Use std::vector.
5100
5101 2017-10-16  Simon Marchi  <simon.marchi@ericsson.com>
5102
5103         * memrange.h (struct mem_range): Define operator< and operator==.
5104         (mem_range_s): Remove.
5105         (DEF_VEC_O (mem_range_s)): Remove.
5106         (normalize_mem_ranges): Change parameter type to std::vector.
5107         * memrange.c (compare_mem_ranges): Remove.
5108         (normalize_mem_ranges): Change parameter type to std::vector,
5109         adjust to vector change.
5110         * exec.c (section_table_available_memory): Return vector, remove
5111         parameter.
5112         (section_table_read_available_memory): Adjust to std::vector
5113         change.
5114         * remote.c (remote_read_bytes): Adjust to std::vector
5115         change.
5116         * tracepoint.h (traceframe_available_memory): Change parameter
5117         type to std::vector.
5118         * tracepoint.c (traceframe_available_memory): Change parameter
5119         type to std::vector, adjust.
5120         * gdb/mi/mi-main.c (mi_cmd_trace_frame_collected): Adjust to
5121         std::vector change.
5122         * gdb/Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
5123         unittests/memrange-selftests.c.
5124         (SUBDIR_UNITTESTS_OBS): Add memrange-selftests.o.
5125         * gdb/unittests/memrange-selftests.c: New file.
5126
5127 2017-10-16  Pedro Alves  <palves@redhat.com>
5128
5129         * elfread.c (probe_key_free): Rename range-for variable.
5130         * probe.c (parse_probes_in_pspace, find_probes_in_objfile)
5131         (find_probe_by_pc, collect_probes): Rename range-for variable.
5132
5133 2017-10-16  Yao Qi  <yao.qi@linaro.org>
5134
5135         * features/Makefile (XMLTOC): Remove tic6x-*.xml.
5136         * features/tic6x-c62x.c: Remove.
5137         * features/tic6x-c64x-linux.c: Remove.
5138         * features/tic6x-c64x.c: Remove.
5139         * features/tic6x-c64xp-linux.c: Remove.
5140         * features/tic6x-c64xp.c: Remove.
5141         * tic6x-linux-tdep.c (_initialize_tic6x_linux_tdep): Don't call
5142         initialize_tdesc_tic6x_*_linux functions.
5143         * tic6x-tdep.c (_initialize_tic6x_tdep): Don't call
5144         initialize_tdesc_tic6x_* functions.
5145
5146 2017-10-16  Yao Qi  <yao.qi@linaro.org>
5147
5148         * features/Makefile (WHICH): Remove tic6x-c64xp, tic6x-c64x
5149         tic6x-c62x.
5150         * regformats/tic6x-c62x.dat: Remove.
5151         * regformats/tic6x-c64x.dat: Remove.
5152         * regformats/tic6x-c64xp.dat: Remove.
5153
5154 2017-10-15  Simon Marchi  <simon.marchi@ericsson.com>
5155
5156         * tracepoint.c (parse_traceframe_info): Return a unique_ptr
5157         (the !HAVE_LIBEXPAT version).
5158
5159 2017-10-14  Simon Marchi  <simon.marchi@ericsson.com>
5160
5161         * nat/linux-osdata.c (struct pid_pgid_entry) <operator<>: Make
5162         const.
5163
5164 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5165
5166         * target.h: Include tracepoint.h.
5167         (enum trace_find_type): Move to tracepoint.h.
5168         (struct target_ops) <to_traceframe_info>: Return a unique ptr.
5169         * tracepoint.h: Don't include target.h
5170         (enum trace_find_type): Move from target.h.
5171         (parse_traceframe_info): Return a unique ptr.
5172         * tracepoint.c (current_traceframe_info): Change type to unique
5173         ptr.
5174         (free_traceframe_info): Remove.
5175         (clear_traceframe_info): Don't manually free
5176         current_traceframe_info.
5177         (free_result): Remove.
5178         (parse_traceframe_info): Return a unique ptr.
5179         (get_traceframe_info): Adjust to unique ptr.
5180         * ctf.c (ctf_traceframe_info): Return a unique ptr.
5181         * remote.c (remote_traceframe_info): Return a unique ptr.
5182         * tracefile-tfile.c (tfile_traceframe_info): Return a unique
5183         ptr.
5184         * target-debug.h (target_debug_print_traceframe_info_up): New
5185         macro.
5186         * target-delegates.c: Regenerate.
5187
5188 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5189
5190         * memrange.h (struct mem_range): Add constructors.
5191         * tracepoint.h (struct traceframe_info) <memory>: Change type to
5192         std::vector<mem_range>.
5193         * tracepoint.c (free_traceframe_info): Don't manually free
5194         vector.
5195         (traceframe_info_start_memory): Adjust to vector change.
5196         (traceframe_available_memory): Likewise.
5197         * tracefile-tfile.c (build_traceframe_info): Likewise.
5198         * ctf.c (ctf_traceframe_info): Likewise.
5199
5200 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5201
5202         * tracepoint.h (struct traceframe_info) <tvars>: Change type to
5203         std::vector<int>.
5204         * tracepoint.c (free_traceframe_info): Deallocate with delete.
5205         (traceframe_info_start_tvar): Adjust to vector change.
5206         (parse_traceframe_info): Allocate with new.
5207         * ctf.c (ctf_traceframe_info): Allocate with new, adjust to
5208         vector change.
5209         * tracefile-tfile.c (build_traceframe_info): Adjust to vector
5210         change.
5211         tfile_traceframe_info): Allocate with new.
5212         * mi/mi-main.c (mi_cmd_trace_frame_collected): Adjust to vector
5213         change.
5214
5215 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5216
5217         * tracepoint.c (traceframe_info): Rename to...
5218         (current_traceframe_info): ...this.
5219         (clear_traceframe_info): Adjust.
5220         (get_traceframe_info): Adjust.
5221
5222 2017-10-14  Simon Marchi  <simon.marchi@ericsson.com>
5223
5224         * nat/linux-osdata.c: Include algorithm.
5225         (compare_processes): Remove.
5226         (struct pid_pgid_entry): New struct.
5227         (linux_xfer_osdata_processgroups): Use std::vector instead of
5228         XNEWVEC.
5229
5230 2017-10-14  Simon Marchi  <simon.marchi@ericsson.com>
5231
5232         * objfiles.h: Don't include symfile.h.
5233         (struct partial_symbol): Remove forward-declaration.
5234         (struct objfile) <global_psymbols, static_psymbols>: Change type
5235         to std::vector<partial_symbol *>.
5236         * objfiles.c (objfile::objfile): Don't memset those fields.
5237         (objfile::~objfile): Don't free those fields.
5238         * psympriv.h (struct psymbol_allocation_list): Remove
5239         forward-declaration.
5240         (add_psymbol_to_list): Change psymbol_allocation_list parameter
5241         to std::vector.
5242         (start_psymtab_common): Change parameters to std::vector.
5243         * psymtab.c: Include algorithm.
5244         (require_partial_symbols): Call shrink_to_fit.
5245         (find_pc_sect_psymbol): Adjust to vector change.
5246         (match_partial_symbol): Likewise.
5247         (lookup_partial_symbol): Likewise.
5248         (psym_relocate): Likewise.
5249         (dump_psymtab): Likewise.
5250         (recursively_search_psymtabs): Likewise.
5251         (compare_psymbols): Remove.
5252         (sort_pst_symbols): Adjust to vector change.
5253         (start_psymtab_common): Likewise.
5254         (end_psymtab_common): Likewise.
5255         (psymbol_bcache_full): De-constify return value.
5256         (add_psymbol_to_bcache): Likewise.
5257         (extend_psymbol_list): Remove.
5258         (append_psymbol_to_list): Adjust to vector change.
5259         (add_psymbol_to_list): Likewise.
5260         (init_psymbol_list): Likewise.
5261         (maintenance_info_psymtabs): Likewise.
5262         (maintenance_check_psymtabs): Likewise.
5263         * symfile.h (struct psymbol_allocation_list): Remove.
5264         * symfile.c (reread_symbols): Adjust to vector change.
5265         * dbxread.c (start_psymtab): Change type of parameters.
5266         (dbx_symfile_read): Adjust to vector change.
5267         (read_dbx_symtab): Likewise.
5268         (start_psymtab): Change type of parameters.
5269         * dwarf2read.c (dwarf2_build_psymtabs): Adjust to vector change.
5270         (create_partial_symtab): Likewise.
5271         (add_partial_symbol): Likewise.
5272         (write_one_signatured_type): Likewise.
5273         (recursively_write_psymbols): Likewise.
5274         * mdebugread.c (parse_partial_symbols): Likewise.
5275         * xcoffread.c (xcoff_start_psymtab): Change type of parameters.
5276         (scan_xcoff_symtab): Adjust to vector change.
5277         (xcoff_initial_scan): Likewise.
5278
5279 2017-10-13  Simon Marchi  <simon.marchi@ericsson.com>
5280
5281         * ada-typeprint.c (print_dynamic_range_bound): Use std::string.
5282
5283 2017-10-13  Yao Qi  <yao.qi@linaro.org>
5284
5285         * features/Makefile: Remove tic6x-*-expedite, add tic6x-expedite.
5286         Remove s390x-*-expedite, add s390x-expedite.
5287
5288 2017-10-13  Yao Qi  <yao.qi@linaro.org>
5289
5290         * features/s390-gs-linux64.c: Regenerated.
5291         * features/s390x-gs-linux64.c: Regenerated.
5292
5293 2017-10-13  Tom Tromey  <tom@tromey.com>
5294
5295         * compile/compile-object-run.c (do_module_cleanup): Use delete.
5296         * solib.c (update_solib_list, reload_shared_libraries_1): Use
5297         delete.
5298         * symfile.c (symbol_file_add_with_addrs): Use new.
5299         (symbol_file_add_separate): Update comment.
5300         (syms_from_objfile_1, remove_symbol_file_command): Use delete.
5301         * jit.c (jit_object_close_impl): Use new.
5302         (jit_unregister_code): Use delete.
5303         * objfiles.c (objfile::objfile): Rename from allocate_objfile.
5304         (~objfile): Rename from free_objfile.
5305         (free_objfile_separate_debug, do_free_objfile_cleanup)
5306         (free_all_objfiles, objfile_purge_solibs): Use delete.
5307         * objfiles.h (struct objfile): Add constructor and destructor.
5308         Use DISABLE_COPY_AND_ASSIGN.  Add initializers to data members.
5309         (allocate_objfile, free_objfile): Don't declare.
5310         (struct objstats): Add initializers.
5311
5312 2017-10-12  Simon Marchi  <simon.marchi@ericsson.com>
5313
5314         * arch-utils.h (simple_displaced_step_copy_insn): Remove.
5315         * arch-utils.c (simple_displaced_step_copy_insn): Remove.
5316         * gdbarch.sh (displaced_step_copy_insn): Adjust comment.
5317         * gdbarch.h: Regenerate.
5318         * i386-linux-tdep.c (i386_linux_displaced_step_copy_insn):
5319         Adjust comment.
5320         * i386-tdep.c (i386_displaced_step_copy_insn): Adjust comment.
5321         (i386_displaced_step_fixup): Adjust comment.
5322         * rs6000-tdep.c (ppc_displaced_step_copy_insn): Adjust comment.
5323
5324 2017-10-12  Tom Tromey  <tom@tromey.com>
5325
5326         * prologue-value.h (pv_area::store_would_trash): Return bool.
5327         (pv_area::find_reg): Likewise.
5328         * prologue-value.c (pv_area::store_would_trash): Return bool.
5329         (pv_area::find_reg): Likewise.
5330
5331 2017-10-12  Tom Tromey  <tom@tromey.com>
5332
5333         * s390-linux-tdep.c (s390_store, s390_load)
5334         (s390_check_for_saved, s390_analyze_prologue): Update.
5335         * rx-tdep.c (check_for_saved, rx_analyze_prologue): Update.
5336         * rl78-tdep.c (rl78_analyze_prologue, check_for_saved): Update.
5337         * prologue-value.h (class pv_area): Move from prologue-value.c.
5338         Change names of members.  Add constructor, destructor, member
5339         functions.
5340         (make_pv_area, free_pv_area, make_cleanup_free_pv_area)
5341         (pv_area_store, pv_area_fetch, pv_area_store_would_trash)
5342         (pv_area_fetch, pv_area_scan): Don't declare.
5343         * prologue-value.c (struct pv_area::area_entry): Now member of
5344         pv_area.
5345         (struct pv_area): Move to prologue-value.h.
5346         (pv_area::pv_area): Rename from make_pv_area.
5347         (pv_area::~pv_area): Rename from free_pv_area.
5348         (do_free_pv_area_cleanup, make_cleanup_free_pv_area): Remove.
5349         (clear_entries, find_entry, overlaps, store_would_trash, store)
5350         (fetch, find_reg, scan): Now member of pv_area.
5351         Remove "area" argument.  Update.
5352         * msp430-tdep.c (check_for_saved, msp430_analyze_prologue):
5353         Update.
5354         * mn10300-tdep.c (push_reg, check_for_saved)
5355         (mn10300_analyze_prologue): Update.
5356         * mep-tdep.c (is_arg_spill, check_for_saved)
5357         (mep_analyze_prologue): Update.
5358         * m32c-tdep.c (m32c_pv_push, m32c_srcdest_fetch)
5359         (m32c_srcdest_store, m32c_pv_enter, m32c_is_arg_spill)
5360         (m32c_is_struct_return, m32c_analyze_prologue): Update.
5361         * arm-tdep.c (thumb_analyze_prologue, arm_analyze_prologue):
5362         Update.
5363         * arc-tdep.c (arc_is_in_prologue, arc_analyze_prologue): Update.
5364         * aarch64-tdep.c (aarch64_analyze_prologue): Update.
5365
5366 2017-10-12  Simon Marchi  <simon.marchi@ericsson.com>
5367
5368         * linux-nat.h (linux_nat_set_delete_thread): New declaration.
5369         * linux-nat.c (linux_nat_delete_thread): New variable.
5370         (lwp_free): Invoke linux_nat_delete_thread if set.
5371         (linux_nat_set_delete_thread): New function.
5372         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Assign
5373         thread delete callback.
5374         * arm-linux-nat.c (arm_linux_delete_thread): New function.
5375         (_initialize_arm_linux_nat): Assign thread delete callback.
5376         * s390-linux-nat.c (s390_delete_thread): New function.
5377         (_initialize_s390_nat): Assign thread delete callback.
5378         * x86-linux-nat.c (x86_linux_add_target): Likewise.
5379         * nat/aarch64-linux.c (aarch64_linux_delete_thread): New
5380         function.
5381         * nat/aarch64-linux.h (aarch64_linux_delete_thread): New
5382         declaration.
5383         * nat/x86-linux.c (x86_linux_delete_thread): New function.
5384         * nat/x86-linux.h (x86_linux_delete_thread): New declaration.
5385
5386 2017-10-09  Tom Tromey  <tom@tromey.com>
5387
5388         * tui/tui-win.c (tui_set_win_height, parse_scrolling_args): Use
5389         std::string.
5390         * tui/tui-layout.c (enum tui_status): Use std::string.
5391
5392 2017-10-11  Tom Tromey  <tom@tromey.com>
5393
5394         * gdbthread.h (thread_command): Constify.
5395         * inferior.h (detach_command): Constify.
5396         * top.h (set_history, show_history): Constify.
5397         * arm-tdep.c (set_arm_command, show_arm_command): Constify.
5398         * serial.c (serial_set_cmd, serial_show_cmd): Constify.
5399         * bsd-kvm.c (bsd_kvm_cmd): Constify.
5400         * printcmd.c (set_command): Constify.
5401         (non_const_set_command): New function.
5402         * dcache.c (set_dcache_command, show_dcache_command): Constify.
5403         * breakpoint.c (enable_command, disable_command, delete_command)
5404         (catch_command, tcatch_command, set_breakpoint_cmd)
5405         (show_breakpoint_cmd): Constify.
5406         * macrocmd.c (macro_command): Constify.
5407         * infcmd.c (unset_command, kill_command, detach_command)
5408         (info_proc_cmd): Constify.
5409         * i386-tdep.c (set_mpx_cmd, show_mpx_cmd): Constify.
5410         * auto-load.c (show_auto_load_cmd, set_auto_load_cmd)
5411         (info_auto_load_cmd): Constify.
5412         * target-descriptions.c (set_tdesc_cmd, show_tdesc_cmd)
5413         (unset_tdesc_cmd): Constify.
5414         * ada-lang.c (set_ada_command, show_ada_command)
5415         (maint_set_ada_cmd, maint_show_ada_cmd): Constify.
5416         * guile/guile.c (set_guile_command, show_guile_command)
5417         (info_guile_command): Constify.
5418         * tui/tui-win.c (tui_command, set_tui_cmd, show_tui_cmd):
5419         Constify.
5420         * skip.c (skip_command): Constify.
5421         * compile/compile.c (_initialize_compile): Constify.
5422         * dwarf2read.c (set_dwarf_cmd, show_dwarf_cmd): Constify.
5423         * btrace.c (maint_btrace_cmd, maint_btrace_set_cmd)
5424         (maint_btrace_show_cmd, maint_btrace_pt_set_cmd)
5425         (maint_btrace_pt_show_cmd): Constify.
5426         * remote.c (set_remote_cmd, show_remote_cmd, remote_command):
5427         Constify.
5428         * python/python.c (user_show_python, user_set_python): Constify.
5429         * mips-tdep.c (set_mips_command, show_mips_command)
5430         (set_mipsfpu_command): Constify.
5431         * record-btrace.c (cmd_record_btrace_start)
5432         (cmd_set_record_btrace, cmd_show_record_btrace)
5433         (cmd_set_record_btrace_bts, cmd_show_record_btrace_bts)
5434         (cmd_set_record_btrace_pt, cmd_show_record_btrace_pt): Constify.
5435         * rs6000-tdep.c (set_powerpc_command, show_powerpc_command):
5436         Constify.
5437         * symfile.c (overlay_command): Constify.
5438         * spu-tdep.c (set_spu_command, show_spu_command): Constify.
5439         * cli/cli-logging.c (set_logging_command, show_logging_command):
5440         Constify.
5441         * cli/cli-dump.c (dump_command, append_command)
5442         (srec_dump_command, ihex_dump_command, verilog_dump_command)
5443         (tekhex_dump_command, binary_dump_command)
5444         (binary_append_command): Constify.
5445         * cli/cli-decode.c (struct cmd_list_element): Change type of
5446         "fun".
5447         * cli/cli-cmds.c (info_command, show_command, set_debug)
5448         (show_debug): Constify.
5449         (show_command): Add non-const overload.
5450         * top.c (set_history, show_history): Constify.
5451         * sh-tdep.c (set_sh_command, show_sh_command): Constify.
5452         * command.h (add_prefix_cmd): Accept a cmd_const_cfunc_ftype.
5453         * target.c (target_command): Constify.
5454         * sparc64-tdep.c (info_adi_command): Constify.
5455         * record-full.c (cmd_record_full_start): Constify.
5456         (set_record_full_command): Constify.  Fix typo.
5457         (show_record_full_command): Constify.
5458         * thread.c (thread_command, thread_apply_command): Constify.
5459         * memattr.c (dummy_cmd): Constify.
5460         * value.c (function_command): Constify.
5461         * frame.c (set_backtrace_cmd, show_backtrace_cmd): Constify.
5462         * probe.c (info_probes_command): Constify.
5463         * ser-tcp.c (set_tcp_cmd, show_tcp_cmd): Constify.
5464         * gnu-nat.c (set_task_cmd, show_task_cmd, set_thread_cmd)
5465         (show_thread_cmd, set_thread_default_cmd)
5466         (show_thread_default_cmd): Constify.
5467         (check_empty): Constify.
5468         * tracepoint.c (tfind_command): Constify.
5469         * cp-support.c (maint_cplus_command): Constify.
5470         * windows-tdep.c (info_w32_command): Constify.
5471         * record.c (cmd_record_start, set_record_command)
5472         (show_record_command, info_record_command, cmd_record_goto):
5473         Constify.
5474         * ravenscar-thread.c (set_ravenscar_command)
5475         (show_ravenscar_command): Constify.
5476         * utils.c (set_internal_problem_cmd, show_internal_problem_cmd):
5477         Constify.
5478         (add_internal_problem_command): Remove casts.
5479         * arc-tdep.c (maintenance_print_arc_command): Constify.
5480         * valprint.c (set_print, show_print, set_print_raw)
5481         (show_print_raw): Constify.
5482         * maint.c (maintenance_command, maintenance_info_command)
5483         (maintenance_print_command, maintenance_set_cmd)
5484         (maintenance_show_cmd, set_per_command_cmd)
5485         (show_per_command_cmd, maintenance_check_command): Constify.
5486         * language.c (set_check, show_check): Constify.
5487         * typeprint.c (show_print_type, set_print_type): Constify.
5488         * go32-nat.c (go32_info_dos_command): Constify.
5489
5490 2017-10-11  Tom Tromey  <tom@tromey.com>
5491
5492         * breakpoint.c (prepare_re_set_context): Remove.
5493         (breakpoint_re_set_one): Update.  Don't use cleanups.
5494         (breakpoint_re_set): Use scoped_restore, std::string, and
5495         scoped_restore_current_language.
5496
5497 2017-10-11  Tom Tromey  <tom@tromey.com>
5498
5499         * breakpoint.c (commands_command_1): Use std::string.
5500         (cleanup_executing_breakpoints): Remove.
5501         (bpstat_do_actions_1): Use scoped_restore.
5502         (bpstat_check_watchpoint): Use std::string.
5503         (decode_static_tracepoint_spec): Likewise.
5504         (break_range_command): Likewise.
5505         (watch_command_1): Likewise.
5506         (compare_breakpoints): Change argument types.
5507         (clear_command): Use std::vector.
5508         (cleanup_executing_breakpoints): Remove.
5509         (update_global_location_list): Use unique_xmalloc_ptr.
5510         (strace_command): Remove unused declaration.
5511
5512 2017-10-11  John Baldwin  <jhb@FreeBSD.org>
5513
5514         * Makefile.in (ALLDEPFILES): Add arm-fbsd-nat.c.
5515         * NEWS: Mention new FreeBSD/arm native configuration.
5516         * configure.host: Add arm*-*-freebsd*.
5517         * configure.nat: Likewise.
5518         * arm-fbsd-nat.c: New file.
5519
5520 2017-10-11  John Baldwin  <jhb@FreeBSD.org>
5521
5522         * Makefile.in (ALL_TARGET_OBS): Add arm-fbsd-tdep.o.
5523         (ALLDEPFILES): Add arm-fbsd-tdep.c.
5524         * NEWS: Mention new FreeBSD/arm target.
5525         * configure.tgt: Add arm*-*-freebsd*.
5526         * arm-fbsd-tdep.c: New file.
5527         * arm-fbsd-tdep.h: New file.
5528
5529 2017-10-11  Maciej W. Rozycki  <macro@imgtec.com>
5530
5531         * linux-tdep.c (linux_make_corefile_notes): Remove call to
5532         `gdbarch_elfcore_write_linux_prpsinfo'.
5533         * gdbarch.sh (elfcore_write_linux_prpsinfo): Remove architecture
5534         method.
5535         (elf_internal_linux_prpsinfo): Remove declaration.
5536         * gdbarch.h: Regenerate.
5537         * gdbarch.c: Regenerate.
5538
5539 2017-10-11  Maciej W. Rozycki  <macro@imgtec.com>
5540
5541         * ppc-linux-tdep.c (ppc_linux_init_abi): Remove call to
5542         `set_gdbarch_elfcore_write_linux_prpsinfo'.
5543
5544 2017-10-11  Pedro Alves  <palves@redhat.com>
5545
5546         * breakpoint.c (reattach_breakpoints): Delete.
5547         * breakpoint.h (reattach_breakpoints): Delete.
5548
5549 2017-10-11  Simon Marchi  <simon.marchi@ericsson.com>
5550
5551         * symfile.c (registered_sym_fns): Make struct, not typedef.
5552         (DEF_VEC_O (registered_sym_fns)): Remove.
5553         (symtab_fns): Change type to std::vector.
5554         (add_symtab_fns): Adjust.
5555         (find_sym_fns): Adjust.
5556
5557 2017-10-11  Anton Kolesov  <Anton.Kolesov@synopsys.com>
5558
5559         * arc-tdep.c (arc_gdbarch_init): Pass proper cpu value to disassembler.
5560         * arc-tdep.h (arc_arch_is_em): New function.
5561         (arc_arch_is_hs): Likewise.
5562
5563 2017-10-11  Egeyar Bagcioglu  <egeyar.bagcioglu@oracle.com>
5564
5565         * macrotab.h (macro_lookup_inclusion): Remove unnecessary
5566         parentheses in the declaration.
5567         (macro_lookup_inclusion): Likewise.
5568         (macro_lookup_definition): Likewise.
5569         * p-lang.h (pascal_builtin_types): Likewise.
5570         * tui/tui-data.c (tui_win_list): Likewise.
5571         * tui/tui-data.h (tui_win_list): Likewise.
5572         * utils.h (make_cleanup_free_section_addr_info): Likewise.
5573
5574 2017-10-11  Mark Rages  <markrages@gmail.com>
5575
5576         * target-memory.c (block_boundaries): Fix for block address not
5577         aligned on block size.
5578
5579 2017-10-10  Pedro Alves <palves@redhat.com>
5580             Tom Tromey  <tom@tromey.com>
5581
5582         * breakpoint.c (struct captured_breakpoint_query_args)
5583         (do_captured_breakpoint_query, gdb_breakpoint_query): Delete.
5584         (print_breakpoint): New.
5585         * breakpoint.h (print_breakpoint): Declare.
5586         * common/common-exceptions.h (enum return_reason): Remove
5587         references to catch_exceptions.
5588         * exceptions.c (catch_exceptions, catch_exceptions_with_msg):
5589         Delete.
5590         * exceptions.h (catch_exceptions_ftype, catch_exceptions)
5591         (catch_exception_ftype, catch_exceptions_with_msg): Delete.
5592         * gdb.h: Delete.
5593         * gdbthread.h (thread_select): Declare.
5594         * mi/mi-cmd-break.c: Don't include gdb.h.
5595         (breakpoint_notify): Use print_breakpoint.
5596         * mi/mi-cmd-catch.c: Don't include gdb.h.
5597         * mi/mi-interp.c: Don't include gdb.h.
5598         (mi_print_breakpoint_for_event): New.
5599         (mi_breakpoint_created, mi_breakpoint_modified): Use
5600         mi_print_breakpoint_for_event.
5601         * mi/mi-main.c: Don't include gdb.h.
5602         (mi_cmd_thread_select): Parse the global thread ID here.  Use
5603         thread_select instead of gdb_thread_select.
5604         (mi_cmd_thread_list_ids): Output "thread-ids" tuple here instead
5605         of using gdb_list_thread_ids.
5606         * remote-fileio.c (do_remote_fileio_request): Change type.  Reply
5607         FILEIO_ENOSYS here.
5608         (remote_fileio_request): Use TRY/CATCH instead of
5609         catch_exceptions.
5610         * symfile-mem.c (struct symbol_file_add_from_memory_args)
5611         (symbol_file_add_from_memory_wrapper): Delete.
5612         (add_vsyscall_page): Use TRY/CATCH instead of catch_exceptions.
5613         * thread.c: Don't include gdb.h.
5614         (do_captured_list_thread_ids, gdb_list_thread_ids): Delete.
5615         (thread_alive): Use thread_select.
5616         (do_captured_thread_select): Delete, parts salvaged as ...
5617         (thread_select): ... this new function.
5618         (gdb_thread_select): Delete.
5619
5620 2017-10-10  Pedro Alves  <palves@redhat.com>
5621             Tom Tromey  <tom@tromey.com>
5622
5623         * breakpoint.c (breakpoint_cond_eval): Change return type to bool
5624         and reverse logic.
5625         (WP_DELETED, WP_VALUE_CHANGED, WP_VALUE_NOT_CHANGED, WP_IGNORE):
5626         No longer macros.  Instead ...
5627         (enum wp_check_result): They're now values of this new
5628         enumeration.
5629         (watchpoint_check): Change return type to wp_check_result and
5630         parameter type to bpstat.
5631         (bpstat_check_watchpoint): Use TRY/CATCH instead of catch_errors.
5632         (bpstat_check_breakpoint_conditions): Use TRY/CATCH instead of
5633         catch_errors.  Reverse logic of watchpoint_check call.
5634         (breakpoint_re_set_one): Now returns void and takes a breakpoint
5635         pointer as parameter.
5636         (breakpoint_re_set): Use TRY/CATCH instead of catch_errors.
5637         * common/common-exceptions.c (throw_exception_sjlj): Update
5638         comments to avoid mentioning catch_errors.
5639         * exceptions.c (catch_errors): Delete.
5640         * exceptions.h: Update comments to avoid mentioning catch_errors.
5641         (catch_errors_ftype, catch_errors): Delete.
5642         * infrun.c (normal_stop): Use TRY/CATCH instead of catch_errors.
5643         (hook_stop_stub): Delete.
5644         (restore_selected_frame): Change return type to void, and
5645         parameter type to const frame_id &.
5646         (restore_infcall_control_state): Use TRY/CATCH instead of
5647         catch_errors.
5648         * main.c (captured_command_loop): Return void and remove
5649         parameter.  Remove references to catch_errors.
5650         (captured_main): Use TRY/CATCH instead of catch_errors.
5651         * objc-lang.c (objc_submethod_helper_data)
5652         (find_objc_msgcall_submethod_helper): Delete.
5653         (find_objc_msgcall_submethod): Use TRY/CATCH instead of
5654         catch_errors.
5655         * record-full.c (record_full_message): Return void.
5656         (record_full_message_args, record_full_message_wrapper): Delete.
5657         (record_full_message_wrapper_safe): Return bool and use TRY/CATCH
5658         instead of catch_errors.
5659         * solib-aix.c (solib_aix_open_symbol_file_object): Change
5660         parameter type to int.
5661         * solib-darwin.c (open_symbol_file_object): Ditto.
5662         * solib-dsbt.c (open_symbol_file_object): Ditto.
5663         * solib-frv.c (open_symbol_file_object): Ditto.
5664         * solib-svr4.c (open_symbol_file_object): Ditto.
5665         * solib-target.c (solib_target_open_symbol_file_object): Ditto.
5666         * solib.c (update_solib_list): Use TRY/CATCH instead of
5667         catch_errors.
5668         * solist.h (struct target_so_ops) <open_symbol_file_object>:
5669         Change type.
5670         * symmisc.c (struct print_symbol_args): Remove.
5671         (dump_symtab_1): Use TRY/CATCH instead of catch_errors.
5672         (print_symbol): Change type.
5673         * windows-nat.c (handle_load_dll, handle_unload_dll): Return void
5674         and remove parameters.
5675         (catch_errors): New.
5676         (get_windows_debug_event): Adjust.
5677
5678 2017-10-09  Tom Tromey  <tom@tromey.com>
5679
5680         * mi/mi-main.c (free_splay_tree): Remove.
5681         (list_available_thread_groups): Use splay_tree_up.
5682         * common/gdb_splay_tree.h: New file.
5683
5684 2017-10-09  Tom Tromey  <tom@tromey.com>
5685
5686         * mi/mi-main.c (do_nothing): Remove.
5687         (list_available_thread_groups): Update.
5688
5689 2017-10-09  Pedro Alves  <palves@redhat.com>
5690
5691         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>: Skip
5692         reading registers when switching context.
5693
5694 2017-10-09  John Baldwin  <jhb@FreeBSD.org>
5695
5696         * fbsd-nat.c (fbsd_siginfo_size): Use gdbarch_long_bit.
5697         (fbsd_convert_siginfo): Likewise.
5698         * fbsd-tdep.c (fbsd_core_xfer_siginfo): Likewise.
5699
5700 2017-10-09  Simon Marchi  <simon.marchi@polymtl.ca>
5701
5702         * configure.ac (try_guile_versions): Remove guile-2.2.
5703         * configure: Regenerate.
5704
5705 2017-10-09  Tom Tromey  <tom@tromey.com>
5706
5707         * Makefile.in (COMPILE.post, POSTCOMPILE): Restore $(basename).
5708         (COMPILE.pre): Use $(CXX).
5709
5710 2017-10-09  Pedro Alves  <palves@redhat.com>
5711
5712         * cp-support.c (cp_remove_params): Return a gdb::unique_xmalloc_ptr.
5713         Use bool.
5714         (overload_list_add_symbol): Adjust to use gdb::unique_xmalloc_ptr.
5715         * cp-support.h (cp_remove_params): Now returns a
5716         gdb::unique_xmalloc_ptr.
5717         * dwarf2read.c (find_slot_in_mapped_hash): Now returns bool.
5718         Adjust to cp_remove_params returning a gdb::unique_xmalloc_ptr.
5719         * psymtab.c (psymtab_search_name): Adjust to cp_remove_params
5720         returning a gdb::unique_xmalloc_ptr.
5721         (lookup_partial_symbol): Adjust to use gdb::unique_xmalloc_ptr.
5722         * stack.c (find_frame_funname): Adjust to cp_remove_params
5723         returning a gdb::unique_xmalloc_ptr.
5724
5725 2017-10-08  Tom Tromey  <tom@tromey.com>
5726
5727         * dwarf2read.c (dwarf2_get_dwz_file): Use
5728         gdb::unique_xmalloc_ptr.
5729         (find_slot_in_mapped_hash): Likewise.
5730         (dwarf2_physname): Likewise.
5731         (create_dwo_unit_in_dwp_v1): Use std::string.
5732         (create_dwo_unit_in_dwp_v2): Likewise.
5733         (lookup_dwo_cutu): Likewise.
5734         (inherit_abstract_dies): Use std::vector.
5735         (read_array_type): Likewise.
5736         (dwarf_decode_macros): Remove unused declaration.
5737         (unsigned_int_compar): Remove.
5738         (dwarf2_build_psymtabs_hard): Use scoped_restore.
5739         (psymtabs_addrmap_cleanup): Remove.
5740
5741 2017-10-08  Tom Tromey  <tom@tromey.com>
5742
5743         * frame-unwind.c (frame_unwind_try_unwinder): Update.
5744         * frame.h (frame_cleanup_after_sniffer): Declare.
5745         (frame_prepare_for_sniffer): Return void.
5746         * frame.c (frame_cleanup_after_sniffer): No longer static.  Change
5747         type of argument.
5748         (frame_prepare_for_sniffer): Return void.
5749
5750 2017-10-08  Tom Tromey  <tom@tromey.com>
5751
5752         * utils.h (make_cleanup_value_free): Remove.
5753         * utils.c (do_value_free, struct cleanup): Remove.
5754         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full) <DWARF_VALUE_STACK>:
5755         Use gdb_value_up.
5756         * value.h (struct value_deleter): New.
5757         (gdb_value_up): New typedef.
5758
5759 2017-10-08  Tom Tromey  <tom@tromey.com>
5760
5761         * symtab.c (free_search_symbols, do_free_search_symbols_cleanup)
5762         (make_cleanup_free_search_symbols): Remove.
5763         (search_symbols): Return std::vector.
5764         (symbol_search::compare_search_syms): Now member of
5765         symbol_search.  Change arguments.
5766         (sort_search_symbols_remove_dups): Change arguments.  Rewrite.
5767         (symtab_symbol_info, rbreak_command): Update.
5768         * symtab.h (struct symbol_search) <next>: Remove.
5769         Add constructors.
5770         (symbol_search::operator<): New function.
5771         (symbol_search::operator==): New function.
5772         (search_symbols): Remove std::vector.
5773         (free_search_symbols, make_cleanup_free_search_symbols): Remove.
5774         (symbol_search::compare_search_syms): Declare.
5775
5776 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5777
5778         * Makefile.in (ALL_64_TARGET_OBS): Replace aarch64-insn.o with
5779         arch/aarch64-insn.o.
5780         Remove one rule.
5781         * configure.tgt: Replace aarch64-insn.o with arch/aarch64-insn.o.
5782
5783 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5784
5785         * Makefile.in (ALL_TARGET_OBS): Replace arm.o, arm-get-next-pcs.o,
5786         and arm-linux.o with arch/arm.o, arch/arm-get-next-pcs.o and
5787         arch/arm-linux.o respectively.
5788         * configure.tgt: Likewise.
5789
5790 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5791
5792         * Makefile.in (ALL_TARGET_OBS): Rename i386.o to arch/i386.o.
5793         * configure.tgt (i386_tobjs): Replace i386.o with arch/i386.o.
5794
5795 2017-10-06  Pedro Alves  <palves@redhat.com>
5796
5797         * windows-nat.c: Include <algorithm>.
5798
5799 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5800
5801         * configure.tgt (i386_tobjs): New variable.
5802         (amd64_tobjs): New variable.
5803         Set $cpu_obs and $os_obs.
5804
5805 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5806
5807         * Makefile.in (CONFIG_SRC_SUBDIR): New.
5808         (ALL_64_TARGET_OBS): Replace amd64.o with arch/amd64.o.
5809         (clean): Remove object files and dependency files.
5810         (distclean): Remove the directory.
5811         * configure.ac: Invoke AC_CONFIG_COMMANDS.
5812         * configure: Re-generated.
5813         * configure.tgt: Replace amd64.o with arch/amd64.o.
5814
5815 2017-10-05  Jose E. Marchesi  <jose.marchesi@oracle.com>
5816
5817         PR build/22188
5818         * arm-tdep.c (arm_decode_misc_memhint_neon): Fix decoding of CPS
5819         and SETEND.
5820
5821 2017-10-05  Pedro Alves  <palves@redhat.com>
5822
5823         * linux-nat.c (linux_child_follow_fork): When following the parent
5824         and detaching the child, consult the parent thread's architecture
5825         instead of the child's.
5826
5827 2017-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
5828
5829         * ax.h: Do not include "doublest.h".
5830         (union agent_val): Remove.
5831
5832 2017-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
5833
5834         * dfp.h (MAX_DECIMAL_STRING): Move to dfp.c.
5835         (decimal_to_string): Return std::string object.
5836         (decimal_from_string): Accept std::string object.  Return bool.
5837         (decimal_from_integral, decimal_from_doublest): Remove.
5838         (decimal_from_longest): Add prototype.
5839         (decimal_from_ulongest): Likewise.
5840         (decimal_to_longest): Likewise.
5841         (decimal_from_doublest): Likewise.
5842         * dfp.c: Do not include "gdbtypes.h" or "value.h".
5843         (MAX_DECIMAL_STRING): Move here.
5844         (decimal_to_string): Return std::string object.
5845         (decimal_from_string): Accept std::string object.  Return bool.
5846         (decimal_from_integral): Remove, replace by ...
5847         (decimal_from_longest, decimal_from_ulongest): ... these new functions.
5848         (decimal_to_longest): New function.
5849         (decimal_from_floating): Remove, replace by ...
5850         (decimal_from_doublest): ... this new function.
5851         (decimal_to_doublest): Update to new decimal_to_string interface.
5852
5853         * value.c (unpack_long): Use decimal_to_longest.
5854         * valops.c (value_cast): Use decimal_from_doublest instead of
5855         decimal_from_floating.  Use decimal_from_[u]longest isntead of
5856         decimal_from_integral.
5857         * valarith.c (value_args_as_decimal): Likewise.
5858         * valprint.c (print_decimal_floating): Update to new
5859         decimal_to_string interface.
5860         * printcmd.c (printf_decfloat): Likewise.
5861         * c-exp.y (parse_number): Update to new decimal_from_string interface.
5862
5863 2017-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
5864
5865         * doublest.h: Do not include "floatformat.h".  Remove stale comments.
5866         * gdbtypes.c: Include "floatformat.h".
5867         * value.c: Likewise.
5868         * m68k-tdep.c: Likewise.
5869
5870         * findvar.c: Do not include "floatformat.h".
5871         * amd64-darwin-tdep.c: Likewise.
5872         * arm-linux-tdep.c: Likewise.
5873         * i386-darwin-tdep.c: Likewise.
5874         * i387-tdep.c: Likewise.
5875         * m68k-linux-tdep.c: Likewise.
5876         * mep-tdep.c: Likewise.
5877         * mips-tdep.c: Likewise.
5878         * nios2-tdep.c: Likewise.
5879         * s390-linux-tdep.c: Likewise.
5880         * sparc-obsd-tdep.c: Likewise.
5881         * sparc-tdep.c: Likewise.
5882         * sparc64-tdep.c: Likewise.
5883         * spu-tdep.c: Likewise.
5884         * tic6x-tdep.c: Likewise.
5885         * tilegx-tdep.c: Likewise.
5886         * vax-tdep.c: Likewise.
5887         * xstormy16-tdep.c: Likewise.
5888         * xtensa-tdep.c: Likewise.
5889
5890         * top.c: Do not include "doublest.h".
5891         * aarch64-tdep.c: Likewise.
5892         * alpha-tdep.c: Likewise.
5893         * arm-linux-tdep.c: Likewise.
5894         * m68k-linux-tdep.c: Likewise.
5895         * tilegx-tdep.c: Likewise.
5896         * xstormy16-tdep.c: Likewise.
5897
5898 2017-10-05  John Baldwin  <jhb@FreeBSD.org>
5899
5900         * mips-fbsd-tdep.c (MIPS_INST_ADDIU_A0_SP_N32): Define.
5901         (mipsn32_fbsd_sigframe): Define.
5902         (mips_fbsd_init_abi): Install mipsn32_fbsd_sigframe unwinder
5903         for FreeBSD/mipsn32.
5904
5905 2017-10-05  John Baldwin  <jhb@FreeBSD.org>
5906
5907         * fbsd-tdep.c (fbsd_print_auxv_entry): Handle AT_EHDRFLAGS and
5908         AT_HWCAP.
5909
5910 2017-10-05  Tristan Gingold  <tgingold@free.fr>
5911
5912         * MAINTAINERS (Misc): Update my email address.
5913
5914 2017-10-04  Pedro Alves  <palves@redhat.com>
5915
5916         * remote.c (get_remote_arch_state): New 'gdbarch' parameter.  Use
5917         it instead of target_gdbarch.
5918         (get_remote_state, get_remote_packet_size): Adjust
5919         get_remote_arch_state calls, passing down target_gdbarch
5920         explicitly.
5921         (packet_reg_from_regnum, packet_reg_from_pnum): New parameter
5922         'gdbarch' and use it instead of target_gdbarch.
5923         (get_memory_packet_size): Adjust get_remote_arch_state calls,
5924         passing down target_gdbarch explicitly.
5925         (struct stop_reply) <arch>: New field.
5926         (remote_parse_stop_reply): Use the stopped thread's architecture,
5927         not the current inferior's.  Save the architecture in the
5928         stop_reply.
5929         (process_stop_reply): Use the stop reply's architecture.
5930         (process_g_packet, remote_fetch_registers)
5931         (remote_prepare_to_store, store_registers_using_G)
5932         (remote_store_registers): Adjust get_remote_arch_state calls,
5933         using the regcache's architecture.
5934         (remote_get_trace_status): Adjust get_remote_arch_state calls,
5935         passing down target_gdbarch explicitly.
5936         * spu-multiarch.c (spu_thread_architecture): Defer to the target
5937         beneath instead of calling target_gdbarch.
5938         * target.c (default_thread_architecture): Use the specified
5939         inferior's architecture, instead of the current inferior's
5940         architecture (via target_gdbarch).
5941
5942 2017-10-04  Pedro Alves  <palves@redhat.com>
5943
5944         * regcache.c (get_thread_arch_regcache): Remove null_ptid special
5945         case.
5946         (regcache_print): Handle !target_has_registers here instead.
5947
5948 2017-10-04  Pedro Alves  <palves@redhat.com>
5949
5950         * frame.c (create_test_frame): Delete.
5951         * frame.h (create_test_frame): Delete.
5952         * gdbarch-selftests.c: Include gdbthread.h and target.h.
5953         (class regcache_test): Delete.
5954         (test_target_has_registers, test_target_has_stack)
5955         (test_target_has_memory, test_target_prepare_to_store)
5956         (test_target_store_registers): New functions.
5957         (test_target_ops): New class.
5958         (register_to_value_test): Error out if there's already a
5959         process_stratum (or higher) target pushed.  Create a fuller mock
5960         environment, with mock target_ops, inferior, address space, thread
5961         and inferior_ptid.
5962         * progspace.c (struct address_space): Move to ...
5963         * progspace.h (struct address_space): ... here.
5964         * regcache.h (regcache::~regcache, regcache::raw_write)
5965         [GDB_SELF_TEST]: No longer virtual.
5966
5967 2017-10-04  Simon Marchi  <simon.marchi@ericsson.com>
5968
5969         * mi/mi-main.c (list_available_thread_groups): Reverse filter logic.
5970
5971 2017-10-04  Pedro Alves  <palves@redhat.com>
5972
5973         * guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Move code
5974         out of 'between TRY and CATCH'.
5975
5976 2017-10-04  Pedro Alves  <palves@redhat.com>
5977
5978         * cli/cli-cmds.c (complete_command): Add missing END_CATCH.
5979         * common/common-exceptions.h (TRY): Open an outermost scope.
5980         Expand intro comment.
5981         (CATCH): Reindent.
5982         (END_CATCH): Close the outermost scope.
5983         * completer.c (complete_line_internal): Add missing END_CATCH.
5984
5985 2017-10-04  Sergio Durigan Junior  <sergiodj@redhat.com>
5986
5987         * NEWS (Changes since GDB 8.0): Add entry about new
5988         'set-cwd-on-gdbserver' feature.
5989         (New remote packets): Add entry for QSetWorkingDir.
5990         * common/common-inferior.h (set_inferior_cwd): New prototype.
5991         * infcmd.c (set_inferior_cwd): Remove "static".
5992         (show_cwd_command): Expand text to include remote debugging.
5993         * remote.c: Add PACKET_QSetWorkingDir.
5994         (remote_protocol_features) <QSetWorkingDir>: New entry for
5995         PACKET_QSetWorkingDir.
5996         (extended_remote_set_inferior_cwd): New function.
5997         (extended_remote_create_inferior): Call
5998         "extended_remote_set_inferior_cwd".
5999         (_initialize_remote): Call "add_packet_config_cmd" for
6000         QSetWorkingDir.
6001
6002 2017-10-04  Sergio Durigan Junior  <sergiodj@redhat.com>
6003
6004         * NEWS (New commands): Mention "set/show cwd".
6005         * cli/cli-cmds.c (_initialize_cli_cmds): Mention "set cwd" on
6006         "cd" command's help text.
6007         * common/common-inferior.h (get_inferior_cwd): New prototype.
6008         * infcmd.c (inferior_cwd_scratch): New global variable.
6009         (set_inferior_cwd): New function.
6010         (get_inferior_cwd): Likewise.
6011         (set_cwd_command): Likewise.
6012         (show_cwd_command): Likewise.
6013         (_initialize_infcmd): Add "set/show cwd" commands.
6014         * inferior.h (class inferior) <cwd>: New field.
6015         * nat/fork-inferior.c: Include "gdb_tilde_expand.h".
6016         (fork_inferior): Change inferior's cwd before its execution.
6017         * windows-nat.c (windows_create_inferior): Pass inferior's cwd
6018         to CreateProcess.
6019
6020 2017-10-04  Sergio Durigan Junior  <sergiodj@redhat.com>
6021
6022         * Makefile.in (SFILES): Add gdb_tilde_expand.c.
6023         (HFILES_NO_SRCDIR): Add gdb_tilde_expand.h.
6024         (COMMON_OBS): Add gdb_tilde_expand.o.
6025         * common/gdb_tilde_expand.c: New file.
6026         * common/gdb_tilde_expand.h: Likewise.
6027
6028 2017-10-03  Maciej W. Rozycki  <macro@imgtec.com>
6029
6030         * gdbarch.sh (objfile): Remove duplicate declaration.
6031         * gdbarch.h: Regenerate.
6032
6033 2017-10-03  Tom Tromey  <tom@tromey.com>
6034
6035         * utils.c (internal_vproblem): Use string_vprintf.
6036
6037 2017-10-03  Tom Tromey  <tom@tromey.com>
6038
6039         * printcmd.c (info_symbol_command): Use std::string.
6040
6041 2017-10-03  Tom Tromey  <tom@tromey.com>
6042
6043         * top.c (gdb_safe_append_history): Use std::string.
6044
6045 2017-10-03  Tom Tromey  <tom@tromey.com>
6046
6047         * event-top.c (stdin_event_handler): Update.
6048         * main.c (captured_main_1): Update.
6049         * top.h (make_delete_ui_cleanup): Remove.
6050         (struct ui): Add constructor and destructor.
6051         (new_ui, delete_ui): Remove.
6052         * top.c (make_delete_ui_cleanup): Remove.
6053         (new_ui_command): Use std::unique_ptr.
6054         (delete_ui_cleanup): Remove.
6055         (ui::ui): Rename from new_ui.  Update.
6056         (free_ui): Remove.
6057         (ui::~ui): Rename from delete_ui.  Update.
6058
6059 2017-10-03  Tom Tromey  <tom@tromey.com>
6060
6061         * symfile.c (load_progress): Use gdb::byte_vector.
6062
6063 2017-10-03  Tom Tromey  <tom@tromey.com>
6064
6065         * mi/mi-main.c (mi_cmd_trace_frame_collected): Remove unused
6066         declaration.
6067         * printcmd.c (x_command): Remove unused declaration.
6068         * symfile.c (symbol_file_command): Remove unused declaration.
6069
6070 2017-10-03  Tom Tromey  <tom@tromey.com>
6071
6072         * utils.c (internal_vproblem): Use std::string.
6073         (defaulted_query): Likewise.
6074
6075 2017-10-03  Tom Tromey  <tom@tromey.com>
6076
6077         * guile/scm-ports.c (ioscm_with_output_to_port_worker): Update.
6078         * top.c (execute_command_to_string): Update.
6079         * utils.c (make_cleanup_restore_page_info): Remove.
6080         (do_restore_page_info_cleanup): Remove.
6081         (set_batch_flag_and_restore_page_info):
6082         New.
6083         (make_cleanup_restore_page_info): Remove.
6084         (set_batch_flag_and_make_cleanup_restore_page_info): Remove.
6085         (~set_batch_flag_and_restore_page_info): New
6086         (make_cleanup_restore_uinteger): Remove.
6087         (make_cleanup_restore_integer): Remove.
6088         (struct restore_integer_closure): Remove.
6089         (restore_integer): Remove.
6090         * utils.h (struct set_batch_flag_and_restore_page_info): New
6091         class.
6092         (set_batch_flag_and_make_cleanup_restore_page_info): Remove.
6093         (make_cleanup_restore_page_info): Remove.
6094         (make_cleanup_restore_uinteger) Remove.
6095         (make_cleanup_restore_integer) Remove.
6096
6097 2017-10-03  Tom Tromey  <tom@tromey.com>
6098
6099         * record-full.h (record_full_gdb_operation_disable_set): Return
6100         scoped_restore_tmpl<int>.
6101         * infrun.c (adjust_pc_after_break): Update.
6102         (handle_signal_stop): Update.
6103         * record-full.c (record_full_gdb_operation_disable_set): Return
6104         scoped_restore_tmpl<int>.
6105         (record_full_wait_1, record_full_insert_breakpoint)
6106         (record_full_remove_breakpoint, record_full_save)
6107         (record_full_goto_insn): Update.
6108
6109 2017-10-02  Tom Tromey  <tom@tromey.com>
6110
6111         PR rust/22236:
6112         * rust-lang.c (rust_val_print_str): New function.
6113         (val_print_struct): Call it.
6114         (rust_subscript): Preserve name of slice type.
6115
6116 2017-10-02  Tom Tromey  <tom@tromey.com>
6117
6118         * rust-lang.c (rust_subscript): Handle slices in
6119         EVAL_AVOID_SIDE_EFFECTS case.
6120
6121 2017-10-02  Tom Tromey  <tom@tromey.com>
6122
6123         * rust-lang.c (rust_slice_type_p): Recognize &str as a slice type.
6124
6125 2017-10-02  Tom Tromey  <tom@tromey.com>
6126
6127         * rust-lang.h (rust_slice_type): Add "extern".
6128
6129 2017-10-02  Tom Tromey  <tom@tromey.com>
6130             Pedro Alves  <palves@redhat.com>
6131
6132         * ada-lang.h (ada_exc_info::operator<): Make const.
6133         (ada_exc_info::operator==): Make const.
6134         * ada-lang.c (ada_exc_info::operator<, ada_exc_info::operator==):
6135         Make const.
6136
6137 2017-09-29  Tom Tromey  <tom@tromey.com>
6138
6139         * target.c (read_whatever_is_readable): Change type of "result".
6140         Update.
6141         (free_memory_read_result_vector): Remove.
6142         (read_memory_robust): Change return type.  Update.
6143         * mi/mi-main.c (mi_cmd_data_read_memory_bytes): Update.  Use
6144         bin2hex, std::string.
6145         * target.h (memory_read_result_s): Remove typedef.
6146         (free_memory_read_result_vector): Remove.
6147         (read_memory_robust): Return std::vector.
6148
6149 2017-09-29  Tom Tromey  <tom@tromey.com>
6150
6151         * mi/mi-main.c (captured_mi_execute_command): Use scope_restore.
6152
6153 2017-09-29  Tom Tromey  <tom@tromey.com>
6154
6155         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions): Update.
6156         * ada-lang.h (struct ada_exc_info): Remove typedef.  Declare
6157         operator< and operator==.
6158         (ada_exceptions_list): Return a std::vector.
6159         * ada-lang.c (ada_exc_info::operator<): Rename from
6160         compare_ada_exception_info.
6161         (ada_exc_info::operator==): New.
6162         (sort_remove_dups_ada_exceptions_list): Change type of
6163         "exceptions".
6164         (ada_add_standard_exceptions, ada_add_exceptions_from_frame)
6165         (ada_add_global_exceptions): Likewise.
6166         (ada_exceptions_list_1): Return a std::vector.
6167         (ada_exceptions_list): Likewise.
6168
6169 2017-09-29  Tom Tromey  <tom@tromey.com>
6170
6171         * mi/mi-main.c (struct print_one_inferior_data) <inferiors>: Now a
6172         'std::set *'.
6173         (print_one_inferior): Update.
6174         (free_vector_of_ints): Remove.
6175         (list_available_thread_groups): Change "ids" to std::set.
6176         (mi_cmd_list_thread_groups): Update.
6177         (struct collect_cores_data) <core>: Now a std::set.
6178         (collect_cores): Update.
6179         (unique): Remove.
6180         (print_one_inferior): Update.
6181
6182 2017-09-29  Tom Tromey  <tom@tromey.com>
6183
6184         * mi/mi-main.c (mi_execute_cli_command): Use std::string.
6185         (mi_execute_async_cli_command): Likewise.
6186         (mi_cmd_trace_frame_collected): Use field_fmt.
6187
6188 2017-09-29  Tom Tromey  <tom@tromey.com>
6189
6190         * mi/mi-main.c (mi_cmd_data_write_memory_bytes): Use
6191         gdb::byte_vector.
6192
6193 2017-09-29  Tom Tromey  <tom@tromey.com>
6194
6195         * mi/mi-parse.c (mi_parse): Remove unused declaration.
6196
6197 2017-09-29  Tom Tromey  <tom@tromey.com>
6198
6199         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Don't copy "oarg".
6200
6201 2017-09-29  Tom Tromey  <tom@tromey.com>
6202
6203         * varobj.h (varobj_gen_name): Return std::string.
6204         * varobj.c (varobj_gen_name): Return std::string.
6205         * mi/mi-cmd-var.c (mi_cmd_var_create): Use std::string.
6206         (mi_cmd_var_delete): Don't copy "name".
6207
6208 2017-09-29  Tom Tromey  <tom@tromey.com>
6209
6210         * mi/mi-cmd-break.c (mi_argv_to_format): Return std::string.
6211         (mi_cmd_break_insert_1): Update.
6212
6213 2017-09-29  Tom Tromey  <tom@tromey.com>
6214
6215         * target.h (make_scoped_defer_target_commit_resume): Update.
6216         * target.c (make_scoped_defer_target_commit_resume): Rename from
6217         make_cleanup_defer_target_commit_resume.  Return a
6218         scoped_restore.
6219         * infrun.c (proceed): Use make_scoped_defer_target_commit_resume.
6220
6221 2017-09-29  Tom Tromey  <tom@tromey.com>
6222
6223         * main.c (captured_main_1): Remove unused declaration.
6224         * spu-multiarch.c (parse_spufs_run): Remove unused declaration.
6225
6226 2017-09-29  Tom Tromey  <tom@tromey.com>
6227
6228         * symtab.c (search_symbols): Remove unused outer cleanup.
6229         (make_source_files_completion_list): Remove unused declaration.
6230
6231 2017-09-29  Tom Tromey  <tom@tromey.com>
6232
6233         * mt-tdep.c (mt_push_dummy_call): Use gdb::byte_vector.
6234
6235 2017-09-29  Tom Tromey  <tom@tromey.com>
6236
6237         * xstormy16-tdep.c (xstormy16_push_dummy_call): Use
6238         gdb::byte_vector.
6239
6240 2017-09-29  Tom Tromey  <tom@tromey.com>
6241
6242         * complaints.c (vcomplaint): Use std::string.
6243
6244 2017-09-29  Tom Tromey  <tom@tromey.com>
6245
6246         * tracepoint.c (trace_variable_command): Use std::string.
6247         (encode_actions_1): Remove unused declarations.
6248         (create_tsv_from_upload): Use std::string.
6249
6250 2017-09-29  Tom Tromey  <tom@tromey.com>
6251
6252         * cp-support.c (gdb_demangle): Use std::string.
6253
6254 2017-09-29  Tom Tromey  <tom@tromey.com>
6255
6256         * stack.c (parse_frame_specification): Use std::string
6257         (info_frame_command): Use gdb::unique_xmalloc_ptr.
6258
6259 2017-09-29  Tom Tromey  <tom@tromey.com>
6260
6261         * tilegx-tdep.c (tilegx_push_dummy_call): Use gdb::byte_vector.
6262
6263 2017-09-29  Tom Tromey  <tom@tromey.com>
6264
6265         * utils.c (vfprintf_maybe_filtered): Use std::string.
6266         (vfprintf_unfiltered): Likewise.
6267
6268 2017-09-29  Tom Tromey  <tom@tromey.com>
6269
6270         * event-top.c (top_level_prompt): Return std::string.
6271         (display_gdb_prompt): Update.
6272
6273 2017-09-29  Tom Tromey  <tom@tromey.com>
6274
6275         * unittests/common-utils-selftests.c (format): New function.
6276         (string_vprintf_tests): New function.
6277         (_initialize_common_utils_selftests): Register new tests.
6278         * common/common-utils.c (string_vprintf): New function.
6279         * common/common-utils.h (string_vprintf): Declare.
6280
6281 2017-09-29  Pedro Alves  <palves@redhat.com>
6282
6283         * common/rsp-low.c (unpack_varlen_hex): Constify.
6284         * common/rsp-low.h (unpack_varlen_hex): Constify.
6285         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
6286         Constify.
6287         * remote.c (remote_set_permissions, read_ptid)
6288         (remote_current_thread, remote_get_threads_with_qthreadinfo)
6289         (remote_static_tracepoint_marker_at)
6290         (remote_static_tracepoint_markers_by_strid)
6291         (stop_reply_extract_thread, remote_parse_stop_reply): Constify.
6292         * tracepoint.c (parse_trace_status, parse_tracepoint_status)
6293         (parse_tracepoint_definition, parse_tsv_definition)
6294         (parse_static_tracepoint_marker_definition): Constify.
6295         * tracepoint.h (parse_static_tracepoint_marker_definition)
6296         (parse_trace_status, parse_tracepoint_status)
6297         (parse_tracepoint_definition, parse_tsv_definition): Constify.
6298
6299 2017-09-29  Pedro Alves  <palves@redhat.com>
6300
6301         * remote.c (target_buf, target_buf_size): Delete.
6302         (remote_get_noisy_reply): Remove buf_p and sizeof_buf parameters.
6303         Use the connection's packet buffer instead.
6304         All callers adjusted.
6305         (_initialize_remote): Remove references to target_buf and
6306         target_buf_size.
6307
6308 2017-09-28  Pedro Alves  <palves@redhat.com>
6309
6310         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
6311         unittests/common-utils-selftests.c.
6312         (SUBDIR_UNITTESTS_OBS): Add common-utils-selftests.o.
6313         (COMMON_OBS): Remove utils-selftests.o.
6314         * utils-selftests.c: Move to ...
6315         * unittests/common-utils-selftests.c: ... here and rename self
6316         test to "string_printf".
6317
6318 2017-09-28  Alexander Shaposhnikov <alexander.v.shaposhnikov@gmail.com> (tiny patch)
6319
6320         * dwarf2read.c (open_and_init_dwp_file): Protect against dwp_file
6321         having NULL cus or tus.
6322
6323 2017-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
6324
6325         * arm-tdep.c: (convert_from_extended): Remove.
6326         (convert_to_extended): Likewise.
6327         (arm_extract_return_value): Use convert_typed_floating.
6328         (arm_store_return_value): Likewise.
6329
6330         * sh-tdep.h (struct gdbarch_tdep): Add sh_littlebyte_bigword_type.
6331         * sh-tdep.c: Do not include "floatformat.h".
6332         (sh_littlebyte_bigword_type): New function.
6333         (sh_register_convert_to_virtual): Use convert_typed_floating.
6334         (sh_register_convert_to_raw): Likewise.
6335         * sh64-tdep.c: (struct gdbarch_tdep): Add sh_littlebyte_bigword_type.
6336         (sh64_littlebyte_bigword_type): New function.
6337         (sh64_extract_return_value): Use convert_typed_floating.
6338         (sh64_register_convert_to_virtual): Likewise.
6339         (sh64_register_convert_to_raw): Likewise.
6340
6341 2017-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
6342
6343         * doublest.h (floatformat_from_type): Move to gdbtypes.h.
6344         * doublest.c (floatformat_from_type): Move to gdbtypes.c.
6345
6346         * gdbtypes.h (union type_specific): Make field floatformat hold
6347         just a single struct floatformat, not an array.
6348         (floatformat_from_type): Move here.
6349         * gdbtypes.c (floatformat_from_type): Move here.  Update to
6350         changed TYPE_FLOATFORMAT definition.
6351         (verify_floatformat): Update to changed TYPE_FLOATFORMAT.
6352         (recursive_dump_type): Likewise.
6353         (init_float_type): Install correct floatformat for byte order.
6354         (arch_float_type): Likewise.
6355
6356 2017-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
6357
6358         * gdbtypes.c (init_type): Change incoming argument from
6359         length-in-bytes to length-in-bits.  Assert length is a
6360         multiple of TARGET_CHAR_BITS.
6361         (arch_type, arch_flags_type): Likewise.
6362         (init_integer_type): Update call to init_type.
6363         (init_character_type): Likewise.
6364         (init_boolean_type): Likewise.
6365         (init_float_type): Likewise.
6366         (init_decfloat_type): Likewise.
6367         (init_complex_type): Likewise.
6368         (init_pointer_type): Likewise.
6369         (objfile_type): Likewise.
6370         (arch_integer_type): Update call to arch_type.
6371         (arch_character_type): Likewise.
6372         (arch_boolean_type): Likewise.
6373         (arch_float_type): Likewise.
6374         (arch_decfloat_type): Likewise.
6375         (arch_complex_type): Likewise.
6376         (arch_pointer_type): Likewise.
6377         (gdbtypes_post_init): Likewise.
6378
6379         * dwarf2read.c (dwarf2_init_float_type): Update call to init_type.
6380         (read_base_type): Likewise.
6381         * mdebugread.c (basic_type): Likewise.
6382         * stabsread.c (dbx_init_float_type): Likewise.
6383         (rs6000_builtin_type): Likewise.
6384         (read_range_type): Likewise.  Also, fix call to init_integer_type
6385         with erroneous length argument.
6386
6387         * ada-lang.c (ada_language_arch_info): Update call to arch_type.
6388         * d-lang.c (build_d_types): Likewise.
6389         * f-lang.c (build_fortran_types): Likewise.
6390         * go-lang.c (build_go_types): Likewise.
6391         * opencl-lang.c (build_opencl_types): Likewise.
6392         * jit.c (finalize_symtab): Likewise.
6393         * gnu-v3-abi.c (build_gdb_vtable_type): Likewise.
6394         (build_std_type_info_type): Likewise.
6395         * target-descriptions.c (tdesc_gdb_type): Likewise.  Also,
6396         update call to arch_flags_type.
6397
6398         * linux-tdep.c (linux_get_siginfo_type_with_fields): Update call to
6399         arch_type.
6400         * fbsd-tdep.c (fbsd_get_siginfo_type): Likewise.
6401         * windows-tdep.c (windows_get_tlb_type): Likewise.
6402
6403         * avr-tdep.c (avr_gdbarch_init): Update call to arch_type.
6404         * ft32-tdep.c (ft32_gdbarch_init): Likewise.
6405         * m32c-tdep.c (make_types): Likewise.
6406         * rl78-tdep.c (rl78_gdbarch_init): Likewise.
6407         (rl78_psw_type): Update call to arch_flags_type.
6408         * m68k-tdep.c (m68k_ps_type): Update call to arch_flags_type.
6409         * rx-tdep.c (rx_psw_type): Likewise.
6410         (rx_fpsw_type): Likewise.
6411         * sparc-tdep.c (sparc_psr_type): Likewise.
6412         (sparc_fsr_type): Likewise.
6413         * sparc64-tdep.c (sparc64_pstate_type): Likewise.
6414         (sparc64_ccr_type): Likewise.
6415         (sparc64_fsr_type): Likewise.
6416         (sparc64_fprs_type): Likewise.
6417
6418 2017-09-27  Tom Tromey  <tom@tromey.com>
6419
6420         * findcmd.c (find_command): Constify.
6421
6422 2017-09-27  Tom Tromey  <tom@tromey.com>
6423
6424         * ada-tasks.c (task_command_1, task_command): Constify.
6425
6426 2017-09-27  Tom Tromey  <tom@tromey.com>
6427
6428         * symtab.c (maintenance_print_symbol_cache)
6429         (maintenance_flush_symbol_cache)
6430         (maintenance_print_symbol_cache_statistics): Constify.
6431
6432 2017-09-27  Tom Tromey  <tom@tromey.com>
6433
6434         * inferior.c (detach_inferior_command, kill_inferior_command)
6435         (inferior_command): Constify.
6436
6437 2017-09-27  Tom Tromey  <tom@tromey.com>
6438
6439         * regcache.c (regcache_print, maintenance_print_registers)
6440         (maintenance_print_raw_registers)
6441         (maintenance_print_cooked_registers)
6442         (maintenance_print_register_groups)
6443         (maintenance_print_remote_registers): Constify.
6444
6445 2017-09-27  Tom Tromey  <tom@tromey.com>
6446
6447         * printcmd.c (map_display_numbers, undisplay_command)
6448         (enable_disable_display_command, enable_display_command)
6449         (disable_display_command): Constify.
6450
6451 2017-09-27  Tom Tromey  <tom@tromey.com>
6452
6453         * breakpoint.h (delete_command): Don't declare.
6454         * breakpoint.c (delete_command, enable_once_command)
6455         (enable_count_command, enable_delete_command, breakpoint_1)
6456         (maintenance_info_breakpoints, stopin_command, stopat_command)
6457         (delete_command, delete_trace_command, save_breakpoints)
6458         (save_breakpoints_command, save_tracepoints_command): Constify.
6459
6460 2017-09-27  Tom Tromey  <tom@tromey.com>
6461
6462         * macrocmd.c (macro_expand_command, macro_expand_once_command)
6463         (skip_ws, extract_identifier, macro_define_command)
6464         (macro_undef_command, macro_list_command): Constify.
6465
6466 2017-09-27  Tom Tromey  <tom@tromey.com>
6467
6468         * infcmd.c (environment_info, set_environment_command)
6469         (unset_environment_command, path_info, info_proc_cmd_1)
6470         (info_proc_cmd_mappings, info_proc_cmd_stat)
6471         (info_proc_cmd_status, info_proc_cmd_cwd, info_proc_cmd_cmdline)
6472         (info_proc_cmd_exe, info_proc_cmd_all): Constify.
6473
6474 2017-09-27  Tom Tromey  <tom@tromey.com>
6475
6476         * i386-tdep.c (i386_mpx_info_bounds, i386_mpx_set_bounds):
6477         Constify.
6478
6479 2017-09-27  Tom Tromey  <tom@tromey.com>
6480
6481         * symfile-mem.c (add_symbol_file_from_memory_command): Constify.
6482
6483 2017-09-27  Tom Tromey  <tom@tromey.com>
6484
6485         * demangle.c (demangle_command): Constify.
6486
6487 2017-09-27  Tom Tromey  <tom@tromey.com>
6488
6489         * progspace.c (maintenance_info_program_spaces_command):
6490         Constify.
6491
6492 2017-09-27  Tom Tromey  <tom@tromey.com>
6493
6494         * compile/compile.c (check_raw_argument, compile_file_command)
6495         (compile_code_command, compile_print_command): Constify.
6496
6497 2017-09-27  Tom Tromey  <tom@tromey.com>
6498
6499         * reggroups.c (maintenance_print_reggroups): Constify.
6500
6501 2017-09-27  Tom Tromey  <tom@tromey.com>
6502
6503         * dwarf2read.c (save_gdb_index_command): Constify.
6504
6505 2017-09-27  Tom Tromey  <tom@tromey.com>
6506
6507         * stap-probe.c (info_probes_stap_command): Constify.
6508
6509 2017-09-27  Tom Tromey  <tom@tromey.com>
6510
6511         * fork-child.c (unset_exec_wrapper_command): Constify.
6512
6513 2017-09-27  Tom Tromey  <tom@tromey.com>
6514
6515         * btrace.c (get_uint, get_context_size, no_chunk)
6516         (maint_btrace_packet_history_cmd)
6517         (maint_btrace_clear_packet_history_cmd, maint_btrace_clear_cmd)
6518         (maint_info_btrace_cmd): Constify.
6519
6520 2017-09-27  Tom Tromey  <tom@tromey.com>
6521
6522         * reverse.c (delete_bookmark_command): Constify.
6523
6524 2017-09-27  Tom Tromey  <tom@tromey.com>
6525
6526         * remote.c (set_memory_packet_size)
6527         (set_memory_write_packet_size, show_memory_write_packet_size)
6528         (set_memory_read_packet_size, show_memory_read_packet_size)
6529         (compare_sections_command, packet_command, remote_put_command)
6530         (remote_get_command, remote_delete_command): Constify.
6531
6532 2017-09-27  Tom Tromey  <tom@tromey.com>
6533
6534         * mips-tdep.c (show_mipsfpu_command, set_mipsfpu_single_command)
6535         (set_mipsfpu_double_command, set_mipsfpu_none_command)
6536         (set_mipsfpu_auto_command): Constify.
6537
6538 2017-09-27  Tom Tromey  <tom@tromey.com>
6539
6540         * cli/cli-cmds.h (cd_command): Constify.
6541         * cli/cli-cmds.c (cd_command): Constify.
6542
6543 2017-09-27  Tom Tromey  <tom@tromey.com>
6544
6545         * thread.c (thread_name_command, thread_find_command): Constify.
6546
6547 2017-09-27  Tom Tromey  <tom@tromey.com>
6548
6549         * probe.c (enable_probes_command, disable_probes_command):
6550         Constify.
6551
6552 2017-09-27  Tom Tromey  <tom@tromey.com>
6553
6554         * symfile.c (symbol_file_command): Constify.
6555         * gdbcore.h (deprecated_file_changed_hook): Constify.
6556         * exec.c (deprecated_file_changed_hook, exec_file_command)
6557         (file_command): Constify.
6558         * defs.h (symbol_file_command): Constify.
6559
6560 2017-09-27  Tom Tromey  <tom@tromey.com>
6561
6562         * remote-fileio.c (set_system_call_allowed)
6563         (show_system_call_allowed): Constify.
6564
6565 2017-09-27  Tom Tromey  <tom@tromey.com>
6566
6567         * tracepoint.c (delete_trace_variable_command)
6568         (tfind_end_command, tfind_start_command, tfind_pc_command)
6569         (tfind_tracepoint_command, tfind_line_command)
6570         (tfind_range_command, tfind_outside_command): Constify.
6571
6572 2017-09-27  Tom Tromey  <tom@tromey.com>
6573
6574         * ax-gdb.c (maint_agent_printf_command, agent_command)
6575         (agent_eval_command): Constify.
6576
6577 2017-09-27  Tom Tromey  <tom@tromey.com>
6578
6579         * tracepoint.c (info_scope_command): Constify.
6580         * python/python.c (gdbpy_decode_line): Constify.
6581         * python/py-breakpoint.c (bppy_init): Constify.
6582         * mi/mi-cmd-break.c (mi_cmd_break_insert_1): Constify.
6583         * location.h: (new_linespec_location)
6584         (string_to_event_location_basic, string_to_event_location):
6585         Constify.
6586         * location.c (new_linespec_location)
6587         (string_to_event_location_basic, string_to_event_location):
6588         Constify.
6589         * linespec.h (decode_line_with_current_source)
6590         (decode_line_with_last_displayed, linespec_lex_to_end): Constify.
6591         * linespec.c (linespec_lex_to_end)
6592         (decode_line_with_current_source)
6593         (decode_line_with_last_displayed): Constify.
6594         * guile/scm-breakpoint.c (gdbscm_register_breakpoint_x):
6595         Constify.
6596         * cli/cli-cmds.c (edit_command, list_command): Constify.
6597         * breakpoint.h (until_break_command, watch_command_wrapper)
6598         (awatch_command_wrapper, rwatch_command_wrapper)
6599         (init_ada_exception_breakpoint): Constify.
6600         * breakpoint.c (break_command_1, dprintf_command)
6601         (break_range_command, watch_command_wrapper)
6602         (rwatch_command_wrapper, awatch_command_wrapper)
6603         (until_break_command, init_ada_exception_breakpoint)
6604         (strace_marker_create_sals_from_location, trace_command)
6605         (ftrace_command, strace_command, struct tracepoint): Constify.
6606         * ax-gdb.c (agent_command_1): Constify.
6607         * ada-lang.c (ada_exception_sal): Constify.
6608
6609 2017-09-27  Tom Tromey  <tom@tromey.com>
6610
6611         * record.c (cmd_record_delete, cmd_record_stop, cmd_record_save)
6612         (cmd_record_goto_begin, cmd_record_goto_end, get_insn_number)
6613         (get_context_size, no_chunk, get_insn_history_modifiers)
6614         (cmd_record_insn_history, get_call_history_modifiers)
6615         (cmd_record_call_history): Constify.
6616
6617 2017-09-27  Tom Tromey  <tom@tromey.com>
6618
6619         * source.c (show_substitute_path_command)
6620         (unset_substitute_path_command, set_substitute_path_command):
6621         Constify.
6622
6623 2017-09-27  Tom Tromey  <tom@tromey.com>
6624
6625         * typeprint.c (maintenance_print_type): Constify.
6626         * maint.c (maintenance_dump_me, maintenance_demangle)
6627         (maintenance_time_display, maintenance_info_sections)
6628         (maintenance_print_statistics, maintenance_deprecate)
6629         (maintenance_undeprecate): Constify.
6630         (maintenance_do_deprecate): Constify.  Use std::string.
6631         (maintenance_selftest): Constify.
6632         * gdbtypes.h (maintenance_print_type): Constify.
6633
6634 2017-09-27  Tom Tromey  <tom@tromey.com>
6635
6636         * hppa-tdep.c (unwind_command): Constify.
6637
6638 2017-09-27  Tom Tromey  <tom@tromey.com>
6639
6640         * target-descriptions.c (unset_tdesc_filename_cmd)
6641         (maint_print_c_tdesc_cmd, maintenance_check_xml_descriptions):
6642         Constify.
6643
6644 2017-09-27  Tom Tromey  <tom@tromey.com>
6645
6646         * dummy-frame.c (maintenance_print_dummy_frames): Constify.
6647
6648 2017-09-27  Tom Tromey  <tom@tromey.com>
6649
6650         * tui/tui.c (tui_enable_command, tui_disable_command): Constify.
6651
6652 2017-09-27  Tom Tromey  <tom@tromey.com>
6653
6654         * tui/tui-regs.c (tui_reg_command): Constify.
6655
6656 2017-09-27  Tom Tromey  <tom@tromey.com>
6657
6658         * skip.c (skip_file_command, skip_function_command)
6659         (skip_enable_command, skip_disable_command, skip_delete_command):
6660         Constify.
6661
6662 2017-09-27  Tom Tromey  <tom@tromey.com>
6663
6664         * record-btrace.c (cmd_record_btrace_bts_start)
6665         (cmd_record_btrace_pt_start): Constify.
6666
6667 2017-09-27  Tom Tromey  <tom@tromey.com>
6668
6669         * symmisc.c (maintenance_print_symbols)
6670         (maintenance_print_msymbols, maintenance_print_objfiles)
6671         (maintenance_info_symtabs, maintenance_check_symtabs)
6672         (maintenance_expand_symtabs, maintenance_info_line_tables):
6673         Constify.
6674
6675 2017-09-27  Tom Tromey  <tom@tromey.com>
6676
6677         * top.c (new_ui_command): Constify.
6678
6679 2017-09-27  Tom Tromey  <tom@tromey.com>
6680
6681         * symfile.c (add_symbol_file_command)
6682         (remove_symbol_file_command, list_overlays_command)
6683         (map_overlay_command, unmap_overlay_command)
6684         (overlay_auto_command, overlay_manual_command)
6685         (overlay_off_command, overlay_load_command): Constify.
6686
6687 2017-09-27  Tom Tromey  <tom@tromey.com>
6688
6689         * spu-tdep.c (info_spu_event_command, info_spu_signal_command)
6690         (info_spu_mailbox_command, info_spu_dma_command)
6691         (info_spu_proxydma_command): Constify.
6692
6693 2017-09-27  Tom Tromey  <tom@tromey.com>
6694
6695         * cli/cli-logging.c (set_logging_on, set_logging_off): Constify.
6696
6697 2017-09-27  Tom Tromey  <tom@tromey.com>
6698
6699         * cli/cli-script.c (user_defined_command): Constify.
6700
6701 2017-09-27  Tom Tromey  <tom@tromey.com>
6702
6703         * cli/cli-dump.c (dump_memory_command, dump_value_command)
6704         (dump_srec_memory, dump_srec_value, dump_ihex_memory)
6705         (dump_ihex_value, dump_verilog_memory, dump_verilog_value)
6706         (dump_tekhex_memory, dump_tekhex_value, dump_binary_memory)
6707         (dump_binary_value, append_binary_memory, append_binary_value):
6708         Constify.
6709         (struct dump_context) <func>: Constify.
6710         (add_dump_command): Update.
6711
6712 2017-09-27  Tom Tromey  <tom@tromey.com>
6713
6714         * cli/cli-cmds.c (show_version, show_configuration)
6715         (source_command, show_user): Constify.
6716
6717 2017-09-27  Tom Tromey  <tom@tromey.com>
6718
6719         * target.c (maintenance_print_target_stack): Constify.
6720
6721 2017-09-27  Tom Tromey  <tom@tromey.com>
6722
6723         * interps.c (interpreter_exec_cmd): Constify.
6724
6725 2017-09-27  Tom Tromey  <tom@tromey.com>
6726
6727         * record-full.c (cmd_record_full_restore): Constify.
6728
6729 2017-09-27  Tom Tromey  <tom@tromey.com>
6730
6731         * memattr.c (enable_mem_command, disable_mem_command)
6732         (delete_mem_command): Constify.
6733
6734 2017-09-27  Tom Tromey  <tom@tromey.com>
6735
6736         * value.c (show_convenience): Constify.
6737
6738 2017-09-27  Tom Tromey  <tom@tromey.com>
6739
6740         * gdbcore.h (core_file_command): Update.
6741         * corefile.c (core_file_command): Constify.
6742
6743 2017-09-27  Tom Tromey  <tom@tromey.com>
6744
6745         * user-regs.c (maintenance_print_user_registers): Constify.
6746
6747 2017-09-27  Tom Tromey  <tom@tromey.com>
6748
6749         * cp-namespace.c (maintenance_cplus_namespace): Constify.
6750
6751 2017-09-27  Tom Tromey  <tom@tromey.com>
6752
6753         * cp-support.c (first_component_command): Constify.
6754
6755 2017-09-27  Tom Tromey  <tom@tromey.com>
6756
6757         * psymtab.c (maintenance_print_psymbols)
6758         (maintenance_info_psymtabs, maintenance_check_psymtabs):
6759         Constify.
6760
6761 2017-09-27  Tom Tromey  <tom@tromey.com>
6762
6763         * windows-tdep.c (display_tib): Constify.
6764
6765 2017-09-27  Tom Tromey  <tom@tromey.com>
6766
6767         * linux-fork.c (delete_checkpoint_command)
6768         (detach_checkpoint_command): Constify.
6769
6770 2017-09-27  Tom Tromey  <tom@tromey.com>
6771
6772         * cp-abi.c (set_cp_abi_cmd, show_cp_abi_cmd): Constify.
6773
6774 2017-09-27  Tom Tromey  <tom@tromey.com>
6775
6776         * arc-tdep.c (dump_arc_instruction_command): Constify.
6777
6778 2017-09-27  Tom Tromey  <tom@tromey.com>
6779
6780         * valprint.c (set_radix, show_radix): Constify.
6781
6782 2017-09-27  Tom Tromey  <tom@tromey.com>
6783
6784         * dtrace-probe.c (info_probes_dtrace_command): Constify.
6785
6786 2017-09-27  Tom Tromey  <tom@tromey.com>
6787
6788         * command.h (not_just_help_class_command): Update.
6789         * cli/cli-decode.h (not_just_help_class_command): Update.
6790         * cli/cli-decode.c (not_just_help_class_command): Constify.
6791
6792 2017-09-27  Tom Tromey  <tom@tromey.com>
6793
6794         * gdb_bfd.c (maintenance_info_bfds): Constify.
6795
6796 2017-09-27  Tom Tromey  <tom@tromey.com>
6797
6798         * cli/cli-decode.c (add_cmd, set_cmd_cfunc): New function
6799         overloads.
6800         (do_add_cmd): Rename from add_cmd.  Don't call set_cmd_cfunc.
6801         (do_const_cfunc): New function.
6802         (cmd_cfunc_eq): New overload.
6803         (cli_user_command_p): Check do_const_cfunc.
6804         * cli/cli-decode.h (struct cmd_list_element) <function>: New field
6805         const_cfunc.
6806         * command.h (add_cmd): Add const overload and no-function
6807         overload.
6808         (set_cmd_cfunc): Add const overload.
6809         (cmd_const_cfunc_ftype): Declare.
6810         (cmd_cfunc_eq): Add const overload.
6811         * breakpoint.c, cli-cmds.c, cli-dump.c, guile/scm-cmd.c,
6812         python/py-cmd.c, target.c, tracepoint.c: Use no-function add_cmd
6813         overload.
6814
6815 2017-09-27  Tom Tromey  <tom@tromey.com>
6816
6817         * macroexp.c (get_next_token_for_substitution): New function.
6818         (substitute_args): Call it.  Check for __VA_OPT__.
6819
6820 2017-09-26  Walfred Tedeschi  <walfred.tedeschi@intel.com>
6821             Pedro Alves <palves@redhat.com>
6822
6823         * dwarf2read.c (dwarf2_cu): Remove field producer_is_icc and add
6824         producer_is_icc_lt_14.
6825         (producer_is_icc_lt_14): New function.
6826         (check_producer): Add code for checking version of ICC.
6827         (producer_is_icc): Move to producer.c.
6828         (read_structure_type): Restrict ICC workaround to ICC<14.
6829         * producer.c: Include selftest.h.
6830         (producer_is_icc, producer_parsing_tests, _initialize_producer):
6831         New functions.
6832         * producer.h (producer_is_icc): New declaration.
6833
6834 2017-09-26  Walfred Tedeschi  <walfred.tedeschi@intel.com>
6835
6836         * Makefile.in (SFILES): Add producer.c.
6837         (COMMON_OBS): Add producer.o
6838         * amd64-tdep.c (producer.h): Add new include.
6839         * dwarf2read.c (producer.h): Add new include.
6840         * producer.c: New file.
6841         * producer.h: New file.
6842         * utils.c (producer_is_gcc, producer_is_gcc_ge_4): Move to
6843         producer.c.
6844         * utils.h (producer_is_gcc, producer_is_gcc_ge_4): Move to
6845         producer.h.
6846
6847 2017-09-26  Matthias Klose  <doko@ubuntu.com>
6848
6849         * configure.ac: Search ncursesw before ncurses.
6850         Check ncursesw/ncurses.h before ncurses/ncurses.h.
6851         * gdb_curses.h: Include <ncursesw/ncurses.h>
6852         * config.in, configure: Regenerate.
6853
6854 2017-09-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6855
6856         PR gdb/22185
6857         * configure.host <*-*-solaris2.[01], *-*-solaris2.[2-9]*>: Mark as
6858         obsolete.
6859         Use gdb_host sol2 for i[34567]86-*-solaris2*, x86_64-*-solaris2*.
6860         Remove i386sol2 support.
6861         * configure.nat <i386sol2>: Remove.
6862         <sol2-64>: Fold into ...
6863         <sol2>: ... this.
6864         Move common settings to default section.
6865         Add sol-thread.o.
6866         * configure.tgt <i[34567]86-*-solaris2.1[0-9]*,
6867         x86_64-*-solaris2.1[0-9]*>: Rename to ...
6868         <i[34567]86-*-solaris2*, x86_64-*-solaris2*>: ... this.
6869         <i[34567]86-*-solaris*>: Remove.
6870         <sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*>: Remove.
6871
6872         * configure.ac: Remove wctype in libw check.
6873         (_MSE_INT_H): Don't define on Solaris 7-9.
6874         <solaris*>: Remove libthread_db.so.1 check.
6875         * configure: Regenerate.
6876         * config.in: Regenerate.
6877
6878         * proc-service.c: Remove PROC_SERVICE_IS_OLD handling.
6879         (gdb_ps_prochandle_t, gdb_ps_read_buf_t, gdb_ps_write_buf_t)
6880         (gdb_ps_size_t): Remove.
6881         Use base types in users.
6882         * sol-thread.c: Likewise, also for gdb_ps_addr_t.
6883
6884         * NEWS (Changes since GDB 8.0): Document Solaris 2.0-9 removal.
6885
6886 2017-09-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6887
6888         PR build/22206
6889         * sparc64-tdep.c (adi_tag_fd): Print pid as long.
6890         (adi_is_addr_mapped): Likewise.
6891         (PSR_ICC): Don't redefine.
6892         (PSR_IMPL): Likewise.
6893
6894 2017-09-25  Tom Tromey  <tom@tromey.com>
6895
6896         * regcache.c (regcache::dump): Use string_printf.
6897
6898 2017-09-25  Tom Tromey  <tom@tromey.com>
6899
6900         * regcache.c (class regcache_invalidator): New.
6901         (struct register_to_invalidate): Remove.
6902         (make_cleanup_regcache_invalidate): Remove.
6903         (regcache::raw_write): Use regcache_invalidator.
6904
6905 2017-09-25  Tom Tromey  <tom@tromey.com>
6906
6907         * spu-tdep.c (spu2ppu_sniffer): Update.
6908         * regcache.h (make_cleanup_regcache_xfree): Don't declare.
6909         * regcache.c (do_regcache_xfree, make_cleanup_regcache_xfree):
6910         Remove.
6911         * ppc-linux-tdep.c (ppu2spu_sniffer): Update.
6912         * mi/mi-main.c (mi_cmd_data_list_changed_registers): Update.
6913         * frame.h (frame_save_as_regcache): Return std::unique_ptr.
6914         * frame.c (frame_save_as_regcache): Return std::unique_ptr.
6915         (frame_pop): Update.
6916
6917 2017-09-25  Tom Tromey  <tom@tromey.com>
6918
6919         * spu-tdep.c (spu2ppu_dealloc_cache): Use delete.
6920         * regcache.h (regcache_xfree): Don't declare.
6921         * regcache.c (regcache_xfree): Remove.
6922         (do_regcache_xfree): Use delete.
6923         * ppc-linux-tdep.c (ppu2spu_dealloc_cache): Use delete.
6924         * linux-fork.c (free_fork): Use delete.
6925         (fork_save_infrun_state): Likewise.
6926         * jit.c (jit_dealloc_cache): Use delete.
6927         * infrun.c (discard_infcall_suspend_state): Use delete.
6928
6929 2017-09-25  Tom Tromey  <tom@tromey.com>
6930
6931         * regcache.h (regcache_xmalloc): Don't declare.
6932         (regcache_raw_set_cached_value): Update comment.
6933         * regcache.c (regcache_xmalloc): Remove.
6934         * ppc-linux-tdep.c (ppu2spu_sniffer): Use new.
6935         * jit.c (jit_frame_sniffer): Use new.
6936         * frame.c (frame_save_as_regcache): Use new.
6937
6938 2017-09-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6939
6940         * NEWS: Advertise support for guarded-storage registers on IBM z.
6941
6942 2017-09-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6943
6944         * s390-linux-nat.c (have_regset_gs): New static variable.
6945         (s390_linux_fetch_inferior_registers): Handle guarded-storage
6946         control block and guarded-storage broadcast control regsets.
6947         (s390_read_description): Detect whether the target has
6948         guarded-storage support, return appropriate tdesc.
6949         * s390-linux-tdep.c (features/s390-gs-linux64.c): New include.
6950         (features/s390x-gs-linux64.c): Likewise.
6951         (struct gdbarch_tdep) <have_gs>: New field.
6952         (s390_regmap_gs, s390_regmap_gsbc, s390_gs_regset)
6953         (s390_gsbc_regset): New variables.
6954         (s390_iterate_over_regset_sections): Iterate over s390_gs_regset
6955         and s390_gsbc_regset, if applicable.
6956         (s390_core_read_description): Check whether core file was from a
6957         target with guarded-storage support; include appropriate regsets.
6958         (s390_gdbarch_init): Add registers for guarded-storage support.
6959         (_initialize_s390_tdep): Initialize new target descriptions that
6960         include registers for guarded-storage support.
6961         * s390-linux-tdep.h (HWCAP_S390_GS, S390_GSD_REGNUM)
6962         (S390_GSSM_REGNUM, S390_GSEPLA_REGNUM)
6963         (S390_BC_GSD_REGNUM, S390_BC_GSSM_REGNUM): New defines.
6964         (S390_NUM_REGS): Adjust macro definition.
6965         (s390_gs_regset, s390_gsbc_regset, tdesc_s390_gs_linux64)
6966         (tdesc_s390x_gs_linux64): New declarations.
6967
6968 2017-09-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6969
6970         * features/s390-gs-linux64.xml: New file.
6971         * features/s390-gs.xml: New file.
6972         * features/s390-gsbc.xml: New file.
6973         * features/s390x-gs-linux64.xml: New file.
6974         * features/Makefile (WHICH): Add s390-gs-linux64 and
6975         s390x-gs-linux64.
6976         (s390-gs-linux64-expedite, s390x-gs-linux64-expedite): New macros.
6977         (XMLTOC): Add s390-gs-linux64.xml and s390x-linux64.xml.
6978         * features/s390-gs-linux64.c: New generated file.
6979         * features/s390x-gs-linux64.c: New file.
6980         * regformats/s390-gs-linux64.dat: New file.
6981         * regformats/s390x-gs-linux64.dat: New file.
6982
6983 2017-09-23  Tom Tromey  <tom@tromey.com>
6984
6985         * defs.h (make_cleanup_override_quit_handler): Don't declare.
6986
6987 2017-09-22  Tom Tromey  <tom@tromey.com>
6988
6989         * utils.c (class scoped_input_handler) <m_quit_handler>: Change
6990         type to scoped_restore_tmpl.
6991         <scoped_input_handler>: Initialize m_quit_handler directly.
6992
6993 2017-09-22  Sergio Durigan Junior  <sergiodj@redhat.com>
6994
6995         * cli/cli-cmds.c (pwd_command): Use "getcwd (NULL, 0)".
6996         (cd_command): Likewise.  Free "current_directory" before
6997         assigning to it.
6998         * main.c (captured_main_1): Use "getcwd (NULL, 0)".
6999         * mi/mi-cmd-env.c (mi_cmd_env_pwd): Likewise.
7000         * top.c (gdb_dirbuf): Remove global declaration.
7001         * top.h (gdb_dirbuf): Likewise.
7002
7003 2017-09-22  Sergio Durigan Junior  <sergiodj@redhat.com>
7004
7005         * gnulib/aclocal.m4: Regenerate.
7006         * gnulib/config.in: Regenerate.
7007         * gnulib/configure: Regenerate.
7008         * gnulib/import/Makefile.am: Regenerate.
7009         * gnulib/import/Makefile.in: Regenerate.
7010         * gnulib/import/assure.h: New file.
7011         * gnulib/import/at-func.c: Likewise
7012         * gnulib/import/chdir-long.c: New file.
7013         * gnulib/import/chdir-long.h: New file.
7014         * gnulib/import/cloexec.c: New file.
7015         * gnulib/import/cloexec.h: New file.
7016         * gnulib/import/close.c: New file.
7017         * gnulib/import/closedir.c: New file.
7018         * gnulib/import/dirent-private.h: New file.
7019         * gnulib/import/dup-safer.c: New file.
7020         * gnulib/import/dup.c: New file.
7021         * gnulib/import/dup2.c: New file.
7022         * gnulib/import/error.c: New file.
7023         * gnulib/import/error.h: New file.
7024         * gnulib/import/exitfail.c: New file.
7025         * gnulib/import/exitfail.h: New file.
7026         * gnulib/import/fchdir.c: New file.
7027         * gnulib/import/fcntl.c: New file.
7028         * gnulib/import/fcntl.in.h: New file.
7029         * gnulib/import/fd-hook.c: New file.
7030         * gnulib/import/fd-hook.h: New file.
7031         * gnulib/import/fd-safer.c: New file.
7032         * gnulib/import/fdopendir.c: New file.
7033         * gnulib/import/filename.h: New file.
7034         * gnulib/import/filenamecat-lgpl.c: New file.
7035         * gnulib/import/filenamecat.h: New file.
7036         * gnulib/import/fstat.c: New file.
7037         * gnulib/import/fstatat.c: New file.
7038         * gnulib/import/getcwd-lgpl.c: New file.
7039         * gnulib/import/getcwd.c: New file.
7040         * gnulib/import/getdtablesize.c: New file.
7041         * gnulib/import/getlogin_r.c: New file.
7042         * gnulib/import/getprogname.c: New file.
7043         * gnulib/import/getprogname.h: New file.
7044         * gnulib/import/gettext.h: New file.
7045         * gnulib/import/glob-libc.h: New file.
7046         * gnulib/import/glob.c: New file.
7047         * gnulib/import/glob.in.h: New file.
7048         * gnulib/import/intprops.h: New file.
7049         * gnulib/import/m4/chdir-long.m4: New file.
7050         * gnulib/import/m4/close.m4: New file.
7051         * gnulib/import/m4/closedir.m4: New file.
7052         * gnulib/import/m4/d-ino.m4: New file.
7053         * gnulib/import/m4/d-type.m4: New file.
7054         * gnulib/import/m4/dup.m4: New file.
7055         * gnulib/import/m4/dup2.m4: New file.
7056         * gnulib/import/m4/error.m4: New file.
7057         * gnulib/import/m4/fchdir.m4: New file.
7058         * gnulib/import/m4/fcntl.m4: New file.
7059         * gnulib/import/m4/fcntl_h.m4: New file.
7060         * gnulib/import/m4/fdopendir.m4: New file.
7061         * gnulib/import/m4/filenamecat.m4: New file.
7062         * gnulib/import/m4/fstat.m4: New file.
7063         * gnulib/import/m4/fstatat.m4: New file.
7064         * gnulib/import/m4/getcwd-abort-bug.m4: New file.
7065         * gnulib/import/m4/getcwd-path-max.m4: New file.
7066         * gnulib/import/m4/getcwd.m4: New file.
7067         * gnulib/import/m4/getdtablesize.m4: New file.
7068         * gnulib/import/m4/getlogin_r.m4: New file.
7069         * gnulib/import/m4/getprogname.m4: New file.
7070         * gnulib/import/m4/glob.m4: New file.
7071         * gnulib/import/m4/gnulib-cache.m4: Regenerate.
7072         * gnulib/import/m4/gnulib-comp.m4: Regenerate.
7073         * gnulib/import/m4/mempcpy.m4: New file.
7074         * gnulib/import/m4/memrchr.m4: New file.
7075         * gnulib/import/m4/mode_t.m4: New file.
7076         * gnulib/import/m4/msvc-inval.m4: New file.
7077         * gnulib/import/m4/msvc-nothrow.m4: New file.
7078         * gnulib/import/m4/open.m4: New file.
7079         * gnulib/import/m4/openat.m4: New file.
7080         * gnulib/import/m4/opendir.m4: New file.
7081         * gnulib/import/m4/readdir.m4: New file.
7082         * gnulib/import/m4/realloc.m4: New file.
7083         * gnulib/import/m4/rewinddir.m4: New file.
7084         * gnulib/import/m4/save-cwd.m4: New file.
7085         * gnulib/import/m4/strdup.m4: New file.
7086         * gnulib/import/m4/strerror.m4: New file.
7087         * gnulib/import/m4/unistd-safer.m4: New file.
7088         * gnulib/import/mempcpy.c: New file.
7089         * gnulib/import/memrchr.c: New file.
7090         * gnulib/import/msvc-inval.c: New file.
7091         * gnulib/import/msvc-inval.h: New file.
7092         * gnulib/import/msvc-nothrow.c: New file.
7093         * gnulib/import/msvc-nothrow.h: New file.
7094         * gnulib/import/open.c: New file.
7095         * gnulib/import/openat-die.c: New file.
7096         * gnulib/import/openat-priv.h: New file.
7097         * gnulib/import/openat-proc.c: New file.
7098         * gnulib/import/openat.c: New file.
7099         * gnulib/import/openat.h: New file.
7100         * gnulib/import/opendir.c: New file.
7101         * gnulib/import/pipe-safer.c: New file.
7102         * gnulib/import/readdir.c: New file.
7103         * gnulib/import/realloc.c: New file.
7104         * gnulib/import/rewinddir.c: New file.
7105         * gnulib/import/save-cwd.c: New file.
7106         * gnulib/import/save-cwd.h: New file.
7107         * gnulib/import/strdup.c: New file.
7108         * gnulib/import/strerror-override.c: New file.
7109         * gnulib/import/strerror-override.h: New file.
7110         * gnulib/import/strerror.c: New file.
7111         * gnulib/import/unistd--.h: New file.
7112         * gnulib/import/unistd-safer.h: New file.
7113         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add
7114         "getcwd" and "glob".
7115         * ser-tcp.c: Undefine "close" before redefining it.
7116
7117 2017-09-21  Simon Marchi  <simon.marchi@ericsson.com>
7118
7119         * guile/scm-value.c (gdbscm_value_address): Initialize address,
7120         get rid of res_val.
7121
7122 2017-09-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7123
7124         * configure.nat <i386sol2,i386>: Add fork-inferior.o to NATDEPFILES.
7125         <sol2,sparc>: Likewise.
7126         <sol2-64,i386>: Likewise.
7127
7128         * warning.m4 (AM_GDB_WARNINGS): Disable -Wunknown-pragmas,
7129         -Wdeprecated-declarations on *-*-solaris*.
7130         * configure: Regenerate.
7131
7132         * procfs.c: Include "nat/inferior.h".
7133         (procfs_info_proc): Fix typo.
7134
7135 2017-09-21  Kevin Buettner  <kevinb@redhat.com>
7136
7137         * remote.c (vector): Include.
7138         (struct private_thread_info): Add field, thread_handle.
7139         (free_private_thread_info): Deallocate storage associated with
7140         thread handle.
7141         (get_private_info_thread): Initialize `thread_handle' field.
7142         (struct thread_item): Add field, thread_handle.
7143         (clear_threads_listing_context): Deallocate storage associated
7144         with thread handle.
7145         (start_thread): Add support for "handle" attribute.
7146         (thread_attributes): Add "handle".
7147         (remote_get_threads_with_qthreadinfo): Initialize thread_handle
7148         field.
7149         (remote_update_thread_list): Update thread_handle.
7150         (remote_thread_handle_to_thread_info): New function.
7151         (init_remote_ops): Initialize to_thread_handle_to_thread_info.
7152
7153 2017-09-21  Kevin Buettner  <kevinb@redhat.com>
7154
7155         * python/py-inferior.c (gdbpy_thread_from_thread_handle): New
7156         function.
7157         (inferior_object_methods): Add gdbpy_thread_from_thread_handle.
7158         * python/python-internal.h (thread_object_type): Declare.
7159
7160 2017-09-21  Kevin Buettner  <kevinb@redhat.com>
7161
7162         * target.h (struct target_ops): Add to_thread_handle_to_thread_info.
7163         (target_thread_handle_to_thread_info): Declare.
7164         * target.c (target_thread_handle_to_thread_info): New function.
7165         * target-delegates.c: Regenerate.
7166         * gdbthread.h (find_thread_by_handle): Declare.
7167         * thread.c (find_thread_by_handle): New function.
7168         * linux-thread-db.c (thread_db_thread_handle_to_thread_info): New
7169         function.
7170         (init_thread_db_ops): Register thread_db_thread_handle_to_thread_info.
7171
7172 2017-09-21  Simon Marchi  <simon.marchi@ericsson.com>
7173
7174         * nat/linux-waitpid.c (linux_debug): Add ATTRIBUTE_PRINTF.
7175
7176 2017-09-21  Simon Marchi  <simon.marchi@ericsson.com>
7177
7178         * microblaze-tdep.c (microblaze_debug): Add ATTRIBUTE_PRINTF.
7179
7180 2017-09-21  Yao Qi  <yao.qi@linaro.org>
7181
7182         * configure.tgt (aarch64*-*-freebsd*): Add fbsd-tdep.o solib-svr4.o
7183         to gdb_target_obs.
7184
7185 2017-09-20  Tom Tromey  <tom@tromey.com>
7186
7187         * breakpoint.c (struct counted_command_line): Remove.
7188         (breakpoint_commands): Update.
7189         (alloc_counted_command_line, incref_counted_command_line)
7190         (decref_counted_command_line, do_cleanup_counted_command_line)
7191         (make_cleanup_decref_counted_command_line): Remove.
7192         (breakpoint_set_commands, commands_command_1, ~bpstats, bpstats)
7193         (bpstat_clear_actions, bpstat_do_actions_1, watchpoint_check)
7194         (bpstat_stop_status, print_one_breakpoint_location, ~breakpoint)
7195         (save_breakpoints): Update.
7196         * breakpoint.h (counted_command_line): Now a typedef to
7197         shared_ptr.
7198         (struct breakpoint) <commands>: Now a counted_command_line.
7199         (struct bpstats) <command>: Likewise.
7200
7201 2017-09-20  Tom Tromey  <tom@tromey.com>
7202
7203         * breakpoint.c (struct commands_info, do_map_commands_command):
7204         Remove.
7205         (commands_command_1): Update.
7206         (iterate_over_related_breakpoints): Take a function_view.
7207         (do_delete_breakpoint, do_map_delete_breakpoint): Remove.
7208         (delete_command): Update.
7209         (map_breakpoint_numbers): Take a function_view.
7210         (do_disable_breakpoint, do_map_delete_breakpoint): Remove.
7211         (disable_command): Update.
7212         (do_enable_breakpoint, do_map_enable_breakpoint): Remove.
7213         (enable_command): Update.
7214         (struct disp_data, do_enable_breakpoint_disp)
7215         (do_map_enable_once_breakpoint, do_map_enable_count_breakpoint)
7216         (do_map_enable_delete_breakpoint): Remove.
7217         (enable_once_command, enable_count_command, enable_delete_command)
7218         (delete_trace_variable_command): Update.
7219
7220 2017-09-20  Tom Tromey  <tom@tromey.com>
7221
7222         * breakpoint.c (~bpstats): Rename from bpstat_free.  Update.
7223         (bpstat_clear): Use delete.
7224         (bpstats): New constructors.
7225         (bpstat_copy, bpstat_stop_status): Use new.
7226         (dprintf_after_condition_true): Update.
7227         * breakpoint.h (bpstats::bpstats): Add constructors.
7228         (bpstats::~bpstats): Add destructor.
7229
7230 2017-09-20  Pedro Alves  <palves@redhat.com>
7231
7232         * eval.c (make_params): Delete, refactored as ...
7233         (class fake_method): ... this new type's ctor.
7234         (fake_method::~fake_method): New.
7235         (evaluate_subexp_standard): Use 'fake_method'.
7236
7237 2017-09-20  Tom Tromey  <tom@tromey.com>
7238
7239         * windows-nat.c (get_windows_debug_event, windows_wait)
7240         (do_initial_windows_stuff, windows_attach): Update.
7241         * utils.c (vwarning, internal_vproblem): Update.
7242         (ui_unregister_input_event_handler_cleanup)
7243         (prepare_to_handle_input): Remove.
7244         (class scoped_input_handler): New.
7245         (defaulted_query, prompt_for_continue): Update.
7246         * tui/tui-hooks.c (tui_refresh_frame_and_register_information):
7247         Update.
7248         * top.c (undo_terminal_modifications_before_exit): Update.
7249         * target/target.h (target_terminal_init, target_terminal_inferior)
7250         (target_terminal_ours): Don't declare.
7251         (class target_terminal): New.
7252         * target.h (target_terminal_is_inferior, target_terminal_is_ours)
7253         (target_terminal_ours_for_output)
7254         (make_cleanup_restore_target_terminal): Don't declare.
7255         (target_terminal_info): Remove.
7256         * target.c (enum terminal_state, terminal_state): Remove.
7257         (target_terminal::terminal_state): Define.
7258         (target_terminal::init): Rename from target_terminal_init.
7259         (target_terminal::inferior): Rename from
7260         target_terminal_inferior.
7261         (target_terminal::ours): Rename from target_terminal_ours.
7262         (target_terminal::ours_for_output): Rename from
7263         target_terminal_ours_for_output.
7264         (target_terminal::info): New method.
7265         (cleanup_restore_target_terminal)
7266         (make_cleanup_restore_target_terminal): Remove.
7267         * solib.c (handle_solib_event): Update.
7268         * remote.c (remote_serial_quit_handler): Update.
7269         (remote_terminal_inferior, remote_wait_as): Update.
7270         * record-full.c (record_full_wait_1): Update.
7271         * nto-procfs.c (procfs_create_inferior): Update.
7272         * nat/fork-inferior.c (startup_inferior): Update.
7273         * mi/mi-interp.c (mi_new_thread, mi_thread_exit)
7274         (mi_record_changed, mi_inferior_added, mi_inferior_appeared)
7275         (mi_inferior_exit, mi_inferior_removed, mi_traceframe_changed)
7276         (mi_tsv_created, mi_tsv_deleted, mi_tsv_modified)
7277         (mi_breakpoint_created, mi_breakpoint_deleted)
7278         (mi_breakpoint_modified, mi_on_resume, mi_solib_loaded)
7279         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
7280         (mi_user_selected_context_changed, report_initial_inferior):
7281         Update.
7282         * linux-nat.c (linux_nat_attach, linux_nat_terminal_ours)
7283         (linux_nat_terminal_inferior): Update.
7284         * infrun.c (follow_fork_inferior)
7285         (handle_vfork_child_exec_or_exit, do_target_resume)
7286         (check_curr_ui_sync_execution_done, handle_inferior_event_1)
7287         (handle_signal_stop, maybe_remove_breakpoints, normal_stop):
7288         Update.
7289         * inflow.c (child_terminal_init, info_terminal_command): Update.
7290         * infcmd.c (post_create_inferior, continue_1, prepare_one_step)
7291         (attach_command): Update.
7292         * infcall.c (call_thread_fsm_should_stop): Update.
7293         * gnu-nat.c (gnu_attach): Update.
7294         * extension.c (struct active_ext_lang_state)
7295         (restore_active_ext_lang): Update.
7296         * exceptions.c (print_flush): Update.
7297         * event-top.c (async_enable_stdin, default_quit_handler): Update.
7298         (struct quit_handler_cleanup_data, restore_quit_handler)
7299         (restore_quit_handler_dtor, make_cleanup_override_quit_handler):
7300         Remove.
7301         * cp-support.c (gdb_demangle): Update.
7302         * breakpoint.c (update_inserted_breakpoint_locations)
7303         (insert_breakpoint_locations, handle_jit_event)
7304         (disable_breakpoints_in_unloaded_shlib): Update.
7305         * annotate.c (annotate_breakpoints_invalid)
7306         (annotate_frames_invalid): Update.
7307
7308 2017-09-20  Tom Tromey  <tom@tromey.com>
7309
7310         * main.c (catch_command_errors): Rename from
7311         catch_command_errors_const.
7312         (captured_main_1): Update.
7313
7314 2017-09-20  Pedro Alves  <palves@redhat.com>
7315
7316         * cli/cli-cmds.c (list_command): Use print_sal_location.
7317         (print_sal_location): New function.
7318         (ambiguous_line_spec): Use print_sal_location.
7319         * linespec.c (symbol_to_sal): Record the symbol in the sal.
7320         * symtab.c (find_function_start_sal): Likewise.
7321         * symtab.h (symtab_and_line::symbol): New field.
7322
7323 2017-09-20  Pedro Alves  <palves@redhat.com>
7324
7325         * linespec.c (minsym_found): Handle non-text minsyms.
7326         (symbol_to_sal): Record a sal.pc for non-block, non-label symbols.
7327
7328 2017-09-20  Walfred Tedeschi  <walfred.tedeschi@intel.com>
7329
7330         * features/Makefile (i386-avx-mpx-avx512-pku.dat): Add missing
7331         backslash.
7332
7333 2017-09-20  Walfred Tedeschi  <walfred.tedeschi@intel.com>
7334
7335         * gdb.arch/i386-avx512.c (move_zmm_data_to_reg): Use
7336         vmovups instead vmovaps.
7337         (move_zmm_data_to_memory): Use vmovups instead vmovaps.
7338
7339 2017-09-19  John Baldwin  <jhb@FreeBSD.org>
7340
7341         * NEWS (Changes since GDB 8.0): Add starti.
7342         * infcmd.c (enum run_break): New.
7343         (run_command_1): Queue pending event for RUN_STOP_AT_FIRST_INSN
7344         case.
7345         (run_command): Use enum run_how.
7346         (start_command): Likewise.
7347         (starti_command): New function.
7348         (RUN_ARGS_HELP): New macro.
7349         (_initialize_infcmd): Use RUN_ARGS_HELP for run and start
7350         commands.  Add starti command.
7351
7352 2017-09-19  Yao Qi  <yao.qi@linaro.org>
7353
7354         * Makefile.in (monitor.o): Remove the rule.
7355
7356 2017-09-19  Yao Qi  <yao.qi@linaro.org>
7357
7358         * annotate.h (struct annotate_arg_emitter): Use
7359         DISABLE_COPY_AND_ASSIGN.
7360         * common/refcounted-object.h (refcounted_object): Likewise.
7361         * completer.h (struct completion_result): Likewise.
7362         * dwarf2read.c (struct dwarf2_per_objfile): Likewise.
7363         * filename-seen-cache.h (filename_seen_cache): Likewise.
7364         * gdbcore.h (thread_section_name): Likewise.
7365         * gdb_regex.h (compiled_regex): Likewise.
7366         * gdbthread.h (scoped_restore_current_thread): Likewise.
7367         * inferior.h (scoped_restore_current_inferior): Likewise.
7368         * jit.c (jit_reader): Likewise.
7369         * linespec.h (struct linespec_result): Likewise.
7370         * mi/mi-parse.h (struct mi_parse): Likewise.
7371         * nat/fork-inferior.c (execv_argv): Likewise.
7372         * progspace.h (scoped_restore_current_program_space): Likewise.
7373         * python/python-internal.h (class gdbpy_enter): Likewise.
7374         * regcache.h (regcache): Likewise.
7375         * target-descriptions.c (struct tdesc_reg): Likewise.
7376         (struct tdesc_type): Likewise.
7377         (struct tdesc_feature): Likewise.
7378         * ui-out.h (ui_out_emit_type): Likewise.
7379
7380 2017-09-18  Simon Marchi  <simon.marchi@ericsson.com>
7381
7382         * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Remove
7383         label abort_expression.
7384
7385 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7386
7387         * common/buffer.c (buffer_xml_printf): Adjust.
7388         * common/xml-utils.c (xml_escape_text): Change return type to
7389         std::string, update code accordingly.
7390         * common/xml-utils.h (xml_escape_text): Change return type to
7391         std::string.
7392         * rs6000-aix-tdep.c (rs6000_aix_shared_library_to_xml): Adjust.
7393         * windows-tdep.c (windows_xfer_shared_library): Adjust.
7394         * unittests/xml-utils-selftests.c (test_xml_escape_text):
7395         Adjust.
7396
7397 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7398
7399         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add new source file.
7400         (SUBDIR_UNITTESTS_OBS): Add new object file.
7401         * unittests/xml-utils-selftests.c: New file.
7402
7403 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7404
7405         * common/selftest.h (selftest): New struct/interface.
7406         (register_test): Add name parameter, add new overload.
7407         (run_tests): Add filter parameter.
7408         (for_each_selftest_ftype): New typedef.
7409         (for_each_selftest): New declaration.
7410         * common/selftest.c (tests): Change type to
7411         map<string, unique_ptr<selftest>>.
7412         (simple_selftest): New struct.
7413         (register_test): New function.
7414         (register_test): Add name parameter and use it.
7415         (run_tests): Add filter parameter and use it.  Add prints.
7416         Adjust to vector -> map change.
7417         * aarch64-tdep.c (_initialize_aarch64_tdep): Add names when
7418         registering selftests.
7419         * arm-tdep.c (_initialize_arm_tdep): Likewise.
7420         * disasm-selftests.c (_initialize_disasm_selftests): Likewise.
7421         * dwarf2-frame.c (_initialize_dwarf2_frame): Likewise.
7422         * dwarf2loc.c (_initialize_dwarf2loc): Likewise.
7423         * findvar.c (_initialize_findvar): Likewise.
7424         * gdbarch-selftests.c (_initialize_gdbarch_selftests): Likewise.
7425         * maint.c (maintenance_selftest): Update call to run_tests.
7426         (maintenance_info_selftests): New function.
7427         (_initialize_maint_cmds): Register "maintenance info selftests"
7428         command.  Update "maintenance selftest" doc.
7429         * regcache.c (_initialize_regcache): Add names when registering
7430         selftests.
7431         * rust-exp.y (_initialize_rust_exp): Likewise.
7432         * selftest-arch.c (gdbarch_selftest): New struct.
7433         (gdbarch_tests): Remove.
7434         (register_test_foreach_arch): Add name parameter.  Call
7435         register_test.
7436         (tests_with_arch): Remove, move most content to
7437         gdbarch_selftest::operator().
7438         (_initialize_selftests_foreach_arch): Remove.
7439         * selftest-arch.h (register_test_foreach_arch): Add name
7440         parameter.
7441         (run_tests_with_arch): New declaration.
7442         * utils-selftests.c (_initialize_utils_selftests): Add names
7443         when registering selftests.
7444         * utils.c (_initialize_utils): Likewise.
7445         * unittests/array-view-selftests.c
7446         (_initialize_array_view_selftests): Likewise.
7447         * unittests/environ-selftests.c (_initialize_environ_selftests):
7448         Likewise.
7449         * unittests/function-view-selftests.c
7450         (_initialize_function_view_selftests): Likewise.
7451         * unittests/offset-type-selftests.c
7452         (_initialize_offset_type_selftests): Likewise.
7453         * unittests/optional-selftests.c
7454         (_initialize_optional_selftests): Likewise.
7455         * unittests/scoped_restore-selftests.c
7456         (_initialize_scoped_restore_selftests): Likewise.
7457         * NEWS: Document "maintenance selftest" and "maint info
7458         selftests".
7459
7460 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7461
7462         * mi/mi-main.c (mi_load_progress): Restore current_uiout using a
7463         scoped_restore.
7464
7465 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7466
7467         * mi/mi-main.c (mi_load_progress): Make uiout variable
7468         a unique_ptr.
7469
7470 2017-09-15  Pedro Alves  <palves@redhat.com>
7471
7472         * compile/compile-c-types.c (convert_enum, convert_int)
7473         (convert_float): Adjust to refer to int_type_v0 and float_type_v0.
7474
7475 2017-09-15  Simon Marchi  <simon.marchi@ericsson.com>
7476
7477         * dwarf2read.c (copy_string): Remove.
7478         (parse_macro_definition): Replace copy_string with savestring.
7479
7480 2017-09-15  Yao Qi  <yao.qi@linaro.org>
7481
7482         * configure.tgt (i[34567]86-*-darwin*): Append amd64.o to
7483         gdb_target_obs.
7484         (i[34567]86-*-solaris2.1[0-9]* | x86_64-*-solaris2.1[0-9]*):
7485         Likewise.
7486         (i[34567]86-*-linux*): Likewise.
7487
7488 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7489
7490         * dwarf2expr.h (dwarf_stack_value): Add constructor.
7491         (dwarf_expr_context) <~dwarf_expr_context>: Define as default.
7492         <stack>: Change type to std::vector.
7493         <stack_len, stack_allocated>: Remove.
7494         <grow_stack>: Remove.
7495         * dwarf2expr.c (dwarf_expr_context::dwarf_expr_context): Adjust.
7496         (dwarf_expr_context::~dwarf_expr_context): Remove.
7497         (dwarf_expr_context::grow_stack): Remove.
7498         (dwarf_expr_context::push): Adjust.
7499         (dwarf_expr_context::pop): Adjust.
7500         (dwarf_expr_context::fetch): Adjust.
7501         (dwarf_expr_context::fetch_in_stack_memory): Adjust.
7502         (dwarf_expr_context::stack_empty_p): Adjust.
7503         (dwarf_expr_context::execute_stack_op): Adjust.
7504
7505 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7506
7507         * dwarf2expr.h (dwarf_expr_context) <stack_empty_p>: Change
7508         return type to bool.
7509         * dwarf2expr.c (dwarf_expr_context::stack_empty_p): Likewise.
7510
7511 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7512
7513         * dwarf2expr.h (dwarf_expr_piece) <v.mem.in_stack_memory>:
7514         Change type to bool.
7515         (dwarf_stack_value) <in_stack_memory>: Likewise.
7516         (dwarf_expr_context) <push_address>: Change parameter type to
7517         bool.
7518         <fetch_in_stack_memory>: Change return type to bool.
7519         <push>: Change parameter type to bool.
7520         * dwarf2expr.c (dwarf_expr_context::push): Change parameter type
7521         to bool.
7522         (dwarf_expr_context::push_address): Likewise.
7523         (dwarf_expr_context::fetch_in_stack_memory): Change return type
7524         to bool.
7525         (dwarf_expr_context::execute_stack_op): Adjust.
7526         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Adjust.
7527
7528 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7529
7530         * dwarf2expr.h (struct dwarf_expr_piece): Move up.
7531         (struct dwarf_expr_context) <n_pieces>: Remove.
7532         <pieces>: Change type to std::vector.
7533         * dwarf2expr.c (dwarf_expr_context::dwarf_expr_context): Adjust.
7534         (dwarf_expr_context::~dwarf_expr_context): Don't manually free
7535         pieces.
7536         (dwarf_expr_context::add_piece): Adjust.
7537         * dwarf2loc.c (struct piece_closure): Initialize fields.
7538         <n_pieces>: Remove.
7539         <pieces>: Change type to std::vector.
7540         (allocate_piece_closure): Adjust, change parameter to
7541         std::vector rvalue and std::move it to piece_closure.
7542         (rw_pieced_value): Adjust.
7543         (check_pieced_synthetic_pointer): Adjust.
7544         (indirect_synthetic_pointer): Adjust.
7545         (coerce_pieced_ref): Adjust.
7546         (free_pieced_value_closure):  Adjust.  Use delete to free
7547         piece_closure.
7548         (dwarf2_evaluate_loc_desc_full): Adjust.  std::move ctx.pieces
7549         to allocate_piece_closure.
7550         (dwarf2_loc_desc_get_symbol_read_needs): Adjust.
7551
7552 2017-09-12  Simon Marchi  <simon.marchi@ericsson.com>
7553
7554         * probe.h (probe_ops_cp): Remove typedef.
7555         (DEF_VEC_P (probe_ops_cp)): Remove.
7556         (all_probe_ops): Change type to std::vector.
7557         * probe.c (info_probes_for_ops): Adjust to vector change.
7558         (probe_linespec_to_ops): Likewise.
7559         (all_probe_ops): Change type to std::vector.
7560         (_initialize_probe): Adjust to vector change.
7561         * dtrace-probe.c (_initialize_dtrace_probe): Likewise.
7562         * elfread.c (elf_get_probes): Likewise.
7563         * stap-probe.c (_initialize_stap_probe): Likewise.
7564
7565 2017-09-12  Simon Marchi  <simon.marchi@ericsson.com>
7566
7567         * probe.h (struct bound_probe): Define constructors.
7568         * probe.c (bound_probe_s): Remove typedef.
7569         (DEF_VEC_O (bound_probe_s)): Remove VEC.
7570         (collect_probes): Change return type to std::vector, remove
7571         cleanup.
7572         (compare_probes): Return bool, change parameter type.  Change
7573         semantic to "less than".
7574         (gen_ui_out_table_header_info): Change parameter to std::vector
7575         and update.
7576         (exists_probe_with_pops): Likewise.
7577         (info_probes_for_ops): Update to std::vector change.
7578         (enable_probes_command): Likewise.
7579         (disable_probes_command): Likewise.
7580
7581 2017-09-12  Simon Marchi  <simon.marchi@ericsson.com>
7582
7583         * probe.h (struct probe_ops) <get_probes>: Change parameter from
7584         vec to std::vector.
7585         * probe.c (parse_probes_in_pspace): Update.
7586         (find_probes_in_objfile): Update.
7587         (find_probe_by_pc): Update.
7588         (collect_probes): Update.
7589         (probe_any_get_probes): Update.
7590         * symfile.h (struct sym_probe_fns) <sym_get_probes> Change
7591         return type to reference to std::vector.
7592         * dtrace-probe.c (dtrace_process_dof_probe): Change parameter to
7593         std::vector and update.
7594         (dtrace_process_dof): Likewise.
7595         (dtrace_get_probes): Likewise.
7596         * elfread.c (elf_get_probes): Change return type to std::vector,
7597         store an std::vector in bfd_data.
7598         (probe_key_free): Update to std::vector.
7599         * stap-probe.c (handle_stap_probe): Change parameter to
7600         std::vector and update.
7601         (stap_get_probes): Likewise.
7602         * symfile-debug.c (debug_sym_get_probes): Change return type to
7603         std::vector and update.
7604
7605 2017-09-11  Tom Tromey  <tom@tromey.com>
7606
7607         * breakpoint.c (program_breakpoint_here_p): Update.
7608         * target.c (make_scoped_restore_show_memory_breakpoints): Rename
7609         from make_show_memory_breakpoints_cleanup.  Return a
7610         scoped_restore_tmpl<int>.
7611         (restore_show_memory_breakpoints): Remove.
7612         * ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint): Update.
7613         * mem-break.c (memory_validate_breakpoint): Update.
7614         * ia64-tdep.c (ia64_memory_insert_breakpoint): Update.
7615         (ia64_memory_remove_breakpoint): Update.
7616         (ia64_breakpoint_from_pc): Update.
7617         * target.h (make_scoped_restore_show_memory_breakpoints): Rename
7618         from make_show_memory_breakpoints_cleanup.
7619
7620 2017-09-11  Tom Tromey  <tom@tromey.com>
7621
7622         * d-namespace.c (d_lookup_symbol): Use std::string.
7623         (find_symbol_in_baseclass): Likewise.
7624
7625 2017-09-11  Tom Tromey  <tom@tromey.com>
7626
7627         * ctf.c (ctf_start): Use std::string.
7628
7629 2017-09-11  Tom Tromey  <tom@tromey.com>
7630
7631         * ada-lang.c (is_known_support_routine): Update.
7632         (ada_unhandled_exception_name_addr_from_raise): Update.
7633         * guile/scm-frame.c (gdbscm_frame_name): Update.
7634         * python/py-frame.c (frapy_name): Update.
7635         (frapy_function): Update.
7636         * stack.h (find_frame_funname): Update.
7637         * stack.c (find_frame_funname): Return unique_xmalloc_ptr.
7638         (print_frame): Update.
7639
7640 2017-09-11  Tom Tromey  <tom@tromey.com>
7641
7642         * findcmd.c (put_bits): Take a gdb::byte_vector.
7643         (parse_find_args): Return gdb::byte_vector.  "args" now const.
7644         Remove "pattern_bufp" and "pattern_lenp" parameters.  Remove
7645         cleanups.
7646         (find_command): Update.
7647
7648 2017-09-11  Tom Tromey  <tom@tromey.com>
7649
7650         * cli/cli-script.c (class scoped_restore_hook_in): New.
7651         (clear_hook_in_cleanup): Remove.
7652         (execute_cmd_pre_hook, execute_cmd_post_hook): Use
7653         scoped_restore_hook_in.
7654
7655 2017-09-11  Tom Tromey  <tom@tromey.com>
7656
7657         * cli/cli-script.c (restore_interp): Remove.
7658         (read_command_lines): Use scoped_restore_interp.
7659         * interps.c (scoped_restore_interp::set_temp): Rename from
7660         interp_set_temp.
7661         * interps.h (class scoped_restore_interp): New.
7662         (interp_set_temp): Remove.
7663
7664 2017-09-11  Tom Tromey  <tom@tromey.com>
7665
7666         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
7667         (mi_cmd_catch_exception, mi_catch_load_unload): Update.
7668         * mi/mi-cmd-break.c (setup_breakpoint_reporting): Return a
7669         scoped_restore.
7670         (mi_cmd_break_insert_1): Update.
7671         * mi/mi-cmd-break.h (setup_breakpoint_reporting): Return a
7672         scoped_restore.
7673
7674 2017-09-11  Tom Tromey  <tom@tromey.com>
7675
7676         * demangle.c (demangle_command): Update.
7677         * breakpoint.c (disable_command): Update.
7678         (enable_command): Update.
7679         (find_location_by_number): Make "number" const.  Use
7680         get_number_trailer.
7681         * cli/cli-utils.c (extract_arg): Return std::string.
7682         * probe.c (parse_probe_linespec): Update.  Change types.
7683         (collect_probes): Take string arguments.
7684         (parse_probe_linespec): Likewise.
7685         (info_probes_for_ops): Update.
7686         (enable_probes_command): Update.
7687         (disable_probes_command): Update.
7688         * break-catch-sig.c (catch_signal_split_args): Update.
7689         * mi/mi-parse.c (mi_parse): Update.
7690
7691 2017-09-11  Tom Tromey  <tom@tromey.com>
7692
7693         * language.h (language_enum): Make argument const.
7694         * language.c (language_enum): Make argument const.
7695
7696 2017-09-11  Tom Tromey  <tom@tromey.com>
7697
7698         * common/common-utils.h (skip_to_space): Remove macro, redeclare
7699         as function.
7700         (skip_to_space): Rename from skip_to_space_const.
7701         * common/common-utils.c (skip_to_space): New function.
7702         (skip_to_space): Rename from skip_to_space_const.
7703         * cli/cli-utils.h (get_number): Rename from get_number_const.
7704         (extract_arg): Rename from extract_arg_const.
7705         * cli/cli-utils.c (get_number): Rename from get_number_const.
7706         (extract_arg): Rename from extract_arg_const.
7707         (number_or_range_parser::get_number): Use ::get_number.
7708         * aarch64-linux-tdep.c, ada-lang.c, arm-linux-tdep.c, ax-gdb.c,
7709         break-catch-throw.c, breakpoint.c, cli/cli-cmds.c, cli/cli-dump.c,
7710         cli/cli-script.c, cli/cli-setshow.c, compile/compile.c,
7711         completer.c, demangle.c, disasm.c, findcmd.c, linespec.c,
7712         linux-tdep.c, linux-thread-db.c, location.c, mi/mi-parse.c,
7713         minsyms.c, nat/linux-procfs.c, printcmd.c, probe.c,
7714         python/py-breakpoint.c, record.c, rust-exp.y, serial.c, stack.c,
7715         stap-probe.c, tid-parse.c, tracepoint.c: Update all callers.
7716
7717 2017-09-11  Tom Tromey  <tom@tromey.com>
7718
7719         * python/python.c (do_start_initialization): Use
7720         py-event-types.def to initialize types.
7721         Define all object type structures.
7722         * python/python-internal.h: Don't declare event initialization
7723         functions.
7724         * python/py-threadevent.c (thread_event_object_type): Don't
7725         define.
7726         * python/py-stopevent.c (stop_event_object_type): Don't define.
7727         * python/py-signalevent.c (signal_event_object_type): Don't
7728         declare or define.
7729         * python/py-newobjfileevent.c (new_objfile_event_object_type)
7730         (clear_objfiles_event_object_type): Don't declare or define.
7731         * python/py-infevents.c (inferior_call_pre_event_object_type)
7732         (inferior_call_post_event_object_type)
7733         (register_changed_event_object_type)
7734         (memory_changed_event_object_type): Don't declare or define.
7735         * python/py-inferior.c (new_thread_event_object_type)
7736         (new_inferior_event_object_type)
7737         (inferior_deleted_event_object_type): Don't declare or define.
7738         * python/py-exitedevent.c (exited_event_object_type): Don't
7739         declare or define.
7740         * python/py-evts.c (gdbpy_initialize_py_events): Use
7741         py-all-events.def.
7742         * python/py-events.h (thread_event_object_type): Don't declare.
7743         (events_object): Use py-all-events.def.
7744         * python/py-event.h (GDBPY_NEW_EVENT_TYPE): Remove.  Use
7745         py-event-types.def.
7746         * python/py-event-types.def: New file.
7747         * python/py-continueevent.c (create_continue_event_object): Don't
7748         declare or define.
7749         * python/py-bpevent.c (breakpoint_event_object_type): Don't
7750         declare or define.
7751         * python/py-all-events.def: New file.
7752
7753 2017-09-11  Tom Tromey  <tom@tromey.com>
7754
7755         * python/py-threadevent.c (create_thread_event_object): Return
7756         gdbpy_ref.
7757         * python/py-stopevent.h (create_stop_event_object)
7758         (create_breakpoint_event_object, create_signal_event_object):
7759         Update.
7760         * python/py-stopevent.c (create_stop_event_object): Return
7761         gdbpy_ref.
7762         (emit_stop_event): Update.
7763         * python/py-signalevent.c (create_signal_event_object): Return
7764         gdbpy_ref.
7765         * python/py-infevents.c (create_inferior_call_event_object):
7766         Update.
7767         * python/py-event.h (create_event_object)
7768         (create_thread_event_object): Update.
7769         * python/py-event.c (create_event_object): Return gdbpy_ref.
7770         * python/py-continueevent.c: Return gdbpy_ref.
7771         * python/py-bpevent.c (create_breakpoint_event_object): Return
7772         gdbpy_ref.
7773
7774 2017-09-11  Tom Tromey  <tom@tromey.com>
7775
7776         PR python/15622:
7777         * NEWS: Add entry.
7778         * python/python.c (do_start_initialization): Initialize new event
7779         types.
7780         * python/python-internal.h (gdbpy_initialize_new_inferior_event)
7781         (gdbpy_initialize_inferior_deleted_event)
7782         (gdbpy_initialize_new_thread_event): Declare.
7783         * python/py-threadevent.c (create_thread_event_object): Add option
7784         "thread" parameter.
7785         * python/py-inferior.c (new_thread_event_object_type)
7786         (new_inferior_event_object_type)
7787         (inferior_deleted_event_object_type): Declare.
7788         (python_new_inferior, python_inferior_deleted): New functions.
7789         (add_thread_object): Emit new_thread event.
7790         (gdbpy_initialize_inferior): Attach new functions to corresponding
7791         observers.
7792         (new_thread, new_inferior, inferior_deleted): Define new event
7793         types.
7794         * python/py-evts.c (gdbpy_initialize_py_events): Add new
7795         registries.
7796         * python/py-events.h (events_object) <new_inferior,
7797         inferior_deleted, new_thread>: New fields.
7798         * python/py-event.h (create_thread_event_breakpoint): Add optional
7799         "thread" parameter.
7800
7801 2017-09-10  Andrew Burgess  <andrew.burgess@embecosm.com>
7802
7803         * utils.c (abort_with_message): Don't compare gdb_stderr to NULL,
7804         check current_ui instead.
7805         (internal_vproblem): Likewise.
7806
7807 2017-09-09  Simon Marchi  <simon.marchi@ericsson.com>
7808
7809         * thread.c (print_thread_info_1): Remove unnecessary calls to
7810         uiout->is_mi_like_p.
7811
7812 2017-09-09  Tom Tromey  <tom@tromey.com>
7813
7814         * namespace.h (add_using_directive): Update.
7815         * namespace.c (add_using_directive): Change type of excludes to
7816         std::vector.
7817         * dwarf2read.c (read_import_statement): Use std::vector.
7818         (read_namespace): Update.
7819         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
7820
7821 2017-09-09  Tom Tromey  <tom@tromey.com>
7822
7823         * linespec.c (create_sals_line_offset): Use gdb::def_vector.
7824
7825 2017-09-09  Tom Tromey  <tom@tromey.com>
7826
7827         * p-valprint.c (pascal_object_print_value): Use gdb::byte_vector.
7828
7829 2017-09-09  Tom Tromey  <tom@tromey.com>
7830
7831         * stack.c (func_command): Use gdb::def_vector.
7832
7833 2017-09-09  Tom Tromey  <tom@tromey.com>
7834
7835         * mi/mi-cmd-var.c (mi_cmd_var_list_children): Use gdb::optional,
7836         ui_out_emit_list, ui_out_emit_tuple.
7837         (mi_cmd_var_update): Likewise.
7838
7839 2017-09-09  Tom Tromey  <tom@tromey.com>
7840
7841         * mi/mi-interp.c (mi_user_selected_context_changed): Use
7842         ui_out_redirect_pop.
7843         * guile/scm-ports.c (ioscm_with_output_to_port_worker): Use
7844         ui_out_redirect_pop.
7845         * utils.c (do_ui_out_redirect_pop)
7846         (make_cleanup_ui_out_redirect_pop): Remove.
7847         * top.c (execute_command_to_string): Use ui_out_redirect_pop.
7848         * utils.h (make_cleanup_ui_out_redirect_pop): Remove.
7849         * ui-out.h (ui_out_redirect_pop): New class.
7850
7851 2017-09-09  Tom Tromey  <tom@tromey.com>
7852
7853         * mi/mi-main.c (output_cores): Use ui_out_emit_list.
7854         (list_available_thread_groups, mi_cmd_list_thread_groups)
7855         (mi_cmd_data_list_changed_registers, mi_cmd_data_read_memory)
7856         (mi_cmd_data_read_memory_bytes, mi_cmd_trace_frame_collected):
7857         Likewise.
7858
7859 2017-09-09  Tom Tromey  <tom@tromey.com>
7860
7861         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn): Use
7862         ui_out_emit_tuple.
7863
7864 2017-09-09  Tom Tromey  <tom@tromey.com>
7865
7866         * target.c (flash_erase_command): Use ui_out_emit_tuple.
7867         * stack.c (print_frame): Use ui_out_emit_tuple.
7868         * spu-tdep.c (info_spu_event_command): Use ui_out_emit_tuple.
7869         (info_spu_mailbox_command, info_spu_dma_command)
7870         (info_spu_proxydma_command): Likewise.
7871         * mi/mi-main.c (mi_cmd_trace_frame_collected): Use
7872         ui_out_emit_tuple, gdb::byte_vector, bin2hex.
7873         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Use
7874         ui_out_emit_tuple.
7875         * breakpoint.c (print_it_watchpoint): Use ui_out_emit_tuple.
7876
7877 2017-09-09  Tom Tromey  <tom@tromey.com>
7878
7879         * ui-out.h (make_cleanup_ui_out_table_begin_end): Remove.
7880         (class ui_out_emit_table): Update comment.
7881         * ui-out.c (do_cleanup_table_end)
7882         (make_cleanup_ui_out_table_begin_end): Remove.
7883         * spu-tdep.c (info_spu_mailbox_list): Use ui_out_emit_table.
7884         (info_spu_dma_cmdlist): Likewise.
7885         * probe.c (info_probes_for_ops): Use ui_out_emit_table.
7886         * darwin-nat-info.c (darwin_debug_regions_recurse): Use
7887         ui_out_emit_table.
7888
7889 2017-09-09  Tom Tromey  <tom@tromey.com>
7890
7891         * thread.c (print_thread_info_1): Use ui_out_emit_table,
7892         ui_out_emit_list, gdb::optional.
7893
7894 2017-09-09  John Baldwin  <jhb@FreeBSD.org>
7895
7896         * aarch64-linux-nat.c: Remove _initialize_aarch64_linux_nat
7897         prototype.
7898         * aarch64-linux-tdep.c: Remove _initialize_aarch64_linux_tdep
7899         prototype.
7900         * aarch64-newlib-tdep.c: Remove _initialize_aarch64_newlib_tdep
7901         prototype.
7902         * aarch64-tdep.c: Remove _initialize_aarch64_tdep prototype.
7903         * ada-exp.y: Remove _initialize_ada_exp prototype.
7904         * ada-lang.c: Remove _initialize_ada_language prototype.
7905         * ada-tasks.c: Remove _initialize_tasks prototype.
7906         * addrmap.c: Remove _initialize_addrmap prototype.
7907         * agent.c: Remove _initialize_agent prototype.
7908         * aix-thread.c: Remove _initialize_aix_thread prototype.
7909         * alpha-bsd-nat.c: Remove _initialize_alphabsd_nat prototype.
7910         * alpha-linux-nat.c: Remove _initialize_alpha_linux_nat prototype.
7911         * alpha-linux-tdep.c: Remove _initialize_alpha_linux_tdep
7912         prototype.
7913         * alpha-nbsd-tdep.c: Remove _initialize_alphanbsd_tdep prototype.
7914         * alpha-obsd-tdep.c: Remove _initialize_alphaobsd_tdep prototype.
7915         * alpha-tdep.c: Remove _initialize_alpha_tdep prototype.
7916         * amd64-darwin-tdep.c: Remove _initialize_amd64_darwin_tdep
7917         prototype.
7918         * amd64-dicos-tdep.c: Remove _initialize_amd64_dicos_tdep
7919         prototype.
7920         * amd64-fbsd-nat.c: Remove _initialize_amd64fbsd_nat prototype.
7921         * amd64-fbsd-tdep.c: Remove _initialize_amd64fbsd_tdep prototype.
7922         * amd64-linux-nat.c: Remove _initialize_amd64_linux_nat prototype.
7923         * amd64-linux-tdep.c: Remove _initialize_amd64_linux_tdep
7924         prototype.
7925         * amd64-nbsd-nat.c: Remove _initialize_amd64nbsd_nat prototype.
7926         * amd64-nbsd-tdep.c: Remove _initialize_amd64nbsd_tdep prototype.
7927         * amd64-obsd-nat.c: Remove _initialize_amd64obsd_nat prototype.
7928         * amd64-obsd-tdep.c: Remove _initialize_amd64obsd_tdep prototype.
7929         * amd64-sol2-tdep.c: Remove _initialize_amd64_sol2_tdep prototype.
7930         * amd64-tdep.c: Remove _initialize_amd64_tdep prototype.
7931         * amd64-windows-nat.c: Remove _initialize_amd64_windows_nat
7932         prototype.
7933         * amd64-windows-tdep.c: Remove _initialize_amd64_windows_tdep
7934         prototype.
7935         * annotate.c: Remove _initialize_annotate prototype.
7936         * arc-newlib-tdep.c: Remove _initialize_arc_newlib_tdep prototype.
7937         * arc-tdep.c: Remove _initialize_arc_tdep prototype.
7938         * arch-utils.c: Remove _initialize_gdbarch_utils prototype.
7939         * arm-linux-nat.c: Remove _initialize_arm_linux_nat prototype.
7940         * arm-linux-tdep.c: Remove _initialize_arm_linux_tdep prototype.
7941         * arm-nbsd-tdep.c: Remove _initialize_arm_netbsd_tdep prototype.
7942         * arm-obsd-tdep.c: Remove _initialize_armobsd_tdep prototype.
7943         * arm-symbian-tdep.c: Remove _initialize_arm_symbian_tdep
7944         prototype.
7945         * arm-tdep.c: Remove _initialize_arm_tdep prototype.
7946         * arm-wince-tdep.c: Remove _initialize_arm_wince_tdep prototype.
7947         * auto-load.c: Remove _initialize_auto_load prototype.
7948         * auxv.c: Remove _initialize_auxv prototype.
7949         * avr-tdep.c: Remove _initialize_avr_tdep prototype.
7950         * ax-gdb.c: Remove _initialize_ax_gdb prototype.
7951         * bfin-linux-tdep.c: Remove _initialize_bfin_linux_tdep prototype.
7952         * bfin-tdep.c: Remove _initialize_bfin_tdep prototype.
7953         * break-catch-sig.c: Remove _initialize_break_catch_sig prototype.
7954         * break-catch-syscall.c: Remove _initialize_break_catch_syscall
7955         prototype.
7956         * break-catch-throw.c: Remove _initialize_break_catch_throw
7957         prototype.
7958         * breakpoint.c: Remove _initialize_breakpoint prototype.
7959         * bsd-uthread.c: Remove _initialize_bsd_uthread prototype.
7960         * btrace.c: Remove _initialize_btrace prototype.
7961         * charset.c: Remove _initialize_charset prototype.
7962         * cli/cli-cmds.c: Remove _initialize_cli_cmds prototype.
7963         * cli/cli-dump.c: Remove _initialize_cli_dump prototype.
7964         * cli/cli-interp.c: Remove _initialize_cli_interp prototype.
7965         * cli/cli-logging.c: Remove _initialize_cli_logging prototype.
7966         * cli/cli-script.c: Remove _initialize_cli_script prototype.
7967         * coff-pe-read.c: Remove _initialize_coff_pe_read prototype.
7968         * coffread.c: Remove _initialize_coffread prototype.
7969         * compile/compile.c: Remove _initialize_compile prototype.
7970         * complaints.c: Remove _initialize_complaints prototype.
7971         * completer.c: Remove _initialize_completer prototype.
7972         * copying.awk: Remove _initialize_copying prototype.
7973         * copying.c: Regenerate.
7974         * core-regset.c: Remove _initialize_core_regset prototype.
7975         * corefile.c: Remove _initialize_core prototype.
7976         * corelow.c: Remove _initialize_corelow prototype.
7977         * cp-abi.c: Remove _initialize_cp_abi prototype.
7978         * cp-namespace.c: Remove _initialize_cp_namespace prototype.
7979         * cp-support.c: Remove _initialize_cp_support prototype.
7980         * cp-valprint.c: Remove _initialize_cp_valprint prototype.
7981         * cris-linux-tdep.c: Remove _initialize_cris_linux_tdep prototype.
7982         * cris-tdep.c: Remove _initialize_cris_tdep prototype.
7983         * ctf.c: Remove _initialize_ctf prototype.
7984         * d-lang.c: Remove _initialize_d_language prototype.
7985         * darwin-nat-info.c: Remove _initialize_darwin_info_commands
7986         prototype.
7987         * darwin-nat.c: Remove _initialize_darwin_inferior prototype.
7988         * dbxread.c: Remove _initialize_dbxread prototype.
7989         * dcache.c: Remove _initialize_dcache prototype.
7990         * demangle.c: Remove _initialize_demangler prototype.
7991         * disasm-selftests.c: Remove _initialize_disasm_selftests
7992         prototype.
7993         * disasm.c: Remove _initialize_disasm prototype.
7994         * dtrace-probe.c: Remove _initialize_dtrace_probe prototype.
7995         * dummy-frame.c: Remove _initialize_dummy_frame prototype.
7996         * dwarf2-frame-tailcall.c: Remove _initialize_tailcall_frame
7997         prototype.
7998         * dwarf2-frame.c: Remove _initialize_dwarf2_frame prototype.
7999         * dwarf2expr.c: Remove _initialize_dwarf2expr prototype.
8000         * dwarf2loc.c: Remove _initialize_dwarf2loc prototype.
8001         * dwarf2read.c: Remove _initialize_dwarf2_read prototype.
8002         * elfread.c: Remove _initialize_elfread prototype.
8003         * exec.c: Remove _initialize_exec prototype.
8004         * extension.c: Remove _initialize_extension prototype.
8005         * f-lang.c: Remove _initialize_f_language prototype.
8006         * f-valprint.c: Remove _initialize_f_valprint prototype.
8007         * fbsd-nat.c: Remove _initialize_fbsd_nat prototype.
8008         * fbsd-tdep.c: Remove _initialize_fbsd_tdep prototype.
8009         * filesystem.c: Remove _initialize_filesystem prototype.
8010         * findcmd.c: Remove _initialize_mem_search prototype.
8011         * fork-child.c: Remove _initialize_fork_child prototype.
8012         * frame-base.c: Remove _initialize_frame_base prototype.
8013         * frame-unwind.c: Remove _initialize_frame_unwind prototype.
8014         * frame.c: Remove _initialize_frame prototype.
8015         * frv-linux-tdep.c: Remove _initialize_frv_linux_tdep prototype.
8016         * frv-tdep.c: Remove _initialize_frv_tdep prototype.
8017         * ft32-tdep.c: Remove _initialize_ft32_tdep prototype.
8018         * gcore.c: Remove _initialize_gcore prototype.
8019         * gdb_bfd.c: Remove _initialize_gdb_bfd prototype.
8020         * gdbarch.c: Regenerate.
8021         * gdbarch.sh: Remove _initialize_gdbarch prototype.
8022         * gdbtypes.c: Remove _initialize_gdbtypes prototype.
8023         * gnu-nat.c: Remove _initialize_gnu_nat prototype.
8024         * gnu-v2-abi.c: Remove _initialize_gnu_v2_abi prototype.
8025         * gnu-v3-abi.c: Remove _initialize_gnu_v3_abi prototype.
8026         * go-lang.c: Remove _initialize_go_language prototype.
8027         * go32-nat.c: Remove _initialize_go32_nat prototype.
8028         * guile/guile.c: Remove _initialize_guile prototype.
8029         * h8300-tdep.c: Remove _initialize_h8300_tdep prototype.
8030         * hppa-linux-nat.c: Remove _initialize_hppa_linux_nat prototype.
8031         * hppa-linux-tdep.c: Remove _initialize_hppa_linux_tdep prototype.
8032         * hppa-nbsd-nat.c: Remove _initialize_hppanbsd_nat prototype.
8033         * hppa-nbsd-tdep.c: Remove _initialize_hppanbsd_tdep prototype.
8034         * hppa-obsd-nat.c: Remove _initialize_hppaobsd_nat prototype.
8035         * hppa-obsd-tdep.c: Remove _initialize_hppaobsd_tdep prototype.
8036         * hppa-tdep.c: Remove _initialize_hppa_tdep prototype.
8037         * i386-bsd-nat.c: Remove _initialize_i386bsd_nat prototype.
8038         * i386-cygwin-tdep.c: Remove _initialize_i386_cygwin_tdep
8039         prototype.
8040         * i386-darwin-tdep.c: Remove _initialize_i386_darwin_tdep
8041         prototype.
8042         * i386-dicos-tdep.c: Remove _initialize_i386_dicos_tdep prototype.
8043         * i386-fbsd-nat.c: Remove _initialize_i386fbsd_nat prototype.
8044         * i386-fbsd-tdep.c: Remove _initialize_i386fbsd_tdep prototype.
8045         * i386-gnu-nat.c: Remove _initialize_i386gnu_nat prototype.
8046         * i386-gnu-tdep.c: Remove _initialize_i386gnu_tdep prototype.
8047         * i386-linux-nat.c: Remove _initialize_i386_linux_nat prototype.
8048         * i386-linux-tdep.c: Remove _initialize_i386_linux_tdep prototype.
8049         * i386-nbsd-nat.c: Remove _initialize_i386nbsd_nat prototype.
8050         * i386-nbsd-tdep.c: Remove _initialize_i386nbsd_tdep prototype.
8051         * i386-nto-tdep.c: Remove _initialize_i386nto_tdep prototype.
8052         * i386-obsd-nat.c: Remove _initialize_i386obsd_nat prototype.
8053         * i386-obsd-tdep.c: Remove _initialize_i386obsd_tdep prototype.
8054         * i386-sol2-nat.c: Remove _initialize_amd64_sol2_nat prototype.
8055         * i386-sol2-tdep.c: Remove _initialize_amd64_sol2_tdep prototype.
8056         * i386-tdep.c: Remove _initialize_i386_tdep prototype.
8057         * i386-windows-nat.c: Remove _initialize_i386_windows_nat
8058         prototype.
8059         * ia64-libunwind-tdep.c: Remove _initialize_libunwind_frame
8060         prototype.
8061         * ia64-linux-nat.c: Remove _initialize_ia64_linux_nat prototype.
8062         * ia64-linux-tdep.c: Remove _initialize_ia64_linux_tdep prototype.
8063         * ia64-tdep.c: Remove _initialize_ia64_tdep prototype.
8064         * ia64-vms-tdep.c: Remove _initialize_ia64_vms_tdep prototype.
8065         * infcall.c: Remove _initialize_infcall prototype.
8066         * infcmd.c: Remove _initialize_infcmd prototype.
8067         * inferior.c: Remove _initialize_inferiors prototype.
8068         * inflow.c: Remove _initialize_inflow prototype.
8069         * infrun.c: Remove _initialize_infrun prototype.
8070         * interps.c: Remove _initialize_interpreter prototype.
8071         * iq2000-tdep.c: Remove _initialize_iq2000_tdep prototype.
8072         * jit.c: Remove _initialize_jit prototype.
8073         * language.c: Remove _initialize_language prototype.
8074         * linux-fork.c: Remove _initialize_linux_fork prototype.
8075         * linux-nat.c: Remove _initialize_linux_nat prototype.
8076         * linux-tdep.c: Remove _initialize_linux_tdep prototype.
8077         * linux-thread-db.c: Remove _initialize_thread_db prototype.
8078         * lm32-tdep.c: Remove _initialize_lm32_tdep prototype.
8079         * m2-lang.c: Remove _initialize_m2_language prototype.
8080         * m32c-tdep.c: Remove _initialize_m32c_tdep prototype.
8081         * m32r-linux-nat.c: Remove _initialize_m32r_linux_nat prototype.
8082         * m32r-linux-tdep.c: Remove _initialize_m32r_linux_tdep prototype.
8083         * m32r-tdep.c: Remove _initialize_m32r_tdep prototype.
8084         * m68hc11-tdep.c: Remove _initialize_m68hc11_tdep prototype.
8085         * m68k-bsd-nat.c: Remove _initialize_m68kbsd_nat prototype.
8086         * m68k-bsd-tdep.c: Remove _initialize_m68kbsd_tdep prototype.
8087         * m68k-linux-nat.c: Remove _initialize_m68k_linux_tdep prototype.
8088         * m68k-linux-tdep.c: Remove _initialize_m68k_linux_tdep prototype.
8089         * m68k-tdep.c: Remove _initialize_m68k_tdep prototype.
8090         * m88k-bsd-nat.c: Remove _initialize_m68kbsd_nat prototype.
8091         * m88k-tdep.c: Remove _initialize_m68kbsd_tdep prototype.
8092         * machoread.c: Remove _initialize_machoread prototype.
8093         * macrocmd.c: Remove _initialize_macrocmd prototype.
8094         * macroscope.c: Remove _initialize_macroscope prototype.
8095         * maint.c: Remove _initialize_maint_cmds prototype.
8096         * mdebugread.c: Remove _initialize_mdebugread prototype.
8097         * memattr.c: Remove _initialize_mem prototype.
8098         * mep-tdep.c: Remove _initialize_mep_tdep prototype.
8099         * mi/mi-cmd-env.c: Remove _initialize_mi_cmd_env prototype.
8100         * mi/mi-cmds.c: Remove _initialize_mi_cmds prototype.
8101         * mi/mi-interp.c: Remove _initialize_mi_interp prototype.
8102         * mi/mi-main.c: Remove _initialize_mi_main prototype.
8103         * microblaze-linux-tdep.c: Remove
8104         _initialize_microblaze_linux_tdep prototype.
8105         * microblaze-tdep.c: Remove _initialize_microblaze_tdep prototype.
8106         * mips-fbsd-nat.c: Remove _initialize_mips_fbsd_nat prototype.
8107         * mips-fbsd-tdep.c: Remove _initialize_mips_fbsd_tdep prototype.
8108         * mips-linux-nat.c: Remove _initialize_mips_linux_nat prototype.
8109         * mips-linux-tdep.c: Remove _initialize_mips_linux_tdep prototype.
8110         * mips-nbsd-nat.c: Remove _initialize_mipsnbsd_nat prototype.
8111         * mips-nbsd-tdep.c: Remove _initialize_mipsnbsd_tdep prototype.
8112         * mips-sde-tdep.c: Remove _initialize_mips_sde_tdep prototype.
8113         * mips-tdep.c: Remove _initialize_mips_tdep prototype.
8114         * mips64-obsd-nat.c: Remove _initialize_mips64obsd_nat prototype.
8115         * mips64-obsd-tdep.c: Remove _initialize_mips64obsd_tdep
8116         prototype.
8117         * mipsread.c: Remove _initialize_mipsread prototype.
8118         * mn10300-linux-tdep.c: Remove _initialize_mn10300_linux_tdep
8119         prototype.
8120         * mn10300-tdep.c: Remove _initialize_mn10300_tdep prototype.
8121         * moxie-tdep.c: Remove _initialize_moxie_tdep prototype.
8122         * msp430-tdep.c: Remove _initialize_msp430_tdep prototype.
8123         * mt-tdep.c: Remove _initialize_mt_tdep prototype.
8124         * nds32-tdep.c: Remove _initialize_nds32_tdep prototype.
8125         * nios2-linux-tdep.c: Remove _initialize_nios2_linux_tdep
8126         prototype.
8127         * nios2-tdep.c: Remove _initialize_nios2_tdep prototype.
8128         * nto-procfs.c: Remove _initialize_procfs prototype.
8129         * nto-tdep.c: Remove _initialize_nto_tdep prototype.
8130         * objc-lang.c: Remove _initialize_objc_language prototype.
8131         * objfiles.c: Remove _initialize_objfiles prototype.
8132         * observer.c: Remove observer_test_first_notification_function,
8133         observer_test_second_notification_function,
8134         observer_test_third_notification_function, and
8135         _initialize_observer prototypes.
8136         * opencl-lang.c: Remove _initialize_opencl_language prototypes.
8137         * osabi.c: Remove _initialize_gdb_osabi prototype.
8138         * osdata.c: Remove _initialize_osdata prototype.
8139         * p-valprint.c: Remove _initialize_pascal_valprint prototype.
8140         * parse.c: Remove _initialize_parse prototype.
8141         * ppc-fbsd-nat.c: Remove _initialize_ppcfbsd_nat prototype.
8142         * ppc-fbsd-tdep.c: Remove _initialize_ppcfbsd_tdep prototype.
8143         * ppc-linux-nat.c: Remove _initialize_ppc_linux_nat prototype.
8144         * ppc-linux-tdep.c: Remove _initialize_ppc_linux_tdep prototype.
8145         * ppc-nbsd-nat.c: Remove _initialize_ppcnbsd_nat prototype.
8146         * ppc-nbsd-tdep.c: Remove _initialize_ppcnbsd_tdep prototype.
8147         * ppc-obsd-nat.c: Remove _initialize_ppcobsd_nat prototype.
8148         * ppc-obsd-tdep.c: Remove _initialize_ppcobsd_tdep prototype.
8149         * printcmd.c: Remove _initialize_printcmd prototype.
8150         * probe.c: Remove _initialize_probe prototype.
8151         * proc-api.c: Remove _initialize_proc_api prototype.
8152         * proc-events.c: Remove _initialize_proc_events prototype.
8153         * proc-service.c: Remove _initialize_proc_service prototype.
8154         * procfs.c: Remove _initialize_procfs prototype.
8155         * psymtab.c: Remove _initialize_psymtab prototype.
8156         * python/python.c: Remove _initialize_python prototype.
8157         * ravenscar-thread.c: Remove _initialize_ravenscar prototype.
8158         * record-btrace.c: Remove _initialize_record_btrace prototype.
8159         * record-full.c: Remove _initialize_record_full prototype.
8160         * record.c: Remove _initialize_record prototype.
8161         * regcache.c: Remove _initialize_regcache prototype.
8162         * reggroups.c: Remove _initialize_reggroup prototype.
8163         * remote-notif.c: Remove _initialize_notif prototype.
8164         * remote-sim.c: Remove _initialize_remote_sim prototype.
8165         * remote.c: Remove _initialize_remote prototype.
8166         * reverse.c: Remove _initialize_reverse prototype.
8167         * rl78-tdep.c: Remove _initialize_rl78_tdep prototype.
8168         * rs6000-aix-tdep.c: Remove _initialize_rs6000_aix_tdep prototype.
8169         * rs6000-lynx178-tdep.c: Remove _initialize_rs6000_lynx178_tdep
8170         prototype.
8171         * rs6000-nat.c: Remove _initialize_rs6000_nat prototype.
8172         * rs6000-tdep.c: Remove _initialize_rs6000_tdep prototype.
8173         * rust-exp.y: Remove _initialize_rust_exp prototype.
8174         * rx-tdep.c: Remove _initialize_rx_tdep prototype.
8175         * s390-linux-nat.c: Remove _initialize_s390_nat prototype.
8176         * s390-linux-tdep.c: Remove _initialize_s390_tdep prototype.
8177         * score-tdep.c: Remove _initialize_score_tdep prototype.
8178         * selftest-arch.c: Remove _initialize_selftests_foreach_arch
8179         prototype.
8180         * ser-go32.c: Remove _initialize_ser_dos prototype.
8181         * ser-mingw.c: Remove _initialize_ser_windows prototype.
8182         * ser-pipe.c: Remove _initialize_ser_pipe prototype.
8183         * ser-tcp.c: Remove _initialize_ser_tcp prototype.
8184         * ser-unix.c: Remove _initialize_ser_hardwire prototype.
8185         * serial.c: Remove _initialize_serial prototype.
8186         * sh-linux-tdep.c: Remove _initialize_sh_linux_tdep prototype.
8187         * sh-nbsd-nat.c: Remove _initialize_shnbsd_nat prototype.
8188         * sh-nbsd-tdep.c: Remove _initialize_shnbsd_tdep prototype.
8189         * sh-tdep.c: Remove _initialize_sh_tdep prototype.
8190         * skip.c: Remove _initialize_step_skip prototype.
8191         * sol-thread.c: Remove _initialize_sol_thread prototype.
8192         * solib-aix.c: Remove _initialize_solib_aix prototype.
8193         * solib-darwin.c: Remove _initialize_darwin_solib prototype.
8194         * solib-dsbt.c: Remove _initialize_dsbt_solib prototype.
8195         * solib-frv.c: Remove _initialize_frv_solib prototype.
8196         * solib-spu.c: Remove _initialize_spu_solib prototype.
8197         * solib-svr4.c: Remove _initialize_svr4_solib prototype.
8198         * solib-target.c: Remove _initialize_solib_target prototype.
8199         * solib.c: Remove _initialize_solib prototype.
8200         * source.c: Remove _initialize_source prototype.
8201         * sparc-linux-nat.c: Remove _initialize_sparc_linux_nat prototype.
8202         * sparc-linux-tdep.c: Remove _initialize_sparc_linux_tdep
8203         prototype.
8204         * sparc-nat.c: Remove _initialize_sparc_nat prototype.
8205         * sparc-nbsd-nat.c: Remove _initialize_sparcnbsd_nat prototype.
8206         * sparc-nbsd-tdep.c: Remove _initialize_sparcnbsd_tdep prototype.
8207         * sparc-obsd-tdep.c: Remove _initialize_sparc32obsd_tdep
8208         prototype.
8209         * sparc-sol2-nat.c: Remove _initialize_sparc_sol2_nat prototype.
8210         * sparc-sol2-tdep.c: Remove _initialize_sparc_sol2_tdep prototype.
8211         * sparc-tdep.c: Remove _initialize_sparc_tdep prototype.
8212         * sparc64-fbsd-nat.c: Remove _initialize_sparc64fbsd_nat
8213         prototype.
8214         * sparc64-fbsd-tdep.c: Remove _initialize_sparc64fbsd_tdep
8215         prototype.
8216         * sparc64-linux-nat.c: Remove _initialize_sparc64_linux_nat
8217         prototype.
8218         * sparc64-linux-tdep.c: Remove _initialize_sparc64_linux_tdep
8219         prototype.
8220         * sparc64-nat.c: Remove _initialize_sparc64_nat prototype.
8221         * sparc64-nbsd-nat.c: Remove _initialize_sparc64nbsd_nat
8222         prototype.
8223         * sparc64-nbsd-tdep.c: Remove _initialize_sparc64nbsd_tdep
8224         prototype.
8225         * sparc64-obsd-nat.c: Remove _initialize_sparc64obsd_nat
8226         prototype.
8227         * sparc64-obsd-tdep.c: Remove _initialize_sparc64obsd_tdep
8228         prototype.
8229         * sparc64-sol2-tdep.c: Remove _initialize_sparc64_sol2_tdep
8230         prototype.
8231         * spu-linux-nat.c: Remove _initialize_spu_nat prototype.
8232         * spu-multiarch.c: Remove _initialize_spu_multiarch prototype.
8233         * spu-tdep.c: Remove _initialize_spu_tdep prototype.
8234         * stabsread.c: Remove _initialize_stabsread prototype.
8235         * stack.c: Remove _initialize_stack prototype.
8236         * stap-probe.c: Remove _initialize_stap_probe prototype.
8237         * std-regs.c: Remove _initialize_frame_reg prototype.
8238         * symfile-debug.c: Remove _initialize_symfile_debug prototype.
8239         * symfile-mem.c: Remove _initialize_symfile_mem prototype.
8240         * symfile.c: Remove _initialize_symfile prototype.
8241         * symmisc.c: Remove _initialize_symmisc prototype.
8242         * symtab.c: Remove _initialize_symtab prototype.
8243         * target-dcache.c: Remove _initialize_target_dcache prototype.
8244         * target-descriptions.c: Remove _initialize_target_descriptions
8245         prototype.
8246         * thread.c: Remove _initialize_thread prototype.
8247         * tic6x-linux-tdep.c: Remove _initialize_tic6x_linux_tdep
8248         prototype.
8249         * tic6x-tdep.c: Remove _initialize_tic6x_tdep prototype.
8250         * tilegx-linux-nat.c: Remove _initialize_tile_linux_nat prototype.
8251         * tilegx-linux-tdep.c: Remove _initialize_tilegx_linux_tdep
8252         prototype.
8253         * tilegx-tdep.c: Remove _initialize_tilegx_tdep prototype.
8254         * tracefile-tfile.c: Remove _initialize_tracefile_tfile prototype.
8255         * tracefile.c: Remove _initialize_tracefile prototype.
8256         * tracepoint.c: Remove _initialize_tracepoint prototype.
8257         * tui/tui-hooks.c: Remove _initialize_tui_hooks prototype.
8258         * tui/tui-interp.c: Remove _initialize_tui_interp prototype.
8259         * tui/tui-layout.c: Remove _initialize_tui_layout prototype.
8260         * tui/tui-regs.c: Remove _initialize_tui_regs prototype.
8261         * tui/tui-stack.c: Remove _initialize_tui_stack prototype.
8262         * tui/tui-win.c: Remove _initialize_tui_win prototype.
8263         * tui/tui.c: Remove _initialize_tui prototype.
8264         * typeprint.c: Remove _initialize_typeprint prototype.
8265         * user-regs.c: Remove _initialize_user_regs prototype.
8266         * utils.c: Remove _initialize_utils prototype.
8267         * v850-tdep.c: Remove _initialize_v850_tdep prototype.
8268         * valarith.c: Remove _initialize_valarith prototype.
8269         * valops.c: Remove _initialize_valops prototype.
8270         * valprint.c: Remove _initialize_valprint prototype.
8271         * value.c: Remove _initialize_values prototype.
8272         * varobj.c: Remove _initialize_varobj prototype.
8273         * vax-bsd-nat.c: Remove _initialize_vaxbsd_nat prototype.
8274         * vax-nbsd-tdep.c: Remove _initialize_vaxnbsd_tdep prototype.
8275         * vax-tdep.c: Remove _initialize_vax_tdep prototype.
8276         * windows-nat.c: Remove _initialize_windows_nat,
8277         _initialize_check_for_gdb_ini, and _initialize_loadable
8278         prototypes.
8279         * windows-tdep.c: Remove _initialize_windows_tdep prototype.
8280         * xcoffread.c: Remove _initialize_xcoffread prototype.
8281         * xml-support.c: Remove _initialize_xml_support prototype.
8282         * xstormy16-tdep.c: Remove _initialize_xstormy16_tdep prototype.
8283         * xtensa-linux-nat.c: Remove _initialize_xtensa_linux_nat
8284         prototype.
8285         * xtensa-linux-tdep.c: Remove _initialize_xtensa_linux_tdep
8286         prototype.
8287         * xtensa-tdep.c: Remove _initialize_xtensa_tdep prototype.
8288
8289 2017-09-08  Keith Seitz  <keiths@redhat.com>
8290
8291         * dwarf2read.c (struct field_info) <fnfields>: Remove unused
8292         field.
8293
8294 2017-09-08  Christoph Weinmann  <christoph.t.weinmann@intel.com>
8295
8296         * f-valprint.c (f_val_print): Remove check for one byte
8297         sized integers. Remove printing of character type.
8298
8299 2017-09-08  Frank Penczek  <frank.penczek@intel.com>
8300             Christoph Weinmann  <christoph.t.weinmann@intel.com>
8301             Bernhard Heckel  <bernhard.heckel@intel.com>
8302
8303         * f-typeprint.c (f_type_print_base): Use fprintfi_filtered
8304         to maintain proper indentation when printing pointers/refs.
8305
8306 2017-09-07  Joel Brobecker  <brobecker@adacore.com>
8307
8308         GDB 8.0.1 released.
8309
8310 2017-09-07  Joel Brobecker  <brobecker@adacore.com>
8311
8312         * NEWS (Changes in GDB 7.11): Remove entry for QStartupWithShell.
8313
8314 2017-09-05  Tom Tromey  <tom@tromey.com>
8315
8316         * parse.c (funcall_chain): Now a std::vector.
8317         (start_arglist, end_arglist): Simplify.
8318         (free_funcalls): Remove.
8319         (parse_exp_in_context_1): Remove cleanup.
8320
8321 2017-09-05  Tom Tromey  <tom@tromey.com>
8322
8323         * go-exp.y (go_parse): Don't create a cleanup.
8324
8325 2017-09-05  Tom Tromey  <tom@tromey.com>
8326
8327         * d-exp.y (PrimaryExpression): Use std::string.
8328         (d_parse): Don't create a cleanup.
8329
8330 2017-09-05  Tom Tromey  <tom@tromey.com>
8331
8332         * utils.c (do_clear_parser_state): Remove.
8333         (make_cleanup_clear_parser_state): Remove.
8334         * p-exp.y (pascal_parse): Use scoped_restore.
8335         * m2-exp.y (m2_parse): Use scoped_restore.
8336         * f-exp.y (f_parse): Use scoped_restore.
8337         * d-exp.y (d_parse): Use scoped_restore.
8338         * c-exp.y (c_parse): Use scoped_restore.
8339         * ada-exp.y (ada_parse): Use scoped_restore.
8340         * utils.h (make_cleanup_clear_parser_state): Remove.
8341
8342 2017-09-06  Keith Seitz  <keiths@redhat.com>
8343
8344         * dwarf2read.c (dw2_linkage_name_attr): New function.
8345         (dw2_linkage_name): New function.
8346         (dwarf2_compute_name, dwarf2_physname, read_call_site_scope)
8347         (guess_full_die_structure_name, dwarf2_name): Use dw2_linkage_name.
8348         (anonymous_struct_prefix, dwarf2_name): Use dw2_linkage_name_attr.
8349
8350 2017-09-06  Kamil Rytarowski  <n54@gmx.com>
8351
8352         * config/djgpp/djconfig.sh: Correct shell portability issue.
8353
8354 2017-09-06  Kamil Rytarowski  <n54@gmx.com>
8355
8356         * configure.nat: Define HAVE_NATIVE_GCORE_HOST on NetBSD.
8357
8358 2017-09-06  John Baldwin  <jhb@FreeBSD.org>
8359
8360         * Makefile.in (ALLDEPFILES): Add mips-fbsd-nat.c.
8361         * NEWS: Mention new FreeBSD/mips native configuration.
8362         * configure.host: Add aarch64*-*-freebsd*.
8363         * configure.nat: Likewise.
8364         * aarch64-fbsd-nat.c: New file.
8365
8366 2017-09-06  John Baldwin  <jhb@FreeBSD.org>
8367
8368         * Makefile.in (ALL_64_TARGET_OBS): Add aarch64-fbsd-tdep.o.
8369         (ALLDEPFILES): Add aarch64-fbsd-tdep.c.
8370         * NEWS: Mention new FreeBSD/aarch64 target.
8371         * configure.tgt: Add aarch64*-*-freebsd*.
8372         * aarch64-fbsd-tdep.c: New file.
8373         * aarch64-fbsd-tdep.h: New file.
8374
8375 2017-09-06  Kamil Rytarowski  <n54@gmx.com>
8376
8377         * MAINTAINERS (Write After Approval): Add Kamil Rytarowski.
8378
8379 2017-09-06  Jan Kratochvil  <jan.kratochvil@redhat.com>
8380
8381         * parse.c (find_minsym_type_and_address): Don't relocate addresses
8382         of TLS symbols.
8383
8384 2017-09-05  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
8385
8386         * objfiles.c (get_objfile_bfd_data): Remove useless obstack_init
8387         call.
8388
8389 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8390
8391         * infrun.c (follow_exec): Call add_thread after
8392         target_find_description.
8393
8394 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8395
8396         * infrun.c (handle_inferior_event_1): When exec'ing, read
8397         stop_pc after follow_exec.
8398
8399 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8400
8401         * remote.c (process_g_packet): Update error message.
8402
8403 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8404
8405         * configure.tgt (gdb_target_obs): Add i386.o for x86_64-*
8406         targets.
8407
8408 2017-09-05  Pedro Alves  <palves@redhat.com>
8409
8410         * eval.c (eval_call, evaluate_funcall): New functions, factored
8411         out from ...
8412         (evaluate_subexp_standard): ... this.
8413
8414 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8415
8416         * amd64-tdep.c (amd64_target_description): Create target
8417         descriptions.
8418         (_initialize_amd64_tdep): Don't call functions
8419         initialize_tdesc_amd64_*.  Add self tests.
8420         * arch/amd64.c (amd64_create_target_description): Add parameter
8421         is_linux.  Call set_tdesc_osabi if is_linux is true.
8422         * arch/amd64.h (amd64_create_target_description): Update the
8423         declaration.
8424         * arch/i386.c (i386_create_target_description): Add parameter
8425         is_linux.  Call set_tdesc_osabi if is_linux is true.
8426         * arch/i386.h (i386_create_target_description): Update
8427         declaration.
8428         * configure.tgt: Add i386.o to gdb_target_obs.
8429         * features/Makefile (XMLTOC): Remove i386/*.xml.
8430         * features/i386/amd64-avx-avx512.c: Remove.
8431         * features/i386/amd64-avx-mpx-avx512-pku.c: Remove.
8432         * features/i386/amd64-avx-mpx.c: Remove.
8433         * features/i386/amd64-avx.c: Remove.
8434         * features/i386/amd64-mpx.c: Remove.
8435         * features/i386/amd64.c: Remove.
8436         * features/i386/i386-avx-avx512.c: Remove.
8437         * features/i386/i386-avx-mpx-avx512-pku.c: Remove.
8438         * features/i386/i386-avx-mpx.c: Remove.
8439         * features/i386/i386-avx.c: Remove.
8440         * features/i386/i386-mmx.c: Remove.
8441         * features/i386/i386-mpx.c: Remove.
8442         * features/i386/i386.c: Remove.
8443         * i386-tdep.c: Don't include features/i386/i386*.c., include
8444         target-descriptions.h and arch/i386.h.
8445         (i386_target_description): Create target descriptions.
8446         (i386_gdbarch_init): Don't call initialize_tdesc_i386_*
8447         functions.  Do self tests.
8448
8449 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8450
8451         * features/Makefile (XMLTOC): Remove i386/amd64XXX-linux.xml.
8452         * features/i386/amd64-avx-avx512-linux.c: Removed.
8453         * features/i386/amd64-avx-linux.c: Removed.
8454         * features/i386/amd64-avx-mpx-avx512-pku-linux.c: Removed.
8455         * features/i386/amd64-avx-mpx-linux.c: Removed.
8456         * features/i386/amd64-linux.c: Removed.
8457         * features/i386/amd64-mpx-linux.c: Removed.
8458         * features/i386/x32-avx-avx512-linux.c: Removed.
8459         * features/i386/x32-avx-linux.c: Removed.
8460         * features/i386/x32-linux.c: Removed.
8461
8462 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8463
8464         * amd64-linux-tdep.c: Include arch/amd64.h.  Don't include
8465         features/i386/*.c.
8466         (amd64_linux_read_description): Call
8467         amd64_create_target_description.
8468         * arch/amd64.c: New file.
8469         * arch/amd64.h: New file.
8470         * configure.tgt (x86_64-*-linux*): Append amd64.o.
8471         * Makefile.in (ALL_64_TARGET_OBS): Append amd64.o.
8472
8473 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8474
8475         * amd64-linux-tdep.c: Don't include amd64-XXX-linux and
8476         x32-XXX-linux.c.  Include 64bit-XX.c and x32-XX.c.
8477         (amd64_linux_read_description): Create target descriptions.
8478         (_initialize_amd64_linux_tdep): Don't call initialize_tdesc_XXX
8479         functions.  Add unit tests.
8480         * features/Makefile (FEATURE_XMLFILES): Append 64bit-XXX.xml and
8481         x32-core.xml.
8482         * features/i386/64bit-avx.c: Generated.
8483         * features/i386/64bit-avx512.c: Generated.
8484         * features/i386/64bit-core.c: Generated.
8485         * features/i386/64bit-linux.c: Generated.
8486         * features/i386/64bit-mpx.c: Generated.
8487         * features/i386/64bit-pkeys.c: Generated.
8488         * features/i386/64bit-segments.c: Generated.
8489         * features/i386/64bit-sse.c: Generated.
8490         * features/i386/x32-core.c: Generated.
8491         * target-descriptions.c (maint_print_c_tdesc_cmd): Print feature
8492         c files for amd64-linux and x32-linux.
8493
8494 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8495
8496         * amd64-linux-tdep.c (amd64_linux_read_description): New
8497         function.
8498         (amd64_linux_core_read_description): Call
8499         amd64_linux_read_description.
8500         (amd64_linux_init_abi): Likewise.
8501         (amd64_x32_linux_init_abi): Likewise.
8502         * amd64-linux-tdep.h (amd64_linux_read_description): Declare.
8503         * x86-linux-nat.c (x86_linux_read_description): Call
8504         amd64_linux_read_description.
8505
8506 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8507
8508         * amd64-linux-tdep.c (amd64_linux_core_read_description): Update
8509         comments.
8510
8511 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8512
8513         * features/Makefile (XMLTOC): Remove i386/i386-XX-linux.xml.
8514         * features/i386/i386-avx-avx512-linux.c: Remove.
8515         * features/i386/i386-avx-linux.c: Remove.
8516         * features/i386/i386-avx-mpx-avx512-pku-linux.c: Remove.
8517         * features/i386/i386-avx-mpx-linux.c: Remove.
8518         * features/i386/i386-linux.c: Remove.
8519         * features/i386/i386-mmx-linux.c: Remove.
8520         * features/i386/i386-mpx-linux.c: Remove.
8521
8522 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8523
8524         * Makefile.in (ALL_TARGET_OBS): Add i386.o.
8525         (SFILES): Add arch/i386.c.
8526         (HFILES_NO_SRCDIR): Add arch/i386.h.
8527         * arch/i386.c: New file.
8528         * arch/i386.h: New file.
8529         * arch/tdesc.h (allocate_target_description): Declare.
8530         (set_tdesc_architecture): Declare.
8531         (set_tdesc_osabi): Declare.
8532         * configure.tgt (i[34567]86-*-linux*): Add i386.o.
8533         * i386-linux-tdep.c: Don't include ../features/i386/32bit-XXX.c.
8534         include arch/i386.h.
8535         (i386_linux_read_description): Remove code and call
8536         i386_create_target_description.
8537         (set_tdesc_architecture): New function.
8538         (set_tdesc_osabi): New function.
8539         * target-descriptions.h (allocate_target_description): Remove.
8540
8541 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8542
8543         * arch/tdesc.h (tdesc_create_feature): Add an argument xml.
8544         * target-descriptions.c (tdesc_create_feature): Likewise, and
8545         adjust code.
8546         * features/i386/32bit-avx.c: Re-generated.
8547         * features/i386/32bit-avx512.c: Re-generated.
8548         * features/i386/32bit-core.c: Re-generated.
8549         * features/i386/32bit-linux.c: Re-generated.
8550         * features/i386/32bit-mpx.c: Re-generated.
8551         * features/i386/32bit-pkeys.c: Re-generated.
8552         * features/i386/32bit-sse.c: Re-generated.
8553
8554 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8555
8556         * regformats/regdef.h (struct reg): Override operator == and !=.
8557
8558 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8559
8560         * arch/tdesc.h: New file.
8561         * regformats/regdat.sh: Generate code using tdesc_create_reg.
8562         * target-descriptions.c: Update comments.
8563         * target-descriptions.h: Include "arch/tdesc.h".  Remove the
8564         declarations.
8565         * features/i386/32bit-avx.c: Re-generated.
8566         * features/i386/32bit-avx512.c: Re-generated.
8567         * features/i386/32bit-core.c: Re-generated.
8568         * features/i386/32bit-linux.c: Re-generated.
8569         * features/i386/32bit-mpx.c: Re-generated.
8570         * features/i386/32bit-pkeys.c: Re-generated.
8571         * features/i386/32bit-sse.c: Re-generated.
8572
8573 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8574
8575         * regformats/regdat.sh: Update generated code.
8576
8577 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8578
8579         * regformats/regdat.sh: Adjust code order.
8580
8581 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8582
8583         * expprint.c (dump_subexp_body_standard): Use constant format
8584         string in fprintf_filtered call.
8585
8586 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8587
8588         * configure.nat: Add "x86-nat.o x86-dregs.o" for NetBSD/amd64 and
8589         NetBSD/i386.
8590         * x86-bsd-nat.c [!DBREG_DRX && __NetBSD__]: Define DBREG_DRX.
8591
8592 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8593
8594         * bsd-kvm.o: Make <sys/user.h> conditional on HAVE_SYS_USER_H.
8595
8596 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8597
8598         * bsd-kvm.o: Define _KMEMUSER.
8599         * configure.ac: Define _KMEMUSER when checking for "struct lwp".
8600         * configure: Regenerate.
8601
8602 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8603
8604         * amd64-fbsd-nat.c: Add include of "x86-xstate.h".
8605         * i386-fbsd-nat.c: Likewise.
8606
8607 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8608
8609         * unittests/array-view-selftests.c: Add include of <array>.
8610
8611 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8612
8613         * spu-tdep.c (flush_ea_cache): Add missing argument to
8614         call_function_by_hand.
8615
8616 2017-09-04  Pedro Alves  <palves@redhat.com>
8617
8618         * NEWS (Safer support for debugging with no debug info): New.
8619
8620 2017-09-04  Pedro Alves  <palves@redhat.com>
8621
8622         * c-exp.y (function_method, function_method_void): Add current
8623         instance flags to TYPE_INSTANCE.
8624         * dwarf2read.c (check_modifier): New.
8625         (compute_delayed_physnames): Assert that only C++ adds delayed
8626         physnames.  Mark fn_fields as const/volatile depending on
8627         physname.
8628         * eval.c (make_params): New type_instance_flags parameter.  Use
8629         it as the new type's instance flags.
8630         (evaluate_subexp_standard) <TYPE_INSTANCE>: Extract the instance
8631         flags element and pass it to make_params.
8632         * expprint.c (print_subexp_standard) <TYPE_INSTANCE>: Handle
8633         instance flags element.
8634         (dump_subexp_body_standard) <TYPE_INSTANCE>: Likewise.
8635         * gdbtypes.h: Include "enum-flags.h".
8636         (type_instance_flags): New enum-flags type.
8637         (TYPE_CONST, TYPE_VOLATILE, TYPE_RESTRICT, TYPE_ATOMIC)
8638         (TYPE_CODE_SPACE, TYPE_DATA_SPACE): Return boolean.
8639         * parse.c (operator_length_standard) <TYPE_INSTANCE>: Adjust.
8640         (follow_type_instance_flags): New function.
8641         (operator_check_standard) <TYPE_INSTANCE>: Adjust.
8642         * parser-defs.h (follow_type_instance_flags): Declare.
8643         * valops.c (value_struct_elt_for_reference): const/volatile must
8644         match too.
8645
8646 2017-09-04  Pedro Alves  <palves@redhat.com>
8647
8648         * cp-namespace.c (cp_search_static_and_baseclasses): Handle
8649         function/method scopes; lookup the nested name as a function local
8650         static variable.
8651
8652 2017-09-04  Pedro Alves  <palves@redhat.com>
8653
8654         (%type <voidval>): Add function_method.
8655         * c-exp.y (exp): New production for calls with no arguments.
8656         (function_method, function_method_void_or_typelist): New
8657         productions.
8658         (exp): New production for "method()::static_var".
8659         * eval.c (evaluate_subexp_standard): Handle OP_FUNC_STATIC_VAR.
8660         * expprint.c (print_subexp_standard, dump_subexp_body_standard):
8661         Handle OP_FUNC_STATIC_VAR.
8662         * parse.c (operator_length_standard):
8663         Handle OP_FUNC_STATIC_VAR.
8664
8665 2017-09-04  Pedro Alves  <palves@redhat.com>
8666
8667         * eval.c (evaluate_subexp_standard): Remove UNOP_MEMVAL_TLS
8668         handling.
8669         * expprint.c (print_subexp_standard, dump_subexp_body_standard):
8670         Ditto.
8671         * parse.c (operator_length_standard, operator_check_standard):
8672         Ditto.
8673         * std-operator.def (UNOP_MEMVAL_TLS): Delete.
8674
8675 2017-09-04  Pedro Alves  <palves@redhat.com>
8676
8677         * ax-gdb.c: Include "typeprint.h".
8678         (gen_expr_for_cast): New function.
8679         (gen_expr) <OP_CAST, OP_CAST_TYPE>: Use it.
8680         <OP_VAR_VALUE, OP_MSYM_VAR_VALUE>: Error out if the variable's
8681         type is unknown.
8682         * dwarf2read.c (new_symbol_full): Fallback to int instead of
8683         nodebug_data_symbol.
8684         * eval.c: Include "typeprint.h".
8685         (evaluate_subexp_standard) <OP_VAR_VALUE, OP_VAR_MSYM_VALUE>:
8686         Error out if symbol has unknown type.
8687         <UNOP_CAST, UNOP_CAST_TYPE>: Common bits factored out to
8688         evaluate_subexp_for_cast.
8689         (evaluate_subexp_for_address, evaluate_subexp_for_sizeof): Handle
8690         OP_VAR_MSYM_VALUE.
8691         (evaluate_subexp_for_cast): New function.
8692         * gdbtypes.c (init_nodebug_var_type): New function.
8693         (objfile_type): Use it to initialize types of variables with no
8694         debug info.
8695         * typeprint.c (error_unknown_type): New.
8696         * typeprint.h (error_unknown_type): New declaration.
8697         * compile/compile-c-types.c (convert_type_basic): Handle
8698         TYPE_CODE_ERROR; warn and fallback to int for variables with
8699         unknown type.
8700
8701 2017-09-04  Pedro Alves  <palves@redhat.com>
8702
8703         * eval.c (evaluate_var_value): New function, factored out from ...
8704         (evaluate_subexp_standard): ... here.
8705
8706 2017-09-04  Pedro Alves  <palves@redhat.com>
8707
8708         * eval.c (evaluate_subexp_standard) <UNOP_COMPLEMENT, UNOP_ADDR>:
8709         Remove useless assignments to 'op'.
8710
8711 2017-09-04  Pedro Alves  <palves@redhat.com>
8712
8713         * eval.c (eval_skip_value): New function.
8714         (evaluate_subexp_standard): Use it.
8715
8716 2017-09-04  Pedro Alves  <palves@redhat.com>
8717
8718         * eval.c (evaluate_subexp_standard): <OP_FUNCALL>: Extract
8719         function name from symbol/minsym and pass it to
8720         error_call_unknown_return_type.
8721
8722 2017-09-04  Pedro Alves  <palves@redhat.com>
8723
8724         * ada-lang.c (resolve_subexp): Handle OP_VAR_MSYM_VALUE.
8725         * ax-gdb.c (gen_msym_var_ref): New function.
8726         (gen_expr): Handle OP_VAR_MSYM_VALUE.
8727         * eval.c (evaluate_var_msym_value): New function.
8728         * eval.c (evaluate_subexp_standard): Handle OP_VAR_MSYM_VALUE.
8729         <OP_FUNCALL>: Extract function name from symbol/minsym and pass it
8730         to call_function_by_hand.
8731         * expprint.c (print_subexp_standard, dump_subexp_body_standard):
8732         Handle OP_VAR_MSYM_VALUE.
8733         (union exp_element) <msymbol>: New field.
8734         * minsyms.h (struct type): Forward declare.
8735         (find_minsym_type_and_address): Declare.
8736         * parse.c (write_exp_elt_msym): New function.
8737         (write_exp_msymbol): Delete, refactored as ...
8738         (find_minsym_type_and_address): ... this new function.
8739         (write_exp_msymbol): Reimplement using OP_VAR_MSYM_VALUE.
8740         (operator_length_standard, operator_check_standard): Handle
8741         OP_VAR_MSYM_VALUE.
8742         * std-operator.def (OP_VAR_MSYM_VALUE): New.
8743
8744 2017-09-04  Pedro Alves  <palves@redhat.com>
8745
8746         * ada-lang.c (ada_evaluate_subexp) <TYPE_CODE_FUNC>: Don't handle
8747         TYPE_GNU_IFUNC specially here.  Throw error if return type is
8748         unknown.
8749         * ada-typeprint.c (print_func_type): Handle functions with unknown
8750         return type.
8751         * c-typeprint.c (c_type_print_base): Handle functions and methods
8752         with unknown return type.
8753         * compile/compile-c-symbols.c (convert_symbol_bmsym)
8754         <mst_text_gnu_ifunc>: Use nodebug_text_gnu_ifunc_symbol.
8755         * compile/compile-c-types.c: Include "objfiles.h".
8756         (convert_func): For functions with unknown return type, warn and
8757         default to int.
8758         * compile/compile-object-run.c (compile_object_run): Adjust call
8759         to call_function_by_hand_dummy.
8760         * elfread.c (elf_gnu_ifunc_resolve_addr): Adjust call to
8761         call_function_by_hand.
8762         * eval.c (evaluate_subexp_standard): Adjust calls to
8763         call_function_by_hand.  Handle functions and methods with unknown
8764         return type.  Pass expect_type to call_function_by_hand.
8765         * f-typeprint.c (f_type_print_base): Handle functions with unknown
8766         return type.
8767         * gcore.c (call_target_sbrk): Adjust call to
8768         call_function_by_hand.
8769         * gdbtypes.c (objfile_type): Leave nodebug text symbol with NULL
8770         return type instead of int.  Make nodebug_text_gnu_ifunc_symbol be
8771         an integer address type instead of nodebug.
8772         * guile/scm-value.c (gdbscm_value_call): Adjust call to
8773         call_function_by_hand.
8774         * infcall.c (error_call_unknown_return_type): New function.
8775         (call_function_by_hand): New "default_return_type" parameter.
8776         Pass it down.
8777         (call_function_by_hand_dummy): New "default_return_type"
8778         parameter.  Use it instead of defaulting to int.  If there's no
8779         default and the return type is unknown, throw an error.  If
8780         there's a default return type, and the called function has no
8781         debug info, then assume the function is prototyped.
8782         * infcall.h (call_function_by_hand, call_function_by_hand_dummy):
8783         New "default_return_type" parameter.
8784         (error_call_unknown_return_type): New declaration.
8785         * linux-fork.c (call_lseek): Cast return type of lseek.
8786         (inferior_call_waitpid, checkpoint_command): Adjust calls to
8787         call_function_by_hand.
8788         * linux-tdep.c (linux_infcall_mmap, linux_infcall_munmap): Adjust
8789         calls to call_function_by_hand.
8790         * m2-typeprint.c (m2_procedure): Handle functions with unknown
8791         return type.
8792         * objc-lang.c (lookup_objc_class, lookup_child_selector)
8793         (value_nsstring, print_object_command): Adjust calls to
8794         call_function_by_hand.
8795         * p-typeprint.c (pascal_type_print_varspec_prefix): Handle
8796         functions with unknown return type.
8797         (pascal_type_print_func_varspec_suffix): New function.
8798         (pascal_type_print_varspec_suffix) <TYPE_CODE_FUNC,
8799         TYPE_CODE_METHOD>: Use it.
8800         * python/py-value.c (valpy_call): Adjust call to
8801         call_function_by_hand.
8802         * rust-lang.c (rust_evaluate_funcall): Adjust call to
8803         call_function_by_hand.
8804         * valarith.c (value_x_binop, value_x_unop): Adjust calls to
8805         call_function_by_hand.
8806         * valops.c (value_allocate_space_in_inferior): Adjust call to
8807         call_function_by_hand.
8808         * typeprint.c (type_print_unknown_return_type): New function.
8809         * typeprint.h (type_print_unknown_return_type): New declaration.
8810
8811 2017-09-04  Pedro Alves  <palves@redhat.com>
8812
8813         * gdbtypes.c (lookup_function_type_with_arguments): Mark function
8814         types with more than one parameter as prototyped.
8815
8816 2017-09-04  Pedro Alves  <palves@redhat.com>
8817
8818         * cli/cli-cmds.c (print_disassembly, disassemble_current_function)
8819         (disassemble_command): Use gdb_disassembly_flags instead of bare
8820         int.
8821         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn)
8822         (dump_insns, do_mixed_source_and_assembly_deprecated)
8823         (do_mixed_source_and_assembly, do_assembly_only, gdb_disassembly):
8824         Use gdb_disassembly_flags instead of bare int.
8825         * disasm.h (DISASSEMBLY_SOURCE_DEPRECATED, DISASSEMBLY_RAW_INSN)
8826         (DISASSEMBLY_OMIT_FNAME, DISASSEMBLY_FILENAME)
8827         (DISASSEMBLY_OMIT_PC, DISASSEMBLY_SOURCE)
8828         (DISASSEMBLY_SPECULATIVE): No longer macros.  Instead they're...
8829         (enum gdb_disassembly_flag): ... values of this new enumeration.
8830         (gdb_disassembly_flags): Define.
8831         (gdb_disassembly)
8832         (gdb_pretty_print_disassembler::pretty_print_insn): Use it.
8833         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Use
8834         gdb_disassembly_flags instead of bare int.
8835         * record-btrace.c (btrace_insn_history)
8836         (record_btrace_insn_history, record_btrace_insn_history_range)
8837         (record_btrace_insn_history_from): Use gdb_disassembly_flags
8838         instead of bare int.
8839         * record.c (get_insn_history_modifiers, cmd_record_insn_history):
8840         Use gdb_disassembly_flags instead of bare int.
8841         * target-debug.h (target_debug_print_gdb_disassembly_flags):
8842         Define.
8843         * target-delegates.c: Regenerate.
8844         * target.c (target_insn_history, target_insn_history_from)
8845         (target_insn_history_range): Use gdb_disassembly_flags instead of
8846         bare int.
8847         * target.h: Include "disasm.h".
8848         (struct target_ops) <to_insn_history, to_insn_history_from,
8849         to_insn_history_range>: Use gdb_disassembly_flags instead of bare
8850         int.
8851         (target_insn_history, target_insn_history_from)
8852         (target_insn_history_range): Use gdb_disassembly_flags instead of
8853         bare int.
8854
8855 2017-09-04  Simon Marchi  <simon.marchi@ericsson.com>
8856
8857         * cli/cli-script.c (build_command_line): For if/while commands,
8858         check whether args is empty.
8859
8860 2017-09-04  Simon Marchi  <simon.marchi@ericsson.com>
8861
8862         * cli/cli-script.h (enum misc_command_type): Move from defs.h.
8863         (enum command_control_type): Likewise.
8864         (struct command_line): Likewise.
8865         (free_command_lines): Likewise.
8866         (struct command_lines_deleter): Likewise.
8867         (command_line_up): Likewise.
8868         (read_command_lines): Likewise.
8869         (read_command_lines_1): Likewise.
8870         * defs.h (enum misc_command_type): Move to cli/cli-script.h.
8871         (enum command_control_type): Likewise.
8872         (struct command_line): Likewise.
8873         (free_command_lines): Likewise.
8874         (struct command_lines_deleter): Likewise.
8875         (command_line_up): Likewise.
8876         (read_command_lines): Likewise.
8877         (read_command_lines_1): Likewise.
8878         * breakpoint.h: Include cli/cli-script.h.
8879         * extension-priv.h: Likewise.
8880         * gdbcmd.h: Likewise.
8881
8882 2017-09-04  Pedro Alves  <palves@redhat.com>
8883
8884         * ada-lang.c (is_known_support_routine): Move sal declaration to
8885         where it is initialized.
8886         * breakpoint.c (create_internal_breakpoint, init_catchpoint)
8887         (parse_breakpoint_sals, decode_static_tracepoint_spec)
8888         (clear_command, update_static_tracepoint): Remove init_sal
8889         references.  Move declarations closer to initializations.
8890         * cli/cli-cmds.c (list_command): Move sal declarations closer to
8891         initializations.
8892         * elfread.c (elf_gnu_ifunc_resolver_stop): Remove init_sal
8893         references.  Move sal declarations closer to initializations.
8894         * frame.c (find_frame_sal): Return a symtab_and_line via function
8895         return instead of output parameter.  Remove init_sal references.
8896         * frame.h (find_frame_sal): Return a symtab_and_line via function
8897         return instead of output parameter.
8898         * guile/scm-frame.c (gdbscm_frame_sal): Adjust.
8899         * guile/scm-symtab.c (stscm_make_sal_smob): Use in-place new
8900         instead of memset.
8901         (gdbscm_find_pc_line): Remove init_sal reference.
8902         * infcall.c (call_function_by_hand_dummy): Remove init_sal
8903         references.  Move declarations closer to initializations.
8904         * infcmd.c (set_step_frame): Update.  Move declarations closer to
8905         initializations.
8906         (finish_backward): Remove init_sal references.  Move declarations
8907         closer to initializations.
8908         * infrun.c (process_event_stop_test, handle_step_into_function)
8909         (insert_hp_step_resume_breakpoint_at_frame)
8910         (insert_step_resume_breakpoint_at_caller): Likewise.
8911         * linespec.c (create_sals_line_offset, decode_digits_ordinary)
8912         (symbol_to_sal): Likewise.
8913         * probe.c (parse_probes_in_pspace): Remove init_sal reference.
8914         * python/py-frame.c (frapy_find_sal): Move sal declaration closer
8915         to its initialization.
8916         * reverse.c (save_bookmark_command): Use new/delete.  Remove
8917         init_sal references.  Move declarations closer to initializations.
8918         * source.c (get_current_source_symtab_and_line): Remove brace
8919         initialization.
8920         (set_current_source_symtab_and_line): Now takes the sal by const
8921         reference.  Remove brace initialization.
8922         (line_info): Remove init_sal reference.
8923         * source.h (set_current_source_symtab_and_line): Now takes a
8924         symtab_and_line via const reference.
8925         * stack.c (set_current_sal_from_frame): Adjust.
8926         (print_frame_info): Adjust.
8927         (get_last_displayed_sal): Return the sal via function return
8928         instead of via output parameter.  Simplify.
8929         (frame_info): Adjust.
8930         * stack.h (get_last_displayed_sal): Return the sal via function
8931         return instead of via output parameter.
8932         * symtab.c (init_sal): Delete.
8933         (find_pc_sect_line): Remove init_sal references.  Move
8934         declarations closer to initializations.
8935         (find_function_start_sal): Remove init_sal references.  Move
8936         declarations closer to initializations.
8937         * symtab.h (struct symtab_and_line): In-class initialize all
8938         fields.
8939         * tracepoint.c (set_traceframe_context)
8940         (print_one_static_tracepoint_marker): Remove init_sal references.
8941         Move declarations closer to initializations.
8942         * tui/tui-disasm.c (tui_show_disassem_and_update_source): Adjust.
8943         * tui/tui-stack.c (tui_show_frame_info): Adjust.  Move
8944         declarations closer to initializations.
8945         * tui/tui-winsource.c (tui_update_source_window_as_is): Remove
8946         init_sal references.  Adjust.
8947
8948 2017-09-04  Pedro Alves  <palves@redhat.com>
8949
8950         * ax-gdb.c (agent_command_1): Use range-for.
8951         * break-catch-throw.c (re_set_exception_catchpoint): Update.
8952         * breakpoint.c: Include "common/array-view.h".
8953         (init_breakpoint_sal, create_breakpoint_sal): Change sals
8954         parameter from struct symtabs_and_lines to
8955         array_view<symtab_and_line>.  Adjust.  Use range-for.  Update.
8956         (breakpoint_sals_to_pc): Change sals parameter from struct
8957         symtabs_and_lines to std::vector reference.
8958         (check_fast_tracepoint_sals): Change sals parameter from struct
8959         symtabs_and_lines to std::array_view.  Use range-for.
8960         (decode_static_tracepoint_spec): Return a std::vector instead of
8961         symtabs_and_lines.  Update.
8962         (create_breakpoint): Update.
8963         (break_range_command, until_break_command, clear_command): Update.
8964         (base_breakpoint_decode_location, bkpt_decode_location)
8965         (bkpt_probe_create_sals_from_location)
8966         (bkpt_probe_decode_location, tracepoint_decode_location)
8967         (tracepoint_probe_decode_location)
8968         (strace_marker_create_sals_from_location): Return a std::vector
8969         instead of symtabs_and_lines.
8970         (strace_marker_create_breakpoints_sal): Update.
8971         (strace_marker_decode_location): Return a std::vector instead of
8972         symtabs_and_lines.  Update.
8973         (update_breakpoint_locations): Change struct symtabs_and_lines
8974         parameters to gdb::array_view.  Adjust.
8975         (location_to_sals): Return a std::vector instead of
8976         symtabs_and_lines.  Update.
8977         (breakpoint_re_set_default): Use std::vector instead of struct
8978         symtabs_and_lines.
8979         (decode_location_default): Return a std::vector instead of
8980         symtabs_and_lines.  Update.
8981         * breakpoint.h: Include "common/array-view.h".
8982         (struct breakpoint_ops) <decode_location>: Now returns a
8983         std::vector instead of returning a symtabs_and_lines via output
8984         parameter.
8985         (update_breakpoint_locations): Change sals parameters to use
8986         gdb::array_view.
8987         * cli/cli-cmds.c (edit_command, list_command): Update to use
8988         std::vector and gdb::array_view.
8989         (ambiguous_line_spec): Adjust to use gdb::array_view and
8990         range-for.
8991         (compare_symtabs): Rename to ...
8992         (cmp_symtabs): ... this.  Change parameters to symtab_and_line
8993         const reference and adjust.
8994         (filter_sals): Rewrite using std::vector and standard algorithms.
8995         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Simplify.
8996         (jump_command): Update to use std::vector.
8997         * linespec.c (struct linespec_state) <canonical_names>: Update
8998         comment.
8999         (add_sal_to_sals_basic): Delete.
9000         (add_sal_to_sals, filter_results, convert_results_to_lsals)
9001         (decode_line_2, create_sals_line_offset)
9002         (convert_address_location_to_sals, convert_linespec_to_sals)
9003         (convert_explicit_location_to_sals, parse_linespec)
9004         (event_location_to_sals, decode_line_full, decode_line_1)
9005         (decode_line_with_current_source)
9006         (decode_line_with_last_displayed, decode_objc)
9007         (decode_digits_list_mode, decode_digits_ordinary, minsym_found)
9008         (linespec_result::~linespec_result): Adjust to use std::vector
9009         instead of symtabs_and_lines.
9010         * linespec.h (linespec_sals::sals): Now a std::vector.
9011         (struct linespec_result): Use std::vector, bool, and in-class
9012         initialization.
9013         (decode_line_1, decode_line_with_current_source)
9014         (decode_line_with_last_displayed): Return std::vector.
9015         * macrocmd.c (info_macros_command): Use std::vector.
9016         * mi/mi-main.c (mi_cmd_trace_find): Use std::vector.
9017         * probe.c (parse_probes_in_pspace, parse_probes): Adjust to use
9018         std::vector.
9019         * probe.h (parse_probes): Return a std::vector.
9020         * python/python.c (gdbpy_decode_line): Use std::vector and
9021         gdb::array_view.
9022         * source.c (select_source_symtab, line_info): Use std::vector.
9023         * stack.c (func_command): Use std::vector.
9024         * symtab.h (struct symtabs_and_lines): Delete.
9025         * tracepoint.c (tfind_line_command, scope_info): Use std::vector.
9026
9027 2017-09-04  Pedro Alves  <palves@redhat.com>
9028
9029         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9030         unittests/array-view-selftests.c.
9031         (SUBDIR_UNITTESTS_OBS): Add array-view-selftests.o.
9032         * common/array-view.h: New file.
9033         * unittests/array-view-selftests.c: New file.
9034
9035 2017-09-04  Pedro Alves  <palves@redhat.com>
9036
9037         * cli/cli-cmds.c (edit_command): Pass message to
9038         ambiguous_line_spec.
9039         (list_command): Pass message to ambiguous_line_spec.  Say
9040         "first"/"last" instead of "start" and "end" to be consistent with
9041         the manual.
9042         (ambiguous_line_spec): Add 'format' and vararg parameters.  Use
9043         them to print formatted message.
9044
9045 2017-09-04  Pedro Alves  <palves@redhat.com>
9046
9047         * btrace.c (ftrace_add_pt): Pass btrace_insn to
9048         ftrace_update_insns by reference instead of pointer.
9049
9050 2017-09-04  Yao Qi  <yao.qi@linaro.org>
9051
9052         * i386-go32-tdep.c: Include x86-xstate.h.
9053         (i386_go32_init_abi): Call i386_target_description.
9054         * i386-tdep.c (i386_target_description): Return tdesc_i386_mmx
9055         if xcr0 is X86_XSTATE_X87_MASK.
9056         * i386-tdep.h (tdesc_i386): Remove the declaration.
9057         (tdesc_i386_mmx): Likewise.
9058
9059 2017-09-04  Yao Qi  <yao.qi@linaro.org>
9060
9061         * i386-fbsd-tdep.c (i386fbsd_core_read_xcr0): Return
9062         X86_XSTATE_SSE_MASK instead of 0.
9063
9064 2017-09-04  Yao Qi  <yao.qi@linaro.org>
9065
9066         * amd64-fbsd-nat.c (amd64fbsd_read_description): Call
9067         i386_target_description.
9068         * i386-fbsd-nat.c (i386fbsd_read_description): Call
9069         i386_target_description.
9070         * i386-tdep.c (i386_gdbarch_init): Likewise.
9071
9072 2017-09-04  Yao Qi  <yao.qi@linaro.org>
9073
9074         * amd64-darwin-tdep.c: Include "x86-xstate.h".
9075         (x86_darwin_init_abi_64): Call amd64_target_description.
9076         * amd64-dicos-tdep.c: Likewise.
9077         * amd64-fbsd-nat.c: Likewise.
9078         * amd64-fbsd-tdep.c: Likewise.
9079         * amd64-nbsd-tdep.c: Likewise.
9080         * amd64-obsd-tdep.c: Likewise.
9081         * amd64-sol2-tdep.c: Likewise.
9082         * amd64-windows-tdep.c: Likewise.
9083         * amd64-tdep.h (tdesc_amd64): Remove the declaration.
9084
9085 2017-09-04  Simon Marchi  <simon.marchi@ericsson.com>
9086
9087         * btrace.h (btrace_insn_s, DEF_VEC_O (btrace_insn_s)): Remove.
9088         (btrace_function) <insn>: Change type to use std::vector.
9089         * btrace.c (ftrace_debug, ftrace_call_num_insn,
9090         ftrace_find_call, ftrace_new_gap, ftrace_update_function,
9091         ftrace_update_insns, ftrace_compute_global_level_offset,
9092         btrace_stitch_bts, btrace_clear, btrace_insn_get,
9093         btrace_insn_end, btrace_insn_next, btrace_insn_prev): Adjust to
9094         change to std::vector.
9095         (ftrace_update_insns): Adjust to change to std::vector, change
9096         type of INSN parameter.
9097         (btrace_compute_ftrace_bts): Adjust call to ftrace_update_insns.
9098         * record-btrace.c (btrace_call_history_insn_range,
9099         btrace_compute_src_line_range,
9100         record_btrace_frame_prev_register): Adjust to change to
9101         std::vector.
9102         * python/py-record-btrace.c (recpy_bt_func_instructions): Adjust
9103         to change to std::vector.
9104
9105 2017-09-03  Tom Tromey  <tom@tromey.com>
9106
9107         * corefile.c (reopen_exec_file): Use std::string.
9108
9109 2017-09-03  Tom Tromey  <tom@tromey.com>
9110
9111         * compile/compile.c (compile_register_name_mangled): Return
9112         std::string.
9113         * compile/compile-loc2c.c (pushf_register_address): Update.
9114         (pushf_register): Update.
9115         * compile/compile-c-types.c (convert_array): Update.
9116         * compile/compile-c-symbols.c (generate_vla_size): Update.
9117         (error_symbol_once): Use a gdb::unique_xmalloc_ptr.
9118         (symbol_substitution_name): Return a gdb::unique_xmalloc_ptr.
9119         (convert_one_symbol): Update.
9120         (generate_c_for_for_one_variable): Update.
9121         * compile/compile-c-support.c (c_get_range_decl_name): Return a
9122         std::string.
9123         (generate_register_struct): Update.
9124         * compile/compile-internal.h (c_get_range_decl_name): Return a
9125         std::string.
9126         (compile_register_name_mangled): Return std::string.
9127
9128 2017-09-03  Tom Tromey  <tom@tromey.com>
9129
9130         * utils.c (perror_string): Return a std::string.
9131         (throw_perror_with_name, perror_warning_with_name): Update.
9132
9133 2017-09-03  Tom Tromey  <tom@tromey.com>
9134
9135         * demangle.c (demangle_command): Use std::string,
9136         unique_xmalloc_ptr.
9137
9138 2017-09-03  Tom Tromey  <tom@tromey.com>
9139
9140         * cli/cli-setshow.c (do_set_command): Use std::string.
9141
9142 2017-09-03  Tom Tromey  <tom@tromey.com>
9143
9144         * cli/cli-cmds.c (cd_command): Use gdb::unique_xmalloc_ptr.
9145
9146 2017-09-03  Tom Tromey  <tom@tromey.com>
9147
9148         * mi/mi-interp.c (mi_cmd_interpreter_exec): Use std::string.
9149
9150 2017-09-03  Tom Tromey  <tom@tromey.com>
9151
9152         * mi/mi-cmd-env.c (env_execute_cli_command): Use
9153         gdb::unique_xmalloc_ptr.
9154
9155 2017-09-03  Tom Tromey  <tom@tromey.com>
9156
9157         * thread.c (print_thread_info_1): Use string_printf.
9158         (thread_apply_command, thread_apply_all_command): Use
9159         std::string.
9160
9161 2017-09-03  Tom Tromey  <tom@tromey.com>
9162
9163         * valprint.c (val_print_string): Update.
9164         * gdbcore.h (memory_error_message): Return std::string.
9165         * corefile.c (memory_error_message): Return std::string.
9166         (memory_error): Update.
9167         * breakpoint.c (insert_bp_location): Update.
9168
9169 2017-09-03  Simon Marchi  <simon.marchi@ericsson.com>
9170
9171         * target/waitstatus.h (target_waitstatus_to_string): Change
9172         return type to std::string.
9173         * target/waitstatus.c (target_waitstatus_to_string): Return
9174         std::string.
9175         * target.h (target_waitstatus_to_string): Remove declaration.
9176         * infrun.c (resume, clear_proceed_status_thread,
9177         print_target_wait_results, do_target_wait, save_waitstatus,
9178         stop_all_threads): Adjust.
9179         * record-btrace.c (record_btrace_wait): Adjust.
9180         * target-debug.h
9181         (target_debug_print_struct_target_waitstatus_p): Adjust.
9182
9183 2017-09-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
9184
9185         PR gdb/22046
9186         * nat/linux-procfs.c (parse_proc_status_state): Fix PROC_STATE_STOPPED
9187         detection.
9188
9189 2017-08-31  Sergio Durigan Junior  <sergiodj@redhat.com>
9190
9191         * NEWS (Changes since GDB 8.0): Add entry mentioning new support
9192         for setting/unsetting environment variables on the remote target.
9193         (New remote packets): Add entries for QEnvironmentHexEncoded,
9194         QEnvironmentUnset and QEnvironmentReset.
9195         * common/environ.c (gdb_environ::operator=): Extend method to
9196         handle m_user_set_env_list and m_user_unset_env_list.
9197         (gdb_environ::clear): Likewise.
9198         (match_var_in_string): Change type of first parameter from 'char
9199         *' to 'const char *'.
9200         (gdb_environ::set): Extend method to handle
9201         m_user_set_env_list and m_user_unset_env_list.
9202         (gdb_environ::unset): Likewise.
9203         (gdb_environ::clear_user_set_env): New method.
9204         (gdb_environ::user_set_envp): Likewise.
9205         (gdb_environ::user_unset_envp): Likewise.
9206         * common/environ.h (gdb_environ): Handle m_user_set_env_list and
9207         m_user_unset_env_list on move constructor/assignment.
9208         (unset): Add new default parameter 'update_unset_list = true'.
9209         (clear_user_set_env): New method.
9210         (user_set_envp): Likewise.
9211         (user_unset_envp): Likewise.
9212         (m_user_set_env_list): New std::set.
9213         (m_user_unset_env_list): Likewise.
9214         * common/rsp-low.c (hex2str): New function.
9215         (bin2hex): New overload for bin2hex function.
9216         * common/rsp-low.c (hex2str): New prototype.
9217         (str2hex): New overload prototype.
9218         * remote.c: Include "environ.h". Add QEnvironmentHexEncoded,
9219         QEnvironmentUnset and QEnvironmentReset.
9220         (remote_protocol_features): Add QEnvironmentHexEncoded,
9221         QEnvironmentUnset and QEnvironmentReset packets.
9222         (send_environment_packet): New function.
9223         (extended_remote_environment_support): Likewise.
9224         (extended_remote_create_inferior): Call
9225         extended_remote_environment_support.
9226         (_initialize_remote): Add QEnvironmentHexEncoded,
9227         QEnvironmentUnset and QEnvironmentReset packet configs.
9228         * unittests/environ-selftests.c (gdb_selftest_env_var):
9229         New variable.
9230         (test_vector_initialization): New function.
9231         (test_init_from_host_environ): Likewise.
9232         (test_reinit_from_host_environ): Likewise.
9233         (test_set_A_unset_B_unset_A_cannot_find_A_can_find_B):
9234         Likewise.
9235         (test_unset_set_empty_vector): Likewise.
9236         (test_vector_clear): Likewise.
9237         (test_std_move): Likewise.
9238         (test_move_constructor):
9239         (test_self_move): Likewise.
9240         (test_set_unset_reset): Likewise.
9241         (run_tests): Rewrite in terms of the functions above.
9242
9243 2017-08-31  Weimin Pan  <weimin.pan@oracle.com>
9244
9245         * sparc64-tdep.c (adi_stat_t): Fix comment formatting.
9246         (adi_available): Use a temp variable of type CORE_ADDR as argument
9247         3 when calling target_auxv_search.
9248         (adi_normalize_address): Use masks and xor operators to calculate
9249         normalized address.
9250         (adi_read_versions, adi_write_versions, adi_print_versions)
9251         (do_examine, do_assign): Use paddress.
9252
9253 2017-08-29  John Baldwin  <jhb@FreeBSD.org>
9254
9255         * mips-fbsd-nat.c (getfpregs_supplies): Return true for FIR.
9256         * mips-fbsd-tdep.c (mips_fbsd_supply_fpregs): Split supply of FSR
9257         out of loop and add supply of FIR.
9258         (mips_fbsd_collect_fpregs): Split collect of FSR out of loop and
9259         add collect of FIR.
9260
9261 2017-08-28  Simon Marchi  <simon.marchi@ericsson.com>
9262
9263         PR gdb/21827
9264         * cli/cli-script.c (define_command): Don't convert command name
9265         to lower case.
9266
9267 2017-08-25  Joel Brobecker  <brobecker@adacore.com>
9268
9269         * ada-lang.c (ada_lookup_struct_elt_type): Remove parameter "dispp".
9270         Update all callers accordingly. Remove all code blocks handling
9271         the case where DISPP is not NULL.
9272
9273 2017-08-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
9274
9275         PR symtab/22003
9276         * dwarf2read.c (dwarf2_const_value_attr, dump_die_shallow)
9277         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
9278         (skip_form_bytes, attr_form_is_constant): Handle DW_FORM_implicit_const.
9279
9280 2017-08-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
9281
9282         * dwarf2read.c (build_type_psymtabs_reader): New prototype.
9283         (process_psymtab_comp_unit): Accept IS_DEBUG_TYPES.
9284         (read_comp_units_from_section): New parameter abbrev_section, use
9285         read_and_check_comp_unit_head, allocate signatured_type if needed.
9286         (create_all_comp_units): Update read_comp_units_from_section caller.
9287
9288 2017-08-23  Pedro Alves  <palves@redhat.com>
9289
9290         PR remote/21852
9291         * remote.c (add_current_inferior_and_thread): Set inferior_ptid
9292         to null_ptid and switch to thread without reading the registers
9293         after adding the inferior.
9294
9295 2017-08-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
9296
9297         * NEWS (Changes since GDB 8.0): Add set compile-gcc and show
9298         compile-gcc.
9299         * compile/compile.c (compile_gcc, show_compile_gcc): New.
9300         (compile_to_object): Implement compile_gcc.
9301         (_initialize_compile): Install "set compile-gcc".  Initialize
9302         compile_gcc.
9303
9304 2017-08-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
9305
9306         * compile/compile.c (compile_to_object): Conditionally call
9307         set_verbose.  Conditionally call compile or compile_v0.
9308
9309 2017-08-07  Weimin Pan  <weimin.pan@oracle.com>
9310
9311         * sparc64-tdep.h: (adi_normalize_address): New export.
9312         * sparc-nat.h: (open_adi_tag_fd): New export.
9313         * sparc64-linux-nat.c: (open_adi_tag_fd): New function.
9314         * sparc64-linux-tdep.c:
9315         (SEGV_ACCADI, SEGV_ADIDERR, SEGV_ADIPERR) New defines.
9316         (sparc64_linux_handle_segmentation_fault): New function.
9317         (sparc64_linux_init_abi): Register
9318         sparc64_linux_handle_segmentation_fault
9319         * sparc64-tdep.c: Include cli-utils.h,gdbcmd.h,auxv.h.
9320         (sparc64_addr_bits_remove): New function.
9321         (sparc64_init_abi): Register sparc64_addr_bits_remove.
9322         (MAX_PROC_NAME_SIZE): New macro.
9323         (AT_ADI_BLKSZ, AT_ADI_NBITS, AT_ADI_UEONADI) New defines.
9324         (sparc64adilist): New variable.
9325         (adi_proc_list): New variable.
9326         (find_adi_info): New function.
9327         (add_adi_info): New function.
9328         (get_adi_info_proc): New function.
9329         (get_adi_info): New function.
9330         (info_adi_command): New function.
9331         (read_maps_entry): New function.
9332         (adi_available): New function.
9333         (adi_normalize_address): New function.
9334         (adi_align_address): New function.
9335         (adi_convert_byte_count): New function.
9336         (adi_tag_fd): New function.
9337         (adi_is_addr_mapped): New function.
9338         (adi_read_versions): New function.
9339         (adi_write_versions): New function.
9340         (adi_print_versions): New function.
9341         (do_examine): New function.
9342         (do_assign): New function.
9343         (adi_examine_command): New function.
9344         (adi_assign_command): New function.
9345         (_initialize_sparc64_adi_tdep): New function.
9346
9347 2017-08-22  Simon Marchi  <simon.marchi@ericsson.com>
9348
9349         * breakpoint.c (breakpoints_info): Rename to ...
9350         (info_breakpoints_command): ... this.
9351         (watchpoints_info): Rename to ...
9352         (info_watchpoints_command): ... this.
9353         (tracepoints_info): Rename to ...
9354         (info_tracepoints_command): ... this.
9355         (_initialize_breakpoint): Adjust.
9356         * dcache.c (dcache_info): Rename to ...
9357         (info_display_command): ... this.
9358         (_initialize_dcache): Adjust.
9359         * frame.h (args_info): Rename to ...
9360         (info_args_command): ... this.
9361         (locals_info): Rename to ...
9362         (info_locals_command): ... this.
9363         * infcmd.c (nofp_registers_info): Rename to ...
9364         (info_registers_command): ... this.
9365         (float_info): Rename to ...
9366         (info_float_command): ... this.
9367         (program_info): Rename to ...
9368         (info_program_command): ... this.
9369         (all_registers_info): Rename to ...
9370         (info_all_registers_command): ... this.
9371         (vector_info): Rename to ...
9372         (info_vector_command): ... this.
9373         (float_info): Rename to ...
9374         (info_float_command): ... this.
9375         (_initialize_infcmd): Adjust.
9376         * inferior.h (term_info): Rename to ...
9377         (info_terminal_command): ... this.
9378         * inflow.c (term_info): Rename to ...
9379         (info_terminal_command): ... this.
9380         (_initialize_inflow): Adjust.
9381         * infrun.c (signals_info): Rename to ...
9382         (info_signals_command): ... this.
9383         (_initialize_infrun): Adjust.
9384         * objc-lang.c (classes_info): Rename to ...
9385         (info_classes_command): ... this.
9386         (selectors_info): Rename to ...
9387         (info_selectors_command): ... this.
9388         (_initialize_objc_language): Adjust.
9389         * printcmd.c (sym_info): Rename to ...
9390         (info_symbol_command): ... this.
9391         (address_info): Rename to ...
9392         (info_address_command): ... this.
9393         (display_info): Rename to ...
9394         (info_display_command): ... this.
9395         (_initialize_printcmd): Adjust.
9396         * reverse.c (bookmarks_info): Rename to ...
9397         (info_breakpoints_command): ... this.
9398         (_initialize_reverse): Adjust.
9399         * ser-go32.c (dos_info): Rename to ...
9400         (info_serial_command): ... this.
9401         (_initialize_ser_dos): Adjust.
9402         * skip.c (skip_info): Rename to ...
9403         (info_skip_command): ... this.
9404         (_initialize_step_skip): Adjust.
9405         * source.c (line_info): Rename to ...
9406         (info_line_command): ... this.
9407         (source_info): Rename to ...
9408         (info_source_command)
9409         * stack.c (frame_info): Rename to ...
9410         (info_frame_command): ... this.
9411         (locals_info): Rename to ...
9412         (info_locals_command): ... this.
9413         (args_info): Rename to ...
9414         (info_args_command): ... this.
9415         (_initialize_stack): Adjust.
9416         * symtab.c (sources_info): Rename to ...
9417         (info_sources_command): ... this.
9418         (variables_info): Rename to ...
9419         (info_variables_command): ... this.
9420         (functions_info): Rename to ...
9421         (info_functions_command): ... this.
9422         (types_info): Rename to ...
9423         (info_types_command): ... this.
9424         (_initialize_symtab): Adjust.
9425         * target.c (target_info): Rename to ...
9426         (info_target_command): ... this.
9427         (initialize_targets): Adjust.
9428         * tracepoint.c (tvariables_info): Rename to ...
9429         (info_tvariables_command): ... this.
9430         (scope_info): Rename to ...
9431         (info_scope_command): ... this.
9432         (trace_dump_actions): Adjust.
9433         (_initialize_tracepoint): Adjust.
9434
9435 2017-08-22  Tom Tromey  <tom@tromey.com>
9436
9437         * breakpoint.h (install_breakpoint): Update.
9438         * breakpoint.c (add_solib_catchpoint): Update.
9439         (install_breakpoint): Change argument to a std::unique_ptr.
9440         (create_fork_vfork_event_catchpoint): Use std::unique_ptr.
9441         (create_breakpoint_sal, create_breakpoint): Update.
9442         (watch_command_1, catch_exec_command_1)
9443         (strace_marker_create_breakpoints_sal): Use std::unique_ptr.
9444         (add_to_breakpoint_chain): Change argument to a std::unique_ptr.
9445         Return the breakpoint.
9446         (set_raw_breakpoint_without_location, set_raw_breakpoint)
9447         (new_single_step_breakpoint): Update.
9448         * break-catch-throw.c (handle_gnu_v3_exceptions): Use
9449         std::unique_ptr.
9450         * break-catch-syscall.c (create_syscall_event_catchpoint): Use
9451         std::unique_ptr.
9452         * break-catch-sig.c (create_signal_catchpoint): Use
9453         std::unique_ptr.
9454         * ada-lang.c (create_ada_exception_catchpoint): Use
9455         std::unique_ptr.
9456
9457 2017-08-22  Tom Tromey  <tom@tromey.com>
9458
9459         * breakpoint.c (add_solib_catchpoint): Use std::unique_ptr.
9460
9461 2017-08-22  Tom Tromey  <tom@tromey.com>
9462
9463         * psymtab.c (psymtab_search_name): Return a unique_xmalloc_ptr.
9464         (lookup_partial_symbol): Update.
9465
9466 2017-08-22  Tom Tromey  <tom@tromey.com>
9467
9468         * source.h (rewrite_source_path): Return a unique_xmalloc_ptr.
9469         * source.c (rewrite_source_path): Return a unique_xmalloc_ptr.
9470         (find_and_open_source, symtab_to_fullname): Update.
9471         * psymtab.c (psymtab_to_fullname): Update.
9472
9473 2017-08-22  Tom Tromey  <tom@tromey.com>
9474
9475         * exec.c (exec_file_attach): Update.
9476         * linux-thread-db.c (try_thread_db_load): Update.
9477         * guile/scm-safe-call.c (gdbscm_safe_source_script): Update.
9478         * utils.c (gdb_realpath): Change return type.
9479         (gdb_realpath_keepfile): Update.
9480         (gdb_realpath_check_trailer, gdb_realpath_tests): New functions.
9481         (_initialize_utils): Register the new self test.
9482         * source.c (openp): Update.
9483         (find_and_open_source): Update.
9484         * nto-tdep.c (nto_find_and_open_solib): Update.
9485         * main.c (set_gdb_data_directory): Update.
9486         (captured_main_1): Update.
9487         * dwarf2read.c (dwarf2_get_dwz_file): Update
9488         (dw2_map_symbol_filenames): Update.
9489         * auto-load.c (auto_load_safe_path_vec_update): Update.
9490         (filename_is_in_auto_load_safe_path_vec): Change type of
9491         "filename_realp".
9492         (auto_load_objfile_script): Update.
9493         (file_is_auto_load_safe): Update.  Use std::string.
9494         * utils.h (gdb_realpath): Return a gdb::unique_xmalloc_ptr.
9495
9496 2017-08-22  Tom Tromey  <tom@tromey.com>
9497
9498         * utils.c (gdb_realpath_keepfile): Return a
9499         gdb::unique_xmalloc_ptr.
9500         * exec.c (exec_file_attach): Update.
9501         * utils.h (gdb_realpath_keepfile): Return a
9502         gdb::unique_xmalloc_ptr.
9503
9504 2017-08-22  Tom Tromey  <tom@tromey.com>
9505
9506         * compile/compile.c (compile_file_command): Use
9507         gdb::unique_xmalloc_ptr, std::string.
9508         * utils.c (gdb_abspath): Change return type.
9509         * source.c (openp): Update.
9510         * objfiles.c (allocate_objfile): Update.
9511         * main.c (set_gdb_data_directory): Update.
9512         * utils.h (gdb_abspath): Return a gdb::unique_xmalloc_ptr.
9513
9514 2017-08-22  Zhouyi Zhou  <zhouzhouyi@gmail.com>
9515
9516         * cli-cmds.c (list_commands): List actual code around more than
9517         one location.
9518
9519 2017-08-21  John Baldwin  <jhb@FreeBSD.org>
9520
9521         * fbsd-nat.c (fbsd_add_threads): Use array type for `lwps'.
9522
9523 2017-08-21  Pedro Alves  <palves@redhat.com>
9524
9525         PR gdb/19487
9526         * c-exp.y (variable production): Handle function aliases.
9527         * minsyms.c (msymbol_is_text): New function.
9528         * minsyms.h (msymbol_is_text): Declare.
9529         * symtab.c (find_function_alias_target): New function.
9530         * symtab.h (find_function_alias_target): Declare.
9531
9532 2017-08-21  Pedro Alves  <palves@redhat.com>
9533
9534         * eval.c (evaluate_subexp_standard) <OP_TYPE>: Don't dig past
9535         typedefs.
9536         * typeprint.c (whatis_exp): If handling "whatis", and expression
9537         is OP_TYPE, strip one typedef level.  Otherwise don't strip
9538         typedefs here.
9539         * valops.c (value_cast): Save "to" type before resolving
9540         stubs/typedefs.  Use that type as resulting value's type.
9541
9542 2017-08-18  Tom Tromey  <tom@tromey.com>
9543             Pedro Alves  <palves@redhat.com>
9544
9545         * spu-multiarch.c (parse_spufs_run): Use scoped_restore.
9546         * sol-thread.c (sol_thread_resume, sol_thread_wait)
9547         (sol_thread_xfer_partial, rw_common): Use scoped_restore.
9548         * procfs.c (procfs_do_thread_registers): Use scoped_restore.
9549         * proc-service.c (ps_xfer_memory): Use scoped_restore.
9550         * linux-tdep.c (linux_corefile_thread): Remove a cleanup.
9551         (linux_get_siginfo_data): Add "thread" argument.  Use
9552         scoped_restore.
9553         * linux-nat.c (linux_child_follow_fork)
9554         (check_stopped_by_watchpoint): Use scoped_restore.
9555         * infrun.c (displaced_step_prepare_throw, write_memory_ptid)
9556         (THREAD_STOPPED_BY, handle_signal_stop): Use scoped_restore.
9557         (restore_inferior_ptid, save_inferior_ptid): Remove.
9558         * btrace.c (btrace_fetch): Use scoped_restore.
9559         * bsd-uthread.c (bsd_uthread_fetch_registers)
9560         (bsd_uthread_store_registers): Use scoped_restore.
9561         * breakpoint.c (reattach_breakpoints, detach_breakpoints): Use
9562         scoped_restore.
9563         * aix-thread.c (aix_thread_resume, aix_thread_wait)
9564         (aix_thread_xfer_partial): Use scoped_restore.
9565         * inferior.h (save_inferior_ptid): Remove.
9566
9567 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9568
9569         PR tdep/21818
9570         * arm-tdep.c (gdb_print_insn_arm): Mark
9571         USER_SPECIFIED_MACHINE_TYPE if exec_bfd isn't NULL.
9572
9573 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9574
9575         * NEWS: Mention GDBserver's new option "--selftest".
9576         * Makefile.in (SFILES): Remove selftest.c, add common/selftest.c.
9577         * selftest.c: Move it to common/selftest.c.
9578         * selftest.h: Move it to common/selftest.h.
9579         * selftest-arch.c (reset): New function.
9580         (tests_with_arch): Call reset.
9581
9582 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9583
9584         * selftest.c (run_tests): Don't call QUIT.  Call debug_printf
9585         instead of exception_fprintf and printf_filtered.
9586
9587 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9588
9589         * selftest.c (register_self_test): Rename it to
9590         selftests::register_test.
9591         (run_self_tests): selftest::run_tests.
9592         * selftest.h: Update declarations.
9593         * selftest-arch.c (register_self_test_foreach_arch): Rename it to
9594         selftests::register_test_foreach_arch.
9595         * selftest-arch.h: Update declaration.
9596         * aarch64-tdep.c: Update.
9597         * arm-tdep.c: Likewise.
9598         * disasm-selftests.c: Likewise.
9599         * dwarf2loc.c: Likewise.
9600         * dwarf2-frame.c: Likewise.
9601         * findvar.c: Likewise.
9602         * gdbarch-selftests.c: Likewise.
9603         * maint.c (maintenance_selftest): Likewise.
9604         * regcache.c: Likewise.
9605         * rust-exp.y: Likewise.
9606         * selftest-arch.c: Likewise.
9607         * unittests/environ-selftests.c: Likewise.
9608         * unittests/function-view-selftests.c: Likewise.
9609         * unittests/offset-type-selftests.c: Likewise.
9610         * unittests/optional-selftests.c: Likewise.
9611         * unittests/scoped_restore-selftests.c: Likewise.
9612         * utils-selftests.c: Likewise.
9613
9614 2017-08-17  Pedro Alves  <palves@redhat.com>
9615
9616         * cli/cli-cmds.c (source_command): Delete 'old_source_verbose'
9617         local.
9618
9619 2017-08-17  Pedro Alves  <palves@redhat.com>
9620
9621         * dwarf2read.c (struct dwarf2_cu) <line_header_die_owner>: New
9622         field.
9623         (reset_die_in_process): Delete, replaced by ...
9624         (process_die_scope): ... this new class.  Make it responsible for
9625         freeing cu->line_header too.
9626         (process_die): Use process_die_scope.
9627         (handle_DW_AT_stmt_list): Record the line header's owner CU/DIE in
9628         cu->line_header_die_owner.  Don't release the line header if it's
9629         owned by the CU.
9630         (setup_type_unit_groups): Make the CU/DIE own the line header.
9631         Don't release the line header here.
9632
9633 2017-08-17  Alex Lindsay  <alexlindsay239@gmail.com>  (tiny change)
9634
9635         * elfread.c (elf_read_minimal_symbols): xfree synthsyms.
9636
9637 2017-08-17  Ruslan Kabatsayev  <b7.10110111@gmail.com>
9638
9639         * NEWS: Mention new shortcuts for nexti and stepi in TUI
9640         Single-Key mode
9641
9642 2017-08-16  Ruslan Kabatsayev  <b7.10110111@gmail.com>
9643
9644         * tui/tui.c (tui_commands): Add "nexti" and "stepi" to the Single-Key
9645         mode command list.
9646
9647 2017-08-15  Stafford Horne  <shorne@gmail.com>
9648
9649         * MAINTAINERS (Write After Approval): Add Stafford Horne.
9650
9651 2017-08-15  Stafford Horne  <shorne@gmail.com>
9652
9653         * xtensa-tdep.c (xtensa_init_reggroups): Use xstrdup for cpname.
9654
9655 2017-08-15  Sergio Durigan Junior  <sergiodj@redhat.com>
9656
9657         PR gdb/21954
9658         * infcmd.c (unset_environment_command): Use the 'clear' method on
9659         the environment instead of resetting it.
9660
9661 2017-08-15  John Baldwin  <jhb@FreeBSD.org>
9662
9663         * fbsd-nat.c (fbsd_convert_siginfo): Fix compile on big-endian
9664         platforms.
9665
9666 2017-08-14  Tom Tromey  <tom@tromey.com>
9667
9668         * valprint.c (print_octal_chars): Use HOST_CHAR_BIT.
9669         (print_binary_chars): Likewise.
9670         (BITS_IN_BYTES): Remove.
9671
9672 2017-08-14  Tom Tromey  <tom@tromey.com>
9673
9674         PR gdb/21675
9675         * valprint.c (LOW_ZERO): Change value to 034.
9676         (print_octal_chars): Add static_asserts for octal constants.
9677         * printcmd.c (print_scalar_formatted): Add 'd' case.
9678
9679 2017-08-11  Tom Tromey  <tom@tromey.com>
9680
9681         * symfile.c (add_symbol_file_command): Use std::vector.
9682
9683 2017-08-14  Tom Tromey  <tom@tromey.com>
9684
9685         * break-catch-throw.c (handle_gnu_v3_exceptions): Use std::move.
9686         * break-catch-syscall.c (create_syscall_event_catchpoint): Use
9687         std::move.
9688         * break-catch-sig.c (create_signal_catchpoint): Use std::move.
9689
9690 2017-08-11  Pedro Alves  <palves@redhat.com>
9691
9692         * infrun.c (process_event_stop_test): Adjust
9693         function_name_is_marked_for_skip call.
9694         * skip.c: Include <list>.
9695         (skiplist_entry): Make it a class with private fields, and
9696         getters/setters.
9697         (skiplist_entry_chain): Delete.
9698         (skiplist_entries): New.
9699         (skiplist_entry_count): Delete.
9700         (highest_skiplist_entry_num): New.
9701         (ALL_SKIPLIST_ENTRIES, ALL_SKIPLIST_ENTRIES_SAFE): Delete.
9702         (add_skiplist_entry): Delete.
9703         (skiplist_entry::skiplist_entry): New.
9704         (skiplist_entry::add_entry): New.
9705         (skip_file_command, skip_function): Adjust.
9706         (compile_skip_regexp): Delete.
9707         (skip_command): Don't compile regexp here.  Adjust to use
9708         skiplist_entry::add_entry.
9709         (skip_info): Adjust to use range-for and getters.
9710         (skip_enable_command, skip_disable_command): Adjust to use
9711         range-for and setters.
9712         (skip_delete_command): Adjust to use std::list.
9713         (add_skiplist_entry): Delete.
9714         (skip_file_p): Delete, refactored as ...
9715         (skiplist_entry::do_skip_file_p): ... this new method.
9716         (skip_gfile_p): Delete, refactored as ...
9717         (skiplist_entry::do_gskip_file_p): ... this new method.
9718         (skip_function_p, skip_rfunction_p): Delete, refactored as ...
9719         (skiplist_entry::skip_function_p): ... this new method.
9720         (function_name_is_marked_for_skip): Now returns bool, and takes
9721         the function sal by const reference.  Adjust to use range-for and
9722         skiplist_entry methods.
9723         (_initialize_step_skip): Remove references to
9724         skiplist_entry_chain, skiplist_entry_count.
9725         * skip.h (function_name_is_marked_for_skip): Now returns bool, and
9726         takes the function sal by const reference.
9727
9728 2017-08-11  Yao Qi  <yao.qi@linaro.org>
9729
9730         * dwarf2-frame.c (clear_pointer_cleanup): Remove.
9731         (dwarf2_frame_cache): Remove reset_cache_cleanup.
9732         (dwarf2_frame_cache):
9733         * frame-unwind.c (frame_unwind_try_unwinder): Catch
9734         RETURN_MASK_ALL and set *this_case to NULL.
9735         * frame-unwind.h: Update comments.
9736
9737 2017-08-11  Yao Qi  <yao.qi@linaro.org>
9738
9739         * dwarf2-frame.c (dwarf2_frame_state_alloc_regs): Remove.
9740         (dwarf2_frame_state_copy_regs): Remove.
9741         (dwarf2_frame_state_free_regs): Remove.
9742         (dwarf2_frame_state::~dwarf2_frame_state): Remove.
9743         (dwarf2_restore_rule): Call method .alloc_regs instead of
9744         dwarf2_frame_state_alloc_regs.
9745         (execute_cfa_program): Likewise.  Call dwarf2_frame_state_reg_info
9746         constructor.  Call std::move.
9747         (dwarf2_fetch_cfa_info): Don't call dwarf2_frame_state_copy_regs.
9748         (dwarf2_frame_cache): Likewise.
9749
9750         [GDB_SELF_TEST]: Include selftest.h and
9751         selftest-arch.h.
9752         [GDB_SELF_TEST] (execute_cfa_program_test): New function.
9753         (_initialize_dwarf2_frame) [GDB_SELF_TEST]: Register
9754         execute_cfa_program_test.
9755
9756         * dwarf2-frame.h (dwarf2_frame_state_reg_info): Add ctor, dtor,
9757         copy ctor, assignment operator, move assignment.
9758         <alloc_regs>: New method.
9759         <swap>: New method.
9760         (struct dwarf2_frame_state): Delete dtor.
9761         (dwarf2_frame_state_alloc_regs): Remove declaration.
9762         * sparc-tdep.c (sparc_execute_dwarf_cfa_vendor_op): Don't call
9763         dwarf2_frame_state_alloc_regs, use .alloc_regs instead.
9764
9765 2017-08-11  Yao Qi  <yao.qi@linaro.org>
9766
9767         * dwarf2-frame.c (dwarf2_frame_state_free): Remove.
9768         (dwarf2_frame_state::dwarf2_frame_state): New.
9769         (dwarf2_frame_state::~dwarf2_frame_state): New.
9770         (dwarf2_fetch_cfa_info): Update.
9771         (dwarf2_frame_cache): Remove old_chain.  Change 'fs' to an object
9772         rather than a pointer.  Update code.
9773         * dwarf2-frame.h (struct dwarf2_frame_state): Declare ctor and
9774         dtor.
9775         <data_align, code_align, retaddr_column>: Change them to const.
9776         <armcc_cfa_offsets_sf, armcc_cfa_offsets_reversed>: Change them
9777         to bool.
9778
9779 2017-08-11  Yao Qi  <yao.qi@linaro.org>
9780
9781         * dwarf2-frame.h (struct dwarf2_frame_state_reg) <exp_len>: Remove.
9782         <loc.exp>: New field.
9783         * dwarf2-frame.c (execute_cfa_program): Update.
9784         (dwarf2_frame_prev_register): Update.
9785
9786 2017-08-10  Pedro Alves  <palves@redhat.com>
9787
9788         * common/gdb_unique_ptr.h (xfree_deleter<T[]>): Define.
9789
9790 2017-08-09  John Baldwin  <jhb@FreeBSD.org>
9791
9792         * fbsd-nat.c (struct fbsd_fork_info): Remove.
9793         (fbsd_pending_children): Use std::list.
9794         (fbsd_remember_child): Likewise.
9795         (fbsd_is_child_pending): Likewise.
9796         (fbsd_pending_vfork_done): Use std::forward_list.
9797         (fbsd_add_vfork_done): Likewise.
9798         (fbsd_is_vfork_done_pending): Likewise.
9799         (fbsd_next_vfork_done): Likewise.
9800
9801 2017-08-09  John Baldwin  <jhb@FreeBSD.org>
9802
9803         * fbsd-nat.c [HAVE_KINFO_GETVMMAP] (struct free_deleter): New.
9804         (fbsd_find_memory_regions): Use free_deleter with std::unique_ptr.
9805         [!HAVE_KINFO_GETVMMAP] (fbsd_find_memory_regions): Use std::string
9806         for `mapfilename'.
9807         (fbsd_xfer_partial): Use gdb::byte_vector.
9808         (fbsd_add_threads): Use gdb::unique_xmalloc_ptr.
9809
9810 2017-08-09  John Baldwin  <jhb@FreeBSD.org>
9811
9812         * fbsd-nat.c: [!HAVE_KINFO_GETVMMAP]: Include <sys/user.h> and
9813         "filestuff.h".
9814         (fbsd_find_memory_regions): Fix `mapfile' initialization.
9815
9816 2017-08-09  Tom Tromey  <tom@tromey.com>
9817
9818         * skip.c (skiplist_entry): New constructor.
9819         (skiplist_entry::enabled, skiplist_entry::function_is_regexp)
9820         (skiplist_entry::file_is_glob): Now bool.
9821         (skiplist_entry::file, skiplist_entry::function): Now
9822         std::string.
9823         (make_skip_entry): Return a unique_ptr.  Use new.
9824         (free_skiplist_entry, free_skiplist_entry_cleanup)
9825         (make_free_skiplist_entry_cleanup): Remove.
9826         (skip_command, skip_disable_command, add_skiplist_entry)
9827         (skip_form_bytes, compile_skip_regexp, skip_command, skip_info)
9828         (skip_file_p, skip_gfile_p, skip_function_p, skip_rfunction_p)
9829         (function_name_is_marked_for_skip): Update.
9830         (skip_delete_command): Update.  Use delete.
9831
9832 2017-08-09  Jiong Wang  <jiong.wang@arm.com>
9833
9834         * aarch64-linux-tdep.c: Include "auxv.h" and "elf/common.h".
9835         (aarch64_linux_core_read_description): New function.
9836         (aarch64_linux_init_abi): Register gdbarch_core_read_description.
9837
9838 2017-08-09  Pedro Alves  <palves@redhat.com>
9839
9840         * cp-name-parser.y (cp_comp_to_string): Return a
9841         gdb::unique_xmalloc_ptr<char>.
9842         * cp-support.c (replace_typedefs_qualified_name)
9843         (replace_typedefs): Adjust to use gdb::unique_xmalloc_ptr<char>.
9844         (cp_canonicalize_string_full): Use op= instead of explicit
9845         convertion.
9846         (cp_class_name_from_physname, method_name_from_physname)
9847         (cp_func_name, cp_remove_params): Adjust to use
9848         gdb::unique_xmalloc_ptr<char>.
9849         * cp-support.h (cp_comp_to_string): Return a
9850         gdb::unique_xmalloc_ptr<char>.
9851         * python/py-type.c (typy_lookup_type): Adjust to use
9852         gdb::unique_xmalloc_ptr<char>.
9853
9854 2017-08-09  H.J. Lu  <hongjiu.lu@intel.com>
9855
9856         * dwarf2read.c (dwarf2_string_attr): Fix a typo.
9857
9858 2017-08-09  Alex Lindsay  <alexlindsay239@gmail.com>
9859             Yao Qi  <yao.qi@linaro.org>
9860
9861         * cp-support.c (cp_canonicalize_string_full): Use
9862         gdb::unique_xmalloc_ptr<char>.
9863         (cp_canonicalize_string): Likewise.
9864
9865 2017-08-09  Yao Qi  <yao.qi@linaro.org>
9866
9867         * features/Makefile (WHICH): Remove i386/ non-linux stuff.
9868         * regformats/i386/amd64-avx-avx512.dat: Remove.
9869         * regformats/i386/amd64-avx-mpx-avx512-pku.dat: Remove.
9870         * regformats/i386/amd64-avx-mpx.dat:Remove.
9871         * regformats/i386/amd64-avx.dat: Remove.
9872         * regformats/i386/amd64-mpx.dat: Remove.
9873         * regformats/i386/i386-avx-avx512.dat: Remove.
9874         * regformats/i386/i386-avx-mpx-avx512-pku.dat: Remove.
9875         * regformats/i386/i386-avx-mpx.dat: Remove.
9876         * regformats/i386/i386-mmx.dat: Remove.
9877         * regformats/i386/i386-mpx.dat: Remove.
9878
9879 2017-08-09  Yao Qi  <yao.qi@linaro.org>
9880
9881         * amd64-tdep.h (tdesc_x32): Remove the declaration.
9882         * amd64-tdep.c: Don't include features/i386/x32*.c.
9883         (_initialize_amd64_tdep): Don't call initialize_tdesc_x32*
9884         functions.
9885         * features/Makefile (WHICH): Remove i386/x32, i386/x32-avx,
9886         and i386/x32-avx-avx512.
9887         (XMLTOC): Remove i386/x32-avx.xml, i386/x32-avx-avx512.xml,
9888         and i386/x32.xml.
9889         * features/i386/x32-avx-avx512.c: Removed.
9890         * features/i386/x32-avx-avx512.xml: Removed.
9891         * features/i386/x32-avx.c: Removed.
9892         * features/i386/x32-avx.xml: Removed.
9893         * features/i386/x32.c: Removed.
9894         * features/i386/x32.xml: Removed.
9895         * regformats/i386/x32-avx-avx512.dat: Removed.
9896         * regformats/i386/x32-avx.dat: Removed.
9897         * regformats/i386/x32.dat: Removed.
9898
9899 2017-08-07  Maciej W. Rozycki  <macro@imgtec.com>
9900
9901         PR breakpoints/21886
9902         * mem-break.c (default_memory_insert_breakpoint): Use
9903         `->placed_address' rather than `->reqstd_address' for the
9904         breakpoint location.
9905
9906 2017-08-07  Maciej W. Rozycki  <macro@imgtec.com>
9907
9908         * arch-utils.c (default_print_insn): Remove arch/mach/endian
9909         assertions.
9910
9911 2017-08-07  Maciej W. Rozycki  <macro@imgtec.com>
9912
9913         * gdbarch.sh (gdbarch_info): Replace the `tdep_info' member with
9914         a union of `tdep_info', `tdesc_data' and `id'.
9915         * aarch64-tdep.c (aarch64_gdbarch_init): Use `info.tdesc_data'
9916         rather than `info.tdep_info'.
9917         * amd64-linux-tdep.c (amd64_linux_init_abi): Likewise.
9918         * i386-linux-tdep.c (i386_linux_init_abi): Likewise.
9919         * i386-tdep.c (i386_gdbarch_init): Likewise.
9920         * mips-linux-tdep.c (mips_linux_init_abi): Likewise.
9921         * mips-tdep.c (mips_gdbarch_init): Likewise.
9922         * nds32-tdep.c (nds32_gdbarch_init): Likewise.
9923         * rs6000-tdep.c (rs6000_gdbarch_init): Likewise.
9924         * ppc-linux-tdep.c (ppu2spu_sniffer): Use `info.id' rather than
9925         `info.tdep_info'.
9926         (ppc_linux_init_abi): Use `info.tdesc_data' rather than
9927         `info.tdep_info'.
9928         * sparc-tdep.c (sparc32_gdbarch_init): Likewise.
9929         * spu-multiarch.c (spu_gdbarch): Use `info.id' rather than
9930         `info.tdep_info'.
9931         * spu-tdep.c (spu_gdbarch_init): Likewise.
9932         * gdbarch.h: Regenerate.
9933
9934 2017-08-07  Leszek Swirski  <leszeks@google.com>
9935
9936         PR symtab/20899
9937         * dwarf2read.c (dwarf2_string_attr): Allow DW_FORM_GNU_strp_alt.
9938
9939 2017-08-07  Simon Marchi  <simon.marchi@ericsson.com>
9940
9941         * remote-sim.c (gdbsim_load): Remove char **argv local variable.
9942         (gdbsim_open): Rename gdb_argv args object to argv.
9943
9944 2017-08-05  Tom Tromey  <tom@tromey.com>
9945
9946         * compile/compile-object-load.c (compile_object_load): Use
9947         gdb::unique_xmalloc_ptr.
9948         * cli/cli-dump.c (scan_filename): Rename from
9949         scan_filename_with_cleanup.  Change return type.
9950         (scan_expression): Rename from scan_expression_with_cleanup.
9951         Change return type.
9952         (dump_memory_to_file, dump_value_to_file, restore_command):
9953         Use gdb::unique_xmalloc_ptr.  Update.
9954         * cli/cli-cmds.c (find_and_open_script): Use
9955         gdb::unique_xmalloc_ptr.
9956         * tracefile-tfile.c (tfile_open): Use gdb::unique_xmalloc_ptr.
9957         * symmisc.c (maintenance_print_symbols)
9958         (maintenance_print_msymbols): Use gdb::unique_xmalloc_ptr.
9959         * symfile.c (symfile_bfd_open, generic_load)
9960         (add_symbol_file_command, remove_symbol_file_command): Use
9961         gdb::unique_xmalloc_ptr.
9962         * source.c (openp): Use gdb::unique_xmalloc_ptr.
9963         * psymtab.c (maintenance_print_psymbols): Use
9964         gdb::unique_xmalloc_ptr.
9965         * corelow.c (core_open): Use gdb::unique_xmalloc_ptr.
9966         * breakpoint.c (save_breakpoints): Use gdb::unique_xmalloc_ptr.
9967         * solib.c (solib_map_sections): Use gdb::unique_xmalloc_ptr.
9968         (reload_shared_libraries_1): Likewise.
9969
9970 2017-08-05  Tom Tromey  <tom@tromey.com>
9971
9972         * rust-exp.y (rust_op_ptr, set_field): Remove typedefs.
9973         (rust_op_vector, rust_set_vector): New typedefs.
9974         (current_parser): New global.
9975         (work_obstack): Change to pointer type.  Update all users.
9976         (rust_ast, pstate): Remove globals.
9977         (struct rust_parser): New.
9978         (%union) <params, field_inits>: Change type.
9979         (start, tuple_expr, unit_expr, struct_expr_list, literal)
9980         (field_expr, expr_list, maybe_expr_list, type_list): Update.
9981         (ast_call_ish, ast_path, ast_function_type, ast_tuple_type)
9982         (convert_params_to_types, convert_params_to_expression): Change
9983         type of "params".
9984         (ast_string): Change type of "fields".
9985         (rust_parse): Make a rust_parser.  Remove cleanups.
9986         (rust_lex_tests): Make and install an auto_obstack.
9987
9988 2017-08-04  Yao Qi  <yao.qi@linaro.org>
9989
9990         * configure.srv (ipa_x32_linux_regobj): New.
9991         * linux-amd64-ipa.c (get_ipa_tdesc): Use X86_TDESC_AVX_AVX512
9992         instead of X86_TDESC_AVX512.
9993         (initialize_low_tracepoint): Call
9994         init_registers_x32_avx_avx512_linux.
9995
9996 2017-08-04  Yao Qi  <yao.qi@linaro.org>
9997
9998         * utils.h (gdb_argv): Add namespace std for nullptr_t.
9999
10000 2017-08-03  Ruslan Kabatsayev  <b7.10110111@gmail.com>
10001
10002         * MAINTAINERS (Write After Approval): Add Ruslan Kabatsayev.
10003
10004 2017-08-03  Tom Tromey  <tom@tromey.com>
10005
10006         * utils.c (make_cleanup_freeargv, do_freeargv, gdb_buildargv):
10007         Remove.
10008         * utils.h (make_cleanup_freeargv, gdb_buildargv): Remove.
10009
10010 2017-08-03  Tom Tromey  <tom@tromey.com>
10011
10012         * python/py-param.c (compute_enum_values): Use gdb_argv.
10013
10014 2017-08-03  Tom Tromey  <tom@tromey.com>
10015
10016         * utils.h (struct gdb_argv_deleter): New.
10017         (gdb_argv): New class.
10018         * utils.c (gdb_argv::reset): New method.
10019         * tracepoint.c (delete_trace_variable_command): Use gdb_argv.
10020         * tracefile.c (tsave_command): Use gdb_argv.
10021         * top.c (new_ui_command): Use gdb_argv.
10022         * symmisc.c (maintenance_print_symbols)
10023         (maintenance_print_msymbols, maintenance_expand_symtabs): Use gdb_argv.
10024         * symfile.c (symbol_file_command, generic_load)
10025         (remove_symbol_file_command): Use gdb_argv.
10026         * stack.c (backtrace_command): Use gdb_argv.
10027         * source.c (add_path, show_substitute_path_command)
10028         (unset_substitute_path_command, set_substitute_path_command):
10029         Use gdb_argv.
10030         * skip.c (skip_command): Use gdb_argv.  Use gdb_buildargv.
10031         * ser-mingw.c (pipe_windows_open): Use gdb_argv.
10032         * remote.c (extended_remote_run, remote_put_command)
10033         (remote_get_command, remote_delete_command): Use gdb_argv.
10034         * remote-sim.c (gdbsim_load, gdbsim_create_inferior)
10035         (gdbsim_open): Use gdb_argv.
10036         * python/py-cmd.c (gdbpy_string_to_argv): Use gdb_argv.
10037         * psymtab.c (maintenance_print_psymbols): Use gdb_argv.
10038         * procfs.c (procfs_info_proc): Use gdb_argv.
10039         * interps.c (interpreter_exec_cmd): Use gdb_argv.
10040         * infrun.c (handle_command): Use gdb_argv.
10041         * inferior.c (add_inferior_command, clone_inferior_command):
10042         Use gdb_argv.
10043         * guile/scm-string.c (gdbscm_string_to_argv): Use gdb_argv.
10044         * exec.c (exec_file_command): Use gdb_argv.
10045         * cli/cli-cmds.c (alias_command): Use gdb_argv.
10046         * compile/compile.c (build_argc_argv): Use gdb_argv.
10047
10048 2017-08-03  Tom Tromey  <tom@tromey.com>
10049
10050         * python/python.c (gdbpy_decode_line): Use unique_xmalloc_ptr.
10051
10052 2017-08-03  Tom Tromey  <tom@tromey.com>
10053
10054         * python/python.c (compute_python_string): Return std::string.
10055         (gdbpy_eval_from_control_command): Update.
10056         (do_start_initialization): Use std::string.
10057         * python/py-varobj.c (py_varobj_iter_next): Use string_printf, not
10058         xstrprintf.
10059         * python/py-breakpoint.c (local_setattro): Use string_printf, not
10060         xstrprintf.
10061
10062 2017-08-03  Tom Tromey  <tom@tromey.com>
10063
10064         * top.h (do_restore_instream_cleanup): Remove.
10065         * top.c (do_restore_instream_cleanup): Remove.
10066         (read_command_file): Use scoped_restore.
10067         * cli/cli-script.c (execute_user_command): Use scoped_restore.
10068
10069 2017-08-03  Tom Tromey  <tom@tromey.com>
10070
10071         * cli/cli-script.c (execute_user_command)
10072         (execute_control_command): Use scoped_restore.
10073
10074 2017-08-03  Tom Tromey  <tom@tromey.com>
10075
10076         * cli/cli-script.c (do_restore_user_call_depth): Remove.
10077         (execute_user_command): Remove user_call_depth; use
10078         user_args_stack's size instead.
10079
10080 2017-08-03  Tom Tromey  <tom@tromey.com>
10081
10082         * top.h (in_user_command): Remove.
10083         * top.c (in_user_command): Remove.
10084         * cli/cli-script.c (do_restore_user_call_depth)
10085         (execute_user_command): Update.
10086
10087 2017-08-03  Tom Tromey  <tom@tromey.com>
10088
10089         * valops.c (search_struct_method): Use gdb::byte_vector.
10090         * valarith.c (value_concat): Use std::vector.
10091         * target.c (memory_xfer_partial): Use gdb::byte_vector.
10092         (simple_search_memory): Likewise.
10093         * printcmd.c (find_string_backward): Use gdb::byte_vector.
10094         * mi/mi-main.c (mi_cmd_data_write_memory): Use gdb::byte_vector.
10095         * gcore.c (gcore_copy_callback): Use gdb::byte_vector.
10096         * elfread.c (elf_rel_plt_read): Use std::string.
10097         * cp-valprint.c (cp_print_value): Use gdb::byte_vector.
10098         * cli/cli-dump.c (restore_section_callback): Use
10099         gdb::byte_vector.
10100
10101 2017-08-03  Tom Tromey  <tom@tromey.com>
10102
10103         * jit.c (jit_reader_load_command): Use unique_xmalloc_ptr.
10104
10105 2017-08-03  Tom Tromey  <tom@tromey.com>
10106
10107         * tui/tui-regs.c (tui_restore_gdbout): Remove.
10108         (tui_register_format): Use scoped_restore.
10109
10110 2017-08-03  Tom Tromey  <tom@tromey.com>
10111
10112         * reverse.c (exec_direction_default): Remove.
10113         (exec_reverse_once): Use scoped_restore.
10114         * remote.c (restore_remote_timeout): Remove.
10115         (remote_flash_erase, remote_flash_write, remote_flash_done)
10116         (readchar, remote_serial_write): Use scoped_restore.
10117         * cli/cli-script.c (struct source_cleanup_lines_args)
10118         (source_cleanup_lines): Remove.
10119         (script_from_file): Use scoped_restore.
10120         * cli/cli-cmds.c (source_verbose_cleanup): Remove.
10121         (source_command): Use scoped_restore.
10122
10123 2017-08-03  Tom Tromey  <tom@tromey.com>
10124
10125         * utils.h (make_cleanup_free_so): Remove.
10126         * utils.c (do_free_so, make_cleanup_free_so): Remove.
10127         * solist.h (struct so_deleter): New.
10128         (so_list_up): New typedef.
10129         * solib-svr4.c (svr4_read_so_list): Use so_list_up.
10130
10131 2017-08-03  Tom Tromey  <tom@tromey.com>
10132
10133         * utils.h (make_cleanup_restore_current_language): Remove.
10134         * utils.c (do_restore_current_language)
10135         (make_cleanup_restore_current_language): Remove.
10136         * parse.c (parse_exp_in_context_1)
10137         (parse_expression_with_language): Use
10138         scoped_restore_current_language.
10139         * mi/mi-main.c (mi_cmd_execute): Use
10140         scoped_restore_current_language.
10141         * language.h (scoped_restore_current_language): New class.
10142
10143 2017-08-03  Tom Tromey  <tom@tromey.com>
10144
10145         * compile/compile.c (cleanup_unlink_file): Remove.
10146         (compile_to_object): Use gdb::unlinker.
10147         (eval_compile_command): Likewise.
10148
10149 2017-08-03  Tom Tromey  <tom@tromey.com>
10150
10151         * utils.h (make_cleanup_fclose): Remove.
10152         * utils.c (do_fclose_cleanup, make_cleanup_fclose): Remove.
10153
10154 2017-08-03  Tom Tromey  <tom@tromey.com>
10155
10156         * top.c (open_terminal_stream): Return gdb_file_up.
10157         (new_ui_command): Update.
10158
10159 2017-08-03  Tom Tromey  <tom@tromey.com>
10160
10161         * source.c (print_source_lines_base, forward_search_command)
10162         (reverse_search_command): Use gdb_file_up.
10163
10164 2017-08-03  Tom Tromey  <tom@tromey.com>
10165
10166         * fbsd-nat.c (fbsd_find_memory_regions): Update.
10167
10168 2017-08-03  Tom Tromey  <tom@tromey.com>
10169
10170         * cli/cli-cmds.c (find_and_open_script): Change return type.
10171         Remove "streamp" and "full_path" parameters.
10172         (source_script_with_search): Update.
10173         * auto-load.c (source_script_file): Update.
10174         * cli/cli-cmds.h (find_and_open_script): Change type.
10175         (open_script): New struct.
10176
10177 2017-08-03  Tom Tromey  <tom@tromey.com>
10178
10179         * xml-support.c (xml_fetch_content_from_file): Update.
10180         * ui-file.c (stdio_file::open): Update.
10181         * tracefile-tfile.c (tfile_start): Update.
10182         * remote.c (remote_file_put, remote_file_get): Update.
10183         * nat/linux-procfs.c (linux_proc_get_int)
10184         (linux_proc_pid_get_state, linux_proc_tid_get_name): Update.
10185         * nat/linux-osdata.c (linux_common_core_of_thread): Update.
10186         (command_from_pid, commandline_from_pid, linux_xfer_osdata_cpus)
10187         (print_sockets, linux_xfer_osdata_shm, linux_xfer_osdata_sem)
10188         (linux_xfer_osdata_msg, linux_xfer_osdata_modules): Update.
10189         * nat/linux-btrace.c (linux_determine_kernel_start): Update.
10190         * linux-nat.c (linux_proc_pending_signals): Update.
10191         * dwarf2read.c (write_psymtabs_to_index): Use gdb_file_up.
10192         (file_closer): Remove.
10193         * compile/compile.c (compile_to_object): Update.
10194         * common/filestuff.h (struct gdb_file_deleter): New.
10195         (gdb_file_up): New typedef.
10196         (gdb_fopen_cloexec): Change return type.
10197         * common/filestuff.c (gdb_fopen_cloexec): Return gdb_file_up.
10198         * cli/cli-dump.c (fopen_with_cleanup): Remove.
10199         (dump_binary_file, restore_binary_file): Update.
10200         * auto-load.c (auto_load_objfile_script_1): Update.
10201
10202 2017-08-03  Tom Tromey  <tom@tromey.com>
10203
10204         * tracepoint.c (tvariables_info_1): Use ui_out_emit_table.
10205         (info_static_tracepoint_markers_command): Likewise.
10206         * solib.c (info_sharedlibrary_command): Use ui_out_emit_table.
10207         * skip.c (skip_info): Use ui_out_emit_table.
10208         * progspace.c (print_program_space): Use ui_out_emit_table.
10209         * osdata.c (info_osdata): Use ui_out_emit_table.
10210         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions): Use
10211         ui_out_emit_table.
10212         * linux-thread-db.c (info_auto_load_libthread_db): Use
10213         ui_out_emit_table.
10214         * inferior.c (print_inferior): Use ui_out_emit_table.
10215         * gdb_bfd.c (maintenance_info_bfds): Use ui_out_emit_table.
10216         * breakpoint.c (breakpoint_1): Use ui_out_emit_table.
10217         * auto-load.c (auto_load_info_scripts): Use ui_out_emit_table.
10218         * ada-tasks.c (print_ada_task_info): Use ui_out_emit_table.
10219         * ui-out.h (class ui_out_emit_table): New.
10220
10221 2017-08-02  Maciej W. Rozycki  <macro@imgtec.com>
10222
10223         * mips-tdep.c (mips_fpu_type_str): New function.
10224         (mips_dump_tdep): Call it.
10225
10226 2017-08-01  Maciej W. Rozycki  <macro@imgtec.com>
10227
10228         * mips-tdep.c (mips_gdbarch_init): Use MIPS_FPU_TYPE to access
10229         `->mips_fpu_type'.
10230
10231 2017-07-31  Xavier Roirand  <roirand@adacore.com>
10232
10233         * solib-darwin.c (DYLD_VERSION_MAX): Increase value.
10234
10235 2017-07-27  Xavier Roirand  <roirand@adacore.com>
10236
10237         * MAINTAINERS (Write After Approval): Add Xavier Roirand.
10238
10239 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10240
10241         * cli/cli-cmds.c (maintenancechecklist): New variable.
10242         * gdbcmd.h (maintenancechecklist): Declare it.
10243         * i386-linux-tdep.c (_initialize_i386_linux_tdep) [GDB_SELF_TEST]:
10244         Call i386_linux_read_description with different masks.
10245         * maint.c (maintenance_check_command): New function.
10246         (_initialize_maint_cmds): Call add_prefix_cmd.
10247         * target-descriptions.c (tdesc_reg): override operator != and ==.
10248         (tdesc_type): Likewise.
10249         (tdesc_feature): Likewise.
10250         (target_desc): Likewise.
10251         [GDB_SELF_TEST] (selftests::record_xml_tdesc): New function.
10252         (maintenance_check_xml_descriptions): New function.
10253         (_initialize_target_descriptions) Add command "xml-descriptions".
10254         * target-descriptions.h (selftests::record_xml_tdesc): Declare.
10255
10256 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10257
10258         * i386-linux-tdep.c: Don't include features/i386/i386-*linux.c.
10259         Include features/i386/32bit-*.c.
10260         (i386_linux_read_description): Generate target description if it
10261         doesn't exist.
10262         (_initialize_i386_linux_tdep): Don't call _initialize_tdesc_i386
10263         functions.
10264         * features/i386/32bit-linux.c: Re-generated.
10265         * features/i386/32bit-sse.c: Likewise.
10266         * target-descriptions.c (print_c_feature::visit): Print code to
10267         set register number if needed.
10268         (print_c_feature) <m_next_regnum>: New field.
10269
10270 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10271
10272         * features/Makefile (CFILES): Rename with TDESC_CFILES.
10273         (FEATURE_XMLFILES): New.
10274         (FEATURE_CFILES): New.
10275         New rules.
10276         (clean-cfiles): Remove generated c files.
10277         * features/i386/32bit-avx.c: Generated.
10278         * features/i386/32bit-avx512.c: Generated.
10279         * features/i386/32bit-core.c: Generated.
10280         * features/i386/32bit-linux.c: Generated.
10281         * features/i386/32bit-mpx.c: Generated.
10282         * features/i386/32bit-pkeys.c: Generated.
10283         * features/i386/32bit-sse.c: Generated.
10284         * target-descriptions.c: Include algorithm.
10285         (tdesc_element_visitor): Add method visit_end.
10286         (print_c_tdesc): Implement visit_end.
10287         (print_c_tdesc:: m_filename_after_features): Move it to
10288         protected.
10289         (print_c_feature): New class.
10290         (maint_print_c_tdesc_cmd): Use print_c_feature if XML file
10291         name starts with "i386/32bit-".
10292
10293 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10294
10295         * target-descriptions.c (tdesc_element_visitor): New class.
10296         (tdesc_element): New class.
10297         (tdesc_reg): Inherit from tdesc_element.
10298         (tdesc_reg::accept): New function.
10299         (tdesc_type): Inherit from tdesc_element.
10300         (tdesc_type::accept): New function.
10301         (tdesc_feature): Inherit from tdesc_element.
10302         (tdesc_feature::accept): New function.
10303         (target_desc): Inherit from tdesc_element.
10304         (target_desc::target_desc): New.
10305         (target_desc::~target_desc): New.
10306         (target_desc::accept): New.
10307         (allocate_target_description): Use new.
10308         (free_target_description): Use delete.
10309         (print_c_tdesc): New class.
10310         (maint_print_c_tdesc_cmd): Adjust.
10311
10312         * features/aarch64.c: Re-generated.
10313         * features/arc-arcompact.c: Re-generated.
10314         * features/arc-v2.c: Re-generated.
10315         * features/arm/arm-with-iwmmxt.c: Re-generated.
10316         * features/arm/arm-with-m.c: Re-generated.
10317         * features/arm/arm-with-m-fpa-layout.c: Re-generated.
10318         * features/arm/arm-with-m-vfp-d16.c: Re-generated.
10319         * features/arm/arm-with-neon.c: Re-generated.
10320         * features/arm/arm-with-vfpv2.c: Re-generated.
10321         * features/arm/arm-with-vfpv3.c: Re-generated.
10322         * features/i386/amd64-avx-avx512.c: Re-generated.
10323         * features/i386/amd64-avx-avx512-linux.c: Re-generated.
10324         * features/i386/amd64-avx.c: Re-generated.
10325         * features/i386/amd64-avx-linux.c: Re-generated.
10326         * features/i386/amd64-avx-mpx-avx512-pku.c: Re-generated.
10327         * features/i386/amd64-avx-mpx-avx512-pku-linux.c: Re-generated.
10328         * features/i386/amd64-avx-mpx.c: Re-generated.
10329         * features/i386/amd64-avx-mpx-linux.c: Re-generated.
10330         * features/i386/amd64.c: Re-generated.
10331         * features/i386/amd64-linux.c: Re-generated.
10332         * features/i386/amd64-mpx.c: Re-generated.
10333         * features/i386/amd64-mpx-linux.c: Re-generated.
10334         * features/i386/i386-avx-avx512.c: Re-generated.
10335         * features/i386/i386-avx-avx512-linux.c: Re-generated.
10336         * features/i386/i386-avx.c: Re-generated.
10337         * features/i386/i386-avx-linux.c: Re-generated.
10338         * features/i386/i386-avx-mpx-avx512-pku.c: Re-generated.
10339         * features/i386/i386-avx-mpx-avx512-pku-linux.c: Re-generated.
10340         * features/i386/i386-avx-mpx.c: Re-generated.
10341         * features/i386/i386-avx-mpx-linux.c: Re-generated.
10342         * features/i386/i386.c: Re-generated.
10343         * features/i386/i386-linux.c: Re-generated.
10344         * features/i386/i386-mmx.c: Re-generated.
10345         * features/i386/i386-mmx-linux.c: Re-generated.
10346         * features/i386/i386-mpx.c: Re-generated.
10347         * features/i386/i386-mpx-linux.c: Re-generated.
10348         * features/i386/x32-avx-avx512.c: Re-generated.
10349         * features/i386/x32-avx-avx512-linux.c: Re-generated.
10350         * features/i386/x32-avx.c: Re-generated.
10351         * features/i386/x32-avx-linux.c: Re-generated.
10352         * features/i386/x32.c: Re-generated.
10353         * features/i386/x32-linux.c: Re-generated.
10354         * features/microblaze.c: Re-generated.
10355         * features/microblaze-with-stack-protect.c: Re-generated.
10356         * features/mips64-dsp-linux.c: Re-generated.
10357         * features/mips64-linux.c: Re-generated.
10358         * features/mips-dsp-linux.c: Re-generated.
10359         * features/mips-linux.c: Re-generated.
10360         * features/nds32.c: Re-generated.
10361         * features/nios2.c: Re-generated.
10362         * features/nios2-linux.c: Re-generated.
10363         * features/rs6000/powerpc-32.c: Re-generated.
10364         * features/rs6000/powerpc-32l.c: Re-generated.
10365         * features/rs6000/powerpc-403.c: Re-generated.
10366         * features/rs6000/powerpc-403gc.c : Re-generated.
10367         * features/rs6000/powerpc-405.c: Re-generated.
10368         * features/rs6000/powerpc-505.c: Re-generated.
10369         * features/rs6000/powerpc-601.c: Re-generated.
10370         * features/rs6000/powerpc-602.c: Re-generated.
10371         * features/rs6000/powerpc-603.c: Re-generated.
10372         * features/rs6000/powerpc-604.c: Re-generated.
10373         * features/rs6000/powerpc-64.c: Re-generated.
10374         * features/rs6000/powerpc-64l.c: Re-generated.
10375         * features/rs6000/powerpc-7400.c: Re-generated.
10376         * features/rs6000/powerpc-750.c: Re-generated.
10377         * features/rs6000/powerpc-860.c: Re-generated.
10378         * features/rs6000/powerpc-altivec32.c: Re-generated.
10379         * features/rs6000/powerpc-altivec32l.c: Re-generated.
10380         * features/rs6000/powerpc-altivec64.c: Re-generated.
10381         * features/rs6000/powerpc-altivec64l.c: Re-generated.
10382         * features/rs6000/powerpc-cell32l.c: Re-generated.
10383         * features/rs6000/powerpc-cell64l.c: Re-generated.
10384         * features/rs6000/powerpc-e500.c: Re-generated.
10385         * features/rs6000/powerpc-e500l.c: Re-generated.
10386         * features/rs6000/powerpc-isa205-32l.c: Re-generated.
10387         * features/rs6000/powerpc-isa205-64l.c: Re-generated.
10388         * features/rs6000/powerpc-isa205-altivec32l.c: Re-generated.
10389         * features/rs6000/powerpc-isa205-altivec64l.c: Re-generated.
10390         * features/rs6000/powerpc-isa205-vsx32l.c: Re-generated.
10391         * features/rs6000/powerpc-isa205-vsx64l.c: Re-generated.
10392         * features/rs6000/powerpc-vsx32.c: Re-generated.
10393         * features/rs6000/powerpc-vsx32l.c: Re-generated.
10394         * features/rs6000/powerpc-vsx64.c: Re-generated.
10395         * features/rs6000/powerpc-vsx64l.c: Re-generated.
10396         * features/rs6000/rs6000.c: Re-generated.
10397         * features/s390-linux32.c: Re-generated.
10398         * features/s390-linux32v1.c: Re-generated.
10399         * features/s390-linux32v2.c: Re-generated.
10400         * features/s390-linux64.c: Re-generated.
10401         * features/s390-linux64v1.c: Re-generated.
10402         * features/s390-linux64v2.c: Re-generated.
10403         * features/s390-te-linux64.c: Re-generated.
10404         * features/s390-tevx-linux64.c: Re-generated.
10405         * features/s390-vx-linux64.c: Re-generated.
10406         * features/s390x-linux64.c: Re-generated.
10407         * features/s390x-linux64v1.c: Re-generated.
10408         * features/s390x-linux64v2.c: Re-generated.
10409         * features/s390x-te-linux64.c: Re-generated.
10410         * features/s390x-tevx-linux64.c: Re-generated.
10411         * features/s390x-vx-linux64.c: Re-generated.
10412         * features/sparc/sparc32-solaris.c: Re-generated.
10413         * features/sparc/sparc64-solaris.c: Re-generated.
10414         * features/tic6x-c62x.c: Re-generated.
10415         * features/tic6x-c62x-linux.c: Re-generated.
10416         * features/tic6x-c64x.c: Re-generated.
10417         * features/tic6x-c64x-linux.c: Re-generated.
10418         * features/tic6x-c64xp.c: Re-generated.
10419         * features/tic6x-c64xp-linux.c: Re-generated.
10420
10421 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10422
10423         * i386-linux-tdep.c (i386_linux_read_description): New function.
10424         (i386_linux_core_read_description): Call
10425         i386_linux_read_description.
10426         * i386-linux-tdep.h (i386_linux_read_description): Declare.
10427         (tdesc_i386_linux, tdesc_i386_mmx_linux): Remove declarations.
10428         (tdesc_i386_avx_linux, tdesc_i386_mpx_linux): Likewise
10429         (tdesc_i386_avx_mpx_linux, tdesc_i386_avx_avx512_linux): Likewise.
10430         (tdesc_i386_avx_mpx_avx512_pku_linux): Likewise.
10431         * x86-linux-nat.c (x86_linux_read_description): Call
10432         i386_linux_read_description.
10433
10434 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10435
10436         * NEWS: Mention it.
10437         * features/Makefile (%.c: %.xml): Pass the xml file name to
10438         command "maint print c-tdesc".
10439         * target-descriptions.c (maint_print_c_tdesc_cmd): Get file
10440         name from 'arg'.
10441
10442 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10443
10444         * target-descriptions.c (target_desc): Add ctor and dtor.  Do
10445         in-class initialization.
10446         (tdesc_create_feature): Call new instead of XCNEW.
10447         (free_target_description): Ue delete.
10448
10449 2017-07-25  John Baldwin  <jhb@FreeBSD.org>
10450
10451         * configure.nat: Add "-lkvm" for NetBSD/sparc64 and fix typo.
10452
10453 2017-07-25  Yao Qi  <yao.qi@linaro.org>
10454
10455         * amd64-tdep.c (amd64_init_abi): Make argument default_tdesc
10456         constant.
10457         (amd64_x32_init_abi): Likewise.
10458         * amd64-tdep.h (amd64_init_abi): Update declaration.
10459         (amd64_x32_init_abi): Likewise.
10460
10461 2017-07-25  Yao Qi  <yao.qi@linaro.org>
10462
10463         PR tdep/21717
10464         * arm-linux-nat.c (arm_linux_fetch_inferior_registers): Update
10465         condition for FPSCR.
10466         (arm_linux_store_inferior_registers): Likewise.
10467
10468 2017-07-22  Tom Tromey  <tom@tromey.com>
10469
10470         * break-catch-syscall.c (struct catch_syscall_inferior_data)
10471         <syscalls_counts>: Now a std::vector.
10472         (get_catch_syscall_inferior_data): Use "new".
10473         (catch_syscall_inferior_data_cleanup): Use "delete".
10474         (insert_catch_syscall, remove_catch_syscall)
10475         (clear_syscall_counts): Update.
10476
10477 2017-07-22  Tom Tromey  <tom@tromey.com>
10478
10479         * break-catch-syscall.c (syscall_catchpoint)
10480         <syscalls_to_be_caught>: Now a std::vector<int>
10481         (~syscall_catchpoint): Remove.
10482         (insert_catch_syscall, remove_catch_syscall)
10483         (breakpoint_hit_catch_syscall, print_one_catch_syscall)
10484         (print_mention_catch_syscall, print_recreate_catch_syscall):
10485         Update.
10486         (create_syscall_event_catchpoint): Change type of "filter"
10487         parameter.
10488         (catch_syscall_split_args): Return a std::vector.
10489         (catch_syscall_command_1, catching_syscall_number_1): Update.
10490
10491 2017-07-22  Tom Tromey  <tom@tromey.com>
10492
10493         * break-catch-throw.c (struct exception_catchpoint)
10494         <exception_rx>: Now a std::string.
10495         (~exception_catchpoint): Remove.
10496         (print_one_detail_exception_catchpoint): Update.
10497         (handle_gnu_v3_exceptions): Change type of except_rx.
10498         (extract_exception_regexp): Return a std::string.
10499         (catch_exception_command_1): Update.
10500
10501 2017-07-22  Tom Tromey  <tom@tromey.com>
10502
10503         * break-catch-sig.c (gdb_signal_type): Remove typedef.
10504         (struct signal_catchpoint) <signals_to_be_caught>: Now a
10505         std::vector.
10506         <catch_all>: Now a bool.
10507         (~signal_catchpoint): Remove.
10508         (signal_catchpoint_insert_location)
10509         (signal_catchpoint_remove_location)
10510         (signal_catchpoint_breakpoint_hit, signal_catchpoint_print_one)
10511         (signal_catchpoint_print_mention)
10512         (signal_catchpoint_print_recreate)
10513         (signal_catchpoint_explains_signal): Update.
10514         (create_signal_catchpoint): Change type of "filter" and
10515         "catch_all".
10516         (catch_signal_split_args): Return a std::vector.  Change type of
10517         "catch_all".
10518         (catch_signal_command): Update.
10519
10520 2017-07-20  Pedro Alves  <palves@redhat.com>
10521
10522         * ada-lang.c (ada_language_defn): Make extern.
10523         (_initialize_ada_language): Remove add_language call.
10524         * c-lang.c (c_language_defn, cplus_language_defn)
10525         (asm_language_defn, minimal_language_defn): Make extern.
10526         (_initialize_c_language): Delete.
10527         * completer.c (compare_cstrings): Delete, moved to utils.h.
10528         * d-lang.c (d_language_defn): Make extern.
10529         (_initialize_d_language): Remove add_language calls.
10530         * defs.h (enum language): Add comment.
10531         * f-lang.c (f_language_defn): Make extern.
10532         (_initialize_f_language): Remove add_language call.
10533         * go-lang.c (go_language_defn): Make extern.
10534         (_initialize_go_language): Remove add_language call.
10535         * language.c: Include <algorithm>.
10536         (languages): Redefine as const array.
10537         (languages_size, languages_allocsize, DEFAULT_ALLOCSIZE): Delete.
10538         (set_language_command): Handle "local".  Use for-range loop.
10539         (set_language): Remove loop.
10540         (language_enum): Rewrite.
10541         (language_def, language_str): Remove loops.
10542         (add_language): Delete.
10543         (add_set_language_command): New, based on add_languages.
10544         (skip_language_trampoline): Adjust.
10545         (local_language_defn): Delete.
10546         (language_gdbarch_post_init): Adjust.
10547         (_initialize_language): Remove add_language calls.  Call
10548         add_set_language_command.
10549         * language.h (add_language): Delete.
10550         (auto_language_defn)
10551         (unknown_language_defn, minimal_language_defn, ada_language_defn)
10552         (asm_language_defn, c_language_defn, cplus_language_defn)
10553         (d_language_defn, f_language_defn, go_language_defn)
10554         (m2_language_defn, objc_language_defn, opencl_language_defn)
10555         (pascal_language_defn, rust_language_defn): Declare.
10556         * m2-lang.c (m2_language_defn): Make extern.
10557         (_initialize_m2_language): Remove add_language call.
10558         * objc-lang.c (objc_language_defn): Make extern.
10559         (_initialize_objc_language): Remove add_language call.
10560         * opencl-lang.c (opencl_language_defn): Make extern.
10561         (_initialize_opencl_language): Remove add_language call.
10562         * p-lang.c (pascal_language_defn): Make extern.
10563         (_initialize_pascal_language): Delete.
10564         * rust-lang.c (rust_language_defn): Make extern.
10565         (_initialize_rust_language): Delete.
10566         * utils.h (compare_cstrings): New static inline function.
10567
10568 2017-07-20  Pedro Alves  <palves@redhat.com>
10569
10570         * ada-lang.c (ada_to_fixed_type_1): Adjust.
10571         (get_var_value): Constify parameters.
10572         (get_int_var_value): Change prototype.
10573         (to_fixed_range_type): Adjust.
10574         * ada-lang.h (get_int_var_value): Change prototype.
10575
10576 2017-07-20  Pedro Alves  <palves@redhat.com>
10577
10578         * dwarf2read.c (dw2_lookup_symbol): Use
10579         SYMBOL_MATCHES_SEARCH_NAME.
10580         * psymtab.c (psym_lookup_symbol): Use SYMBOL_MATCHES_SEARCH_NAME.
10581
10582 2017-07-20  Pedro Alves  <palves@redhat.com>
10583
10584         * block.c (block_iter_name_step, block_iter_name_first)
10585         (block_iter_name_next): Delete.
10586         (block_lookup_symbol_primary): Adjust to use
10587         dict_iter_match_first/dict_iter_match_next.
10588         * block.h (block_iter_name_first, block_iter_name_next): Delete
10589         declarations.
10590         (ALL_BLOCK_SYMBOLS_WITH_NAME): Adjust to use
10591         dict_iter_match_first/dict_iter_match_next.
10592
10593 2017-07-20  Pedro Alves  <palves@redhat.com>
10594
10595         * cp-support.c (cp_find_first_component_aux): Add missing case for
10596         end of string.
10597
10598 2017-07-18  David Blaikie  <dblaikie@gmail.com>
10599
10600         * dwarf2read.c (create_cus_hash_table): Re-add lost initialization
10601         of dwo_cu's dwo_file.
10602
10603 2017-07-18  Yao Qi  <yao.qi@linaro.org>
10604
10605         * remote.c (store_registers_using_G): Remove one line comment.
10606
10607 2017-07-18  Yao Qi  <yao.qi@linaro.org>
10608
10609         * regcache.c (regcache_cpy): Simplify it.
10610         (regcache::cpy_no_passthrough): Remove it.
10611         * regcache.h (cpy_no_passthrough): Remove it.
10612         (regcache_dup, regcache_cpy): Update comments.
10613
10614 2017-07-18  Pedro Alves  <palves@redhat.com>
10615
10616         * remote-sim.c (sim_command_completer): Adjust to work with a
10617         completion_tracker instead of a VEC.
10618
10619 2017-07-17  Pedro Alves  <palves@redhat.com>
10620
10621         * completer.c (complete_source_filenames): New function.
10622         (complete_address_and_linespec_locations): New function.
10623         (location_completer): Use complete_address_and_linespec_locations.
10624         (completion_tracker::build_completion_result): Honor the tracker's
10625         request to suppress append.
10626         * completer.h (completion_tracker::suppress_append_ws)
10627         (completion_tracker::set_suppress_append_ws): New methods.
10628         (completion_tracker::m_suppress_append_ws): New field.
10629         (complete_source_filenames): New declaration.
10630         * linespec.c (linespec_complete_what): New.
10631         (struct ls_parser) <complete_what, completion_word,
10632         completion_quote_char, completion_quote_end, completion_tracker>:
10633         New fields.
10634         (string_find_incomplete_keyword_at_end): New.
10635         (linespec_lexer_lex_string): Record quote char.  If in completion
10636         mode, don't throw.
10637         (linespec_lexer_consume_token): Advance the completion word point.
10638         (linespec_lexer_peek_token): Save/restore completion info.
10639         (save_stream_and_consume_token): New.
10640         (set_completion_after_number): New.
10641         (linespec_parse_basic): Set what to complete next depending on
10642         token.  Handle function and label completions specially.
10643         (parse_linespec): Disable objc shortcut in completion mode.  Set
10644         what to complete next depending on token type.  Skip keyword if in
10645         completion mode.
10646         (complete_linespec_component, linespec_complete): New.
10647         * linespec.h (linespec_complete): Declare.
10648
10649 2017-07-17  Pedro Alves  <palves@redhat.com>
10650
10651         * linespec.c (linespec_lexer_lex_string, find_toplevel_char):
10652         Handle 'operator<' / 'operator<<'.
10653
10654 2017-07-17  Pedro Alves  <palves@redhat.com>
10655
10656         * completer.c (collect_explicit_location_matches): Handle
10657         MATCH_LABEL.
10658         (convert_explicit_location_to_linespec): New, factored out from
10659         ...
10660         (convert_explicit_location_to_sals): ... this.
10661         (complete_label): New.
10662         (linespec_complete_label, find_label_symbols_in_block): New.
10663         (find_label_symbols): Add completion_mode parameter and adjust to
10664         call find_label_symbols_in_block.
10665         * linespec.h (linespec_complete_label): Declare.
10666
10667 2017-07-17  Pedro Alves  <palves@redhat.com>
10668
10669         * ada-lang.c (ada_collect_symbol_completion_matches): Add
10670         complete_symbol_mode parameter.
10671         * cli/cli-cmds.c (complete_command): Get the completion result out
10672         of the handle_brkchars tracker if used a custom word point.
10673         * completer.c: Include "linespec.h".
10674         (enum explicit_location_match_type) <MATCH_LINE>: New enumerator.
10675         (advance_to_expression_complete_word_point): New.
10676         (completion_tracker::completes_to_completion_word): New.
10677         (complete_files_symbols): Pass down
10678         complete_symbol_mode::EXPRESSION.
10679         (explicit_options, probe_options): New.
10680         (collect_explicit_location_matches): Complete on the
10681         explictit_loc->foo instead of word.  Use
10682         linespec_complete_function.  Handle MATCH_LINE.  Handle offering
10683         keyword and options completions.
10684         (backup_text_ptr): Delete.
10685         (skip_keyword): New.
10686         (complete_explicit_location): Remove 'word' parameter.  Add
10687         language, quoted_arg_start and quoted_arg_end parameters.
10688         Rewrite, parsing left to right.
10689         (location_completer): Rewrite.
10690         (location_completer_handle_brkchars): New function.
10691         (symbol_completer): Pass down complete_symbol_mode::EXPRESSION.
10692         (enum complete_line_internal_reason): Adjust comments.
10693         (completion_tracker::discard_completions): New.
10694         (completer_handle_brkchars_func_for_completer): Handle
10695         location_completer.
10696         (gdb_custom_word_point_brkchars)
10697         (gdb_org_rl_basic_quote_characters): New.
10698         (gdb_completion_word_break_characters_throw)
10699         (completion_find_completion_word): Handle trackers that use a
10700         custom word point.
10701         (completion_tracker::advance_custom_word_point_by): New.
10702         (completion_tracker::build_completion_result): Don't rely on
10703         readline appending the quote char.
10704         (gdb_rl_attempted_completion_function_throw): Handle trackers that
10705         use a custom word point.
10706         (gdb_rl_attempted_completion_function): Restore
10707         rl_basic_quote_characters.
10708         * completer.h (class completion_tracker): Extend intro comment.
10709         (completion_tracker::set_quote_char)
10710         (completion_tracker::quote_char)
10711         (completion_tracker::set_use_custom_word_point)
10712         (completion_tracker::use_custom_word_point)
10713         (completion_tracker::custom_word_point)
10714         (completion_tracker::set_custom_word_point)
10715         (completion_tracker::advance_custom_word_point_by)
10716         (completion_tracker::completes_to_completion_word)
10717         (completion_tracker::discard_completions): New methods.
10718         (completion_tracker::m_quote_char)
10719         (completion_tracker::m_use_custom_word_point)
10720         (completion_tracker::m_custom_word_point): New fields.
10721         (advance_to_expression_complete_word_point): Declare.
10722         * f-lang.c (f_collect_symbol_completion_matches): Add
10723         complete_symbol_mode parameter.
10724         * language.h (struct language_defn)
10725         <la_collect_symbol_completion_matches>: Add complete_symbol_mode
10726         parameter.
10727         * linespec.c (linespec_keywords): Add NULL terminator.  Make extern.
10728         (linespec_complete_function): New function.
10729         (linespec_lexer_lex_keyword): Adjust.
10730         * linespec.h (linespec_keywords, linespec_complete_function): New
10731         declarations.
10732         * location.c (find_end_quote): New function.
10733         (explicit_location_lex_one): Add explicit_completion_info
10734         parameter.  Save quoting info.  Don't throw if being called for
10735         completion.  Don't handle Ada operators here.
10736         (is_cp_operator, skip_op_false_positives, first_of)
10737         (explicit_location_lex_one_function): New function.
10738         (string_to_explicit_location): Replace 'dont_throw' parameter with
10739         an explicit_completion_info pointer parameter.  Handle it.  Don't
10740         use explicit_location_lex_one to lex function names.  Use
10741         explicit_location_lex_one_function instead.
10742         * location.h (struct explicit_completion_info): New.
10743         (string_to_explicit_location): Replace 'dont_throw' parameter with
10744         an explicit_completion_info pointer parameter.
10745         * symtab.c (default_collect_symbol_completion_matches_break_on):
10746         Add complete_symbol_mode parameter.  Handle LINESPEC mode.
10747         (default_collect_symbol_completion_matches)
10748         (collect_symbol_completion_matches): Add complete_symbol_mode
10749         parameter.
10750         (collect_symbol_completion_matches_type): Pass down
10751         complete_symbol_mode::EXPRESSION.
10752         (collect_file_symbol_completion_matches): Add complete_symbol_mode
10753         parameter.  Handle LINESPEC mode.
10754         * symtab.h (complete_symbol_mode): New.
10755         (default_collect_symbol_completion_matches_break_on)
10756         (default_collect_symbol_completion_matches)
10757         (collect_symbol_completion_matches)
10758         (collect_file_symbol_completion_matches): Add complete_symbol_mode
10759         parameter.
10760
10761 2017-07-17  Pedro Alves  <palves@redhat.com>
10762
10763         * utils.c (enum class strncmp_iw_mode): New.
10764         (strcmp_iw): Rename to ...
10765         (strncmp_iw_with_mode): ... this.  Add string2_len and mode
10766         parameters.  Handle them.
10767         (strncmp_iw): New.
10768         (strcmp_iw): Reimplement as wrapper around strncmp_iw_with_mode.
10769         * utils.h (strncmp_iw): Declare.
10770         (strcmp_iw): Move describing comments here.
10771
10772 2017-07-17  Pedro Alves  <palves@redhat.com>
10773
10774         * c-exp.y (operator_stoken): Use CP_OPERATOR_LEN and
10775         CP_OPERATOR_STR.
10776         * c-typeprint.c (is_type_conversion_operator): Use
10777         CP_OPERATOR_STR.
10778         * cp-support.c (LENGTH_OF_OPERATOR): Delete.
10779         (cp_find_first_component_aux): Use CP_OPERATOR_STR and
10780         CP_OPERATOR_LEN.
10781         * cp-support.h (CP_OPERATOR_STR, CP_OPERATOR_LEN): New.
10782         * gnu-v2-abi.c (gnuv2_is_operator_name): Use CP_OPERATOR_STR.
10783         * gnu-v3-abi.c (gnuv3_is_operator_name): Use CP_OPERATOR_STR.
10784         * linespec.c (linespec_lexer_lex_string): Use CP_OPERATOR_LEN and
10785         CP_OPERATOR_STR.
10786         * location.c: Include "cp-support.h".
10787         (explicit_location_lex_one): Use CP_OPERATOR_LEN and
10788         CP_OPERATOR_STR.
10789         * symtab.c (operator_chars): Use CP_OPERATOR_STR and
10790         CP_OPERATOR_LEN.
10791
10792 2017-07-17  Pedro Alves  <palves@redhat.com>
10793
10794         * cli/cli-cmds.c (complete_command): Use a completion tracker
10795         along with completion_find_completion_word for handle_brkchars
10796         phase.
10797         * completer.c (RL_QF_SINGLE_QUOTE, RL_QF_DOUBLE_QUOTE)
10798         (RL_QF_BACKSLASH, RL_QF_OTHER_QUOTE): New.
10799         (struct gdb_rl_completion_word_info): New.
10800         (gdb_rl_find_completion_word): New.
10801         (completion_find_completion_word): New.
10802         * completer.h (completion_find_completion_word): Declare.
10803
10804 2017-07-17  Pedro Alves  <palves@redhat.com>
10805
10806         * ada-lang.c (symbol_completion_match): Adjust comments.
10807         (symbol_completion_add): Replace vector parameter with
10808         completion_tracker parameter.  Use it.
10809         (ada_make_symbol_completion_list): Rename to...
10810         (ada_collect_symbol_completion_matches): ... this.  Add
10811         completion_tracker parameter and use it.
10812         (ada_language_defn): Adjust.
10813         * break-catch-syscall.c (catch_syscall_completer): Adjust
10814         prototype and work with completion_tracker instead of VEC.
10815         * breakpoint.c (condition_completer): Adjust prototype and work
10816         with completion_tracker instead of VEC.
10817         * c-lang.c (c_language_defn, cplus_language_defn)
10818         (asm_language_defn, minimal_language_defn): Adjust to renames.
10819         * cli/cli-cmds.c (complete_command): Rework using
10820         completion_tracker.  Catch exceptions when completing.
10821         * cli/cli-decode.c (integer_unlimited_completer)
10822         (complete_on_cmdlist, complete_on_enum): Adjust prototype and work
10823         with completion_tracker instead of VEC.
10824         * command.h (struct completion_tracker): Forward declare.
10825         (completer_ftype, completer_handle_brkchars_ftype): Change
10826         types.
10827         (complete_on_cmdlist, complete_on_enum): Adjust.
10828         * completer.c: Include <algorithm>.
10829         (struct gdb_completer_state): New.
10830         (current_completion): New global.
10831         (readline_line_completion_function): Delete.
10832         (noop_completer, filename_completer)
10833         (filename_completer_handle_brkchars, complete_files_symbols)
10834         (linespec_location_completer): Adjust to work with a
10835         completion_tracker instead of a VEC.
10836         (string_or_empty): New.
10837         (collect_explicit_location_matches): Adjust to work with a
10838         completion_tracker instead of a VEC.
10839         (explicit_location_completer): Rename to ...
10840         (complete_explicit_location): ... this and adjust to work with a
10841         completion_tracker instead of a VEC.
10842         (location_completer): Adjust to work with a completion_tracker
10843         instead of a VEC.
10844         (add_struct_fields): Adjust to work with a completion_list instead
10845         of VEC.
10846         (expression_completer): Rename to ...
10847         (complete_expression): ... this and adjust to work with a
10848         completion_tracker instead of a VEC.  Use complete_files_symbols.
10849         (expression_completer): Reimplement on top of complete_expression.
10850         (symbol_completer): Adjust to work with a completion_tracker
10851         instead of a VEC.
10852         (enum complete_line_internal_reason): Add describing comments.
10853         (complete_line_internal_normal_command): Adjust to work with a
10854         completion_tracker instead of a VEC.
10855         (complete_line_internal): Rename to ...
10856         (complete_line_internal_1): ... this and adjust to work with a
10857         completion_tracker instead of a VEC.  Assert TEXT is NULL in the
10858         handle_brkchars phase.
10859         (new_completion_tracker): Delete.
10860         (complete_line_internal): Reimplement as TRY/CATCH wrapper around
10861         complete_line_internal_1.
10862         (free_completion_tracker): Delete.
10863         (INITIAL_COMPLETION_HTAB_SIZE): New.
10864         (completion_tracker::completion_tracker)
10865         (completion_tracker::~completion_tracker): New.
10866         (maybe_add_completion): Delete.
10867         (completion_tracker::maybe_add_completion)
10868         (completion_tracker::add_completion)
10869         (completion_tracker::add_completions): New.
10870         (throw_max_completions_reached_error): Delete.
10871         (complete_line): Adjust to work with a completion_tracker instead
10872         of a VEC.  Don't create a completion_tracker_t or check for max
10873         completions here.
10874         (command_completer, command_completer_handle_brkchars)
10875         (signal_completer, reg_or_group_completer_1)
10876         (reg_or_group_completer, default_completer_handle_brkchars):
10877         Adjust to work with a completion_tracker.
10878         (gdb_completion_word_break_characters_throw): New.
10879         (gdb_completion_word_break_characters): Reimplement.
10880         (line_completion_function): Delete.
10881         (completion_tracker::recompute_lowest_common_denominator)
10882         (expand_preserving_ws)
10883         (completion_tracker::build_completion_result)
10884         (completion_result::completion_result)
10885         (completion_result::completion_result)
10886         (completion_result::~completion_result)
10887         (completion_result::completion_result)
10888         (completion_result::release_match_list, compare_cstrings)
10889         (completion_result::sort_match_list)
10890         (completion_result::reset_match_list)
10891         (gdb_rl_attempted_completion_function_throw)
10892         (gdb_rl_attempted_completion_function): New.
10893         * completer.h (completion_list, struct completion_result)
10894         (class completion_tracker): New.
10895         (complete_line): Add completion_tracker parameter.
10896         (readline_line_completion_function): Delete.
10897         (gdb_rl_attempted_completion_function): New.
10898         (noop_completer, filename_completer, expression_completer)
10899         (location_completer, symbol_completer, command_completer)
10900         (signal_completer, reg_or_group_completer): Update prototypes.
10901         (completion_tracker_t, new_completion_tracker)
10902         (make_cleanup_free_completion_tracker): Delete.
10903         (enum maybe_add_completion_enum): Delete.
10904         (maybe_add_completion): Delete.
10905         (throw_max_completions_reached_error): Delete.
10906         * corefile.c (complete_set_gnutarget): Adjust to work with a
10907         completion_tracker instead of a VEC.
10908         * cp-abi.c (cp_abi_completer): Adjust to work with a
10909         completion_tracker instead of a VEC.
10910         * d-lang.c (d_language_defn): Adjust.
10911         * disasm.c (disassembler_options_completer): Adjust to work with a
10912         completion_tracker instead of a VEC.
10913         * f-lang.c (f_make_symbol_completion_list): Rename to ...
10914         (f_collect_symbol_completion_matches): ... this.  Adjust to work
10915         with a completion_tracker instead of a VEC.
10916         (f_language_defn): Adjust.
10917         * go-lang.c (go_language_defn): Adjust.
10918         * guile/scm-cmd.c (cmdscm_add_completion, cmdscm_completer):
10919         Adjust to work with a completion_tracker instead of a VEC.
10920         * infrun.c (handle_completer): Likewise.
10921         * interps.c (interpreter_completer): Likewise.
10922         * interps.h (interpreter_completer): Likewise.
10923         * language.c (unknown_language_defn, auto_language_defn)
10924         (local_language_defn): Adjust.
10925         * language.h (language_defn::la_make_symbol_completion_list):
10926         Rename to ...
10927         (language_defn::la_collect_symbol_completion_matches): ... this
10928         and adjust to work with a completion_tracker instead of a VEC.
10929         * m2-lang.c (m2_language_defn): Adjust.
10930         * objc-lang.c (objc_language_defn): Adjust.
10931         * opencl-lang.c (opencl_language_defn): Adjust.
10932         * p-lang.c (pascal_language_defn): Adjust.
10933         * python/py-cmd.c (cmdpy_completer_helper): Handle NULL word.
10934         (cmdpy_completer_handle_brkchars, cmdpy_completer): Adjust to work
10935         with a completion_tracker.
10936         * rust-lang.c (rust_language_defn): Adjust.
10937         * symtab.c (free_completion_list, do_free_completion_list)
10938         (return_val, completion_tracker): Delete.
10939         (completion_list_add_name, completion_list_add_symbol)
10940         (completion_list_add_msymbol, completion_list_objc_symbol)
10941         (completion_list_add_fields, add_symtab_completions): Add
10942         completion_tracker parameter and use it.
10943         (default_make_symbol_completion_list_break_on_1): Rename to...
10944         (default_collect_symbol_completion_matches_break_on): ... this.
10945         Add completion_tracker parameter and use it instead of allocating
10946         a completion tracker here.
10947         (default_make_symbol_completion_list_break_on): Delete old
10948         implementation.
10949         (default_make_symbol_completion_list): Delete.
10950         (default_collect_symbol_completion_matches): New.
10951         (make_symbol_completion_list): Delete.
10952         (collect_symbol_completion_matches): New.
10953         (make_symbol_completion_type): Rename to ...
10954         (collect_symbol_completion_matches_type): ... this.  Add
10955         completion_tracker parameter and use it instead of VEC.
10956         (make_file_symbol_completion_list_1): Rename to...
10957         (collect_file_symbol_completion_matches): ... this.  Add
10958         completion_tracker parameter and use it instead of VEC.
10959         (make_file_symbol_completion_list): Delete.
10960         (add_filename_to_list): Use completion_list instead of a VEC.
10961         (add_partial_filename_data::list): Now a completion_list.
10962         (make_source_files_completion_list): Work with a completion_list
10963         instead of a VEC.
10964         * symtab.h: Include "completer.h".
10965         (default_make_symbol_completion_list_break_on)
10966         (default_make_symbol_completion_list, make_symbol_completion_list)
10967         (make_symbol_completion_type, make_file_symbol_completion_list)
10968         (make_source_files_completion_list): Delete.
10969         (default_collect_symbol_completion_matches_break_on)
10970         (default_collect_symbol_completion_matches)
10971         (collect_symbol_completion_matches)
10972         (collect_symbol_completion_matches_type)
10973         (collect_file_symbol_completion_matches)
10974         (make_source_files_completion_list): New.
10975         * top.c (init_main): Don't install a rl_completion_entry_function
10976         hook.  Install a rl_attempted_completion_function hook instead.
10977         * tui/tui-layout.c (layout_completer): Adjust to work with a
10978         completion_tracker.
10979         * tui/tui-regs.c (tui_reggroup_completer):
10980         * tui/tui-win.c (window_name_completer, focus_completer)
10981         (winheight_completer): Adjust to work with a completion_tracker.
10982         * value.c: Include "completer.h".
10983         (complete_internalvar): Adjust to work with a completion_tracker.
10984         * value.h (complete_internalvar): Likewise.
10985
10986 2017-07-17  Pedro Alves  <palves@redhat.com>
10987
10988         * cli/cli-decode.c (set_cmd_completer_handle_brkchars): Adjust to
10989         renames.
10990         * cli/cli-decode.h (struct cmd_list_element) <completer>: Move
10991         comments to completer_ftype's declaration.
10992         <completer_handle_brkchars>: Change type to
10993         completer_handle_brkchars_ftype.
10994         * command.h (completer_ftype): Add describing comment and give
10995         names to parameters.
10996         (completer_ftype_void): Rename to ...
10997         (completer_handle_brkchars_ftype) ... this.  Add describing comment.
10998         (set_cmd_completer_handle_brkchars): Adjust.
10999         * completer.c (filename_completer_handle_brkchars): New function.
11000         (complete_line_internal_normal_command): New function, factored
11001         out from ...
11002         (complete_line_internal): ... here.
11003         (command_completer_handle_brkchars)
11004         (default_completer_handle_brkchars)
11005         (completer_handle_brkchars_func_for_completer): New functions.
11006         * completer.h (set_gdb_completion_word_break_characters): Delete
11007         declaration.
11008         (completer_handle_brkchars_func_for_completer): New declaration.
11009         * python/py-cmd.c (cmdpy_completer_handle_brkchars): Adjust to use
11010         completer_handle_brkchars_func_for_completer.
11011
11012 2017-07-17  Pedro Alves  <palves@redhat.com>
11013
11014         * completer.c (symbol_completer): New function, based on
11015         make_symbol_completion_list_fn.
11016         * completer.h (symbol_completer): New declaration.
11017         * guile/scm-cmd.c (cmdscm_completers): Adjust.
11018         * python/py-cmd.c (completers): Adjust.
11019         * symtab.c (make_symbol_completion_list_fn): Delete.
11020         * symtab.h (make_symbol_completion_list_fn): Delete.
11021         * cli/cli-decode.c (add_cmd): Adjust.
11022
11023 2017-07-17  Pedro Alves  <palves@redhat.com>
11024
11025         * Makefile.in (COMMON_OBS): Add filename-seen-cache.o.
11026         * dwarf2read.c: Include "filename-seen-cache.h".
11027         * dwarf2read.c (dwarf2_per_objfile) <filenames_cache>: New field.
11028         (dw2_map_symbol_filenames): Build and use a filenames_seen_cache.
11029         * filename-seen-cache.c: New file.
11030         * filename-seen-cache.h: New file.
11031         * symtab.c: Include "filename-seen-cache.h".
11032         (struct filename_seen_cache, INITIAL_FILENAME_SEEN_CACHE_SIZE)
11033         (create_filename_seen_cache, clear_filename_seen_cache)
11034         (delete_filename_seen_cache, filename_seen): Delete, parts moved
11035         to filename-seen-cache.h/filename-seen-cache.c.
11036         (output_source_filename, sources_info)
11037         (maybe_add_partial_symtab_filename)
11038         (make_source_files_completion_list): Adjust to use
11039         filename_seen_cache.
11040
11041 2017-07-17  Pedro Alves  <palves@redhat.com>
11042
11043         * dwarf2read.c (dwarf2_per_objfile): In-class initialize all
11044         fields.
11045         (dwarf2_per_objfile::dwarf2_per_objfile(objfile*, const
11046         dwarf2_debug_sections*)): New.
11047         (dwarf2_per_objfile::dwarf2_per_objfile(const
11048         dwarf2_per_objfile&)): Declare as deleted.
11049         (dwarf2_per_objfile::operator=): Declare as deleted.
11050         (dwarf2_per_objfile::dwarf2_per_objfile)
11051         (dwarf2_per_objfile::~dwarf2_per_objfile)
11052         (dwarf2_per_objfile::free_cached_comp_units): New.
11053         (dwarf2_has_info): dwarf2_per_objfile initialization code moved to
11054         ctor.  Call dwarf2_per_objfile's ctor manually.
11055         (dwarf2_locate_sections): Deleted/refactored as ...
11056         (dwarf2_per_objfile::locate_sections): ... this new method.
11057         (free_cached_comp_units): Defer to
11058         dwarf2_per_objfile::free_cached_comp_units.
11059         (dwarf2_free_objfile): Call dwarf2_per_objfile's dtor manually.
11060
11061 2017-07-14  Tom Tromey  <tom@tromey.com>
11062
11063         PR rust/21764:
11064         * rust-exp.y (convert_ast_to_expression): Add "want_type"
11065         parameter.
11066         <UNOP_SIZEOF>: Split into separate case.
11067         <UNOP_VAR_VALUE>: Handle want_type.  Add error case.
11068
11069 2017-07-14  Tom Tromey  <tom@tromey.com>
11070
11071         PR rust/21763:
11072         * symtab.c (symbol_matches_domain): Add language_rust to special
11073         case.
11074         * rust-exp.y (convert_ast_to_expression) <OP_VAR_VALUE>: Don't
11075         treat LOC_TYPEDEF symbols as variables.
11076
11077 2017-07-14  Pedro Alves  <palves@redhat.com>
11078
11079         * symtab.c (make_file_symbol_completion_list_1): Iterate over
11080         symtabs matching all symtabs with SRCFILE as file name instead of
11081         only considering the first hit, with lookup_symtab.
11082
11083 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
11084
11085         * ax-gdb.c (gen_aggregate_elt_ref): Remove operand_name and
11086         operator_name parameters.
11087         (gen_expr): Update function call.
11088
11089 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
11090
11091         * dwarf2loc.h (dwarf2_compile_expr_to_ax): Remove gdbarch
11092         parameter.
11093         * symtab.h (struct symbol_computed_ops::tracepoint_var_ref):
11094         Likewise.
11095         * dwarf2loc.c (dwarf2_compile_expr_to_ax): Remove gdbarch
11096         parameter, use agent_expr::gdbarch instead, update function
11097         calls.
11098         (locexpr_tracepoint_var_ref): Likewise.
11099         (loclist_tracepoint_var_ref): Likewise.
11100         * ax-gdb.c (gen_trace_static_fields): Likewise.
11101         (gen_traced_pop): Likewise.
11102         (gen_frame_args_address): Likewise.
11103         (gen_frame_locals_address): Likewise.
11104         (gen_var_ref): Likewise.
11105         (gen_struct_ref_recursive): Likewise.
11106         (gen_static_field): Likewise.
11107         (gen_maybe_namespace_elt): Likewise.
11108         (gen_expr): Likewise.
11109         (gen_trace_for_var): Likewise.
11110         (gen_trace_for_expr): Likewise.
11111         (gen_trace_for_return_address): Likewise.
11112
11113 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
11114
11115         * ax-gdb.c (gen_deref, gen_address_of): Remove unused ax
11116         parameter.
11117         (gen_struct_ref, gen_expr, gen_expr_binop_rest): Update call.
11118
11119 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
11120
11121         * ax-gdb.c (gen_usual_unary): Remove exp parameter, get gdbarch
11122         from ax, update calls.
11123         (gen_usual_arithmetic): Likewise.
11124         (gen_integral_promotions): Likewise.
11125         (gen_bitfield_ref): Likewise.
11126         (gen_primitive_field): Likewise.
11127         (gen_struct_ref_recursive): Likewise.
11128         (gen_struct_ref): Likewise.
11129         (gen_maybe_namespace_elt): Likewise.
11130         (gen_struct_elt_for_reference): Likewise.
11131         (gen_namespace_elt): Likewise.
11132         (gen_aggregate_elt_ref): Likewise.
11133         (gen_expr): Get gdbarch from ax, update calls.
11134         (gen_expr_binop_rest): Likewise.
11135
11136 2017-07-13  Pedro Alves  <palves@redhat.com>
11137
11138         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Pass tdesc_amd64
11139         as default tdesc.
11140         * amd64-dicos-tdep.c (amd64_dicos_init_abi):
11141         * amd64-fbsd-tdep.c (amd64fbsd_init_abi):
11142         * amd64-linux-tdep.c (amd64_linux_init_abi): Pass
11143         tdesc_amd64_linux as default tdesc.  Get final tdesc from the
11144         tdep.
11145         (amd64_x32_linux_init_abi): Pass tdesc_x32_linux as default tdesc.
11146         Get final tdesc from the tdep.
11147         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Pass tdesc_amd64 as
11148         default tdesc.
11149         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
11150         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
11151         * amd64-tdep.c (amd64_init_abi): Add 'default_tdesc' parameter.
11152         Use it as default tdesc.
11153         (amd64_x32_init_abi): Add 'default_tdesc' parameter, and pass it
11154         down to amd_init_abi.  No longer handle fallback tdesc here.
11155         * amd64-tdep.h (tdesc_x32): Declare.
11156         (amd64_init_abi, amd64_x32_init_abi): Add 'default_tdesc'
11157         parameter.
11158         * amd64-windows-tdep.c (amd64_windows_init_abi): Pass tdesc_amd64
11159         as default tdesc.
11160
11161 2017-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11162
11163         * s390-linux-tdep.c (s390_process_record): Add support for
11164         instructions new in arch12.
11165
11166 2017-07-11  John Baldwin  <jhb@FreeBSD.org>
11167
11168         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers): Use
11169         PT_GETFSBASE and PT_GETGSBASE.
11170         (amd64bsd_store_inferior_registers): Use PT_SETFSBASE and
11171         PT_SETGSBASE.
11172
11173 2017-07-11  John Baldwin  <jhb@FreeBSD.org>
11174
11175         * features/Makefile (amd64.dat, amd64-avx.dat, amd64-mpx.dat)
11176         (amd64-avx-mpx.dat, amd64-avx-avx512.dat)
11177         (amd64-avx-mpx-avx512-pku.dat): Add i386/64bit-segments.xml in
11178         those rules.
11179         * features/i386/amd64-avx-avx512.xml: Add 64bit-segments.xml.
11180         * features/i386/amd64-avx-mpx-avx512-pku.xml: Add 64bit-segments.xml.
11181         * features/i386/amd64-avx-mpx.xml: Add 64bit-segments.xml.
11182         * features/i386/amd64-avx.xml: Add 64bit-segments.xml.
11183         * features/i386/amd64-mpx.xml: Add 64bit-segments.xml.
11184         * features/i386/amd64.xml: Add 64bit-segments.xml.
11185         * features/i386/amd64-avx-avx512.c: Regenerated.
11186         * features/i386/amd64-avx-mpx-avx512-pku.c: Regenerated.
11187         * features/i386/amd64-avx-mpx.c: Regenerated.
11188         * features/i386/amd64-avx.c: Regenerated.
11189         * features/i386/amd64-mpx.c: Regenerated.
11190         * features/i386/amd64.c: Regenerated.
11191         * regformats/i386/amd64-avx-avx512.dat: Regenerated.
11192         * regformats/i386/amd64-avx-mpx-avx512-pku.dat: Regenerated.
11193         * regformats/i386/amd64-avx-mpx.dat: Regenerated.
11194         * regformats/i386/amd64-avx.dat: Regenerated.
11195         * regformats/i386/amd64-mpx.dat: Regenerated.
11196         * regformats/i386/amd64.dat: Regenerated.
11197
11198 2017-07-10  Yao Qi  <yao.qi@linaro.org>
11199
11200         * features/i386/amd64-avx-avx512-linux.c: Re-generated.
11201         * features/i386/amd64-avx-mpx-avx512-pku-linux.c: Re-generated.
11202
11203 2017-07-10  Anton Kolesov  <Anton.Kolesov@synopsys.com>
11204
11205         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add setenv and
11206         unsetenv.
11207         * gnulib/aclocal.m4: Regenerate.
11208         * gnulib/config.in: Regenerate.
11209         * gnulib/configure: Regenerate.
11210         * gnulib/import/Makefile.am: Regenerate.
11211         * gnulib/import/Makefile.in: Regenerate.
11212         * gnulib/import/m4/gnulib-cache.m4: Regenerate.
11213         * gnulib/import/m4/gnulib-comp.m4: Regenerate.
11214         * gnulib/import/m4/environ.m4: New file.
11215         * gnulib/import/m4/setenv.m4: New file.
11216         * gnulib/import/setenv.c: New file.
11217         * gnulib/import/unsetenv.c: New file.
11218
11219 2017-07-09  Simon Marchi  <simon.marchi@ericsson.com>
11220
11221         * compile/compile-loc2c.c (do_compile_dwarf_expr_to_c): Read
11222         address when op is DW_OP_addr.
11223
11224 2017-07-09  Tom Tromey  <tom@tromey.com>
11225
11226         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Reverse size
11227         check and apply to outer type.
11228
11229 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11230
11231         * fbsd-tdep.c (LWPINFO_OFFSET, LWPINFO_PL_FLAGS)
11232         (LWPINFO64_PL_SIGINFO, LWPINFO32_PL_SIGINFO, PL_FLAG_SI)
11233         (SIZE64_SIGINFO_T, SIZE32_SIGINFO_T, fbsd_core_xfer_siginfo): New.
11234         (fbsd_init_abi): Install gdbarch "core_xfer_siginfo" method.
11235
11236 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11237
11238         * fbsd-tdep.c (fbsd_core_thread_name): Use thread_section_name.
11239
11240 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11241
11242         * corelow.c (get_core_siginfo): Remove.
11243         (core_xfer_partial): Use the gdbarch "core_xfer_siginfo" method
11244         instead of get_core_siginfo.
11245         * gdbarch.sh (core_xfer_siginfo): New gdbarch callback.
11246         * gdbarch.h: Re-generate.
11247         * gdbarch.c: Re-generate.
11248         * linux-tdep.c (linux_core_xfer_siginfo): New.
11249         (linux_init_abi): Install gdbarch "core_xfer_siginfo" method.
11250
11251 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11252
11253         * corelow.c (thread_section_name): Move to ...
11254         * gdbcore.h (thread_section_name): ... here.
11255
11256 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11257
11258         * fbsd-nat.c [PT_LWPINFO && __LP64__] (union sigval32)
11259         (struct siginfo32): New.
11260         [PT_LWPINFO] (fbsd_siginfo_size, fbsd_convert_siginfo): New.
11261         (fbsd_xfer_partial) [PT_LWPINFO]: Handle TARGET_OBJECT_SIGNAL_INFO
11262         via ptrace(PT_LWPINFO).
11263
11264 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11265
11266         * fbsd-tdep.c (fbsd_gdbarch_data_handle, struct fbsd_gdbarch_data)
11267         (init_fbsd_gdbarch_data, get_fbsd_gdbarch_data)
11268         (fbsd_get_siginfo_type): New.
11269         (fbsd_init_abi): Install gdbarch "get_siginfo_type" method.
11270         (_initialize_fbsd_tdep): New.
11271
11272 2017-07-06  David Blaikie  <dblaikie@gmail.com>
11273
11274         * dwarf2read.c (struct dwo_file): Use a htab of dwo_unit* (rather than
11275         a singular dwo_unit*) to support multiple CUs in the same way that
11276         multiple TUs are supported.
11277         (create_cus_hash_table): Replace create_dwo_cu with a function for
11278         parsing multiple CUs from a DWO file.
11279         (open_and_init_dwo_file): Use create_cus_hash_table rather than
11280         create_dwo_cu.
11281         (lookup_dwo_cutu): Lookup CU in the hash table in the dwo_file with
11282         htab_find, rather than comparing the signature to a singleton CU in
11283         the dwo_file.
11284
11285 2017-07-06  Pedro Alves  <palves@redhat.com>
11286
11287         * python/py-unwind.c (pyuw_dealloc_cache): Fix for loop condition.
11288
11289 2017-07-04  Pedro Alves  <palves@redhat.com>
11290
11291         * gdbtypes.c (recursive_dump_type): Don't reference TYPE_STATIC.
11292         * gdbtypes.h (TYPE_STATIC): Delete.
11293         (struct fn_field) <is_public, is_abstract, is_static, is_final,
11294         is_synchronized, is_native>: Delete.
11295         <dummy>: Bump.
11296         (TYPE_FN_FIELD_PUBLIC, TYPE_FN_FIELD_STATIC, TYPE_FN_FIELD_FINAL)
11297         (TYPE_FN_FIELD_SYNCHRONIZED, TYPE_FN_FIELD_NATIVE)
11298         (TYPE_FN_FIELD_ABSTRACT): Delete.
11299
11300 2017-07-03  Simon Marchi  <simon.marchi@ericsson.com>
11301
11302         * buffer.h (buffer_finish): Fix spelling mistakes.
11303
11304 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
11305
11306         * .dir-locals.el: Automatically switch to C-style comments in
11307         versions of Emacs that support the feature.
11308
11309 2017-06-30  Sergio Durigan Junior  <sergiodj@redhat.com>
11310             Pedro Alves  <palves@redhat.com>
11311
11312         PR cli/21688
11313         * cli/cli-script.c (command_name_equals_not_inline): Remove function.
11314         (process_next_line): New variable 'inline_cmd'.
11315         Adjust 'if' clauses for "python", "compile" and "guile" to use
11316         'command_name_equals' and check for '!inline_cmd'.
11317
11318 2017-06-30  Sergio Durigan Junior  <sergiodj@redhat.com>
11319
11320         PR cli/21688
11321         * cli/cli-script.c (command_name_equals_not_inline): New function.
11322         (process_next_line): Adjust 'if' clauses for "python", "compile"
11323         and "guile" to use command_name_equals_not_inline.
11324
11325 2017-06-29  Pedro Alves  <palves@redhat.com>
11326
11327         * completer.c (expression_completer): Call
11328         linespec_location_completer instead of location_completer.
11329
11330 2017-06-29  Pedro Alves  <palves@redhat.com>
11331
11332         * completer.c (expression_completer): Remove code that recomputes
11333         'text' from 'word'.
11334
11335 2017-06-29  Yao Qi  <yao.qi@linaro.org>
11336
11337         * regformats/regdat.sh: Generate code with
11338         "ifndef IN_PROCESS_AGENT".
11339
11340 2017-06-28  Pedro Alves  <palves@redhat.com>
11341
11342         * command.h: Include "common/scoped_restore.h".
11343
11344 2017-06-28  Yao Qi  <yao.qi@linaro.org>
11345
11346         * mi/mi-cmd-break.c (mi_argv_to_format): Use obstack_grow_str
11347         instead of obstack_grow.
11348
11349 2017-06-28  Doug Gilmore  <Doug.Gilmore@imgtec.com>
11350
11351         PR gdb/21337
11352         * symfile.c (reread_symbols): Call objfiles_changed just before
11353         read_symbols.
11354
11355 2017-06-27  Pedro Alves  <palves@redhat.com>
11356
11357         * symtab.c (COMPLETION_LIST_ADD_SYMBOL)
11358         (MCOMPLETION_LIST_ADD_SYMBOL): Delete macros, replace with ...
11359         (completion_list_add_symbol, completion_list_add_msymbol):
11360         ... these new functions.
11361         (add_symtab_completions)
11362         (default_make_symbol_completion_list_break_on_1): Adjust.
11363
11364 2017-06-27  Pedro Alves  <palves@redhat.com>
11365
11366         * objfiles.c (get_objfile_bfd_data): Call bfd_alloc instead of
11367         bfd_zalloc.  Call objfile_per_bfd_storage's ctor.
11368         (free_objfile_per_bfd_storage): Call objfile_per_bfd_storage's
11369         dtor.
11370         * objfiles.h (objfile_per_bfd_storage): Add ctor.  Make
11371         'storage_obstack' field an auto_obstack.  In-class initialize all
11372         non-bitfield fields.  Make minsyms_read bool.
11373         * symfile.c (read_symbols): Adjust.
11374
11375 2017-06-27  Alan Hayward  <alan.hayward@arm.com>
11376
11377         * remote-sim.c (gdbsim_fetch_register): Use byte_vector.
11378         (gdbsim_store_register): Likewise.
11379
11380 2017-06-27  Pedro Alves  <palves@redhat.com>
11381
11382         * c-exp.y (name_obstack): Now an auto_obstack.
11383         (yylex): Use auto_obstack::clear.
11384         (c_parse): Use auto_obstack::clear instead of reinitializing and
11385         freeing the obstack.
11386         * c-lang.c (evaluate_subexp_c): Use auto_obstack.
11387         * d-exp.y (name_obstack): Now an auto_obstack.
11388         (yylex): Use auto_obstack::clear.
11389         (d_parse): Use auto_obstack::clear instead of reinitializing and
11390         freeing the obstack.
11391         * dwarf2loc.c (fetch_const_value_from_synthetic_pointer): Use
11392         auto_obstack.
11393         * dwarf2read.c (create_addrmap_from_index)
11394         (dwarf2_build_psymtabs_hard)
11395         (update_enumeration_type_from_children): Likewise.
11396         * gdb_obstack.h (auto_obstack): New type.
11397         * go-exp.y (name_obstack): Now an auto_obstack.
11398         (build_packaged_name): Use auto_obstack::clear.
11399         (go_parse): Use auto_obstack::clear instead of reinitializing and
11400         freeing the obstack.
11401         * linux-tdep.c (linux_make_mappings_corefile_notes): Use
11402         auto_obstack.
11403         * printcmd.c (printf_wide_c_string, ui_printf): Use auto_obstack.
11404         * rust-exp.y (work_obstack): Now an auto_obstack.
11405         (rust_parse, rust_lex_tests): Use auto_obstack::clear instead of
11406         reinitializing and freeing the obstack.
11407         * utils.c (do_obstack_free, make_cleanup_obstack_free): Delete.
11408         (host_char_to_target): Use auto_obstack.
11409         * utils.h (make_cleanup_obstack_free): Delete declaration.
11410         * valprint.c (generic_emit_char, generic_printstr): Use
11411         auto_obstack.
11412
11413 2017-06-27  Simon Marchi  <simon.marchi@ericsson.com>
11414
11415         * darwin-nat.c (darwin_check_new_threads): Don't handle dummy
11416         thread.
11417         (darwin_init_thread_list): Don't update dummy thread.
11418         (darwin_create_inferior, darwin_attach): Don't add a dummy thread.
11419
11420 2017-06-26  Simon Marchi  <simon.marchi@ericsson.com>
11421
11422         * record-full.c (netorder16): Remove.
11423
11424 2017-06-26  Simon Marchi  <simon.marchi@ericsson.com>
11425
11426         * common/diagnostics.h: Define macros for GCC.
11427         (DIAGNOSTIC_IGNORE_UNUSED_FUNCTION): New macro.
11428         * common/vec.h: Include diagnostics.h.
11429         (DIAGNOSTIC_IGNORE_UNUSED_VEC_FUNCTION): New macro.
11430         (DEF_VEC_I, DEF_VEC_P, DEF_VEC_O): Ignore -Wunused-function
11431         warning.
11432
11433 2017-06-26  Simon Marchi  <simon.marchi@ericsson.com>
11434
11435         * common/diagnostics.h (DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER):
11436         New macro.
11437         * ada-lex.l: Ignore deprecated register warnings.
11438
11439 2017-06-25  Simon Marchi  <simon.marchi@ericsson.com>
11440
11441         * main.c (get_init_files): Replace "SYSTEM_GDBINIT +
11442         datadir_len" with "&SYSTEM_GDBINIT[datadir_len]".
11443
11444 2017-06-25  Simon Marchi  <simon.marchi@ericsson.com>
11445
11446         * dtrace-probe.c (dtrace_process_dof_probe): Put semi-colon on
11447         its own line.
11448
11449 2017-06-25  Simon Marchi  <simon.marchi@ericsson.com>
11450
11451         * nat/x86-dregs.c (x86_show_dr): Print registers one per line.
11452
11453 2017-06-23  Alan Hayward  <alan.hayward@arm.com>
11454
11455         * xtensa-tdep.c (XTENSA_MAX_REGISTER_SIZE): Add.
11456         (xtensa_register_write_masked): Use XTENSA_MAX_REGISTER_SIZE.
11457         (xtensa_register_read_masked): Likewise.
11458
11459 2017-06-22  Sergio Durigan Junior  <sergiodj@redhat.com>
11460
11461         * common/environ.c (gdb_environ::unset): Update comment.
11462
11463 2017-06-22  Alan Hayward  <alan.hayward@arm.com>
11464
11465         * python/py-unwind.c (pyuw_sniffer): Allocate space for
11466         registers.
11467
11468 2017-06-22  Alan Hayward  <alan.hayward@arm.com>
11469
11470         * record-full.c (record_full_exec_insn): Use byte_vector.
11471
11472 2017-06-22  Yao Qi  <yao.qi@linaro.org>
11473
11474         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Regenerated.
11475         * regformats/i386/amd64-avx-mpx-avx512-pku.dat: Regenerated.
11476
11477 2017-06-22  Alan Hayward  <alan.hayward@arm.com>
11478
11479         * remote.c (cached_reg): Move from here...
11480         * regcache.h (cached_reg): ...to here.
11481         * python/py-unwind.c (struct reg_info): Remove.
11482         (cached_frame_info): Use cached_reg_t.
11483         (pyuw_prev_register): Likewise.
11484         (pyuw_sniffer): Use cached_reg_t and allocate registers.
11485         (pyuw_dealloc_cache): Free all registers.
11486
11487 2017-06-22  Pedro Alves  <palves@redhat.com>
11488             Simon Marchi  <simon.marchi@ericsson.com>
11489
11490         * unittests/environ-selftests.c (run_tests): Ignore -Wself-move
11491         warning.
11492         * common/diagnostics.h: New file.
11493
11494 2017-06-22  Pedro Alves  <palves@redhat.com>
11495
11496         * common/agent.h: Add include guards.
11497
11498 2017-06-21  Simon Marchi  <simon.marchi@ericsson.com>
11499
11500         * target.h (struct target_ops) <to_xfer_partial>: Update doc to
11501         talk about addressable units instead of bytes.
11502
11503 2017-06-20  Sergio Durigan Junior  <sergiodj@redhat.com>
11504
11505         * common/environ.c (gdb_environ::unset): Use '::iterator' instead
11506         of '::const_iterator'.
11507
11508 2017-06-20  Sergio Durigan Junior  <sergiodj@redhat.com>
11509
11510         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11511         'unittests/environ-selftests.c'.
11512         (SUBDIR_UNITTESTS_OBS): Add 'environ-selftests.o'.
11513         * charset.c (find_charset_names): Declare object 'iconv_env'.
11514         Update code to use 'iconv_env' object.  Remove call to
11515         'free_environ'.
11516         * common/environ.c: Include <utility>.
11517         (make_environ): Delete function.
11518         (free_environ): Delete function.
11519         (gdb_environ::clear): New function.
11520         (gdb_environ::operator=): New function.
11521         (gdb_environ::get): Likewise.
11522         (environ_vector): Delete function.
11523         (set_in_environ): Delete function.
11524         (gdb_environ::set): New function.
11525         (unset_in_environ): Delete function.
11526         (gdb_environ::unset): New function.
11527         (gdb_environ::envp): Likewise.
11528         * common/environ.h: Include <vector>.
11529         (struct gdb_environ): Delete; transform into...
11530         (class gdb_environ): ... this class.
11531         (free_environ): Delete prototype.
11532         (init_environ, get_in_environ, set_in_environ, unset_in_environ,
11533         environ_vector): Likewise.
11534         * infcmd.c (run_command_1): Update code to call
11535         'envp' from 'gdb_environ' class.
11536         (environment_info): Update code to call methods from 'gdb_environ'
11537         class.
11538         (unset_environment_command): Likewise.
11539         (path_info): Likewise.
11540         (path_command): Likewise.
11541         * inferior.c (inferior::~inferior): Delete call to 'free_environ'.
11542         (inferior::inferior): Initialize 'environment' using the host's
11543         information.
11544         * inferior.h: Remove forward declaration of 'struct gdb_environ'.
11545         Include "environ.h".
11546         (class inferior) <environment>: Change type from 'struct
11547         gdb_environ' to 'gdb_environ'.
11548         * mi/mi-cmd-env.c (mi_cmd_env_path): Update code to call
11549         methods from 'gdb_environ' class.
11550         * solib.c (solib_find_1): Likewise
11551         * unittests/environ-selftests.c: New file.
11552
11553 2017-06-20  Yao Qi  <yao.qi@linaro.org>
11554
11555         * features/i386/i386-linux.xml: Exchange the order of including
11556         32bit-linux.xml and 32bit-sse.xml.
11557         * features/i386/i386-linux.c: Regenerated.
11558
11559 2017-06-20  Yao Qi  <yao.qi@linaro.org>
11560
11561         * target-descriptions.c (tdesc_reg): Add ctor, dtor.
11562         Delete copy ctor and assignment operator.
11563         (tdesc_type): Likewise.
11564         (tdesc_feature): Likewise.
11565         (tdesc_free_reg): Remove.
11566         (tdesc_create_reg): Use new.
11567         (tdesc_free_type): Remove.
11568         (tdesc_create_vector): Use new.
11569         (tdesc_create_union): Likewise.
11570         (tdesc_create_flags): Likewise.
11571         (tdesc_create_enum): Likewise.
11572         (tdesc_free_feature): Delete.
11573         (free_target_description): Use delete.
11574
11575 2017-06-19  John Baldwin  <jhb@FreeBSD.org>
11576
11577         * mips-tdep.c (print_gp_register_row): Don't error for unavailable
11578         registers.
11579
11580 2017-06-19  Pedro Alves  <palves@redhat.com>
11581
11582         * dwarf2read.c (write_psymtabs_to_index): Construct file_closer
11583         after gdb::unlinker.
11584
11585 2017-06-19  Sergio Durigan Junior  <sergiodj@redhat.com>
11586
11587         * mi/mi-cm-env.c (_initialize_mi_cmd_env): Use getenv instead of
11588         gdb_environ to access an environment variable.
11589
11590 2017-06-18  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>
11591
11592         * nat/linux-ptrace.c (linux_fork_to_function): Add cast to
11593         gdb_byte*.
11594
11595 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11596
11597         * nat/fork-inferior.h (trace_start_error): Add ATTRIBUTE_PRINTF.
11598
11599 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11600
11601         * configure: Re-generate.
11602         * warning.m4 (build_warnings): Add -Wno-mismatched-tags.
11603
11604 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11605
11606         * configure: Re-generate.
11607         * warning.m4: Pass -Werror to compiler when checking for
11608         supported warning flags.
11609
11610 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11611
11612         * Makefile.in (COMPILE.pre): Add "-x c++".
11613
11614 2017-06-16  Alan Hayward  <alan.hayward@arm.com>
11615             Pedro Alves  <palves@redhat.com>
11616             Yao Qi  <yao.qi@linaro.org>
11617
11618         * defs.h (RequireLongest): New.
11619         (extract_integer): Declare function template.
11620         (extract_signed_integer): Remove the declaration, but define it
11621         static inline.
11622         (extract_unsigned_integer): Likewise.
11623         (store_integer): Declare function template.
11624         (store_signed_integer): Remove the declaration, but define it
11625         static inline.
11626         (store_unsigned_integer): Likewise.
11627         * findvar.c (extract_integer): New function template.
11628         (extract_signed_integer): Remove.
11629         (extract_unsigned_integer): Remove.
11630         (extract_integer<LONGEST>, extract_integer<ULONGEST>): Explicit
11631         instantiations.
11632         (store_integer): New function template.
11633         (store_signed_integer): Remove.
11634         (store_unsigned_integer): Remove.
11635         (store_integer): Explicit instantiations.
11636         * regcache.c (regcache_raw_read_signed): Update.
11637         (regcache::raw_read): New function.
11638         (regcache::raw_read_signed): Remove.
11639         (regcache::raw_read_unsigned): Remove.
11640         (regcache_raw_read_unsigned): Update.
11641         (regcache_raw_write_unsigned): Update.
11642         (regcache::raw_write_signed): Remove.
11643         (regcache::raw_write): New function.
11644         (regcache_cooked_read_signed): Update.
11645         (regcache::raw_write_unsigned): Remove.
11646         (regcache::cooked_read_signed): Remove.
11647         (regcache_cooked_read_unsigned): Update.
11648         (regcache::cooked_read_unsigned): Remove.
11649         (regcache_cooked_write_signed): Update.
11650         (regcache_cooked_write_unsigned): Update.
11651         * regcache.h (regcache) <raw_read_signed>: Remove.
11652         <raw_write_signed, raw_read_unsigned, raw_write_unsigned>: Remove.
11653         <raw_read, raw_write>: New.
11654         <cooked_read_signed, cooked_write_signed>: Remove.
11655         <cooked_write_unsigned, cooked_read_unsigned>: Remove.
11656         <cooked_read, cooked_write>: New.
11657         * sh64-tdep.c (sh64_pseudo_register_read): Update.
11658         (sh64_pseudo_register_write): Update.
11659
11660 2017-06-16  Anton Kolesov  <anton.kolesov@synopsys.com>
11661
11662         * arc-tdep.c (arc_disassembler_options): New variable.
11663         (arc_gdbarch_init): Set and use it. Use arc_delayed_print_insn instead
11664         of default_print_insn.
11665         (arc_delayed_print_insn): Set info->section when needed,
11666         use default_print_insn to retrieve a disassembler.
11667
11668 2017-06-14  Sergio Durigan Junior  <sergiodj@redhat.com>
11669
11670         PR gdb/21574
11671         * infcmd.c (_initialize_infcmd): Expand "help run" documentation
11672         to mention $SHELL and startup-with-shell.
11673
11674 2017-06-14  Max Filippov  <jcmvbkbc@gmail.com>
11675
11676         * MAINTAINERS: Move Maxim Grigoriev to the Past Maintainers.
11677
11678 2017-06-14  Yao Qi  <yao.qi@linaro.org>
11679
11680         * aarch64-tdep.c (aarch64_gdb_print_insn): Call
11681         default_print_insn instead of print_insn_aarch64.
11682         * arm-tdep.c (gdb_print_insn_arm): Call
11683         default_print_insn instead of print_insn_big_arm
11684         and print_insn_little_arm.
11685         * i386-tdep.c (i386_print_insn): Call default_print_insn
11686         instead of print_insn_i386.
11687         * ia64-tdep.c (ia64_print_insn): Call
11688         default_print_insn instead of print_insn_ia64.
11689         * mips-tdep.c (gdb_print_insn_mips): Call
11690         default_print_insn instead of print_insn_big_mips
11691         and print_insn_little_mips.
11692         * spu-tdep.c (gdb_print_insn_spu): Call default_print_insn
11693         instead of print_insn_spu.
11694
11695 2017-06-14  Pedro Alves  <palves@redhat.com>
11696
11697         * ada-lang.c: Include "common/byte-vector.h".
11698         (ada_value_primitive_packed_val): Use gdb::byte_vector.
11699         * charset.c (wchar_iterator::iterate): Resize the vector instead
11700         of reserving it.
11701         * common/byte-vector.h: Include "common/def-vector.h".
11702         (wchar_iterator::m_out): Now a gdb::def_vector<gdb_wchar_t>.
11703         * cli/cli-dump.c: Include "common/byte-vector.h".
11704         (dump_memory_to_file, restore_binary_file): Use gdb::byte_vector.
11705         * common/byte-vector.h: New file.
11706         * common/def-vector.h: New file.
11707         * common/default-init-alloc.h: New file.
11708         * dwarf2loc.c: Include "common/byte-vector.h".
11709         (rw_pieced_value): Use gdb::byte_vector, and resize the vector
11710         instead of reserving it.
11711         * dwarf2read.c: Include "common/byte-vector.h".
11712         (data_buf::m_vec): Now a gdb::byte_vector.
11713         * gdb_regex.c: Include "common/def-vector.h".
11714         (compiled_regex::compiled_regex): Use gdb::def_vector<char>.
11715         * mi/mi-main.c: Include "common/byte-vector.h".
11716         (mi_cmd_data_read_memory): Use gdb::byte_vector.
11717         * printcmd.c: Include "common/byte-vector.h".
11718         (print_scalar_formatted): Use gdb::byte_vector.
11719         * valprint.c: Include "common/byte-vector.h".
11720         (maybe_negate_by_bytes, print_decimal_chars): Use
11721         gdb::byte_vector.
11722
11723 2017-06-13  Simon Marchi  <simon.marchi@ericsson.com>
11724
11725         * darwin-nat.c: Include "nat/fork-inferior.h".
11726
11727 2017-06-13  Simon Marchi  <simon.marchi@ericsson.com>
11728
11729         * configure.nat: Factor out Darwin bits that are not
11730         architecture-specific.  Add fork-inferior.o.
11731
11732 2017-06-13  Simon Marchi  <simon.marchi@ericsson.com>
11733
11734         * configure.nat: Factor out AIX bits that are not
11735         architecture-specific.  Add fork-inferior.o.
11736
11737 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11738
11739         * dwarf2loc.c (rw_pieced_value): New.  Merge logic from...
11740         (read_pieced_value, write_pieced_value): ...here.  Reduce to
11741         wrappers that just call rw_pieced_value.
11742
11743 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11744
11745         * dwarf2loc.c (write_pieced_value): When writing the data for a
11746         memory piece, use write_memory_with_notification instead of
11747         write_memory.
11748
11749 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11750
11751         * valops.c (read_value_memory): Change embedded_offset to
11752         represent a bit offset instead of a byte offset.
11753         * value.h (read_value_memory): Adjust comment.
11754
11755 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11756
11757         * dwarf2loc.c (read_pieced_value): Remove unnecessary variables
11758         dest_offset_bits and source_offset_bits.
11759         (write_pieced_value): Likewise.
11760
11761 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11762
11763         * dwarf2loc.c (read_pieced_value): Respect the piece offset, as
11764         given by DW_OP_bit_piece.
11765         (write_pieced_value): Likewise.
11766
11767 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11768
11769         * dwarf2loc.c (read_pieced_value): Move the buffer allocation and
11770         some other preparations to the places where sufficient information
11771         is available.
11772         (write_pieced_value): Likewise.
11773
11774 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11775
11776         * dwarf2loc.c (bits_to_bytes): New function.
11777         (read_pieced_value): Fix offset calculations for register pieces
11778         on big-endian targets.
11779         (write_pieced_value): Likewise.
11780
11781 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11782
11783         * dwarf2loc.c (read_pieced_value): Remove buffer_size variable.
11784         (write_pieced_value): Likewise.
11785
11786 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11787
11788         * dwarf2loc.c (write_pieced_value): When writing to a bit-field,
11789         transfer the source value's least significant bits, instead of its
11790         lowest-addressed ones.  Rename type_len to max_offset.
11791         (read_pieced_value): Mirror above changes to write_pieced_value as
11792         applicable.
11793
11794 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11795
11796         * dwarf2loc.c (write_pieced_value): In DWARF_VALUE_MEMORY,
11797         truncate full bytes from dest_offset_bits before using it as an
11798         offset into the buffer.
11799
11800 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11801
11802         * dwarf2loc.c (write_pieced_value): Include transfer size in
11803         byte-wise check.
11804
11805 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11806
11807         * dwarf2loc.c (write_pieced_value): Fix copy/paste error in the
11808         calculation of this_size.
11809
11810 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11811
11812         * dwarf2loc.c (read_pieced_value): Respect parent value's offset
11813         when targeting a bit-field.
11814         (write_pieced_value): Likewise.
11815
11816 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11817
11818         * dwarf2loc.c (struct piece_closure) <addr_size>: Remove field.
11819         (allocate_piece_closure): Drop addr_size parameter.
11820         (dwarf2_evaluate_loc_desc_full): Adjust call to
11821         allocate_piece_closure.
11822
11823 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11824
11825         PR gdb/21226
11826         * dwarf2loc.c (read_pieced_value): Anchor stack value pieces at
11827         the LSB end, independent of endianness.
11828
11829 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11830
11831         * dwarf2loc.c (write_pieced_value): Fix order of calculations for
11832         size capping.
11833
11834 2017-06-13  Yao Qi  <yao.qi@linaro.org>
11835
11836         * mips-linux-nat.c: Move include features/mips*-linux.c to
11837         mips-linux-tdep.c.
11838         (_initialize_mips_linux_nat): Move initialize_tdesc_mips* calls
11839         to mips-linux-tdep.c.
11840         * mips-linux-tdep.c: Include features/mips*-linux.c
11841         (_initialize_mips_linux_tdep): Call initialize_tdesc_mips*
11842         functions.
11843         * mips-linux-tdep.h (tdesc_mips_linux): Declare.
11844         (tdesc_mips_dsp_linux, tdesc_mips64_linux): Declare.
11845         (tdesc_mips64_dsp_linux): Declare.
11846
11847 2017-06-12  Tom Tromey  <tom@tromey.com>
11848
11849         * valprint.h (val_print_type_code_int): Remove.
11850         * valprint.c (generic_val_print_int): Always call
11851         val_print_scalar_formatted.
11852         (val_print_type_code_int): Remove.
11853         * printcmd.c (print_scalar_formatted): Handle options->format==0.
11854         * f-valprint.c (f_val_print): Use val_print_scalar_formatted.
11855         * c-valprint.c (c_val_print_int): Use val_print_scalar_formatted.
11856         * ada-valprint.c (ada_val_print_num): Use
11857         val_print_scalar_formatted.
11858
11859 2017-06-12  Tom Tromey  <tom@tromey.com>
11860
11861         * printcmd.c (print_scalar_formatted): Unify the two switches.
11862         Don't convert scalars to LONGEST.
11863
11864 2017-06-12  Tom Tromey  <tom@tromey.com>
11865
11866         PR exp/16225:
11867         * valprint.h (print_decimal_chars): Update.
11868         * valprint.c (maybe_negate_by_bytes): New function.
11869         (print_decimal_chars): Add "is_signed" argument.
11870         * printcmd.c (print_scalar_formatted): Update.
11871
11872 2017-06-12  Tom Tromey  <tom@tromey.com>
11873
11874         PR exp/16225:
11875         * valprint.h (print_binary_chars, print_hex_chars): Update.
11876         * valprint.c (val_print_type_code_int): Update.
11877         (print_binary_chars): Add "zero_pad" argument.
11878         (emit_octal_digit): New function.
11879         (print_octal_chars): Don't zero-pad.
11880         (print_decimal_chars): Likewise.
11881         (print_hex_chars): Add "zero_pad" argument.
11882         * sh64-tdep.c (sh64_do_fp_register): Update.
11883         * regcache.c (regcache::dump): Update.
11884         * printcmd.c (print_scalar_formatted): Update.
11885         * infcmd.c (default_print_one_register_info): Update.
11886
11887 2017-06-12  Pedro Alves  <palves@redhat.com>
11888             Alan Hayward  <alan.hayward@arm.com>
11889
11890         * mips-tdep.c (MAX_MIPS_ABI_REGSIZE): New.
11891         (mips_eabi_push_dummy_call): Rename local 'regsize' to
11892         'abi_regsize'.  Rename local array 'valbuf' to 'ref_valbuf', and
11893         use MAX_MIPS_ABI_REGSIZE instead of MAX_REGISTER_SIZE to size it.
11894         Assert that abi_regsize bytes fit in 'ref_valbuf'.
11895
11896 2017-06-12  Pedro Alves  <palves@redhat.com>
11897
11898         * dwarf2read.c (mapped_symtab::data): Now a vector of
11899         symtab_index_entry instead of vector of
11900         std::unique_ptr<symtab_index_entry>.  All users adjusted to check
11901         whether an element's name is NULL instead of checking whether the
11902         element itself is NULL.
11903         (find_slot): Change return type.  Adjust.
11904         (hash_expand, , add_index_entry, uniquify_cu_indices)
11905         (write_hash_table): Adjust.
11906
11907 2017-06-12  Pedro Alves  <palves@redhat.com>
11908
11909         * dwarf2read.c (recursively_count_psymbols): New function.
11910         (write_psymtabs_to_index): Call it to compute number of psyms and
11911         pass estimate size of psyms_seen to unordered_set's ctor.
11912
11913 2017-06-12  Pedro Alves  <palves@redhat.com>
11914
11915         * dwarf2read.c (write_hash_table): Check if key already exists
11916         before emplacing.
11917
11918 2017-06-12  Pedro Alves  <palves@redhat.com>
11919
11920         * dwarf2read.c (data_buf::append_space): Rename to...
11921         (data_buf::grow): ... this, and make private.  Adjust all callers.
11922         (data_buf::append_uint): New method.
11923         (add_address_entry, write_one_signatured_type)
11924         (write_psymtabs_to_index): Use it.
11925
11926 2017-06-12  Pedro Alves  <palves@redhat.com>
11927
11928         * dwarf2read.c (file_write(FILE *, const void *, size_t)): Delete.
11929         (file_write (FILE *, const std::vector<Elem>&)): Delete.
11930         (data_buf::file_write): Call ::fwrite directly.
11931
11932 2017-06-12  Pedro Alves  <palves@redhat.com>
11933
11934         * dwarf2read.c (uniquify_cu_indices): Use std::unique and
11935         std::vector::erase.
11936
11937 2017-06-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
11938
11939         Code cleanup: C++ify .gdb_index producer.
11940         * dwarf2read.c: Include <unordered_set> and <unordered_map>.
11941         (MAYBE_SWAP) [WORDS_BIGENDIAN]: Cast to offset_type.
11942         (struct strtab_entry, hash_strtab_entry, eq_strtab_entry)
11943         (create_strtab, add_string): Remove.
11944         (file_write, data_buf): New.
11945         (struct symtab_index_entry): Use std::vector for cu_indices.
11946         (struct mapped_symtab): Use std::vector for data.
11947         (hash_symtab_entry, eq_symtab_entry, delete_symtab_entry)
11948         (create_symbol_hash_table, create_mapped_symtab, cleanup_mapped_symtab):
11949         Remove.
11950         (find_slot): Change return type.  Update it to the new data structures.
11951         (hash_expand, add_index_entry): Update it to the new data structures.
11952         (offset_type_compare): Remove.
11953         (uniquify_cu_indices): Update it to the new data structures.
11954         (c_str_view, c_str_view_hasher, vector_hasher): New.
11955         (add_indices_to_cpool): Remove.
11956         (write_hash_table): Update it to the new data structures.
11957         (struct psymtab_cu_index_map, hash_psymtab_cu_index)
11958         (eq_psymtab_cu_index): Remove.
11959         (psym_index_map): New typedef.
11960         (struct addrmap_index_data): Change addr_obstack pointer to data_buf
11961         reference and std::unordered_map for cu_index_htab.
11962         (add_address_entry, add_address_entry_worker, write_address_map)
11963         (write_psymbols): Update it to the new data structures.
11964         (write_obstack): Remove.
11965         (struct signatured_type_index_data): Change types_list to a data_buf
11966         reference and psyms_seen to a std::unordered_set reference.
11967         (write_one_signatured_type, recursively_write_psymbols)
11968         (write_psymtabs_to_index): Update it to the new data structures.
11969
11970 2017-06-11  Simon Marchi  <simon.marchi@ericsson.com>
11971
11972         * NEWS (Changes since GDB 8.0): Announce {set,show} debug
11973         separate-debug-file commands.
11974         * symfile.h (separate_debug_file_debug): New global.
11975         * symfile.c (separate_debug_file_debug): New global.
11976         (separate_debug_file_exists, find_separate_debug_file): Add
11977         debug output.
11978         (_initialize_symfile): Add "set debug separate-debug-file"
11979         command.
11980         * build-id.c (build_id_to_debug_bfd,
11981         find_separate_debug_file_by_buildid): Add debug output.
11982
11983 2017-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
11984
11985         * gdbarch.sh (displaced_step_free_closure): Remove.
11986         * gdbarch.h, gdbarch.c: Re-generate.
11987         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Don't set
11988         displaced_step_free_closure.
11989         * amd64-linux-tdep.c (amd64_linux_init_abi_common): Likewise.
11990         * arm-linux-tdep.c (arm_linux_init_abi): Likewise.
11991         * i386-linux-tdep.c (i386_linux_init_abi): Likewise.
11992         * rs6000-aix-tdep.c (rs6000_aix_init_osabi): Likewise.
11993         * rs6000-tdep.c (rs6000_gdbarch_init): Likewise.
11994         * s390-linux-tdep.c (s390_gdbarch_init): Likewise.
11995         * arch-utils.h (simple_displaced_step_free_closure): Remove.
11996         * arch-utils.c (simple_displaced_step_free_closure): Remove.
11997         * infrun.c (displaced_step_clear): Call xfree instead of
11998         gdbarch_displaced_step_free_closure.
11999
12000 2017-06-08  Sergio Durigan Junior  <sergiodj@redhat.com>
12001
12002         * common/common-utils.c (stringify_argv): Check for "arg[0] !=
12003         NULL".
12004
12005 2017-06-08 Alan Hayward  <alan.hayward@arm.com>
12006
12007         * mn10300-tdep.c (MN10300_MAX_REGISTER_SIZE): Add.
12008         (mn10300_extract_return_value): Use MN10300_MAX_REGISTER_SIZE.
12009         (mn10300_push_dummy_call): Likewise.
12010
12011 2017-06-08  Alan Hayward  <alan.hayward@arm.com>
12012
12013         * mi/mi-main.c (register_changed_p): Use value_contents_eq.
12014
12015 2017-06-08  Alan Hayward  <alan.hayward@arm.com>
12016
12017         * mi/mi-main.c (register_changed_p): Use cooked_read_value.
12018
12019 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
12020
12021         * NEWS (Changes since GDB 8.0): Announce that GDBserver is now
12022         able to start inferiors using a shell.
12023         (New remote packets): Announce new packet "QStartupWithShell".
12024         * remote.c: Add PACKET_QStartupWithShell.
12025         (extended_remote_create_inferior): Handle new
12026         PACKET_QStartupWithShell.
12027         (remote_protocol_features) <QStartupWithShell>: New entry for
12028         PACKET_QStartupWithShell.
12029         (_initialize_remote): Call "add_packet_config_cmd" for
12030         QStartupShell.
12031
12032 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
12033             Pedro Alves  <palves@redhat.com>
12034
12035         * Makefile.in (HFILES_NO_SRCDIR): Add "common/common-inferior.h"
12036         and "nat/fork-inferior.h".
12037         * common/common-inferior.h: New file, with contents from
12038         "gdb/inferior.h".
12039         * commom/common-utils.c: Include "common-utils.h".
12040         (stringify_argv): New function.
12041         * common/common-utils.h (stringify_argv): New prototype.
12042         * configure.nat: Add "fork-inferior.o" as a dependency for
12043         "*linux*", "fbsd*" and "nbsd*" hosts.
12044         * corefile.c (get_exec_file): Update comment.
12045         * darwin-nat.c (darwin_ptrace_him): Call "gdb_startup_inferior"
12046         instead of "startup_inferior".
12047         (darwin_create_inferior): Call "add_thread_silent" after
12048         "fork_inferior".
12049         * fork-child.c: Cleanup unnecessary includes.
12050         (SHELL_FILE): Move to "common/common-fork-child.c".
12051         (environ): Likewise.
12052         (exec_wrapper): Initialize.
12053         (get_exec_wrapper): New function.
12054         (breakup_args): Move to "common/common-fork-child.c"; rename to
12055         "breakup_args_for_exec".
12056         (escape_bang_in_quoted_argument): Move to
12057         "common/common-fork-child.c".
12058         (saved_ui): New variable.
12059         (prefork_hook): New function.
12060         (postfork_hook): Likewise.
12061         (postfork_child_hook): Likewise.
12062         (gdb_startup_inferior): Likewise.
12063         (fork_inferior): Move to "common/common-fork-child.c".  Update
12064         function to support gdbserver.
12065         (startup_inferior): Likewise.
12066         * gdbcore.h (get_exec_file): Remove declaration.
12067         * gnu-nat.c (gnu_create_inferior): Call "gdb_startup_inferior"
12068         instead of "startup_inferior".  Call "add_thread_silent" after
12069         "fork_inferior".
12070         * inf-ptrace.c: Include "nat/fork-inferior.h" and "utils.h".
12071         (inf_ptrace_create_inferior): Call "gdb_startup_inferior"
12072         instead of "startup_inferior".  Call "add_thread_silent" after
12073         "fork_inferior".
12074         * inferior.h: Include "common-inferior.h".
12075         (trace_start_error): Move to "common/common-utils.h".
12076         (trace_start_error_with_name): Likewise.
12077         (fork_inferior): Move prototype to "nat/fork-inferior.h".
12078         (startup_inferior): Likewise.
12079         (gdb_startup_inferior): New prototype.
12080         * nat/fork-inferior.c: New file, with contents from "fork-child.c".
12081         * nat/fork-inferior.h: New file.
12082         * procfs.c (procfs_init_inferior): Call "gdb_startup_inferior"
12083         instead of "startup_inferior".  Call "add_thread_silent" after
12084         "fork_inferior".
12085         * target.h (target_terminal_init): Move prototype to
12086         "target/target.h".
12087         (target_terminal_inferior): Likewise.
12088         (target_terminal_ours): Likewise.
12089         * target/target.h (target_terminal_init): New prototype, moved
12090         from "target.h".
12091         (target_terminal_inferior): Likewise.
12092         (target_terminal_ours): Likewise.
12093         * utils.c (gdb_flush_out_err): New function.
12094
12095 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
12096
12097         * Makefile.in (HFILES_NO_SRCDIR): Add "common/common-gdbthread.h".
12098         * common/common-gdbthread.h: New file, with parts from
12099         "gdb/gdbthread.h".
12100         * gdbthread.h: Include "common-gdbthread.h".
12101         (switch_to_thread): Moved to "common/common-gdbthread.h".
12102
12103 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
12104
12105         * Makefile.in (SFILES): Add "common/job-control.c".
12106         (HFILES_NO_SRCDIR): Add "common/job-control.h".
12107         (COMMON_OBS): Add "job-control.o".
12108         * common/job-control.c: New file, with contents from
12109         "gdb/inflow.c".
12110         * common/job-control.h: New file, with contents from "terminal.h".
12111         * fork-child.c: Include "job-control.h".
12112         * inflow.c: Include "job-control.h".
12113         (gdb_setpgid): Move to "common/common-inflow.c".
12114         (_initialize_inflow): Move setting of "job_control" to
12115         "handle_job_control".
12116         * terminal.h (job_control): Moved to "common/common-terminal.h".
12117         (gdb_setpgid): Likewise.
12118         * top.c: Include "job_control.h".
12119         * utils.c: Likewise.
12120         (job_control): Moved to "job-control.c".
12121
12122 2017-06-07  Pedro Alves  <palves@redhat.com>
12123
12124         * Makefile.in (SFILES): Add gdb_regex.c.
12125         (COMMON_OBS): Add gdb_regex.o.
12126         * ada-lang.c (ada_add_standard_exceptions)
12127         (ada_add_exceptions_from_frame, name_matches_regex)
12128         (ada_add_global_exceptions, ada_exceptions_list_1): Change regex
12129         parameter type to compiled_regex.  Adjust.
12130         (ada_exceptions_list): Use compiled_regex.
12131         * break-catch-throw.c (exception_catchpoint::pattern): Now a
12132         std::unique_ptr<compiled_regex>.
12133         (exception_catchpoint::~exception_catchpoint): Remove regfree
12134         call.
12135         (check_status_exception_catchpoint): Adjust to use compiled_regex.
12136         (handle_gnu_v3_exceptions): Adjust to use compiled_regex.
12137         * breakpoint.c (solib_catchpoint::compiled): Now a
12138         std::unique_ptr<compiled_regex>.
12139         (solib_catchpoint::~solib_catchpoint): Remove regfree call.
12140         (check_status_catch_solib): Adjust to use compiled_regex.
12141         (add_solib_catchpoint): Adjust to use compiled_regex.
12142         * cli/cli-cmds.c (apropos_command): Use compiled_regex.
12143         * cli/cli-decode.c (apropos_cmd): Change regex parameter to
12144         compiled_regex reference.  Adjust to use it.
12145         * cli/cli-decode.h: Remove struct re_pattern_buffer forward
12146         declaration.  Include "gdb_regex.h".
12147         (apropos_cmd): Change regex parameter to compiled_regex reference.
12148         * gdb_regex.c: New file.
12149         * gdb_regex.h (make_regfree_cleanup, get_regcomp_error): Delete
12150         declarations.
12151         (class compiled_regex): New.
12152         * linux-tdep.c: Include "common/gdb_optional.h".
12153         (struct mapping_regexes): New, factored out from
12154         mapping_is_anonymous_p, and adjusted to use compiled_regex.
12155         (mapping_is_anonymous_p): Use mapping_regexes wrapped in a
12156         gdb::optional and remove cleanups.  Adjust to compiled_regex.
12157         * probe.c: Include "common/gdb_optional.h".
12158         (collect_probes): Use compiled_regex and gdb::optional and remove
12159         cleanups.
12160         * skip.c: Include "common/gdb_optional.h".
12161         (skiplist_entry::compiled_function_regexp): Now a
12162         gdb::optional<compiled_regex>.
12163         (skiplist_entry::compiled_function_regexp_is_valid): Delete field.
12164         (free_skiplist_entry): Remove regfree call.
12165         (compile_skip_regexp, skip_rfunction_p): Adjust to use
12166         compiled_regex and gdb::optional.
12167         * symtab.c: Include "common/gdb_optional.h".
12168         (search_symbols): Use compiled_regex and gdb::optional.
12169         * utils.c (do_regfree_cleanup, make_regfree_cleanup)
12170         (get_regcomp_error, compile_rx_or_error): Delete.  Some bits moved
12171         to gdb_regex.c.
12172
12173 2017-06-07  Alan Hayward  <alan.hayward@arm.com>
12174
12175         * regcache.c (regcache::save): Avoid buffer use.
12176         (regcache::dump): Likewise.
12177
12178 2017-06-07  Alan Hayward  <alan.hayward@arm.com>
12179
12180         * sh-tdep.c (sh_pseudo_register_read): Remove
12181         MAX_REGISTER_SIZE.
12182         (sh_pseudo_register_write): Likewise.
12183         * sh64-tdep.c (sh64_pseudo_register_read): Likewise.
12184         (sh64_pseudo_register_write): Likewise
12185
12186 2017-06-07  Alan Hayward  <alan.hayward@arm.com>
12187
12188         * aarch64-tdep.c (aarch64_store_return_value): Use
12189         V_REGISTER_SIZE.
12190         (aarch64_pseudo_read_value): Likewise.
12191         (aarch64_pseudo_write): Likewise.
12192
12193 2017-06-06  Yao Qi  <yao.qi@linaro.org>
12194
12195         * regformats/regdef.h (set_register_cache): Remove the
12196         declaration.
12197
12198 2017-06-06 Alan Hayward  <alan.hayward@arm.com>
12199
12200         * frame.c (frame_unwind_register_signed): Use
12201         frame_unwind_register_value.
12202
12203 2017-06-06  Pedro Alves  <palves@redhat.com>
12204
12205         PR breakpoints/21553
12206         * breakpoint.c (create_breakpoints_sal_default)
12207         (init_breakpoint_sal, create_breakpoint_sal): Use
12208         gdb::unique_xmalloc_ptr for string parameters.
12209         (create_breakpoint): Constify 'extra_string' and 'cond_string'
12210         parameters.  Replace cleanups with gdb::unique_xmalloc_ptr.
12211         (base_breakpoint_create_breakpoints_sal)
12212         (bkpt_create_breakpoints_sal, tracepoint_create_breakpoints_sal)
12213         (strace_marker_create_breakpoints_sal)
12214         (create_breakpoints_sal_default): Use gdb::unique_xmalloc_ptr for
12215         string parameters.
12216         * breakpoint.h (breakpoint_ops::create_breakpoints_sal): Use
12217         gdb::unique_xmalloc_ptr for string parameters.
12218         (create_breakpoint): Constify 'extra_string' and 'cond_string'
12219         parameters.
12220
12221 2017-06-06  Alan Hayward  <alan.hayward@arm.com>
12222
12223         * alpha-tdep.c (alpha_register_to_value): Use
12224         get_frame_register_value.
12225         (alpha_value_to_register): Use ALPHA_REGISTER_SIZE.
12226
12227 2017-06-06  Alan Hayward  <alan.hayward@arm.com>
12228
12229         * ia64-tdep.c (IA64_MAX_FP_REGISTER_SIZE) Add.
12230         (ia64_register_to_value): Use IA64_MAX_FP_REGISTER_SIZE.
12231         (ia64_value_to_register): Likewise.
12232         (ia64_extract_return_value): Likewise.
12233         (ia64_store_return_value): Likewise.
12234         (ia64_push_dummy_call): Likewise.
12235
12236 2017-06-04  Joel Brobecker  <brobecker@adacore.com>
12237
12238         GDB 8.0 released.
12239
12240 2017-06-03  Simon Marchi  <simon.marchi@ericsson.com>
12241
12242         * x86-linux-nat.c (struct arch_lwp_info): Remove.
12243
12244 2017-06-03  Simon Marchi  <simon.marchi@polymtl.ca>
12245
12246         * linux-nat.c (linux_nat_post_attach_wait): Remove FIRST
12247         parameter.
12248         (linux_nat_attach): Adjust call to linux_nat_post_attach_wait.
12249
12250 2017-06-02  Simon Marchi  <simon.marchi@ericsson.com>
12251
12252         * event-loop.c (poll_timers): Unallocate timer using delete
12253         instead of xfree.
12254
12255 2017-06-02  Simon Marchi  <simon.marchi@polymtl.ca>
12256
12257         * breakpoint.h (struct breakpoint_ops) <dtor>: Remove.
12258         (struct breakpoint) <~breakpoint>: New.
12259         (struct watchpoint): Inherit from breakpoint.
12260         <~watchpoint>: New.
12261         <base>: Remove.
12262         (struct tracepoint): Inherit from breakpoint.
12263         <base>: Remove.
12264         * breakpoint.c (longjmp_breakpoint_ops): Remove.
12265         (struct longjmp_breakpoint): Inherit from breakpoint.
12266         <~longjmp_breakpoint>: New.
12267         <base>: Remove.
12268         (new_breakpoint_from_type): Remove casts.
12269         (watchpoint_in_thread_scope): Remove reference to base field.
12270         (watchpoint_del_at_next_stop): Likewise.
12271         (update_watchpoint): Likewise.
12272         (watchpoint_check): Likewise.
12273         (bpstat_check_watchpoint): Likewise.
12274         (set_longjmp_breakpoint): Likewise.
12275         (struct fork_catchpoint): Inherit from breakpoint.
12276         <base>: Remove.
12277         (struct solib_catchpoint): Inherit from breakpoint.
12278         <~solib_catchpoint>: New.
12279         <base>: Remove.
12280         (dtor_catch_solib): Change to ...
12281         (solib_catchpoint::~solib_catchpoint): ... this.
12282         (breakpoint_hit_catch_solib): Remove reference to base field.
12283         (add_solib_catchpoint): Likewise.
12284         (create_fork_vfork_event_catchpoint): Likewise.
12285         (struct exec_catchpoint): Inherit from breakpoint.
12286         <~exec_catchpoint>: New.
12287         <base>: Remove.
12288         (dtor_catch_exec): Change to ...
12289         (exec_catchpoint::~exec_catchpoint): ... this.
12290         (dtor_watchpoint): Change to ...
12291         (watchpoint::~watchpoint): ... this.
12292         (watch_command_1): Remove reference to base field.
12293         (catch_exec_command_1): Likewise.
12294         (base_breakpoint_dtor): Change to ...
12295         (breakpoint::~breakpoint): ... this.
12296         (base_breakpoint_ops): Remove dtor field value.
12297         (longjmp_bkpt_dtor): Change to ...
12298         (longjmp_breakpoint::~longjmp_breakpoint): ... this.
12299         (strace_marker_create_breakpoints_sal): Remove reference to base
12300         field.
12301         (delete_breakpoint): Don't manually call breakpoint destructor.
12302         (create_tracepoint_from_upload): Remove reference to base field.
12303         (trace_pass_set_count): Likewise.
12304         (initialize_breakpoint_ops): Don't initialize
12305         momentary_breakpoint_ops, don't set dtors.
12306         * ada-lang.c (struct ada_catchpoint): Inherit from breakpoint.
12307         <~ada_catchpoint>: New.
12308         <base>: Remove.
12309         (create_excep_cond_exprs): Remove reference to base field.
12310         (dtor_exception): Change to ...
12311         (ada_catchpoint::~ada_catchpoint): ... this.
12312         (dtor_catch_exception): Remove.
12313         (dtor_catch_exception_unhandled): Remove.
12314         (dtor_catch_assert): Remove.
12315         (create_ada_exception_catchpoint): Remove reference to base
12316         field.
12317         (initialize_ada_catchpoint_ops): Don't set dtors.
12318         * break-catch-sig.c (struct signal_catchpoint): Inherit from
12319         breakpoint.
12320         <~signal_catchpoint>: New.
12321         <base>: Remove.
12322         (signal_catchpoint_dtor): Change to ...
12323         (signal_catchpoint::~signal_catchpoint): ... this.
12324         (create_signal_catchpoint): Remove reference to base field.
12325         (initialize_signal_catchpoint_ops): Don't set dtor.
12326         * break-catch-syscall.c (struct syscall_catchpoint): Inherit
12327         from breakpoint.
12328         <~syscall_catchpoint>: New.
12329         <base>: Remove.
12330         (dtor_catch_syscall): Change to ...
12331         (syscall_catchpoint::~syscall_catchpoint): ... this.
12332         (create_syscall_event_catchpoint): Remove reference to base
12333         field.
12334         (initialize_syscall_catchpoint_ops): Don't set dtor.
12335         * break-catch-throw.c (struct exception_catchpoint): Inherit
12336         from breakpoint.
12337         <~exception_catchpoint>: New.
12338         <base>: Remove.
12339         (dtor_exception_catchpoint): Change to ...
12340         (exception_catchpoint::~exception_catchpoint): ... this.
12341         (handle_gnu_v3_exceptions): Remove reference to base field.
12342         (initialize_throw_catchpoint_ops): Don't set dtor.
12343         * ctf.c (ctf_get_traceframe_address): Remove reference to base
12344         field.
12345         * remote.c (remote_get_tracepoint_status): Likewise.
12346         * tracefile-tfile.c (tfile_get_traceframe_address): Likewise.
12347         * tracefile.c (tracefile_fetch_registers): Likewise.
12348         * tracepoint.c (actions_command): Likewise.
12349         (validate_actionline): Likewise.
12350         (tfind_1): Likewise.
12351         (get_traceframe_location): Likewise.
12352         (find_matching_tracepoint_location): Likewise.
12353         (parse_tracepoint_status): Likewise.
12354         * mi/mi-cmd-break.c (mi_cmd_break_passcount): Likewise.
12355
12356 2017-06-02  Simon Marchi  <simon.marchi@polymtl.ca>
12357
12358         * breakpoint.c (struct longjmp_breakpoint): New struct.
12359         (is_tracepoint_type): Change return type to bool.
12360         (is_longjmp_type): New function.
12361         (new_breakpoint_from_type): Handle longjmp kinds of breakpoints.
12362         (set_raw_breakpoint_without_location): Use
12363         new_breakpoint_from_type.
12364         (set_raw_breakpoint): Likewise.
12365
12366 2017-06-02  Simon Marchi  <simon.marchi@polymtl.ca>
12367
12368         * breakpoint.c (new_breakpoint_from_type): New function.
12369         (create_breakpoint_sal): Use new_breakpoint_from_type and
12370         unique_ptr.
12371         (create_breakpoint): Likewise.
12372
12373 2017-05-31  Simon Marchi  <simon.marchi@ericsson.com>
12374
12375         * memattr.c (mem_info_command): Rename to ...
12376         (info_mem_command): ... this.
12377         (mem_enable_command): Rename to ...
12378         (enable_mem_command): ... this.
12379         (mem_disable_command): Rename to ...
12380         (disable_mem_command): ... this.
12381         (mem_delete_command): Rename to ...
12382         (delete_mem_command): ... this.
12383         (_initialize_mem): Adjust function names.
12384
12385 2017-05-31  Markus Metzger  <markus.t.metzger@intel.com>
12386
12387         * btrace.c (handle_pt_insn_events): New.
12388         (ftrace_add_pt): Call handle_pt_insn_events.  Rename ERRCODE into
12389         STATUS.  Split into this and ...
12390         (handle_pt_insn_event_flags): ... this.
12391
12392 2017-05-31  Markus Metzger  <markus.t.metzger@intel.com>
12393
12394         * configure.ac: Check for pt_insn_event, struct pt_insn.enabled,
12395         and struct pt_insn.resynced.
12396         * configure: Regenerated.
12397         * config.in: Regenerated.
12398
12399 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12400
12401         * btrace.c (ftrace_find_call_by_number): New function.
12402         (ftrace_new_function): Store objects, not pointers.
12403         (ftrace_find_call_by_number, ftrace_new_return, ftrace_new_switch,
12404         ftrace_new_gap, ftrace_update_function,
12405         ftrace_compute_global_level_offset, btrace_stich_bts, btrace_clear,
12406         btrace_insn_get, btrace_insn_get_error, btrace_insn_end,
12407         btrace_insn_next, btrace_insn_prev, ptrace_find_insn_by_number,
12408         btrace_ends_with_single_insn, btrace_call_get): Account for
12409         btrace_thread_info::functions now storing objects.
12410         * btrace.h (struct btrace_thread_info): Add constructor.
12411         (struct btrace_thread_info) <functions>: Make std::vector.
12412         (struct btrace_thread_info) <prev, next, up, insn, errcode, flags):
12413         Initialize with default values.
12414         * record-btrace.c (record_btrace_frame_sniffer): Account for
12415         btrace_thread_info::functions now storing objects.
12416
12417 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12418
12419         * btrace.c: Remove typedef bfun_s.
12420         (ftrace_new_gap): Directly add gaps to the list of gaps.
12421         (btrace_bridge_gaps, btrace_compute_ftrace_bts, pt_btrace_insn_flags,
12422         ftrace_add_pt, btrace_compute_ftrace_pt, btrace_compute_ftrace_1,
12423         btrace_finalize_ftrace, btrace_compute_ftrace): Use std::vector
12424         instead of gdb VEC.
12425
12426 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12427
12428         * btrace.c (ftrace_fixup_caller, ftrace_new_return, ftrace_connect_bfun,
12429         ftrace_bridge_gap): Replace references to btrace_thread_info::segment
12430         with btrace_thread_info::next_segment and
12431         btrace_thread_info::prev_segment.
12432         * btrace.h: Remove struct btrace_func_link.
12433         (struct btrace_function): Replace pair of function segment pointers
12434         with pair of indices.
12435         * python/py-record-btrace.c (btpy_call_prev_sibling,
12436         btpy_call_next_sibling): Replace references to
12437         btrace_thread_info::segment with btrace_thread_info::next_segment and
12438         btrace_thread_info::prev_segment.
12439         * record-btrace.c (record_btrace_frame_this_id): Use
12440         btrace_find_call_by_number.
12441
12442 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12443
12444         * btrace.c (ftrace_new_function, ftrace_fixup_level,
12445         ftrace_connect_bfun, ftrace_bridge_gap, btrace_bridge_gaps,
12446         btrace_insn_next, btrace_insn_prev): Remove references to
12447         btrace_thread_info::flow.
12448         * btrace.h (struct btrace_function): Remove FLOW.
12449
12450 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12451
12452         * btrace.c (ftrace_find_call_by_number): New function.
12453         (ftrace_update_caller, ftrace_new_call, ftrace_new_tailcall,
12454         ftrace_get_caller, ftrace_find_call, ftrace_new_return,
12455         ftrace_match_backtrace, ftrace_connect_bfun, ftrace_connect_backtrace,
12456         ftrace_bridge_gap, btrace_bridge_gaps): Use btrace_function::up as an
12457         index.
12458         * btrace.h (struct btrace_function): Turn UP into an index.
12459         * python/py-record-btrace.c (btpy_call_up): Use btrace_function::up
12460         as an index.
12461         * record-btrace.c (record_btrace_frame_unwind_stop_reason,
12462         record_btrace_frame_prev_register, record_btrace_frame_sniffer,
12463         record_btrace_tailcall_frame_sniffe): Use btrace_find_call_by_number.
12464
12465 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12466
12467         * btrace.c (ftrace_new_function, ftrace_new_call, ftrace_new_tailcall,
12468         ftrace_new_return, ftrace_new_switch, ftrace_new_gap,
12469         ftrace_update_function, ftrace_compute_global_level_offset,
12470         btrace_compute_ftrace_bts, ftrace_add_pt, btrace_compute_ftrace_pt,
12471         btrace_stitch_bts, btrace_fetch, btrace_clear, btrace_insn_number,
12472         btrace_insn_end, btrace_is_empty): Remove references to
12473         btrace_thread_info::begin and btrace_thread_info::end.
12474         * btrace.h (struct btrace_thread_info): Remove BEGIN and END.
12475         (struct btrace_thread_info) <functions>: Adjust comment.
12476         * record-btrace.c (record_btrace_start_replaying): Remove reference to
12477         btrace_thread_info::begin.
12478
12479 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12480
12481         * btrace.c (ftrace_new_function, ftrace_new_call, ftrace_new_tailcall,
12482         ftrace_new_return, ftrace_new_switch, ftrace_new_gap,
12483         ftrace_update_function): Remove arguments that implicitly were always
12484         BTINFO->END.
12485         (btrace_compute_ftrace_bts, ftrace_add_pt, btrace_compute_ftrace_pt):
12486         Don't pass BTINFO->END.
12487
12488 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12489
12490         * btrace.c: (btrace_insn_get, btrace_insn_get_error, btrace_insn_number,
12491         btrace_insn_begin, btrace_insn_end, btrace_insn_next, btrace_insn_prev,
12492         btrace_find_insn_by_number): Replace function segment pointer with
12493         index.
12494         (btrace_insn_cmp): Simplify.
12495         * btrace.h: (struct btrace_insn_iterator) Rename index to
12496         insn_index.  Replace function segment pointer with index into function
12497         segment vector.
12498         * record-btrace.c (record_btrace_call_history): Replace function
12499         segment pointer use with index.
12500         (record_btrace_frame_sniffer): Retrieve function call segment through
12501         vector.
12502         (record_btrace_set_replay): Remove defunc't safety check.
12503
12504 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12505
12506         * btrace.c (btrace_ends_with_single_insn): New function.
12507         (btrace_call_get, btrace_call_number, btrace_call_begin,
12508         btrace_call_end, btrace_call_next, btrace_call_prev,
12509         btrace_find_call_by_number): Use index into call segment vector
12510         instead of pointer.
12511         (btrace_call_cmp): Simplify.
12512         * btrace.h (struct btrace_call_iterator): Replace function call segment
12513         pointer with index into vector.
12514         * record-btrace.c (record_btrace_call_history): Use index instead of
12515         pointer.
12516
12517 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12518
12519         * btrace.c (btrace_insn_begin, btrace_insn_end,
12520         btrace_find_insn_by_number): Add btinfo to iterator.
12521         * btrace.h (struct btrace_insn_iterator): Add btinfo.
12522
12523 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12524
12525         * btrace.c (ftrace_new_function): Add btrace_thread_info to arguments
12526         and save pointers directly.
12527         (ftrace_new_call, ftrace_new_tailcall, ftrace_new_return,
12528         ftrace_new_switch, ftrace_new_gap, ftrace_update_function,
12529         ftrace_add_pt): Add btrace_thread_info to arguments.  Adjust for
12530         changed signature of functions.
12531         (btrace_compute_ftrace_pt): Adjust for changed signature of functions.
12532         (btrace_fetch): Remove code that adds btrace_function pointers to
12533         vector of btrace_functions.
12534         (btrace_clear): Simplify freeing vector of btrace_functions.
12535
12536 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12537
12538         * btrace.c (btrace_fetch, btrace_clear, btrace_find_insn_by_number):
12539         Replace VEC_* with std::vector functions.
12540         * btrace.h: Add include: vector. Remove typedef for DEF_VEC_P.
12541         (struct btrace_thread_info)<functions>: Change type to std::vector.
12542
12543 2017-05-30  Simon Marchi  <simon.marchi@ericsson.com>
12544
12545         * NEWS (Changes in GDB 8.0): Remove extra empty line.  Move
12546         "Removed targets and native configurations" up.  Merge duplicate
12547         "New commands" sub-sections.  Add "New options" sub-sections.
12548
12549 2017-05-26  Alan Hayward  <alan.hayward@arm.com>
12550
12551         * defs.h (copy_integer_to_size): New declaration.
12552         * findvar.c (copy_integer_to_size): New function.
12553         (do_cint_test): New selftest function.
12554         (copy_integer_to_size_test): Likewise.
12555         (_initialize_findvar): Likewise.
12556         * mips-fbsd-tdep.c (mips_fbsd_supply_reg): Use raw_supply_integer.
12557         (mips_fbsd_collect_reg): Use raw_collect_integer.
12558         * mips-linux-tdep.c (supply_32bit_reg): Use raw_supply_integer.
12559         (mips64_fill_gregset): Use raw_collect_integer
12560         (mips64_fill_fpregset): Use raw_supply_integer.
12561         * regcache.c (regcache::raw_supply_integer): New function.
12562         (regcache::raw_collect_integer): Likewise.
12563         * regcache.h: (regcache::raw_supply_integer): New declaration.
12564         (regcache::raw_collect_integer): Likewise.
12565
12566 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12567
12568         * Makefile.in (SFILES): Add gdbarch-selftests.c.
12569         (COMMON_OBS): Add gdbarch-selftests.o.
12570         * frame.c [GDB_SELF_TESTS] (create_new_frame): New function.
12571         * frame.h [GDB_SELF_TESTS] (create_new_frame): Declare.
12572         * gdbarch-selftests.c: New file.
12573         * regcache.h (regcache) <~regcache>: Mark it virtual if
12574         GDB_SELF_TEST.
12575         <raw_write>: Likewise.
12576
12577 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12578
12579         * regcache.c (current_regcache): Change it to
12580         regcache::current_regcache.
12581         (regcache_observer_target_changed): Update.
12582         (regcache_thread_ptid_changed): Make it a regcache static
12583         method.
12584         (regcache_thread_ptid_changed): Update.
12585         (class regcache_access): New.
12586         (current_regcache_test): Update.
12587         (_initialize_regcache): Update.
12588         * regcache.h: Include forward_list.
12589         (regcache): Declare regcache_thread_ptid_changed and declare
12590         registers_changed_ptid as friend.
12591
12592 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12593
12594         * i387-tdep.c (i387_register_to_value): Use register_size
12595         instead of TYPE_LENGTH.
12596         * m68k-tdep.c (m68k_register_to_value): Likewise.
12597
12598 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12599
12600         * i387-tdep.c (i387_convert_register_p): Return false if type
12601         code isn't TYPE_CODE_FLT.
12602
12603 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12604
12605         * alpha-tdep.c (alpha_convert_register_p): Return true if type
12606         length is 4.
12607         (alpha_register_to_value): Remove type length check.
12608         (alpha_value_to_register): Likewise.
12609
12610 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12611
12612         * ia64-tdep.c (ia64_convert_register_p): Check type's code is
12613         TYPE_CODE_FLT.
12614
12615 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12616
12617         * m68k-tdep.c (m68k_convert_register_p): Check type's code is
12618         TYPE_CODE_FLT or not.
12619
12620 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12621
12622         * alpha-tdep.c (alpha_gdbarch_init): Use XCNEW instead of XNEW.
12623         * avr-tdep.c (avr_gdbarch_init): Likewise.
12624         * bfin-tdep.c (bfin_gdbarch_init): Likewise.
12625         * cris-tdep.c (cris_gdbarch_init): Likewise.
12626         * ft32-tdep.c (ft32_gdbarch_init): Likewise.
12627         * lm32-tdep.c (lm32_gdbarch_init): Likewise.
12628         * m32r-tdep.c (m32r_gdbarch_init): Likewise.
12629         * m68hc11-tdep.c (m68hc11_gdbarch_init): Likewise.
12630         * mep-tdep.c (mep_gdbarch_init): Likewise.
12631         * microblaze-tdep.c (microblaze_gdbarch_init): Likewise.
12632         * mips-tdep.c (mips_gdbarch_init): Likewise.
12633         * mn10300-tdep.c (mn10300_gdbarch_init): Likewise.
12634         * moxie-tdep.c (moxie_gdbarch_init): Likewise.
12635         * msp430-tdep.c (msp430_gdbarch_init): Likewise.
12636         * sh64-tdep.c (sh64_gdbarch_init): Likewise.
12637         * v850-tdep.c (v850_gdbarch_init): Likewise.
12638
12639 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12640
12641         * selftest-arch.c (tests_with_arch): Call registers_changed
12642         and reinit_frame_cache.
12643         * selftest.c (run_self_tests): Likewise.
12644
12645 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12646
12647         * rs6000-tdep.c (gdb_print_insn_powerpc): Remove.
12648         (rs6000_gdbarch_init): Don't call set_gdbarch_print_insn.
12649
12650 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12651
12652         * rl78-tdep.c (rl78_gdbarch_init): Don't call
12653         set_gdbarch_print_insn.
12654
12655 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12656
12657         * h8300-tdep.c (h8300_gdbarch_init): Don't call
12658         set_gdbarch_print_insn.
12659
12660 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12661
12662         * alpha-tdep.c (alpha_gdbarch_init): Don't call
12663         set_gdbarch_print_insn.
12664         * arc-tdep.c (arc_gdbarch_init): Likewise.
12665         * arch-utils.c: include dis-asm.h.
12666         (default_print_insn): New function.
12667         * arch-utils.h (default_print_insn): Declare.
12668         * avr-tdep.c (avr_gdbarch_init): Don't call set_gdbarch_print_insn.
12669         * bfin-tdep.c (bfin_gdbarch_init): Likewise.
12670         * cris-tdep.c (cris_delayed_get_disassembler): Remove.
12671         (cris_gdbarch_init): Don't call set_gdbarch_print_insn.
12672         * frv-tdep.c (frv_gdbarch_init): Likewise.
12673         * ft32-tdep.c (ft32_gdbarch_init): Likewise.
12674         * gdbarch.sh (print_insn): Use default_print_insn.
12675         * gdbarch.c: Regenerated.
12676         * hppa-tdep.c (hppa_gdbarch_init): Likewise.
12677         * iq2000-tdep.c (iq2000_gdbarch_init): Likewise.
12678         * lm32-tdep.c (lm32_gdbarch_init): Likewise.
12679         * m32c-tdep.c (m32c_gdbarch_init): Likewise.
12680         * m32r-tdep.c (m32r_gdbarch_init): Likewise.
12681         * m68hc11-tdep.c (gdb_print_insn_m68hc11): Remove.
12682         (m68hc11_gdbarch_init): Don't call set_gdbarch_print_insn.
12683         * m68k-tdep.c (m68k_gdbarch_init): Likewise.
12684         * m88k-tdep.c (m88k_gdbarch_init): Likewise.
12685         * microblaze-tdep.c (microblaze_gdbarch_init): Likewise.
12686         * mn10300-tdep.c (mn10300_gdbarch_init): Likewise.
12687         * moxie-tdep.c (moxie_gdbarch_init): Likewise.
12688         * msp430-tdep.c (msp430_gdbarch_init): Likewise.
12689         * mt-tdep.c (mt_gdbarch_init): Likewise.
12690         * nds32-tdep.c (nds32_gdbarch_init): Likewise.
12691         * nios2-tdep.c (nios2_print_insn): Remove.
12692         (nios2_gdbarch_init): Don't call set_gdbarch_print_insn.
12693         * rx-tdep.c (rx_gdbarch_init): Likewise.
12694         * s390-linux-tdep.c (s390_gdbarch_init): Likewise.
12695         * score-tdep.c (score_print_insn): Remove.
12696         (score_gdbarch_init): Don't call set_gdbarch_print_insn.
12697         * sh-tdep.c (sh_gdbarch_init): Likewise.
12698         * sh64-tdep.c (sh64_gdbarch_init): Likewise.
12699         * sparc-tdep.c (sparc32_gdbarch_init): Likewise.
12700         * tic6x-tdep.c (tic6x_print_insn): Remove.
12701         (tic6x_gdbarch_init): Don't call set_gdbarch_print_insn.
12702         * tilegx-tdep.c (tilegx_gdbarch_init): Likewise.
12703         * v850-tdep.c (v850_gdbarch_init): Likewise.
12704         * vax-tdep.c (vax_gdbarch_init): Likewise.
12705         * xstormy16-tdep.c (xstormy16_gdbarch_init): Likewise.
12706         * xtensa-tdep.c (xtensa_gdbarch_init): Likewise.
12707
12708 2017-05-23  John Baldwin  <jhb@FreeBSD.org>
12709
12710         * mips-fbsd-tdep.c (MIPS_PC_REGNUM): Remove.
12711         (MIPS_FP0_REGNUM): Remove.
12712         (MIPS_FSR_REGNUM): Remove.
12713         (mips_fbsd_supply_fpregs): Use mips_regnum.
12714         (mips_fbsd_supply_gregs): Likewise.
12715         (mips_fbsd_collect_fpregs): Likewise.
12716         (mips_fbsd_collect_gregs): Likewise.
12717
12718 2017-05-23  John Baldwin  <jhb@FreeBSD.org>
12719
12720         * mips-fbsd-nat.c (getregs_supplies): Fix upper bound comparison.
12721         (getpfpregs_supplies): New function.
12722         (mips_fbsd_fetch_inferior_registers): Remove early exit and use
12723         getfpregs_supplies.
12724         (mips_fbsd_store_inferior_registers): Likewise.
12725
12726 2017-05-22  Pedro Alves <palves@redhat.com>
12727
12728         * MAINTAINERS (Host/Native): Add John Baldwin as FreeBSD
12729         maintainer.
12730
12731 2017-05-22  Alan Hayward  <alan.hayward@arm.com>
12732
12733         * ppc-linux-nat.c (fetch_register): Use PPC_MAX_REGISTER_SIZE.
12734         (store_register): Likewise.
12735         * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Likewise.
12736         (get_decimal_float_return_value): Likewise.
12737         (do_ppc_sysv_return_value): Likewise.
12738         (ppc64_sysv_abi_push_integer): Likewise.
12739         (ppc64_sysv_abi_push_freg): Likewise.
12740         (ppc64_sysv_abi_return_value_base): Likewise.
12741         (ppc64_sysv_abi_return_value): Likewise.
12742         * rs6000-aix-tdep.c (rs6000_push_dummy_call): Likewise.
12743         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Likewise.
12744         * rs6000-nat.c: Likewise.
12745         * rs6000-tdep.c (rs6000_register_to_value): Likewise.
12746         (rs6000_value_to_register): Likewise.
12747         * ppc-tdep.h (PPC_MAX_REGISTER_SIZE): Add.
12748
12749 2017-05-21  Tom Tromey  <tom@tromey.com>
12750
12751         PR rust/21466:
12752         * rust-lang.c (rust_print_type) <TYPE_CODE_ARRAY>: Print unsized
12753         arrays as "[T]", not "[T; ]".
12754
12755 2017-05-19  Tom Tromey  <tom@tromey.com>
12756
12757         PR rust/21484:
12758         * rust-lang.c (exp_descriptor_rust): New function.
12759         (rust_language_defn): Use it.
12760         * p-lang.c (pascal_language_defn): Update.
12761         * opencl-lang.c (opencl_language_defn): Update.
12762         * objc-lang.c (objc_language_defn): Update.
12763         * m2-lang.c (m2_language_defn): Update.
12764         * language.h (struct language_defn)
12765         <la_watch_location_expression>: New member.
12766         * language.c (unknown_language_defn, auto_language_defn)
12767         (local_language_defn): Update.
12768         * go-lang.c (go_language_defn): Update.
12769         * f-lang.c (f_language_defn): Update.
12770         * d-lang.c (d_language_defn): Update.
12771         * c-lang.h (c_watch_location_expression): Declare.
12772         * c-lang.c (c_watch_location_expression): New function.
12773         (c_language_defn, cplus_language_defn, asm_language_defn)
12774         (minimal_language_defn): Use it.
12775         * breakpoint.c (watch_command_1): Call
12776         la_watch_location_expression.
12777         * ada-lang.c (ada_language_defn): Update.
12778
12779 2017-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12780
12781         PR tui/21482
12782         * gdb_curses.h (NOMACROS): Define.
12783         (NCURSES_NOMACROS): Define.
12784
12785 2017-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12786
12787         PR tui/21482
12788         * tui/tui-windata.c (tui_erase_data_content): Cast last mvwaddstr
12789         arg to char *.
12790         * tui/tui-wingeneral.c (box_win): Likewise.
12791         * tui/tui-winsource.c (tui_erase_source_content): Likewise.
12792         (tui_show_source_line): Likewise.
12793         (tui_show_exec_info_content): Likewise.
12794
12795 2017-05-19  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>
12796
12797         * sparc-tdep.c (sparc_structure_return_p)
12798         (sparc_arg_on_registers_p): New functions.
12799         (sparc32_store_arguments): Use them.
12800         * sparc64-tdep.c (sparc64_16_byte_align_p)
12801         (sparc64_store_floating_fields, sparc64_extract_floating_fields):
12802         Handle TYPE_CODE_ARRAY.
12803
12804 2017-05-17  Yao Qi  <yao.qi@linaro.org>
12805
12806         * cli/cli-decode.c (add_alias_cmd): New function.
12807         * command.h (add_alias_cmd): Declare.
12808         * infcmd.c (_initialize_infcmd): Don't call add_com_alias,
12809         instead call add_alias_cmd.
12810
12811 2017-05-17  Pedro Alves  <palves@redhat.com>
12812
12813         * Makefile.in (nat_extra_makefile_frag): Rename to ...
12814         (nat_makefile_frag): ... this.  All references updated.
12815         * configure.ac: Likewise.
12816         * configure.nat: Likewise.  Enhance comments.
12817         * configure: Regenerate.
12818
12819 2017-05-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12820
12821         * procfs.c (procfs_create_inferior): Change prototype to match
12822         definition.
12823
12824 2017-05-13  Eli Zaretskii  <eliz@gnu.org>
12825
12826         * tui/tui.c (tui_enable): Cast "unknown" to 'char *' to avoid a
12827         C++ compiler warning.
12828
12829 2017-05-12  Tom Tromey  <tom@tromey.com>
12830
12831         PR rust/21483:
12832         * rust-lang.c (rust_evaluate_subexp) <STRUCTOP_STRUCT>: Don't
12833         recurse, just call value_struct_elt directly.
12834
12835 2017-05-12  Tom Tromey  <tom@tromey.com>
12836
12837         * rust-lang.c (rust_dump_subexp_body) <STRUCTOP_ANONYMOUS,
12838         OP_RUST_ARRAY>: Fix.
12839
12840 2017-05-12  Tom Tromey  <tom@tromey.com>
12841
12842         * rust-lang.c (rust_print_subexp): Replace "return" with "break".
12843
12844 2017-05-09  Yao Qi  <yao.qi@linaro.org>
12845
12846         * regcache.c: Include <forward_list>.
12847         (struct regcache_list): Remove.
12848         (current_regcache): Update.
12849         (get_thread_arch_aspace_regcache): Update for std::forward_list.
12850         (regcache_thread_ptid_changed): Likewise.
12851         (registers_changed_ptid): Likewise.
12852         (current_regcache_size): Likewise.
12853
12854 2017-05-09  Yao Qi  <yao.qi@linaro.org>
12855
12856         * regcache.c [GDB_SELF_TEST]: Include selftest.h.
12857         (current_regcache_size): New function.
12858         (current_regcache_test): New function.
12859         (_initialize_regcache) [GDB_SELF_TEST]: Register the unit test.
12860
12861 2017-05-08  Alan Hayward  <alan.hayward@arm.com>
12862
12863         * mips-tdep.c (mips_o32_return_value): Remove unused buffer.
12864         (print_gp_register_row): Use get_frame_register_value.
12865
12866 2017-05-08  Alan Hayward  <alan.hayward@arm.com>
12867
12868         * mips-linux-tdep.c (mips_supply_gregset): Use raw_supply_zeroed.
12869         (mips_supply_fpregset): Likewise.
12870         (mips64_supply_gregset): Likewise.
12871
12872 2017-05-08  Alan Hayward  <alan.hayward@arm.com>
12873
12874         * mn10300-linux-tdep.c (am33_supply_gregset_method): Use 
12875         regcache->raw_supply_zeroed.
12876
12877 2017-05-06  Sergio Durigan Junior  <sergiodj@redhat.com>
12878
12879         * configure.nat: Rearrange 'case' statements to match
12880         host before cpu.
12881
12882 2017-05-06  Sergio Durigan Junior  <sergiodj@redhat.com>
12883
12884         * Makefile.in: Remove "@host_makefile_frag@".  Add variables
12885         NAT_FILE, NATDEPFILES, NAT_CDEPS, LOADLIBES, MH_CFLAGS, XM_CLIBS,
12886         NAT_GENERATED_FILES, HAVE_NATIVE_GCORE_HOST.  Add
12887         "@nat_extra_makefile_frag@".
12888         (Makefile): Remove dependency on "@frags@".
12889         ($(GNULIB_BUILDDIR)/Makefile): Likewise.
12890         (data-directory/Makefile): Likewise.
12891         * config/aarch64/linux.mh: Deleted; moved contents to
12892         "gdb/configure.nat".
12893         * config/alpha/alpha-linux.mh: Likewise.
12894         * config/alpha/nbsd.mh: Likewise.
12895         * config/arm/linux.mh: Likewise.
12896         * config/arm/nbsdelf.mh: Likewise.
12897         * config/i386/cygwin.mh: Likewise.
12898         * config/i386/cygwin64.mh: Likewise.
12899         * config/i386/darwin.mh: Likewise.
12900         * config/i386/fbsd.mh: Likewise.
12901         * config/i386/fbsd64.mh: Likewise.
12902         * config/i386/go32.mh: Likewise.
12903         * config/i386/i386gnu.mh: Likewise.
12904         * config/i386/i386sol2.mh: Likewise.
12905         * config/i386/linux.mh: Likewise.
12906         * config/i386/linux64.mh: Likewise.
12907         * config/i386/mingw.mh: Likewise.
12908         * config/i386/mingw64.mh: Likewise.
12909         * config/i386/nbsd64.mh: Likewise.
12910         * config/i386/nbsdelf.mh: Likewise.
12911         * config/i386/nto.mh: Likewise.
12912         * config/i386/obsd.mh: Likewise.
12913         * config/i386/obsd64.mh: Likewise.
12914         * config/i386/sol2-64.mh: Likewise.
12915         * config/ia64/linux.mh: Likewise.
12916         * config/m32r/linux.mh: Likewise.
12917         * config/m68k/linux.mh: Likewise.
12918         * config/m68k/nbsdelf.mh: Likewise.
12919         * config/m68k/obsd.mh: Likewise.
12920         * config/m88k/obsd.mh: Likewise.
12921         * config/mips/fbsd.mh: Likewise.
12922         * config/mips/linux.mh: Likewise.
12923         * config/mips/nbsd.mh: Likewise.
12924         * config/mips/obsd64.mh: Likewise.
12925         * config/pa/linux.mh: Likewise.
12926         * config/pa/nbsd.mh: Likewise.
12927         * config/pa/obsd.mh: Likewise.
12928         * config/powerpc/aix.mh: Likewise.
12929         * config/powerpc/fbsd.mh: Likewise.
12930         * config/powerpc/linux.mh: Likewise.
12931         * config/powerpc/nbsd.mh: Likewise.
12932         * config/powerpc/obsd.mh: Likewise.
12933         * config/powerpc/ppc64-linux.mh: Likewise.
12934         * config/powerpc/spu-linux.mh: Likewise.
12935         * config/s390/linux.mh: Likewise.
12936         * config/sh/nbsd.mh: Likewise.
12937         * config/sparc/fbsd.mh: Likewise.
12938         * config/sparc/linux.mh: Likewise.
12939         * config/sparc/linux64.mh: Likewise.
12940         * config/sparc/nbsd64.mh: Likewise.
12941         * config/sparc/nbsdelf.mh: Likewise.
12942         * config/sparc/obsd64.mh: Likewise.
12943         * config/sparc/sol2.mh: Likewise.
12944         * config/tilegx/linux.mh: Likewise.
12945         * config/vax/nbsdelf.mh: Likewise.
12946         * config/vax/obsd.mh: Likewise.
12947         * config/xtensa/linux.mh: Likewise.
12948         * config/i386/i386gnu.mn: New file, with excerpts from
12949         "config/i386/i386gnu.mh".
12950         * configure: Regenerate.
12951         * configure.ac: Rewrite code to use "gdb/configure.nat" instead of
12952         *.mh files under "gdb/config".
12953         * configure.nat: New file, with contents from the
12954         "gdb/config/*/*.mh" files.
12955
12956 2017-05-05  Tim Wiederhake  <tim.wiederhake@intel.com>
12957
12958         * btrace.c (btrace_clear): Free insn vector.
12959
12960 2017-05-05  Pedro Alves  <palves@redhat.com>
12961
12962         * warning.m4 (build_warnings): Add -Wno-error=maybe-uninitialized.
12963         * configure: Regenerate.
12964
12965 2017-05-04  Pedro Alves  <palves@redhat.com>
12966
12967         * Makefile.in (SFILES): Add progspace-and-thread.c.
12968         (HFILES_NO_SRCDIR): Add progspace-and-thread.h.
12969         (COMMON_OBS): Add progspace-and-thread.o.
12970         * breakpoint.c: Include "progspace-and-thread.h".
12971         (update_inserted_breakpoint_locations)
12972         (insert_breakpoint_locations, create_longjmp_master_breakpoint):
12973         Use scoped_restore_current_pspace_and_thread.
12974         (create_std_terminate_master_breakpoint): Use
12975         scoped_restore_current_program_space.
12976         (remove_breakpoint): Use scoped_restore_current_pspace_and_thread.
12977         (print_breakpoint_location): Use
12978         scoped_restore_current_program_space.
12979         (bp_loc_is_permanent): Use
12980         scoped_restore_current_pspace_and_thread.
12981         (resolve_sal_pc): Use scoped_restore_current_pspace_and_thread.
12982         (download_tracepoint_locations): Use
12983         scoped_restore_current_pspace_and_thread.
12984         (breakpoint_re_set): Use scoped_restore_current_pspace_and_thread.
12985         * exec.c (exec_close_1): Use scoped_restore_current_program_space.
12986         (enum step_over_calls_kind): Moved from inferior.h.
12987         (class scoped_restore_current_thread): New class.
12988         * gdbthread.h (make_cleanup_restore_current_thread): Delete
12989         declaration.
12990         (scoped_restore_current_thread): New class.
12991         * infcmd.c: Include "common/gdb_optional.h".
12992         (continue_1, proceed_after_attach): Use
12993         scoped_restore_current_thread.
12994         (notice_new_inferior): Use scoped_restore_current_thread.
12995         * inferior.c: Include "progspace-and-thread.h".
12996         (restore_inferior, save_current_inferior): Delete.
12997         (add_inferior_command, clone_inferior_command): Use
12998         scoped_restore_current_pspace_and_thread.
12999         * inferior.h (scoped_restore_current_inferior): New class.
13000         * infrun.c: Include "progspace-and-thread.h" and
13001         "common/gdb_optional.h".
13002         (follow_fork_inferior): Use
13003         scoped_restore_current_pspace_and_thread.
13004         (scoped_restore_exited_inferior): New class.
13005         (handle_vfork_child_exec_or_exit): Use
13006         scoped_restore_exited_inferior,
13007         scoped_restore_current_pspace_and_thread,
13008         scoped_restore_current_thread and scoped_restore.
13009         (fetch_inferior_event): Use scoped_restore_current_thread.
13010         * linespec.c (decode_line_full, decode_line_1): Use
13011         scoped_restore_current_program_space.
13012         * mi/mi-main.c: Include "progspace-and-thread.h".
13013         (exec_continue): Use scoped_restore_current_thread.
13014         (mi_cmd_exec_run): Use scoped_restore_current_pspace_and_thread.
13015         (mi_cmd_trace_frame_collected): Use scoped_restore_current_thread.
13016         * proc-service.c (ps_pglobal_lookup): Use
13017         scoped_restore_current_program_space.
13018         * progspace-and-thread.c: New file.
13019         * progspace-and-thread.h: New file.
13020         * progspace.c (release_program_space, clone_program_space): Use
13021         scoped_restore_current_program_space.
13022         (restore_program_space, save_current_program_space)
13023         (save_current_space_and_thread): Delete.
13024         (switch_to_program_space_and_thread): Moved to
13025         progspace-and-thread.c.
13026         * progspace.h (save_current_program_space)
13027         (save_current_space_and_thread): Delete declarations.
13028         (scoped_restore_current_program_space): New class.
13029         * remote.c (remote_btrace_maybe_reopen): Use
13030         scoped_restore_current_thread.
13031         * symtab.c: Include "progspace-and-thread.h".
13032         (skip_prologue_sal): Use scoped_restore_current_pspace_and_thread.
13033         * thread.c (print_thread_info_1): Use
13034         scoped_restore_current_thread.
13035         (struct current_thread_cleanup): Delete.
13036         (do_restore_current_thread_cleanup)
13037         (restore_current_thread_cleanup_dtor): Rename/convert both to ...
13038         (scoped_restore_current_thread::~scoped_restore_current_thread):
13039         ... this new dtor.
13040         (make_cleanup_restore_current_thread): Rename/convert to ...
13041         (scoped_restore_current_thread::scoped_restore_current_thread):
13042         ... this new ctor.
13043         (thread_apply_all_command): Use scoped_restore_current_thread.
13044         (thread_apply_command): Use scoped_restore_current_thread.
13045         * tracepoint.c (tdump_command): Use scoped_restore_current_thread.
13046         * varobj.c (value_of_root_1): Use scoped_restore_current_thread.
13047
13048 2017-05-04  Pedro Alves  <palves@redhat.com>
13049
13050         * thread.c (make_cleanup_restore_current_thread): Move
13051         find_thread_ptid call before the is_stopped call.  Assert that the
13052         thread is found.  Replace is_stopped call by checking the thread's
13053         state directly.  Remove unnecessary NULL-thread check.
13054
13055 2017-05-04  Pedro Alves  <palves@redhat.com>
13056
13057         * corelow.c (thread_section_name): New class.
13058         (get_core_register_section, get_core_siginfo): Use it.
13059
13060 2017-05-04  Andreas Arnez  <arnez@linux.vnet.ibm.com>
13061
13062         * corelow.c (sniff_core_bfd): Remove extra semicolon.
13063         (get_core_register_section): Remove xfree of NULL pointer.
13064
13065 2017-05-03  Alan Hayward  <alan.hayward@arm.com>
13066
13067         * frv-linux-tdep.c (frv_linux_supply_gregset): Use raw_supply_zeroed.
13068         * regcache.c (regcache::raw_supply_zeroed): New function.
13069         * regcache.h (regcache::raw_supply_zeroed): New declaration.
13070
13071 2017-05-03  Simon Marchi  <simon.marchi@ericsson.com>
13072
13073         * gdbarch.sh: Remove commented out definition of
13074         TARGET_CHAR_BIT.
13075         * gdbarch.h: Re-generate.
13076
13077 2017-05-03  Sergio Durigan Junior  <sergiodj@redhat.com>
13078
13079         * configure: Regenerate.
13080
13081 2017-05-02  Simon Marchi  <simon.marchi@ericsson.com>
13082
13083         * solib-target.c (solib_target_relocate_section_addresses):
13084         Remove num_section_bases, num_bases, segment_bases variables.
13085
13086 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
13087
13088         * common/gdb_vecs.h (DEF_VEC_I (CORE_ADDR)): Remove.
13089
13090 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
13091
13092         * solib-target.c: Include <vector>
13093         (struct lm_info_target) <~lm_info_target>: Remove.
13094         <segment_bases, section_bases>: Change type to
13095         std::vector<CORE_ADDR>.
13096         (library_list_start_segment, library_list_start_section,
13097         library_list_end_library,
13098         solib_target_relocate_section_addresses): Adjust.
13099
13100 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
13101
13102         * gdbarch.sh (software_single_step): Change return type to
13103         std::vector<CORE_ADDR>.
13104         * gdbarch.c, gdbarch.h: Re-generate.
13105         * arch/arm-get-next-pcs.c (thumb_deal_with_atomic_sequence_raw):
13106         Adjust.
13107         (arm_deal_with_atomic_sequence_raw): Adjust.
13108         (thumb_get_next_pcs_raw): Adjust.
13109         (arm_get_next_pcs_raw): Adjust.
13110         (arm_get_next_pcs): Adjust.
13111         * arch/arm-get-next-pcs.h (arm_get_next_pcs): Adjust.
13112         * aarch64-tdep.c (aarch64_software_single_step): Adjust.
13113         * alpha-tdep.c (alpha_deal_with_atomic_sequence): Adjust.
13114         (alpha_software_single_step): Adjust.
13115         * alpha-tdep.h (alpha_software_single_step): Adjust.
13116         * arm-linux-tdep.c (arm_linux_software_single_step): Adjust.
13117         * arm-tdep.c (arm_software_single_step): Adjust.
13118         (arm_breakpoint_kind_from_current_state): Adjust.
13119         * arm-tdep.h (arm_software_single_step): Adjust.
13120         * breakpoint.c (insert_single_step_breakpoint): Adjust.
13121         * cris-tdep.c (cris_software_single_step): Adjust.
13122         * mips-tdep.c (mips_deal_with_atomic_sequence): Adjust.
13123         (micromips_deal_with_atomic_sequence): Adjust.
13124         (deal_with_atomic_sequence): Adjust.
13125         (mips_software_single_step): Adjust.
13126         * mips-tdep.h (mips_software_single_step): Adjust.
13127         * moxie-tdep.c (moxie_software_single_step): Adjust.
13128         * nios2-tdep.c (nios2_software_single_step): Adjust.
13129         * ppc-tdep.h (ppc_deal_with_atomic_sequence): Adjust.
13130         * rs6000-aix-tdep.c (rs6000_software_single_step): Adjust.
13131         * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Adjust.
13132         * s390-linux-tdep.c (s390_software_single_step): Adjust.
13133         * sparc-tdep.c (sparc_software_single_step): Adjust.
13134         * spu-tdep.c (spu_software_single_step): Adjust.
13135         * tic6x-tdep.c (tic6x_software_single_step): Adjust.
13136
13137 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
13138
13139         * gdbarch.sh: Use semi-colon as field separator instead of colon.
13140         * gdbarch.h: Re-generate.
13141
13142 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13143
13144         * Makefile.in (SUBDIR_PYTHON_OBS): Add py-instruction.o.
13145         (SUBDIR_PYTHON_SRCS): Add py-instruction.c.
13146         * python/py-instruction.c, python/py-instruction.h: New file.
13147         * python/py-record.c: Add py-instruction.h include.
13148         (gdbpy_initialize_record): Make gdb.Instruction a super class of
13149         gdb.RecordInstruction.
13150         * python/python-internal.h: Add gdbpy_initialize_instruction
13151         declaration.
13152         * python/python.c (do_start_initialization): Add
13153         gdbpy_initialize_instruction.
13154
13155 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13156
13157         * python/py-record-btrace.c (BTPY_REQUIRE_VALID_CALL, btpy_call_type):
13158         Remove.
13159         (btrace_func_from_recpy_func): New function.
13160         (btpy_call_new, btpy_number, btpy_hash, btpy_richcompare): Remove.
13161         (btpy_call_level, btpy_call_symbol, btpy_call_instructions,
13162         btpy_call_up, btpy_call_prev_sibling, btpy_call_next_sibling): Rename to ...
13163         (recpy_bt_func_level, recpy_bt_func_symbol, recpy_bt_func_instructions,
13164         recpy_bt_func_up, recpy_bt_func_prev, recpy_bt_func_next): This.
13165         Also, use new helper functions.
13166         (btpy_list_item): Use new helper functions.
13167         (recpy_bt_function_call_history): Use new type name.
13168         (btpy_call_getset): Remove.
13169         (gdbpy_initialize_btrace): Remove code to initialize
13170         gdb.BtraceFunctionCall.
13171         * python/py-record-btrace.h (recpy_bt_func_number, recpy_btb_func_level,
13172         recpy_btb_func_symbol, recpy_bt_func_instructions, recpy_bt_func_up,
13173         recpy_bt_func_prev, recpy_bt_func_next): New export.
13174         * python/py-record.c (recpy_func_type): New static object.
13175         (recpy_func_new, recpy_func_level, recpy_func_symbol,
13176         recpy_func_instructions, recpy_func_up, recpy_func_prev,
13177         recpy_func_next): New function.
13178         (recpy_element_hash, recpy_element_richcompare): Updated comment.
13179         (recpy_func_getset): New static object.
13180         (gdbpy_initialize_record): Add code to initialize gdb.RecordInstruction.
13181         * python/py-record.h (recpy_func_type, recpy_func_new): New export.
13182
13183 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13184
13185         * python/py-record-btrace.c (BTPY_REQUIRE_VALID_INSN): Remove.
13186         (btpy_object, btpy_insn_type, btpy_new): Remove.
13187         (btpy_list_object): Use gdb.RecordInstruction type instead of
13188         gdb.BtraceInstruction type.
13189         (btrace_insn_from_recpy_insn): New function.
13190         (btpy_insn_or_gap_new): Adjust comment. Use recpy_insn_new instead of
13191         btpy_new.
13192         (btpy_call_new, btpy_list_item): Do not use btpy_new anymore.
13193         (btpy_number, btpy_hash, btpy_call_level, btpy_call_symbol,
13194         btpy_call_instructions, btpy_call_up, btpy_call_prev_sibling,
13195         btpy_call_next_sibling, btpy_richcompare): Use recpy_element_object
13196         instead of btpy_object.
13197         (btpy_insn_sal, btpy_insn_pc, btpy_insn_size, btpy_insn_is_speculative,
13198         btpy_insn_data, btpy_insn_decode): Rename to ...
13199         (recpy_bt_insn_sal, recpy_bt_insn_pc, recpy_bt_insn_size,
13200         recpy_bt_insn_is_speculative, recpy_bt_insn_data,
13201         recpy_bt_insn_decode): This.  Also, use new helper functions.
13202         (btpy_list_position, recpy_bt_goto): Use recpy_element_object and
13203         recpy_insn_type.
13204         (btpy_insn_getset): Remove.
13205         (gdbpy_initialize_btrace): Remove code to initialize
13206         gdb.BtraceInstruction.  Use recpy_element_object.
13207         * python/py-record-btrace.h (recpy_bt_insn_number, recpy_bt_insn_sal,
13208         recpy_bt_insn_pc, recpy_bt_insn_data, recpy_bt_insn_decoded,
13209         recpy_bt_insn_size, recpy_bt_insn_is_speculative): New export.
13210         * python/py-record.c (recpy_insn_type): New static object.
13211         (recpy_insn_new, recpy_insn_sal, recpy_insn_pc, recpy_insn_data,
13212         recpy_insn_decoded, recpy_insn_size, recpy_insn_is_speculative,
13213         recpy_element_number, recpy_element_hash, recpy_element_richcompare):
13214         New function.
13215         (recpy_insn_getset): New static object.
13216         (gdbpy_initialize_record): Initialize gdb.RecordInstruction.
13217         * python/py-record.h (recpy_element_object): New typedef.
13218         (recpy_insn_type, recpy_insn_new): New export.
13219
13220 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13221
13222         * py-record-btrace.c (btpy_insn_new): Removed.
13223         (btpy_insn_or_gap_new): New function.
13224         (btpy_insn_error): Removed.
13225         (btpy_insn_sal, btpy_insn_pc, btpy_insn_size, btpy_insn_is_speculative,
13226         btpy_insn_data, btpy_insn_decode): Remove code path for gaps.
13227         (recpy_bt_replay_position, recpy_bt_begin, recpy_bt_end): Call
13228         btpy_insn_or_gap_new instead of btpy_insn_new.
13229         (btpy_insn_getset): Remove btpy_insn_error.
13230         * py-record.c (recpy_gap_type): New static object.
13231         (recpy_gap_object): New typedef.
13232         (recpy_gap_new, recpy_gap_number, recpy_gap_reason_code,
13233         recpy_gap_reason_string): New function.
13234         (recpy_gap_getset): New static object.
13235         (gdbpy_initialize_record): Initialize gdb.RecordGap type.
13236         * py-record.h (recpy_gap_new): New export.
13237
13238 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13239
13240         * python/py-record.c (recpy_ptid): Remove.
13241         (recpy_record_getset): Remove recpy_ptid.
13242
13243 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13244
13245         * btrace.c (btrace_fetch): Set inferior_ptid.
13246         * python/py-record-btrace.c: Add "py-record.h" include.
13247         (recpy_bt_format, recpy_bt_replay_position, recpy_bt_begin,
13248         recpy_bt_end, recpy_bt_instruction_history,
13249         recpy_bt_function_call_history, recpy_bt_goto): Use ptid stored
13250         in gdb.Record object instead of current ptid.
13251         * python/py-record.c: Include new "py-record.h" file.
13252         (recpy_record_object): Moved to py-record.h.
13253         * python/py-record.h: New file.
13254
13255 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13256
13257         * python/py-record-btrace.c (BTPY_REQUIRE_VALID_INSN,
13258         BTPY_REQUIRE_VALID_CALL, recpy_bt_function_call_history): Fix
13259         indentation.
13260
13261 2017-05-01  Joel Brobecker  <brobecker@adacore.com>
13262
13263         * MAINTAINERS: Move Daniel Jacobowitz and Mark Kettenis to
13264         the past maintainers section.
13265
13266 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13267
13268         * infcmd.c (get_return_value): Use regcache ctor, and remove
13269         cleanup.
13270
13271 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13272             Pedro Alves  <palves@redhat.com>
13273
13274         * regcache.c (regcache::regcache): New tag dispatch ctor.
13275         (do_cooked_read): Moved above.
13276         (regcache_dup): Use the tag dispatch ctor..
13277         * regcache.h (regcache): Declare ctor, delete copy ctor and
13278         assignment operator, remove friend regcache_dup.
13279
13280 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13281
13282         * regcache.c (regcache_dup): Assert !src->m_readonly_p and
13283         call method save instead of regcache_cpy.
13284         * regcache.h (struct regcache): Make regcache_dup a friend.
13285
13286 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13287
13288         * regcache.c (struct regcache): Move to regcache.h
13289         (regcache::arch): New method.
13290         (regcache_get_ptid): Update.
13291         (get_regcache_arch): Call arch method.
13292         (get_regcache_aspace): Call method aspace.
13293         (register_buffer): Change it to method.
13294         (regcache_save): Change it to regcache::save.
13295         (regcache_restore): Likewise.
13296         (regcache_cpy_no_passthrough): Remove the declaration.
13297         (regcache_cpy): Call methods restore and cpy_no_passthrough.
13298         (regcache_cpy_no_passthrough): Change it to method
13299         cpy_no_passthrough.
13300         (regcache_register_status): Change it to method
13301         get_register_status.
13302         (regcache_invalidate): Change it to method invalidate.
13303         (regcache_thread_ptid_changed): Use methods ptid and set_ptid.
13304         (regcache_raw_update): Change it to method raw_update.
13305         (regcache_raw_read): Likewise.
13306         (regcache_raw_read_signed): Likewise.
13307         (regcache_raw_read_unsigned): Likewise.
13308         (regcache_raw_write_signed): Likewise.
13309         (regcache_raw_write_unsigned): Likewise.
13310         (regcache_cooked_read): Likewise.
13311         (regcache_cooked_read_value): Likewise.
13312         (regcache_cooked_read_signed): Likewise.
13313         (regcache_cooked_read_unsigned): Likewise.
13314         (regcache_cooked_write_signed): Likewise.
13315         (regcache_cooked_write_unsigned): Likewise.
13316         (regcache_raw_set_cached_value): Likewise.
13317         (regcache_raw_write): Likewise.
13318         (regcache_cooked_write): Likewise.
13319         (regcache_xfer_part): Likewise.
13320         (regcache_raw_read_part): Likewise.
13321         (regcache_raw_write_part): Likewise.
13322         (regcache_cooked_read_part): Likewise.
13323         (regcache_cooked_write_part): Likewise.
13324         (regcache_raw_supply): Likewise.
13325         (regcache_raw_collect): Likewise.
13326         (regcache_transfer_regset): Likewise.
13327         (regcache_supply_regset): Likewise.
13328         (regcache_collect_regset): Likewise.
13329         (regcache_debug_print_register): Likewise.
13330         (enum regcache_dump_what): Move it to regcache.h.
13331         (regcache_dump): Change it to method dump.
13332         * regcache.h (enum regcache_dump_what): New.
13333         (class regcache): New.
13334         * target.c (target_fetch_registers): Call method
13335         debug_print_register.
13336         (target_store_registers): Likewise.
13337
13338 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13339
13340         * windows-nat.c (struct lm_info_windows): Initialize field.
13341         (windows_make_so): Allocate lm_info_windows with new.
13342         (windows_free_so): Free lm_info_windows with delete.
13343
13344 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13345
13346         * solib-darwin.c (struct lm_info_darwin): Initialize field.
13347         (darwin_current_sos): Allocate lm_info_darwin with new, remove
13348         cleanup.
13349         (darwin_free_so): Free lm_info_darwin with delete.
13350
13351 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13352
13353         * solib-svr4.h (struct lm_info_svr4): Initialize fields.
13354         <l_addr_p>: Change type to bool.
13355         * solib-svr4.c (lm_info_read): Allocate lm_info_svr4 with new.
13356         (svr4_free_so): Free lm_info_svr4 with delete.
13357         (svr4_copy_library_list): Replace memcpy with call to copy
13358         constructor.
13359         (library_list_start_library, svr4_default_sos): Allocate
13360         lm_info_svr4 with new.
13361
13362 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13363
13364         * solib-target.c (struct lm_info_target): Add destructor,
13365         initialize fields.
13366         <name>: Change type to std::string.
13367         (library_list_start_library): Allocate lm_info_target with new.
13368         (solib_target_free_library_list): Free lm_info_target with
13369         delete.
13370         (solib_target_current_sos): Adapt to std::string.
13371         (solib_target_free_so): Free lm_info_target with delete.
13372
13373 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13374
13375         * solib-frv.c (struct lm_info_frv): Add destructor, initialize
13376         fields.
13377         (frv_current_sos): Allocate lm_info_frv with new.
13378         (frv_relocate_main_executable): Free lm_info_frv with delete,
13379         allocate with new.
13380         (frv_clear_solib, frv_free_so): Free lm_info_frv with delete.
13381
13382 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13383
13384         * solib-frv.c (struct lm_info_frv): Fix indentation.
13385
13386 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13387
13388         * solib-dsbt.c (struct lm_info_dsbt): Add destructor, initialize
13389         map field.
13390         (dsbt_current_sos): Allocate lm_info_dsbt with new.
13391         (dsbt_relocate_main_executable): Free lm_info_dsbt with delete
13392         and allocate with new.
13393         (dsbt_clear_solib, dsbt_free_so): Free lm_info_dsbt with delete.
13394
13395 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13396
13397         * solib-aix.c (struct lm_info_aix): Initialize fields in-class.
13398         <filename, member_name>: Change type to std::string.
13399         (solib_aix_new_lm_info, solib_aix_xfree_lm_info): Remove.
13400         (library_list_start_library): Allocate lm_info_aix with new.
13401         (solib_aix_free_library_list, solib_aix_free_so): Free with delete.
13402         (solib_aix_current_sos): Adapt to std::string, copy lm_info_aix
13403         with copy constructor.
13404
13405 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13406
13407         * solist.h (struct lm_info): Remove.
13408         (struct lm_info_base): New class.
13409         (struct so_list) <lm_info>: Change type to lm_info_base *.
13410         * nto-tdep.c (struct lm_info): Remove.
13411         (lm_addr): Adjust.
13412         * solib-aix.c (struct lm_info): Rename to ...
13413         (struct lm_info_aix): ... this.  Extend lm_info_base.
13414         (lm_info_p): Rename to ...
13415         (lm_info_aix_p): ... this, and adjust.
13416         (solib_aix_new_lm_info, solib_aix_xfree_lm_info,
13417         solib_aix_parse_libraries, library_list_start_library,
13418         solib_aix_free_library_list, solib_aix_parse_libraries,
13419         solib_aix_get_library_list,
13420         solib_aix_relocate_section_addresses, solib_aix_free_so,
13421         solib_aix_get_section_offsets,
13422         solib_aix_solib_create_inferior_hook, solib_aix_current_sos):
13423         Adjust.
13424         (struct solib_aix_inferior_data) <library_list>: Adjust.
13425         * solib-darwin.c (struct lm_info): Rename to ...
13426         (struct lm_info_darwin): ... this.  Extend lm_info_base.
13427         (darwin_current_sos, darwin_relocate_section_addresses): Adjust.
13428         * solib-dsbt.c (struct lm_info): Rename to ...
13429         (struct lm_info_dsbt): ... this.  Extend lm_info_base.
13430         (struct dsbt_info) <main_executable_lm_info): Adjust.
13431         (dsbt_current_sos, dsbt_relocate_main_executable, dsbt_free_so,
13432         dsbt_relocate_section_addresses): Adjust.
13433         * solib-frv.c (struct lm_info): Rename to ...
13434         (struct lm_info_frv): ... this.  Extend lm_info_base.
13435         (main_executable_lm_info): Adjust.
13436         (frv_current_sos, frv_relocate_main_executable, frv_free_so,
13437         frv_relocate_section_addresses, frv_fdpic_find_global_pointer,
13438         find_canonical_descriptor_in_load_object,
13439         frv_fdpic_find_canonical_descriptor): Adjust.
13440         * solib-svr4.c (struct lm_info): Move to solib-svr4.h, renamed
13441         to lm_info_svr4.
13442         (lm_info_read, lm_addr_check, svr4_keep_data_in_core,
13443         svr4_clear_so, svr4_copy_library_list,
13444         library_list_start_library, svr4_default_sos, svr4_read_so_list,
13445         svr4_current_sos, svr4_fetch_objfile_link_map,
13446         solist_update_incremental): Adjust.
13447         * solib-svr4.h (struct lm_info_svr4): Move here from
13448         solib-svr4.c.
13449         * solib-target.c (struct lm_info): Rename to ...
13450         (struct lm_info_target): ... this.  Extend lm_info_base.
13451         (lm_info_p): Rename to ...
13452         (lm_info_target_p): ... this.
13453         (solib_target_parse_libraries, library_list_start_segment,
13454         library_list_start_section, library_list_start_library,
13455         library_list_end_library, solib_target_free_library_list,
13456         solib_target_current_sos, solib_target_free_so,
13457         solib_target_relocate_section_addresses): Adjust.
13458         * windows-nat.c (struct lm_info): Rename to ...
13459         (struct lm_info_windows): ... this.  Extend lm_info_base.
13460         (windows_make_so, handle_load_dll, handle_unload_dll,
13461         windows_xfer_shared_libraries): Adjust.
13462
13463 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13464
13465         * solib-darwin.c (struct darwin_so_list): Remove.
13466         (darwin_current_sos): Allocate an so_list object instead of a
13467         darwin_so_list, separately allocate an lm_info object.
13468         (darwin_free_so): Free lm_info.
13469
13470 2017-04-28  John Baldwin  <jhb@FreeBSD.org>
13471
13472         * mips-tdep.c (print_gp_register_row): Replace printf_filtered
13473         with fprintf_filtered.
13474
13475 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13476
13477         * regcache.c (regcache::regcache): New function.
13478         (regcache::~regcache): New function.
13479         (regcache_xmalloc_1): Remove.
13480         (regcache_xmalloc): Call new regcache.
13481         (regcache_xfree): Call delete regcache.
13482         (get_thread_arch_aspace_regcache): Call new regcache.
13483
13484 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13485
13486         * mips-linux-nat.c (mips_linux_new_thread): Use ptid method
13487         lwp instead of ptid_get_lwp.
13488
13489 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13490
13491         * mips-linux-nat.c (mips_linux_new_thread): Get lwpid from
13492         lwp_info instead of getting from inferior_ptid.
13493
13494 2017-04-27  Keith Seitz  <keiths@redhat.com>
13495
13496         * gdbtypes.c (LVALUE_REFERENCE_TO_RVALUE_BINDING_BADNESS)
13497         DIFFERENT_REFERENCE_TYPE_BADNESS): Remove.
13498         (CV_CONVERSION_BADNESS): Define.
13499         (rank_one_type): Remove overly restrictive rvalue reference
13500         rank checks.
13501         Add cv-qualifier checks and subranks for type equality.
13502         * gdbtypes.h (REFERENCE_CONVERSION_RVALUE,
13503         REFERENCE_CONVERSION_CONST_LVALUE, CV_CONVERSION_BADNESS,
13504         CV_CONVERSION_CONST, CV_CONVERSION_VOLATILE): Declare.
13505
13506 2017-04-27  Simon Marchi  <simon.marchi@ericsson.com>
13507
13508         * python/py-inferior.c (inferior_to_inferior_object): Increment reference
13509         count when creating the object.
13510
13511 2017-04-27  Sangamesh Mallayya  <sangamesh.swamy@in.ibm.com>
13512             Ulrich Weigand  <uweigand@de.ibm.com>
13513
13514         * xcoffread.c (read_xcoff_symtab): Read correct function auxiliary
13515         entry if xlc -qfuncsect or gcc -ffunction-sections compiler option
13516         is used in AIX.
13517         (read_xcoff_symtab): Handle C_WEAKEXT storage class.
13518         (process_xcoff_symbol): Likewise.
13519         (scan_xcoff_symtab): Likewise.
13520
13521 2017-04-26  Alan Hayward  <alan.hayward@arm.com>
13522
13523         * ia64-tdep.c (examine_prologue): Use get_frame_register_unsigned.
13524         (ia64_sigtramp_frame_prev_register): Use read_memory_unsigned_integer.
13525         (ia64_access_reg): Use get_frame_register_unsigned.
13526         (ia64_access_rse_reg): Likewise.
13527         (ia64_libunwind_frame_prev_register): Likewise.
13528
13529 2017-04-26  Jiong Wang  <jiong.wang@arm.com>
13530
13531         * gdbarch.sh: New gdbarch method execute_dwarf_cfa_vendor_op.
13532         * gdbarch.c: Regenerated.
13533         * gdbarch.h: Regenerated.
13534         * dwarf2-frame.c (dwarf2_frame_state_alloc_regs): Made the
13535         visibility external.
13536         (execute_cfa_program): Call execute_dwarf_cfa_vendor_op for CFI
13537         between DW_CFA_lo_user and DW_CFA_high_user inclusive.
13538         (enum cfa_how_kind): Move to ...
13539         (struct dwarf2_frame_state_reg_info): Likewise.
13540         (struct dwarf2_frame_state): Likewise.
13541         * dwarf2-frame.h: ... here.
13542         (dwarf2_frame_state_alloc_regs): New declaration.
13543         * sparc-tdep.c (sparc_execute_dwarf_cfa_vendor_op): New function.
13544         (sparc32_gdbarch_init): Register execute_dwarf_cfa_vendor_op hook.
13545
13546 2017-04-26  Alan Hayward  <alan.hayward@arm.com>
13547
13548         * xtensa-tdep.c (xtensa_pseudo_register_read): Use
13549         regcache_raw_read_unsigned.
13550         (xtensa_pseudo_register_write): Likewise.
13551
13552 2017-04-26  Alan Hayward  <alan.hayward@arm.com>
13553
13554         * nds32-tdep.c (nds32_pseudo_register_read): Abort on errors.
13555         (nds32_pseudo_register_write): Likewise.
13556
13557 2017-04-25  Yao Qi  <yao.qi@linaro.org>
13558
13559         * regcache.c (struct regcache) <readonly_p>: Change its type
13560         to bool.
13561         (regcache_xmalloc_1): Update parameter type and callers update.
13562
13563 2017-04-25  Yao Qi  <yao.qi@linaro.org>
13564
13565         * aarch64-tdep.c (aarch64_gdbarch_init): Don't call
13566         set_gdbarch_wchar_bit.
13567         * arm-tdep.c (arm_gdbarch_init): Likewise.
13568
13569 2017-04-25  Pedro Alves  <palves@redhat.com>
13570
13571         * common/poison.h [!HAVE_IS_TRIVIALLY_COPYABLE] (IsRelocatable)
13572         (BothAreRelocatable, memcopy, memmove): Don't define.
13573         * common/traits.h (__has_feature, HAVE_IS_TRIVIALLY_COPYABLE): New
13574         macros.
13575
13576 2017-04-25  Pedro Alves  <palves@redhat.com>
13577
13578         * common/common-defs.h: Include "common/poison.h".
13579         * common/function-view.h: (Not, Or, Requires): Move to traits.h
13580         and adjust.
13581         * common/poison.h: New file.
13582         * common/traits.h: Include <type_traits>.
13583         (Not, Or, Requires): New, moved from common/function-view.h.
13584
13585 2017-04-25  Pedro Alves  <palves@redhat.com>
13586
13587         * breakpoint.h (struct breakpoint): In-class initialize all
13588         fields.  Make boolean fields "bool".
13589         * breakpoint.c (init_raw_breakpoint_without_location): Remove
13590         memset call and initializations no longer necessary.
13591
13592 2017-04-25  Pedro Alves  <palves@redhat.com>
13593
13594         * btrace.c (pt_btrace_insn_flags): Change parameter type to
13595         reference.
13596         (pt_btrace_insn): New function.
13597         (ftrace_add_pt): Remove memset call and use pt_btrace_insn.
13598
13599 2017-04-25  Pedro Alves  <palves@redhat.com>
13600
13601         * ada-lang.c (ada_catchpoint_location): Now a "class".  Remove
13602         "base" field and inherit from "bp_location" instead.  Add
13603         non-default ctor.
13604         (allocate_location_exception): Use new non-default ctor.
13605         * breakpoint.c (get_first_locp_gte_addr): Remove memset call.
13606         (init_bp_location): Convert to ...
13607         (bp_location::bp_location): ... this new ctor, and remove memset
13608         call.
13609         (base_breakpoint_allocate_location): Use the new non-default ctor.
13610         * breakpoint.h (bp_location): Now a class.  Declare default and
13611         non-default ctors.  In-class initialize all members.
13612         (init_bp_location): Remove declaration.
13613
13614 2017-04-25  Pedro Alves  <palves@redhat.com>
13615
13616         * common/enum-flags.h (enum_flags): Don't implement copy ctor and
13617         assignment operator.
13618
13619 2017-04-24  Yao Qi  <yao.qi@linaro.org>
13620
13621         * doublest.c (convert_doublest_to_floatformat): Call
13622         floatformat_totalsize_bytes.
13623
13624 2017-04-22  Tom Tromey  <tom@tromey.com>
13625
13626         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Use
13627         ui_out_emit_list.
13628         * stack.c (print_frame): Use ui_out_emit_list.
13629         * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Use
13630         ui_out_emit_list.
13631         * mi/mi-main.c (print_one_inferior)
13632         (mi_cmd_data_list_register_names)
13633         (mi_cmd_data_list_register_values, mi_cmd_list_features)
13634         (mi_cmd_list_target_features, mi_cmd_trace_frame_collected): Use
13635         ui_out_emit_list.
13636         * mi/mi-interp.c (mi_on_normal_stop_1): Use ui_out_emit_list.
13637         (mi_output_solib_attribs): Use ui_out_emit_list,
13638         ui_out_emit_tuple.
13639         * mi/mi-cmd-var.c (varobj_update_one): Use ui_out_emit_list.
13640         * mi/mi-cmd-stack.c (mi_cmd_stack_list_frames)
13641         (mi_cmd_stack_list_args, list_args_or_locals): Use
13642         ui_out_emit_list.
13643         * disasm.c (do_assembly_only): Use ui_out_emit_list.
13644         * breakpoint.c (print_solib_event, output_thread_groups): Use
13645         ui_out_emit_list.
13646
13647 2017-04-22  Tom Tromey  <tom@tromey.com>
13648
13649         * mi/mi-main.c (print_variable_or_computed): Use ui_out_emit_tuple.
13650         * mi/mi-cmd-var.c (varobj_update_one): Use ui_out_emit_tuple.
13651         * mi/mi-cmd-stack.c (list_arg_or_local): Use ui_out_emit_tuple.
13652
13653 2017-04-22  Tom Tromey  <tom@tromey.com>
13654
13655         * tracepoint.c (tvariables_info_1)
13656         (print_one_static_tracepoint_marker): Use ui_out_emit_tuple.
13657
13658 2017-04-22  Tom Tromey  <tom@tromey.com>
13659
13660         * stack.c (print_frame_arg): Use ui_out_emit_tuple,
13661         annotate_arg_emitter.
13662         * breakpoint.c (print_mention_watchpoint)
13663         (print_mention_masked_watchpoint): Use ui_out_emit_tuple.
13664         * annotate.h (struct annotate_arg_emitter): New.
13665
13666 2017-04-22  Tom Tromey  <tom@tromey.com>
13667
13668         * record-btrace.c (record_btrace_insn_history)
13669         (record_btrace_insn_history_range, record_btrace_call_history)
13670         (record_btrace_call_history_range): Use ui_out_emit_tuple.
13671         * thread.c (do_captured_list_thread_ids, print_thread_info_1): Use
13672         ui_out_emit_tuple.
13673         * stack.c (print_frame_info): Use ui_out_emit_tuple.
13674         * solib.c (info_sharedlibrary_command): Use ui_out_emit_tuple.
13675         * skip.c (skip_info): Use ui_out_emit_tuple.
13676         * remote.c (show_remote_cmd): Use ui_out_emit_tuple.
13677         * progspace.c (print_program_space): Use ui_out_emit_tuple.
13678         * probe.c (info_probes_for_ops): Use ui_out_emit_tuple.
13679         * osdata.c (info_osdata): Use ui_out_emit_tuple.
13680         * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Use
13681         ui_out_emit_tuple.
13682         * mi/mi-main.c (print_one_inferior, list_available_thread_groups)
13683         (output_register, mi_cmd_data_read_memory)
13684         (mi_cmd_data_read_memory_bytes, mi_load_progress)
13685         (mi_cmd_trace_frame_collected): Use ui_out_emit_tuple.
13686         * mi/mi-cmd-var.c (mi_cmd_var_list_children, varobj_update_one):
13687         Use ui_out_emit_tuple.
13688         * mi/mi-cmd-stack.c (mi_cmd_stack_list_args): Use
13689         ui_out_emit_tuple.
13690         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions)
13691         (mi_cmd_info_gdb_mi_command): Use ui_out_emit_tuple.
13692         * linux-thread-db.c (info_auto_load_libthread_db): Use
13693         ui_out_emit_tuple.
13694         * inferior.c (print_inferior): Use ui_out_emit_tuple.
13695         * gdb_bfd.c (print_one_bfd): Use ui_out_emit_tuple.
13696         * disasm.c (do_mixed_source_and_assembly_deprecated)
13697         (do_mixed_source_and_assembly): Use ui_out_emit_tuple.
13698         * cp-abi.c (list_cp_abis): Use ui_out_emit_tuple.
13699         * cli/cli-setshow.c (cmd_show_list): Use ui_out_emit_tuple.
13700         * breakpoint.c (print_one_breakpoint_location)
13701         (print_one_breakpoint): Use ui_out_emit_tuple.
13702         * auto-load.c (print_script, info_auto_load_cmd): Use
13703         ui_out_emit_tuple.
13704         * ada-tasks.c (print_ada_task_info): Use ui_out_emit_tuple.
13705
13706 2017-04-21  Simon Marchi  <simon.marchi@ericsson.com>
13707
13708         * thread.c (print_thread_info_1): Remove dead code.
13709
13710 2017-04-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
13711
13712         * aarch64-tdep.c (selftests::aarch64_process_record_test): Make it #if
13713         GDB_SELF_TEST.
13714         * arm-tdep.c (selftests::arm_record_test): Likewise.
13715
13716 2017-04-21  Yao Qi  <yao.qi@linaro.org>
13717
13718         * regcache.c (regcache_restore): Remove argument 2.  Replace
13719         argument 3 with regcache.  Get register status from
13720         src->register_status and get register contents from
13721         register_buffer (src, regnum).
13722         (regcache_cpy): Update.
13723
13724 2017-04-19  Pedro Alves  <palves@redhat.com>
13725
13726         * gdbthread.h (thread): Add missing closing parenthesis in
13727         comment.
13728
13729 2017-04-19  Pedro Alves  <palves@redhat.com>
13730
13731         * common/refcounted-object.h: New file.
13732         * gdbthread.h: Include "common/refcounted-object.h".
13733         (thread_info): Inherit from refcounted_object and add comments.
13734         (thread_info::incref, thread_info::decref)
13735         (thread_info::m_refcount): Delete.
13736         (thread_info::deletable): Use the refcounted_object::refcount()
13737         method.
13738         * inferior.c (current_inferior_): Add comment.
13739         (set_current_inferior): Increment/decrement refcounts.
13740         (prune_inferiors, remove_inferior_command): Skip inferiors marked
13741         not-deletable instead of comparing with the current inferior.
13742         (initialize_inferiors): Increment the initial inferior's refcount.
13743         * inferior.h (struct inferior): Forward declare.
13744         Include "common/refcounted-object.h".
13745         (current_inferior, set_current_inferior): Move declaration to
13746         before struct inferior's definition, and fix comment.
13747         (inferior): Inherit from refcounted_object.  Add comments.
13748         * thread.c (switch_to_thread_no_regs): Reference the thread's
13749         inferior pointer directly instead of doing a ptid lookup.
13750         (switch_to_no_thread): New function.
13751         (switch_to_thread(thread_info *)): New function, factored out
13752         from ...
13753         (switch_to_thread(ptid_t)): ... this.
13754         (restore_current_thread): Delete.
13755         (current_thread_cleanup): Remove 'inf_id' and 'was_removable'
13756         fields, and add 'inf' field.
13757         (do_restore_current_thread_cleanup): Check whether old->inf is
13758         alive instead of looking up an inferior by ptid.  Use
13759         switch_to_thread and switch_to_no_thread.
13760         (restore_current_thread_cleanup_dtor): Use old->inf directly
13761         instead of lookup up an inferior by id.  Decref the inferior.
13762         Don't restore 'removable'.
13763         (make_cleanup_restore_current_thread): Same the inferior pointer
13764         in old, instead of the inferior number.  Incref the inferior.
13765         Don't save/clear 'removable'.
13766
13767 2017-04-19  Pedro Alves  <palves@redhat.com>
13768
13769         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
13770         unittests/scoped_restore-selftests.c.
13771         (SUBDIR_UNITTESTS_OBS): Add scoped_restore-selftests.o.
13772         * common/scoped_restore.h (scoped_restore_base): Make "class".
13773         (scoped_restore_base::release): New public method.
13774         (scoped_restore_base::scoped_restore_base): New protected ctor.
13775         (scoped_restore_base::m_saved_var): New protected field.
13776         (scoped_restore_tmpl::scoped_restore_tmpl(T*)): Initialize the
13777         scoped_restore_base base class instead of m_saved_var directly.
13778         (scoped_restore_tmpl::scoped_restore_tmpl(T*, T2)): Likewise.
13779         (scoped_restore_tmpl::scoped_restore_tmpl(const
13780         scoped_restore_tmpl<T>&)): Likewise.
13781         (scoped_restore_tmpl::~scoped_restore_tmpl): Use the saved_var
13782         method.
13783         (scoped_restore_tmpl::saved_var): New method.
13784         (scoped_restore_tmpl::m_saved_var): Delete.
13785         * inferior.h (inferior::detaching): Now a bool.
13786         * infrun.c (prepare_for_detach): Use a scoped_restore instead of a
13787         cleanup.
13788         * unittests/scoped_restore-selftests.c: New file.
13789
13790 2017-04-19  Pedro Alves  <palves@redhat.com>
13791
13792         * Makefile.in (SUBDIR_UNITTESTS_SRCS, SUBDIR_UNITTESTS_OBS):
13793         Re-sort in alphabetic order.
13794
13795 2017-04-18  Pedro Alves  <palves@redhat.com>
13796
13797         * xml-support.c (obstack_xml_printf): Delete.
13798         * xml-support.h (obstack_xml_printf): Delete.
13799
13800 2017-04-18  Pedro Alves  <palves@redhat.com>
13801
13802         * xml-support.c (gdb_xml_parser) <use_dtd, dtd_name, parse,
13803         vdebug, verror, body_text, start_element, end_element, name,
13804         user_data, set_is_xinclude, set_error, expat_parser>: New methods.
13805         <name, user_data, expat_parser, scopes, error, last_line, dtd_name,
13806         is_xinclude>: Make private and add m_ prefix.
13807         (gdb_xml_parser::body_text): New method, based on ...
13808         (gdb_xml_body_text): ... this.  Adjust.
13809         (gdb_xml_parser::vdebug): New method, based on ...
13810         (gdb_xml_debug): ... this.  Adjust.
13811         (gdb_xml_parser::verror): New method, based on ...
13812         (gdb_xml_error): ... this.  Adjust.
13813         (gdb_xml_parser::start_element): New method, based on ...
13814         (gdb_xml_start_element): ... this.  Adjust.
13815         (gdb_xml_start_element_wrapper): Defer to
13816         gdb_xml_parser::start_element and gdb_xml_parser::set_error.
13817         (gdb_xml_parser::end_element): New method, based on ...
13818         (gdb_xml_end_element_wrapper): ... this.  Adjust.
13819         (gdb_xml_parser::~gdb_xml_parser): Adjust.
13820         (gdb_xml_parser::gdb_xml_parser): Adjust to field renames.
13821         (gdb_xml_parser::use_dtd): New method, based on ...
13822         (gdb_xml_use_dtd): ... this.  Adjust.
13823         (gdb_xml_parser::parse): New method, based on ...
13824         (gdb_xml_parse): ... this.  Adjust.
13825         (gdb_xml_parse_quick): Adjust to call the parser's parse method.
13826         (xinclude_start_include): Adjust to call the parser's name method.
13827         (xml_xinclude_default, xml_xinclude_start_doctype)
13828         (xml_xinclude_end_doctype): Adjust to call the parser's user_data
13829         method.
13830         (xml_process_xincludes): Adjust to call parser methods.
13831         * xml-support.h (gdb_xml_use_dtd, gdb_xml_parse): Delete
13832         declarations.
13833
13834 2017-04-18  Pedro Alves  <palves@redhat.com>
13835
13836         * tracefile-tfile.c (tfile_write_tdesc): Adjust to use
13837         gdb::optional<std::string>.
13838         * xml-support.c: Include <string>.
13839         (scope_level::scope_level(scope_level &&))
13840         (scope_level::~scope_level): Delete.
13841         (scope_level::body): Now a std::string.
13842         (gdb_xml_body_text, gdb_xml_end_element): Adjust.
13843         (xinclude_parsing_data::xinclude_parsing_data): Add 'output'
13844         parameter.
13845         (xinclude_parsing_data::~xinclude_parsing_data): Delete.
13846         (xinclude_parsing_data::output): Now a std::string reference.
13847         (xinclude_start_include): Adjust.
13848         (xml_xinclude_default): Adjust.
13849         (xml_process_xincludes): Add 'output' parameter, and return bool.
13850         * xml-support.h (xml_process_xincludes): Add 'output' parameter,
13851         and return bool.
13852         * xml-tdesc.c: Include <unordered_map> and <string>.
13853         (tdesc_xml_cache): Delete.
13854         (tdesc_xml_cache_s): Delete.
13855         (xml_cache): Now an std::unordered_map.
13856         (tdesc_parse_xml): Adjust to use std::string and unordered_map.
13857         (target_fetch_description_xml): Change return type to
13858         gdb::optional<std::string>, and adjust.
13859         * xml-tdesc.h: Include "common/gdb_optional.h" and <string>.
13860         (target_fetch_description_xml): Change return type to
13861         gdb::optional<std::string>.
13862
13863 2017-04-18  Pedro Alves  <palves@redhat.com>
13864
13865         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
13866         unittests/optional-selftests.c.
13867         (SUBDIR_UNITTESTS_OBS): Add optional-selftests.o.
13868         * unittests/optional-selftests.c: New file.
13869         * unittests/optional/assignment/1.cc: New file.
13870         * unittests/optional/assignment/2.cc: New file.
13871         * unittests/optional/assignment/3.cc: New file.
13872         * unittests/optional/assignment/4.cc: New file.
13873         * unittests/optional/assignment/5.cc: New file.
13874         * unittests/optional/assignment/6.cc: New file.
13875         * unittests/optional/assignment/7.cc: New file.
13876         * unittests/optional/cons/copy.cc: New file.
13877         * unittests/optional/cons/default.cc: New file.
13878         * unittests/optional/cons/move.cc: New file.
13879         * unittests/optional/cons/value.cc: New file.
13880         * unittests/optional/in_place.cc: New file.
13881         * unittests/optional/observers/1.cc: New file.
13882         * unittests/optional/observers/2.cc: New file.
13883
13884 2017-04-18  Pedro Alves  <palves@redhat.com>
13885
13886         * common/gdb_optional.h: Include common/traits.h.
13887         (in_place_t): New type.
13888         (in_place): New constexpr variable.
13889         (optional::optional): Remove member initialization of
13890         m_instantiated.
13891         (optional::optional(in_place_t...)): New constructor.
13892         (optional::~optional): Use reset.
13893         (optional::optional(const optional&)): New.
13894         (optional::optional(const optional&&)): New.
13895         (optional::optional(T &)): New.
13896         (optional::optional(T &&)): New.
13897         (operator::operator=(const optional &)): New.
13898         (operator::operator=(optional &&)): New.
13899         (operator::operator= (const T &))
13900         (operator::operator= (T &&))
13901         (operator::emplace (Args &&... args)): Return a T&.  Use reset.
13902         (operator::reset): New.
13903         (operator::m_instantiated):: Add in-class initializer.
13904         * common/traits.h: Include <type_traits>.
13905         (struct And): New types.
13906
13907 2017-04-18  Pedro Alves  <palves@redhat.com>
13908
13909         * xml-support.c: Include <vector>.
13910         (scope_level::scope_level(const gdb_xml_element *))
13911         (scope_level::scope_level(scope_level&&)): New.
13912         (scope_level::~scope_level): New.
13913         (scope_level_s): Delete.
13914         (gdb_xml_parser::scopes): Now a std::vector.
13915         (gdb_xml_body_text, gdb_xml_start_element, gdb_xml_end_element):
13916         Use std::vector.
13917         (gdb_xml_parser::~gdb_xml_parser): Remove now unnecessary
13918         scope cleanup code.
13919         (gdb_xml_parser::gdb_xml_parser): Remove explicit initialization
13920         of the scopes member.  Use std::vector::emplace_back.
13921
13922 2017-04-18  Pedro Alves  <palves@redhat.com>
13923
13924         * xml-support.c (gdb_xml_parser): Add ctor/dtor.  Make is_xinclude
13925         a bool.
13926         (gdb_xml_end_element): Change type of first parameter.
13927         (gdb_xml_cleanup): Rename to ...
13928         (gdb_xml_parser::~gdb_xml_parser): ... this.
13929         (gdb_xml_create_parser_and_cleanup): Delete with ...
13930         (gdb_xml_parser::gdb_xml_parser): ... creation parts factored out
13931         to this new ctor.
13932         (gdb_xml_parse_quick): Create a local gdb_xml_parser instead of
13933         using gdb_xml_create_parser_and_cleanup.
13934         (xinclude_parsing_data): Add ctor/dtor.
13935         (xml_xinclude_cleanup): Delete.
13936         (xml_process_xincludes): Create a local xinclude_parsing_data
13937         instead of heap-allocating one.  Create a local gdb_xml_parser
13938         instead of heap-allocating one with
13939         gdb_xml_create_parser_and_cleanup.
13940
13941 2017-04-18  John Baldwin  <jhb@FreeBSD.org>
13942
13943         PR threads/20743
13944         * fbsd-nat.c (resume_one_thread_cb): Remove.
13945         (resume_all_threads_cb): Remove.
13946         (fbsd_resume): Use ALL_NON_EXITED_THREADS instead of
13947         iterate_over_threads.
13948
13949 2017-04-17  Joel Brobecker  <brobecker@adacore.com>
13950
13951         * NEWS: Create a new section for the next release branch.
13952         Rename the section of the current branch, now that it has
13953         been cut.
13954
13955 2017-04-17  Joel Brobecker  <brobecker@adacore.com>
13956
13957         GDB 8.0 branch created (725bf5cf125783c2a7ca4ab63d3768e220bab2db):
13958         * version.in: Bump version to 8.0.50.DATE-git.
13959
13960 2017-04-13  Sergio Durigan Junior  <sergiodj@redhat.com>
13961
13962         PR gdb/21385
13963         * windows-nat.c (windows_create_inferior): Declare 'allargs'
13964         independently of the host, and fix build breakage on Cygwin.
13965
13966 2017-04-13  Pedro Alves  <palves@redhat.com>
13967
13968         * inferior.c (free_inferior): Convert to ...
13969         (inferior::~inferior): ... this dtor.
13970         (inferior::inferior): New ctor, factored out from ...
13971         (add_inferior_silent): ... here.  Allocate the inferior with a new
13972         expression.
13973         (delete_inferior): Call delete instead of free_inferior.
13974         * inferior.h (gdb_environ, continuation): Forward declare.
13975         (inferior): Now a class.  Add in-class initialization to all
13976         members.  Make boolean fields bool, except 'detaching'.
13977         (inferior::inferior): New explicit ctor.
13978         (inferior::~inferior): New.
13979
13980 2017-04-13  Pedro Alves  <palves@redhat.com>
13981
13982         * inferior.c (init_inferior_list): Delete.
13983         * inferior.h (init_inferior_list): Delete.
13984
13985 2017-04-13  Pedro Alves  <palves@redhat.com>
13986
13987         PR threads/13217
13988         * gdb.threads/threadapply.exp (thr_apply_detach): New procedure.
13989         (top level): Call it twice, with different thread sets.
13990
13991 2017-04-13  Pedro Alves  <palves@redhat.com>
13992
13993         * thread.c: Include <algorithm>.
13994         (thread_array_cleanup): Delete.
13995         (scoped_inc_dec_ref): New class.
13996         (live_threads_count): New function.
13997         (set_thread_refcount): Delete.
13998         (tp_array_compar_ascending): Now a bool.
13999         (tp_array_compar): Convert to a std::sort comparison function.
14000         (thread_apply_all_command): Use std::vector and scoped_inc_dec_ref
14001         and live_threads_count.
14002
14003 2017-04-13  Pedro Alves  <palves@redhat.com>
14004
14005         * infrun.c (follow_fork_inferior): Also switch the current
14006         inferior.
14007
14008 2017-04-13  Pedro Alves  <palves@redhat.com>
14009
14010         * breakpoint.c (watch_command_1): Save watchpoint-frame info
14011         before calling create_internal_breakpoint.
14012
14013 2017-04-13  Pedro Alves  <palves@redhat.com>
14014
14015         * fork-child.c (execv_argv): New class.
14016         (breakup_args): Refactored as ...
14017         (execv_argv::init_for_no_shell): .. this method of execv_argv.
14018         Copy arguments to storage and replace separators with NULL
14019         terminators in place.
14020         (escape_bang_in_quoted_argument): Adjust to return bool.
14021         (execv_argv::execv_argv): New ctor.
14022         (execv_argv::init_for_shell): New method, factored out from
14023         fork_inferior.  Don't strdup strings into the vector.
14024         (fork_inferior): Eliminate "shell" local and use execv_argv.  Use
14025         Remove free_vector_argv call.
14026
14027 2017-04-13  Yao Qi  <yao.qi@linaro.org>
14028
14029         * rx-tdep.c (rx_fpsw_type): Check tdep->rx_fpsw_type instead of
14030         tdep->rx_psw_type.
14031
14032 2017-04-13  Yao Qi  <yao.qi@linaro.org>
14033
14034         * rl78-tdep.c (rl78_gdbarch_init): Use XCNEW instead of XNEW.
14035         * rx-tdep.c (rx_gdbarch_init): Likewise.
14036
14037 2017-04-13  Pedro Alves  <palves@redhat.com>
14038
14039         * breakpoint.h (struct breakpoint): Reindent.
14040
14041 2017-04-13  Pedro Alves  <palves@redhat.com>
14042
14043         * breakpoint.c (bp_location): Rename to ...
14044         (bp_locations): ... this.  All references updated.
14045         (bp_location_count): Rename to ...
14046         (bp_locations_count): ... this.  All references updated.
14047         (bp_location_placed_address_before_address_max): Rename to ...
14048         (bp_locations_placed_address_before_address_max): ... this.  All
14049         references updated.
14050         (bp_location_shadow_len_after_address_max): Rename to ...
14051         (bp_locations_shadow_len_after_address_max): ... this.  All
14052         references updated.
14053         (bp_location_compare_addrs): Rename to ...
14054         (bp_locations_compare_addrs): ... this.  All references updated.
14055         (bp_location_compare):Rename to ...
14056         (bp_locations_compare): ... this.  All references updated.
14057         (bp_location_target_extensions_update): Rename to ...
14058         (bp_locations_target_extensions_update): ... this.  All references
14059         updated.
14060
14061 2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
14062
14063         * Makefile.in (HFILES_NO_SRCDIR): Add "common/gdb_termios.h".
14064         * common/common.m4: Check headers 'termios.h', 'termio.h' and
14065         'sgtty.h'.
14066         * common/gdb_termios.h: New file, with parts of "terminal.h".
14067         * inflow.c: Include "gdb_termios.h".
14068         * ser-unix.c: Include "gdb_termios.h".
14069         * terminal.h: Move terminal-related defines to
14070         "common/gdb_termios.h".
14071
14072 2017-04-12  Tom Tromey  <tom@tromey.com>
14073
14074         * probe.c (parse_probes): Update.
14075         * location.h (delete_event_location): Don't declare.
14076         (event_location_deleter::operator()): Update.
14077         * location.c (event_location_deleter::operator()): Rename from
14078         delete_event_location.
14079         * linespec.h (linespec_result) <location>: Change type to
14080         event_location_up.
14081         * linespec.c (canonicalize_linespec, event_location_to_sals)
14082         (decode_objc): Update.
14083         (linespec_result): Don't call delete_event_location.
14084         * breakpoint.c (create_breakpoints_sal)
14085         (bkpt_probe_create_sals_from_location)
14086         (strace_marker_create_sals_from_location): Update.
14087
14088 2017-04-12  Tom Tromey  <tom@tromey.com>
14089
14090         * linespec.h (struct linespec_result): Add constructor and
14091         destructor.
14092         (init_linespec_result, destroy_linespec_result)
14093         (make_cleanup_destroy_linespec_result): Don't declare.
14094         * linespec.c (init_linespec_result): Remove.
14095         (linespec_result::~linespec_result): Rename from
14096         destroy_linespec_result.  Update.
14097         (cleanup_linespec_result, make_cleanup_destroy_linespec_result):
14098         Remove.
14099         * breakpoint.c (create_breakpoint, break_range_command)
14100         (decode_location_default): Update.
14101         * ax-gdb.c (agent_command_1): Update.
14102
14103 2017-04-12  Tom Tromey  <tom@tromey.com>
14104
14105         * remote.c (remote_download_tracepoint): Update.
14106         * python/py-breakpoint.c (bppy_get_location): Update.
14107         * guile/scm-breakpoint.c (bpscm_print_breakpoint_smob)
14108         (gdbscm_breakpoint_location): Update.
14109         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Update.
14110         * breakpoint.h (struct breakpoint) <location, location_range_end>:
14111         Change type to event_location_up.
14112         * breakpoint.c (create_overlay_event_breakpoint)
14113         (create_longjmp_master_breakpoint)
14114         (create_std_terminate_master_breakpoint)
14115         (create_exception_master_breakpoint)
14116         (breakpoint_event_location_empty_p, print_breakpoint_location)
14117         (print_one_breakpoint_location, create_thread_event_breakpoint)
14118         (init_breakpoint_sal, create_breakpoint)
14119         (print_recreate_ranged_breakpoint, break_range_command)
14120         (init_ada_exception_breakpoint, say_where): Update.
14121         (base_breakpoint_dtor): Don't call delete_event_location.
14122         (bkpt_print_recreate, tracepoint_print_recreate)
14123         (dprintf_print_recreate, update_static_tracepoint)
14124         (breakpoint_re_set_default): Update.
14125
14126 2017-04-12  Tom Tromey  <tom@tromey.com>
14127
14128         * compile/compile-loc2c.c (compute_stack_depth_worker): Change
14129         type of "to_do".  Update.
14130         (compute_stack_depth): Use std::vector.
14131
14132 2017-04-12  Tom Tromey  <tom@tromey.com>
14133
14134         * printcmd.c (find_instruction_backward): Use std::vector.
14135
14136 2017-04-12  Tom Tromey  <tom@tromey.com>
14137
14138         * symfile.c (objfilep): Remove typedef.
14139         (reread_symbols): Use a std::vector.
14140
14141 2017-04-12  Tom Tromey  <tom@tromey.com>
14142
14143         * mi/mi-main.c (exec_direction_forward): Remove.
14144         (exec_reverse_continue, mi_execute_command): Use scoped_restore.
14145         * guile/scm-ports.c (ioscm_with_output_to_port_worker): Use
14146         scoped_restore.
14147         * guile/guile.c (guile_repl_command, guile_command)
14148         (gdbscm_execute_gdb_command): Use scoped_restore.
14149         * go-exp.y (go_parse): Use scoped_restore.
14150         * d-exp.y (d_parse): Use scoped_restore.
14151         * cli/cli-decode.c (cmd_func): Use scoped_restore.
14152         * c-exp.y (c_parse): Use scoped_restore.
14153
14154 2017-04-12  Tom Tromey  <tom@tromey.com>
14155
14156         * mi/mi-parse.h (struct mi_parse): Add constructor, destructor.
14157         (mi_parse): Update return type.
14158         (mi_parse_free): Remove.
14159         * mi/mi-parse.c (mi_parse::mi_parse): New constructor.
14160         (mi_parse::~mi_parse): Rename from mi_parse_free.
14161         (mi_parse_cleanup): Remove.
14162         (mi_parse): Return a unique_ptr.  Use new.
14163         * mi/mi-main.c (mi_execute_command): Update.
14164
14165 2017-04-12  Tom Tromey  <tom@tromey.com>
14166
14167         * location.c (explicit_location_lex_one): Return a
14168         unique_xmalloc_ptr.
14169         (string_to_explicit_location): Update.  Remove cleanups.
14170
14171 2017-04-12  Tom Tromey  <tom@tromey.com>
14172
14173         * gnu-v3-abi.c (value_and_voffset_p): Remove typedef.
14174         (compare_value_and_voffset): Change type.  Update.
14175         (compute_vtable_size): Change type of "offset_vec".
14176         (gnuv3_print_vtable): Use std::vector.  Remove cleanups.
14177         (gnuv3_get_typeid): Remove extraneous declaration.
14178
14179 2017-04-12  Tom Tromey  <tom@tromey.com>
14180
14181         * charset.h (wchar_iterator): Fix comment.
14182
14183 2017-04-12  Tom Tromey  <tom@tromey.com>
14184
14185         * charset.c (iconv_wrapper): New class.
14186         (cleanup_iconv): Remove.
14187         (convert_between_encodings): Use it.
14188
14189 2017-04-12  Tom Tromey  <tom@tromey.com>
14190
14191         * symfile.h (increment_reading_symtab): Update type.
14192         * symfile.c (decrement_reading_symtab): Remove.
14193         (increment_reading_symtab): Return a scoped_restore_tmpl<int>.
14194         * psymtab.c (psymtab_to_symtab): Update.
14195         * dwarf2read.c (dw2_instantiate_symtab): Update.
14196
14197 2017-04-12  Tom Tromey  <tom@tromey.com>
14198
14199         * jit.c (struct jit_reader): Declare separately.  Add constructor
14200         and destructor.  Change type of "handle".
14201         (loaded_jit_reader): Define separately.
14202         (jit_reader_load): Update.  New "new".
14203         (jit_reader_unload_command): Use "delete".
14204         * gdb-dlfcn.h (struct dlclose_deleter): New.
14205         (gdb_dlhandle_up): New typedef.
14206         (gdb_dlopen, gdb_dlsym): Update types.
14207         (gdb_dlclose): Remove.
14208         * gdb-dlfcn.c (gdb_dlopen): Return a gdb_dlhandle_up.
14209         (gdb_dlsym): Change type of "handle".
14210         (make_cleanup_dlclose): Remove.
14211         (dlclose_deleter::operator()): Rename from gdb_dlclose.
14212         * compile/compile-c-support.c (load_libcc): Update.
14213
14214 2017-04-12  Tom Tromey  <tom@tromey.com>
14215
14216         * symtab.h (find_pcs_for_symtab_line): Change return type.
14217         * symtab.c (find_pcs_for_symtab_line): Change return type.
14218         * python/py-linetable.c (build_line_table_tuple_from_pcs): Change
14219         type of "vec".  Update.
14220         (ltpy_get_pcs_for_line): Update.
14221         * linespec.c (decode_digits_ordinary): Update.
14222
14223 2017-04-12  Tom Tromey  <tom@tromey.com>
14224
14225         * tracepoint.c (actions_command): Update.
14226         * python/python.c (python_command, python_interactive_command):
14227         Update.
14228         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
14229         * guile/guile.c (guile_command): Update.
14230         * defs.h (read_command_lines, read_command_lines_1): Return
14231         command_line_up.
14232         (command_lines_deleter): New struct.
14233         (command_line_up): New typedef.
14234         * compile/compile.c (compile_code_command)
14235         (compile_print_command): Update.
14236         * cli/cli-script.h (get_command_line, copy_command_lines): Return
14237         command_line_up.
14238         (make_cleanup_free_command_lines): Remove.
14239         * cli/cli-script.c (get_command_line, read_command_lines_1)
14240         (copy_command_lines): Return command_line_up.
14241         (while_command, if_command, read_command_lines, define_command)
14242         (document_command): Update.
14243         (do_free_command_lines_cleanup, make_cleanup_free_command_lines):
14244         Remove.
14245         * breakpoint.h (breakpoint_set_commands): Change type of
14246         "commands".
14247         * breakpoint.c (breakpoint_set_commands): Change type of
14248         "commands".  Update.
14249         (do_map_commands_command, update_dprintf_command_list)
14250         (create_tracepoint_from_upload): Update.
14251
14252 2017-04-12  Tom Tromey  <tom@tromey.com>
14253
14254         * tracepoint.c (scope_info): Update.
14255         * spu-tdep.c (spu_catch_start): Update.
14256         * python/python.c (gdbpy_decode_line): Update.
14257         * python/py-finishbreakpoint.c (bpfinishpy_init): Update.
14258         * python/py-breakpoint.c (bppy_init): Update.
14259         * probe.c (parse_probes): Update.
14260         * mi/mi-cmd-break.c (mi_cmd_break_insert_1): Update.
14261         * location.h (event_location_deleter): New struct.
14262         (event_location_up): New typedef.
14263         (new_linespec_location, new_address_location, new_probe_location)
14264         (new_explicit_location, copy_event_location)
14265         (string_to_event_location, string_to_event_location_basic)
14266         (string_to_explicit_location): Update return type.
14267         (make_cleanup_delete_event_location): Remove.
14268         * location.c (new_linespec_location, new_address_location)
14269         (new_probe_location, new_explicit_location, copy_event_location):
14270         Return event_location_up.
14271         (delete_event_location_cleanup)
14272         (make_cleanup_delete_event_location): Remove.
14273         (string_to_explicit_location, string_to_event_location_basic)
14274         (string_to_event_location): Return event_location_up.
14275         * linespec.c (canonicalize_linespec, event_location_to_sals)
14276         (decode_line_with_current_source)
14277         (decode_line_with_last_displayed, decode_objc): Update.
14278         * guile/scm-breakpoint.c (gdbscm_register_breakpoint_x): Update.
14279         * completer.c (location_completer): Update.
14280         * cli/cli-cmds.c (edit_command, list_command): Update.
14281         * breakpoint.c (create_overlay_event_breakpoint)
14282         (create_longjmp_master_breakpoint)
14283         (create_std_terminate_master_breakpoint)
14284         (create_exception_master_breakpoint)
14285         (create_thread_event_breakpoint): Update.
14286         (init_breakpoint_sal): Update.  Remove some dead code.
14287         (create_breakpoint_sal): Change type of "location".  Update.
14288         (create_breakpoints_sal, create_breakpoint, break_command_1)
14289         (dprintf_command, break_range_command, until_break_command)
14290         (init_ada_exception_breakpoint)
14291         (strace_marker_create_sals_from_location)
14292         (update_static_tracepoint, trace_command, ftrace_command)
14293         (strace_command, create_tracepoint_from_upload): Update.
14294         * break-catch-throw.c (re_set_exception_catchpoint): Update.
14295         * ax-gdb.c (agent_command_1): Update.
14296
14297 2017-04-12  Pedro Alves  <palves@redhat.com>
14298
14299         * Makefile.in (ALL_TARGET_OBS): Add i386-go32-tdep.o.
14300         * configure.tgt: Handle i[34567]86-*-go32* and
14301         i[34567]86-*-msdosdjgpp*.
14302         * i386-tdep.c (i386_svr4_reg_to_regnum):
14303         Make extern.
14304         (i386_go32_init_abi, i386_coff_osabi_sniffer): Moved to
14305         i386-go32-tdep.c.
14306         (_initialize_i386_tdep): DJGPP bits moved to i386-go32-tdep.c.
14307         * i386-go32-tdep.c: New file.
14308         * i386-tdep.h (tdesc_i386_mmx, i386_svr4_reg_to_regnum): New
14309         declarations.
14310
14311 2017-04-12  Simon Marchi  <simon.marchi@ericsson.com>
14312
14313         * aix-thread.c (pd_status2str): Change return type to const char *.
14314
14315 2017-04-12  Pedro Alves  <palves@redhat.com>
14316
14317         * i386-tdep.c (i386_elf_init_abi, i386_go32_init_abi): Remove
14318         calls to set_gdbarch_gnu_triplet_regexp.
14319
14320 2017-04-12  Pedro Alves  <palves@redhat.com>
14321
14322         PR gdb/21323
14323         * c-lang.c (cplus_primitive_types) <cplus_primitive_type_wchar_t>:
14324         New enum value.
14325         (cplus_language_arch_info): Register cplus_primitive_type_wchar_t.
14326         * gdbtypes.h (struct builtin_type) <builtin_wchar>: New field.
14327         * gdbtypes.c (gdbtypes_post_init): Create the "wchar_t" type.
14328         * gdbarch.sh (wchar_bit, wchar_signed): New per-arch values.
14329         * gdbarch.h, gdbarch.c: Regenerate.
14330         * aarch64-tdep.c (aarch64_gdbarch_init): Override
14331         gdbarch_wchar_bit and gdbarch_wchar_signed.
14332         * alpha-tdep.c (alpha_gdbarch_init): Likewise.
14333         * arm-tdep.c (arm_gdbarch_init): Likewise.
14334         * avr-tdep.c (avr_gdbarch_init): Likewise.
14335         * h8300-tdep.c (h8300_gdbarch_init): Likewise.
14336         * i386-nto-tdep.c (i386nto_init_abi): Likewise.
14337         * i386-tdep.c (i386_go32_init_abi): Likewise.
14338         * m32r-tdep.c (m32r_gdbarch_init): Likewise.
14339         * moxie-tdep.c (moxie_gdbarch_init): Likewise.
14340         * nds32-tdep.c (nds32_gdbarch_init): Likewise.
14341         * rs6000-aix-tdep.c (rs6000_aix_init_osabi): Likewise.
14342         * sh-tdep.c (sh_gdbarch_init): Likewise.
14343         * sparc-tdep.c (sparc32_gdbarch_init): Likewise.
14344         * sparc64-tdep.c (sparc64_init_abi): Likewise.
14345         * windows-tdep.c (windows_init_abi): Likewise.
14346         * xstormy16-tdep.c (xstormy16_gdbarch_init): Likewise.
14347
14348 2017-04-12  Pedro Alves  <palves@redhat.com>
14349
14350         PR c++/21323
14351         * c-lang.c (cplus_primitive_types) <cplus_primitive_type_char16_t,
14352         cplus_primitive_type_char32_t>: New enum values.
14353         (cplus_language_arch_info): Register cplus_primitive_type_char16_t
14354         and cplus_primitive_type_char32_t.
14355         * dwarf2read.c (read_base_type) <DW_ATE_UTF>: If bit size is 16 or
14356         32, use the archtecture's built-in type for char16_t and char32_t,
14357         respectively.  Otherwise, fallback to init_integer_type as before,
14358         but make the type unsigned, and issue a complaint.
14359         * gdbtypes.c (gdbtypes_post_init): Make char16_t and char32_t unsigned.
14360
14361 2017-04-12  Alan Hayward  <alan.hayward@arm.com>
14362
14363         * m32r-tdep.c (M32R_ARG_REGISTER_SIZE): Added.
14364         (m32r_push_dummy_call): Use M32R_ARG_REGISTER_SIZE.
14365
14366 2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
14367
14368         * windows-nat.c (windows_create_inferior): Declare 'toexec' as
14369         'const char *'.
14370
14371 2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
14372
14373         * common/common-utils.c (free_vector_argv): New function.
14374         * common/common-utils.h: Include <vector>.
14375         (free_vector_argv): New prototype.
14376         * darwin-nat.c (darwin_create_inferior): Rewrite function
14377         prototype in order to constify "exec_file" and accept a
14378         "std::string" for "allargs".
14379         * fork-child.c: Include <vector>.
14380         (breakup_args): Rewrite function, using C++.
14381         (fork_inferior): Rewrite function header, constify "exec_file_arg"
14382         and accept "std::string" for "allargs".  Update the code to
14383         calculate "argv" based on "allargs".  Update calls to "exec_fun"
14384         and "execvp".
14385         * gnu-nat.c (gnu_create_inferior): Rewrite function prototype in
14386         order to constify "exec_file" and accept a "std::string" for
14387         "allargs".
14388         * go32-nat.c (go32_create_inferior): Likewise.
14389         * inf-ptrace.c (inf_ptrace_create_inferior): Likewise.
14390         * infcmd.c (run_command_1): Constify "exec_file".  Use
14391         "std::string" for inferior arguments.
14392         * inferior.h (fork_inferior): Update prototype.
14393         * linux-nat.c (linux_nat_create_inferior): Rewrite function
14394         prototype in order to constify "exec_file" and accept a
14395         "std::string" for "allargs".
14396         * nto-procfs.c (procfs_create_inferior): Likewise.
14397         * procfs.c (procfs_create_inferior): Likewise.
14398         * remote-sim.c (gdbsim_create_inferior): Likewise.
14399         * remote.c (extended_remote_run): Update code to accept
14400         "std::string" as argument.
14401         (extended_remote_create_inferior): Rewrite function prototype in
14402         order to constify "exec_file" and accept a "std::string" for
14403         "allargs".
14404         * rs6000-nat.c (super_create_inferior): Likewise.
14405         (rs6000_create_inferior): Likewise.
14406         * target.h (struct target_ops) <to_create_inferior>: Likewise.
14407         * windows-nat.c (windows_create_inferior): Likewise.
14408
14409 2017-04-11  Pedro Alves  <palves@redhat.com>
14410
14411         * thread.c: Fix whitespace throughout.
14412
14413 2017-04-11  Philipp Rudo  <prudo@linux.vnet.ibm.com>
14414
14415         * linux-nat.c (linux_nat_detach): Remove delete_lwp call.
14416
14417 2017-04-11  Alan Hayward  <alan.hayward@arm.com>
14418
14419         * arm-tdep.c (arm_store_return_value): Use FP_REGISTER_SIZE
14420
14421 2017-04-10  Sergio Durigan Junior  <sergiodj@redhat.com>
14422
14423         PR gdb/21364
14424         * osdata.c (info_osdata): Check if 'type' is an empty string
14425         instead of NULL.
14426
14427 2017-04-10  Pedro Alves  <palves@redhat.com>
14428
14429         * thread.c (add_thread_silent, delete_thread_1, find_thread_ptid)
14430         (ptid_to_global_thread_id, in_thread_list)
14431         (do_captured_list_thread_ids, set_resumed, set_running)
14432         (set_executing, set_stop_requested, finish_thread_state)
14433         (validate_registers_access, can_access_registers_ptid)
14434         (print_thread_info_1, switch_to_thread)
14435         (do_restore_current_thread_cleanup)
14436         (make_cleanup_restore_current_thread, thread_command)
14437         (thread_name_command): Use operator== instead of ptid_equal.
14438
14439 2017-04-10  Pedro Alves  <palves@redhat.com>
14440
14441         * thread.c (struct current_thread_cleanup) <next>: Delete field.
14442         (current_thread_cleanup_chain): Delete.
14443         (restore_current_thread_cleanup_dtor)
14444         (make_cleanup_restore_current_thread): Remove references to
14445         current_thread_cleanup_chain.
14446
14447 2017-04-10  Alan Hayward  <alan.hayward@arm.com>
14448
14449         * msp430-tdep.c (msp430_pseudo_register_read): Never return
14450         REG_UNKNOWN.
14451
14452 2017-04-10  Yao Qi  <yao.qi@linaro.org>
14453
14454         PR gdb/19942
14455         * gdbthread.h (thread_info::deletable): New method.
14456         (thread_info::incref): New method.
14457         (thread_info::decref): New method.
14458         (thread_info::refcount): Move it to private.
14459         * infrun.c (save_stop_context): Call inc_refcount.
14460         (release_stop_context_cleanup): Likewise.
14461         * thread.c (set_thread_exited): New function.
14462         (init_thread_list): Delete "tp" only it is deletable, otherwise
14463         call set_thread_exited.
14464         (delete_thread_1): Call set_thread_exited.
14465         (current_thread_cleanup) <inferior_pid>: Remove.
14466         <thread>: New field.
14467         (restore_current_thread_ptid_changed): Removed.
14468         (do_restore_current_thread_cleanup): Adjust.
14469         (restore_current_thread_cleanup_dtor): Don't call
14470         find_thread_ptid.
14471         (set_thread_refcount): Use dec_refcount.
14472         (make_cleanup_restore_current_thread): Adjust.
14473         (thread_apply_all_command): Call inc_refcount.
14474         (_initialize_thread): Don't call
14475         observer_attach_thread_ptid_changed.
14476
14477 2017-04-10  Yao Qi  <yao.qi@linaro.org>
14478
14479         * thread.c (delete_thread_1): Hoist code on marking thread as
14480         exited.
14481
14482 2017-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
14483
14484         * windows-nat.c (windows_detach): Initialize ptid with
14485         minus_one_ptid.
14486
14487 2017-04-07  Simon Marchi  <simon.marchi@ericsson.com>
14488
14489         * unittests/ptid-selftests.c: Fix erroneous assert messages.
14490
14491 2017-04-07  Alan Hayward  <alan.hayward@arm.com>
14492
14493         * bfin-tdep.c (BFIN_MAX_REGISTER_SIZE): Add.
14494         (bfin_pseudo_register_read): Use BFIN_MAX_REGISTER_SIZE.
14495         (bfin_pseudo_register_write): Likewise
14496
14497 2017-04-06  Simon Marchi  <simon.marchi@ericsson.com>
14498
14499         * common/ptid.h (struct ptid): Change to...
14500         (class ptid_t): ... this.
14501         <ptid_t>: New constructors.
14502         <pid, lwp_p, lwp, tid_p, tid, is_pid, operator==, operator!=,
14503         matches>: New methods.
14504         <make_null, make_minus_one>: New static methods.
14505         <pid>: Rename to...
14506         <m_pid>: ...this.
14507         <lwp>: Rename to...
14508         <m_lwp>: ...this.
14509         <tid>: Rename to...
14510         <m_tid>: ...this.
14511         (ptid_build, ptid_get_pid, ptid_get_lwp, ptid_get_tid, ptid_equal,
14512         ptid_is_pid, ptid_lwp_p, ptid_tid_p, ptid_match): Take ptid arguments
14513         as references, move comment to class ptid_t.
14514         * common/ptid.c (null_ptid, minus_one_ptid): Initialize with
14515         ptid_t static methods.
14516         (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_tid,
14517         ptid_equal, ptid_is_pid, ptid_lwp_p, ptid_tid_p, ptid_match):
14518         Take ptid arguments as references, implement using ptid_t methods.
14519         * unittests/ptid-selftests.c: New file.
14520         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
14521         unittests/ptid-selftests.c.
14522         (SUBDIR_UNITTESTS_OBS): Add unittests/ptid-selftests.o.
14523
14524 2017-04-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
14525
14526         * python/python.c (python_run_simple_file): Cast mode literal to
14527         non-const char pointer as expected by PyFile_FromString.
14528
14529 2017-04-05  Simon Marchi  <simon.marchi@ericsson.com>
14530
14531         * common/ptid.c (ptid_lwp_p, ptid_tid_p): Remove comparison with
14532         minus_one_ptid and null_ptid.
14533
14534 2017-04-05  Pedro Alves  <palves@redhat.com>
14535
14536         * warning.m4 (build_warnings): Remove -Wno-write-strings.
14537         * configure: Regenerate.
14538
14539 2017-04-05  Pedro Alves  <palves@redhat.com>
14540
14541         * ada-exp.y (yyerror): Constify.
14542         * ada-lang.c (bound_name, get_selections)
14543         (ada_variant_discrim_type)
14544         (ada_variant_discrim_name, ada_value_struct_elt)
14545         (ada_lookup_struct_elt_type, is_unchecked_variant)
14546         (ada_which_variant_applies, standard_exc, ada_get_next_arg)
14547         (catch_ada_exception_command_split)
14548         (catch_ada_assert_command_split, catch_assert_command)
14549         (ada_op_name): Constify.
14550         * ada-lang.h (ada_yyerror, get_selections)
14551         (ada_variant_discrim_name, ada_value_struct_elt): Constify.
14552         * arc-tdep.c (arc_print_frame_cache): Constify.
14553         * arm-tdep.c (arm_skip_stub): Constify.
14554         * ax-gdb.c (gen_binop, gen_struct_ref_recursive, gen_struct_ref)
14555         (gen_aggregate_elt_ref): Constify.
14556         * bcache.c (print_bcache_statistics): Constify.
14557         * bcache.h (print_bcache_statistics): Constify.
14558         * break-catch-throw.c (catch_exception_command_1):
14559         * breakpoint.c (struct ep_type_description::description):
14560         Constify.
14561         (add_solib_catchpoint): Constify.
14562         (catch_fork_command_1): Add cast.
14563         (add_catch_command): Constify.
14564         * breakpoint.h (add_catch_command, add_solib_catchpoint):
14565         Constify.
14566         * bsd-uthread.c (bsd_uthread_state): Constify.
14567         * buildsym.c (patch_subfile_names): Constify.
14568         * buildsym.h (next_symbol_text_func, patch_subfile_names):
14569         Constify.
14570         * c-exp.y (yyerror): Constify.
14571         (token::oper): Constify.
14572         * c-lang.h (c_yyerror, cp_print_class_member): Constify.
14573         * c-varobj.c (cplus_describe_child): Constify.
14574         * charset.c (find_charset_names): Add cast.
14575         (find_charset_names): Constify array and add const_cast.
14576         * cli/cli-cmds.c (complete_command, cd_command): Constify.
14577         (edit_command): Constify.
14578         * cli/cli-decode.c (lookup_cmd): Constify.
14579         * cli/cli-dump.c (dump_memory_command, dump_value_command):
14580         Constify.
14581         (struct dump_context): Constify.
14582         (add_dump_command, restore_command): Constify.
14583         * cli/cli-script.c (get_command_line): Constify.
14584         * cli/cli-script.h (get_command_line): Constify.
14585         * cli/cli-utils.c (check_for_argument): Constify.
14586         * cli/cli-utils.h (check_for_argument): Constify.
14587         * coff-pe-read.c (struct read_pe_section_data): Constify.
14588         * command.h (lookup_cmd): Constify.
14589         * common/print-utils.c (decimal2str): Constify.
14590         * completer.c (gdb_print_filename): Constify.
14591         * corefile.c (set_gnutarget): Constify.
14592         * cp-name-parser.y (yyerror): Constify.
14593         * cp-valprint.c (cp_print_class_member): Constify.
14594         * cris-tdep.c (cris_register_name, crisv32_register_name):
14595         Constify.
14596         * d-exp.y (yyerror): Constify.
14597         (struct token::oper): Constify.
14598         * d-lang.h (d_yyerror): Constify.
14599         * dbxread.c (struct header_file_location::name): Constify.
14600         (add_old_header_file, add_new_header_file, last_function_name)
14601         (dbx_next_symbol_text, add_bincl_to_list)
14602         (find_corresponding_bincl_psymtab, set_namestring)
14603         (find_stab_function_addr, read_dbx_symtab, start_psymtab)
14604         (dbx_end_psymtab, read_ofile_symtab, process_one_symbol):
14605         * defs.h (command_line_input, print_address_symbolic)
14606         (deprecated_readline_begin_hook): Constify.
14607         * dwarf2read.c (anonymous_struct_prefix, dwarf_bool_name):
14608         Constify.
14609         * event-top.c (handle_line_of_input): Constify and add cast.
14610         * exceptions.c (catch_errors): Constify.
14611         * exceptions.h (catch_errors): Constify.
14612         * expprint.c (print_subexp_standard, op_string, op_name)
14613         (op_name_standard, dump_raw_expression, dump_raw_expression):
14614         * expression.h (op_name, op_string, dump_raw_expression):
14615         Constify.
14616         * f-exp.y (yyerror): Constify.
14617         (struct token::oper): Constify.
14618         (struct f77_boolean_val::name): Constify.
14619         * f-lang.c (f_word_break_characters): Constify.
14620         * f-lang.h (f_yyerror): Constify.
14621         * fork-child.c (fork_inferior): Add cast.
14622         * frv-tdep.c (struct gdbarch_tdep::register_names): Constify.
14623         (new_variant): Constify.
14624         * gdbarch.sh (pstring_ptr, pstring_list): Constify.
14625         * gdbarch.c: Regenerate.
14626         * gdbcore.h (set_gnutarget): Constify.
14627         * go-exp.y (yyerror): Constify.
14628         (token::oper): Constify.
14629         * go-lang.h (go_yyerror): Constify.
14630         * go32-nat.c (go32_sysinfo): Constify.
14631         * guile/scm-breakpoint.c (gdbscm_breakpoint_expression): Constify.
14632         * guile/scm-cmd.c (cmdscm_function): Constify.
14633         * guile/scm-param.c (pascm_param_value): Constify.
14634         * h8300-tdep.c (h8300_register_name, h8300s_register_name)
14635         (h8300sx_register_name): Constify.
14636         * hppa-tdep.c (hppa32_register_name, hppa64_register_name):
14637         Constify.
14638         * ia64-tdep.c (ia64_register_names): Constify.
14639         * infcmd.c (construct_inferior_arguments): Constify.
14640         (path_command, attach_post_wait): Constify.
14641         * language.c (show_range_command, show_case_command)
14642         (unk_lang_error): Constify.
14643         * language.h (language_defn::la_error)
14644         (language_defn::la_name_of_this): Constify.
14645         * linespec.c (decode_line_2): Constify.
14646         * linux-thread-db.c (thread_db_err_str): Constify.
14647         * lm32-tdep.c (lm32_register_name): Constify.
14648         * m2-exp.y (yyerror): Constify.
14649         * m2-lang.h (m2_yyerror): Constify.
14650         * m32r-tdep.c (m32r_register_names): Constify and make static.
14651         * m68hc11-tdep.c (m68hc11_register_names): Constify.
14652         * m88k-tdep.c (m88k_register_name): Constify.
14653         * macroexp.c (appendmem): Constify.
14654         * mdebugread.c (fdr_name, add_data_symbol, parse_type)
14655         (upgrade_type, parse_external, parse_partial_symbols)
14656         (mdebug_next_symbol_text, cross_ref, mylookup_symbol, new_psymtab)
14657         (new_symbol): Constify.
14658         * memattr.c (mem_info_command): Constify.
14659         * mep-tdep.c (register_name_from_keyword): Constify.
14660         * mi/mi-cmd-env.c (mi_cmd_env_path, _initialize_mi_cmd_env):
14661         Constify.
14662         * mi/mi-cmd-stack.c (list_args_or_locals): Constify.
14663         * mi/mi-cmd-var.c (mi_cmd_var_show_attributes): Constify.
14664         * mi/mi-main.c (captured_mi_execute_command): Constify and add
14665         cast.
14666         (mi_execute_async_cli_command): Constify.
14667         * mips-tdep.c (mips_register_name): Constify.
14668         * mn10300-tdep.c (register_name, mn10300_generic_register_name)
14669         (am33_register_name, am33_2_register_name)
14670         * moxie-tdep.c (moxie_register_names): Constify.
14671         * nat/linux-osdata.c (osdata_type): Constify fields.
14672         * nto-tdep.c (nto_parse_redirection): Constify.
14673         * objc-lang.c (lookup_struct_typedef, lookup_objc_class)
14674         (lookup_child_selector): Constify.
14675         (objc_methcall::name): Constify.
14676         * objc-lang.h (lookup_objc_class, lookup_child_selector)
14677         (lookup_struct_typedef): Constify.
14678         * objfiles.c (pc_in_section): Constify.
14679         * objfiles.h (pc_in_section): Constify.
14680         * p-exp.y (struct token::oper): Constify.
14681         (yyerror): Constify.
14682         * p-lang.h (pascal_yyerror): Constify.
14683         * parser-defs.h (op_name_standard): Constify.
14684         (op_print::string): Constify.
14685         (exp_descriptor::op_name): Constify.
14686         * printcmd.c (print_address_symbolic): Constify.
14687         * psymtab.c (print_partial_symbols): Constify.
14688         * python/py-breakpoint.c (stop_func): Constify.
14689         (bppy_get_expression): Constify.
14690         * python/py-cmd.c (cmdpy_completer::name): Constify.
14691         (cmdpy_function): Constify.
14692         * python/py-event.c (evpy_add_attribute)
14693         (gdbpy_initialize_event_generic): Constify.
14694         * python/py-event.h (evpy_add_attribute)
14695         (gdbpy_initialize_event_generic): Constify.
14696         * python/py-evts.c (add_new_registry): Constify.
14697         * python/py-finishbreakpoint.c (outofscope_func): Constify.
14698         * python/py-framefilter.c (get_py_iter_from_func): Constify.
14699         * python/py-inferior.c (get_buffer): Add cast.
14700         * python/py-param.c (parm_constant::name): Constify.
14701         * python/py-unwind.c (fprint_frame_id): Constify.
14702         * python/python.c (gdbpy_parameter_value): Constify.
14703         * remote-fileio.c (remote_fio_func_map): Make 'name' const.
14704         * remote.c (memory_packet_config::name): Constify.
14705         (show_packet_config_cmd, remote_write_bytes)
14706         (remote_buffer_add_string):
14707         * reverse.c (exec_reverse_once): Constify.
14708         * rs6000-tdep.c (variant::name, variant::description): Constify.
14709         * rust-exp.y (rustyyerror): Constify.
14710         * rust-lang.c (rust_op_name): Constify.
14711         * rust-lang.h (rustyyerror): Constify.
14712         * serial.h (serial_ops::name): Constify.
14713         * sh-tdep.c (sh_sh_register_name, sh_sh3_register_name)
14714         (sh_sh3e_register_name, sh_sh2e_register_name)
14715         (sh_sh2a_register_name, sh_sh2a_nofpu_register_name)
14716         (sh_sh_dsp_register_name, sh_sh3_dsp_register_name)
14717         (sh_sh4_register_name, sh_sh4_nofpu_register_name)
14718         (sh_sh4al_dsp_register_name): Constify.
14719         * sh64-tdep.c (sh64_register_name): Constify.
14720         * solib-darwin.c (lookup_symbol_from_bfd): Constify.
14721         * spu-tdep.c (spu_register_name, info_spu_dma_cmdlist): Constify.
14722         * stabsread.c (patch_block_stabs, read_type_number)
14723         (ref_map::stabs, ref_add, process_reference)
14724         (symbol_reference_defined, define_symbol, define_symbol)
14725         (error_type, read_type, read_member_functions, read_cpp_abbrev)
14726         (read_one_struct_field, read_struct_fields, read_baseclasses)
14727         (read_tilde_fields, read_struct_type, read_array_type)
14728         (read_enum_type, read_sun_builtin_type, read_sun_floating_type)
14729         (read_huge_number, read_range_type, read_args, common_block_start)
14730         (find_name_end): Constify.
14731         * stabsread.h (common_block_start, define_symbol)
14732         (process_one_symbol, symbol_reference_defined, ref_add):
14733         * symfile.c (get_section_index, add_symbol_file_command):
14734         * symfile.h (get_section_index): Constify.
14735         * target-descriptions.c (tdesc_type::name): Constify.
14736         (tdesc_free_type): Add cast.
14737         * target.c (find_default_run_target):
14738         (add_deprecated_target_alias, find_default_run_target)
14739         (target_announce_detach): Constify.
14740         (do_option): Constify.
14741         * target.h (add_deprecated_target_alias): Constify.
14742         * thread.c (print_thread_info_1): Constify.
14743         * top.c (deprecated_readline_begin_hook, command_line_input):
14744         Constify.
14745         (init_main): Add casts.
14746         * top.h (handle_line_of_input): Constify.
14747         * tracefile-tfile.c (tfile_write_uploaded_tsv): Constify.
14748         * tracepoint.c (tvariables_info_1, trace_status_mi): Constify.
14749         (tfind_command): Rename to ...
14750         (tfind_command_1): ... this and constify.
14751         (tfind_command): New function.
14752         (tfind_end_command, tfind_start_command): Adjust.
14753         (encode_source_string): Constify.
14754         * tracepoint.h (encode_source_string): Constify.
14755         * tui/tui-data.c (tui_partial_win_by_name): Constify.
14756         * tui/tui-data.h (tui_partial_win_by_name): Constify.
14757         * tui/tui-source.c (tui_set_source_content_nil): Constify.
14758         * tui/tui-source.h (tui_set_source_content_nil): Constify.
14759         * tui/tui-win.c (parse_scrolling_args): Constify.
14760         * tui/tui-windata.c (tui_erase_data_content): Constify.
14761         * tui/tui-windata.h (tui_erase_data_content): Constify.
14762         * tui/tui-winsource.c (tui_erase_source_content): Constify.
14763         * tui/tui.c (tui_enable): Add cast.
14764         * utils.c (defaulted_query): Constify.
14765         (init_page_info): Add cast.
14766         (puts_debug, subset_compare): Constify.
14767         * utils.h (subset_compare): Constify.
14768         * varobj.c (varobj_format_string): Constify.
14769         * varobj.h (varobj_format_string): Constify.
14770         * vax-tdep.c (vax_register_name): Constify.
14771         * windows-nat.c (windows_detach): Constify.
14772         * xcoffread.c (process_linenos, xcoff_next_symbol_text): Constify.
14773         * xml-support.c (gdb_xml_end_element): Constify.
14774         * xml-tdesc.c (tdesc_start_reg): Constify.
14775         * xstormy16-tdep.c (xstormy16_register_name): Constify.
14776         * xtensa-tdep.c (xtensa_find_register_by_name): Constify.
14777         * xtensa-tdep.h (xtensa_register_t::name): Constify.
14778
14779 2017-04-05  Pedro Alves  <palves@redhat.com>
14780
14781         * proc-api.c (struct trans): Constify.
14782         (procfs_note): Constify.
14783         * proc-events.c (struct trans, syscall_table):
14784         * proc-flags.c (struct trans): Constify.
14785         * proc-utils.h (procfs_note): Constify.
14786         * proc-why.c (struct trans): Constify.
14787         * procfs.c (dead_procinfo, find_syscall, proc_warn, proc_error)
14788         (procfs_detach): Constify.
14789         * sol-thread.c (struct string_map): Constify.
14790         (td_err_string, td_state_string): Constify.
14791
14792 2017-04-05  Pedro Alves  <palves@redhat.com>
14793
14794         * proc-api.c (procfs_filename): Don't initialize
14795         procfs_filename.
14796         (prepare_to_trace): Assume procfs_filename is non-NULL.
14797         (_initialize_proc_api): Give procfs_filename a default value here.
14798
14799 2017-04-05  Pedro Alves  <palves@redhat.com>
14800
14801         * break-catch-throw.c (handle_gnu_v3_exceptions): Constify
14802         'cond_string' parameter.
14803         (extract_exception_regexp): Constify 'string' parameter.
14804         (catch_exception_command_1): Constify.
14805         * breakpoint.c (init_catchpoint)
14806         (create_fork_vfork_event_catchpoint): Constify 'cond_string'
14807         parameter.
14808         (ep_parse_optional_if_clause, catch_fork_command_1)
14809         (catch_exec_command_1): Constify.
14810         * breakpoint.h (init_catchpoint): Constify 'cond_string'
14811         parameter.
14812         (ep_parse_optional_if_clause): Constify.
14813         * cli/cli-utils.c (remove_trailing_whitespace)
14814         (check_for_argument): Constify.
14815         * cli/cli-utils.h (remove_trailing_whitespace): Constify and add
14816         non-const overload.
14817         (check_for_argument): Likewise.
14818
14819 2017-04-05  Pedro Alves  <palves@redhat.com>
14820
14821         * event-top.c (command_line_handler): Add cast to execute_command
14822         call.
14823         * record-btrace.c (cmd_record_btrace_bts_start)
14824         (cmd_record_btrace_pt_start, cmd_record_btrace_start)
14825         (cmd_record_btrace_start): Add cast to execute_command call.
14826         * record-full.c (record_full_goto_insn):
14827         * record.c (record_start, record_stop): Add cast to
14828         execute_command_to_string calls.
14829         (cmd_record_start): Add cast to execute_command calls.
14830
14831 2017-04-05  Pedro Alves  <palves@redhat.com>
14832
14833         * python/python-internal.h (gdb_PyArg_ParseTupleAndKeywords): New
14834         static inline function.
14835         * python/py-arch.c (archpy_disassemble): Constify 'keywords'
14836         array and use gdb_PyArg_ParseTupleAndKeywords.
14837         * python/py-cmd.c (cmdpy_init): Likewise.
14838         * python/py-finishbreakpoint.c (bpfinishpy_init): Likewise.
14839         * python/py-inferior.c (infpy_read_memory, infpy_write_memory)
14840         (infpy_search_memory): Likewise.
14841         * python/py-objfile.c (objfpy_add_separate_debug_file)
14842         (gdbpy_lookup_objfile): Likewise.
14843         * python/py-symbol.c (gdbpy_lookup_symbol)
14844         (gdbpy_lookup_global_symbol): Likewise.
14845         * python/py-type.c (gdbpy_lookup_type): Likewise.
14846         * python/py-value.c (valpy_lazy_string, valpy_string): Likewise.
14847         * python/python.c (execute_gdb_command, gdbpy_write, gdbpy_flush):
14848         Likewise.
14849
14850 2017-04-05  Pedro Alves  <palves@redhat.com>
14851
14852         * python/python-internal.h (gdb_PyGetSetDef): New type.
14853         * python/py-block.c (block_object_getset)
14854         (breakpoint_object_getset): Now a gdb_PyGetSetDef array.
14855         * python/py-event.c (event_object_getset)
14856         (finish_breakpoint_object_getset): Likewise.
14857         * python/py-inferior.c (inferior_object_getset): Likewise.
14858         * python/py-infthread.c (thread_object_getset): Likewise.
14859         * python/py-lazy-string.c (lazy_string_object_getset): Likewise.
14860         * python/py-linetable.c (linetable_entry_object_getset): Likewise.
14861         * python/py-objfile.c (objfile_getset): Likewise.
14862         * python/py-progspace.c (pspace_getset): Likewise.
14863         * python/py-record-btrace.c (btpy_insn_getset, btpy_call_getset):
14864         Likewise.
14865         * python/py-record.c (recpy_record_getset): Likewise.
14866         * python/py-symbol.c (symbol_object_getset): Likewise.
14867         * python/py-symtab.c (symtab_object_getset, sal_object_getset):
14868         Likewise.
14869         * python/py-type.c (type_object_getset, field_object_getset):
14870         Likewise.
14871         * python/py-value.c (value_object_getset): Likewise.
14872
14873 2017-04-05  Pedro Alves  <palves@redhat.com>
14874
14875         * python/python-internal.h (gdb_PyObject_CallMethod)
14876         (gdb_PyErr_NewException, gdb_PySys_GetObject, gdb_PySys_SetPath):
14877         New functions.
14878         (GDB_PYSYS_SETPATH_CHAR, PyObject_CallMethod, PyErr_NewException)
14879         (PySys_GetObject, PySys_SetPath): New macros.
14880
14881 2017-04-05  Pedro Alves  <palves@redhat.com>
14882
14883         * mi/mi-cmd-info.c (mi_cmd_info_os): Call info_osdata instead of
14884         info_osdata_command.
14885         * osdata.c (info_osdata_command): Rename to ...
14886         (info_osdata): ... this.  Constify 'type' parameter, and remove
14887         the 'from_tty' parameter.  Accept NULL TYPE.
14888         (info_osdata_command): New function.
14889         * osdata.h (info_osdata_command): Remove declaration.
14890         (info_osdata): New declaration.
14891
14892 2017-04-05  Pedro Alves  <palves@redhat.com>
14893
14894         * mi/mi-cmd-break.c (mi_cmd_break_insert_1, mi_cmd_break_insert)
14895         (mi_cmd_dprintf_insert, mi_cmd_break_passcount)
14896         (mi_cmd_break_watch, mi_cmd_break_commands): Constify 'command'
14897         parameter.
14898         * mi/mi-cmd-catch.c (mi_cmd_catch_assert, mi_cmd_catch_exception)
14899         (mi_cmd_catch_load, mi_cmd_catch_unload): Constify cmd' parameter.
14900         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Constify 'command'
14901         parameter.
14902         * mi/mi-cmd-env.c (mi_cmd_env_pwd, mi_cmd_env_cd, mi_cmd_env_path)
14903         (mi_cmd_env_dir, mi_cmd_inferior_tty_set, _cmd_inferior_tty_show)
14904         * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file)
14905         (mi_cmd_file_list_exec_source_files)
14906         (mi_cmd_file_list_shared_libraries): Constify 'command' parameter.
14907         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions)
14908         (mi_cmd_info_gdb_mi_command, mi_cmd_info_os): Constify 'command'
14909         parameter.
14910         * mi/mi-cmd-stack.c (mi_cmd_enable_frame_filters)
14911         (mi_cmd_stack_list_frames, mi_cmd_stack_info_depth)
14912         (mi_cmd_stack_list_locals, mi_cmd_stack_list_args)
14913         (mi_cmd_stack_list_variables, mi_cmd_stack_select_frame)
14914         (mi_cmd_stack_info_frame): Constify 'command' parameter.
14915         * mi/mi-cmd-target.c (mi_cmd_target_file_get)
14916         (mi_cmd_target_file_put, mi_cmd_target_file_delete): Constify
14917         'command' parameter.
14918         * mi/mi-cmd-var.c (mi_cmd_var_create, mi_cmd_var_delete)
14919         (mi_cmd_var_set_format, mi_cmd_var_set_visualizer)
14920         (mi_cmd_var_set_frozen, mi_cmd_var_show_format)
14921         (mi_cmd_var_info_num_children, mi_cmd_var_list_children)
14922         (mi_cmd_var_info_type, mi_cmd_var_info_path_expression)
14923         (mi_cmd_var_info_expression, mi_cmd_var_show_attributes)
14924         (mi_cmd_var_evaluate_expression, mi_cmd_var_assign)
14925         (mi_cmd_var_update, mi_cmd_enable_pretty_printing)
14926         (mi_cmd_var_set_update_range): Constify 'command' parameter.
14927         * mi/mi-cmds.h (mi_cmd_argv_ftype): Constify 'command' parameter.
14928         * mi/mi-interp.c (mi_cmd_interpreter_exec): Constify 'command'
14929         parameter.
14930         * mi/mi-main.c (mi_cmd_gdb_exit, mi_cmd_exec_next)
14931         (mi_cmd_exec_next_instruction, mi_cmd_exec_step)
14932         (mi_cmd_exec_step_instruction, mi_cmd_exec_finish)
14933         (mi_cmd_exec_return ,mi_cmd_exec_jump, mi_cmd_exec_continue)
14934         (mi_cmd_exec_interrupt, mi_cmd_exec_run, mi_cmd_target_detach)
14935         (mi_cmd_target_flash_erase, mi_cmd_thread_select)
14936         (mi_cmd_thread_list_ids, mi_cmd_thread_info)
14937         (mi_cmd_list_thread_groups, mi_cmd_data_list_register_names)
14938         (mi_cmd_data_list_changed_registers)
14939         (mi_cmd_data_write_register_values)
14940         (mi_cmd_data_evaluate_expression, mi_cmd_data_read_memory)
14941         (mi_cmd_data_read_memory_bytes, mi_cmd_data_write_memory)
14942         (mi_cmd_data_write_memory_bytes, mi_cmd_enable_timings)
14943         (mi_cmd_list_features, mi_cmd_list_target_features)
14944         (mi_cmd_add_inferior, mi_cmd_remove_inferior)
14945         (mi_cmd_trace_define_variable, mi_cmd_trace_list_variables)
14946         (mi_cmd_trace_find, mi_cmd_trace_save, mi_cmd_trace_start)
14947         (mi_cmd_trace_status, mi_cmd_trace_stop, mi_cmd_ada_task_info)
14948         (mi_cmd_trace_frame_collected): Constify 'command'
14949         parameter.
14950         * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Constify
14951         'command' parameter.
14952
14953 2017-04-05  Pedro Alves  <palves@redhat.com>
14954
14955         * ada-lang.c (ada_completer_word_break_characters): Now a const
14956         array.
14957         (ada_get_gdb_completer_word_break_characters): Constify.
14958         * completer.c (gdb_completer_command_word_break_characters)
14959         (gdb_completer_file_name_break_characters)
14960         (gdb_completer_quote_characters): Now const arrays.
14961         (get_gdb_completer_quote_characters): Constify.
14962         (set_rl_completer_word_break_characters): New function.
14963         (set_gdb_completion_word_break_characters)
14964         (complete_line_internal): Use it.
14965         * completer.h (get_gdb_completer_quote_characters): Constify.
14966         (set_rl_completer_word_break_characters): Declare.
14967         * f-lang.c (f_word_break_characters): Constify.
14968         * language.c (default_word_break_characters): Constify.
14969         * language.h (language_defn::la_word_break_characters): Constify.
14970         (default_word_break_characters): Constify.
14971         * top.c (init_main): Use set_rl_completer_word_break_characters.
14972
14973 2017-04-05  Pedro Alves  <palves@redhat.com>
14974
14975         * aix-thread.c (aix_thread_pid_to_str)
14976         (aix_thread_extra_thread_info): Constify.
14977         * bsd-kvm.c (bsd_kvm_pid_to_str): Constify.
14978         * bsd-uthread.c (bsd_uthread_extra_thread_info)
14979         (bsd_uthread_pid_to_str): Constify.
14980         * corelow.c (core_pid_to_str): Constify.
14981         * darwin-nat.c (darwin_pid_to_str): Constify.
14982         * fbsd-nat.c (fbsd_pid_to_str): Constify.
14983         * fbsd-tdep.c (fbsd_core_pid_to_str, gdbarch_core_pid_to_str):
14984         Constify.
14985         * gnu-nat.c (gnu_pid_to_str): Constify.
14986         * go32-nat.c (go32_pid_to_str): Constify.
14987         * i386-cygwin-tdep.c (i386_windows_core_pid_to_str): Constify.
14988         * inf-ptrace.c (inf_ptrace_pid_to_str): Constify.
14989         * inferior.c (inferior_pid_to_str): Constify.
14990         * linux-nat.c (linux_nat_pid_to_str): Constify.
14991         * linux-tdep.c (linux_core_pid_to_str): Constify.
14992         * linux-thread-db.c (thread_db_pid_to_str)
14993         (thread_db_extra_thread_info): Constify.
14994         * nto-tdep.c (nto_extra_thread_info): Constify.
14995         * nto-tdep.h (nto_extra_thread_info): Constify.
14996         * obsd-nat.c (obsd_pid_to_str): Constify.
14997         * procfs.c (procfs_pid_to_str): Constify.
14998         * ravenscar-thread.c (ravenscar_extra_thread_info)
14999         (ravenscar_pid_to_str): Constify.
15000         * remote-sim.c (gdbsim_pid_to_str): Constify.
15001         * remote.c (remote_threads_extra_info, remote_pid_to_str):
15002         Constify.
15003         * sol-thread.c (solaris_pid_to_str): Constify.
15004         * sol2-tdep.c (sol2_core_pid_to_str): Constify.
15005         * sol2-tdep.h (sol2_core_pid_to_str): Constify.
15006         * target.c (default_pid_to_str, target_pid_to_str)
15007         (normal_pid_to_str, default_pid_to_str): Constify.
15008         * target.h (target_ops::to_pid_to_str)
15009         (target_ops::to_extra_thread_info): Constify.
15010         (target_pid_to_str, normal_pid_to_str): Constify.
15011         * windows-nat.c (windows_pid_to_str): Constify.
15012         * gdbarch.sh (core_pid_to_str): Constify.
15013         * target-delegates.c: Regenerate.
15014         * gdbarch.h, gdbarch.c: Regenerate.
15015
15016 2017-04-05  Pedro Alves  <palves@redhat.com>
15017
15018         * main.c (captured_main_1): Use gdb::unique_xmalloc_ptr to manage
15019         the memory of the temporary warning_pre_print override.
15020         * utils.c (warning_pre_print): Constify.
15021         * utils.h (warning_pre_print): Constify.
15022
15023 2017-04-05  Pedro Alves  <palves@redhat.com>
15024
15025         * cli/cli-cmds.c (shell_escape): Constify 'arg' parameter.
15026         (shell_command): New function.
15027         (make_command): Use std::string.
15028         (init_cli_cmds): Register shell_command instead of shell_escape.
15029
15030 2017-04-05  Pedro Alves  <palves@redhat.com>
15031
15032         * breakpoint.c (dprintf_function, dprintf_channel): Don't initialize.
15033         * tracepoint.c (default_collect): Don't initialize.
15034
15035 2017-04-05  Pedro Alves  <palves@redhat.com>
15036
15037         * macroexp.c (macro_buffer::shared): Now a bool.
15038         (init_buffer): Update.
15039         (init_shared_buffer): Constify 'addr' parameter.
15040         (substitute_args, expand, macro_expand, macro_expand_next): Remove
15041         casts.
15042
15043 2017-04-05  Pedro Alves  <palves@redhat.com>
15044
15045         * arm-tdep.c (show_disassembly_style_sfunc): Constify local.
15046         * disasm.c (set_disassembler_options): Constify local.
15047         * i386-tdep.c (i386_print_insn): Remove cast and FIXME comment.
15048
15049 2017-04-05  Sergio Durigan Junior  <sergiodj@redhat.com>
15050
15051         PR gdb/21352
15052         * tracefile.c (tsave_command): Fix argument parsing for '-r'
15053         option.
15054
15055 2017-04-05  Yao Qi  <yao.qi@linaro.org>
15056
15057         * frame.c (frame_unwind_register_unsigned): Call
15058         frame_unwind_register_value.
15059
15060 2017-04-05  Yao Qi  <yao.qi@linaro.org>
15061
15062         * gdb.threads/thread-specific-bp.exp (check_thread_specific_breakpoint):
15063         Use gdb_test_multiple, and don't match anchor.
15064
15065 2017-04-05  Pedro Alves  <palves@redhat.com>
15066
15067         * MAINTAINERS (Global Maintainers): Add Simon Marchi.
15068         (Write After Approval): Remove Simon Marchi.
15069
15070 2017-04-05  Pedro Alves  <palves@redhat.com>
15071
15072         * common/gdb_optional.h (optional::optional): Make constexpr and
15073         initialize m_dummy.
15074
15075 2017-04-04  John Baldwin  <jhb@FreeBSD.org>
15076
15077         * amd64-fbsd-tdep.c: Remove "bsd-uthread.h" include.
15078         (amd64fbsd_jmp_buf_reg_offset): Remove.
15079         (amd64fbsd_supply_uthread): Remove function.
15080         (amd64fbsd_collect_uthread): Remove function.
15081         (amd64fbsd_init_abi): Don't set bsd-uthread callbacks.
15082         * configure.tgt (i[34567]86-*-freebsd*): Remove bsd-uthread.o.
15083         (x86_64-*-freebsd*): Remove bsd-uthread.o.
15084         (fbsd-nat.c): Update comment.
15085         * i386-fbsd-tdep.c: Remove "bsd-uthread.h" include.
15086         (i386fbsd_jmp_buf_reg_offset): Remove.
15087         (i386fbsd_supply_uthread): Remove function.
15088         (i386fbsd_collect_uthread): Remove function.
15089         (i386fbsd_init_abi): Don't set bsd-uthread callbacks.
15090
15091 2017-04-04  John Baldwin  <jhb@FreeBSD.org>
15092
15093         * Makefile.in (ALL_64_TARGET_OBS): Remove alpha-fbsd-tdep.o.
15094         (ALLDEPFILES): Remove alpha-fbsd-tdep.c
15095         * NEWS: Mention that support for FreeBSD/alpha was removed.
15096         * alpha-fbsd-tdep.c: Delete file.
15097         * config/alpha/fbsd.mh: Delete file.
15098         * configure.host: Delete alpha*-*-freebsd* and
15099         alpha*-*-kfreebsd*-gnu.
15100         * configure.tgt: Delete alpha*-*-freebsd* and
15101         alpha*-*-kfreebsd*-gnu.
15102
15103 2017-04-04  John Baldwin  <jhb@FreeBSD.org>
15104
15105         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers,
15106         amd64bsd_store_inferior_registers): Use ptid from regcache.
15107
15108 2017-04-04  Pedro Alves  <palves@redhat.com>
15109
15110         * dwarf2read.c (lnp_state_machine): Now a class.  Initialize all
15111         data fields, make them private and add "m_" prefixes.
15112         (lnp_state_machine::lnp_state_machine): New ctor.
15113         (record_line, check_line_address, handle_set_discriminator)
15114         (handle_set_address, handle_advance_pc, handle_special_opcode)
15115         (handle_advance_line, handle_set_file, handle_negate_stmt)
15116         (handle_const_add_pc, handle_fixed_advance_pc, handle_copy)
15117         (end_sequence, advance_line): New methods.
15118         (m_gdbarch, m_record_lines_p): New fields.
15119         (lnp_reader_state): Delete.
15120         (dwarf_record_line): Rename to ...
15121         (lnp_state_machine::record_line): ... adjust.
15122         (init_lnp_state_machine): Delete.
15123         (lnp_state_machine::lnp_state_machine): New.
15124         (check_line_address): Rename to ...
15125         (lnp_state_machine::check_line_address): This.
15126         (dwarf_decode_lines_1): Remove reference to "reader_state".
15127         Adjust lnp_state_machine having a non-default ctor.  Use bool.
15128         State machine internal state manipulation moved to
15129         lnp_state_machine methods.
15130
15131 2017-04-04  Pedro Alves  <palves@redhat.com>
15132
15133         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
15134         unittests/offset-type-selftests.c.
15135         (SUBDIR_UNITTESTS_OBS): Add offset-type-selftests.o.
15136         * common/offset-type.h: New file.
15137         * common/preprocessor.h: New file.
15138         * common/traits.h: New file.
15139         * common/valid-expr.h: New file.
15140         * dwarf2expr.c: Include "common/underlying.h".  Adjust to use
15141         sect_offset and cu_offset strong typedefs throughout.
15142         * dwarf2expr.h: Adjust to use sect_offset and cu_offset strong
15143         typedefs throughout.
15144         * dwarf2loc.c: Include "common/underlying.h".  Adjust to use
15145         sect_offset and cu_offset strong typedefs throughout.
15146         * dwarf2read.c: Adjust to use sect_offset and cu_offset strong
15147         typedefs throughout.
15148         * gdbtypes.h: Include "common/offset-type.h".
15149         (cu_offset): Now an offset type (strong typedef) instead of a
15150         struct.
15151         (sect_offset): Likewise.
15152         (union call_site_parameter_u): Rename "param_offset" field to
15153         "param_cu_off".
15154         * unittests/offset-type-selftests.c: New file.
15155
15156 2017-04-04  Pedro Alves  <palves@redhat.com>
15157
15158         * common/underlying.h: New file.
15159         * dwarf2read.c: Include "common/gdb_optional.h" and
15160         "common/underlying.h".
15161         (dir_index, file_name_index): New types.
15162         (file_entry): Use them.
15163         (file_entry::include): Use to_underlying.
15164         (line_header::add_file_name): Use dir_index.
15165         (read_formatted_entries): Use gdb::optional.  Read form before
15166         writting to file_entry.
15167         (dwarf_decode_line_header): Use dir_index.
15168         (lnp_state_machine::current_file): Use to_underlying.
15169         (lnp_state_machine::file): Change type to file_name_index.
15170         (dwarf_record_line): Use to_underlying.
15171         (init_lnp_state_machine): Use file_name_index.
15172         (dwarf_decode_lines_1): Use dir_index and file_name_index.
15173
15174 2017-04-04  Pedro Alves  <palves@redhat.com>
15175
15176         * common/gdb_optional.h (gdb::optiona): Add operator->, operator*,
15177         operator bool, has_value and get methods.
15178
15179 2017-04-04  Pedro Alves  <palves@redhat.com>
15180
15181         * dwarf2read.c (struct file_entry): Add ctors, and initialize all
15182         fields.
15183         (line_header): Initialize all data fields.  Change type of
15184         standard_opcode_lengths to std::unique_ptr<unsigned char[]>.
15185         Change type of include_dirs to std::vector<const char *>.  Remove
15186         num_include_dirs, include_dirs_size.  Change type of file_names to
15187         std::vector<file_entry>.  Remove num_file_names, file_names_size.
15188         (line_header::line_header): New.
15189         (line_header::add_include_dir, line_header::add_file_name): New
15190         methods.
15191         (line_header::include_dir_at): Remove NULL check.
15192         (line_header::file_name_at): Add const overload.
15193         (line_header_up): New unique_ptr typedef.
15194         (dw2_get_file_names_reader): Use line_header_up.  Adjust to use
15195         std::vector.  Remove free_line_header call.
15196         (dwarf2_build_include_psymtabs): Use line_header_up.  Remove
15197         free_line_header call.
15198         (free_cu_line_header): Delete.
15199         (handle_DW_AT_stmt_list, handle_DW_AT_stmt_list)
15200         (setup_type_unit_groups): Use line_header_up instead of cleanups.
15201         Adjust to use std::vector.
15202         (free_line_header): Delete.
15203         (free_line_header_voidp): Use delete.
15204         (add_include_dir): Replace with ...
15205         (line_header::add_include_dir): ... this method.  Use std::vector.
15206         (add_file_name): Replace with ...
15207         (line_header::add_file_name): ... this method.  Use std::vector.
15208         (add_include_dir_stub): Delete.
15209         (read_formatted_entries): Remove memset.
15210         (dwarf_decode_line_header): Return a line_header_up instead of a
15211         raw pointer.  Remove cleanup handling.  Pass lambdas to
15212         read_formatted_entries.  Adjust to use line_header methods.
15213         (dwarf_decode_lines_1): Adjust to use line_header methods.
15214         (dwarf_decode_lines, file_file_name, file_full_name): Adjust to
15215         use std::vector.
15216
15217 2017-04-04  Simon Marchi  <simon.marchi@polymtl.ca>
15218
15219         * remote.c (set_general_thread, set_continue_thread): Use ptid_t
15220         instead of struct ptid.
15221
15222 2017-05-04  Alan Hayward  <alan.hayward@arm.com>
15223
15224         * frame.c (get_frame_register_bytes): Unwind using value.
15225         (put_frame_register_bytes): Likewise.
15226
15227 2017-03-30  Iain Buclaw  <ibuclaw@gdcproject.org>
15228
15229         * d-exp.y (type_aggregate_p): Treat TYPE_CODE_MODULE as being
15230         aggregate-like.
15231
15232 2017-03-29  Jan Kratochvil  <jan.kratochvil@redhat.com>
15233
15234         * auto-load.c (auto_load_section_scripts): Check SEC_HAS_CONTENTS.
15235
15236 2017-03-29  Yao Qi  <yao.qi@linaro.org>
15237
15238         * gdbthread.h (struct thread_info): Declare constructor and
15239         destructor.  Add some in-class member initializers.
15240         * thread.c (free_thread): Remove.
15241         (init_thread_list): Call delete instead of free_thread.
15242         (new_thread): Call thread_info constructor.
15243         (thread_info::thread_info): New function.
15244         (thread_info::~thread_info): New function.
15245         (delete_thread_1): Call delete instead of free_thread.
15246         (make_cleanup_restore_current_thread): Move tp and frame to
15247         inner block.
15248
15249 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15250
15251         * arc-tdep.c (arc_frame_cache): Add support for prologue analysis.
15252         (arc_skip_prologue): Likewise.
15253         (arc_make_frame_cache): Likewise.
15254         (arc_pv_get_operand): New function.
15255         (arc_is_in_prologue): Likewise.
15256         (arc_analyze_prologue): Likewise.
15257         (arc_print_frame_cache): Likewise.
15258         (MAX_PROLOGUE_LENGTH): New constant.
15259
15260 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15261
15262         * configure.tgt: Add arc-insn.o.
15263         * arc-tdep.c (arc_delayed_print_insn): Make non-static.
15264         (dump_arc_instruction_command): New function.
15265         (arc_fprintf_disasm): Likewise.
15266         (arc_disassemble_info): Likewise.
15267         (arc_insn_get_operand_value): Likewise.
15268         (arc_insn_get_operand_value_signed): Likewise.
15269         (arc_insn_get_memory_base_reg): Likewise.
15270         (arc_insn_get_memory_offset): Likewise.
15271         (arc_insn_get_branch_target): Likewise.
15272         (arc_insn_dump): Likewise.
15273         (arc_insn_get_linear_next_pc): Likewise.
15274         * arc-tdep.h (arc_delayed_print_insn): Add function declaration.
15275         (arc_disassemble_info): Likewise.
15276         (arc_insn_get_branch_target): Likewise.
15277         (arc_insn_get_linear_next_pc): Likewise.
15278         * NEWS: Mention new "maint print arc arc-instruction".
15279
15280 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15281
15282         * arc-tdep (maintenance_print_arc_list): New variable.
15283         (maintenance_print_arc_command): New function.
15284
15285 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15286
15287         * arc-tdep.c (core_v2_register_names, core_arcompact_register_names)
15288         Add "limm" and "reserved".
15289         (arc_cannot_fetch_register, arc_cannot_store_register): Add
15290         ARC_RESERVED_REGNUM and ARC_LIMM_REGNUM.
15291         * arc-tdep.h (arc_regnum): Likewise.
15292
15293 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15294
15295         * xtensa-linux-nat.c (fill_gregset): Call regcache_raw_collect
15296         for THREADPTR register.
15297         (supply_gregset_reg): Call regcache_raw_supply for THREADPTR
15298         register.
15299         * xtensa-tdep.c (XTENSA_DBREGN_UREG): New definition.
15300         (xtensa_derive_tdep): Initialize tdep->threadptr_regnum.
15301         * xtensa-tdep.h (gdbarch_tdep::threadptr_regnum): New field.
15302
15303 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15304
15305         * xtensa-tdep.c (xtensa_pseudo_register_read): Treat all
15306         registers above gdbarch_num_regs (gdbarch) as privileged in
15307         call0 ABI.
15308
15309 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15310
15311         * xtensa-linux-nat.c (fill_gregset): Call regcache_raw_collect
15312         for a single specified register or for all registers in
15313         a0_base..a0_base + C0_NREGS range.
15314         (supply_gregset_reg): Call regcache_raw_supply for a single
15315         specified register or for all registers in a0_base..a0_base +
15316         C0_NREGS range.
15317
15318 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15319
15320         * arch/xtensa.h (C0_NREGS): Add definition.
15321         * xtensa-tdep.c (C0_NREGS): Remove definition.
15322
15323 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15324
15325         * xtensa-tdep.c (xtensa_scan_prologue, call0_analyze_prologue):
15326         Drop xtensa_default_isa initialization.
15327         (xtensa_gdbarch_init): Initialize xtensa_default_isa.
15328
15329 2017-03-27  Pedro Alves  <palves@redhat.com>
15330
15331         * dwarf2read.c (file_entry) <dir_index>: Add comment.
15332         (file_entry::include_dir): New method.
15333         (line_header::include_dir_at, line_header::file_name_at): New
15334         methods.
15335         (setup_type_unit_groups, setup_type_unit_groups)
15336         (psymtab_include_file_name): Simplify using the new methods.
15337         (lnp_state_machine) <the_line_header>: New field.
15338         <file>: Add comment.
15339         (lnp_state_machine::current_file): New method.
15340         (dwarf_record_line): Simplify using the new methods.
15341         (init_lnp_state_machine): Initialize the "the_line_header" field.
15342         (dwarf_decode_lines_1, dwarf_decode_lines, file_file_name):
15343         Simplify using the new methods.
15344
15345 2017-03-27  Pedro Alves  <palves@redhat.com>
15346
15347         * cp-name-parser.y (make_empty): Delete.
15348         (demangler_special, nested_name, ptr_operator, array_indicator)
15349         (direct_declarator, declarator_1): Use fill_comp instead of
15350         make_empty.
15351
15352 2017-03-27  Pedro Alves  <palves@redhat.com>
15353
15354         * xml-support.h (gdb_xml_debug): Pass a "first-to-check" argument
15355         to ATTRIBUTE_PRINTF.
15356         * solib-target.c (library_list_start_list): Print "string" not
15357         "version".
15358         * xml-tdesc.c (tdesc_start_field): Pass "field_name" to
15359         gdb_xml_error call.
15360
15361 2017-03-27  Pedro Alves  <palves@redhat.com>
15362
15363         * dwarf2read.c (struct file_and_directory): New.
15364         (dwarf2_get_dwz_file): Adjust to use std::string.
15365         (dw2_get_file_names_reader): Adjust to use file_and_directory.
15366         (find_file_and_directory): Adjust to return a file_and_directory
15367         object.
15368         (read_file_scope): Adjust to use file_and_directory.  Remove
15369         make_cleanup/do_cleanups calls.
15370         (open_and_init_dwp_file): Adjust to use std::string.  Remove
15371         make_cleanup/do_cleanups calls.
15372         * python/python.c (do_start_initialization): Adjust to ldirname
15373         returning a std::string.
15374         * utils.c (ldirname): Now returns a std::string.
15375         * utils.h (ldirname): Change return type to std::string.
15376         * xml-syscall.c (xml_init_syscalls_info): Adjust to ldirname
15377         returning a std::string.
15378         * xml-tdesc.c (file_read_description_xml): Likewise.
15379
15380 2017-03-24  Alan Hayward  <alan.hayward@arm.com>
15381
15382         * regcache.c (regcache_debug_print_register): New function.
15383         * regcache.h (regcache_debug_print_register): New declaration.
15384         * target.c (debug_print_register): Remove.
15385         (target_fetch_registers): Call regcache_debug_print_register.
15386         (target_store_registers): Likewise.
15387
15388 2017-03-24  Pádraig Brady  <pbrady@fb.com>
15389
15390         * dwarf2read.c (setup_type_unit_groups): Ensure dir_index doesn't
15391         reference beyond the 'lh->include_dirs' array before accessing to
15392         it.
15393         (psymtab_include_file_name): Likewise.
15394         (dwarf_decode_lines_1): Likewise.
15395         (dwarf_decode_lines): Likewise.
15396         (file_file_name): Likewise.
15397
15398 2017-03-23  Simon Marchi  <simon.marchi@ericsson.com>
15399
15400         * fbsd-tdep.c (fbsd_corefile_thread): Don't set/restore
15401         inferior_ptid.
15402         * proc-service.c (ps_lgetregs, ps_lsetregs, ps_lgetfpregs,
15403         ps_lsetfpregs): Likewise.
15404         * regcache.c (regcache_raw_update, regcache_raw_write): Likewise.
15405         * sol-thread.c (ps_lgetregs, ps_lsetregs, ps_lgetfpregs,
15406         ps_lsetfpregs): Likewise.
15407         * target.c (target_fetch_registers, target_store_registers):
15408         Remove asserts.
15409
15410 2017-03-23  Alan Hayward  <alan.hayward@arm.com>
15411
15412         * sol-thread.c (sol_thread_store_registers): Remove regcache calls.
15413
15414 2017-03-23  Yao Qi  <yao.qi@linaro.org>
15415
15416         * aarch64-tdep.c (aarch64_process_record_test): Declare.
15417         (_initialize_aarch64_tdep): Register it.
15418         (aarch64_record_load_store): Handle PRFM instruction.
15419         (aarch64_process_record_test): New function.
15420
15421 2017-03-23  Yao Qi  <yao.qi@linaro.org>
15422
15423         * aarch64-tdep.c (aarch64_record_load_store): Fix code
15424         indentation.
15425
15426 2017-03-23  Yao Qi  <yao.qi@linaro.org>
15427
15428         * aarch64-tdep.c: Remove AARCH64_RECORD_FAILURE.
15429
15430 2017-03-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
15431
15432         python/python.c (do_start_initialization): Fix memory leak.
15433
15434 2017-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
15435
15436         * inf-ptrace.c (inf_ptrace_xfer_partial): Get pid from ptid
15437         using get_ptrace_pid.
15438         * linux-nat.c (linux_nat_xfer_partial): Don't set/restore
15439         inferior_ptid.
15440         (linux_proc_xfer_partial, linux_proc_xfer_spu): Use lwp of
15441         inferior_ptid instead of pid.
15442
15443 2017-03-22  Yao Qi  <yao.qi@linaro.org>
15444
15445         * aarch64-tdep.c: Wrap locally used classes in anonymous
15446         namespace.
15447         * arm-tdep.c: Likewise.
15448         * linespec.c: Likewise.
15449         * ui-out.c: Likewise.
15450
15451 2017-03-22  Jonah Graham  <jonah@kichwacoders.com>
15452
15453         PR gdb/19637
15454         * python/lib/gdb/printer/bound_registers.py: Import sys.
15455
15456 2017-03-21  Simon Marchi  <simon.marchi@ericsson.com>
15457
15458         * windows-nat.c (do_windows_fetch_inferior_registers): Add
15459         windows_thread_info parameter and use it instead of
15460         current_thread.
15461         (windows_fetch_inferior_registers): Don't set current_thread,
15462         pass the thread to do_windows_fetch_inferior_registers.  Use
15463         ptid from regcache instead of inferior_ptid.
15464         (do_windows_store_inferior_registers): Add windows_thread_info
15465         parameter and use it instead of current_thread.
15466         (windows_store_inferior_registers): Don't set current_thread,
15467         pass the thread to do_windows_store_inferior_registers.  Use
15468         ptid from regcache instead of inferior_ptid.
15469
15470 2017-03-21  Simon Marchi  <simon.marchi@ericsson.com>
15471
15472         * ser-mingw.c (ser_windows_raw): Remove reference to
15473         struct serial::current_timeout.
15474
15475 2017-03-21  Ivo Raisr  <ivo.raisr@oracle.com>
15476
15477         PR tdep/20928
15478         * gdb/sparc-tdep.h (gdbarch_tdep) <sparc64_ccr_type>: New field.
15479         * gdb/sparc64-tdep.c (sparc64_ccr_type): New function.
15480         (sparc64_fsr_type): Fix %fsr decoding.
15481
15482 2017-03-21  Tim Wiederhake  <tim.wiederhake@intel.com>
15483
15484         * python/py-record-btrace.c (btpy_insn_data): Change return type
15485         for Python 2.
15486
15487 2017-03-20  Simon Marchi  <simon.marchi@polymtl.ca>
15488
15489         * spu-linux-nat.c (spu_fetch_inferior_registers,
15490         spu_store_inferior_registers): Use ptid from regcache, set and
15491         restore inferior_ptid.
15492         * spu-multiarch.c (spu_fetch_registers, spu_store_registers):
15493         Likewise.
15494
15495 2017-03-20  Simon Marchi  <simon.marchi@polymtl.ca>
15496
15497         * i386-linux-nat.c (fetch_register, store_register,
15498         i386_linux_fetch_inferior_registers,
15499         i386_linux_store_inferior_registers): Use ptid from regcache.
15500         * ia64-linux-nat.c (ia64_linux_fetch_register,
15501         ia64_linux_store_register): Likewise.
15502         * inf-ptrace.c (inf_ptrace_fetch_register,
15503         inf_ptrace_store_register): Likewise.
15504         * m32r-linux-nat.c (m32r_linux_fetch_inferior_registers,
15505         m32r_linux_store_inferior_registers): Likewise.
15506         * m68k-bsd-nat.c (m68kbsd_fetch_inferior_registers,
15507         m68kbsd_store_inferior_registers): Likewise.
15508         * m68k-linux-nat.c (fetch_register, store_register,
15509         m68k_linux_fetch_inferior_registers,
15510         m68k_linux_store_inferior_registers): Likewise.
15511         * m88k-bsd-nat.c (m88kbsd_fetch_inferior_registers,
15512         m88kbsd_store_inferior_registers): Likewise.
15513         * mips-fbsd-nat.c (mips_fbsd_fetch_inferior_registers,
15514         mips_fbsd_store_inferior_registers): Likewise.
15515         * mips-linux-nat.c (mips64_linux_regsets_fetch_registers,
15516         mips64_linux_regsets_store_registers): Likewise.
15517         * mips-nbsd-nat.c (mipsnbsd_fetch_inferior_registers,
15518         mipsnbsd_store_inferior_registers): Likewise.
15519         * mips-obsd-nat.c (mips64obsd_fetch_inferior_registers,
15520         mips64obsd_store_inferior_registers): Likewise.
15521         * nto-procfs.c (procfs_fetch_registers, procfs_store_registers):
15522         Likewise.
15523         * ppc-fbsd-nat.c (ppcfbsd_fetch_inferior_registers,
15524         ppcfbsd_store_inferior_registers): Likewise.
15525         * ppc-linux-nat.c (ppc_linux_fetch_inferior_registers,
15526         ppc_linux_store_inferior_registers): Likewise.
15527         * ppc-nbsd-nat.c (ppcnbsd_fetch_inferior_registers,
15528         ppcnbsd_store_inferior_registers): Likewise.
15529         * ppc-obsd-nat.c (ppcobsd_fetch_registers,
15530         ppcobsd_store_registers): Likewise.
15531         * procfs.c (procfs_fetch_registers, procfs_store_registers):
15532         Likewise.
15533         * ravenscar-thread.c (ravenscar_fetch_registers,
15534         ravenscar_store_registers, ravenscar_prepare_to_store):
15535         Likewise.
15536         * record-btrace.c (record_btrace_fetch_registers,
15537         record_btrace_store_registers, record_btrace_prepare_to_store):
15538         Likewise.
15539         * remote-sim.c (gdbsim_fetch_register, gdbsim_store_register):
15540         Lookup inferior using ptid from regcache, instead of
15541         current_inferior.
15542         * remote.c (remote_fetch_registers, remote_store_registers): Use
15543         ptid from regcache.
15544         * rs6000-nat.c (fetch_register, store_register): Likewise.
15545         * s390-linux-nat.c (s390_linux_fetch_inferior_registers,
15546         s390_linux_store_inferior_registers): Likewise.
15547         * sh-nbsd-nat.c (shnbsd_fetch_inferior_registers,
15548         shnbsd_store_inferior_registers): Likewise.
15549         * sol-thread.c (sol_thread_fetch_registers,
15550         sol_thread_store_registers): Likewise.
15551         * sparc-nat.c (sparc_fetch_inferior_registers,
15552         sparc_store_inferior_registers): Likewise.
15553         * tilegx-linux-nat.c (fetch_inferior_registers,
15554         store_inferior_registers): Likewise.
15555         * vax-bsd-nat.c (vaxbsd_fetch_inferior_registers,
15556         vaxbsd_store_inferior_registers): Likewise.
15557         * xtensa-linux-nat.c (fetch_gregs, store_gregs, fetch_xtregs,
15558         store_xtregs): Likewise.
15559
15560 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15561
15562         PR gdb/14441
15563         * NEWS: Mention support for rvalue references in GDB and python.
15564         * doc/gdb.texinfo (C Plus Plus Expressions): Mention that GDB
15565         supports both lvalue and rvalue references.
15566
15567 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15568
15569         PR gdb/14441
15570         * gdbtypes.c (rank_one_type): Implement overloading
15571         resolution rules regarding rvalue references.
15572
15573 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15574
15575         PR gdb/14441
15576         * aarch64-tdep.c (aarch64_type_align)
15577         (aarch64_extract_return_value, aarch64_store_return_value): Change
15578         lvalue reference type checks to general reference type checks.
15579         * amd64-tdep.c (amd64_classify): Likewise.
15580         * amd64-windows-tdep.c (amd64_windows_passed_by_integer_register):
15581         Likewise.
15582         * arm-tdep.c (arm_type_align, arm_extract_return_value)
15583         (arm_store_return_value): Likewise.
15584         * ax-gdb.c (gen_fetch, gen_cast): Likewise.
15585         * c-typeprint.c (c_print_type): Likewise.
15586         * c-varobj.c (adjust_value_for_child_access, c_value_of_variable)
15587         (cplus_number_of_children, cplus_describe_child): Likewise.
15588         * compile/compile-c-symbols.c (generate_vla_size): Likewise.
15589         * completer.c (expression_completer): Likewise.
15590         * cp-support.c (make_symbol_overload_list_adl_namespace):
15591         Likewise.
15592         * darwin-nat-info.c (info_mach_region_command): Likewise.
15593         * dwarf2loc.c (entry_data_value_coerce_ref)
15594         (value_of_dwarf_reg_entry): Likewise.
15595         * eval.c (ptrmath_type_p, evaluate_subexp_standard)
15596         (evaluate_subexp_for_address, evaluate_subexp_for_sizeof):
15597         Likewise.
15598         * findvar.c (extract_typed_address, store_typed_address):
15599         Likewise.
15600         * gdbtypes.c (rank_one_type): Likewise.
15601         * hppa-tdep.c (hppa64_integral_or_pointer_p): Likewise.
15602         * infcall.c (value_arg_coerce): Likewise.
15603         * language.c (pointer_type): Likewise.
15604         * m32c-tdep.c (m32c_reg_arg_type, m32c_m16c_address_to_pointer):
15605         Likewise.
15606         * m88k-tdep.c (m88k_integral_or_pointer_p): Likewise.
15607         * mn10300-tdep.c (mn10300_type_align): Likewise.
15608         * msp430-tdep.c (msp430_push_dummy_call): Likewise.
15609         * ppc-sysv-tdep.c (do_ppc_sysv_return_value)
15610         (ppc64_sysv_abi_push_param, ppc64_sysv_abi_return_value):
15611         Likewise.
15612         * printcmd.c (print_formatted, x_command): Likewise.
15613         * python/py-type.c (typy_get_composite, typy_template_argument):
15614         Likewise.
15615         * python/py-value.c (valpy_referenced_value)
15616         (valpy_get_dynamic_type, value_has_field): Likewise.
15617         * s390-linux-tdep.c (s390_function_arg_integer): Likewise.
15618         * sparc-tdep.c (sparc_integral_or_pointer_p): Likewise.
15619         * sparc64-tdep.c (sparc64_integral_or_pointer_p): Likewise.
15620         * spu-tdep.c (spu_scalar_value_p): Likewise.
15621         * symtab.c (lookup_symbol_aux): Likewise.
15622         * typeprint.c (whatis_exp, print_type_scalar): Likewise.
15623         * valarith.c (binop_types_user_defined_p, unop_user_defined_p):
15624         Likewise.
15625         * valops.c (value_cast_pointers, value_cast)
15626         (value_reinterpret_cast, value_dynamic_cast, value_addr, typecmp)
15627         (value_struct_elt, value_struct_elt_bitpos)
15628         (value_find_oload_method_list, find_overload_match)
15629         (value_rtti_indirect_type): Likewise.
15630         * valprint.c (val_print_scalar_type_p, generic_val_print):
15631         Likewise.
15632         * value.c (value_actual_type, value_as_address, unpack_long)
15633         (pack_long, pack_unsigned_long, coerce_ref_if_computed)
15634         (coerce_ref): Likewise.
15635         * varobj.c (varobj_get_value_type): Likewise.
15636
15637 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15638
15639         PR gdb/14441
15640         * doc/python.texi (Types in Python): Add TYPE_CODE_RVALUE_REF to
15641         table of constants.
15642         * python/lib/gdb/command/explore.py: Support exploring values
15643         of rvalue reference types.
15644         * python/lib/gdb/types.py: Implement get_basic_type() for
15645         rvalue reference types.
15646         * python/py-type.c (pyty_codes) <TYPE_CODE_RVALUE_REF>: New
15647         constant.
15648         * python/py-value.c (valpy_getitem): Add an rvalue reference
15649         check.
15650         (valpy_reference_value): Add new parameter "refcode".
15651         (valpy_lvalue_reference_value, valpy_rvalue_reference_value):
15652         New wrappers for valpy_reference_value().
15653         * python/py-xmethods.c (gdbpy_get_xmethod_result_type)
15654         (gdbpy_invoke_xmethod): Likewise.
15655
15656 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15657
15658         PR gdb/14441
15659         * dwarf2read.c (process_die, read_type_die_1): Handle the
15660         DW_TAG_rvalue_reference_type DIE.
15661         (read_tag_reference_type): Add new parameter "refcode".
15662
15663 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15664
15665         PR gdb/14441
15666         * c-typeprint.c (c_print_type, c_type_print_varspec_prefix)
15667         (c_type_print_modifier, c_type_print_varspec_suffix)
15668         (c_type_print_base): Support printing rvalue reference types.
15669         * c-valprint.c (c_val_print, c_value_print): Support printing
15670         rvalue reference values.
15671
15672 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15673
15674         PR gdb/14441
15675         * cp-name-parser.y (ptr_operator): Handle the '&&' token in
15676         typename.
15677         * cp-support.c (replace_typedefs): Handle
15678         DEMANGLE_COMPONENT_RVALUE_REFERENCE.
15679         * python/py-type.c (typy_lookup_type): Likewise.
15680
15681 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15682
15683         PR gdb/14441
15684         * c-exp.y (ptr_operator): Handle the '&&' token in the typename.
15685         * parse.c (insert_type): Change assert statement.
15686         (follow_types): Handle rvalue reference types.
15687         * parser-defs.h (enum type_pieces) <tp_rvalue_reference>: New
15688         constant.
15689
15690 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15691
15692         PR gdb/14441
15693         * ada-lang.c (ada_evaluate_subexp): Adhere to the new
15694         value_ref() interface.
15695         * c-valprint.c (c_value_print): Likewise.
15696         * infcall.c (value_arg_coerce): Likewise.
15697         * python/py-value.c (valpy_reference_value): Likewise.
15698         * valops.c (value_cast, value_reinterpret_cast)
15699         (value_dynamic_cast, typecmp): Likewise.
15700         (value_ref): Parameterize by kind of return value reference type.
15701         * value.h (value_ref): Add new parameter "refcode".
15702
15703 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15704
15705         PR gdb/14441
15706         * dwarf2read.c (read_tag_reference_type): Use
15707         lookup_lvalue_reference_type() instead of lookup_reference_type().
15708         * eval.c (evaluate_subexp_standard): Likewise.
15709         * f-exp.y: Likewise.
15710         * gdbtypes.c (make_reference_type, lookup_reference_type):
15711         Generalize with rvalue reference types.
15712         (lookup_lvalue_reference_type, lookup_rvalue_reference_type): New
15713         convenience wrappers for lookup_reference_type().
15714         * gdbtypes.h (make_reference_type, lookup_reference_type): Add a
15715         reference kind parameter.
15716         (lookup_lvalue_reference_type, lookup_rvalue_reference_type): Add
15717         wrappers for lookup_reference_type().
15718         * guile/scm-type.c (gdbscm_type_reference): Use
15719         lookup_lvalue_reference_type() instead of lookup_reference_type().
15720         * guile/scm-value.c (gdbscm_value_dynamic_type): Likewise.
15721         * parse.c (follow_types): Likewise.
15722         * python/py-type.c (typy_reference, typy_lookup_type): Likewise.
15723         * python/py-value.c (valpy_get_dynamic_type, valpy_getitem):
15724         Likewise.
15725         * python/py-xmethods.c (gdbpy_get_xmethod_result_type)
15726         (gdbpy_invoke_xmethod): Likewise.
15727         * stabsread.c: Provide extra argument to make_reference_type()
15728         call.
15729         * valops.c (value_ref, value_rtti_indirect_type): Use
15730         lookup_lvalue_reference_type() instead of lookup_reference_type().
15731
15732 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15733
15734         PR gdb/14441
15735         * gdbtypes.h (enum type_code) <TYPE_CODE_RVALUE_REF>: New constant.
15736         (TYPE_IS_REFERENCE): New macro.
15737         (struct type): Add rvalue_reference_type field.
15738         (TYPE_RVALUE_REFERENCE_TYPE): New macro.
15739
15740 2017-03-20  Marc-Andre Laperle  <marc-andre.laperle@ericsson.com>
15741
15742         * NEWS: Add an entry about new '-file-list-shared-libraries' command.
15743         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries):
15744         New function definition.
15745         * mi/mi-cmds.c (mi_cmds): Add -file-list-shared-libraries command.
15746         * mi/mi-cmds.h (mi_cmd_file_list_shared_libraries):
15747         New function declaration.
15748         * mi/mi-interp.c (mi_output_solib_attribs): New Function.
15749         * mi/mi-interp.h: New file.
15750         * solib.c (info_sharedlibrary_command): Replace for loop with
15751         ALL_SO_LIBS macro
15752         * solib.h (update_solib_list): New function declaration.
15753         (so_list_head): Move macro.
15754         * solist.h (ALL_SO_LIBS): New macro.
15755
15756 2017-03-20  Marc-Andre Laperle  <marc-andre.laperle@ericsson.com>
15757
15758         * infcmd.c (post_create_inferior): Remove unused argument in
15759         call to solib_add.
15760         * remote.c (remote_start_remote): Likewise.
15761         * solib-frv.c (frv_fetch_objfile_link_map): Likewise.
15762         * solib-svr4.c: (svr4_fetch_objfile_link_map): Likewise.
15763         (enable_break): Likewise.
15764         * solib.c (update_solib_list): Remove unused target argument
15765         and its documentation.
15766         (solib_add): Remove unused target argument.  Remove unused
15767         argument in call to update_solib_list.
15768         (info_sharedlibrary_command): Remove unused argument in call
15769         to update_solib_list.
15770         (sharedlibrary_command): Remove unused argument in call to
15771         solib_add.
15772         (handle_solib_event): Likewise.
15773         (reload_shared_libraries): Likewise.
15774         * solib.h (solib_add): Remove unused target argument.
15775
15776 2017-03-20  Andreas Arnez  <arnez@linux.vnet.ibm.com>
15777
15778         * s390-linux-tdep.c (is_rsi, is_rie): Remove functions.
15779         (s390_displaced_step_fixup): Cover relative branches with the
15780         default fixup handling.  This fixes lack of support for some
15781         relative branch instructions.
15782
15783 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15784
15785         * i386-gnu-nat.c (gnu_fetch_registers, gnu_store_registers): Use
15786         ptid from regcache.
15787
15788 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15789
15790         * i386-darwin-nat.c (i386_darwin_fetch_inferior_registers,
15791         i386_darwin_store_inferior_registers): Use ptid from regcache.
15792
15793 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15794
15795         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers,
15796         i386bsd_store_inferior_registers): Use ptid from regcache.
15797
15798 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15799
15800         * hppa-obsd-nat.c (hppaobsd_fetch_registers,
15801         hppaobsd_store_registers): Use ptid from regcache.
15802
15803 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15804
15805         * hppa-nbsd-nat.c (hppanbsd_fetch_registers,
15806         hppanbsd_store_registers): Use ptid from regcache.
15807
15808 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15809
15810         * hppa-linux-nat.c (fetch_register, store_register): Use ptid
15811         from regcache.  Use get_ptrace_pid.
15812
15813 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15814
15815         * corelow.c (get_core_register_section): Use ptid from regcache,
15816         update doc.
15817
15818 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15819
15820         * bsd-uthread.c (bsd_uthread_fetch_registers,
15821         bsd_uthread_store_registers): Use ptid from regcache, set and
15822         restore inferior_ptid.
15823
15824 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15825
15826         * arm-nbsd-nat.c (fetch_register, fetch_regs, fetch_fp_register,
15827         fetch_fp_regs, store_register, store_regs, store_fp_register,
15828         store_fp_regs): Use ptid from regcache.
15829
15830 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15831
15832         * arm-linux-nat.c (fetch_fpregs, store_fpregs, fetch_regs,
15833         store_regs, fetch_wmmx_regs, store_wmmx_regs, fetch_vfp_regs,
15834         store_vfp_regs): Use ptid from regcache.
15835
15836 2017-03-17  Pedro Alves  <palves@redhat.com>
15837
15838         PR remote/21188
15839         * ser-base.c (ser_base_wait_for): Add comment.
15840         (do_ser_base_readchar): Improve comment based on the ser-unix.c's
15841         version.
15842         * ser-unix.c (hardwire_raw): Remove reference to
15843         scb->current_timeout.
15844         (wait_for, do_hardwire_readchar, hardwire_readchar): Delete.
15845         (hardwire_ops): Install ser_base_readchar instead of
15846         hardwire_readchar.
15847         * serial.h (struct serial) <current_timeout, timeout_remaining>:
15848         Remove fields.
15849
15850 2017-03-17  Jonah Graham  <jonah@kichwacoders.com>
15851
15852         PR gdb/19637
15853         * python/lib/gdb/printer/bound_registers.py: Add support for
15854         Python 3.
15855
15856 2017-03-16  Andreas Arnez  <arnez@linux.vnet.ibm.com>
15857
15858         * dwarf2loc.c (indirect_synthetic_pointer): Get data type of
15859         pointed-to DIE and pass it to dwarf2_evaluate_loc_desc_full.
15860         (dwarf2_evaluate_loc_desc_full): New parameter subobj_type; rename
15861         byte_offset to subobj_byte_offset.  Fix the handling of
15862         DWARF_VALUE_STACK on big-endian targets when coming via an
15863         implicit pointer.
15864         (dwarf2_evaluate_loc_desc): Adjust call to
15865         dwarf2_evaluate_loc_desc_full.
15866         * dwarf2loc.h (dwarf2_fetch_die_type_sect_off): New declaration.
15867         * dwarf2read.c (dwarf2_fetch_die_type_sect_off): New function.
15868
15869 2017-03-16  Yao Qi  <yao.qi@linaro.org>
15870
15871         * arm-tdep.c (thumb_record_misc): Decode CBNZ, CBZ, REV16,
15872         and REVSH instructions.
15873
15874 2017-03-16  Yao Qi  <yao.qi@linaro.org>
15875
15876         * arm-tdep.c [GDB_SELF_TEST]: include "selftests.h".
15877         (arm_record_test): Declare.
15878         (_initialize_arm_tdep) [GDB_SELF_TEST]: call register_self_test.
15879         (thumb_record_ld_st_reg_offset): Rewrite the opcode matching to
15880         align with the manual.
15881         (thumb_record_misc): Adjust the code order to align with the
15882         manual.
15883         (thumb2_record_decode_insn_handler): Fix instruction matching.
15884         (instruction_reader_thumb): New class.
15885         (arm_record_test): New function.
15886
15887 2017-03-16  Yao Qi  <yao.qi@linaro.org>
15888
15889         * arm-tdep.c (abstract_memory_reader): New class.
15890         (instruction_reader): New class.
15891         (extract_arm_insn): Add argument 'reader'.  Callers updated.
15892         (decode_insn): Likewise.
15893
15894 2017-03-16  Doug Evans  <dje@google.com>
15895
15896         * guile/scm-lazy-string.c (lazy_string_smob): Clarify use of LENGTH
15897         member.  Change type of TYPE member to SCM.  All uses updated.
15898         (lsscm_make_lazy_string_smob): Add assert.
15899         (lsscm_make_lazy_string): Flag bad length values.
15900         (lsscm_elt_type): New function.
15901         (gdbscm_lazy_string_to_value): Rewrite to use
15902         lsscm_safe_lazy_string_to_value.
15903         (lsscm_safe_lazy_string_to_value): Fix handling of TYPE_CODE_PTR.
15904         * guile/scm-value.c (gdbscm_value_to_lazy_string): Flag bad length
15905         values.  Fix TYPE_CODE_PTR.  Handle TYPE_CODE_ARRAY.  Handle typedefs
15906         in incoming type.
15907         * guile/guile-internal.h (tyscm_scm_to_type): Declare.
15908         * guile/scm-type.c (tyscm_scm_to_type): New function.
15909
15910 2017-03-15  Doug Evans  <dje@google.com>
15911
15912         PR python/17728, python/18439, python/18779
15913         * python/py-lazy-string.c (lazy_string_object): Clarify use of LENGTH
15914         member.  Change type of TYPE member to PyObject *.  All uses updated.
15915         (stpy_convert_to_value): Fix handling of TYPE_CODE_PTR.
15916         (gdbpy_create_lazy_string_object): Flag bad length values.
15917         Handle TYPE_CODE_ARRAY with possibly different user-provided length.
15918         Handle typedefs in incoming type.
15919         (stpy_lazy_string_elt_type): New function.
15920         (gdbpy_extract_lazy_string): Call it.
15921         * python/py-value.c (valpy_lazy_string): Flag bad length values.
15922         Fix handling of TYPE_CODE_PTR.  Handle TYPE_CODE_ARRAY.  Handle
15923         typedefs in incoming type.
15924
15925 2017-03-16  Doug Evans  <dje@google.com>
15926
15927         * guile/guile-internal.h (tyscm_scm_to_type): Declare.
15928         * guile/scm-type.c (tyscm_scm_to_type): New function.
15929
15930 2017-03-16  Jiong Wang  <jiong.wang@arm.com>
15931
15932         * inf-ptrace.c (inf_ptrace_peek_poke): Change the type to
15933         "ULONGEST" for "skip".
15934
15935 2017-03-14  Andreas Arnez  <arnez@linux.vnet.ibm.com>
15936
15937         PR gdb/21220
15938         * inf-ptrace.c (inf_ptrace_xfer_partial): In "case
15939         TARGET_OBJECT_MEMORY", extract the logic for ptrace peek/poke...
15940         (inf_ptrace_peek_poke): ...here.  New function.  Now also loop
15941         over ptrace peek/poke until end of buffer or error.
15942
15943 2017-03-14  Simon Marchi  <simon.marchi@ericsson.com>
15944
15945         * parse.c (length_of_subexp): Make static.
15946         * parser-defs.h (length_of_subexp): Remove.
15947
15948 2017-03-14  Andreas Arnez  <arnez@linux.vnet.ibm.com>
15949
15950         * linux-nat.c (linux_proc_xfer_partial): Handle write operations
15951         as well.
15952
15953 2017-03-14  Pedro Alves  <palves@redhat.com>
15954
15955         * cp-name-parser.y (cp_demangled_name_to_comp): Update comment.
15956         (main): Use std::unique_ptr.  Remove calls to
15957         cp_demangled_name_parse_free.
15958
15959 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15960
15961         * alpha-bsd-nat.c (alphabsd_fetch_inferior_registers,
15962         alphabsd_store_inferior_registers): Use regcache->ptid instead
15963         of inferior_ptid.
15964
15965 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15966
15967         * aix-thread.c (aix_thread_fetch_registers,
15968         aix_thread_store_registers): Use regcache->ptid instead of
15969         inferior_ptid.
15970
15971 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15972
15973         * aarch64-linux-nat.c (fetch_gregs_from_thread,
15974         store_gregs_to_thread, fetch_fpregs_from_thread,
15975         store_fpregs_to_thread): Use regcache->ptid instead of
15976         inferior_ptid.
15977
15978 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15979
15980         * amd64-linux-nat.c (amd64_linux_fetch_inferior_registers,
15981         amd64_linux_fetch_inferior_registers): Use regcache->ptid
15982         instead of inferior_ptid.
15983
15984 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15985
15986         * target.c (target_fetch_registers, target_store_registers): Add
15987         assert.
15988
15989 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15990
15991         * regcache.h (regcache_get_ptid): New function.
15992         * regcache.c (regcache_get_ptid): New function.
15993
15994 2017-03-13  Mark Wielaard  <mark@klomp.org>
15995
15996         * cp-name-parser.y (make_empty): Initialize d_printing to zero.
15997
15998 2017-03-10  Keith Seitz  <keiths@redhat.com>
15999
16000         PR c++/8218
16001         * c-typeprint.c (cp_type_print_method_args): Skip artificial arguments.
16002
16003 2017-03-08  Pedro Alves  <palves@redhat.com>
16004
16005         PR gdb/18360
16006         * infrun.c (start_step_over, do_target_resume, resume)
16007         (restart_threads): Assert we're not resuming a thread that is
16008         meant to be stopped.
16009         (infrun_thread_stop_requested_callback): Delete.
16010         (infrun_thread_stop_requested): If the thread is internally
16011         stopped, queue a pending stop event and clear the thread's
16012         inline-frame state.
16013         (handle_stop_requested): New function.
16014         (handle_syscall_event, handle_inferior_event_1): Use
16015         handle_stop_requested.
16016         (handle_stop_requested): New function.
16017         (handle_signal_stop): Set the thread's stop_signal here instead of
16018         at caller.
16019         (finish_step_over): Clear step over info unconditionally.
16020         (handle_signal_stop): If the user had interrupted the event
16021         thread, consider the stop a random signal.
16022         (handle_signal_stop) <signal arrived while stepping over
16023         breakpoint>: Don't restart threads here.
16024         (stop_waiting): Don't clear step-over info here.
16025
16026 2017-03-08  Pedro Alves  <palves@redhat.com>
16027
16028         PR 21206
16029         * common/gdb_unlinker.h (unlinker::unlinker): Attribute nonnull
16030         goes to argument 2, not 1.
16031
16032 2017-03-08  Pedro Alves  <palves@redhat.com>
16033
16034         PR cli/21218
16035         * top.c (gdb_readline_wrapper): Avoid passing NULL to
16036         display_gdb_prompt.
16037         (command_line_input): Add comment.
16038
16039 2017-03-08  Pedro Alves  <palves@redhat.com>
16040
16041         PR tui/21216
16042         * tui/tui-file.c (tui_file::write): New.
16043         * tui/tui-file.h (tui_file): Override "write".
16044         * tui/tui-io.c (do_tui_putc, update_start_line): New functions,
16045         factored out from ...
16046         (tui_puts): ... here.
16047         (tui_putc): Use them.
16048         (tui_write): New function.
16049         * tui/tui-io.h (tui_write): Declare.
16050
16051 2017-03-07  Sergio Durigan Junior  <sergiodj@redhat.com>
16052
16053         * Makefile.in (SFILES): Replace "environ.c" with
16054         "common/environ.c".
16055         (HFILES_NO_SRCDIR): Likewise, for "environ.h".
16056         * environ.c: Include "common-defs.h" instead of "defs.h.  Moved
16057         to...
16058         * common/environ.c: ... here.
16059         * environ.h: Moved to...
16060         * common/environ.h: ... here.
16061
16062 2017-03-07  Peter Bergner  <bergner@vnet.ibm.com>
16063
16064         * gdbarch.sh (pstring_ptr): New static function.
16065         (gdbarch_disassembler_options): Use it.
16066         (gdbarch_verify_disassembler_options): Print valid_disassembler_options,
16067         not valid_disassembler_option->name.
16068         * gdbarch.c: Regenerate.
16069
16070 2017-03-07  Peter Bergner  <bergner@vnet.ibm.com>
16071
16072         * config/powerpc/ppc64-linux.mh (MH_CFLAGS): Delete.
16073
16074 2017-03-07  Pedro Alves  <palves@redhat.com>
16075
16076         * tui/tui-regs.c (tui_restore_gdbout): Don't delete gdb_stdout.
16077
16078 2017-03-07  Walfred Tedeschi  <walfred.tedeschi@intel.com>
16079
16080         * i387-tdep.h (i387_reset_bnd_regs): Add function definition.
16081         * i387-tdep.c (i387_reset_bnd_regs): Add function implementation.
16082         * i386-tdep.c (i386_push_dummy_call): Call i387_reset_bnd_regs.
16083         * amd64-tdep.c (amd64_push_dummy_call): Call i387_reset_bnd_regs.
16084
16085 2017-03-06  Simon Marchi  <simon.marchi@ericsson.com>
16086
16087         * xtensa-linux-nat.c (fetch_gregs): Remove const.
16088
16089 2017-03-03  Simon Marchi  <simon.marchi@ericsson.com>
16090
16091         * remote.c (remote_add_target_side_commands): Use range-based
16092         for loop.
16093
16094 2017-03-03  Yao Qi  <yao.qi@linaro.org>
16095
16096         PR gdb/21165
16097         * ada-valprint.c (ada_val_print_ref): Call value_fetch_lazy if
16098         value is lazy.
16099         * valprint.c (common_val_print): Likewise.
16100
16101 2017-02-28  Peter Bergner  <bergner@vnet.ibm.com>
16102
16103         * NEWS: Mention new set/show disassembler-options commands.
16104         * doc/gdb.texinfo: Document new set/show disassembler-options commands.
16105         * disasm.c: Include "arch-utils.h", "gdbcmd.h" and "safe-ctype.h".
16106         (prospective_options): New static variable.
16107         (gdb_disassembler::gdb_disassembler): Initialize
16108         m_di.disassembler_options.
16109         (gdb_buffered_insn_length_init_dis): Initilize di->disassembler_options.
16110         (get_disassembler_options): New function.
16111         (set_disassembler_options): Likewise.
16112         (set_disassembler_options_sfunc): Likewise.
16113         (show_disassembler_options_sfunc): Likewise.
16114         (disassembler_options_completer): Likewise.
16115         (_initialize_disasm): Likewise.
16116         * disasm.h (get_disassembler_options): New prototype.
16117         (set_disassembler_options): Likewise.
16118         * gdbarch.sh (gdbarch_disassembler_options): New variable.
16119         (gdbarch_verify_disassembler_options): Likewise.
16120         * gdbarch.c: Regenerate.
16121         * gdbarch.h: Likewise.
16122         * arm-tdep.c (num_disassembly_options): Delete.
16123         (set_disassembly_style): Likewise.
16124         (arm_disassembler_options): New static variable.
16125         (set_disassembly_style_sfunc): Convert short style name into long
16126         option name.  Call set_disassembler_options.
16127         (show_disassembly_style_sfunc): New function.
16128         (arm_gdbarch_init): Call set_gdbarch_disassembler_options and
16129         set_gdbarch_verify_disassembler_options.
16130         (_initialize_arm_tdep): Delete regnames variable and update callers.
16131         (arm_disassembler_options): Initialize.
16132         (disasm_options): New variable.
16133         (num_disassembly_options): Rename from this...
16134         (num_disassembly_styles): ...to this.  Compute by scanning through
16135         disasm_options.
16136         (valid_disassembly_styles): Initialize using disasm_options.
16137         Remove calls to parse_arm_disassembler_option, get_arm_regnames and
16138         set_arm_regname_option.
16139         Pass show_disassembly_style_sfunc to the "disassembler" setshow command.
16140         * rs6000-tdep.c (powerpc_disassembler_options): New static variable.
16141         (rs6000_gdbarch_init): Call set_gdbarch_disassembler_options and
16142         set_gdbarch_verify_disassembler_options.
16143         * s390-tdep.c (s390_disassembler_options): New static variable.
16144         (s390_gdbarch_init):all set_gdbarch_disassembler_options and
16145         set_gdbarch_verify_disassembler_options.
16146
16147 2017-02-27  Simon Marchi  <simon.marchi@ericsson.com>
16148
16149         * remote.c (remote_add_target_side_condition): Remove "struct"
16150         keyword from range-based for loop.
16151
16152 2017-02-27  Simon Marchi  <simon.marchi@ericsson.com>
16153
16154         * remote.c (remote_add_target_side_condition): Use range-based
16155         for loop.  Update comment.
16156
16157 2017-02-27  Yao Qi  <yao.qi@linaro.org>
16158
16159         * f-typeprint.c (f_print_type): Check "varstring" is empty first.
16160
16161 2017-02-26  Alan Hayward  <alan.hayward@arm.com>
16162
16163         * regcache.c (regcache_raw_update): New function.
16164         (regcache_raw_read): Move code to regcache_raw_update.
16165         * regcache.h (regcache_raw_update): New declaration.
16166         * remote.c (remote_prepare_to_store): Call regcache_raw_update.
16167
16168 2017-02-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
16169
16170         * dwarf2read.c (create_debug_type_hash_table): Initialize
16171         header.signature and header.type_offset_in_tu.
16172
16173 2017-02-24  Pedro Alves  <palves@redhat.com>
16174
16175         * symtab.c (make_file_symbol_completion_list_1): Use
16176         add_symtab_completions.
16177
16178 2017-02-24  Alan Hayward  <alan.hayward@arm.com>
16179
16180         * stack.c (frame_info): Use frame_unwind_register_value to avoid buf.
16181
16182 2017-02-24  Alan Hayward  <alan.hayward@arm.com>
16183
16184         * i386-tdep.c (i386_pseudo_register_read_into_value): Use
16185         I386_MAX_REGISTER_SIZE.
16186         (i386_pseudo_register_write): Likewise.
16187         (i386_process_record): Likewise.
16188         * i387-tdep.c (i387_supply_xsave): Likewise.
16189         * m68k-linux-nat.c (fetch_register): Use M68K_MAX_REGISTER_SIZE.
16190         (store_register): Likewise.
16191
16192 2017-02-23  Pedro Alves  <palves@redhat.com>
16193
16194         * ada-lang.c: Include "common/function-view.h".
16195         (ada_iterate_over_symbols): Adjust to use function_view as
16196         callback type.
16197         (struct add_partial_datum, ada_complete_symbol_matcher): Delete.
16198         (ada_make_symbol_completion_list): Use a lambda.
16199         (ada_exc_search_name_matches): Delete.
16200         (name_matches_regex): New.
16201         (ada_add_global_exceptions): Use a lambda and name_matches_regex.
16202         * compile/compile-c-support.c: Include "common/function-view.h".
16203         (print_one_macro): Change prototype to accept a ui_file pointer.
16204         (write_macro_definitions): Use a lambda.
16205         * dwarf2read.c: Include "common/function-view.h".
16206         (dw2_map_expand_apply, dw2_map_symtabs_matching_filename)
16207         (dw2_expand_symtabs_matching): Adjust to use function_view as
16208         callback type.
16209         * language.h: Include "common/function-view.h".
16210         (struct language_defn) <la_iterate_over_symbols>: Adjust to use
16211         function_view as callback type.
16212         (LA_ITERATE_OVER_SYMBOLS): Remove DATA parameter.
16213         * linespec.c: Include "common/function-view.h".
16214         (collect_info::add_symbol): New method.
16215         (struct symbol_and_data_callback, iterate_inline_only, struct
16216         symbol_matcher_data, iterate_name_matcher): Delete.
16217         (iterate_over_all_matching_symtabs): Adjust to use function_view
16218         as callback type and lambdas.
16219         (iterate_over_file_blocks): Adjust to use function_view as
16220         callback type.
16221         (decode_compound_collector): Now a class with private fields.
16222         (decode_compound_collector::release_symbols): New method.
16223         (collect_one_symbol): Rename to...
16224         (decode_compound_collector::operator()): ... this and adjust.
16225         (lookup_prefix_sym): decode_compound_collector construction bits
16226         move to decode_compound_collector ctor.  Pass the
16227         decode_compound_collector object directly as callback.  Remove
16228         cleanups and use decode_compound_collector::release_symbols
16229         instead.
16230         (symtab_collector): Now a class with private fields.
16231         (symtab_collector::release_symtabs): New method.
16232         (add_symtabs_to_list): Rename to...
16233         (symtab_collector::operator()): ... this and adjust.
16234         (collect_symtabs_from_filename): symtab_collector construction
16235         bits move to symtab_collector ctor.  Pass the symtab_collector
16236         object directly as callback.  Remove cleanups and use
16237         symtab_collector::release_symtabs instead.
16238         (collect_symbols): Delete.
16239         (add_matching_symbols_to_info): Use lambdas.
16240         * macrocmd.c (print_macro_callback): Delete.
16241         (info_macro_command): Use a lambda.
16242         (info_macros_command): Pass print_macro_definition as callable
16243         directly.
16244         (print_one_macro): Remove 'ignore' parameter.
16245         (macro_list_command): Adjust.
16246         * macrotab.c (macro_for_each_data::fn): Now a function_view.
16247         (macro_for_each_data::user_data): Delete field.
16248         (foreach_macro): Adjust to call the function_view.
16249         (macro_for_each): Adjust to use function_view as callback type.
16250         (foreach_macro_in_scope): Adjust to call the function_view.
16251         (macro_for_each_in_scope): Adjust to use function_view as callback
16252         type.
16253         * macrotab.h: Include "common/function-view.h".
16254         (macro_callback_fn): Declare a prototype instead of a pointer.
16255         Remove "user_data" parameter.
16256         (macro_for_each, macro_for_each_in_scope): Adjust to use
16257         function_view as callback type.
16258         * psymtab.c (partial_map_expand_apply)
16259         (psym_map_symtabs_matching_filename, recursively_search_psymtabs):
16260         Adjust to use function_view as callback type and to return bool.
16261         (psym_expand_symtabs_matching): Adjust to use function_view as
16262         callback types.
16263         * symfile-debug.c (debug_qf_map_symtabs_matching_filename): Adjust
16264         to use function_view as callback type and to return bool.
16265         (debug_qf_expand_symtabs_matching): Adjust to use function_view as
16266         callback types.
16267         * symfile.c (expand_symtabs_matching): Adjust to use function_view
16268         as callback types.
16269         * symfile.h: Include "common/function-view.h".
16270         (expand_symtabs_file_matcher_ftype)
16271         (expand_symtabs_symbol_matcher_ftype)
16272         (expand_symtabs_exp_notify_ftype): Remove "data" parameter and
16273         return bool.
16274         (quick_symbol_functions::map_symtabs_matching_filename)
16275         (quick_symbol_functions::expand_symtabs_matching): Adjust to use
16276         function_view as callback type and return bool.
16277         (expand_symtabs_matching): Adjust to use function_view as callback
16278         type.
16279         (maintenance_expand_name_matcher)
16280         (maintenance_expand_file_matcher): Delete.
16281         (maintenance_expand_symtabs): Use lambdas.
16282         * symtab.c (iterate_over_some_symtabs): Adjust to use
16283         function_view as callback types and return bool.
16284         (iterate_over_symtabs): Likewise.  Use unique_xmalloc_ptr instead
16285         of a cleanup.
16286         (lookup_symtab_callback): Delete.
16287         (lookup_symtab): Use a lambda.
16288         (iterate_over_symbols): Adjust to use function_view as callback
16289         type.
16290         (struct search_symbols_data, search_symbols_file_matches)
16291         (search_symbols_name_matches): Delete.
16292         (search_symbols): Use a pair of lambdas.
16293         (struct add_name_data, add_macro_name, symbol_completion_matcher)
16294         (symtab_expansion_callback): Delete.
16295         (default_make_symbol_completion_list_break_on_1): Use lambdas.
16296         * symtab.h: Include "common/function-view.h".
16297         (iterate_over_some_symtabs): Adjust to use function_view as
16298         callback type and return bool.
16299         (iterate_over_symtabs): Adjust to use function_view as callback
16300         type.
16301         (symbol_found_callback_ftype): Remove 'data' parameter and return
16302         bool.
16303         (iterate_over_symbols): Adjust to use function_view as callback
16304         type.
16305
16306 2017-02-23  Pedro Alves  <palves@redhat.com>
16307
16308         * Makefile.in (SUBDIR_UNITTESTS_SRCS, SUBDIR_UNITTESTS_OBS): New.
16309         (%.o) <unittests/%.c>: New pattern.
16310         * configure.ac ($development): Add $(SUBDIR_UNITTESTS_OBS) to
16311         CONFIG_OBS, and $(SUBDIR_UNITTESTS_SRCS) to CONFIG_SRCS.
16312         * common/function-view.h: New file.
16313         * unittests/function-view-selftests.c: New file.
16314         * configure: Regenerate.
16315
16316 2017-02-23  Simon Marchi  <simon.marchi@ericsson.com>
16317
16318         * bsd-uthread.c (bsd_uthread_thread_alive): Use ptid instead of
16319         inferior_ptid.
16320         * go32-nat.c (go32_thread_alive): Likewise.
16321
16322 2017-02-23  Yao Qi  <yao.qi@linaro.org>
16323
16324         * varobj-iter.h (varobj_iter_delete): Call xfree instead of
16325         delete.
16326
16327 2017-02-23  Yao Qi  <yao.qi@linaro.org>
16328
16329         * varobj.c (varobj_clear_saved_item): Use delete instead of
16330         xfree.
16331         (update_dynamic_varobj_children): Likewise.
16332
16333 2017-02-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
16334
16335         * dwarf2read.c (dwarf2_record_block_ranges): Add forgotten BASEADDR.
16336
16337 2017-02-21  Simon Marchi  <simon.marchi@ericsson.com>
16338
16339         * common/enum-flags.h (enum_flags::enum_flags): Initialize
16340         m_enum_value to 0 in default constructor.
16341
16342 2017-02-21  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
16343
16344         * rs6000-tdep.c (LOAD_AND_RESERVE_MASK): Rename from LWARX_MASK.
16345         (STORE_CONDITIONAL_MASK): Rename from STWCX_MASK.
16346         (LBARX_INSTRUCTION, LHARX_INSTRUCTION, LQARX_INSTRUCTION,
16347         STBCX_INSTRUCTION, STHCX_INSTRUCTION, STQCX_INSTRUCTION): New defines.
16348         (IS_LOAD_AND_RESERVE_INSN, IS_STORE_CONDITIONAL_INSN): New macros.
16349         (ppc_displaced_step_copy_insn): Use IS_LOAD_AND_RESERVE_INSN.
16350         (ppc_deal_with_atomic_sequence): Use IS_LOAD_AND_RESERVE_INSN and
16351         IS_STORE_CONDITIONAL_INSN.
16352
16353 2017-02-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
16354
16355         * dwarf2_rnglists_process: Initialize range_beginning and range_end.
16356
16357 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16358
16359         * NEWS (Changes since GDB 7.12): Add DWARF-5.
16360
16361 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16362
16363         * dwarf2read.c (skip_one_die, read_attribute_value)
16364         (dwarf2_const_value_attr, dump_die_shallow)
16365         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
16366         (skip_form_bytes, attr_form_is_constant): Handle DW_FORM_data16.
16367
16368 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16369
16370         * dwarf2read.c (read_file_scope): Rename DW_MACRO_GNU_*.
16371         (dwarf_parse_macro_header): Accept DWARF version 5.
16372         (dwarf_decode_macro_bytes, dwarf_decode_macros): Rename DW_MACRO_GNU_*.
16373
16374 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16375
16376         * block.c (call_site_for_pc): Rename DW_OP_GNU_*, DW_TAG_GNU_* and
16377         DW_AT_GNU_*.
16378         * common/common-exceptions.h (enum errors): Likewise.
16379         * dwarf2-frame.c (class dwarf_expr_executor): Likewise.
16380         * dwarf2expr.c (dwarf_block_to_dwarf_reg)
16381         (dwarf_expr_context::execute_stack_op): Likewise.
16382         * dwarf2expr.h (struct dwarf_expr_context, struct dwarf_expr_piece):
16383         Likewise.
16384         * dwarf2loc.c (dwarf_evaluate_loc_desc::get_base_type)
16385         (dwarf_evaluate_loc_desc::push_dwarf_reg_entry_value)
16386         (show_entry_values_debug, call_site_to_target_addr)
16387         (func_addr_to_tail_call_list, func_verify_no_selftailcall)
16388         (dwarf_expr_reg_to_entry_parameter, dwarf_entry_parameter_to_value)
16389         (entry_data_value_free_closure, value_of_dwarf_reg_entry)
16390         (value_of_dwarf_block_entry, indirect_pieced_value)
16391         (symbol_needs_eval_context::push_dwarf_reg_entry_value):
16392         (disassemble_dwarf_expression): Likewise.
16393         * dwarf2read.c (process_die, inherit_abstract_dies)
16394         (read_call_site_scope): Likewise.
16395         * gdbtypes.h (struct func_type, struct call_site_parameter)
16396         (struct call_site): Likewise.
16397         * stack.c (read_frame_arg): Likewise.
16398         * std-operator.def (OP_VAR_ENTRY_VALUE): Likewise.
16399
16400 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16401
16402         * defs.h (read_unsigned_leb128): New declaration.
16403         * dwarf2loc.c (decode_debug_loclists_addresses): New function.
16404         (decode_debug_loc_dwo_addresses): Update DEBUG_LOC_* to DW_LLE_*.
16405         (dwarf2_find_location_expression): Call also
16406         decode_debug_loclists_addresses.  Handle DWARF-5 ULEB128 length.
16407         * dwarf2loc.h (dwarf2_version): New declaration.
16408         * dwarf2read.c (struct dwarf2_per_objfile): Add loclists, line_str,
16409         rnglists.
16410         (dwarf2_elf_names): Add .debug_loclists, .debug_line_str,
16411         .debug_rnglists.
16412         (struct dwop_section_names): Add loclists_dwo.
16413         (dwop_section_names): Add .debug_loclists.dwo.
16414         (struct comp_unit_head): Add unit_type, signature, type_offset_in_tu.
16415         (struct dwarf2_per_cu_data): Add dwarf_version.
16416         (struct dwo_sections): Add loclists.
16417         (struct attr_abbrev): Add implicit_const.
16418         (read_indirect_line_string): New declaration.
16419         (read_unsigned_leb128): Delete declaration.
16420         (rcuh_kind): New definition.
16421         (read_and_check_comp_unit_head): Change parameter
16422         is_debug_types_section to section_kind.
16423         (dwarf2_locate_sections): Handle loclists, line_str and rnglists.
16424         (read_comp_unit_head): Change parameter abfd to section, add parameter
16425         section_kind.  Handle DWARF-5.
16426         (error_check_comp_unit_head): Accept also DWARF version 5.
16427         (read_and_check_comp_unit_head): Change parameter
16428         is_debug_types_section to section_kind.
16429         (read_and_check_type_unit_head): Delete function.
16430         (read_abbrev_offset): Handle DWARF-5.
16431         (create_debug_type_hash_table): Add parameter section_kind.  Process
16432         only DW_UT_type.  Use signature and type_offset_in_tu from struct
16433         comp_unit_head.
16434         (create_debug_types_hash_table): Update create_debug_type_hash_table
16435         caller.
16436         (create_all_type_units): Call create_debug_type_hash_table.
16437         (read_cutu_die_from_dwo, init_cutu_and_read_dies): Change
16438         read_and_check_type_unit_head caller to read_and_check_comp_unit_head
16439         caller.
16440         (skip_one_die): Handle DW_FORM_implicit_const.
16441         (dwarf2_rnglists_process): New function.
16442         (dwarf2_ranges_process): Call dwarf2_rnglists_process for DWARF-5.
16443         (abbrev_table_read_table): Handle DW_FORM_implicit_const.
16444         (read_attribute_value): Handle DW_FORM_implicit_const,
16445         DW_FORM_line_strp.
16446         (read_attribute): Handle DW_FORM_implicit_const.
16447         (read_indirect_string_at_offset_from): New function from
16448         read_indirect_string_at_offset.
16449         (read_indirect_string_at_offset): Call
16450         read_indirect_string_at_offset_from.
16451         (read_indirect_line_string_at_offset): New function.
16452         (read_indirect_string): New function comment.
16453         (read_indirect_line_string): New function.
16454         (read_unsigned_leb128): Make it global.
16455         (dwarf2_string_attr): Handle DWARF-5.
16456         (add_include_dir_stub, read_formatted_entries): New functions.
16457         (dwarf_decode_line_header, dump_die_shallow, cu_debug_loc_section):
16458         Handle DWARF-5.
16459         (per_cu_header_read_in): Update read_comp_unit_head caller.
16460         (dwarf2_version): New function.
16461         * symfile.h (struct dwarf2_debug_sections): Add loclists, line_str and
16462         rnglists.
16463         * xcoffread.c (dwarf2_xcoff_names): Update struct dwarf2_debug_sections
16464         fields.
16465
16466 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16467
16468         * dwarf2read.c (abbrev_table_read_table): Read the data only once.
16469
16470 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16471
16472         * dwarf2read.c (dwarf2_ranges_process): New function from
16473         dwarf2_ranges_read.
16474         (dwarf2_ranges_read, dwarf2_record_block_ranges): Use
16475         dwarf2_ranges_process.
16476
16477 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16478
16479         * dwarf2read.c (create_debug_type_hash_table): New function from
16480         create_debug_types_hash_table.
16481         (create_debug_types_hash_table): Call create_debug_type_hash_table.
16482         (create_all_type_units, open_and_init_dwo_file): Update
16483         create_debug_types_hash_table callers.
16484
16485 2017-02-20  Sergio Durigan Junior  <sergiodj@redhat.com>
16486
16487         PR gdb/16188
16488         * fork-child.c (trace_start_error): Fix thinko.  va_end should
16489         refer to 'ap', not 'args'.
16490
16491 2017-02-20  Sergio Durigan Junior  <sergiodj@redhat.com>
16492             Pedro Alves  <palves@redhat.com>
16493
16494         PR gdb/16188
16495         * darwin-nat.c (darwin_ptrace_me): Check if calls to system
16496         calls succeeded.
16497         * fork-child.c (trace_start_error): New function.
16498         (trace_start_error_with_name): Likewise.
16499         * gnu-nat.c (gnu_ptrace_me): Check if call to PTRACE succeeded.
16500         * inf-ptrace.c (inf_ptrace_me): Likewise.
16501         * inferior.h (trace_start_error): New prototype.
16502         (trace_start_error_with_name): Likewise.
16503
16504 2017-02-15  Sergio Durigan Junior  <sergiodj@redhat.com>
16505
16506         PR gdb/21164
16507         * psymtab.c (maintenance_print_psymbols): Verify if 'argv' is not
16508         NULL before using it.
16509         * symmisc.c (maintenance_print_symbols): Likewise.
16510         (maintenance_print_msymbols): Likewise.
16511
16512 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16513
16514         * NEWS: Add record Python bindings entry.
16515
16516 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16517
16518         * Makefile.in (SUBDIR_PYTHON_OBS): Add py-record-btrace.o,
16519         py-record-full.o.
16520         (SUBDIR_PYTHON_SRCS): Add py-record-btrace.c, py-record-full.c.
16521         * python/py-record-btrace.c, python/py-record-btrace.h,
16522         python/py-record-full.c, python/py-record-full.h: New file.
16523         * python/py-record.c: Add include for py-record-btrace.h and
16524         py-record-full.h.
16525         (recpy_method, recpy_format, recpy_goto, recpy_replay_position,
16526         recpy_instruction_history, recpy_function_call_history, recpy_begin,
16527         recpy_end): Use functions from py-record-btrace.c and py-record-full.c.
16528         * python/python-internal.h (PyInt_FromSsize_t, PyInt_AsSsize_t):
16529         New definition.
16530         (gdbpy_initialize_btrace): New export.
16531         * python/python.c (_initialize_python): Add gdbpy_initialize_btrace.
16532
16533 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16534
16535         * Makefile.in (SUBDIR_PYTHON_OBS): Add python/py-record.o.
16536         (SUBDIR_PYTHON_SRCS): Add python/py-record.c.
16537         * python/py-record.c: New file.
16538         * python/python-internal.h (gdbpy_start_recording,
16539         gdbpy_current_recording, gdpy_stop_recording,
16540         gdbpy_initialize_record): New export.
16541         * python/python.c (_initialize_python): Add gdbpy_initialize_record.
16542         (python_GdbMethods): Add gdbpy_start_recording,
16543         gdbpy_current_recording and gdbpy_stop_recording.
16544
16545 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16546
16547         * record-btrace.c (record_btrace_record_method): New function.
16548         (init_record_btrace_ops): Initialize to_record_method.
16549         * record-full.c (record_full_record_method): New function.
16550         (init_record_full_ops, init_record_full_core_ops): Add
16551         record_full_record_method.
16552         * record.h (enum record_method): New enum.
16553         * target-debug.h (target_debug_print_enum_record_method: New define.
16554         * target-delegates.c: Regenerate.
16555         * target.c (target_record_method): New function.
16556         * target.h: Include record.h.
16557         (struct target_ops) <to_record_method>: New field.
16558         (target_record_method): New export.
16559
16560 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16561
16562         * record.h (record_start, record_stop): New export.
16563         * record.c (record_start, record_stop): New function.
16564
16565 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16566
16567         * btrace.c (btrace_fetch): Copy function call segments pointer
16568         into a vector.
16569         (btrace_clear): Clear the vector.
16570         (btrace_find_insn_by_number): Use binary search to find the correct
16571         function call segment.
16572         * btrace.h (brace_fun_p): New typedef.
16573         (struct btrace_thread_info) <functions>: New field.
16574
16575 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16576
16577         * record-btrace.c (btrace_ui_out_decode_error): Move most of it ...
16578         * btrace.c (btrace_decode_error): ... here.  New function.
16579         * btrace.h (btrace_decode_error): New export.
16580
16581 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16582
16583         * btrace.c (ftrace_call_num_insn, btrace_insn_get_error): New function.
16584         (ftrace_new_function, btrace_insn_number, btrace_insn_cmp,
16585         btrace_find_insn_by_number): Remove special case for gaps.
16586         * btrace.h (btrace_insn_get_error): New export.
16587         (btrace_insn_number, btrace_find_insn_by_number): Adjust comment.
16588         * record-btrace.c (btrace_insn_history): Print number for gaps.
16589         (record_btrace_info, record_btrace_goto): Handle gaps.
16590
16591 2017-02-14  Tom Tromey  <tom@tromey.com>
16592
16593         PR python/13598:
16594         * python/python.c (gdbpy_before_prompt_hook): Emit before_prompt
16595         event.
16596         * python/py-evts.c (gdbpy_initialize_py_events): Add
16597         before_prompt registry.
16598         * python/py-events.h (events_object) <before_prompt>: New field.
16599
16600 2017-02-14  Markus Metzger  <markus.t.metzger@intel.com>
16601
16602         * btrace.c (ftrace_new_switch): Preserve up link and flags.
16603
16604 2017-02-13  Luis Machado  <lgustavo@codesourcery.com>
16605
16606         * symfile (_initialize_symfile): Add usage text to the load command's
16607         help text.
16608
16609 2017-02-10  Simon Marchi  <simon.marchi@ericsson.com>
16610
16611         * utils.c (defaulted_query): Don't query on secondary UIs.
16612
16613 2017-02-10  Tom Tromey  <tom@tromey.com>
16614
16615         * rust-lang.c (rust_get_disr_info): Remove unused variable.
16616
16617 2017-02-10  Tom Tromey  <tom@tromey.com>
16618
16619         * python/py-value.c (valpy_richcompare_throw): Remove unnecessary
16620         "cleanup" local.
16621         * python/py-type.c (typy_legacy_template_argument): Remove
16622         unnecessary "cleanup" local.
16623
16624 2017-02-10  Tom Tromey  <tom@tromey.com>
16625
16626         * python/python.c (do_start_initialization): New function, from
16627         _initialize_python.
16628         (_initialize_python): Call do_start_initialization.
16629         * python/py-linetable.c (ltpy_iternext): Use explicit returns, not
16630         goto.
16631
16632 2017-02-10  Tom Tromey  <tom@tromey.com>
16633
16634         * python/py-prettyprint.c (pretty_print_one_value): Use
16635         gdbpy_ref.
16636
16637 2017-02-10  Tom Tromey  <tom@tromey.com>
16638
16639         * python/py-cmd.c (cmdpy_destroyer): Use gdbpy_ref.
16640         * python/py-breakpoint.c (gdbpy_breakpoint_deleted): Use
16641         gdbpy_ref.
16642         * python/py-type.c (field_new): Use gdbpy_ref.
16643         * python/py-symtab.c (symtab_and_line_to_sal_object): Use
16644         gdbpy_ref.
16645         * python/py-progspace.c (pspy_new): Use gdbpy_ref.
16646         (py_free_pspace): Likewise.
16647         (pspace_to_pspace_object): Likewise.
16648         * python/py-objfile.c (objfpy_new): Use gdbpy_ref.
16649         (py_free_objfile): Likewise.
16650         (objfile_to_objfile_object): Likewise.
16651         * python/py-inferior.c (delete_thread_object): Use
16652         gdbpy_ref.
16653         (infpy_read_memory): Likewise.
16654         (py_free_inferior): Likewise.
16655         * python/py-evtregistry.c (create_eventregistry_object): Use
16656         gdbpy_ref.
16657         * python/py-event.c (create_event_object): Use gdbpy_ref.
16658
16659 2017-02-10  Tom Tromey  <tom@tromey.com>
16660
16661         * python/py-ref.h (gdbpy_ref_policy): Now a template.
16662         (gdbpy_ref): Now a template; allow subclasses of PyObject to be
16663         used.
16664         * python/py-arch.c, python/py-bpevent.c, python/py-breakpoint.c,
16665         python/py-cmd.c, python/py-continueevent.c, python/py-event.c,
16666         python/py-exitedevent.c, python/py-finishbreakpoint.c,
16667         python/py-framefilter.c, python/py-function.c,
16668         python/py-inferior.c, python/py-infevents.c,
16669         python/py-linetable.c, python/py-newobjfileevent.c,
16670         python/py-param.c, python/py-prettyprint.c, python/py-ref.h,
16671         python/py-signalevent.c, python/py-stopevent.c,
16672         python/py-symbol.c, python/py-threadevent.c, python/py-type.c,
16673         python/py-unwind.c, python/py-utils.c, python/py-value.c,
16674         python/py-varobj.c, python/py-xmethods.c, python/python.c,
16675         varobj.c: Change gdbpy_ref to gdbpy_ref<>.
16676
16677 2017-02-10  Tom Tromey  <tom@tromey.com>
16678
16679         * ui-out.h (ui_out_emit_type): New class.
16680         (ui_out_emit_tuple, ui_out_emit_list): New typedefs.
16681         * python/py-framefilter.c (py_print_single_arg): Use gdb::optional
16682         and ui_out_emit_tuple.
16683         (enumerate_locals): Likewise.
16684         (py_mi_print_variables, py_print_locals, py_print_args): Use
16685         ui_out_emit_list.
16686         (py_print_frame): Use gdb::optional, ui_out_emit_tuple,
16687         ui_out_emit_list.
16688         * common/gdb_optional.h: New file.
16689
16690 2017-02-10  Martin Galvan  <martingalvan@sourceware.org>
16691
16692         * MAINTAINERS (Write After Approval): Update my e-mail address.
16693
16694 2017-02-10  Martin Galvan  <martingalvan@sourceware.org>
16695
16696         PR gdb/21122
16697         * breakpoint.c (_initialize_breakpoint): Update the help description
16698         of the 'commands' command to indicate that it takes a list argument.
16699
16700 2017-02-09  Simon Marchi  <simon.marchi@ericsson.com>
16701
16702         * interps.c (current_interp_set_logging): Remove "return".
16703
16704 2017-02-09  Gary Benson  <gbenson@redhat.com>
16705
16706         * symtab.c (add_symtab_completions): Prevent NULL pointer
16707         dereference.
16708
16709 2017-02-08  Pedro Alves  <palves@redhat.com>
16710
16711         * interps.c (interp::interp): Remove reference to quiet_p.
16712         (interp_set): Make static.  Remove dead "Switching to" output
16713         code.
16714         (interp_quiet_p, interp_set_quiet): Delete.
16715         (interpreter_exec_cmd): Don't set the interpreter quiet.
16716         * interps.h (interp_quiet_p): Make static.
16717         (class interp) <quiet_p>: Remove field
16718
16719 2017-02-08  Jerome Guitton  <guitton@adacore.com>
16720
16721         * cli/cli-decode.c (find_command_name_length): Make it extern.
16722         * cli/cli-decode.h (find_command_name_length): Declare.
16723         * cli/cli-script.c (command_name_equals, line_first_arg):
16724         New functions.
16725         (process_next_line): Use cli-decode to parse command names.
16726         (build_command_line): Make args a constant pointer.
16727
16728 2017-02-08  Jerome Guitton  <guitton@adacore.com>
16729
16730         * cli-decode.c (lookup_cmd_1, lookup_cmd_composition):
16731         Remove case-insensitive search.
16732
16733 2017-02-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
16734
16735         * sparc-tdep.c (sparc32_gdbarch_init): Do not place a + operator
16736         at the end of the line.  Avoids an ARI warning.
16737
16738 2017-02-06  Luis Machado  <lgustavo@codesourcery.com>
16739
16740         * NEWS: Mention support for record/replay of Intel 64 rdrand and
16741         rdseed instructions.
16742         i386-tdep.c (i386_process_record): Handle Intel 64 rdrand and rseed.
16743
16744 2017-02-06  Ivo Raisr  <ivo.raisr@oracle.com>
16745
16746         PR tdep/20936
16747         Provide and use sparc32 and sparc64 target description XML files.
16748         * features/sparc/sparc32-cp0.xml, features/sparc/sparc32-cpu.xml,
16749         features/sparc/sparc32-fpu.xml: New files for sparc 32-bit.
16750         * features/sparc/sparc64-cp0.xml, features/sparc/sparc64-cpu.xml,
16751         features/sparc/sparc64-fpu.xml: New files for sparc 64-bit.
16752         * features/sparc/sparc32-solaris.xml: New file.
16753         * features/sparc/sparc64-solaris.xml: New file.
16754         * features/sparc/sparc32-solaris.c: Generated.
16755         * features/sparc/sparc64-solaris.c: Generated.
16756         * sparc-tdep.h: Account for differences in target descriptions.
16757         * sparc-tdep.c (sparc32_register_name): Use target provided registers.
16758         (sparc32_register_type): Use target provided registers.
16759         (validate_tdesc_registers): New function.
16760         (sparc32_gdbarch_init): Use tdesc_has_registers.
16761         Set pseudoregister functions.
16762         * sparc64-tdep.c (sparc64_register_name): Use target provided registers.
16763         (sparc64_register_type): Use target provided registers.
16764         (sparc64_init_abi): Set pseudoregister functions.
16765
16766 2017-02-03  Tom Tromey  <tom@tromey.com>
16767
16768         PR rust/21097:
16769         * rust-lang.c (rust_print_type) <TYPE_CODE_UNION>: Handle enums
16770         with a single member.
16771
16772 2017-02-03  Pedro Alves  <palves@redhat.com>
16773
16774         * cli/cli-interp.c (cli_interp_base::cli_interp_base)
16775         (cli_interp_base::~cli_interp_base): New.
16776         (cli_interp): New struct.
16777         (as_cli_interp): Cast the interp itself to cli_interp.
16778         (cli_interpreter_pre_command_loop): Rename to ...
16779         (cli_interp_base::pre_command_loop): ... this.  Remove 'self'
16780         parameter.
16781         (cli_interpreter_init): Rename to ...
16782         (cli_interp::init): ... this.  Remove 'self' parameter.  Use
16783         boolean.  Make extern.
16784         (cli_interpreter_resume): Rename to ...
16785         (cli_interp::resume): ... this.  Remove 'data' parameter.  Make
16786         extern.
16787         (cli_interpreter_suspend): Rename to ...
16788         (cli_interp::suspend): ... this.  Remove 'data' parameter.  Make
16789         extern.
16790         (cli_interpreter_exec): Rename to ...
16791         (cli_interp::exec): ... this.  Remove 'data' parameter.  Make
16792         extern.
16793         (cli_interpreter_supports_command_editing): Rename to ...
16794         (cli_interp_base::supports_command_editing): ... this.  Remove
16795         'interp' parameter.  Make extern.
16796         (cli_ui_out): Rename to ...
16797         (cli_interp::interp_ui_out): ... this.  Remove 'interp' parameter.
16798         Make extern.
16799         (cli_set_logging): Rename to ...
16800         (cli_interp_base::set_logging): ... this.  Remove 'interp'
16801         parameter.  Make extern.
16802         (cli_interp_procs): Delete.
16803         (cli_interp_factory): Adjust to use "new".
16804         * cli/cli-interp.h: Include "interps.h".
16805         (struct cli_interp_base): New struct.
16806         * interps.c (struct interp): Delete.  Fields moved to interps.h.
16807         (interp_new): Delete.
16808         (interp::interp, interp::~interp): New.
16809         (interp_set): Use bool, and return void.  Assume the interpreter
16810         has suspend, init and resume methods, and that the all return
16811         void.
16812         (set_top_level_interpreter): interp_set returns void.
16813         (interp_ui_out): Adapt.
16814         (current_interp_set_logging): Adapt.
16815         (interp_data): Delete.
16816         (interp_pre_command_loop, interp_supports_command_editing): Adapt.
16817         (interp_exec): Adapt.
16818         (top_level_interpreter_data): Delete.
16819         * interps.h (interp_init_ftype, interp_resume_ftype)
16820         (interp_suspend_ftype, interp_exec_ftype)
16821         (interp_pre_command_loop_ftype, interp_ui_out_ftype): Delete.
16822         (class interp): New.
16823         (interp_new): Delete.
16824         (interp_set): Now returns void.  Use bool.
16825         (interp_data, top_level_interpreter_data): Delete.
16826         * mi/mi-common.h: Include interps.h.
16827         (class mi_interp): Inherit from interp.  Define a ctor.  Declare
16828         init, resume, suspect, exec, interp_ui_out, set_logging and
16829         pre_command_loop methods.
16830         * mi/mi-interp.c (as_mi_interp): Cast the interp itself.
16831         (mi_interpreter_init): Rename to ...
16832         (mi_interp::init): ... this.  Remove the 'interp' parameter, use
16833         bool, return void and make extern.  Adjust.
16834         (mi_interpreter_resume): ... Rename to ...
16835         (mi_interp::resume): ... this.  Remove the 'data' parameter,
16836         return void and make extern.  Adjust.
16837         (mi_interpreter_suspend): ... Rename to ...
16838         (mi_interp::suspend): ... this.  Remove the 'data' parameter,
16839         return void and make extern.  Adjust.
16840         (mi_interpreter_exec): ... Rename to ...
16841         (mi_interp::exec): ... this.  Remove the 'data' parameter and make
16842         extern.  Adjust.
16843         (mi_interpreter_pre_command_loop): ... Rename to ...
16844         (mi_interp::pre_command_loop): ... this.  Remove the 'self'
16845         parameter and make extern.
16846         (mi_on_normal_stop_1): Adjust.
16847         (mi_ui_out): Rename to ...
16848         (mi_interp::interp_ui_out): ... this.  Remove the 'interp'
16849         parameter and make extern.  Adjust.
16850         (mi_set_logging): Rename to ...
16851         (mi_interp::set_logging): ... this.  Remove the 'interp'
16852         parameter and make extern.  Adjust.
16853         (mi_interp_procs): Delete.
16854         (mi_interp_factory): Adjust to use 'new'.
16855         * mi/mi-main.c (mi_cmd_gdb_exit, captured_mi_execute_command)
16856         (mi_print_exception, mi_execute_command, mi_load_progress):
16857         Adjust.
16858         * tui/tui-interp.c (tui_interp): New class.
16859         (as_tui_interp): Return a tui_interp pointer.
16860         (tui_on_normal_stop, tui_on_signal_received)
16861         (tui_on_end_stepping_range, tui_on_signal_exited, tui_on_exited)
16862         (tui_on_no_history, tui_on_user_selected_context_changed): Adjust
16863         to use interp::interp_ui_out.
16864         (tui_init): Rename to ...
16865         (tui_interp::init): ... this.  Remove the 'self' parameter, use
16866         bool, return void and make extern.  Adjust.
16867         (tui_resume): Rename to ...
16868         (tui_interp::resume): ... this.  Remove the 'data' parameter,
16869         return void and make extern.  Adjust.
16870         (tui_suspend): Rename to ...
16871         (tui_interp::suspend): ... this.  Remove the 'data' parameter,
16872         return void and make extern.  Adjust.
16873         (tui_ui_out): Rename to ...
16874         (tui_interp::interp_ui_out): ... this.  Remove the 'self'
16875         parameter, and make extern.  Adjust.
16876         (tui_exec): Rename to ...
16877         (tui_interp::exec): ... this.  Remove the 'data' parameter and
16878         make extern.
16879         (tui_interp_procs): Delete.
16880         (tui_interp_factory): Use "new".
16881
16882 2017-02-02  Tom Tromey  <tom@tromey.com>
16883
16884         * rust-exp.y (ends_raw_string, space_then_number)
16885         (rust_identifier_start_p): Return bool.
16886         * rust-lang.c (rust_tuple_type_p, rust_underscore_fields)
16887         (rust_tuple_struct_type_p, rust_tuple_variant_type_p)
16888         (rust_slice_type_p, rust_range_type_p, rust_u8_type_p)
16889         (rust_chartype_p): Return bool.
16890         (val_print_struct, rust_print_struct_def, rust_print_type):
16891         Update.
16892         * rust-lang.h (rust_tuple_type_p, rust_tuple_struct_type_p):
16893         Return bool.
16894
16895 2017-02-02  Tom Tromey  <tom@tromey.com>
16896
16897         * rust-lang.c: Reindent.
16898
16899 2017-02-02  Tom Tromey  <tom@tromey.com>
16900
16901         * rust-lang.h (rust_crate_for_block): Update.
16902         * rust-lang.c (rust_crate_for_block): Return std::string.
16903         (rust_get_disr_info): Use std:;string, not
16904         gdb::unique_xmalloc_ptr.
16905         * rust-exp.y (crate_name): Update.
16906
16907 2017-02-02  Pedro Alves  <palves@redhat.com>
16908
16909         * disasm-selftests.c (print_one_insn_test): Move the "verbose"
16910         field out of gdb_disassembler_test and make it static.
16911
16912 2017-02-02  Pedro Alves  <palves@redhat.com>
16913
16914         * mi/mi-common.h (struct mi_interp): Delete the mi2_interp,
16915         mi1_interp and mi_interp fields.
16916
16917 2017-02-02  Pedro Alves  <palves@redhat.com>
16918
16919         * cli/cli-interp.c (struct saved_output_files, saved_output):
16920         Moved from cli/cli-logging.c.
16921         (cli_set_logging): New function.
16922         (cli_interp_procs): Install cli_set_logging.
16923         * cli/cli-interp.h (make_logging_output, cli_set_logging):
16924         Declare.
16925         * cli/cli-logging.c (struct saved_output_files, saved_output):
16926         Moved to cli/cli-interp.c.
16927         (pop_output_files): Don't save outputs here.
16928         (make_logging_output): New function.
16929         (handle_redirections): Don't build tee nor save previous outputs
16930         here.
16931         * interps.c (current_interp_set_logging): Change prototype.
16932         Assume there's always a set_logging_proc method installed.
16933         * interps.h (interp_set_logging_ftype): Change prototype.
16934         (current_interp_set_logging): Change prototype and adjust comment.
16935         * mi/mi-interp.c (mi_set_logging): Change protototype.  Adjust to
16936         use make_logging_output.
16937         * tui/tui-interp.c (tui_interp_procs): Install cli_set_logging.
16938 2017-02-02  Pedro Alves  <palves@redhat.com>
16939
16940         * cli/cli-logging.c (maybe_warn_already_logging): New factored out
16941         from ...
16942         (set_logging_overwrite): ... here.
16943         (logging_no_redirect_file): Delete.
16944         (set_logging_redirect): Don't handle redirection on the fly.
16945         Instead warn that "logging off" / "logging on" is necessary.
16946         (pop_output_files): Delete references to logging_no_redirect_file.
16947         (show_logging_command): Always speak in terms of what will happen
16948         once logging is reenabled.
16949
16950 2017-02-02  Pedro Alves  <palves@redhat.com>
16951
16952         * disasm.h (gdb_pretty_print_disassembler): Tweak intro comment.
16953
16954 2017-02-02  Pedro Alves  <palves@redhat.com>
16955
16956         * disasm.c (gdb_pretty_print_insn): Rename to ...
16957         (gdb_pretty_print_disassembler::pretty_print_insn): ... this.
16958         Remove gdbarch parameter.  Adapt to clear the object's buffers
16959         instead of allocating new buffers, and to print using the object's
16960         gdb_disassembler instead of calling gdb_print_insn.
16961         (dump_insns): Use gdb_pretty_print_disassembler.
16962         * disasm.h (gdb_pretty_print_insn): Delete declaration.
16963         (gdb_pretty_print_disassembler): New class.
16964         * record-btrace.c (btrace_insn_history): Use
16965         gdb_pretty_print_disassembler.
16966
16967 2017-02-02  Pedro Alves  <palves@redhat.com>
16968
16969         * ada-lang.c (type_as_string): Use string_file.
16970         * ada-valprint.c (ada_print_floating): Use string_file.
16971         * ada-varobj.c (ada_varobj_scalar_image)
16972         (ada_varobj_get_value_image): Use string_file.
16973         * aix-thread.c (aix_thread_extra_thread_info): Use string_file.
16974         * arm-tdep.c (_initialize_arm_tdep): Use string_printf.
16975         * breakpoint.c (update_inserted_breakpoint_locations)
16976         (insert_breakpoint_locations, reattach_breakpoints)
16977         (print_breakpoint_location, print_one_detail_ranged_breakpoint)
16978         (print_it_watchpoint): Use string_file.
16979         (save_breakpoints): Use stdio_file.
16980         * c-exp.y (oper): Use string_file.
16981         * cli/cli-logging.c (set_logging_redirect): Use ui_file_up and
16982         tee_file.
16983         (pop_output_files): Use delete.
16984         (handle_redirections): Use stdio_file and tee_file.
16985         * cli/cli-setshow.c (do_show_command): Use string_file.
16986         * compile/compile-c-support.c (c_compute_program): Use
16987         string_file.
16988         * compile/compile-c-symbols.c (generate_vla_size): Take a
16989         'string_file &' instead of a 'ui_file *'.
16990         (generate_c_for_for_one_variable): Take a 'string_file &' instead
16991         of a 'ui_file *'.  Use string_file.
16992         (generate_c_for_variable_locations): Take a 'string_file &'
16993         instead of a 'ui_file *'.
16994         * compile/compile-internal.h (generate_c_for_for_one_variable):
16995         Take a 'string_file &' instead of a 'ui_file *'.
16996         * compile/compile-loc2c.c (push, pushf, unary, binary)
16997         (print_label, pushf_register_address, pushf_register)
16998         (do_compile_dwarf_expr_to_c): Take a 'string_file &' instead of a
16999         'ui_file *'.  Adjust.
17000         * compile/compile.c (compile_to_object): Use string_file.
17001         * compile/compile.h (compile_dwarf_expr_to_c)
17002         (compile_dwarf_bounds_to_c): Take a 'string_file &' instead of a
17003         'ui_file *'.
17004         * cp-support.c (inspect_type): Use string_file and obstack_copy0.
17005         (replace_typedefs_qualified_name): Use string_file and
17006         obstack_copy0.
17007         * disasm.c (gdb_pretty_print_insn): Use string_file.
17008         (gdb_disassembly): Adjust reference the null_stream global.
17009         (do_ui_file_delete): Delete.
17010         (gdb_insn_length): Use null_stream.
17011         * dummy-frame.c (maintenance_print_dummy_frames): Use stdio_file.
17012         * dwarf2loc.c (dwarf2_compile_property_to_c)
17013         (locexpr_generate_c_location, loclist_generate_c_location): Take a
17014         'string_file &' instead of a 'ui_file *'.
17015         * dwarf2loc.h (dwarf2_compile_property_to_c): Likewise.
17016         * dwarf2read.c (do_ui_file_peek_last): Delete.
17017         (dwarf2_compute_name): Use string_file.
17018         * event-top.c (gdb_setup_readline): Use stdio_file.
17019         * gdbarch.sh (verify_gdbarch): Use string_file.
17020         * gdbtypes.c (safe_parse_type): Use null_stream.
17021         * guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Use
17022         string_file.
17023         * guile/scm-disasm.c (gdbscm_print_insn_from_port): Take a
17024         'string_file *' instead of a 'ui_file *'.
17025         (gdbscm_arch_disassemble): Use string_file.
17026         * guile/scm-frame.c (frscm_print_frame_smob): Use string_file.
17027         * guile/scm-ports.c (class ioscm_file_port): Now a class that
17028         inherits from ui_file.
17029         (ioscm_file_port_delete, ioscm_file_port_rewind)
17030         (ioscm_file_port_put): Delete.
17031         (ioscm_file_port_write): Rename to ...
17032         (ioscm_file_port::write): ... this.  Remove file_port_magic
17033         checks.
17034         (ioscm_file_port_new): Delete.
17035         (ioscm_with_output_to_port_worker): Use ioscm_file_port and
17036         ui_file_up.
17037         * guile/scm-type.c (tyscm_type_name): Use string_file.
17038         * guile/scm-value.c (vlscm_print_value_smob, gdbscm_value_print):
17039         Use string_file.
17040         * infcmd.c (print_return_value_1): Use string_file.
17041         * infrun.c (print_target_wait_results): Use string_file.
17042         * language.c (add_language): Use string_file.
17043         * location.c (explicit_to_string_internal): Use string_file.
17044         * main.c (captured_main_1): Use null_file.
17045         * maint.c (maintenance_print_architecture): Use stdio_file.
17046         * mi/mi-cmd-stack.c (list_arg_or_local): Use string_file.
17047         * mi/mi-common.h (struct mi_interp) <out, err, log, targ,
17048         event_channel>: Change type to mi_console_file pointer.
17049         * mi/mi-console.c (mi_console_file_fputs, mi_console_file_flush)
17050         (mi_console_file_delete): Delete.
17051         (struct mi_console_file): Delete.
17052         (mi_console_file_magic): Delete.
17053         (mi_console_file_new): Delete.
17054         (mi_console_file::mi_console_file): New.
17055         (mi_console_file_delete): Delete.
17056         (mi_console_file_fputs): Delete.
17057         (mi_console_file::write): New.
17058         (mi_console_raw_packet): Delete.
17059         (mi_console_file::flush): New.
17060         (mi_console_file_flush): Delete.
17061         (mi_console_set_raw): Rename to ...
17062         (mi_console_file::set_raw): ... this.
17063         * mi/mi-console.h (class mi_console_file): New class.
17064         (mi_console_file_new, mi_console_set_raw): Delete.
17065         * mi/mi-interp.c (mi_interpreter_init): Use mi_console_file.
17066         (mi_set_logging): Use delete and tee_file.  Adjust.
17067         * mi/mi-main.c (output_register): Use string_file.
17068         (mi_cmd_data_evaluate_expression): Use string_file.
17069         (mi_cmd_data_read_memory): Use string_file.
17070         (mi_cmd_execute, print_variable_or_computed): Use string_file.
17071         * mi/mi-out.c (mi_ui_out::main_stream): New.
17072         (mi_ui_out::rewind): Use main_stream and
17073         string_file.
17074         (mi_ui_out::put): Use main_stream and string_file.
17075         (mi_ui_out::mi_ui_out): Remove 'stream' parameter.
17076         Allocate a 'string_file' instead.
17077         (mi_out_new): Don't allocate a mem_fileopen stream here.
17078         * mi/mi-out.h (mi_ui_out::mi_ui_out): Remove 'stream' parameter.
17079         (mi_ui_out::main_stream): Declare method.
17080         * printcmd.c (eval_command): Use string_file.
17081         * psymtab.c (maintenance_print_psymbols): Use stdio_file.
17082         * python/py-arch.c (archpy_disassemble): Use string_file.
17083         * python/py-breakpoint.c (bppy_get_commands): Use string_file.
17084         * python/py-frame.c (frapy_str): Use string_file.
17085         * python/py-framefilter.c (py_print_type, py_print_single_arg):
17086         Use string_file.
17087         * python/py-type.c (typy_str): Use string_file.
17088         * python/py-unwind.c (unwind_infopy_str): Use string_file.
17089         * python/py-value.c (valpy_str): Use string_file.
17090         * record-btrace.c (btrace_insn_history): Use string_file.
17091         * regcache.c (regcache_print): Use stdio_file.
17092         * reggroups.c (maintenance_print_reggroups): Use stdio_file.
17093         * remote.c (escape_buffer): Use string_file.
17094         * rust-lang.c (rust_get_disr_info): Use string_file.
17095         * serial.c (serial_open_ops_1): Use stdio_file.
17096         (do_serial_close): Use delete.
17097         * stack.c (print_frame_arg): Use string_file.
17098         (print_frame_args): Remove local mem_fileopen stream, not used.
17099         (print_frame): Use string_file.
17100         * symmisc.c (maintenance_print_symbols): Use stdio_file.
17101         * symtab.h (struct symbol_computed_ops) <generate_c_location>:
17102         Take a 'string_file *' instead of a 'ui_file *'.
17103         * top.c (new_ui): Use stdio_file and stderr_file.
17104         (free_ui): Use delete.
17105         (execute_command_to_string): Use string_file.
17106         (quit_confirm): Use string_file.
17107         * tracepoint.c (collection_list::append_exp): Use string_file.
17108         * tui/tui-disasm.c (tui_disassemble): Use string_file.
17109         * tui/tui-file.c: Don't include "ui-file.h".
17110         (enum streamtype, struct tui_stream): Delete.
17111         (tui_file_new, tui_file_delete, tui_fileopen, tui_sfileopen)
17112         (tui_file_isatty, tui_file_rewind, tui_file_put): Delete.
17113         (tui_file::tui_file): New method.
17114         (tui_file_fputs): Delete.
17115         (tui_file_get_strbuf): Delete.
17116         (tui_file::puts): New method.
17117         (tui_file_adjust_strbuf): Delete.
17118         (tui_file_flush): Delete.
17119         (tui_file::flush): New method.
17120         * tui/tui-file.h: Tweak intro comment.
17121         Include ui-file.h.
17122         (tui_fileopen, tui_sfileopen, tui_file_get_strbuf)
17123         (tui_file_adjust_strbuf): Delete declarations.
17124         (class tui_file): New class.
17125         * tui/tui-io.c (tui_initialize_io): Use tui_file.
17126         * tui/tui-regs.c (tui_restore_gdbout): Use delete.
17127         (tui_register_format): Use string_stream.
17128         * tui/tui-stack.c (tui_make_status_line): Use string_file.
17129         (tui_get_function_from_frame): Use string_file.
17130         * typeprint.c (type_to_string): Use string_file.
17131         * ui-file.c (struct ui_file, ui_file_magic, ui_file_new): Delete.
17132         (null_stream): New global.
17133         (ui_file_delete): Delete.
17134         (ui_file::ui_file): New.
17135         (null_file_isatty): Delete.
17136         (ui_file::~ui_file): New.
17137         (null_file_rewind): Delete.
17138         (ui_file::printf): New.
17139         (null_file_put): Delete.
17140         (null_file_flush): Delete.
17141         (ui_file::putstr): New.
17142         (null_file_write): Delete.
17143         (ui_file::putstrn): New.
17144         (null_file_read): Delete.
17145         (ui_file::putc): New.
17146         (null_file_fputs): Delete.
17147         (null_file_write_async_safe): Delete.
17148         (ui_file::vprintf): New.
17149         (null_file_delete): Delete.
17150         (null_file::write): New.
17151         (null_file_fseek): Delete.
17152         (null_file::puts): New.
17153         (ui_file_data): Delete.
17154         (null_file::write_async_safe): New.
17155         (gdb_flush, ui_file_isatty): Adjust.
17156         (ui_file_put, ui_file_rewind): Delete.
17157         (ui_file_write): Adjust.
17158         (ui_file_write_for_put): Delete.
17159         (ui_file_write_async_safe, ui_file_read): Adjust.
17160         (ui_file_fseek): Delete.
17161         (fputs_unfiltered): Adjust.
17162         (set_ui_file_flush, set_ui_file_isatty, set_ui_file_rewind)
17163         (set_ui_file_put, set_ui_file_write, set_ui_file_write_async_safe)
17164         (set_ui_file_read, set_ui_file_fputs, set_ui_file_fseek)
17165         (set_ui_file_data): Delete.
17166         (string_file::~string_file, string_file::write)
17167         (struct accumulated_ui_file, do_ui_file_xstrdup, ui_file_xstrdup)
17168         (do_ui_file_as_string, ui_file_as_string): Delete.
17169         (do_ui_file_obsavestring, ui_file_obsavestring): Delete.
17170         (struct mem_file): Delete.
17171         (mem_file_new): Delete.
17172         (stdio_file::stdio_file): New.
17173         (mem_file_delete): Delete.
17174         (stdio_file::stdio_file): New.
17175         (mem_fileopen): Delete.
17176         (stdio_file::~stdio_file): New.
17177         (mem_file_rewind): Delete.
17178         (stdio_file::set_stream): New.
17179         (mem_file_put): Delete.
17180         (stdio_file::open): New.
17181         (mem_file_write): Delete.
17182         (stdio_file_magic, struct stdio_file): Delete.
17183         (stdio_file_new, stdio_file_delete, stdio_file_flush): Delete.
17184         (stdio_file::flush): New.
17185         (stdio_file_read): Rename to ...
17186         (stdio_file::read): ... this.  Adjust.
17187         (stdio_file_write): Rename to ...
17188         (stdio_file::write): ... this.  Adjust.
17189         (stdio_file_write_async_safe): Rename to ...
17190         (stdio_file::write_async_safe) ... this.  Adjust.
17191         (stdio_file_fputs): Rename to ...
17192         (stdio_file::puts) ... this.  Adjust.
17193         (stdio_file_isatty): Delete.
17194         (stdio_file_fseek): Delete.
17195         (stdio_file::isatty): New.
17196         (stderr_file_write): Rename to ...
17197         (stderr_file::write) ... this.  Adjust.
17198         (stderr_file_fputs): Rename to ...
17199         (stderr_file::puts) ... this.  Adjust.
17200         (stderr_fileopen, stdio_fileopen, gdb_fopen): Delete.
17201         (stderr_file::stderr_file): New.
17202         (tee_file_magic): Delete.
17203         (struct tee_file): Delete.
17204         (tee_file::tee_file): New.
17205         (tee_file_new): Delete.
17206         (tee_file::~tee_file): New.
17207         (tee_file_delete): Delete.
17208         (tee_file_flush): Rename to ...
17209         (tee_file::flush): ... this.  Adjust.
17210         (tee_file_write): Rename to ...
17211         (tee_file::write): ... this.  Adjust.
17212         (tee_file::write_async_safe): New.
17213         (tee_file_fputs): Rename to ...
17214         (tee_file::puts): ... this.  Adjust.
17215         (tee_file_isatty): Rename to ...
17216         (tee_file::isatty): ... this.  Adjust.
17217         * ui-file.h (struct obstack, struct ui_file): Don't
17218         forward-declare.
17219         (ui_file_new, ui_file_flush_ftype, set_ui_file_flush)
17220         (ui_file_write_ftype)
17221         (set_ui_file_write, ui_file_fputs_ftype, set_ui_file_fputs)
17222         (ui_file_write_async_safe_ftype, set_ui_file_write_async_safe)
17223         (ui_file_read_ftype, set_ui_file_read, ui_file_isatty_ftype)
17224         (set_ui_file_isatty, ui_file_rewind_ftype, set_ui_file_rewind)
17225         (ui_file_put_method_ftype, ui_file_put_ftype, set_ui_file_put)
17226         (ui_file_delete_ftype, set_ui_file_data, ui_file_fseek_ftype)
17227         (set_ui_file_fseek): Delete.
17228         (ui_file_data, ui_file_delete, ui_file_rewind)
17229         (struct ui_file): New.
17230         (ui_file_up): New.
17231         (class null_file): New.
17232         (null_stream): Declare.
17233         (ui_file_write_for_put, ui_file_put): Delete.
17234         (ui_file_xstrdup, ui_file_as_string, ui_file_obsavestring):
17235         Delete.
17236         (ui_file_fseek, mem_fileopen, stdio_fileopen, stderr_fileopen)
17237         (gdb_fopen, tee_file_new): Delete.
17238         (struct string_file): New.
17239         (struct stdio_file): New.
17240         (stdio_file_up): New.
17241         (struct stderr_file): New.
17242         (class tee_file): New.
17243         * ui-out.c (ui_out::field_stream): Take a 'string_file &' instead
17244         of a 'ui_file *'.  Adjust.
17245         * ui-out.h (class ui_out) <field_stream>: Likewise.
17246         * utils.c (do_ui_file_delete, make_cleanup_ui_file_delete)
17247         (null_stream): Delete.
17248         (error_stream): Take a 'string_file &' instead of a 'ui_file *'.
17249         Adjust.
17250         * utils.h (struct ui_file): Delete forward declaration..
17251         (make_cleanup_ui_file_delete, null_stream): Delete declarations.
17252         (error_stream): Take a 'string_file &' instead of a
17253         'ui_file *'.
17254         * varobj.c (varobj_value_get_print_value): Use string_file.
17255         * xtensa-tdep.c (xtensa_verify_config): Use string_file.
17256         * gdbarch.c: Regenerate.
17257
17258 2017-02-02  Pedro Alves  <palves@redhat.com>
17259
17260         * disasm.c (gdb_disassembler::pretty_print_insn): Rename to...
17261         (gdb_pretty_print_insn): ... this.  Now a free function.  Add back
17262         a 'gdbarch' parameter.  Allocate a mem_fileopen stream here.
17263         Adjust to call gdb_print_insn instead of
17264         gdb_disassembler::print_insn.
17265         (dump_insns, do_mixed_source_and_assembly_deprecated)
17266         (do_mixed_source_and_assembly, do_assembly_only): Add back a
17267         'gdbarch' parameter.  Remove gdb_disassembler parameter.
17268         (gdb_disassembly): Don't allocate a gdb_disassembler here.
17269         * disasm.h (gdb_disassembler::pretty_print_insn): Delete
17270         declaration.
17271         (gdb_pretty_print_insn): Re-add declaration.
17272         * record-btrace.c (btrace_insn_history): Don't allocate a
17273         gdb_disassembler here.  Adjust to call gdb_pretty_print_insn.
17274
17275 2017-02-01  Simon Marchi  <simon.marchi@polymtl.ca>
17276
17277         * disasm.h (gdb_disassembly): Remove file_string parameter.
17278         * disasm.c (gdb_disassembly): Likewise.
17279         * cli/cli-cmds.c (print_disassembly): Adapt.
17280         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Likewise.
17281         * stack.c (do_gdb_disassembly): Likewise.
17282
17283 2017-02-01  Andreas Arnez  <arnez@linux.vnet.ibm.com>
17284
17285         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): For
17286         DWARF_VALUE_LITERAL, no longer ignore the offset on big-endian
17287         targets.  And if the implicit value is longer than needed, extract
17288         the first bytes instead of the "least significant" ones.
17289
17290 2017-02-01  Markus Metzger  <markus.t.metzger@intel.com>
17291
17292         * btrace.c (btrace_enable): Do not call btrace_add_pc for
17293         BTRACE_FORMAT_PT or if can_access_registers_ptid returns false.
17294         (btrace_fetch): Assert can_access_registers_ptid.
17295         * record-btrace.c (require_btrace_thread, record_btrace_info): Call
17296         validate_registers_access.
17297
17298 2017-02-01  Markus Metzger  <markus.t.metzger@intel.com>
17299
17300         * gdbthread.h (can_access_registers_ptid): New.
17301         * thread.c (can_access_registers_ptid): New.
17302
17303 2017-02-01  Pedro Alves  <palves@redhat.com>
17304
17305         * i386-tdep.c (i386_fast_tracepoint_valid_at): Use gdb_insn_length.
17306
17307 2017-01-31  Pedro Alves  <palves@redhat.com>
17308
17309         * mi/mi-interp.c (mi_breakpoint_created, mi_breakpoint_modified):
17310         Fix typos.
17311
17312 2017-01-31  Pedro Alves  <palves@redhat.com>
17313
17314         * stack.c (print_frame_args): Remove local mem_fileopen stream,
17315         not used.
17316
17317 2017-01-31  Pedro Alves  <palves@redhat.com>
17318
17319         * varobj.c (varobj_value_get_print_value): Remove xstrdup call.
17320
17321 2017-01-31  Pedro Alves  <palves@redhat.com>
17322
17323         * common/scoped_restore.h
17324         (scoped_restore_tmpl::scoped_restore_tmpl): Template on T2, and
17325         change the value's parameter type to T2.
17326         (make_scoped_restore): Likewise.
17327
17328 2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
17329             Richard Henderson  <rth@redhat.com>
17330
17331         * amd64-linux-nat.c (PTRACE_ARCH_PRCTL): New define.
17332         (amd64_linux_fetch_inferior_registers): Add case to fetch FS_BASE
17333         GS_BASE for older kernels.
17334         (amd64_linux_store_inferior_registers): Add case to store FS_BASE
17335         GS_BASE for older kernels.
17336         * amd64-linux-tdep.c (amd64_linux_gregset_reg_offset): Add FS_BASE
17337         and GS_BASE to the offset table.
17338         (amd64_linux_register_reggroup_p): Add FS_BASE and GS_BASE to the
17339         system register group.
17340         * amd64-nat.c (amd64_native_gregset_reg_offset): Implements case
17341         for older kernels.
17342         * amd64-tdep.c (amd64_init_abi): Add segment registers for the
17343         amd64 ABI.
17344         * amd64-tdep.h (amd64_regnum): Add AMD64_FSBASE_REGNUM and
17345         AMD64_GSBASE_REGNUM.
17346         (AMD64_NUM_REGS): Set to AMD64_GSBASE_REGNUM + 1.
17347         * features/Makefile (amd64-linux.dat, amd64-avx-linux.dat)
17348         (amd64-mpx-linux.dat, amd64-avx512-linux.dat, x32-linux.dat)
17349         (x32-avx-linux.dat, x32-avx512-linux.dat): Add
17350         i386/64bit-segments.xml in those rules.
17351         * features/i386/64bit-segments.xml: New file.
17352         * features/i386/amd64-avx-mpx-linux.xml: Add 64bit-segments.xml.
17353         * features/i386/amd64-avx-linux.xml: Add 64bit-segments.xml.
17354         * features/i386/amd64-avx512-linux.xml: Add 64bit-segments.xml.
17355         * features/i386/amd64-mpx-linux.xml: Add 64bit-segments.xml.
17356         * features/i386/x32-avx512-linux.xml: Add 64bit-segments.xml.
17357         * features/i386/x32-avx-linux.xml: Add 64bit-segments.xml.
17358         * features/i386/amd64-linux.xml: Add 64bit-segments.xml.
17359         * features/i386/amd64-avx-linux.c: Regenerated.
17360         * features/i386/amd64-avx-mpx-linux.c: Regenerated.
17361         * features/i386/amd64-avx-mpx.c: Regenerated.
17362         * features/i386/amd64-avx512-linux.c: Regenerated.
17363         * features/i386/amd64-linux.c: Regenerated.
17364         * features/i386/amd64-mpx-linux.c: Regenerated.
17365         * features/i386/i386-avx-mpx-linux.c: Regenerated.
17366         * features/i386/i386-avx-mpx.c: Regenerated.
17367         * features/i386/x32-avx-linux.c: Regenerated.
17368         * features/i386/x32-avx512-linux.c: Regenerated.
17369         * regformats/i386/amd64-avx-linux.dat: Regenerated.
17370         * regformats/i386/amd64-avx-mpx-linux.dat: Regenerated.
17371         * regformats/i386/amd64-avx512-linux.dat: Regenerated.
17372         * regformats/i386/amd64-linux.dat: Regenerated.
17373         * regformats/i386/amd64-mpx-linux.dat: Regenerated.
17374         * regformats/i386/x32-avx-linux.dat: Regenerated.
17375         * regformats/i386/x32-avx512-linux.dat: Regenerated.
17376         * regformats/i386/x32-linux.dat: Regenerated.
17377
17378 2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
17379
17380         * amd64-linux-tdep.h (AMD64_LINUX_ORIG_RAX_REGNUM):
17381         Set to AMD64_NUM_REGS.
17382
17383 2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
17384
17385         * amd64-nat.c (amd64_native_gregset_reg_offset): Simplify logic
17386         that checks validity of a register number.
17387
17388 2017-01-27  Kees Cook  <keescook@google.com>
17389
17390         * gdb/arm-linux-nat.c (arm_linux_fetch_inferior_registers): Call
17391         fetch_fpregs if target has fpa registers.
17392         (arm_linux_store_inferior_registers): Call store_fpregs if target
17393         has fpa registers.
17394
17395 2017-01-26  Andreas Arnez  <arnez@linux.vnet.ibm.com>
17396
17397         * cris-tdep.c (cris_gdbarch_init): Remove check for
17398         info.byte_order and force it to BFD_ENDIAN_LITTLE.
17399
17400 2017-01-26  Antoine Tremblay  <antoine.tremblay@ericsson.com>
17401
17402         * corelow.c (get_core_register_section): Check for regset
17403         existence before checking for REGSET_VARIABLE_SIZE.
17404
17405 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17406             Pedro Alves  <palves@redhat.com>
17407
17408         PR gdb/20939
17409         * disasm.c (gdb_disassembler::dis_asm_memory_error): Don't
17410         call memory_error, save memaddr instead.
17411         (gdb_disassembler::print_insn): If gdbarch_print_insn returns
17412         negative, cal memory_error.
17413         * disasm.h (gdb_disassembler) <m_err_memaddr>: New field.
17414
17415 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17416
17417         * disasm-selftests.c (memory_error_test): New function.
17418         (_initialize_disasm_selftests): Register memory_error_test.
17419
17420 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17421
17422         * Makefile.in (SFILES): Add disasm-selftests.c and
17423         selftest-arch.c.
17424         (COMMON_OBS): Add disasm-selftests.o and selftest-arch.o.
17425         * disasm-selftests.c: New file.
17426         * selftest-arch.c: New file.
17427         * selftest-arch.h: New file.
17428
17429 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17430
17431         * mep-tdep.c (mep_gdb_print_insn): Set info->arch
17432         to bfd_arch_mep.  Don't return 0 if section is not
17433         found.  Call print_insn_mep.
17434
17435 2017-01-26  Pedro Alves  <palves@redhat.com>
17436             Yao Qi  <yao.qi@linaro.org>
17437
17438         * arm-tdep.c: Include "disasm.h".
17439         (gdb_print_insn_arm): Update code to get gdbarch.
17440         * disasm.c (dis_asm_read_memory): Change it to
17441         gdb_disassembler::dis_asm_read_memory.
17442         (dis_asm_memory_error): Likewise.
17443         (dis_asm_print_address): Likewise.
17444         (gdb_pretty_print_insn): Change it to
17445         gdb_disassembler::pretty_print_insn.
17446         (dump_insns): Add one argument gdb_disassemlber.  All
17447         callers updated.
17448         (do_mixed_source_and_assembly_deprecated): Likewise.
17449         (do_mixed_source_and_assembly): Likewise.
17450         (do_assembly_only): Likewise.
17451         (gdb_disassembler::gdb_disassembler): New.
17452         (gdb_disassembler::print_insn): New.
17453         * disasm.h (class gdb_disassembler): New.
17454         (gdb_pretty_print_insn): Remove declaration.
17455         (gdb_disassemble_info): Likewise.
17456         * guile/scm-disasm.c (class gdbscm_disassembler): New.
17457         (gdbscm_disasm_read_memory_worker): Update.
17458         (gdbscm_disasm_read_memory): Update.
17459         (gdbscm_disasm_memory_error): Remove.
17460         (gdbscm_disasm_print_address): Remove.
17461         (gdbscm_disassembler::gdbscm_disassembler): New.
17462         (gdbscm_print_insn_from_port): Update.
17463         * mips-tdep.c: Include disasm.h.
17464         (gdb_print_insn_mips): Update code to get gdbarch.
17465         * record-btrace.c (btrace_insn_history): Update.
17466         * spu-tdep.c: Include disasm.h.
17467         (struct spu_dis_asm_data): Remove.
17468         (struct spu_dis_asm_info): New.
17469         (spu_dis_asm_print_address): Use spu_dis_asm_info to get
17470         SPU id.
17471         (gdb_print_insn_spu): Cast disassemble_info to
17472         spu_dis_asm_info.
17473
17474 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17475
17476         * disasm.c (do_ui_file_delete): Delete.
17477         (gdb_insn_length): Move code creating stream to ...
17478         * utils.c (null_stream): ... here.  New function.
17479         * utils.h (null_stream): Declare.
17480
17481 2017-01-23  Simon Marchi  <simon.marchi@polymtl.ca>
17482
17483         * python/py-inferior.c (find_thread_object): Return directly
17484         from the loop.  Remove "found" variable.
17485
17486 2017-01-21  Joel Brobecker  <brobecker@adacore.com>
17487
17488         GDB 7.12.1 released.
17489
17490 2017-01-20  Simon Marchi  <simon.marchi@ericsson.com>
17491
17492         * python/py-function.c (fnpy_call): Reorder declarations to have
17493         the gdbpy_enter object declared first.
17494         * python/py-xmethods.c (gdbpy_get_xmethod_arg_types): Likewise.
17495
17496 2017-01-20  Simon Marchi  <simon.marchi@ericsson.com>
17497
17498         PR python/21068
17499         * python/python-internal.h (PyMem_RawMalloc): Define for
17500         Python < 3.4.
17501         * python/py-gdb-readline.c (gdbpy_readline_wrapper): Use
17502         PyMem_RawMalloc instead of PyMem_Malloc.
17503
17504 2017-01-20  Mike Wrighton  <mike_wrighton@codesourcery.com>
17505             Luis Machado  <lgustavo@codesourcery.com>
17506
17507         * NEWS (New commands): Mention flash-erase.
17508         (New MI commands): Mention target-flash-erase.
17509         * mi/mi-cmds.c (mi_cmd_target_flash_erase): Add target-flash-erase MI
17510         command.
17511         * mi/mi-cmds.h (mi_cmd_target_flash_erase): New declaration.
17512         * mi/mi-main.c (mi_cmd_target_flash_erase): New function.
17513         * target.c (flash_erase_command): New function.
17514         (initialize_targets): Add new flash-erase command.
17515         * target.h (flash_erase_command): New declaration.
17516
17517 2017-01-20  Joel Brobecker  <brobecker@adacore.com>
17518
17519         * nat/linux-ptrace.c: Only include <sys/procfs.h> if
17520         HAVE_SYS_PROCFS_H is defined.
17521
17522 2017-01-18  Alan Hayward  <alan.hayward@arm.com>
17523
17524         * remote.c (struct cached_reg): Change data into a pointer.
17525         * (stop_reply_dtr): Free data pointers before deleting vector.
17526         (process_stop_reply): Likewise.
17527         (remote_parse_stop_reply): Allocate space for data
17528
17529 2017-01-18  Alan Hayward  <alan.hayward@arm.com>
17530
17531         * amd64-tdep.c (amd64_pseudo_register_read_value): remove
17532         MAX_REGISTER_SIZE.
17533         (amd64_pseudo_register_read_value): Likewise.
17534         * remote.c (fetch_register_using_p): Remove MAX_REGISTER_SIZE.
17535         (store_register_using_P): Likewise.
17536         * regcache.c (regcache_xfer_part): Likewise.
17537
17538 2017-01-16  Ivo Raisr  <ivo.raisr@oracle.com>
17539
17540         Split real and pseudo registers.
17541         * sparc-tdep.h (SPARC_CORE_REGISTERS): New macro.
17542         (sparc32_pseudo_regnum): New enum.
17543         * sparc64-tdep.h (sparc64_pseudo_regnum): New enum.
17544         * sparc-tdep.c (SPARC32_FPU_REGISTERS): New macro.
17545         (SPARC32_CP0_REGISTERS): New macro.
17546         (sparc32_pseudo_register_name): New function.
17547         (sparc32_register_name): Use sparc32_pseudo_register_name.
17548         (sparc32_pseudo_register_type): New function.
17549         (sparc32_register_type): Use sparc32_pseudo_register_type.
17550         (sparc32_pseudo_register_read, sparc32_pseudo_register_write): Handle
17551         pseudo register numbers.
17552         * sparc64-tdep.c SPARC64_FPU_REGISTERS): New macro.
17553         (SPARC64_CP0_REGISTERS): New macro.
17554         (sparc64_pseudo_register_name): New function.
17555         (sparc64_register_name): Use sparc64_pseudo_register_name.
17556         (sparc64_pseudo_register_type): New function.
17557         (sparc64_register_type): Use sparc64_pseudo_register_type.
17558         (sparc64_pseudo_register_read, sparc64_pseudo_register_write): Handle
17559         pseudo register numbers.
17560         (sparc64_store_floating_fields, sparc64_extract_floating_fields,
17561         sparc64_store_arguments): Handle pseudo register numbers.
17562
17563 2017-01-13  Yao Qi  <yao.qi@linaro.org>
17564
17565         * remote.c (REMOTE_DEBUG_MAX_CHAR): New macro.
17566         (putpkt_binary): Print only REMOTE_DEBUG_MAX_CHAR chars in debug
17567         output.
17568         (getpkt_or_notif_sane_1): Likewise.
17569
17570 2017-01-13  Yao Qi  <yao.qi@linaro.org>
17571
17572         * Makefile.in (checker-headers): Use CXX and CXX_DIALET instead
17573         of CC.  Pass "-x c++-header" instead of "-x c".
17574
17575 2017-01-12  Simon Marchi  <simon.marchi@ericsson.com>
17576
17577         * remote.c (remote_can_async_p): Update comment.
17578
17579 2017-01-12  Simon Marchi  <simon.marchi@ericsson.com>
17580
17581         * linux-nat.c (linux_nat_can_async_p): Update comment.
17582
17583 2017-01-12  Simon Marchi  <simon.marchi@ericsson.com>
17584
17585         * serial.c (serial_open): Forget about "pc" and "lpt" serial interface.
17586
17587 2017-01-11  Simon Marchi  <simon.marchi@ericsson.com>
17588
17589         * cli/cli-decode.c (lookup_cmd_1): Fix typo in comment.
17590
17591 2017-01-10  Tom Tromey  <tom@tromey.com>
17592
17593         * python/py-type.c (typy_legacy_template_argument): Update.
17594         * cp-support.h (struct demangle_parse_info) (demangle_parse_info,
17595         ~demangle_parse_info): Declare new members.
17596         (cp_demangled_name_to_comp): Return unique_ptr.
17597         (cp_demangled_name_parse_free)
17598         (make_cleanup_cp_demangled_name_parse_free)
17599         (cp_new_demangle_parse_info): Remove.
17600         * cp-support.c (do_demangled_name_parse_free_cleanup)
17601         (make_cleanup_cp_demangled_name_parse_free): Remove.
17602         (inspect_type, cp_canonicalize_string_full)
17603         (cp_canonicalize_string): Update.
17604         (mangled_name_to_comp): Change return type.
17605         (cp_class_name_from_physname, method_name_from_physname)
17606         (cp_func_name, cp_remove_params): Update.
17607         * cp-name-parser.y (demangle_parse_info): New constructor, from
17608         cp_new_demangle_parse_info.
17609         (~demangle_parse_info): New destructor, from
17610         cp_demangled_name_parse_free.
17611         (cp_merge_demangle_parse_infos): Update.
17612         (cp_demangled_name_to_comp): Change return type.
17613
17614 2017-01-10  Tom Tromey  <tom@tromey.com>
17615
17616         * top.c (prevent_dont_repeat): Change return type.
17617         * python/python.c (execute_gdb_command): Use std::string.
17618         Update.
17619         * guile/guile.c (gdbscm_execute_gdb_command): Update.
17620         * command.h (prevent_dont_repeat): Change return type.
17621         * breakpoint.c (bpstat_do_actions_1): Update.
17622
17623 2017-01-10  Tom Tromey  <tom@tromey.com>
17624
17625         * value.h (scoped_value_mark::~scoped_value_mark): Call
17626         free_to_mark.
17627         (scoped_value_mark::free_to_mark): New method.
17628         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use
17629         scoped_value_mark.
17630
17631 2017-01-10  Tom Tromey  <tom@tromey.com>
17632
17633         * python/py-value.c (valpy_dereference, valpy_referenced_value)
17634         (valpy_reference_value, valpy_const_value, valpy_get_address)
17635         (valpy_get_dynamic_type, valpy_lazy_string, valpy_do_cast)
17636         (valpy_getitem, valpy_call, valpy_binop_throw, valpy_negative)
17637         (valpy_absolute, valpy_richcompare_throw): Use scoped_value_mark.
17638         * dwarf2loc.c (dwarf2_loc_desc_get_symbol_read_needs): Use
17639         scoped_value_mark.
17640         * dwarf2-frame.c (execute_stack_op): Use scoped_value_mark.
17641         * value.h (scoped_value_mark): New class.
17642
17643 2017-01-10  Tom Tromey  <tom@tromey.com>
17644
17645         * dwarf2read.c (dwarf2_build_psymtabs): Use psymtab_discarder.
17646         * psympriv.h (make_cleanup_discard_psymtabs): Don't declare.
17647         * psymtab.c (discard_psymtabs_upto): Remove.
17648         (make_cleanup_discard_psymtabs): Remove.
17649         (struct psymtab_state): Remove.
17650
17651 2017-01-10  Tom Tromey  <tom@tromey.com>
17652
17653         * record-full.c (record_full_save_cleanups): Remove.
17654         (record_full_save): Use gdb::unlinker.
17655         * gcore.c (do_bfd_delete_cleanup): Remove.
17656         (gcore_command): Use gdb::unlinker, unique_xmalloc_ptr.  Remove
17657         cleanups.
17658         * dwarf2read.c (unlink_if_set): Remove.
17659         (write_psymtabs_to_index): Use gdb::unlinker.
17660         * common/gdb_unlinker.h: New file.
17661
17662 2017-01-10  Tom Tromey  <tom@tromey.com>
17663
17664         * windows-tdep.c (windows_xfer_shared_library): Update.
17665         * windows-nat.c (windows_make_so): Update.
17666         * utils.h (make_cleanup_bfd_unref): Remove.
17667         * utils.c (do_bfd_close_cleanup, make_cleanup_bfd_unref): Remove.
17668         * symfile.h (symfile_bfd_open)
17669         (find_separate_debug_file_in_section): Return gdb_bfd_ref_ptr.
17670         * symfile.c (read_symbols, symbol_file_add)
17671         (separate_debug_file_exists): Update.
17672         (symfile_bfd_open): Return gdb_bfd_ref_ptr.
17673         (generic_load, reread_symbols): Update.
17674         * symfile-mem.c (symbol_file_add_from_memory): Update.
17675         * spu-linux-nat.c (spu_bfd_open): Return gdb_bfd_ref_ptr.
17676         (spu_symbol_file_add_from_memory): Update.
17677         * solist.h (struct target_so_ops) <bfd_open>: Return
17678         gdb_bfd_ref_ptr.
17679         (solib_bfd_fopen, solib_bfd_open): Return gdb_bfd_ref_ptr.
17680         * solib.c (solib_bfd_fopen, solib_bfd_open): Return
17681         gdb_bfd_ref_ptr.
17682         (solib_map_sections, reload_shared_libraries_1): Update.
17683         * solib-svr4.c (enable_break): Update.
17684         * solib-spu.c (spu_bfd_fopen): Return gdb_bfd_ref_ptr.
17685         * solib-frv.c (enable_break2): Update.
17686         * solib-dsbt.c (enable_break): Update.
17687         * solib-darwin.c (gdb_bfd_mach_o_fat_extract): Return
17688         gdb_bfd_ref_ptr.
17689         (darwin_solib_get_all_image_info_addr_at_init): Update.
17690         (darwin_bfd_open): Return gdb_bfd_ref_ptr.
17691         * solib-aix.c (solib_aix_bfd_open): Return gdb_bfd_ref_ptr.
17692         * record-full.c (record_full_save): Update.
17693         * python/py-objfile.c (objfpy_add_separate_debug_file): Update.
17694         * procfs.c (insert_dbx_link_bpt_in_file): Update.
17695         * minidebug.c (find_separate_debug_file_in_section): Return
17696         gdb_bfd_ref_ptr.
17697         * machoread.c (macho_add_oso_symfile): Change abfd to
17698         gdb_bfd_ref_ptr.
17699         (macho_symfile_read_all_oso): Update.
17700         (macho_check_dsym): Return gdb_bfd_ref_ptr.
17701         (macho_symfile_read): Update.
17702         * jit.c (bfd_open_from_target_memory): Return gdb_bfd_ref_ptr.
17703         (jit_bfd_try_read_symtab): Update.
17704         * gdb_bfd.h (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
17705         (gdb_bfd_openw, gdb_bfd_openr_iovec)
17706         (gdb_bfd_openr_next_archived_file, gdb_bfd_fdopenr): Return
17707         gdb_bfd_ref_ptr.
17708         (gdb_bfd_ref_policy): New struct.
17709         (gdb_bfd_ref_ptr): New typedef.
17710         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
17711         (gdb_bfd_openw, gdb_bfd_openr_iovec)
17712         (gdb_bfd_openr_next_archived_file, gdb_bfd_fdopenr): Return
17713         gdb_bfd_ref_ptr.
17714         * gcore.h (create_gcore_bfd): Return gdb_bfd_ref_ptr.
17715         * gcore.c (create_gcore_bfd): Return gdb_bfd_ref_ptr.
17716         (gcore_command): Update.
17717         * exec.c (exec_file_attach): Update.
17718         * elfread.c (elf_symfile_read): Update.
17719         * dwarf2read.c (dwarf2_get_dwz_file): Update.
17720         (try_open_dwop_file, open_dwo_file): Return gdb_bfd_ref_ptr.
17721         (open_and_init_dwo_file): Update.
17722         (open_dwp_file): Return gdb_bfd_ref_ptr.
17723         (open_and_init_dwp_file): Update.
17724         * corelow.c (core_open): Update.
17725         * compile/compile-object-load.c (compile_object_load): Update.
17726         * common/gdb_ref_ptr.h (ref_ptr::operator->): New operator.
17727         * coffread.c (coff_symfile_read): Update.
17728         * cli/cli-dump.c (bfd_openr_or_error, bfd_openw_or_error): Return
17729         gdb_bfd_ref_ptr.  Rename.
17730         (dump_bfd_file, restore_command): Update.
17731         * build-id.h (build_id_to_debug_bfd): Return gdb_bfd_ref_ptr.
17732         * build-id.c (build_id_to_debug_bfd): Return gdb_bfd_ref_ptr.
17733         (find_separate_debug_file_by_buildid): Update.
17734
17735 2017-01-10  Tom Tromey  <tom@tromey.com>
17736
17737         * common/gdb_ref_ptr.h: New file.
17738         * python/py-ref.h (struct gdbpy_ref_policy): New.
17739         (gdbpy_ref): Now a typedef.
17740
17741 2017-01-10  Tom Tromey  <tom@tromey.com>
17742
17743         * utils.h (make_cleanup_htab_delete): Don't declare.
17744         * utils.c (do_htab_delete_cleanup, make_cleanup_htab_delete):
17745         Remove.
17746         * linespec.c (decode_compound_collector): Add constructor,
17747         destructor.
17748         (lookup_prefix_sym): Remove cleanup.
17749         (symtab_collector): Add constructor, destructor.
17750         (collect_symtabs_from_filename): Remove cleanup.
17751         * disasm.c (do_mixed_source_and_assembly): Use htab_up.
17752         * compile/compile-c-symbols.c (generate_c_for_variable_locations):
17753         Use htab_up.
17754         * gnu-v3-abi.c (gnuv3_print_vtable): Use htab_up.
17755         * dwarf2read.c (dw2_expand_symtabs_matching)
17756         (dw2_map_symbol_filenames, dwarf_decode_macros)
17757         (write_psymtabs_to_index): Use htab_up.
17758         * dwarf2loc.c (func_verify_no_selftailcall)
17759         (call_site_find_chain_1, func_verify_no_selftailcall)
17760         (chain_candidate, call_site_find_chain_1): Use std::unordered_set,
17761         std::vector, gdb::unique_xmalloc_ptr.
17762         (call_sitep): Remove typedef.
17763         (dwarf2_locexpr_baton_eval): Remove unused variable.
17764
17765 2017-01-10  Tom Tromey  <tom@tromey.com>
17766
17767         * python/python-internal.h (make_cleanup_py_decref)
17768         (make_cleanup_py_xdecref): Don't declare.
17769         * python/py-utils.c (py_decref, make_cleanup_py_decref)
17770         (py_xdecref, make_cleanup_py_xdecref): Remove.
17771
17772 2017-01-10  Tom Tromey  <tom@tromey.com>
17773
17774         * python/py-framefilter.c (py_mi_print_variables): Use gdbpy_ref.
17775         (py_print_locals, enumerate_locals, py_print_args): Use gdbpy_ref.
17776
17777 2017-01-10  Tom Tromey  <tom@tromey.com>
17778
17779         * python/py-framefilter.c (enumerate_args): Use gdbpy_ref.
17780
17781 2017-01-10  Tom Tromey  <tom@tromey.com>
17782
17783         * python/py-utils.c (unicode_to_encoded_string)
17784         (python_string_to_target_string)
17785         (python_string_to_target_python_string)
17786         (python_string_to_host_string, gdbpy_obj_to_string)
17787         (get_addr_from_python): Use gdbpy_ref.
17788
17789 2017-01-10  Tom Tromey  <tom@tromey.com>
17790
17791         * python/py-unwind.c (pyuw_object_attribute_to_pointer): Use
17792         gdbpy_ref.
17793
17794 2017-01-10  Tom Tromey  <tom@tromey.com>
17795
17796         * python/python.c (eval_python_command, gdbpy_decode_line)
17797         (gdbpy_run_events, gdbpy_start_type_printers)
17798         (gdbpy_apply_type_printers): Use gdbpy_ref.
17799
17800 2017-01-10  Tom Tromey  <tom@tromey.com>
17801
17802         * python/py-param.c (get_doc_string, compute_enum_values): Use
17803         gdbpy_ref.
17804
17805 2017-01-10  Tom Tromey  <tom@tromey.com>
17806
17807         * python/py-inferior.c (find_thread_object, build_inferior_list):
17808         Use gdbpy_ref.
17809
17810 2017-01-10  Tom Tromey  <tom@tromey.com>
17811
17812         * python/py-framefilter.c (py_print_frame): Use gdbpy_ref.
17813
17814 2017-01-10  Tom Tromey  <tom@tromey.com>
17815
17816         * python/py-finishbreakpoint.c (bpfinishpy_out_of_scope): Use
17817         gdbpy_ref.
17818
17819 2017-01-10  Tom Tromey  <tom@tromey.com>
17820
17821         * python/py-cmd.c (cmdpy_completer_helper): Use gdbpy_ref.  Remove
17822         extra incref.
17823         (cmdpy_completer_handle_brkchars, cmdpy_completer, cmdpy_init):
17824         Use gdbpy_ref.
17825
17826 2017-01-10  Tom Tromey  <tom@tromey.com>
17827
17828         * python/py-breakpoint.c (gdbpy_breakpoint_cond_says_stop): Use
17829         gdbpy_ref.
17830
17831 2017-01-10  Tom Tromey  <tom@tromey.com>
17832
17833         * python/py-arch.c (archpy_disassemble): Use gdbpy_ref.  Don't
17834         decref results of PyArg_ParseTupleAndKeywords.
17835
17836 2017-01-10  Tom Tromey  <tom@tromey.com>
17837
17838         * python/python.c (python_run_simple_file): Use
17839         unique_xmalloc_ptr, gdbpy_ref.
17840
17841 2017-01-10  Tom Tromey  <tom@tromey.com>
17842
17843         * python/py-prettyprint.c (print_stack_unless_memory_error)
17844         (print_string_repr, print_children): Use gdbpy_ref.
17845         (dummy_python_frame): New class.
17846         (dummy_python_frame::dummy_python_frame): Rename from
17847         push_dummy_python_frame.
17848         (py_restore_tstate): Remove.
17849
17850 2017-01-10  Tom Tromey  <tom@tromey.com>
17851
17852         * python/py-framefilter.c (py_print_frame): Use gdbpy_ref.
17853
17854 2017-01-10  Tom Tromey  <tom@tromey.com>
17855
17856         * python/python.c (ensure_python_env, restore_python_env):
17857         Remove.
17858         * python/python-internal.h (ensure_python_env): Don't declare.
17859         * varobj.h (varobj_ensure_python_env): Don't declare.
17860         * varobj.c (varobj_ensure_python_env): Remove.
17861
17862 2017-01-10  Tom Tromey  <tom@tromey.com>
17863
17864         * varobj.c (varobj_value_get_print_value): Use
17865         gdbpy_enter_varobj.
17866
17867 2017-01-10  Tom Tromey  <tom@tromey.com>
17868
17869         * python/py-prettyprint.c (print_string_repr, print_children):
17870         Update.
17871         * python/py-lazy-string.c (gdbpy_extract_lazy_string): Change type
17872         of "encoding".
17873         * varobj.c (varobj_value_get_print_value): Update.
17874         * python/python-internal.h (gdbpy_extract_lazy_string): Update.
17875
17876 2017-01-10  Tom Tromey  <tom@tromey.com>
17877
17878         * varobj.c (varobj_get_display_hint)
17879         (dynamic_varobj_has_child_method, install_new_value_visualizer)
17880         (varobj_set_visualizer, free_variable): Use
17881         gdbpy_enter_varobj.
17882
17883 2017-01-10  Tom Tromey  <tom@tromey.com>
17884
17885         * python/python.c (python_command): Use gdbpy_enter, gdbpy_ref.
17886         (do_finish_initialization): New function.  Use gdbpy_ref.
17887         (gdbpy_finish_initialization): Use gdbpy_enter.  Call
17888         do_finish_initialization.
17889
17890 2017-01-10  Tom Tromey  <tom@tromey.com>
17891
17892         * python/py-param.c (get_set_value, get_show_value): Use
17893         gdbpy_enter, gdbpy_ref.
17894
17895 2017-01-10  Tom Tromey  <tom@tromey.com>
17896
17897         * python/py-function.c (fnpy_call): Use gdbpy_enter, gdbpy_ref.
17898
17899 2017-01-10  Tom Tromey  <tom@tromey.com>
17900
17901         * python/py-cmd.c (cmdpy_function): Use gdbpy_enter, gdbpy_ref.
17902
17903 2017-01-10  Tom Tromey  <tom@tromey.com>
17904
17905         * python/py-varobj.c (py_varobj_iter_dtor, py_varobj_iter_next):
17906         Use gdbpy_enter_varobj.
17907
17908 2017-01-10  Tom Tromey  <tom@tromey.com>
17909
17910         * varobj.c (gdbpy_enter_varobj): New constructor.
17911         * python/python-internal.h (gdbpy_enter_varobj): New class.
17912         * python/py-varobj.c (py_varobj_get_iterator): Use
17913         gdbpy_enter_varobj.
17914
17915 2017-01-10  Tom Tromey  <tom@tromey.com>
17916
17917         * python/py-xmethods.c (gdbpy_get_xmethod_result_type): Use
17918         gdbpy_enter, gdbpy_ref, unique_xmalloc_ptr.
17919         (gdbpy_invoke_xmethod): Use gdbpy_ref, gdbpy_enter.
17920         (gdbpy_get_xmethod_arg_types): Use gdbpy_ref,
17921         unique_xmalloc_ptr.
17922         (gdbpy_get_xmethod_arg_types): Use gdbpy_ref, gdbpy_enter.
17923
17924 2017-01-10  Tom Tromey  <tom@tromey.com>
17925
17926         * python/py-xmethods.c (invoke_match_method): Use
17927         gdbpy_ref.
17928
17929 2017-01-10  Tom Tromey  <tom@tromey.com>
17930
17931         * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers): use
17932         gdbpy_enter, gdbpy_ref.
17933
17934 2017-01-10  Tom Tromey  <tom@tromey.com>
17935
17936         * python/python.c (python_interactive_command): Use gdbpy_enter.
17937
17938 2017-01-10  Tom Tromey  <tom@tromey.com>
17939
17940         * python/python.c (gdbpy_before_prompt_hook): Use gdbpy_enter,
17941         gdbpy_ref.
17942
17943 2017-01-10  Tom Tromey  <tom@tromey.com>
17944
17945         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Use
17946         gdbpy_enter, gdbpy_ref, unique_xmalloc_ptr.
17947
17948 2017-01-10  Tom Tromey  <tom@tromey.com>
17949
17950         * utils.h (htab_deleter): New struct.
17951         (htab_up): New typedef.
17952         * python/py-framefilter.c (gdbpy_apply_frame_filter): Use
17953         gdbpy_enter, gdbpy_ref, htab_up.
17954
17955 2017-01-10  Tom Tromey  <tom@tromey.com>
17956
17957         * python/py-unwind.c (pending_frame_invalidate): Remove.
17958         (pyuw_sniffer): Use gdbpy_enter and gdbpy_ref.
17959
17960 2017-01-10  Tom Tromey  <tom@tromey.com>
17961
17962         * python/py-xmethods.c (gdbpy_free_xmethod_worker_data)
17963         (gdbpy_clone_xmethod_worker_data): Use gdbpy_enter.
17964
17965 2017-01-10  Tom Tromey  <tom@tromey.com>
17966
17967         * python/py-type.c (save_objfile_types): Use gdbpy_enter.
17968
17969 2017-01-10  Tom Tromey  <tom@tromey.com>
17970
17971         * python/python.c (gdbpy_eval_from_control_command)
17972         (gdbpy_source_script, gdbpy_run_events)
17973         (gdbpy_source_objfile_script, gdbpy_execute_objfile_script)
17974         (gdbpy_free_type_printers, gdbpy_finish_initialization): Use
17975         gdbpy_enter.
17976
17977 2017-01-10  Tom Tromey  <tom@tromey.com>
17978
17979         * python/py-progspace.c (py_free_pspace): Use gdbpy_enter.
17980
17981 2017-01-10  Tom Tromey  <tom@tromey.com>
17982
17983         * python/py-objfile.c (py_free_objfile): Use gdbpy_enter.
17984
17985 2017-01-10  Tom Tromey  <tom@tromey.com>
17986
17987         * python/py-inferior.c (python_on_normal_stop, python_on_resume)
17988         (python_on_inferior_call_pre, python_on_inferior_call_post)
17989         (python_on_memory_change, python_on_register_change)
17990         (python_inferior_exit, python_new_objfile, add_thread_object)
17991         (delete_thread_object, py_free_inferior): Use gdbpy_enter.
17992
17993 2017-01-10  Tom Tromey  <tom@tromey.com>
17994
17995         * python/py-finishbreakpoint.c (bpfinishpy_handle_stop)
17996         (bpfinishpy_handle_exit): Use gdbpy_enter.
17997
17998 2017-01-10  Tom Tromey  <tom@tromey.com>
17999
18000         * python/py-cmd.c (cmdpy_destroyer)
18001         (cmdpy_completer_handle_brkchars, cmdpy_completer): Use
18002         gdbpy_enter.
18003
18004 2017-01-10  Tom Tromey  <tom@tromey.com>
18005
18006         * python/py-breakpoint.c (gdbpy_breakpoint_cond_says_stop): Use
18007         gdbpy_enter.
18008         (gdbpy_breakpoint_has_cond): Likewise.
18009
18010 2017-01-10  Tom Tromey  <tom@tromey.com>
18011
18012         * python/python.c (gdbpy_enter): New constructor.
18013         (~gdbpy_enter): New destructor.
18014         (restore_python_env, ensure_python_env): Rewrite.
18015         * python/python-internal.h (gdbpy_enter): New class.
18016
18017 2017-01-10  Tom Tromey  <tom@tromey.com>
18018
18019         * python/py-symbol.c (gdbpy_lookup_symbol): Use gdbpy_ref.
18020
18021 2017-01-10  Tom Tromey  <tom@tromey.com>
18022
18023         * python/py-value.c (value_has_field, get_field_flag)
18024         (get_field_type, valpy_getitem, convert_value_from_python): Use
18025         gdbpy_ref.
18026
18027 2017-01-10  Tom Tromey  <tom@tromey.com>
18028
18029         * python/python.c (gdbpy_progspaces, gdbpy_objfiles): Use
18030         gdbpy_ref.
18031
18032 2017-01-10  Tom Tromey  <tom@tromey.com>
18033
18034         * python/py-prettyprint.c (search_pp_list)
18035         (find_pretty_printer_from_objfiles)
18036         (find_pretty_printer_from_progspace)
18037         (find_pretty_printer_from_gdb, find_pretty_printer)
18038         (gdbpy_get_display_hint, gdbpy_get_varobj_pretty_printer): Use
18039         gdbpy_ref.
18040
18041 2017-01-10  Tom Tromey  <tom@tromey.com>
18042
18043         * python/py-param.c (call_doc_function): Use gdbpy_ref.
18044
18045 2017-01-10  Tom Tromey  <tom@tromey.com>
18046
18047         * python/py-linetable.c (build_line_table_tuple_from_pcs)
18048         (ltpy_get_all_source_lines): Use gdbpy_ref.
18049
18050 2017-01-10  Tom Tromey  <tom@tromey.com>
18051
18052         * python/py-framefilter.c (extract_sym, extract_value)
18053         (get_py_iter_from_func, bootstrap_python_frame_filters): Use
18054         gdbpy_ref.
18055
18056 2017-01-10  Tom Tromey  <tom@tromey.com>
18057
18058         * python/py-breakpoint.c (gdbpy_breakpoints): Use gdbpy_ref.
18059
18060 2017-01-10  Tom Tromey  <tom@tromey.com>
18061
18062         * python/py-inferior.c (gdbpy_inferiors): Use gdbpy_ref.
18063
18064 2017-01-10  Tom Tromey  <tom@tromey.com>
18065
18066         * python/py-function.c (convert_values_to_python, fnpy_init): Use
18067         gdbpy_ref.
18068
18069 2017-01-10  Tom Tromey  <tom@tromey.com>
18070
18071         * python/py-cmd.c (gdbpy_string_to_argv): Use gdbpy_ref.
18072
18073 2017-01-10  Tom Tromey  <tom@tromey.com>
18074
18075         * python/py-type.c (convert_field, make_fielditem, typy_fields)
18076         (typy_range): Use gdbpy_ref.
18077
18078 2017-01-10  Tom Tromey  <tom@tromey.com>
18079
18080         * python/py-threadevent.c (create_thread_event_object): Use
18081         gdbpy_ref.
18082         * python/py-stopevent.c (create_stop_event_object): Simplify.
18083         (emit_stop_event): Use gdbpy_ref.
18084         * python/py-signalevent.c (create_signal_event_object): Use
18085         gdbpy_ref.
18086         * python/py-newobjfileevent.c (create_new_objfile_event_object)
18087         (emit_new_objfile_event, create_clear_objfiles_event_object)
18088         (emit_clear_objfiles_event): Use gdbpy_ref.
18089         * python/py-infevents.c (create_inferior_call_event_object)
18090         (create_register_changed_event_object)
18091         (create_memory_changed_event_object, emit_inferior_call_event)
18092         (emit_memory_changed_event, emit_register_changed_event): Use
18093         gdbpy_ref.
18094         * python/py-exitedevent.c (create_exited_event_object)
18095         (emit_exited_event): Use gdbpy_ref.
18096         * python/py-event.h (evpy_emit_event): Remove
18097         CPYCHECKER_STEALS_REFERENCE_TO_ARG annotation.
18098         * python/py-event.c (evpy_emit_event): Use gdbpy_ref.
18099         * python/py-continueevent.c (emit_continue_event): Use
18100         gdbpy_ref.
18101         * python/py-breakpoint.c (gdbpy_breakpoint_created)
18102         (gdbpy_breakpoint_deleted, gdbpy_breakpoint_modified): Use
18103         gdbpy_ref.
18104         * python/py-bpevent.c (create_breakpoint_event_object): Use
18105         gdbpy_ref.
18106
18107 2017-01-10  Tom Tromey  <tom@tromey.com>
18108
18109         * python/py-ref.h: New file.
18110
18111 2017-01-10  Simon Marchi  <simon.marchi@ericsson.com>
18112
18113         * cli-out.c (cli_ui_out::do_redirect): Change return type to
18114         void.
18115         * cli-out.h (cli_ui_out::do_redirect): Likewise.
18116         * mi/mi-out.c (mi_ui_out::do_redirect): Likewise.
18117         * mi/mi-out.h (mi_ui_out::do_redirect): Likewise.
18118         * ui-out.c (ui_out::redirect): Likewise.
18119         * ui-out.h (ui_out::redirect, ui_out::do_redirect): Likewise.
18120         * cli/cli-logging.c (set_logging_redirect): Update call site of
18121         ui_out::redirect.
18122         (handle_redirections): Likewise.
18123         * scm-ports.c (ioscm_with_output_to_port_worker): Likewise.
18124         * top.c (execute_command_to_string): Likewise.
18125         * utils.c (do_ui_out_redirect_pop): Likewise.
18126
18127 2017-01-10  Simon Marchi  <simon.marchi@ericsson.com>
18128
18129         * stack.c (_initialize_stack): Update "frame" command help message.
18130
18131 2017-01-08  Iain Buclaw  <ibuclaw@gdcproject.org>
18132
18133         * d-exp.y (CastExpression): Emit UNOP_CAST_TYPE.
18134
18135 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18136
18137         * x86-linux-nat.h: Include gdb_proc_service.h.
18138
18139 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18140
18141         * ser-base.h: Include serial.h.
18142
18143 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18144
18145         * ppc-linux-tdep.h: Include ppc-tdep.h.
18146
18147 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18148
18149         * nat/amd64-linux-siginfo.h: Include signal.h.
18150
18151 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18152
18153         * nat/aarch64-linux-hw-point.h: Include break-common.h.
18154
18155 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18156
18157         * mi/mi-parse.h: Include mi-cmds.h.
18158
18159 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18160
18161         * inf-loop.c: Don't include "target.h".
18162         * inf-loop.h: Include it here.
18163
18164 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18165
18166         * dfp.h: Include "dboulest.h" and "expression.h".
18167
18168 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18169
18170         * ax-gdb.h: Include "ax.h".
18171
18172 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18173
18174         * Makefile.in (HFILES_NO_SRCDIR): Replace gdb_ptrace.h
18175         with nat/gdb_ptrace.h.
18176
18177 2017-01-05  Yao Qi  <yao.qi@linaro.org>
18178
18179         * mips-fbsd-tdep.c (mips_fbsd_sigframe_init): Move && to
18180         new line.
18181         (mips64_fbsd_sigframe_init): Likewise.
18182
18183 2017-01-04  John Baldwin  <jhb@FreeBSD.org>
18184
18185         * mips-fbsd-tdep.c (_initialize_mips_fbsd_tdep): Use
18186         GDB_OSABI_FREEBSD instead of GDB_OSABI_FREEBSD_ELF.
18187
18188 2017-01-04  John Baldwin  <jhb@FreeBSD.org>
18189
18190         * Makefile.in (ALLDEPFILES): Add mips-fbsd-nat.c.
18191         * NEWS: Mention new FreeBSD/mips native configuration.
18192         * config/mips/fbsd.mh: New file.
18193         * configure.host: Add mips*-*-freebsd*.
18194         * mips-fbsd-nat.c: New file.
18195
18196 2017-01-04  John Baldwin  <jhb@FreeBSD.org>
18197
18198         * Makefile.in (ALL_TARGET_OBS): Add mips-fbsd-tdep.o.
18199         (ALLDEPFILES): Add mips-fbsd-tdep.c.
18200         * NEWS: Mention new FreeBSD/mips target.
18201         * configure.tgt: Add mips*-*-freebsd*.
18202         * mips-fbsd-tdep.c: New file.
18203         * mips-fbsd-tdep.h: New file.
18204
18205 2017-01-04  Yao Qi  <yao.qi@linaro.org>
18206
18207         * dwarf2loc.c (write_pieced_value): Don't use VALUE_FRAME_ID (to),
18208         use c->frame_id when the piece location is DWARF_VALUE_REGISTER.
18209
18210 2017-01-01  Joel Brobecker  <brobecker@adacore.com>
18211
18212         Update copyright year range in all GDB files.
18213
18214 2017-01-01  Joel Brobecker  <brobecker@adacore.com>
18215
18216         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2016.
18217
18218 For older changes see ChangeLog-2016.
18219 \f
18220 Local Variables:
18221 mode: change-log
18222 left-margin: 8
18223 fill-column: 74
18224 version-control: never
18225 coding: utf-8
18226 End: