DWARF-5 .debug_names DW_IDX_type_unit fix
[external/binutils.git] / gdb / ChangeLog
1 2017-12-14  Jan Kratochvil  <jan.kratochvil@redhat.com>
2
3         * dwarf2read.c (dw2_debug_names_iterator::next): Support
4         DW_IDX_type_unit.
5         (debug_names::dwarf5_offset_size, unit_kind): New.
6         (debug_names::insert): Add parameter kind.
7         (debug_names::build): Support DW_IDX_type_unit.
8         (debug_names::recursively_write_psymbols): Update
9         (debug_names::write_psymbols caller.
10         (debug_names::write_one_signatured_type_data)
11         (debug_names::write_one_signatured_type): New.
12         (debug_names::index_key, debug_names::symbol_value)
13         (debug_names::write_psymbols): Add kind.
14         (debug_names::write_one_signatured_type): New.
15         (write_debug_names): Move dwarf5_offset_size to debug_names.
16         Use debug_names::write_one_signatured_type for type units.
17
18 2017-12-14  Joel Brobecker  <brobecker@adacore.com>
19
20         * ada-lang.c (ada_value_equal): Add handling of typedef types
21         when comparing array objects.
22
23 2017-12-14  Joel Brobecker  <brobecker@adacore.com>
24
25         * ada-tasks.c (read_atcb): Properly set task_info->ptid
26         when !target_has_execution as well.
27         (task_command): Remove error when !target_has_execution.
28
29 2017-12-13  Simon Marchi  <simon.marchi@ericsson.com>
30
31         * location.h (string_to_event_location): Add match_type
32         parameter.
33         * location.c (string_to_event_location): Likewise.
34         * python/py-breakpoint.c (bppy_init): Handle qualified
35         parameter.
36
37 2017-12-13  Pedro Alves  <palves@redhat.com>
38
39         * completer.c (completion_tracker::maybe_add_completion): New
40         'text' and 'word' parameters.  Use make_completion_match_str.
41         (completion_tracker::add_completion): New 'text' and 'word'
42         parameters.  Pass down.
43         (completion_tracker::recompute_lowest_common_denominator): Change
44         parameter type to gdb::unique_xmalloc_ptr rval ref.  Adjust.
45         * completer.h (completion_tracker::add_completion): New 'text' and
46         'word' parameters.
47         (completion_tracker::recompute_lowest_common_denominator): Change
48         parameter type to gdb::unique_xmalloc_ptr rval ref.
49         (completion_tracker::recompute_lowest_common_denominator): Change
50         parameter type to gdb::unique_xmalloc_ptr rval ref.
51         * symtab.c (completion_list_add_name): Pass down 'text' and 'word'
52         as well.
53
54 2017-12-13  Pedro Alves  <palves@redhat.com>
55
56         * cli/cli-decode.c (complete_on_cmdlist, complete_on_enum): Use
57         make_completion_match_str.
58         * completer.c: Use gdb::unique_xmalloc_ptr and
59         make_completion_match_str.
60         (make_completion_match_str_1): New.
61         (make_completion_match_str(const char *, const char *,
62         const char *)): New.
63         (make_completion_match_str(gdb::unique_xmalloc_ptr<char> &&,
64         const char *, const char *)): New.
65         * completer.h (make_completion_match_str(const char *,
66         const char *, const char *)): New.
67         (make_completion_match_str(gdb::unique_xmalloc_ptr<char> &&,
68         const char *, const char *)): New.
69         * interps.c (interpreter_completer): Use make_completion_match_str.
70         * symtab.c (completion_list_add_name, add_filename_to_list): Use
71         make_completion_match_str.
72
73 2017-12-13  Stafford Horne  <shorne@gmail.com>
74
75         * or1k-tdep.c (or1k_analyse_inst): Use _() wrapper for message
76         strings.
77         (or1k_unwind_pc): Use paddress() instead of %p.
78         (or1k_unwind_sp): Likewise.
79         (or1k_frame_cache): Use host_address_to_string()/paddress()
80         instead of %p and use _() wrapper for message strings.
81
82 2017-12-13  Simon Marchi  <simon.marchi@ericsson.com>
83
84         * contrib/ari/gdb_ari.sh: Fix typo in help.
85
86 2017-12-13  Joel Brobecker  <brobecker@adacore.com>
87
88         * event-top.c (handle_line_of_input): Set server_command.
89
90 2017-12-12  Stafford Horne  <shorne@gmail.com>
91             Stefan Wallentowitz  <stefan@wallentowitz.de>
92             Stefan Kristiansson  <stefan.kristiansson@saunalahti.fi>
93             Franck Jullien  <franck.jullien@gmail.com>
94             Jeremy Bennett  <jeremy.bennett@embecosm.com>
95
96         * configure.tgt: Add targets for or1k and or1knd.
97         * or1k-tdep.c: New file.
98         * or1k-tdep.h: New file.
99         * features/Makefile: Add or1k.xml to build.
100         * features/or1k.xml: New file.
101         * features/or1k-core.xml: New file.
102         * features/or1k.c: Generated.
103
104 2017-12-12  Alan Modra  <amodra@gmail.com>
105
106         PR tdep/22576
107         * ppc64-tdep.c (ppc64_plt_entry_point): Rewrite to take TOC-relative
108         PLT offset, and retrieve r2 from stack when executing in reverse.
109         (ppc64_standard_linkage1_target): Drop pc param.  Calculate offset
110         rather than PLT address.
111         (ppc64_standard_linkage2_target): Likewise.
112         (ppc64_standard_linkage3_target): Likewise.
113         (ppc64_standard_linkage4_target): Likewise.
114         (ppc64_skip_trampoline_code_1): Adjust to suit.
115
116 2017-12-11  Simon Marchi  <simon.marchi@ericsson.com>
117
118         PR gdb/22556
119         * remote.c (remote_thread_name): Return NULL if name is empty.
120         (remote_threads_extra_info): Return NULL if extra info is empty.
121
122 2017-12-11  Pedro Alves  <palves@redhat.com>
123
124         * defs.h (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index)
125         (elf_sym_fns_debug_names): Move to elfread.c.
126         * dwarf2read.c (dwarf2_initialize_objfile): Return a boolean
127         instead of a sym_fns and add 'index_kind' output parameter.  Fill
128         the latter in with the index variant kind if using an index.
129         (enum dw_index_kind): Moved to symfile.h.
130         * elfread.c (elf_sym_fns_gdb_index, elf_sym_fns_debug_names)
131         (elf_sym_fns_lazy_psyms): Move from defs.h.
132         (elf_symfile_read): Adjust to new dwarf2_initialize_objfile
133         interface.
134         * symfile.h (enum class dw_index_kind): New, moved from
135         dwarf2read.c.
136         (dwarf2_initialize_objfile): Change prototype.
137
138 2017-12-11  Ulrich Weigand  <uweigand@de.ibm.com>
139
140         * target-float.c (mpfr_float_ops::from_target): Use mpfr_set_ui
141         instead of mpfr_set_si to convert mantissa bits.
142
143 2017-12-11  Xavier Roirand <roirand@adacore.com>
144             Joel Brobecker  <brobecker@adacore.com>
145
146         * ada-lang.c (ada_tag_value_at_base_address): Change the way
147         tagged type base address is computed.
148         (enum ada_primitive_types) <ada_primitive_type_storage_offset>:
149         New enumerate.
150         (ada_language_arch_info): Set the ada_primitive_type_storage_offset
151         element of lai->primitive_type_vector.
152
153 2017-12-08  Pedro Alves  <palves@redhat.com>
154
155         * dwarf2read.c (mock_mapped_index): Reimplement as an extension of
156         mapped_index_base.
157         (check_match): Adjust to use mock_index directly.
158         (check_find_bounds_finds)
159         (test_mapped_index_find_name_component_bounds): Adjust to work
160         with a mapped_index_base.
161
162 2017-12-08  Pedro Alves  <palves@redhat.com>
163
164         * dwarf2read.c (struct mapped_index_base): New, partially factored
165         out from ...
166         (struct mapped_index): ... this.  Inherit mapped_index_base.
167         (mapped_index::symbol_name_slot_invalid):
168         (mapped_index::symbol_name_at): Add override marker.
169         (mapped_index::symbol_name_count): New.
170         (struct mapped_debug_names): Inherit mapped_index_base.
171         (mapped_debug_names::symbol_name_at): New.
172         (mapped_debug_names::symbol_name_count): New.
173         (mapped_index::find_name_components_bounds): Rename to ...
174         (mapped_index_base::find_name_components_bounds): ... this.
175         (mapped_index::build_name_components): Rename to ...
176         (mapped_index_base::build_name_components): ... this.  Adjust to
177         use mapped_index_base::symbol_name_count and
178         mapped_index_base::symbol_name_slot_invalid.
179         (dw2_expand_symtabs_matching_symbol): Take a mapped_index_base
180         instead of a mapped_index.  Use
181         dw2_expand_symtabs_matching_symbol.
182
183 2017-12-08  Pedro Alves  <palves@redhat.com>
184
185         * dwarf2read.c (mapped_index::symbol_table_slot): New.
186         (mapped_index::address_table): Now a gdb::array_view of const
187         gdb_byte.
188         (mapped_index::symbol_table): Now a gdb::array_view of
189         symbol_table_slot.
190         (mapped_index::address_table_size)
191         (mapped_index::symbol_table_slots): Delete.
192         (create_addrmap_from_index): Adjust.
193         (find_slot_in_mapped_hash): Adjust.
194         (read_index_from_section): Adjust.
195         (dwarf2_read_index): Adjust.
196
197 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
198             Pedro Alves  <palves@redhat.com>
199
200         * defs.h (elf_sym_fns_debug_names): New declaration.
201         * dwarf2read.c: Include "hash_enum.h".
202         (mapped_debug_names): New.
203         (struct dwarf2_per_objfile): Add debug_names, debug_aranges and
204         debug_names_table.
205         (dwarf2_elf_names): Add ".debug_names" and ".debug_aranges".
206         (struct dwz_file): Add debug_names.
207         (dwarf2_per_objfile::locate_sections): Handle debug_names and
208         debug_aranges.
209         (locate_dwz_sections): Handle debug_names.
210         (create_signatured_type_table_from_debug_names)
211         (create_addrmap_from_aranges): New.
212         (dwarf2_read_index): Update function comment.
213         (dwarf5_augmentation): Moved up.
214         (read_debug_names_from_section, create_cus_from_debug_names_list)
215         (create_cus_from_debug_names, dwarf2_read_debug_names): New.
216         (dwarf5_djb_hash): Moved up.
217         (dw2_debug_names_iterator): New.
218         (read_indirect_string_at_offset): New declaration.
219         (mapped_debug_names::namei_to_name)
220         (dw2_debug_names_iterator::find_vec_in_debug_names)
221         (dw2_debug_names_iterator::next, dw2_debug_names_lookup_symbol)
222         (dw2_debug_names_dump, dw2_debug_names_expand_symtabs_for_function)
223         (dw2_debug_names_expand_symtabs_matching, dwarf2_debug_names_functions):
224         New.
225         (dwarf2_initialize_objfile): Return also elf_sym_fns_debug_names.
226         (debug_names::djb_hash): Rename it to dwarf5_djb_hash.
227         (debug_names::build): Update djb_hash caller.
228         (write_debug_names): Move out and rename augmentation to
229         dwarf5_augmentation.
230         * elfread.c (elf_sym_fns_debug_names): New.
231         * psymtab.h (dwarf2_debug_names_functions): New declaration.
232         * symfile.h (struct dwarf2_debug_sections): Add debug_names and
233         debug_aranges.
234         * xcoffread.c (dwarf2_xcoff_names): Add debug_names and debug_aranges.
235
236 2017-12-08  Pedro Alves  <palves@redhat.com>
237
238         * common/hash_enum.h: New file.
239
240 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
241
242         * dwarf2read.c (create_cu_from_index_list): New from ...
243         (create_cus_from_index_list): ... this function, use it.
244         (dw_expand_symtabs_matching_file_matcher)
245         (dw2_expand_symtabs_matching_one): New from ...
246         (dw2_expand_symtabs_matching): ... this function, use them.
247
248 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
249
250         * defs.h (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index): Move here
251         declarations from elfread.c.
252         (dwarf2_initialize_objfile): Change return value.
253         * elfread.c (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index): Move these
254         declarations to defs.h.
255         (elf_symfile_read): Adjust dwarf2_initialize_objfile caller.
256         * symfile.h (dwarf2_initialize_objfile): Change return type.
257
258 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
259             Pedro Alves  <palves@redhat.com>
260
261         * contrib/gdb-add-index.sh (index): Rename to ...
262         (index4): ... here.
263         (index5, debugstr, debugstrmerge, debugstrerr): New variables.
264         Support also .debug_names and .debug_str.
265         * dwarf2read.c: Include cmath, set, list.
266         (INDEX_SUFFIX): Rename to ...
267         (INDEX4_SUFFIX): ... here.
268         (INDEX5_SUFFIX, DEBUG_STR_SUFFIX): New.
269         (file_write(FILE *, const void *, size_t)): New.
270         (file_write(FILE *, const std::vector<Elem, Alloc> &)): New.
271         (data_buf::append_unsigned_leb128, data_buf::empty): New.
272         (data_buf::file_write): Use ::file_write.
273         (data_buf::c_str, dwarf5_djb_hash, debug_names)
274         (check_dwarf64_offsets): New.
275         (psyms_seen_size, write_gdbindex): New from
276         write_psymtabs_to_index code.
277         (dwarf5_gdb_augmentation, write_debug_names, assert_file_size)
278         (enum dw_index_kind): New.
279         (write_psymtabs_to_index): New parameter index_kind.  Support
280         filename_str and out_file_str.  Move code to write_gdbindex,
281         possibly call write_debug_names.
282         (save_gdb_index_command): New parameter -dwarf-5.
283         (_initialize_dwarf2_read): Document the new parameter -dwarf-5.
284
285 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
286             Pedro Alves  <palves@redhat.com>
287
288         * contrib/cc-with-tweaks.sh: Change interpreter to bash, incl. initial
289         comment.
290         (GDB_ADD_INDEX): New variable.
291         <$want_index>: Call $GDB_ADD_INDEX.
292
293 2017-12-08  Sergio Durigan Junior  <sergiodj@redhat.com>
294
295         * dtrace-probe.c (dtrace_process_dof_probe): Do not declare a new
296         "expression_up" inside the TRY block.
297
298 2017-12-08  Yao Qi  <yao.qi@linaro.org>
299
300         * breakpoint.c (update_watchpoint): Call
301         address_significant.
302
303 2017-12-08  Yao Qi  <yao.qi@linaro.org>
304
305         * breakpoint.c (adjust_breakpoint_address): Call
306         address_significant.
307
308 2017-12-08  Yao Qi  <yao.qi@linaro.org>
309
310         * aarch64-tdep.c (aarch64_gdbarch_init): Install gdbarch
311         significant_addr_bit.
312         * gdbarch.sh (significant_addr_bit): New.
313         * gdbarch.c, gdbarch.h: Re-generated.
314         * target.c (memory_xfer_partial): Call address_significant.
315         * utils.c (address_significant): New function.
316         * utils.h (address_significant): Declare.
317
318 2017-12-08  Tom Tromey  <tom@tromey.com>
319
320         * printcmd.c (ui_printf): Update.  Use std::vector.
321         * common/format.h (struct format_piece): Add constructor.
322         <string>: Now const.
323         (class format_pieces): New class.
324         (parse_format_string, free_format_pieces)
325         (free_format_pieces_cleanup): Remove.
326         * common/format.c (format_pieces::format_pieces): Rename from
327         parse_format_string.  Update.
328         (free_format_pieces, free_format_pieces_cleanup): Remove.
329         * breakpoint.c (parse_cmd_to_aexpr): Update.  Use std::vector.
330         * ax-gdb.h (gen_printf): Remove argument.
331         * ax-gdb.c (gen_printf): Remove "frags" argument.
332         (maint_agent_printf_command): Update.  Use std::vector.
333
334 2017-12-08  Yao Qi  <yao.qi@linaro.org>
335
336         PR breakpionts/22567
337         * linespec.c (minsym_found): Set sal.section.
338
339 2017-12-08  Andreas Arnez  <arnez@linux.vnet.ibm.com>
340
341         * configure.tgt (s390*-*-linux*): Add symfile-mem.o.
342
343 2017-12-07  Keith Seitz  <keiths@redhat.com>
344
345         PR breakpoints/22569
346         * location.c (string_to_explicit_location): When terminating
347         parsing early, break out of enclosing loop instead of returning.
348
349 2017-12-07  Keith Seitz  <keiths@redhat.com>
350
351         * NEWS (New commands): Mention set/show print type nested-type-limit.
352         * c-typeprint.c (c_type_print_base): Print out nested types.
353         * dwarf2read.c (struct typedef_field_list): Rename to ...
354         (struct decl_field_list): ... this.  Change all uses.
355         (struct field_info) <nested_types_list, nested_types_list_count>:
356         New fields.
357         (add_partial_symbol): Look for nested type definitions in C++, too.
358         (dwarf2_add_typedef): Rename to ...
359         (dwarf2_add_type_defn): ... this.
360         (type_can_define_types): New function.
361         Update assertion to use type_can_define_types.
362         Permit NULL for a field's name.
363         (process_structure_scope): Handle child DIEs of types that can
364         define types.
365         Copy the list of nested types into the type struct.
366         * gdbtypes.h (struct typedef_field): Rename to ...
367         (struct decl_field): ... this.  Change all uses.
368         [is_protected, is_private]: New fields.
369         (struct cplus_struct_type) <nested_types, nested_types_count>: New
370         fields.
371         (TYPE_NESTED_TYPES_ARRAY, TYPE_NESTED_TYPES_FIELD)
372         (TYPE_NESTED_TYPES_FIELD_NAME, TYPE_NESTED_TYPES_FIELD_TYPE)
373         (TYPE_NESTED_TYPES_COUNT, TYPE_NESTED_TYPES_FIELD_PROTECTED)
374         (TYPE_NESTED_TYPES_FIELD_PRIVATE): New macros.
375         * typeprint.c (type_print_raw_options, default_ptype_flags): Add
376         default value for print_nested_type_limit.
377         (print_nested_type_limit): New static variable.
378         (set_print_type_nested_types, show_print_type_nested_types): New
379         functions.
380         (_initialize_typeprint): Register new commands for set/show
381         `print-nested-type-limit'.
382         * typeprint.h (struct type_print_options) [print_nested_type_limit]:
383         New field.
384
385 2017-12-07  Tom Tromey  <tom@tromey.com>
386
387         PR breakpoints/22511:
388         * breakpoint.c (commands_command_1): Don't throw an exception when
389         no commands have been read.
390
391 2017-12-07  Adam Stylinski  <adam.stylinski@etegent.com>
392
393         PR c++/21222
394         * target-descriptions.c (print_c_tdesc::visit_pre): Change type of
395         range-for variable.
396
397 2017-12-07  Simon Marchi  <simon.marchi@ericsson.com>
398
399         * common/selftest.h (struct selftest): Add virtual destructor.
400
401 2017-12-07  Phil Muldoon  <pmuldoon@redhat.com>
402
403         * python/py-breakpoint.c (bppy_init): Use string_to_event_location
404         over basic location code. Implement explicit location keywords.
405         (bppy_init_validate_args): New function.
406         * NEWS: Document Python explicit breakpoint locations.
407
408 2017-12-07  Joel Brobecker  <brobecker@adacore.com>
409
410         * MAINTAINERS: Restore target entries for m68hc11-elf,
411         score-elf and xstormy16-elf, incorrectly removed in a previous
412         patch meant to only update the list of active maintainers.
413
414 2017-12-06  Pedro Alves  <palves@redhat.com>
415
416         * break-catch-syscall.c (insert_catch_syscall)
417         (remove_catch_syscall): Adjust to pass reference to
418         inf_data->syscalls_counts directly via gdb::array_view.
419         * fbsd-nat.c (fbsd_set_syscall_catchpoint): Adjust to use bool
420         and gdb::array_view.
421         * linux-nat.c (linux_child_set_syscall_catchpoint): Likewise.
422         * remote.c (remote_set_syscall_catchpoint): Likewise.
423         * target-debug.h (target_debug_print_bool): New.
424         (define target_debug_print_gdb_array_view_const_int): New.
425         * target-delegates.c: Regenerate.
426         * target.h (target_ops) <to_set_syscall_catchpoint>: Use
427         gdb::array_view and bool.
428         (target_set_syscall_catchpoint): Likewise.
429
430 2017-12-06  Simon Marchi  <simon.marchi@ericsson.com>
431
432         * break-catch-syscall.c (catch_syscall_completer): Get pointers
433         to syscall group strings after building the string vector.
434
435 2017-12-06  Pedro Alves  <palves@redhat.com>
436
437         * remote.c (remote_query_supported): Don't send "xmlRegisters=" if
438         "qXfer:features:read"" is disabled.
439         (remote_write_qxfer, remote_read_qxfer, remote_search_memory):
440         Check packet_config_support instead of packet->support directly.
441
442 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
443
444         * target-descriptions.c (struct tdesc_feature) <registers>: Use
445         tdesc_reg_up typedef.
446         (struct target_desc) <features>: Use tdesc_feature_up typedef.
447
448 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
449
450         * target-descriptions.c (struct tdesc_type): Use default
451         destructor.
452         <u>: Remove.
453         <accept>: Remove.
454         (struct tdesc_type_builtin): New.
455         (struct tdesc_type_vector): New.
456         (struct tdesc_type_with_fields): New.
457         (tdesc_predefined_types): Change type to tdesc_type_builtin[].
458         (tdesc_gdb_type): Remove.
459         (tdesc_register_type): Adjust.
460         (tdesc_create_vector): Create tdesc_type_vector.
461         (tdesc_create_struct): Create tdesc_type_with_fields.
462         (tdesc_set_struct_size): Change parameter type.
463         (tdesc_create_union): Create tdesc_type_with_fields.
464         (tdesc_create_flags): Likewise.
465         (tdesc_create_enum): Likewise.
466         (tdesc_add_field): Change parameter type.
467         (tdesc_add_typed_bitfield): Likewise.
468         (tdesc_add_bitfield): Likewise.
469         (tdesc_add_flag): Likewise.
470         (tdesc_add_enum_value): Likewise.
471         (print_c_tdesc) <visit>: Remove overload with tdesc_type
472         parameter, add overloads for tdesc_type_builtin,
473         tdesc_type_with_fields and tdesc_type_vector.
474         <m_printed_type>: Remove.
475         <m_printed_element_type, m_printed_type_with_fields>: Add.
476         * target-descriptions.h (tdesc_create_enum): Change return type.
477         (tdesc_add_typed_bitfield): Change parameter type.
478         (tdesc_add_enum_value): Change parameter type.
479         * xml-tdesc.c (struct tdesc_parsing_data) <current_type>: Change
480         type to tdesc_type_with_fields.
481         (tdesc_start_struct): Adjust.
482         (tdesc_start_flags): Adjust.
483         (tdesc_start_enum): Adjust.
484         (tdesc_start_field): Adjust.
485         * arch/tdesc.h (struct tdesc_type_builtin): Forward-declare.
486         (struct tdesc_type_vector): Forward-declare.
487         (struct tdesc_type_with_fields): Forward-declare.
488         (tdesc_create_struct): Change return type.
489         (tdesc_create_union): Likewise.
490         (tdesc_create_flags): Likewise.
491         (tdesc_add_field): Change parameter type.
492         (tdesc_set_struct_size): Likewise.
493         (tdesc_add_bitfield): Likewise.
494         (tdesc_add_flag): Likewise.
495         * features: Re-generate C files.
496
497 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
498
499         * target-descriptions.c (tdesc_arch_reg): Remove typedef.
500         (struct tdesc_arch_reg): Add constructor.
501         (DEF_VEC_O (tdesc_arch_reg)): Remove.
502         (struct tdesc_arch_data): Initialize fields.
503         <arch_regs>: Change type to std::vector.
504         (target_find_description): Adjust.
505         (tdesc_find_type): Adjust.
506         (tdesc_data_init): Call tdesc_arch_data constructor.
507         (tdesc_data_alloc): Allocate tdesc_arch_data with new.
508         (tdesc_data_cleanup): Free data with delete.
509         (tdesc_numbered_register): Adjust.
510         (tdesc_find_arch_register): Adjust.
511         (tdesc_use_registers): Adjust.
512
513 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
514
515         * target-descriptions.c (tdesc_type_field): Remove typedef.
516         (DEF_VEC_O (tdesc_type_field)): Remove.
517         (struct tdesc_type_field): Add constructor.
518         <name>: Change type to std::string.
519         (struct tdesc_type) <tdesc_type>: Instantiate vector if the type
520         kind uses it.
521         <~tdesc_type>: Destroy vector if the type kind uses it.
522         <u::u::fields>: Change type to std::vector.
523         (tdesc_gdb_type): Adjust.
524         (tdesc_add_field): Adjust.
525         (tdesc_add_typed_bitfield): Adjust.
526         (tdesc_add_field): Adjust.
527         (tdesc_add_enum_value): Adjust.
528         (class print_c_tdesc) <visit>: Adjust.
529
530 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
531
532         * target-descriptions.c (struct tdesc_type) <name>: Change type
533         to std::string.
534         <~tdesc_type>: Don't manually free name.
535         <operator==>: Adjust.
536         (tdesc_named_type): Adjust.
537         (tdesc_find_type): Adjust.
538         (tdesc_gdb_type): Adjust.
539         (class print_c_tdesc) <visit>: Adjust.
540
541 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
542
543         * target-descriptions.c (tdesc_type_p): Remove typedef.
544         (DEF_VEC_P (tdesc_type_p)): Remove.
545         (struct tdesc_feature) <types>: Change type to std::vector.
546         <~tdesc_feature>: Replace with default implementation.
547         <accept>: Adjust.
548         (tdesc_named_type): Adjust.
549         (tdesc_create_vector): Adjust.
550         (tdesc_create_struct): Adjust.
551         (tdesc_create_union): Adjust.
552         (tdesc_create_flags): Adjust.
553         (tdesc_create_enum): Adjust.
554
555 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
556
557         * target-descriptions.c (struct tdesc_reg) <tdesc_reg>: Change
558         type of name_ parameter, adjust to std::string change.
559         <name, group, type>: Change type to std::string.
560         <~tdesc_reg>: Replace with default implementation.
561         <operator==>: Adjust.
562         (tdesc_find_register_early): Adjust.
563         (tdesc_register_name): Adjust.
564         (tdesc_register_type): Adjust.
565         (tdesc_register_in_reggroup_p): Adjust.
566         (class print_c_tdesc) <visit>: Adjust.
567         (class print_c_feature) <visit>: Adjust.
568         * features/arc-arcompact.c: Re-generate.
569         * features/arc-v2.c: Re-generate.
570
571 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
572
573         * target-descriptions.c (tdesc_reg_p): Remove typedef.
574         (DEF_VEC_P (tdesc_reg_p)): Remove.
575         (struct tdesc_feature) <registers>: Change type to std::vector.
576         <~tdesc_feature>: Don't manually free registers.
577         <accept>: Adjust.
578         <operator==>: Adjust.
579         (tdesc_has_registers): Adjust.
580         (tdesc_find_register_early): Adjust.
581         (tdesc_use_registers): Adjust.
582         (tdesc_create_reg): Adjust.
583
584 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
585
586         * target-descriptions.c (tdesc_feature) <name>: Change type to
587         std::string.
588         <~tdesc_feature>: Don't manually free name.
589         <operator==>: Adjust.
590         (tdesc_find_feature): Adjust.
591         (tdesc_feature_name): Adjust.
592         (class print_c_tdesc) <visit_pre>: Adjust.
593         (class print_c_feature) <visit_pre>: Adjust.
594
595 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
596
597         * target-descriptions.c (tdesc_feature_p): Remove typedef.
598         (DEF_VEC_P (tdesc_feature_p)): Remove.
599         (struct target_desc) <features>: Change type to std::vector.
600         <~target_desc>: Replace with default implementation.
601         <accept>: Adjust.
602         <operator==>: Adjust.
603         (tdesc_has_registers): Adjust.
604         (tdesc_find_feature): Adjust.
605         (tdesc_use_registers): Adjust.
606         (tdesc_create_feature): Adjust.
607
608 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
609
610         * target-descriptions.c (arch_p): Remove typedef.
611         (DEF_VEC_P (arch_p)): Remove.
612         (struct target_desc) <compatible>: Change type to std::vector.
613         <~target_desc>: Don't manually free compatible.
614         (tdesc_compatible_p): Adjust.
615         (tdesc_add_compatible): Adjust.
616         (class print_c_tdesc) <visit_pre>: Adjust.
617
618 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
619
620         * target-descriptions.c (property_s): Remove typedef.
621         (DEF_VEC_O (property_s)): Remove.
622         (struct target_desc) <properties>: Make an std::vector.
623         <~target_desc>: Don't manually free properties.
624         (tdesc_property): Adjust.
625         (set_tdesc_property): Adjust.
626         (class print_c_tdesc) <visit_pre>: Adjust.
627
628 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
629
630         * common/gdb_assert.h (gdb_static_assert): Redefine using
631         static_assert.
632
633 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
634
635         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
636         unused variables.
637         (ada_is_redundant_range_encoding): Likewise.
638         * ada-varobj.c (ada_varobj_get_value_of_array_variable):
639         Likewise.
640         * alpha-tdep.c (alpha_software_single_step): Likewise.
641         * arm-tdep.c (_initialize_arm_tdep): Likewise.
642         * auto-load.c (info_auto_load_cmd): Likewise.
643         * break-catch-syscall.c (insert_catch_syscall): Likewise.
644         (remove_catch_syscall): Likewise.
645         * breakpoint.c (condition_completer): Likewise.
646         (clear_command): Likewise.
647         (update_breakpoint_locations): Likewise.
648         * btrace.c (btrace_disable): Likewise.
649         (btrace_teardown): Likewise.
650         (btrace_maint_update_pt_packets): Likewise.
651         (maint_btrace_clear_cmd): Likewise.
652         * cli/cli-decode.c (lookup_cmd_1): Likewise.
653         (lookup_cmd_composition): Likewise.
654         * cli/cli-dump.c (scan_filename): Likewise.
655         (restore_command): Likewise.
656         * compile/compile-loc2c.c (compute_stack_depth): Likewise.
657         * compile/compile-object-load.c (compile_object_load): Likewise.
658         * compile/compile-object-run.c (compile_object_run): Likewise.
659         * compile/compile.c (compile_to_object): Likewise.
660         * completer.c (filename_completer): Likewise.
661         (complete_files_symbols): Likewise.
662         (complete_expression): Likewise.
663         * corelow.c (core_open): Likewise.
664         * ctf.c (ctf_start): Likewise.
665         (ctf_write_status): Likewise.
666         (ctf_write_uploaded_tsv): Likewise.
667         (ctf_write_definition_end): Likewise.
668         (ctf_open_dir): Likewise.
669         (ctf_xfer_partial): Likewise.
670         (ctf_trace_find): Likewise.
671         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
672         Likewise.
673         * dwarf2loc.c (allocate_piece_closure): Likewise.
674         (indirect_pieced_value): Likewise.
675         (dwarf2_evaluate_loc_desc_full): Likewise.
676         * dwarf2read.c (dw2_expand_marked_cus): Likewise.
677         (dw2_expand_symtabs_matching): Likewise.
678         (dw2_map_symbol_filenames): Likewise.
679         (read_and_check_comp_unit_head): Likewise.
680         (read_cutu_die_from_dwo): Likewise.
681         (lookup_dwo_unit): Likewise.
682         (read_comp_units_from_section): Likewise.
683         (dwarf2_compute_name): Likewise.
684         (handle_DW_AT_stmt_list): Likewise.
685         (create_cus_hash_table): Likewise.
686         (create_dwp_v2_section): Likewise.
687         (dwarf2_rnglists_process): Likewise.
688         (dwarf2_ranges_process): Likewise.
689         (dwarf2_record_block_ranges): Likewise.
690         (is_vtable_name): Likewise.
691         (read_formatted_entries): Likewise.
692         (skip_form_bytes): Likewise.
693         * elfread.c (elf_symtab_read): Likewise.
694         * exec.c (exec_file_command): Likewise.
695         * f-valprint.c (f_val_print): Likewise.
696         (info_common_command_for_block): Likewise.
697         * guile/guile.c (initialize_scheme_side): Likewise.
698         * guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Likewise.
699         * guile/scm-cmd.c (cmdscm_completer): Likewise.
700         (gdbscm_register_command_x): Likewise.
701         * guile/scm-frame.c (gdbscm_frame_read_var): Likewise.
702         * guile/scm-param.c (gdbscm_parameter_value): Likewise.
703         * guile/scm-ports.c (file_port_magic): Likewise.
704         * guile/scm-pretty-print.c (ppscm_search_pp_list): Likewise.
705         (ppscm_pretty_print_one_value): Likewise.
706         (ppscm_print_children): Likewise.
707         * guile/scm-string.c (gdbscm_string_to_argv): Likewise.
708         * guile/scm-symtab.c (gdbscm_sal_symtab): Likewise.
709         * guile/scm-type.c (gdbscm_type_next_field_x): Likewise.
710         * guile/scm-utils.c (gdbscm_parse_function_args): Likewise.
711         * i386-tdep.c (i386_register_reggroup_p): Likewise.
712         * infcmd.c (run_command_1): Likewise.
713         (until_next_fsm_clean_up): Likewise.
714         * linespec.c (linespec_complete): Likewise.
715         (find_label_symbols): Likewise.
716         * m2-valprint.c (m2_val_print): Likewise.
717         * memattr.c (require_user_regions): Likewise.
718         (lookup_mem_region): Likewise.
719         (disable_mem_command): Likewise.
720         (mem_delete): Likewise.
721         * mep-tdep.c (mep_register_name): Likewise.
722         (mep_analyze_prologue): Likewise.
723         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Likewise.
724         * mi/mi-interp.c (mi_on_sync_execution_done): Likewise.
725         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
726         * microblaze-linux-tdep.c (microblaze_linux_init_abi): Likewise.
727         * minidebug.c (lzma_open): Likewise.
728         * minsyms.c (lookup_minimal_symbol): Likewise.
729         * mips-linux-tdep.c (mips64_fill_fpregset): Likewise.
730         * mips-tdep.c (mips_stub_frame_sniffer): Likewise.
731         (mips_o64_return_value): Likewise.
732         (mips_single_step_through_delay): Likewise.
733         (_initialize_mips_tdep): Likewise.
734         * nios2-tdep.c (nios2_push_dummy_call): Likewise.
735         (nios2_software_single_step): Likewise.
736         * parse.c (find_minsym_type_and_address): Likewise.
737         * psymtab.c (psym_relocate): Likewise.
738         * python/py-breakpoint.c (bppy_get_commands): Likewise.
739         (gdbpy_breakpoint_modified): Likewise.
740         * python/py-infevents.c (create_inferior_call_event_object):
741         Likewise.
742         * python/py-record-btrace.c (btpy_list_item): Likewise.
743         * python/py-type.c (typy_str): Likewise.
744         * python/py-value.c (valpy_call): Likewise.
745         * python/python.c (do_start_initialization): Likewise.
746         * record-btrace.c (record_btrace_insn_history_range): Likewise.
747         (record_btrace_call_history_range): Likewise.
748         (record_btrace_record_method): Likewise.
749         (record_btrace_xfer_partial): Likewise.
750         (btrace_get_frame_function): Likewise.
751         * record-full.c (record_full_open): Likewise.
752         * record.c (get_context_size): Likewise.
753         * registry.h (DEFINE_REGISTRY): Likewise.
754         * remote-fileio.c (remote_fileio_request): Likewise.
755         * remote.c (remote_update_thread_list): Likewise.
756         (remote_check_symbols): Likewise.
757         (remote_commit_resume): Likewise.
758         (remote_interrupt): Likewise.
759         (remote_insert_breakpoint): Likewise.
760         (compare_sections_command): Likewise.
761         * rust-exp.y (super_name): Likewise.
762         (lex_string): Likewise.
763         (convert_ast_to_type): Likewise.
764         (convert_ast_to_expression): Likewise.
765         * rust-lang.c (rust_print_struct_def): Likewise.
766         (rust_print_type): Likewise.
767         (rust_evaluate_subexp): Likewise.
768         * rx-tdep.c (rx_register_type): Likewise.
769         * ser-event.c (serial_event_clear): Likewise.
770         * serial.c (serial_open): Likewise.
771         * spu-tdep.c (spu_overlay_new_objfile): Likewise.
772         * symfile.c (section_is_overlay): Likewise.
773         (overlay_unmapped_address): Likewise.
774         (overlay_mapped_address): Likewise.
775         (simple_overlay_update_1): Likewise.
776         (simple_overlay_update): Likewise.
777         * symtab.c (symbol_find_demangled_name): Likewise.
778         (search_symbols): Likewise.
779         * target-descriptions.c (tdesc_predefined_type): Likewise.
780         * target.c (target_commit_resume): Likewise.
781         * thread.c (print_selected_thread_frame): Likewise.
782         * top.c (new_ui_command): Likewise.
783         (gdb_readline_no_editing): Likewise.
784         * tracefile-tfile.c (tfile_open): Likewise.
785         * tracepoint.c (create_tsv_from_upload): Likewise.
786         * utils.c (quit): Likewise.
787         (defaulted_query): Likewise.
788         * valarith.c (value_concat): Likewise.
789         * xml-syscall.c (xml_list_syscalls_by_group): Likewise.
790         * xml-tdesc.c (target_fetch_description_xml): Likewise.
791         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
792         (xtensa_pseudo_register_write): Likewise.
793
794 2017-12-04  Tom Tromey  <tom@tromey.com>
795
796         * NEWS: Mention Rust trait object inspection.
797
798 2017-12-04  Pedro Alves  <palves@redhat.com>
799
800         PR gdb/22499
801         * amd64-tdep.c (amd64_insn::rex_offset): Rename to...
802         (amd64_insn::enc_prefix_offset): ... this, and tweak comment.
803         (vex2_prefix_p, vex3_prefix_p): New functions.
804         (amd64_get_insn_details): Adjust to rename.  Also skip VEX2 and
805         VEX3 prefixes.
806         (fixup_riprel): Set VEX3.!B.
807
808 2017-12-03  Simon Marchi  <simon.marchi@ericsson.com>
809
810         * target.h (mem_region_vector): Remove.
811         (struct target_ops) <to_memory_map>: Change return type to
812         std::vector<mem_region>.
813         * target-debug.h (target_debug_print_mem_region_vector): Rename
814         to ...
815         (target_debug_print_std_vector_mem_region): ... this.
816         * target-delegates.c: Re-generate.
817
818 2017-12-03  Pedro Alves  <palves@redhat.com>
819
820         * make-target-delegates (munge_type): Also munge '<', '>', and
821         ':'.  Avoid double underscores in identifiers, and trailing
822         underscores.
823         * target-debug.h
824         (target_debug_print_VEC_static_tracepoint_marker_p__p): Rename to
825         ...
826         (target_debug_print_VEC_static_tracepoint_marker_p_p): ... this.
827         * target-delegates.c: Regenerate.
828
829 2017-12-02  Simon Marchi  <simon.marchi@polymtl.ca>
830
831         * common/poison.h (XDELETE): Fix typo.
832
833 2017-12-01  Andrew Cagney  <cagney@redhat.com>
834             Joel Brobecker  <brobecker@adacore.com>
835             Sergio Durigan Junior  <sergiodj@redhat.com>
836
837         * NEWS (Changes since GDB 8.0: Mention new '--readnever'
838         feature.
839         * coffread.c (coff_symfile_read): Do not map over sections with
840         'coff_locate_sections' if readnever is on.
841         * dwarf2read.c (dwarf2_has_info): Return 0 if
842         readnever is on.
843         * elfread.c (elf_symfile_read): Do not map over sections with
844         'elf_locate_sections' if readnever is on.
845         * main.c (validate_readnow_readnever): New function.
846         (captured_main_1): Add support for --readnever.
847         (print_gdb_help): Document --readnever.
848         * objfile-flags.h (enum objfile_flag) <OBJF_READNEVER>: New
849         flag.
850         * symfile.c (readnever_symbol_files): New global.
851         (symbol_file_add_with_addrs): Set 'OBJF_READNEVER' when
852         'READNEVER_SYMBOL_FILES' is set.
853         (validate_readnow_readnever): New function.
854         (symbol_file_command): Handle '-readnever' option.
855         Call 'validate_readnow_readnever'.
856         (add_symbol_file_command): Handle '-readnever' option.
857         Call 'validate_readnow_readnever'.
858         (_initialize_symfile): Document new '-readnever' option for
859         both 'symbol-file' and 'add-symbol-file' commands.
860         * top.h (readnever_symbol_files): New extern global.
861         * xcoffread.c (xcoff_initial_scan): Do not read debug
862         information if readnever is on.
863
864 2017-12-01  Sergio Durigan Junior  <sergiodj@redhat.com>
865
866         * symfile.c (symbol_file_command): Call
867         'symbol_file_add_main_1' only after processing all command
868         line options.
869         (add_symbol_file_command): Modify logic to make arguments
870         position-independent.
871
872 2017-12-01  Joel Brobecker  <brobecker@adacore.com>
873
874         * ada-lang.c (symbol_list_obstack): Delete.
875         (resolve_subexp): Make sure "candidates" gets xfree'ed.
876         (ada_lookup_symbol_list_worker): Remove the limitation that
877         the result is only good until the next call, now making it
878         the responsibility of the caller to free the result when no
879         longer needed.  Adjust the function's intro comment accordingly.
880         (ada_lookup_symbol_list): Adjust the function's intro comment.
881         (ada_iterate_over_symbols): Make sure "results" gets xfree'ed.
882         (ada_lookup_encoded_symbol, get_var_value): Likewise.
883         (_initialize_ada_language): Remove symbol_list_obstack
884         initialization.
885         * ada-exp.y (block_lookup): Make sure "syms" gets xfree'ed.
886         (write_var_or_type, write_name_assoc): Likewise.
887
888 2017-12-01  Tom Tromey  <tom@tromey.com>
889
890         * Makefile.in (all_deps_files): New variable.
891         Include .Po files using all_deps_files.
892
893 2017-12-01  Joel Brobecker  <brobecker@adacore.com>
894
895         * MAINTAINERS: Update list of maintainers, moving those who
896         stepped down or became inactive to the "Past Maintainers"
897         section.
898
899 2017-11-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
900
901         * configure.ac Don't check for sys/fault.h, sys/syscall.h,
902         sys/proc.h.
903         (NEW_PROC_API): Remove.
904         (prsysent_t, pr_sigset_t, pr_sigaction64_t, pr_siginfo64_t):
905         Likewise.
906         * common/common.m4 (GDB_AC_COMMON): Don't check for sys/syscall.h.
907         * configure: Regenerate.
908         * config.in: Regenerate.
909         * gdbserver/configure: Regenerate.
910         * gdbserver/config.in: Regenerate.
911
912         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Remove
913         NEW_PROC_API test.
914         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Likewise.
915
916         * linux-btrace.c: Remove HAVE_SYS_SYSCALL_H test.
917
918         * proc-api.c: Remove !NEW_PROC_API support.
919         Remove HAVE_SYS_PROC_H and HAVE_SYS_USER_H tests.
920         Remove tests for macros always defined on Solaris.
921         * proc-events.c: Remove !NEW_PROC_API support.
922         Remove Remove HAVE_SYS_SYSCALL_H, HAVE_SYS_PROC_H and
923         HAVE_SYS_USER_H tests.
924         (init_syscall_table): Remove non-Solaris syscalls.
925         Remove tests for syscalls present on all Solaris versions.
926         Add missing Solaris 10+ syscalls.
927         (signal_table): Remove non-Solaris signals.
928         Remove tests for signals present on all Solaris versions.
929         (fault_table): Remove non-Solaris faults.
930         Remove tests for faults present on all Solaris versions.
931         * proc-flags.c: Remove !NEW_PROC_API support.
932         (pr_flag_table): Remove non-Solaris and pre-Solaris 7 comments.
933         Remove non-Solaris flags.
934         * proc-why.c: Remove !NEW_PROC_API support.
935         (pr_why_table): Remove meaningless comments.
936         Remove tests for reasons present on all Solaris versions.
937         Remove OSF/1 cases.
938         (proc_prettyfprint_why): Likewise.
939
940         * procfs.c: Remove !NEW_PROC_API and DYNAMIC_SYSCALLS support.
941         Remove HAVE_SYS_FAULT_H and HAVE_SYS_SYSCALL_H tests.
942         Remove WA_READ test, IRIX watchpoint support.
943         (gdb_sigset_t, gdb_sigaction_t, gdb_siginfo_t): Replace by base
944         types.  Change users.
945         (gdb_praddset, gdb_prdelset, gdb_premptysysset, gdb_praddsysset)
946         (gdb_prdelset, gdb_pr_issyssetmember): Replace by base macros.
947         Change callers.
948         Remove CTL_PROC_NAME_FMT tests.
949         (gdb_prstatus_t, gdb_lwpstatus_t): Replace by base types.  Change
950         users.
951         (sysset_t_size): Remove.  Use sizeof (sysset_t) in callers.
952         Remove PROCFS_DONT_PIOCSSIG_CURSIG support.
953         (proc_modify_flag): Replace GDBRESET by PCUNSET.
954         Remove PR_ASYNC, PR_KLC tests.
955         (proc_unset_inherit_on_fork): Remove PR_ASYNC test.
956         (proc_parent_pid): Remove PCWATCH etc. tests.
957         (proc_set_watchpoint): Remove !PCWATCH && !PIOCSWATCH support.
958         Remove PCAGENT test.
959         (proc_get_nthreads) [PIOCNTHR && PIOCTLIST]: Remove.
960         Remove SYS_lwpcreate || SYS_lwp_create test.
961         (proc_get_current_thread): Likewise.
962         [PIOCNTHR && PIOCTLIST]: Remove.
963         [PIOCLSTATUS]: Remove.
964         (procfs_debug_inferior): Remove non-Solaris cases, conditionals.
965         [PRFS_STOPEXEC]: Remove.
966         (syscall_is_lwp_exit): Remove non-Solaris cases, conditionals.
967         (syscall_is_exit): Likewise.
968         (syscall_is_exec): Likewise.
969         (syscall_is_lwp_create): Likewise.
970         Remove SYS_syssgi support.
971         (procfs_wait): Remove PR_ASYNC, !PIOCSSPCACT tests.
972         [SYS_syssgi]: Remove.
973         Remove non-Solaris cases, conditionals.
974         (unconditionally_kill_inferior) [PROCFS_NEED_PIOCSSIG_FOR_KILL]:
975         Remove.
976         (procfs_init_inferior) [SYS_syssgi]: Remove.
977         (procfs_set_exec_trap) [PRFS_STOPEXEC]: Remove.
978         (procfs_inferior_created) [SYS_syssgi]: Remove.
979         (procfs_set_watchpoint): Remove !AIX5 test.
980         (procfs_stopped_by_watchpoint): Remove FLTWATCH test, FLTKWATCH
981         case.
982         (mappingflags) [MA_PHYS]: Remove.
983         (info_mappings_callback): Remove PCAGENT test.
984         Remove PIOCOPENLWP || PCAGENT test.
985
986 2017-11-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
987
988         * sol-thread.c (info_solthreads): Constify args.
989         Cast args to void *.
990
991 2017-11-29  John Baldwin  <jhb@FreeBSD.org>
992
993         * target-float.c [HAVE_LIBMPFR]: Define MPFR_USE_INTMAX_T.
994
995 2017-11-29  Joel Brobecker  <brobecker@adacore.com>
996
997         * ada-lang.c (to_fixed_range_type): Make sure that the size
998         of the range type being returned is the same as the size
999         of the range type being fixed.
1000
1001 2017-11-29  Pedro Alves  <palves@redhat.com>
1002
1003         PR c++/19436
1004         * NEWS: Mention setting breakpoints on functions with C++ ABI
1005         tags.
1006         * completer.h (completion_match_for_lcd) <match,
1007         mark_ignored_range>: New methods.
1008         <finish>: Consider ignored ranges.
1009         <clear>: Clear ignored ranges.
1010         <m_ignored_ranges, m_finished_storage>: New fields.
1011         * cp-support.c (cp_search_name_hash): Ignore ABI tags.
1012         (cp_symbol_name_matches_1, cp_fq_symbol_name_matches): Pass the
1013         completion_match_for_lcd pointer to strncmp_iw_with_mode.
1014         (test_cp_symbol_name_cmp): Add [abi:...] tags unit tests.
1015         * language.c (default_symbol_name_matcher): Pass the
1016         completion_match_for_lcd pointer to strncmp_iw_with_mode.
1017         * linespec.c (linespec_lexer_lex_string): Don't tokenize ABI tags.
1018         * utils.c (skip_abi_tag): New function.
1019         (strncmp_iw_with_mode): Add completion_match_for_lcd parameter.
1020         Handle ABI tags.
1021         * utils.h (strncmp_iw_with_mode): Add completion_match_for_lcd
1022         parameter.
1023
1024 2017-11-29  Pedro Alves  <palves@redhat.com>
1025
1026         PR c++/19436
1027         * NEWS: Mention setting breakpoints on functions with C++ ABI
1028         tags.
1029         * completer.h (completion_match_for_lcd) <match,
1030         mark_ignored_range>: New methods.
1031         <finish>: Consider ignored ranges.
1032         <clear>: Clear ignored ranges.
1033         <m_ignored_ranges, m_finished_storage>: New fields.
1034         * cp-support.c (cp_search_name_hash): Ignore ABI tags.
1035         (cp_symbol_name_matches_1, cp_fq_symbol_name_matches): Pass the
1036         completion_match_for_lcd pointer to strncmp_iw_with_mode.
1037         (test_cp_symbol_name_cmp): Add [abi:...] tags unit tests.
1038         * language.c (default_symbol_name_matcher): Pass the
1039         completion_match_for_lcd pointer to strncmp_iw_with_mode.
1040         * linespec.c (linespec_lexer_lex_string): Don't tokenize ABI tags.
1041         * utils.c (skip_abi_tag): New function.
1042         (strncmp_iw_with_mode): Add completion_match_for_lcd parameter.
1043         Handle ABI tags.
1044         * utils.h (strncmp_iw_with_mode): Add completion_match_for_lcd
1045         parameter.
1046
1047 2017-11-29  Pedro Alves  <palves@redhat.com>
1048
1049         * NEWS: Mention that breakpoints on C++ functions are now set on
1050         on all namespaces/classes by default, and mention "break
1051         -qualified".
1052         * ax-gdb.c (agent_command_1): Adjust to pass a
1053         symbol_name_match_type to new_linespec_location.
1054         * breakpoint.c (parse_breakpoint_sals): Adjust to
1055         get_linespec_location's return type change.
1056         (strace_marker_create_sals_from_location): Adjust to pass a
1057         symbol_name_match_type to new_linespec_location.
1058         (strace_marker_decode_location): Adjust to get_linespec_location's
1059         return type change.
1060         (strace_command): Adjust to pass a symbol_name_match_type to
1061         new_linespec_location.
1062         (LOCATION_HELP_STRING): Add paragraph about wildmatching, and
1063         mention "-qualified".
1064         * c-lang.c (cplus_language_defn): Install cp_search_name_hash.
1065         * completer.c (explicit_location_match_type::MATCH_QUALIFIED): New
1066         enumerator.
1067         (complete_address_and_linespec_locations): New parameter
1068         'match_type'.  Pass it down.
1069         (explicit_options): Add "-qualified".
1070         (collect_explicit_location_matches): Pass the requested match type
1071         to the linespec completers.  Handle MATCH_QUALIFIED.
1072         (location_completer): Handle "-qualified" combined with linespecs.
1073         * cp-support.c (cp_search_name_hash): New.
1074         (cp_symbol_name_matches_1): Implement wild matching for C++.
1075         (cp_fq_symbol_name_matches): Reimplement.
1076         (cp_get_symbol_name_matcher): Return different matchers depending
1077         on the lookup name's match type.
1078         (selftests::test_cp_symbol_name_matches): Add wild matching tests.
1079         * cp-support.h (cp_search_name_hash): New declaration.
1080         * dwarf2read.c
1081         (selftests::dw2_expand_symtabs_matching::test_symbols): Add
1082         symbols.
1083         (test_dw2_expand_symtabs_matching_symbol): Add wild matching
1084         tests.
1085         * guile/scm-breakpoint.c (gdbscm_register_breakpoint_x): Adjust to
1086         pass a symbol_name_match_type to new_linespec_location.
1087         * linespec.c (linespec_parse_basic): Lookup function symbols using
1088         the parser's symbol name match type.
1089         (convert_explicit_location_to_linespec): New
1090         symbol_name_match_type parameter.  Pass it down to
1091         find_linespec_symbols.
1092         (convert_explicit_location_to_sals): Pass the location's name
1093         match type to convert_explicit_location_to_linespec.
1094         (parse_linespec): New match_type parameter.  Save it in the
1095         parser.
1096         (linespec_parser_new): Default to symbol_name_match_type::WILD.
1097         (linespec_complete_function): New symbol_name_match_type
1098         parameter.  Use it.
1099         (complete_linespec_component): Pass down the parser's recorded
1100         name match type.
1101         (linespec_complete_label): New symbol_name_match_type parameter.
1102         Use it.
1103         (linespec_complete): New symbol_name_match_type parameter.  Save
1104         it in the parser and pass it down.  Adjust to
1105         get_linespec_location's prototype change.
1106         (find_function_symbols, find_linespec_symbols): New
1107         symbol_name_match_type parameter.  Pass it down instead of
1108         assuming symbol_name_match_type::WILD.
1109         * linespec.h (linespec_complete, linespec_complete_function)
1110         (linespec_complete_label): New symbol_name_match_type parameter.
1111         * location.c (event_location::linespec_location): Now a struct
1112         linespec_location.
1113         (EL_LINESPEC): Adjust.
1114         (initialize_explicit_location): Default to
1115         symbol_name_match_type::WILD.
1116         (new_linespec_location): New symbol_name_match_type parameter.
1117         Record it in the location.
1118         (get_linespec_location): Now returns a struct linespec_location.
1119         (new_explicit_location): Also copy func_name_match_type.
1120         (explicit_to_string_internal)
1121         (string_to_explicit_location): Handle "-qualified".
1122         (copy_event_location): Adjust to LINESPEC_LOCATION type change.
1123         Copy symbol_name_match_type fields.
1124         (event_location_deleter::operator()): Adjust to LINESPEC_LOCATION
1125         type change.
1126         (event_location_to_string): Adjust to LINESPEC_LOCATION type
1127         change.  Handle "-qualfied".
1128         (string_to_explicit_location): Handle "-qualified".
1129         (string_to_event_location_basic): New symbol_name_match_type
1130         parameter.  Pass it down.
1131         (string_to_event_location): Handle "-qualified".
1132         * location.h (struct linespec_location): New.
1133         (explicit_location::func_name_match_type): New field.
1134         (new_linespec_location): Now returns a const linespec_location *.
1135         (string_to_event_location_basic): New symbol_name_match_type
1136         parameter.
1137         (explicit_completion_info::saw_explicit_location_option): New
1138         field.
1139         * mi/mi-cmd-break.c (mi_cmd_break_insert_1): Adjust to pass a
1140         symbol_name_match_type to new_linespec_location.
1141         * python/py-breakpoint.c (bppy_init): Likewise.
1142         * python/python.c (gdbpy_decode_line): Likewise.
1143
1144 2017-11-29  Pedro Alves  <palves@redhat.com>
1145
1146         * ada-lang.c (ada_lookup_name_info::matches): Change type of
1147         parameter from completion_match to completion_match_result.
1148         Adjust.
1149         (do_wild_match, do_full_match, ada_symbol_name_matches): Likewise.
1150         * completer.c (completion_tracker::maybe_add_completion): Add
1151         match_for_lcd parameter and use it.
1152         (completion_tracker::add_completion): Likewise.
1153         * completer.h (class completion_match_for_lcd): New class.
1154         (completion_match_result::match_for_lcd): New field.
1155         (completion_match_result::set_match): New method.
1156         (completion_tracker): Add comments.
1157         (completion_tracker::add_completion): Add match_for_lcd parameter.
1158         (completion_tracker::reset_completion_match_result): Reset
1159         match_for_lcd too.
1160         (completion_tracker::maybe_add_completion): Add match_for_lcd
1161         parameter.
1162         (completion_tracker::m_lowest_common_denominator_unique): Extend
1163         comments.
1164         * cp-support.c (cp_symbol_name_matches_1)
1165         (cp_fq_symbol_name_matches): Change type of parameter from
1166         completion_match to completion_match_result.  Adjust.
1167         * language.c (default_symbol_name_matcher): Change type of
1168         parameter from completion_match to completion_match_result.
1169         Adjust.
1170         * language.h (completion_match_for_lcd): Forward declare.
1171         (default_symbol_name_matcher): Change type of parameter from
1172         completion_match to completion_match_result.
1173         * symtab.c (compare_symbol_name): Adjust.
1174         (completion_list_add_name): Pass the match_for_lcd to the tracker.
1175         * symtab.h (ada_lookup_name_info::matches): Change type of
1176         parameter from completion_match to completion_match_result.
1177         (symbol_name_matcher_ftype): Likewise, and update comments.
1178
1179 2017-11-29  Pedro Alves  <palves@redhat.com>
1180
1181         * linespec.c (minsym_found, add_minsym): Use msymbol_is_function.
1182         * minsyms.c (msymbol_is_text): Delete.
1183         (msymbol_is_function): New function.
1184         * minsyms.h (msymbol_is_text): Delete.
1185         (msymbol_is_function): New declaration.
1186         * symtab.c (find_function_alias_target): Use msymbol_is_function.
1187
1188 2017-11-29  Tom Tromey  <tom@tromey.com>
1189
1190         * Makefile.in (distclean): Handle the case where rmdir fails.
1191
1192 2017-11-29  Tom Tromey  <tom@tromey.com>
1193
1194         * symfile.c (_initialize_symfile): Update usage text for
1195         add-symbol-file, symbol-file, load.
1196
1197 2017-11-29  Tom Tromey  <tom@tromey.com>
1198
1199         * symfile.c (add_symbol_file_command): Error if some arguments to
1200         -s are missing.  Change unrecognized-argument error message.
1201         (_initialize_symfile): Fix usage text for add-symbol-file.
1202
1203 2017-11-27  Tom Tromey  <tom@tromey.com>
1204
1205         * Makefile.in (REMOTE_OBS): Remove.
1206         (SFILES): Remove remote sources.
1207         (COMMON_SFILES): Add remote sources.
1208         (ALLDEPFILES): Remove dcache.c.
1209
1210 2017-11-27  Tom Tromey  <tom@tromey.com>
1211
1212         * Makefile.in (SUBDIR_TARGET_SRCS, SUBDIR_TARGET_OBS): New
1213         variables.
1214         (SFILES): Use SUBDIR_TARGET_SRCS.
1215         (COMMON_OBS): Use SUBDIR_TARGET_OBS.  Remove waitstatus.o.
1216         (CONFIG_SRC_SUBDIR): Add target.
1217         (%.o): Remove target rule.
1218
1219 2017-11-27  Tom Tromey  <tom@tromey.com>
1220
1221         * Makefile.in (COMMON_OBS): Remove filename-seen-cache.o,
1222         registry.o, thread-fsm.o, debug.o.
1223         (COMMON_SFILES): Add filename-seen-cache.c, registry.c,
1224         thread-fsm.c, debug.c.
1225
1226 2017-11-27  Tom Tromey  <tom@tromey.com>
1227
1228         * Makefile.in (COMMON_SFILES): New.
1229         (SFILES): Move some entries to COMMON_SFILES.
1230         (COMMON_OBS): Use COMMON_SFILES.
1231
1232 2017-11-27  Tom Tromey  <tom@tromey.com>
1233
1234         * Makefile.in (YYFILES): Update comment.
1235         (YYOBJ): Redefine.
1236
1237 2017-11-27  Tom Tromey  <tom@tromey.com>
1238
1239         * Makefile.in (SUBDIR_PYTHON_OBS): Redefine.
1240         (CONFIG_SRC_SUBDIR): Add python.
1241         (%.o): Remove python rule.
1242         (python/%.o): New rule.
1243         * configure: Rebuild.
1244         * configure.ac (CONFIG_OBS): Refer to python/python.o
1245
1246 2017-11-27  Tom Tromey  <tom@tromey.com>
1247
1248         * configure: Rebuild.
1249         * configure.ac (CONFIG_OBS): Refer to guile/guile.o.
1250         * Makefile.in (SUBDIR_GUILE_OBS): Redefine.
1251         (CONFIG_SRC_SUBDIR): Add guile.
1252         (%.o): Remove guile rule.
1253
1254 2017-11-27  Tom Tromey  <tom@tromey.com>
1255
1256         * Makefile.in (SUBDIR_UNITTESTS_OBS): Redefine.
1257         (%.o): Remove unittests rule.
1258         (CONFIG_SRC_SUBDIR): Add unittests.
1259
1260 2017-11-27  Tom Tromey  <tom@tromey.com>
1261
1262         * Makefile.in (SUBDIR_TUI_OBS): Redefine.
1263         (CONFIG_SRC_SUBDIR): Add tui.
1264         (%.o): Remove tui rule.
1265
1266 2017-11-27  Tom Tromey  <tom@tromey.com>
1267
1268         * Makefile.in (SUBDIR_GCC_COMPILE_OBS): Redefine.
1269         (%.o): Remove compile rule.
1270         (CONFIG_SRC_SUBDIR): Add compile.
1271
1272 2017-11-27  Tom Tromey  <tom@tromey.com>
1273
1274         * Makefile.in (SUBDIR_MI_OBS): Redefine.
1275         (%.o): Remove mi rule.
1276         (CONFIG_SRC_SUBDIR): Add mi.
1277         (COMMON_OBS): Use mi/mi-common.o
1278
1279 2017-11-27  Tom Tromey  <tom@tromey.com>
1280
1281         * Makefile.in (SUBDIR_CLI_OBS): Redefine.
1282         (%.o): Remove cli rule.
1283         (CONFIG_SRC_SUBDIR): Add cli.
1284
1285 2017-11-27  Tom Tromey  <tom@tromey.com>
1286
1287         * configure.ac (CONFIG_SRC_SUBDIR): Don't subst.
1288         * configure: Rebuild.
1289         * Makefile.in (CONFIG_SRC_SUBDIR): Redefine.
1290         (CONFIG_DEP_SUBDIR): New variable.
1291         (%.o): Add order-only dependency.
1292         ($(CONFIG_DEP_SUBDIR)): New target.
1293
1294 2017-11-26  Dominik Czarnota  <dominik.b.czarnota@gmail.com>
1295
1296         PR gdb/21945
1297         * findcmd.c (_initialize_mem_search): Update find command help
1298         text.
1299
1300 2017-11-26  Simon Marchi  <simon.marchi@polymtl.ca>
1301
1302         * python/python.c (do_start_initialization): Change progname
1303         type to gdb::unique_xmalloc_ptr.  Release the pointer when using
1304         Python 2.
1305
1306 2017-11-26  Tom Tromey  <tom@tromey.com>
1307
1308         * common/format.h: Add include guards.
1309
1310 2017-11-26  Tom Tromey  <tom@tromey.com>
1311
1312         * nat/linux-personality.h (class
1313         maybe_disable_address_space_randomization): New class.
1314         (maybe_disable_address_space_randomization): Don't declare
1315         function.
1316         * nat/linux-personality.c (restore_personality)
1317         (make_disable_asr_cleanup): Remove.
1318         (maybe_disable_address_space_randomization): Now a constructor.
1319         (~maybe_disable_address_space_randomization): New destructor.
1320         * linux-nat.c (linux_nat_create_inferior): Update.
1321
1322 2017-11-26  Tom Tromey  <tom@tromey.com>
1323
1324         * gcore.c (write_gcore_file_1): Use gdb::unique_xmalloc_ptr.
1325
1326 2017-11-26  Ulrich Weigand  <uweigand@de.ibm.com>
1327
1328         * spu-tdep.c (spu_software_single_step): Access SPU_LSLR_REGNUM as
1329         "cooked" register.  Access only first four bytes of branch target
1330         registers.
1331
1332 2017-11-25  Sergio Durigan Junior  <sergiodj@redhat.com>
1333
1334         PR gdb/22491
1335         * stap-probe.c (relocate_address): New function.
1336         (stap_probe::get_relocated_address): Use 'relocate_address'.
1337         (stap_probe::set_semaphore): Use 'relocate_address' and pass
1338         'm_sem_addr'.
1339         (stap_probe::clear_semaphore): Likewise.
1340
1341 2017-11-25  Pedro Alves  <palves@redhat.com>
1342
1343         * dictionary.c: Include "safe-ctype.h".
1344         * minsyms.c: Include "safe-ctype.h".
1345         * minsyms.c (SYMBOL_HASH_NEXT): Use TOLOWER instead of tolower.
1346
1347 2017-11-25   Pedro Alves  <palves@redhat.com>
1348
1349         * completer.c (complete_line_internal_1): Skip spaces until the
1350         start of the command.
1351
1352 2017-11-24  Pedro Alves  <palves@redhat.com>
1353
1354         * cp-support.c (cp_symbol_name_matches_1): New, factored out from
1355         cp_fq_symbol_name_matches.  Pass language_cplus to
1356         strncmp_with_mode.
1357         (cp_fq_symbol_name_matches): Call cp_symbol_name_matches_1.
1358         (selftests::test_cp_symbol_name_cmp): New.
1359         (_initialize_cp_support): Register "cp_symbol_name_matches"
1360         selftests.
1361         * language.c (default_symbol_name_matcher): Pass language_minimal
1362         to strncmp_iw_with_mode.
1363         * utils.c: Include "cp-support.h" and <algorithm>.
1364         (valid_identifier_name_char, cp_skip_operator_token, skip_ws)
1365         (cp_is_operator): New functions.
1366         (strncmp_iw_with_mode): Use them.  Add language parameter.  Don't
1367         skip whitespace in the symbol name when the lookup name doesn't
1368         have spaces, and vice versa.
1369         (strncmp_iw, strcmp_iw): Pass language to strncmp_iw_with_mode.
1370         * utils.h (strncmp_iw_with_mode): Add language parameter.
1371
1372 2017-11-24  Joel Brobecker  <brobecker@adacore.com>
1373
1374         * ada-lang.c (ada_exception_message_1, ada_exception_message):
1375         New functions.
1376         (print_it_exception): If available, display the exception
1377         message as well.
1378         * NEWS: Document new feature.
1379
1380 2017-11-24  Ulrich Weigand  <uweigand@de.ibm.com>
1381
1382         * configure.nat <spu-linux>: Add fork-inferior.o to NATDEPFILES.
1383
1384 2017-11-24  Philipp Rudo  <prudo@linux.vnet.ibm.com>
1385
1386         * dtrace-probe.c (dtrace_probe::build_arg_exprs)
1387         (dtrace_probe::is_enabled, dtrace_probe::enable)
1388         (dtrace_probe::disable): Remove keyword 'struct' at for-range
1389         variable
1390         * probe.c (gen_ui_out_table_header_info)
1391         (print_ui_out_not_applicables):  Remove keyword 'struct' at
1392         for-range variable
1393
1394 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1395
1396         * configure.tgt: Add arch/aarch64.o
1397
1398 2017-11-24  Simon Marchi  <simon.marchi@polymtl.ca>
1399
1400         * common/common-utils.h: Include poison.h.
1401         (xfree): Remove declaration, add definition with static_assert.
1402         * common/common-utils.c (xfree): Remove.
1403         * common/poison.h (IsMallocatable): Define.
1404         (IsFreeable): Define.
1405         (free): Delete for non-freeable types.
1406         (xnew): New.
1407         (XNEW): Undef and redefine.
1408         (xcnew): New.
1409         (XCNEW): Undef and redefine.
1410         (xdelete): New.
1411         (XDELETE): Undef and redefine.
1412         (xnewvec): New.
1413         (XNEWVEC): Undef and redefine.
1414         (xcnewvec): New.
1415         (XCNEWVEC): Undef and redefine.
1416         (xresizevec): New.
1417         (XRESIZEVEC): Undef and redefine.
1418         (xdeletevec): New.
1419         (XDELETEVEC): Undef and redefine.
1420         (xnewvar): New.
1421         (XNEWVAR): Undef and redefine.
1422         (xcnewvar): New.
1423         (XCNEWVAR): Undef and redefine.
1424         (xresizevar): New.
1425         (XRESIZEVAR): Undef and redefine.
1426
1427 2017-11-24  Simon Marchi  <simon.marchi@polymtl.ca>
1428
1429         * gdbthread.h (private_thread_info): Define structure type, add
1430         virtual pure destructor.
1431         (thread_info) <priv>: Change type to unique_ptr.
1432         <private_dtor>: Remove.
1433         * thread.c (add_thread_with_info): Adjust to use of unique_ptr.
1434         (private_thread_info::~private_thread_info): Provide default
1435         implementation.
1436         (thread_info::~thread_info): Don't call private_dtor nor
1437         manually free priv.
1438         * aix-thread.c (private_thread_info): Rename to ...
1439         (aix_thread_info): ... this.
1440         (get_aix_thread_info): New.
1441         (sync_threadlists): Adjust.
1442         (iter_tid): Adjust.
1443         (aix_thread_resume): Adjust.
1444         (aix_thread_fetch_registers): Adjust.
1445         (aix_thread_store_registers): Adjust.
1446         (aix_thread_extra_thread_info): Adjust.
1447         * darwin-nat.h (private_thread_info): Rename to ...
1448         (darwin_thread_info): ... this.
1449         (get_darwin_thread_info): New.
1450         * darwin-nat.c (darwin_init_thread_list): Adjust.
1451         (darwin_check_new_threads): Adjust.
1452         (thread_info_from_private_thread_info): Adjust.
1453         * linux-thread-db.c (private_thread_info): Rename to ...
1454         (thread_db_thread_info): ... this, initialize fields.
1455         (get_thread_db_thread_info): New.
1456         <dying>: Change type to bool.
1457         (update_thread_state): Adjust to type rename.
1458         (record_thread): Adjust to type rename an use of unique_ptr.
1459         (thread_db_pid_to_str): Likewise.
1460         (thread_db_extra_thread_info): Likewise.
1461         (thread_db_thread_handle_to_thread_info): Likewise.
1462         (thread_db_get_thread_local_address): Likewise.
1463         * nto-tdep.h (private_thread_info): Rename to ...
1464         (nto_thread_info): ... this, initialize fields.
1465         (get_nto_thread_info): New.
1466         <name>: Change type to std::string.
1467         * nto-tdep.c (nto_extra_thread_info): Adjust to type rename and
1468         use of unique_ptr.
1469         * nto-procfs.c (update_thread_private_data_name): Adjust to
1470         std::string change, allocate nto_private_thread_info with new.
1471         (update_thread_private_data): Adjust to unique_ptr.
1472         * remote.c (private_thread_info): Rename to ...
1473         (remote_thread_info): ... this, initialize data members with
1474         default values.
1475         <extra, name>: Change type to std::string.
1476         <thread_handle>: Change type to non-pointer.
1477         (free_private_thread_info): Remove.
1478         (get_private_info_thread): Rename to...
1479         (get_remote_thread_info): ... this, change return type, adjust to
1480         use of unique_ptr, use remote_thread_info constructor.
1481         (remote_add_thread): Adjust.
1482         (get_private_info_ptid): Rename to...
1483         (get_remote_thread_info): ...this, change return type.
1484         (remote_thread_name): Use get_remote_thread_info, adjust to
1485         change to std::string.
1486         (struct thread_item) <~thread_item>: Remove.
1487         <thread_handle>: Make non pointer.
1488         (start_thread): Adjust to thread_item::thread_handle type
1489         change.
1490         (remote_update_thread_list): Adjust to type name change, move
1491         strings from temporary to long-lived object instead of
1492         duplicating.
1493         (remote_threads_extra_info): Use get_remote_thread_info.
1494         (process_initial_stop_replies): Likewise.
1495         (resume_clear_thread_private_info): Likewise.
1496         (remote_resume): Adjust to type name change.
1497         (remote_commit_resume): Use get_remote_thread_info.
1498         (process_stop_reply): Adjust to type name change.
1499         (remote_stopped_by_sw_breakpoint): Use get_remote_thread_info.
1500         (remote_stopped_by_hw_breakpoint): Likewise.
1501         (remote_stopped_by_watchpoint): Likewise.
1502         (remote_stopped_data_address): Likewise.
1503         (remote_core_of_thread): Likewise.
1504         (remote_thread_handle_to_thread_info): Use
1505         get_private_info_thread, adjust to thread_handle field type
1506         change.
1507
1508 2017-11-24  Simon Marchi  <simon.marchi@polymtl.ca>
1509
1510         * remote.c (struct thread_item): Add constructor, disable copy
1511         construction and copy assignment, define default move
1512         construction and move assignment.
1513         <extra, name>: Change type to std::string.
1514         <core>: Initialize.
1515         <thread_handle>: Make non-pointer.
1516         (thread_item_t): Remove typedef.
1517         (DEF_VEC_O(thread_item_t)): Remove.
1518         (threads_listing_context) <contains_thread>: New method.
1519         <remove_thread>: New method.
1520         <items>: Change type to std::vector.
1521         (clear_threads_listing_context): Remove.
1522         (threads_listing_context_remove): Remove.
1523         (remote_newthread_step): Use thread_item constructor, adjust to
1524         change to std::vector.
1525         (start_thread): Use thread_item constructor, adjust to change to
1526         std::vector.
1527         (end_thread): Adjust to change to std::vector and std::string.
1528         (remote_get_threads_with_qthreadinfo): Use thread_item
1529         constructor, adjust to std::vector.
1530         (remote_update_thread_list): Adjust to change to std::vector and
1531         std::string, use threads_listing_context methods.
1532         (remove_child_of_pending_fork): Adjust.
1533         (remove_new_fork_children): Adjust.
1534         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add rsp-low-selftests.c.
1535         (SUBDIR_UNITTESTS_OBS): Add rsp-low-selftests.o.
1536         * unittests/rsp-low-selftests.c: New file.
1537         * common/rsp-low.h: Include common/byte-vector.h.
1538         (hex2bin): New overload.
1539         * common/rsp-low.c (hex2bin): New overload.
1540
1541 2017-11-24  Simon Marchi  <simon.marchi@ericsson.com>
1542
1543         * inferior.h (private_inferior): Define structure type, add
1544         virtual pure destructor.
1545         (inferior) <priv>: Change type to unique_ptr.
1546         * inferior.c (private_inferior::~private_inferior): Provide
1547         default implementation.
1548         (inferior::~inferior): Don't free priv field.
1549         (exit_inferior_1): Likewise.
1550         * darwin-nat.h (struct darwin_exception_info): Initialize fields.
1551         (darwin_exception_info): Remove typedef.
1552         (DEF_VEC_O (darwin_thread_t)); Remove.
1553         (private_inferior): Rename to ...
1554         (darwin_private_inferior): ... this, extend private_inferior.
1555         (get_darwin_inferior): New.
1556         <threads>: Change type to std::vector of darwin_thread_t pointers.
1557         * darwin-nat.c (darwin_check_new_threads): Adjust.
1558         (find_inferior_task_it): Adjust.
1559         (darwin_find_thread); Adjust.
1560         (darwin_suspend_inferior): Adjust.
1561         (darwin_resume_inferior): Adjust.
1562         (darwin_find_new_inferior): Adjust.
1563         (darwin_decode_notify_message): Adjust.
1564         (darwin_send_reply): Adjust.
1565         (darwin_resume_inferior_threads): Adjust.
1566         (darwin_suspend_inferior_threads): Adjust.
1567         (darwin_decode_message): Adjust.
1568         (darwin_wait): Adjust.
1569         (darwin_interrupt): Adjust.
1570         (darwin_deallocate_threads): Adjust.
1571         (darwin_mourn_inferior): Adjust, don't free private data.
1572         (darwin_reply_to_all_pending_messages): Adjust.
1573         (darwin_stop_inferior): Adjust.
1574         (darwin_setup_exceptions): Adjust.
1575         (darwin_kill_inferior): Adjust.
1576         (darwin_setup_request_notification): Adjust.
1577         (darwin_attach_pid): Adjust.
1578         (darwin_init_thread_list): Adjust.
1579         (darwin_setup_fake_stop_event): Adjust.
1580         (darwin_attach): Adjust.
1581         (darwin_detach): Adjust.
1582         (darwin_xfer_partial): Adjust.
1583         (set_enable_mach_exceptions): Adjust.
1584         (darwin_pid_to_exec_file): Adjust.
1585         (darwin_get_ada_task_ptid): Adjust.
1586         * darwin-nat-info.c (get_task_from_args): Adjust.
1587         (info_mach_ports_command): Adjust.
1588         (info_mach_region_command): Adjust.
1589         (info_mach_exceptions_command): Adjust.
1590         * remote.c (private_inferior): Rename to ...
1591         (remote_private_inferior): ... this, initialize fields.
1592         (get_remote_inferior); New.
1593         (remote_commit_resume): Use get_remote_inferior.
1594         (check_pending_event_prevents_wildcard_vcont_callback): Likewise.
1595
1596 2017-11-24  Pedro Alves  <palves@redhat.com>
1597
1598         * NEWS: Mention linespecs and explicit locations, and completion
1599         improvements.
1600
1601 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1602
1603         * regcache.c (regcache::dump): Remove footnote_register_size.
1604
1605 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1606
1607         * regcache.c (cooked_read_test): Add more test for readonly
1608         regcache.
1609
1610 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1611
1612         * gdbarch-selftests.c (test_target_has_registers): Move it to
1613         target.c.
1614         (test_target_has_stack): Likewise.
1615         (test_target_has_memory): Likewise.
1616         (test_target_prepare_to_store): Likewise.
1617         (test_target_store_registers): Likewise.
1618         (test_target_ops): Likewise.
1619         * regcache.c: Include selftest-arch.h and gdbthread.h.
1620         (target_ops_no_register): New class.
1621         (test_target_fetch_registers): New.
1622         (test_target_store_registers): New.
1623         (test_target_xfer_partial): New.
1624         (readwrite_regcache): New.
1625         (cooked_read_test): New.
1626         (_initialize_regcache): Register the test.
1627         * target.c: (test_target_has_registers): Moved from
1628         gdbarch-selftests.c.
1629         (test_target_has_stack): Likewise.
1630         (test_target_has_memory): Likewise.
1631         (test_target_prepare_to_store): Likewise.
1632         (test_target_store_registers): Likewise.
1633         * target.h (test_target_ops): New class.
1634
1635 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1636
1637         * aarch64-tdep.c (_initialize_aarch64_tdep): Add target desc
1638         selftest.
1639
1640 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1641
1642         * aarch64-tdep.c (_initialize_aarch64_tdep): Remove init.
1643         * arch/aarch64.c (aarch64_create_target_description): Create
1644         new target description.
1645         * features/Makefile: Add new files.
1646         * features/aarch64.c: Remove file.
1647         * features/aarch64-core.c: New autogenerated file.
1648         * features/aarch64-fpu.c: New autogenerated file.
1649         * target-descriptions.c (maint_print_c_tdesc_cmd): Check for aarch64.
1650
1651 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1652
1653         * Makefile.in: Add new files.
1654         * aarch64-linux-nat.c (aarch64_linux_read_description): Call
1655         aarch64_read_description.
1656         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
1657         Call aarch64_read_description.
1658         * aarch64-tdep.c (aarch64_read_description): New function.
1659         (aarch64_gdbarch_init): Call aarch64_read_description.
1660         * aarch64-tdep.h (aarch64_read_description): New function.
1661         * arch/aarch64.c: New file.
1662         * configure.tgt: Add new files.
1663
1664 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1665
1666         * mi/mi-main.c (register_changed_p): Update.
1667         * value.c (value_contents_bits_eq): Change return type.
1668         (value_contents_eq): Likewise.
1669         * value.h: Update comments.
1670
1671 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1672
1673         * mi/mi-main.c (mi_cmd_data_list_changed_registers): Remove
1674         local 'changed'.  Remove error.
1675         (register_changed_p): Change return type to bool.
1676
1677 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1678
1679         * arch/tic6x.c: New file.
1680         * arch/tic6x.h: New file.
1681         * features/Makefile (FEATURE_XMLFILES): Add tic6x-c6xp.xml,
1682         tic6x-core.xml and tic6x-gp.xml.
1683         * features/tic6x-c6xp.c: Generated.
1684         * features/tic6x-core.c: Generated.
1685         * features/tic6x-gp.c: Generated.
1686         * target-descriptions.c (maint_print_c_tdesc_cmd): Match
1687         "tic6x-".
1688
1689 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1690
1691         * mi/mi-main.c (list_available_thread_groups): Change map value
1692         type to std::vector.
1693
1694 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1695
1696         * osdata.c (osdata_end_column, get_osdata): Remove std::move.
1697
1698 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1699
1700         * varobj.c (struct varobj_dynamic) <children_requested_>: Rename
1701         back to...
1702         <children_requested>: ... this.
1703         (varobj_get_num_children, varobj_update): Adjust.
1704
1705 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1706
1707         * ada-varobj.c (ada_value_is_changeable_p): Change int to bool where applicable.
1708         (ada_value_has_mutated): Likewise.
1709         * c-varobj.c (varobj_is_anonymous_child): Likewise.
1710         (c_is_path_expr_parent): Likewise.
1711         * mi/mi-cmd-var.c (varobj_update_one): Likewise.
1712         (mi_cmd_var_set_frozen): Likewise.
1713         (mi_cmd_var_update_iter): Likewise.
1714         (mi_cmd_var_update): Likewise.
1715         * varobj.c (pretty_printing): Likewise.
1716         (varobj_enable_pretty_printing): Likewise.
1717         (struct varobj_root) <floating, is_valid>: Likewise.
1718         (struct varobj_dynamic) <children_requested>: Likewise.
1719         (delete_variable): Likewise.
1720         (delete_variable_1): Likewise.
1721         (install_variable): Likewise.
1722         (update_type_if_necessary): Likewise.
1723         (install_new_value): Likewise.
1724         (value_of_root): Likewise.
1725         (is_root_p): Likewise.
1726         (varobj_create): Likewise.
1727         (varobj_delete): Likewise.
1728         (varobj_has_more): Likewise.
1729         (varobj_set_frozen): Likewise.
1730         (varobj_get_frozen): Likewise.
1731         (install_dynamic_child): Likewise.
1732         (dynamic_varobj_has_child_method): Likewise.
1733         (update_dynamic_varobj_children): Likewise.
1734         (varobj_get_num_children): Likewise.
1735         (varobj_list_children): Likewise.
1736         (is_path_expr_parent): Likewise.
1737         (varobj_default_is_path_expr_parent): Likewise.
1738         (varobj_is_dynamic_p): Likewise.
1739         (varobj_set_value): Likewise.
1740         (varobj_value_has_mutated): Likewise.
1741         (varobj_update): Likewise.
1742         (check_scope): Likewise.
1743         (value_of_root_1): Likewise.
1744         (varobj_value_get_print_value): Likewise.
1745         (varobj_editable_p): Likewise.
1746         (varobj_value_is_changeable_p): Likewise.
1747         (varobj_floating_p): Likewise.
1748         (varobj_default_value_is_changeable_p): Likewise.
1749         (varobj_invalidate_iter): Likewise.
1750         * varobj.h (struct varobj_update_result) <type_changed,
1751         children_changed, changed, value_installed>: Likewise.
1752         (struct varobj) <updated, frozen, not_fetched>: Likewise.
1753         (struct lang_varobj_ops) <value_is_changeable_p,
1754         value_has_mutated, is_path_expr_parent>: Likewise.
1755         (varobj_delete): Likewise.
1756         (varobj_set_frozen): Likewise.
1757         (varobj_get_frozen): Likewise.
1758         (varobj_set_value): Likewise.
1759         (varobj_update): Likewise.
1760         (varobj_editable_p): Likewise.
1761         (varobj_floating_p): Likewise.
1762         (varobj_has_more): Likewise.
1763         (varobj_is_dynamic_p): Likewise.
1764         (varobj_default_value_is_changeable_p): Likewise.
1765         (varobj_value_is_changeable_p): Likewise.
1766         (varobj_is_anonymous_child): Likewise.
1767         (varobj_default_is_path_expr_parent): Likewise.
1768
1769 2017-11-22  Sergio Durigan Junior  <sergiodj@redhat.com>
1770
1771         * dtrace-probe.c (struct probe_ops dtrace_probe_ops): Delete.
1772         (struct dtrace_probe_arg) <dtrace_probe_arg>: New constructor.
1773         <type_str>: Convert to 'std::string'.
1774         <expr>: Convert to 'expression_up'.
1775         (dtrace_probe_arg_s): Delete type and VEC.
1776         (dtrace_probe_enabler_s): Likewise.
1777         (struct dtrace_probe): Replace by...
1778         (class dtrace_static_probe_ops): ...this and...
1779         (class dtrace_probe): ...this.
1780         (dtrace_probe_is_linespec): Rename to...
1781         (dtrace_static_probe_ops::is_linespec): ...this.  Adjust code
1782         to reflect change.
1783         (dtrace_process_dof_probe): Use 'std::vector' instead of VEC.
1784         Adjust code.  Create new instance of 'dtrace_probe'.
1785         (dtrace_build_arg_exprs): Rename to...
1786         (dtrace_probe::build_arg_exprs): ...this.  Adjust code to
1787         reflect change.
1788         (dtrace_get_probes): Rename to...
1789         (dtrace_static_probe_ops::get_probes): ...this.  Adjust code
1790         to reflect change.
1791         (dtrace_get_arg): Rename to...
1792         (dtrace_probe::get_arg_by_number): ...this.  Adjust code to
1793         reflect change.
1794         (dtrace_probe_is_enabled): Rename to...
1795         (dtrace_probe::is_enabled): ...this.  Adjust code to reflect
1796         change.
1797         (dtrace_get_probe_address): Rename to...
1798         (dtrace_probe::get_relocated_address): ...this.  Adjust code
1799         to reflect change.
1800         (dtrace_get_probe_argument_count): Rename to...
1801         (dtrace_probe::get_argument_count): ...this.  Adjust code to
1802         reflect change.
1803         (dtrace_can_evaluate_probe_arguments): Rename to...
1804         (dtrace_probe::can_evaluate_arguments): ...this.  Adjust code
1805         to reflect change.
1806         (dtrace_evaluate_probe_argument): Rename to...
1807         (dtrace_probe::evaluate_argument): ...this.  Adjust code to
1808         reflect change.
1809         (dtrace_compile_to_ax): Rename to...
1810         (dtrace_probe::compile_to_ax): ...this.  Adjust code to
1811         reflect change.
1812         (dtrace_probe_destroy): Delete.
1813         (dtrace_type_name): Rename to...
1814         (dtrace_static_probe_ops::type_name): ...this.  Adjust code to
1815         reflect change.
1816         (dtrace_probe::get_static_ops): New method.
1817         (dtrace_gen_info_probes_table_header): Rename to...
1818         (dtrace_static_probe_ops::gen_info_probes_table_header):
1819         ...this.  Adjust code to reflect change.
1820         (dtrace_gen_info_probes_table_values): Rename to...
1821         (dtrace_probe::gen_info_probes_table_values): ...this.  Adjust
1822         code to reflect change.
1823         (dtrace_enable_probe): Rename to...
1824         (dtrace_probe::enable_probe): ...this.  Adjust code to reflect
1825         change.
1826         (dtrace_disable_probe): Rename to...
1827         (dtrace_probe::disable_probe): ...this.  Adjust code to reflect
1828         change.
1829         (struct probe_ops dtrace_probe_ops): Delete.
1830         (info_probes_dtrace_command): Call 'info_probes_for_spops'
1831         instead of 'info_probes_for_ops'.
1832         (_initialize_dtrace_probe): Use 'all_static_probe_ops' instead
1833         of 'all_probe_ops'.
1834
1835 2017-11-22  Sergio Durigan Junior  <sergiodj@redhat.com>
1836             Simon Marchi  <simark@simark.ca>
1837
1838         * stap-probe.c (struct probe_ops stap_probe_ops): Delete
1839         variable.
1840         (struct stap_probe_arg) <stap_probe_arg>: New constructor.
1841         <aexpr>: Change type to 'expression_up'.
1842         (stap_probe_arg_s): Delete type and VEC.
1843         (struct stap_probe): Delete.  Replace by...
1844         (class stap_static_probe_ops): ...this and...
1845         (class stap_probe): ...this.  Rename variables to add 'm_'
1846         prefix.  Do not use 'union' for arguments anymore.
1847         (stap_get_expected_argument_type): Receive probe name instead
1848         of 'struct stap_probe'.  Adjust code.
1849         (stap_parse_probe_arguments): Rename to...
1850         (stap_probe::parse_arguments): ...this.  Adjust code to
1851         reflect change.
1852         (stap_get_probe_address): Rename to...
1853         (stap_probe::get_relocated_address): ...this.  Adjust code
1854         to reflect change.
1855         (stap_get_probe_argument_count): Rename to...
1856         (stap_probe::get_argument_count): ...this.  Adjust code
1857         to reflect change.
1858         (stap_get_arg): Rename to...
1859         (stap_probe::get_arg_by_number'): ...this. Adjust code to
1860         reflect change.
1861         (can_evaluate_probe_arguments): Rename to...
1862         (stap_probe::can_evaluate_arguments): ...this.  Adjust code
1863         to reflect change.
1864         (stap_evaluate_probe_argument): Rename to...
1865         (stap_probe::evaluate_argument): ...this.  Adjust code
1866         to reflect change.
1867         (stap_compile_to_ax): Rename to...
1868         (stap_probe::compile_to_ax): ...this.  Adjust code to
1869         reflect change.
1870         (stap_probe_destroy): Delete.
1871         (stap_modify_semaphore): Adjust comment.
1872         (stap_set_semaphore): Rename to...
1873         (stap_probe::set_semaphore): ...this.  Adjust code to reflect
1874         change.
1875         (stap_clear_semaphore): Rename to...
1876         (stap_probe::clear_semaphore): ...this.  Adjust code to
1877         reflect change.
1878         (stap_probe::get_static_ops): New method.
1879         (handle_stap_probe): Adjust code to create instance of
1880         'stap_probe'.
1881         (stap_get_probes): Rename to...
1882         (stap_static_probe_ops::get_probes): ...this.  Adjust code to
1883         reflect change.
1884         (stap_probe_is_linespec): Rename to...
1885         (stap_static_probe_ops::is_linespec): ...this.  Adjust code to
1886         reflect change.
1887         (stap_type_name): Rename to...
1888         (stap_static_probe_ops::type_name): ...this.  Adjust code to
1889         reflect change.
1890         (stap_gen_info_probes_table_header): Rename to...
1891         (stap_static_probe_ops::gen_info_probes_table_header):
1892         ...this.  Adjust code to reflect change.
1893         (stap_gen_info_probes_table_values): Rename to...
1894         (stap_probe::gen_info_probes_table_values): ...this.  Adjust
1895         code to reflect change.
1896         (struct probe_ops stap_probe_ops): Delete.
1897         (info_probes_stap_command): Use 'info_probes_for_spops'
1898         instead of 'info_probes_for_ops'.
1899         (_initialize_stap_probe): Use 'all_static_probe_ops' instead
1900         of 'all_probe_ops'.
1901
1902 2017-11-22  Sergio Durigan Junior  <sergiodj@redhat.com>
1903
1904         * break-catch-throw.c (fetch_probe_arguments): Use
1905         'probe.prob' instead of 'probe.probe'.
1906         * breakpoint.c (create_longjmp_master_breakpoint): Call
1907         'can_evaluate_arguments' and 'get_relocated_address' methods
1908         from probe.
1909         (create_exception_master_breakpoint): Likewise.
1910         (add_location_to_breakpoint): Use 'sal->prob' instead of
1911         'sal->probe'.
1912         (bkpt_probe_insert_location): Call 'set_semaphore' method from
1913         probe.
1914         (bkpt_probe_remove_location): Likewise, for 'clear_semaphore'.
1915         * elfread.c (elf_get_probes): Use 'static_probe_ops' instead
1916         of 'probe_ops'.
1917         (probe_key_free): Call 'delete' on probe.
1918         (check_exception_resume): Use 'probe.prob' instead of
1919         'probe.probe'.
1920         * location.c (string_to_event_location_basic): Call
1921         'probe_linespec_to_static_ops'.
1922         * probe.c (class any_static_probe_ops): New class.
1923         (any_static_probe_ops any_static_probe_ops): New variable.
1924         (parse_probes_in_pspace): Receive 'static_probe_ops' as
1925         argument.  Adjust code to reflect change.
1926         (parse_probes): Use 'static_probe_ops' instead of
1927         'probe_ops'.  Adjust code to reflect change.
1928         (find_probes_in_objfile): Call methods to get name and
1929         provider from probe.
1930         (find_probe_by_pc): Use 'result.prob' instead of
1931         'result.probe'.  Call 'get_relocated_address' method from
1932         probe.
1933         (collect_probes): Adjust comment and argument list to receive
1934         'static_probe_ops' instead of 'probe_ops'.  Adjust code to
1935         reflect change.  Call necessary methods from probe.
1936         (compare_probes): Call methods to get name and provider from
1937         probes.
1938         (gen_ui_out_table_header_info): Receive 'static_probe_ops'
1939         instead of 'probe_ops'.  Use 'std::vector' instead of VEC,
1940         adjust code accordingly.
1941         (print_ui_out_not_applicables): Likewise.
1942         (info_probes_for_ops): Rename to...
1943         (info_probes_for_spops): ...this.  Receive 'static_probe_ops'
1944         as argument instead of 'probe_ops'.  Adjust code.  Call
1945         necessary methods from probe.
1946         (info_probes_command): Use 'info_probes_for_spops'.
1947         (enable_probes_command): Pass correct argument to
1948         'collect_probes'.  Call methods from probe.
1949         (disable_probes_command): Likewise.
1950         (get_probe_address): Move to 'any_static_probe_ops::get_address'.
1951         (get_probe_argument_count): Move to
1952         'any_static_probe_ops::get_argument_count'.
1953         (can_evaluate_probe_arguments): Move to
1954         'any_static_probe_ops::can_evaluate_arguments'.
1955         (evaluate_probe_argument): Move to
1956         'any_static_probe_ops::evaluate_argument'.
1957         (probe_safe_evaluate_at_pc): Use 'probe.prob' instead of
1958         'probe.probe'.
1959         (probe_linespec_to_ops): Rename to...
1960         (probe_linespec_to_static_ops): ...this.  Adjust code.
1961         (probe_any_is_linespec): Rename to...
1962         (any_static_probe_ops::is_linespec): ...this.
1963         (probe_any_get_probes): Rename to...
1964         (any_static_probe_ops::get_probes): ...this.
1965         (any_static_probe_ops::type_name): New method.
1966         (any_static_probe_ops::gen_info_probes_table_header): New
1967         method.
1968         (compute_probe_arg): Use 'pc_probe.prob' instead of
1969         'pc_probe.probe'.  Call methods from probe.
1970         (compile_probe_arg): Likewise.
1971         (std::vector<const probe_ops *> all_probe_ops): Delete.
1972         (std::vector<const static_probe_ops *> all_static_probe_ops):
1973         New variable.
1974         (_initialize_probe): Use 'all_static_probe_ops' instead of
1975         'all_probe_ops'.
1976         * probe.h (struct info_probe_column) <field_name>: Delete
1977         extraneous newline
1978         (info_probe_column_s): Delete type and VEC.
1979         (struct probe_ops): Delete.  Replace with...
1980         (class static_probe_ops): ...this and...
1981         (clas probe): ...this.
1982         (struct bound_probe) <bound_probe>: Delete extraneous
1983         newline.  Adjust constructor to receive 'probe' instead of
1984         'struct probe'.
1985         <probe>: Rename to...
1986         <prob>: ...this.  Delete extraneous newline.
1987         <objfile>: Delete extraneous newline.
1988         (register_probe_ops): Delete unused prototype.
1989         (info_probes_for_ops): Rename to...
1990         (info_probes_for_spops): ...this.  Adjust comment.
1991         (get_probe_address): Move to 'probe::get_address'.
1992         (get_probe_argument_count): Move to
1993         'probe::get_argument_count'.
1994         (can_evaluate_probe_arguments): Move to
1995         'probe::can_evaluate_arguments'.
1996         (evaluate_probe_argument): Move to 'probe::evaluate_argument'.
1997         * solib-svr4.c (struct svr4_info): Adjust comment.
1998         (struct probe_and_action) <probe>: Rename to...
1999         <prob>: ...this.
2000         (register_solib_event_probe): Receive 'probe' instead of
2001         'struct probe' as argument.  Use 'prob' instead of 'probe'
2002         when applicable.
2003         (solib_event_probe_action): Call 'get_argument_count' method
2004         from probe.  Adjust comment.
2005         (svr4_handle_solib_event): Adjust comment.  Call
2006         'evaluate_argument' method from probe.
2007         (svr4_create_probe_breakpoints): Call 'get_relocated_address'
2008         from probe.
2009         (svr4_create_solib_event_breakpoints): Use 'probe' instead of
2010         'struct probe'.  Call 'can_evaluate_arguments' from probe.
2011         * symfile.h: Forward declare 'class probe' instead of 'struct
2012         probe'.
2013         * symtab.h: Likewise.
2014         (struct symtab_and_line) <probe>: Rename to...
2015         <prob>: ...this.
2016         * tracepoint.c (start_tracing): Use 'prob' when applicable.
2017         Call probe methods.
2018         (stop_tracing): Likewise.
2019
2020 2017-11-22  Joel Brobecker  <brobecker@adacore.com>
2021
2022         * ravenscar-thread.c (ravenscar_inferior_created): Remove
2023         trailing newline at end of string in call to warning.
2024
2025 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
2026
2027         * osdata.h: Include vector isntead of vec.h.
2028         (osdata_column_s): Remove typedef.
2029         (struct osdata_column): Add constructor.
2030         <name, value>: Change type to std::string.
2031         (DEF_VEC_O (osdata_column_s)): Remove.
2032         (osdata_item_s): Remove typedef.
2033         (struct osdata_item) <columns>: Change type to std::vector.
2034         (DEF_VEC_O (osdata_item_s)): Remove.
2035         (struct osdata): Add constructor.
2036         <type>: Change type to std::string.
2037         <items>: Change type to std::vector.
2038         (osdata_p): Remove typedef.
2039         (DEF_VEC_P (osdata_p)): Remove.
2040         (osdata_parse): Return a unique_ptr.
2041         (osdata_free): Remove.
2042         (make_cleanup_osdata_free): Remove.
2043         (get_osdata): Return a unique_ptr.
2044         (get_osdata_column): Return pointer to std::string, take a
2045         reference to osdata_item as parameter.
2046         * osdata.c (struct osdata_parsing_data) <osdata>: Change type to
2047         unique_ptr.
2048         <property_name>: Change type to std::string.
2049         (osdata_start_osdata): Allocate osdata with new and adjust.
2050         (osdata_start_item): Adjust.
2051         (osdata_start_column): Adjust.
2052         (osdata_end_column): Adjust.
2053         (clear_parsing_data): Remove.
2054         (osdata_parse): Return a unique_ptr and adjust, remove cleanup.
2055         (osdata_item_clear): Remove.
2056         (get_osdata): return a unique_ptr and adjust.
2057         (get_osdata_column): Return a pointer to std::string and adjust.
2058         (info_osdata): Adjust.
2059         * mi/mi-main.c: Include <map>.
2060         (free_vector_of_osdata_items): Remove.
2061         (list_available_thread_groups): Adjust, use std::map instead of
2062         splay tree.
2063
2064 2017-11-22  Simon Marchi  <simon.marchi@ericsson.com>
2065
2066         * stack.c (iterate_over_block_locals): Add LOC_OPTIMIZED_OUT
2067         case in switch.
2068
2069 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
2070
2071         * varobj.h (DEF_VEC_P (varobj_p)): Remove.
2072
2073 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
2074
2075         * varobj.h (struct varobj_update_result): Add constructor, add
2076         move constructor, disable copy and assign, initialize fields.
2077         <newobj>: Change type to std::vector.
2078         (varobj_update): Return std::vector.
2079         * varobj.c (install_dynamic_child): Change VEC parameters to
2080         std::vector and adjust.
2081         (update_dynamic_varobj_children): Likewise.
2082         (varobj_update): Return std::vector and adjust.
2083         * mi/mi-cmd-var.c (varobj_update_one): Adjust to vector changes.
2084
2085 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
2086
2087         * varobj.h (struct varobj) <parent>: Remove const.
2088         <children>: Change type to std::vector.
2089         (varobj_list_children): Return std::vector const reference.
2090         (varobj_restrict_range): Change parameter type to std::vector
2091         const reference.
2092         * varobj.c (varobj_has_more): Adjust.
2093         (varobj_restrict_range): Change parameter type to std::vector
2094         const reference and adjust.
2095         (install_dynamic_child): Adjust.
2096         (update_dynamic_varobj_children): Adjust.
2097         (varobj_list_children): Return std::vector const reference and
2098         adjust.
2099         (varobj_add_child): Adjust.
2100         (update_type_if_necessary): Adjust.
2101         (varobj_update): Adjust.
2102         (delete_variable_1): Adjust.
2103         * ada-varobj.c (ada_value_has_mutated): Adjust.
2104         * mi/mi-cmd-var.c (mi_cmd_var_list_children): Adjust.
2105
2106 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
2107
2108         * varobj.h (struct varobj): Add constructor and destructor,
2109         initialize fields.
2110         * varobj.c (struct varobj_root): Initialize fields.
2111         (struct varobj_dynamic): Initialize fields.
2112         (varobj_create): Use unique_ptr instead of cleanup.  Create
2113         varobj with new instead of new_root_variable.
2114         (delete_variable_1): Free variable with delete instead of
2115         free_variable.
2116         (create_child_with_value): Create variable with new instead of
2117         new_variable.
2118         (varobj::varobj): New.
2119         (varobj::~varobj): New (body mostly coming from free_variable).
2120         (new_variable): Remove.
2121         (free_variable): Remove.
2122         (do_free_variable_cleanup): Remove.
2123         (make_cleanup_free_variable): Remove.
2124
2125 2017-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
2126
2127         * core-regset.c: Remove file.
2128         * Makefile.in (ALLDEPFILES): Remove core-regset.c.
2129
2130 2017-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
2131
2132         * NEWS: Document use of GNU MPFR.
2133         * README: Likewise.
2134
2135         * Makefile.in (LIBMPFR): Add define.
2136         (CLIBS): Add $(LIBMPFR).
2137         * configure.ac: Add --with-mpfr configure option.
2138         * configure: Regenerate.
2139         * config.in: Regenerate.
2140
2141         * target-float.c [HAVE_LIBMPFR]: Include <mpfr.h>.
2142         (class mpfr_float_ops): New type.
2143         (mpfr_float_ops::from_target): Two new overloaded functions.
2144         (mpfr_float_ops::to_target): Likewise.
2145         (mpfr_float_ops::to_string): New function.
2146         (mpfr_float_ops::from_string): Likewise.
2147         (mpfr_float_ops::to_longest): Likewise.
2148         (mpfr_float_ops::from_longest): Likewise.
2149         (mpfr_float_ops::from_ulongest): Likewise.
2150         (mpfr_float_ops::to_host_double): Likewise.
2151         (mpfr_float_ops::from_host_double): Likewise.
2152         (mpfr_float_ops::convert): Likewise.
2153         (mpfr_float_ops::binop): Likewise.
2154         (mpfr_float_ops::compare): Likewise.
2155         (get_target_float_ops): Use mpfr_float_ops if available.
2156
2157 2017-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
2158
2159         * target-float.c: Do not include <math.h>.
2160         Include <cmath> and <limits>.
2161         (DOUBLEST): Do not define.
2162         (class target_float_ops): New type.
2163         (class host_float_ops): New templated type.
2164         (class decimal_float_ops): New type.
2165
2166         (floatformat_to_doublest): Rename to ...
2167         (host_float_ops<T>::from_target): ... this.  Use template type T
2168         instead of DOUBLEST.  Use C++ math routines.  Update recursive calls.
2169         (host_float_ops<T>::from_target): New overload using a type argument.
2170         (floatformat_from_doublest): Rename to ...
2171         (host_float_ops<T>::to_target): ... this.  Use template type T
2172         instead of DOUBLEST.  Use C++ math routines.  Update recursive calls.
2173         (host_float_ops<T>::to_target): New overload using a type argument.
2174         (floatformat_printf_format): New function.
2175         (struct printf_length_modifier): New templated type.
2176         (floatformat_to_string): Rename to ...
2177         (host_float_ops<T>::to_string): ... this.  Use type instead of
2178         floatformat argument.  Use floatformat_printf_format and
2179         printf_length_modifier.  Remove special handling of invalid numbers,
2180         infinities and NaN (moved to target_float_to_string).
2181         (struct scanf_length_modifier): New templated type.
2182         (floatformat_from_string): Rename to ...
2183         (host_float_ops<T>::from_string): ... this.  Use type instead of
2184         floatformat argument.  Use scanf_length_modifier.
2185         (floatformat_to_longest): Rename to ...
2186         (host_float_ops<T>::to_longest): ... this.  Use type instead of
2187         floatformat argument.  Handle out-of-range values deterministically.
2188         (floatformat_from_longest): Rename to ...
2189         (host_float_ops<T>::from_longest): ... this.  Use type instead of
2190         floatformat argument.
2191         (floatformat_from_ulongest): Rename to ...
2192         (host_float_ops<T>::from_ulongest): ... this.  Use type instead of
2193         floatformat argument.
2194         (floatformat_to_host_double): Rename to ...
2195         (host_float_ops<T>::to_host_double): ... this.  Use type instead of
2196         floatformat argument.
2197         (floatformat_from_host_double): Rename to ...
2198         (host_float_ops<T>::from_host_double): ... this.  Use type instead of
2199         floatformat argument.
2200         (floatformat_convert): Rename to ...
2201         (host_float_ops<T>::convert): ... this.  Use type instead of
2202         floatformat arguments.  Remove handling of no-op conversions.
2203         (floatformat_binop): Rename to ...
2204         (host_float_ops<T>::binop): ... this.  Use type instead of
2205         floatformat arguments.
2206         (floatformat_compare): Rename to ...
2207         (host_float_ops<T>::compare): ... this.  Use type instead of
2208         floatformat arguments.
2209
2210         (match_endianness): Use type instead of length/byte_order arguments.
2211         (set_decnumber_context): Likewise.
2212         (decimal_from_number): Likewise.  Update calls.
2213         (decimal_to_number): Likewise.
2214         (decimal_is_zero): Likewise.  Update calls.  Move to earlier in file.
2215         (decimal_float_ops::to_host_double): New dummy function.
2216         (decimal_float_ops::from_host_double): Likewise.
2217         (decimal_to_string): Rename to ...
2218         (decimal_float_ops::to_string): ... this.  Use type instead of
2219         length/byte_order arguments.  Update calls.
2220         (decimal_from_string): Rename to ...
2221         (decimal_float_ops::from_string): ... this.  Use type instead of
2222         length/byte_order arguments.  Update calls.
2223         (decimal_from_longest): Rename to ...
2224         (decimal_float_ops::from_longest): ... this.  Use type instead of
2225         length/byte_order arguments.  Update calls.
2226         (decimal_from_ulongest): Rename to ...
2227         (decimal_float_ops::from_ulongest): ... this.  Use type instead of
2228         length/byte_order arguments.  Update calls.
2229         (decimal_to_longest): Rename to ...
2230         (decimal_float_ops::to_longest): ... this.  Use type instead of
2231         length/byte_order arguments.  Update calls.
2232         (decimal_binop): Rename to ...
2233         (decimal_float_ops::binop): ... this.  Use type instead of
2234         length/byte_order arguments.  Update calls.
2235         (decimal_compare): Rename to ...
2236         (decimal_float_ops::compare): ... this.  Use type instead of
2237         length/byte_order arguments.  Update calls.
2238         (decimal_convert): Rename to ...
2239         (decimal_float_ops::convert): ... this.  Use type instead of
2240         length/byte_order arguments.  Update calls.
2241
2242         (target_float_same_category_p): New function.
2243         (target_float_same_format_p): Likewise.
2244         (target_float_format_length): Likewise.
2245         (enum target_float_ops_kind): New type.
2246         (get_target_float_ops_kind): New function.
2247         (get_target_float_ops): Three new overloaded functions.
2248
2249         (target_float_is_zero): Update call.
2250         (target_float_to_string): Add special handling of invalid numbers,
2251         infinities and NaN (moved from floatformat_to_string).  Use
2252         target_float_ops callback.
2253         (target_float_from_string): Use target_float_ops callback.
2254         (target_float_to_longest): Likewise.
2255         (target_float_from_longest): Likewise.
2256         (target_float_from_ulongest): Likewise.
2257         (target_float_to_host_double): Likewise.
2258         (target_float_from_host_double): Likewise.
2259         (target_float_convert): Add special case for no-op conversions.
2260         Use target_float_ops callback.
2261         (target_float_binop): Use target_float_ops callback.
2262         (target_float_compare): Likewise.
2263
2264 2017-11-22  Yao Qi  <yao.qi@linaro.org>
2265
2266         * python/py-gdb-readline.c (gdbpy_readline_wrapper): Use strcpy.
2267
2268 2017-11-22  Yao Qi  <yao.qi@linaro.org>
2269
2270         * cli/cli-decode.c (help_list): Use memcpy instead of strncpy.
2271         * cp-namespace.c (cp_lookup_transparent_type_loop): Likewise.
2272
2273 2017-11-21  Jerome Guitton  <guitton@adacore.com>
2274
2275         * ravenscar-thread.c (ravenscar_wait): Update inferior ptid
2276         with event ptid from the lower layer before doing the
2277         ravenscar-specific update.
2278
2279 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2280
2281         * ravenscar-thread.c (is_ravenscar_task): Also verify that
2282         the ptid's TID is nonzero.
2283
2284 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2285
2286         * ada-lang.h (ada_get_tcb_types_info): Add declaration.
2287         * ada-tasks.c (ada_get_tcb_types_info): Renames get_tcb_types_info.
2288         Make non-static.  Change return type to char *.  Adjust code
2289         accordingly.  Rewrite the function's documentation.
2290         (read_atcb): Adjust call to get_tcb_types_info accordingly.
2291         * ravenscar-thread.c (ravenscar_inferior_created): Check that
2292         we have enough debugging information in the runtime to support
2293         Ada task debugging before we enable the ravenscar-thread layer.
2294
2295 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2296
2297         * ada-lang.h (ada_get_task_info_from_ptid): Add declaration.
2298         * ada-tasks.c (ada_get_task_info_from_ptid): New function.
2299         * ravenscar-thread.c: Add into comment.
2300         (base_magic_null_ptid): Delete.
2301         (base_ptid): Change documentation.
2302         (ravenscar_active_task): Renames ravenscar_running_thread.
2303         All callers updated throughout.
2304         (is_ravenscar_task, ravenscar_get_thread_base_cpu): New function.
2305         (ravenscar_task_is_currently_active): Likewise.
2306         (get_base_thread_from_ravenscar_task): Ditto.
2307         (ravenscar_update_inferior_ptid): Adjust to handle multiple CPUs.
2308         (ravenscar_runtime_initialized): Likewise.
2309         (get_running_thread_id): Add new parameter "cpu".  Adjust
2310         implementation to handle this new parameter.
2311         (ravenscar_fetch_registers): Small adjustment to use
2312         is_ravenscar_task and ravenscar_task_is_currently_active in
2313         order to decide whether to use the target beneath or this
2314         module's arch_ops.
2315         (ravenscar_store_registers, ravenscar_prepare_to_store): Likewise.
2316         (ravenscar_stopped_by_sw_breakpoint): Use
2317         get_base_thread_from_ravenscar_task to get the underlying
2318         thread, rather than using base_ptid.
2319         (ravenscar_stopped_by_hw_breakpoint, ravenscar_stopped_by_watchpoint)
2320         (ravenscar_stopped_data_address, ravenscar_core_of_thread):
2321         Likewise.
2322         (ravenscar_inferior_created): Do not set base_magic_null_ptid.
2323
2324 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2325
2326         * ada-lang.h (struct ada_task_info) <base_cpu>: New field.
2327         * ada-lang.c (struct atcb_fieldno) <base_cpu>: New field.
2328         (get_tcb_types_info): Set fieldnos.base_cpu.
2329         (read_atcb): Set task_info->base_cpu.
2330         (info_task): Print "Base CPU" info if set by runtime.
2331
2332 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2333
2334         * ravenscar-thread.c (ravenscar_stopped_by_sw_breakpoint)
2335         (ravenscar_stopped_by_hw_breakpoint, ravenscar_stopped_by_watchpoint)
2336         (ravenscar_stopped_data_address, ravenscar_core_of_thread):
2337         New functions.
2338         (init_ravenscar_thread_ops): Set the to_stopped_by_sw_breakpoint,
2339         to_stopped_by_hw_breakpoint, to_stopped_by_watchpoint,
2340         to_stopped_data_address and to_core_of_thread fields of
2341         ravenscar_ops.
2342
2343 2017-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
2344
2345         * ppc-tdep.h (enum powerpc_long_double_abi): New data type.
2346         (struct gdbarch_tdep): New member long_double_abi.
2347         * rs6000-tdep.c (rs6000_gdbarch_init): Initialize long_double_abi
2348         member of tdep struct based on Tag_GNU_Power_ABI_FP attribute.
2349         * ppc-linux-tdep.c (ppc_linux_init_abi): Install long double data
2350         format depending on long_double_abi tdep member.
2351         (ppc_floatformat_for_type): Handle __ibm128 type.
2352
2353 2017-11-20  Simon Marchi  <simon.marchi@polymtl.ca>
2354
2355         * darwin-nat.c (set_enable_mach_exceptions): Constify parameter.
2356
2357 2017-11-21  Pedro Alves  <palves@redhat.com>
2358
2359         * dwarf2read.c (mapped_index::find_name_components_bounds)
2360         <completion mode, upper bound>: Use std::lower_bound instead of
2361         std::upper_bound.
2362         (test_mapped_index_find_name_component_bounds): Remove incorrect
2363         "t1_fund" from expected symbols.
2364
2365 2017-11-21  Pedro Alves  <palves@redhat.com>
2366
2367         * dwarf2read.c (mapped_index::name_components_casing): New field.
2368         (mapped_index) <build_name_components,
2369         find_name_components_bounds): Declare new methods.
2370         (mapped_index::find_name_components_bounds)
2371         (mapped_index::build_name_components): New methods, factored out
2372         from dw2_expand_symtabs_matching_symbol.
2373         (check_find_bounds_finds)
2374         (test_mapped_index_find_name_component_bounds): New.
2375         (run_test): Rename to ...
2376         (test_dw2_expand_symtabs_matching_symbol): ... this.
2377         (run_test): Reimplement.
2378
2379 2017-11-21  Pedro Alves  <palves@redhat.com>
2380
2381         * cp-name-parser.y (cp_ident_is_alpha, cp_ident_is_alnum): New.
2382         (symbol_end): Use cp_ident_is_alnum.
2383         (yylex): Use cp_ident_is_alpha and cp_ident_is_alnum.
2384         * dwarf2read.c (make_sort_after_prefix_name): New function.
2385         (dw2_expand_symtabs_matching_symbol): Use it.
2386         (test_symbols): Add more symbols.
2387         (run_test): Add tests.
2388
2389 2017-11-17  Tom Tromey  <tom@tromey.com>
2390
2391         * symtab.h (enum symbol_subclass_kind): New.
2392         (struct symbol) <is_cplus_template_function, is_rust_vtable>:
2393         Remove.
2394         <subclass>: New member.
2395         (SYMBOL_IS_CPLUS_TEMPLATE_FUNCTION): Update.
2396         * rust-lang.c (rust_get_trait_object_pointer): Update.
2397         * dwarf2read.c (read_func_scope): Update.
2398         (read_variable): Update.
2399
2400 2017-11-17  Tom Tromey  <tom@tromey.com>
2401
2402         * dwarf2read.c (read_func_scope): Update.
2403         * symtab.h (struct template_symbol): Derive from symbol.
2404         <base>: Remove.
2405
2406 2017-11-17  Tom Tromey  <tom@tromey.com>
2407
2408         * symtab.h (struct symbol) <is_rust_vtable>: New member.
2409         (struct rust_vtable_symbol): New.
2410         (find_symbol_at_address): Declare.
2411         * symtab.c (find_symbol_at_address): New function.
2412         * symfile.h (struct quick_symbol_functions)
2413         <find_compunit_symtab_by_address>: New member.
2414         * symfile-debug.c (debug_qf_find_compunit_symtab_by_address): New
2415         function.
2416         (debug_sym_quick_functions): Link to
2417         debug_qf_find_compunit_symtab_by_address.
2418         * rust-lang.c (rust_get_trait_object_pointer): New function.
2419         (rust_evaluate_subexp) <case UNOP_IND>: New case.  Call
2420         rust_get_trait_object_pointer.
2421         * psymtab.c (psym_relocate): Clear psymbol_map.
2422         (psym_fill_psymbol_map, psym_find_compunit_symtab_by_address): New
2423         functions.
2424         (psym_functions): Link to psym_find_compunit_symtab_by_address.
2425         * objfiles.h (struct objfile) <psymbol_map>: New member.
2426         * dwarf2read.c (dwarf2_gdb_index_functions): Update.
2427         (process_die) <DW_TAG_variable>: New case.  Call read_variable.
2428         (rust_containing_type, read_variable): New functions.
2429
2430 2017-11-17  Simon Marchi  <simon.marchi@polymtl.ca>
2431
2432         * common/gdb_vecs.h (DEF_VEC_I (int)): Remove.
2433
2434 2017-11-17  Simon Marchi  <simon.marchi@polymtl.ca>
2435
2436         * common/filestuff.c: Include <algorithm>.
2437         (open_fds): Change type to std::vector<int>.
2438         (do_mark_open_fd): Adjust.
2439         (unmark_fd_no_cloexec): Adjust.
2440         (do_close): Adjust.
2441
2442 2017-11-17  Simon Marchi  <simon.marchi@polymtl.ca>
2443
2444         * breakpoint.c (output_thread_groups): Take an std::vector.
2445         (print_one_breakpoint_location): Adjust.
2446
2447 2017-11-17  Joel Brobecker  <brobecker@adacore.com>
2448
2449         * ada-lang.c (resolve_subexp): Add handling of OP_VAR_MSYM_VALUE.
2450         (ada_evaluate_subexp_for_cast): New function.
2451         (ada_evaluate_subexp) <UNOP_CAST>: Replace code by call to
2452         ada_evaluate_subexp_for_cast.
2453         (ada_evaluate_subexp) <nosideret>: Replace code by call to
2454         eval_skip_value.
2455         * eval.c (evaluate_var_value): Make non-static.
2456         (evaluate_var_msym_value, eval_skip_value): Likewise.
2457         * value.h (evaluate_var_value, evaluate_var_msym_value)
2458         (eval_skip_value): Declare.
2459
2460 2017-11-16  Joel Brobecker  <brobecker@adacore.com>
2461
2462         * ada-lang.c (ada_value_cast): Remove parameter "noside".
2463         Update all callers.
2464
2465 2017-11-16  Pedro Alves  <palves@redhat.com>
2466
2467         * python/py-unwind.c (pyuw_sniffer): Translate
2468         PyExc_KeyboardInterrupt to a GDB Quit exception.
2469
2470 2017-11-16  Pedro Alves  <palves@redhat.com>
2471
2472         * infrun.c (resume_cleanups): Delete.
2473         (resume): No longer install a resume_cleanups cleanup nor call
2474         QUIT.
2475         (proceed): Pass the terminal to the inferior.
2476         (keep_going_pass_signal): No longer install a resume_cleanups
2477         cleanup.
2478
2479 2017-11-16  Pedro Alves  <palves@redhat.com>
2480
2481         * inf-loop.c (inferior_event_handler): Don't swallow the exception
2482         if the prompt is blocked.
2483
2484 2017-11-16  Pedro Alves  <palves@redhat.com>
2485
2486         * breakpoint.c (insert_bp_location): Replace bp_err and
2487         bp_err_message locals by a gdb_exception local.
2488
2489 2017-11-16  Pedro Alves  <palves@redhat.com>
2490
2491         * inflow.c (scoped_ignore_sigttou): New class.
2492         (child_terminal_ours_1, new_tty): Use it.
2493
2494 2017-11-16  Ulrich Weigand  <uweigand@de.ibm.com>
2495
2496         * target-float.c (decimal_from_number): Add byte_order argument and
2497         call match_endianness.  Error if unknown floating-point type.
2498         (decimal_to_number): Add byte_order argument and call match_endianness.
2499         (decimal_from_longest): Update call.  Do not call match_endianness.
2500         (decimal_from_ulongest): Likewise.
2501         (decimal_binop): Likewise.
2502         (decimal_is_zero): Likewise.
2503         (decimal_compare): Likewise.
2504         (decimal_convert): Likewise.
2505
2506 2017-11-16  Phil Muldoon  <pmuldoon@redhat.com>
2507
2508         * python/python.c (gdbpy_rbreak): New function.
2509         * NEWS: Document Python rbreak feature.
2510
2511 2017-11-16  Yao Qi  <yao.qi@linaro.org>
2512
2513         * features/tic6x-c62x.xml: Remove.
2514         * features/tic6x-c64x.xml: Remove.
2515         * features/tic6x-c64xp.xml: Remove.
2516
2517 2017-11-15  John Baldwin  <jhb@FreeBSD.org>
2518
2519         * symtab.h: Include <array>.
2520
2521 2017-11-15  John Baldwin  <jhb@FreeBSD.org>
2522
2523         * bsd-kvm.c (bsd_kvm_cmd): Constify 'arg'.
2524         (bsd_kvm_proc_cmd): Likewise.
2525
2526 2017-11-15  Simon Marchi  <simon.marchi@ericsson.com>
2527
2528         * tui/tui-win.c (window_name_completer): Replace VEC with
2529         std::vector.
2530
2531 2017-11-15  Andrew Cagney  <cagney@gnu.org>
2532
2533         * MAINTAINERS: Remove no-longer applicable entries.
2534
2535 2017-11-15  Andrew Cagney  <cagney@gnu.org>
2536
2537         * MAINTAINERS: Move self to Past Maintainers.
2538
2539 2017-11-15  Yao Qi  <yao.qi@linaro.org>
2540
2541         * features/Makefile (XMLTOC): Remove nios2-linux.xml.
2542         * features/nios2-linux.c: Remove.
2543         * nios2-linux-tdep.c (_initialize_nios2_linux_tdep): Don't call
2544         initialize_tdesc_nios2_linux.
2545
2546 2017-11-15  Yao Qi  <yao.qi@linaro.org>
2547
2548         * m68hc11-tdep.c (M68HC11_NUM_REGS): Change it to
2549         M68HC11_LAST_HARD_REG + 1.
2550
2551 2017-11-14  Paul Carroll  <pcarroll@codesourcery.com>
2552
2553         PR gdb/22388
2554         * remote.c (remote_write_bytes_aux, remote_read_bytes_1,
2555         remote_read_bytes, remote_write_qxfer, remote_xfer_partial):
2556         Return TARGET_XFER_EOF if size of returned data is 0.
2557
2558 2017-11-14  Simon Marchi  <simon.marchi@ericsson.com>
2559
2560         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
2561         memory-map-selftests.c.
2562         (SUBDIR_UNITTESTS_OBS): Add memory-map-selftests.o.
2563         * memory-map.c (memory_map_start_memory): Fix computation of hi
2564         address.
2565         * unittests/memory-map-selftests.c: New file.
2566
2567 2017-11-09  Joel Brobecker  <brobecker@adacore.com>
2568
2569         * ada-lang.c: Fix some typos in the general command documenting
2570         how Ada expressions are being evaluated and how their result
2571         is printed.
2572
2573 2017-11-09  Tom Tromey  <tom@tromey.com>
2574
2575         * psymtab.c (psymbol_hash): Do not hash string contents.
2576         (psymbol_compare): Add comment.
2577
2578 2017-11-09  Tom Tromey  <tom@tromey.com>
2579
2580         * dictionary.c (dict_hash): Move "TKB" check into the "switch".
2581
2582 2017-11-08  Joel Brobecker  <brobecker@adacore.com>
2583
2584         * ada-exp.y (write_var_from_sym): Remove parameter
2585         "orig_left_context".  Update all callers.
2586
2587 2017-11-08  Simon Marchi  <simon.marchi@ericsson.com>
2588
2589         * tracepoint.h (class collection_list) <stringify>: Return
2590         std::vector<std::string>.
2591         (encode_actions_rsp): Change parameters to
2592         std::vector<std::string> *.
2593         * tracepoint.c (collection_list::stringify): Return
2594         std::vector<std::string> and adjust accordingly.
2595         (encode_actions_rsp): Changee parameters to
2596         std::vector<std::string> and adjust accordingly.
2597         * remote.c (free_actions_list),
2598         free_actions_list_cleanup_wrapper): Remove.
2599         (remote_download_tracepoint): Adjust to std::vector.
2600
2601 2017-11-08  Tom Tromey  <tom@tromey.com>
2602
2603         * dwarf2read.c (symbolp): Remove typedef.
2604         (read_func_scope): Use std::vector.
2605         (process_structure_scope): Use std::vector.
2606
2607 2017-11-08  Pedro Alves  <palves@redhat.com>
2608
2609         * ada-lang.c (ada_make_symbol_completion_list): Use
2610         completion_skip_symbol.
2611         * symtab.c (symbol_is_function_or_method(minimal_symbol*)): New.
2612         (symbol_is_function_or_method(symbol*)): New.
2613         (add_symtab_completions): Add complete_symbol_mode parameter.  Use
2614         completion_skip_symbol.
2615         (default_collect_symbol_completion_matches_break_on): Use
2616         completion_skip_symbol.  Pass down mode.
2617         (collect_file_symbol_completion_matches): Pass down mode.
2618         * symtab.h (symbol_is_function_or_method): New declarations.
2619         (completion_skip_symbol): New template function.
2620
2621 2017-11-08  Pedro Alves  <palves@redhat.com>
2622
2623         * linespec.c (iterate_over_all_matching_symtabs): Add
2624         search_domain parameter.  Pass it down to expand_symtabs_matching.
2625         (decode_objc): Request FUNCTIONS_DOMAIN symbols only.
2626         (lookup_prefix_sym): Adjust by passing ALL_DOMAIN as
2627         search_domain.
2628         (add_all_symbol_names_from_pspace): Add search_domain parameter.
2629         Pass it down.
2630         (find_method, find_function_symbols): Request FUNCTIONS_DOMAIN
2631         symbols.
2632         (add_matching_symbols_to_info): Add search_domain parameter.  Pass
2633         it down.
2634
2635 2017-11-08  Pedro Alves  <palves@redhat.com>
2636
2637         * ada-lang.c (ada_make_symbol_completion_list): Remove text and
2638         text_len locals and don't pass them down.
2639         * symtab.c (completion_list_add_name): Remove
2640         sym_text/sym_text_len parameters and adjust.
2641         (completion_list_add_symbol, completion_list_add_msymbol)
2642         (completion_list_objc_symbol, completion_list_add_fields)
2643         (add_symtab_completions): Likewise.
2644         (default_collect_symbol_completion_matches_break_on)
2645         (collect_file_symbol_completion_matches): Remove sym_text_len
2646         local and don't pass it down.
2647         * symtab.h (completion_list_add_name): Remove
2648         sym_text/sym_text_len parameters.
2649
2650 2017-11-08  Pedro Alves  <palves@redhat.com>
2651
2652         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
2653         unittests/lookup_name_info-selftests.c.
2654         (SUBDIR_UNITTESTS_OBS): Add lookup_name_info-selftests.o.
2655         * cp-support.c: Include "selftest.h".
2656         (cp_remove_params_1): Rename from cp_remove_params.  Add
2657         'require_param' parameter, and handle it.
2658         (cp_remove_params): Reimplement.
2659         (cp_remove_params_if_any): New.
2660         (selftests::quote): New.
2661         (selftests::check_remove_params): New.
2662         (selftests::test_cp_remove_params): New.
2663         (_initialize_cp_support): Install
2664         selftests::test_cp_remove_params.
2665         * cp-support.h (cp_remove_params_if_any): Declare.
2666         * dwarf2read.c :Include "selftest.h".
2667         (dw2_expand_symtabs_matching_symbol): Use
2668         lookup_name_info::make_ignore_params.
2669         (selftests::dw2_expand_symtabs_matching::mock_mapped_index)
2670         (selftests::dw2_expand_symtabs_matching::string_or_null)
2671         (selftests::dw2_expand_symtabs_matching::check_match)
2672         (selftests::dw2_expand_symtabs_matching::test_symbols)
2673         (selftests::dw2_expand_symtabs_matching::run_test): New.
2674         (_initialize_dwarf2_read): Register
2675         selftests::dw2_expand_symtabs_matching::run_test.
2676         * psymtab.c (psym_expand_symtabs_matching): Use
2677         lookup_name_info::make_ignore_params.
2678         * symtab.c (demangle_for_lookup_info::demangle_for_lookup_info):
2679         If the lookup name wants to ignore parameters, strip them.
2680         (compare_symbol_name): Remove sym_text/sym_text_len parameters and
2681         code handling '('.
2682         (completion_list_add_name): Don't pass down sym_text/sym_text_len.
2683         (default_collect_symbol_completion_matches_break_on): Don't try to
2684         strip parameters.
2685         * symtab.h (lookup_name_info::lookup_name_info): Add
2686         'ignore_parameters' parameter.
2687         (lookup_name_info::ignore_parameters)
2688         (lookup_name_info::make_ignore_params): New methods.
2689         (lookup_name_info::m_ignore_parameters): New field.
2690         * unittests/lookup_name_info-selftests.c: New file.
2691
2692 2017-11-08  Pedro Alves  <palves@redhat.com>
2693
2694         * dwarf2read.c (dw2_expand_marked_cus)
2695         (dw2_expand_symtabs_matching_symbol): Remove forward declarations.
2696         (dw2_expand_symtabs_matching): Move further below.
2697         (dw2_expand_marked_cus): Reindent.
2698
2699 2017-11-08  Pedro Alves  <palves@redhat.com>
2700
2701         * dwarf2read.c (byte_swap, MAYBE_SWAP): Move higher up in file.
2702         (struct name_component): New.
2703         (mapped_index::name_components): New field.
2704         (mapped_index::symbol_name_at): New method.
2705         (dwarf2_read_index): Call mapped_index ctor.
2706         (dw2_map_matching_symbols): Add comment about name_components
2707         table.
2708         (dw2_expand_symtabs_matching): Factor part to...
2709         (dw2_expand_symtabs_matching_symbol): ... this new function.
2710         Build name components table, and lookup symbols in it before
2711         calling the name matcher.
2712         (dw2_expand_marked_cus): New, factored out from
2713         dw2_expand_symtabs_matching.
2714         (dwarf2_per_objfile_free): Call the mapped_index's dtor.
2715
2716 2017-11-08   Pedro Alves  <palves@redhat.com>
2717
2718         * ada-lang.c (ada_encode): Rename to ..
2719         (ada_encode_1): ... this.  Add throw_errors parameter and handle
2720         it.
2721         (ada_encode): Reimplement.
2722         (match_name): Delete, folded into full_name.
2723         (resolve_subexp): No longer pass the encoded name to
2724         ada_lookup_symbol_list.
2725         (should_use_wild_match): Delete.
2726         (name_match_type_from_name): New.
2727         (ada_lookup_simple_minsym): Use lookup_name_info and the
2728         language's symbol_name_matcher_ftype.
2729         (add_symbols_from_enclosing_procs, ada_add_local_symbols)
2730         (ada_add_block_renamings): Adjust to use lookup_name_info.
2731         (ada_lookup_name): New.
2732         (add_nonlocal_symbols, ada_add_all_symbols)
2733         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list)
2734         (ada_iterate_over_symbols): Adjust to use lookup_name_info.
2735         (ada_name_for_lookup): Delete.
2736         (ada_lookup_encoded_symbol): Construct a verbatim name.
2737         (wild_match): Reverse sense of return type.  Use bool.
2738         (full_match): Reverse sense of return type.  Inline bits of old
2739         match_name here.
2740         (ada_add_block_symbols): Adjust to use lookup_name_info.
2741         (symbol_completion_match): Delete, folded into...
2742         (ada_lookup_name_info::matches): ... .this new method.
2743         (symbol_completion_add): Delete.
2744         (ada_collect_symbol_completion_matches): Add name_match_type
2745         parameter.  Adjust to use lookup_name_info and
2746         completion_list_add_name.
2747         (get_var_value, ada_add_global_exceptions): Adjust to use
2748         lookup_name_info.
2749         (ada_get_symbol_name_cmp): Delete.
2750         (do_wild_match, do_full_match): New functions.
2751         (ada_lookup_name_info::ada_lookup_name_info): New method.
2752         (ada_symbol_name_matches, ada_get_symbol_name_matcher): New
2753         functions.
2754         (ada_language_defn): Install ada_get_symbol_name_matcher.
2755         * ada-lex.l (processId): If name starts with '<', copy it
2756         verbatim.
2757         * block.c (block_iter_match_step, block_iter_match_first)
2758         (block_iter_match_next, block_lookup_symbol)
2759         (block_lookup_symbol_primary, block_find_symbol): Adjust to use
2760         lookup_name_info.
2761         * block.h (block_iter_match_first, block_iter_match_next)
2762         (ALL_BLOCK_SYMBOLS_WITH_NAME): Adjust to use lookup_name_info.
2763         * c-lang.c (c_language_defn, cplus_language_defn)
2764         (asm_language_defn, minimal_language_defn): Adjust comments to
2765         refer to la_get_symbol_name_matcher.
2766         * completer.c (complete_files_symbols)
2767         (collect_explicit_location_matches, symbol_completer): Pass a
2768         symbol_name_match_type down.
2769         * completer.h (class completion_match, completion_match_result):
2770         New classes.
2771         (completion_tracker::reset_completion_match_result): New method.
2772         (completion_tracker::m_completion_match_result): New field.
2773         * cp-support.c (make_symbol_overload_list_block): Adjust to use
2774         lookup_name_info.
2775         (cp_fq_symbol_name_matches, cp_get_symbol_name_matcher): New
2776         functions.
2777         * cp-support.h (cp_get_symbol_name_matcher): New declaration.
2778         * d-lang.c: Adjust comments to refer to
2779         la_get_symbol_name_matcher.
2780         * dictionary.c (dict_vector) <iter_match_first, iter_match_next>:
2781         Adjust to use lookup_name_info.
2782         (dict_iter_match_first, dict_iter_match_next)
2783         (iter_match_first_hashed, iter_match_next_hashed)
2784         (iter_match_first_linear, iter_match_next_linear): Adjust to work
2785         with a lookup_name_info.
2786         * dictionary.h (dict_iter_match_first, dict_iter_match_next):
2787         Likewise.
2788         * dwarf2read.c (dw2_lookup_symbol): Adjust to use lookup_name_info.
2789         (dw2_map_matching_symbols): Adjust to use symbol_name_match_type.
2790         (gdb_index_symbol_name_matcher): New class.
2791         (dw2_expand_symtabs_matching) Adjust to use lookup_name_info and
2792         gdb_index_symbol_name_matcher.  Accept a NULL symbol_matcher.
2793         * f-lang.c (f_collect_symbol_completion_matches): Adjust to work
2794         with a symbol_name_match_type.
2795         (f_language_defn): Adjust comments to refer to
2796         la_get_symbol_name_matcher.
2797         * go-lang.c (go_language_defn): Adjust comments to refer to
2798         la_get_symbol_name_matcher.
2799         * language.c (default_symbol_name_matcher)
2800         (language_get_symbol_name_matcher): New functions.
2801         (unknown_language_defn, auto_language_defn): Adjust comments to
2802         refer to la_get_symbol_name_matcher.
2803         * language.h (symbol_name_cmp_ftype): Delete.
2804         (language_defn) <la_collect_symbol_completion_matches>: Add match
2805         type parameter.
2806         <la_get_symbol_name_cmp>: Delete field.
2807         <la_get_symbol_name_matcher>: New field.
2808         <la_iterate_over_symbols>: Adjust to use lookup_name_info.
2809         (default_symbol_name_matcher, language_get_symbol_name_matcher):
2810         Declare.
2811         * linespec.c (iterate_over_all_matching_symtabs)
2812         (iterate_over_file_blocks): Adjust to use lookup_name_info.
2813         (find_methods): Add language parameter, and use lookup_name_info
2814         and the language's symbol_name_matcher_ftype.
2815         (linespec_complete_function): Adjust.
2816         (lookup_prefix_sym): Use lookup_name_info.
2817         (add_all_symbol_names_from_pspace): Adjust.
2818         (find_superclass_methods): Add language parameter and pass it
2819         down.
2820         (find_method): Pass symbol language down.
2821         (find_linespec_symbols): Don't demangle or Ada encode here.
2822         (search_minsyms_for_name): Add lookup_name_info parameter.
2823         (add_matching_symbols_to_info): Add name_match_type parameter.
2824         Use lookup_name_info.
2825         * m2-lang.c (m2_language_defn): Adjust comments to refer to
2826         la_get_symbol_name_matcher.
2827         * minsyms.c: Include <algorithm>.
2828         (add_minsym_to_demangled_hash_table): Remove table parameter and
2829         add objfile parameter.  Use search_name_hash, and add language to
2830         demangled languages vector.
2831         (struct found_minimal_symbols): New struct.
2832         (lookup_minimal_symbol_mangled, lookup_minimal_symbol_demangled):
2833         New functions.
2834         (lookup_minimal_symbol): Adjust to use them.  Don't canonicalize
2835         input names here.  Use lookup_name_info instead.  Lookup up
2836         demangled names once for each language in the demangled names
2837         vector.
2838         (iterate_over_minimal_symbols): Use lookup_name_info.  Lookup up
2839         demangled names once for each language in the demangled names
2840         vector.
2841         (build_minimal_symbol_hash_tables): Adjust.
2842         * minsyms.h (iterate_over_minimal_symbols): Adjust to pass down a
2843         lookup_name_info.
2844         * objc-lang.c (objc_language_defn): Adjust comment to refer to
2845         la_get_symbol_name_matcher.
2846         * objfiles.h: Include <vector>.
2847         (objfile_per_bfd_storage) <demangled_hash_languages>: New field.
2848         * opencl-lang.c (opencl_language_defn): Adjust comment to refer to
2849         la_get_symbol_name_matcher.
2850         * p-lang.c (pascal_language_defn): Adjust comment to refer to
2851         la_get_symbol_name_matcher.
2852         * psymtab.c (psym_lookup_symbol): Use lookup_name_info.
2853         (match_partial_symbol): Use symbol_name_match_type,
2854         lookup_name_info and psymbol_name_matches.
2855         (lookup_partial_symbol): Use lookup_name_info.
2856         (map_block): Use symbol_name_match_type and lookup_name_info.
2857         (psym_map_matching_symbols): Use symbol_name_match_type.
2858         (psymbol_name_matches): New.
2859         (recursively_search_psymtabs): Use lookup_name_info and
2860         psymbol_name_matches.  Rename 'kind' parameter to 'domain'.
2861         (psym_expand_symtabs_matching): Use lookup_name_info.  Rename
2862         'kind' parameter to 'domain'.
2863         * rust-lang.c (rust_language_defn): Adjust comment to refer to
2864         la_get_symbol_name_matcher.
2865         * symfile-debug.c (debug_qf_map_matching_symbols)
2866         (debug_qf_map_matching_symbols): Use symbol_name_match_type.
2867         (debug_qf_expand_symtabs_matching): Use lookup_name_info.
2868         * symfile.c (expand_symtabs_matching): Use lookup_name_info.
2869         * symfile.h (quick_symbol_functions) <map_matching_symbols>:
2870         Adjust to use symbol_name_match_type.
2871         <expand_symtabs_matching>: Adjust to use lookup_name_info.
2872         (expand_symtabs_matching): Adjust to use lookup_name_info.
2873         * symmisc.c (maintenance_expand_symtabs): Use
2874         lookup_name_info::match_any ().
2875         * symtab.c (symbol_matches_search_name): New.
2876         (eq_symbol_entry): Adjust to use lookup_name_info and the
2877         language's matcher.
2878         (demangle_for_lookup_info::demangle_for_lookup_info): New.
2879         (lookup_name_info::match_any): New.
2880         (iterate_over_symbols, search_symbols): Use lookup_name_info.
2881         (compare_symbol_name): Add language, lookup_name_info and
2882         completion_match_result parameters, and use them.
2883         (completion_list_add_name): Make extern.  Add language and
2884         lookup_name_info parameters.  Use them.
2885         (completion_list_add_symbol, completion_list_add_msymbol)
2886         (completion_list_objc_symbol): Add lookup_name_info parameters and
2887         adjust.  Pass down language.
2888         (completion_list_add_fields): Add lookup_name_info parameters and
2889         adjust.  Pass down language.
2890         (add_symtab_completions): Add lookup_name_info parameters and
2891         adjust.
2892         (default_collect_symbol_completion_matches_break_on): Add
2893         name_match_type parameter, and use it.  Use lookup_name_info.
2894         (default_collect_symbol_completion_matches)
2895         (collect_symbol_completion_matches): Add name_match_type
2896         parameter, and pass it down.
2897         (collect_symbol_completion_matches_type): Adjust.
2898         (collect_file_symbol_completion_matches): Add name_match_type
2899         parameter, and use lookup_name_info.
2900         * symtab.h: Include <string> and "common/gdb_optional.h".
2901         (enum class symbol_name_match_type): New.
2902         (class ada_lookup_name_info): New.
2903         (struct demangle_for_lookup_info): New.
2904         (class lookup_name_info): New.
2905         (symbol_name_matcher_ftype): New.
2906         (SYMBOL_MATCHES_SEARCH_NAME): Use symbol_matches_search_name.
2907         (symbol_matches_search_name): Declare.
2908         (MSYMBOL_MATCHES_SEARCH_NAME): Delete.
2909         (default_collect_symbol_completion_matches)
2910         (collect_symbol_completion_matches)
2911         (collect_file_symbol_completion_matches): Add name_match_type
2912         parameter.
2913         (iterate_over_symbols): Use lookup_name_info.
2914         (completion_list_add_name): Declare.
2915         * utils.c (enum class strncmp_iw_mode): Moved to utils.h.
2916         (strncmp_iw_with_mode): Now extern.
2917         * utils.h (enum class strncmp_iw_mode): Moved from utils.c.
2918         (strncmp_iw_with_mode): Declare.
2919
2920 2017-11-08  Keith Seitz  <keiths@redhat.com>
2921             Pedro Alves  <palves@redhat.com>
2922
2923         * ada-lang.c (ada_language_defn): Install
2924         default_search_name_hash.
2925         * buildsym.c (struct buildsym_compunit): <language>: New field.
2926         (finish_block_internal): Pass language when creating dictionaries.
2927         (start_buildsym_compunit, start_symtab): New language parameters.
2928         Use them.
2929         (restart_symtab): Pass down compilation unit's language.
2930         * buildsym.h (enum language): Forward declare.
2931         (start_symtab): New 'language' parameter.
2932         * c-lang.c (c_language_defn, cplus_language_defn)
2933         (asm_language_defn, minimal_language_defn): Install
2934         default_search_name_hash.
2935         * coffread.c (coff_start_symtab): Adjust.
2936         * d-lang.c (d_language_defn): Install default_search_name_hash.
2937         * dbxread.c (struct symloc): Add 'pst_language' field.
2938         (PST_LANGUAGE): Define.
2939         (start_psymtab, read_ofile_symtab): Use it.
2940         (process_one_symbol): New 'language' parameter.  Pass it down.
2941         * dictionary.c (struct dictionary) <language>: New field.
2942         (DICT_LANGUAGE): Define.
2943         (dict_create_hashed, dict_create_hashed_expandable)
2944         (dict_create_linear, dict_create_linear_expandable): New parameter
2945         'language'.  Set the dictionary's language.
2946         (iter_match_first_hashed): Adjust to rename.
2947         (insert_symbol_hashed): Assert we don't see mismatching
2948         languages.  Adjust to rename.
2949         (dict_hash): Rename to ...
2950         (default_search_name_hash): ... this and make extern.
2951         * dictionary.h (struct language_defn): Forward declare.
2952         (dict_create_hashed): New parameter 'language'.
2953         * dwarf2read.c (dwarf2_start_symtab): Pass down language.
2954         * f-lang.c (f_language_defn): Install default_search_name_hash.
2955         * go-lang.c (go_language_defn): Install default_search_name_hash.
2956         * jit.c (finalize_symtab): Pass compunit's language to dictionary
2957         creation.
2958         * language.c (unknown_language_defn, auto_language_defn):
2959         * language.h (language_defn::la_search_name_hash): New field.
2960         (default_search_name_hash): Declare.
2961         * m2-lang.c (m2_language_defn): Install default_search_name_hash.
2962         * mdebugread.c (new_block): New parameter 'language'.
2963         * mdebugread.c (parse_symbol): Pass symbol language to block
2964         allocation.
2965         (psymtab_to_symtab_1): Pass down language.
2966         (new_symtab): Pass compunit's language to block allocation.
2967         * objc-lang.c (objc_language_defn): Install
2968         default_search_name_hash.
2969         * opencl-lang.c (opencl_language_defn):
2970         * p-lang.c (pascal_language_defn): Install
2971         default_search_name_hash.
2972         * rust-lang.c (rust_language_defn): Install
2973         default_search_name_hash.
2974         * stabsread.h (enum language): Forward declare.
2975         (process_one_symbol): Add 'language' parameter.
2976         * symtab.c (search_name_hash): New function.
2977         * symtab.h (search_name_hash): Declare.
2978         * xcoffread.c (read_xcoff_symtab): Pass language to start_symtab.
2979
2980 2017-11-08  Pedro Alves  <palves@redhat.com>
2981
2982         * cp-name-parser.y (main): Don't initialize extra_chars.
2983
2984 2017-11-07  Tom Tromey  <tom@tromey.com>
2985
2986         * event-top.h (command_handler): Constify.
2987         * record-full.c (cmd_record_full_start): Update.
2988         * thread.c (thread_apply_all_command): Update.
2989         * printcmd.c (eval_command): Update.
2990         * mi/mi-main.c (mi_execute_cli_command): Update.
2991         (mi_execute_async_cli_command): Update.
2992         * tui/tui-stack.c (tui_update_command): Update.
2993         * cli/cli-interp.c (safe_execute_command): Constify.
2994         * record.c (record_start): Update.
2995         (record_start, record_stop, cmd_record_start): Update.
2996         * record-btrace.c (cmd_record_btrace_bts_start): Update.
2997         (cmd_record_btrace_pt_start): Update.
2998         (cmd_record_btrace_start): Update.
2999         (cmd_record_btrace_start): Update.
3000         * reverse.c (exec_reverse_once): Update.
3001         * python/python.c (execute_gdb_command): Don't copy the command.
3002         * event-top.c (command_line_handler): Update.
3003         (command_handler): Constify.
3004         * defs.h (deprecated_call_command_hook): Constify.
3005         * cli/cli-script.h (execute_user_command): Constify.
3006         * cli/cli-script.c (execute_user_command): Constify.
3007         (execute_cmd_pre_hook, execute_cmd_post_hook): Constify.
3008         (enum command_control_type): Update.
3009         * main.c (catch_command_errors): Remove non-const overload.
3010         (catch_command_errors_ftype): Remove.
3011         * python/py-cmd.c (cmdpy_function): Constify.
3012         * guile/scm-cmd.c (cmdscm_function): Constify.
3013         * cli/cli-dump.c (call_dump_func): Constify.
3014         * cli/cli-decode.c (do_const_cfunc): Constify.
3015         (do_sfunc): Constify.
3016         (cmd_func): Constify.
3017         * gdbcmd.h (execute_command, execute_command_to_string): Constify.
3018         * top.h (execute_command): Constify.
3019         * top.c (execute_command): Constify.
3020         (execute_command_to_string): Constify.
3021         (deprecated_call_command_hook): Constify.
3022         * command.h (cmd_func): Constify.
3023         * cli/cli-decode.h (struct cmd_list_element) <func>: Constify.
3024
3025 2017-11-07  Tom Tromey  <tom@tromey.com>
3026
3027         * ada-lang.c (catch_ada_exception_command): Constify.
3028         (catch_assert_command): Constify.
3029         * break-catch-throw.c (catch_catch_command, catch_throw_command)
3030         (catch_rethrow_command): Constify.
3031         (catch_exception_command_1): Constify.
3032         * breakpoint.h (add_catch_command): Constify.
3033         * break-catch-syscall.c (catch_syscall_command_1): Constify.
3034         (catch_syscall_split_args): Constify.
3035         * break-catch-sig.c (catch_signal_command): Constify.
3036         (catch_signal_split_args): Constify.
3037         * cli/cli-decode.h (struct cmd_list_element) <function>: Use
3038         cmd_const_sfunc_ftype.
3039         * cli/cli-decode.c (add_setshow_cmd_full): Constify.
3040         (add_setshow_enum_cmd, add_setshow_auto_boolean_cmd)
3041         (add_setshow_boolean_cmd, add_setshow_filename_cmd)
3042         (add_setshow_string_cmd, struct cmd_list_element)
3043         (add_setshow_optional_filename_cmd, add_setshow_integer_cmd)
3044         (add_setshow_uinteger_cmd, add_setshow_zinteger_cmd)
3045         (add_setshow_zuinteger_unlimited_cmd, add_setshow_zuinteger_cmd):
3046         Constify.
3047         (set_cmd_sfunc): Constify.
3048         (empty_sfunc): Constify.
3049         * command.h (add_setshow_enum_cmd, add_setshow_auto_boolean_cmd)
3050         (add_setshow_boolean_cmd, add_setshow_filename_cmd)
3051         (add_setshow_string_cmd, add_setshow_string_noescape_cmd)
3052         (add_setshow_optional_filename_cmd, add_setshow_integer_cmd)
3053         (add_setshow_uinteger_cmd, add_setshow_zinteger_cmd)
3054         (add_setshow_zuinteger_cmd, add_setshow_zuinteger_unlimited_cmd):
3055         Constify.
3056         (set_cmd_sfunc): Constify.
3057         (cmd_sfunc_ftype): Remove.
3058         * compile/compile.c (set_compile_args): Constify.
3059         * infrun.c (set_disable_randomization): Constify.
3060         * infcmd.c (set_args_command, set_cwd_command): Constify.
3061         * breakpoint.c (set_condition_evaluation_mode): Constify.
3062         (add_catch_command): Constify.
3063         (catch_fork_command_1, catch_exec_command_1)
3064         (catch_load_command_1, catch_unload_command_1): Constify.
3065         (catch_load_or_unload): Constify.
3066         * guile/scm-param.c (pascm_set_func): Constify.
3067         (add_setshow_generic): Constify.
3068         * python/py-param.c (get_set_value): Constify.
3069         * top.h (set_verbose): Constify.
3070         * tui/tui-win.c (tui_set_var_cmd): Constify.
3071         * mi/mi-main.c (set_mi_async_command): Constify.
3072         * cli/cli-logging.c (set_logging_overwrite)
3073         (set_logging_redirect): Constify.
3074         * value.c (set_max_value_size): Constify.
3075         * valprint.c (set_input_radix, set_output_radix): Constify.
3076         * utils.c (set_width_command, set_height_command): Constify.
3077         * typeprint.c (set_print_type_methods, set_print_type_typedefs): Constify.
3078         * tracepoint.c (set_disconnected_tracing)
3079         (set_circular_trace_buffer, set_trace_buffer_size)
3080         (set_trace_user, set_trace_notes, set_trace_stop_notes): Constify.
3081         * top.c (set_history_size_command, set_verbose, set_editing)
3082         (set_gdb_datadir, set_history_filename): Constify.
3083         * target.c (set_targetdebug, maint_set_target_async_command)
3084         (maint_set_target_non_stop_command, set_target_permissions)
3085         (set_write_memory_permission): Constify.
3086         (open_target): Constify.
3087         * target-descriptions.c (set_tdesc_filename_cmd): Constify.
3088         * target-dcache.c (set_stack_cache, set_code_cache): Constify.
3089         * symtab.c (set_symbol_cache_size_handler): Constify.
3090         * symfile.c (set_ext_lang_command): Constify.
3091         * symfile-debug.c (set_debug_symfile): Constify.
3092         * source.c (set_directories_command): Constify.
3093         * solib.c (reload_shared_libraries, gdb_sysroot_changed): Constify.
3094         * serial.c (set_parity): Constify.
3095         * rs6000-tdep.c (powerpc_set_soft_float, powerpc_set_vector_abi): Constify.
3096         * remote.c (set_remote_exec_file, set_remotebreak)
3097         (set_remote_protocol_Z_packet_cmd, set_range_stepping): Constify.
3098         * record.c (set_record_insn_history_size)
3099         (set_record_call_history_size): Constify.
3100         * record-full.c (set_record_full_insn_max_num): Constify.
3101         * proc-api.c (set_procfs_trace_cmd, set_procfs_file_cmd): Constify.
3102         * osabi.c (set_osabi): Constify.
3103         * mips-tdep.c (set_mips64_transfers_32bit_regs)
3104         (reinit_frame_cache_sfunc, mips_abi_update): Constify.
3105         * maint.c (maintenance_set_profile_cmd): Constify.
3106         * linux-thread-db.c (set_libthread_db_search_path): Constify.
3107         * language.c (set_language_command, set_range_command)
3108         (set_case_command): Constify.
3109         * infrun.c (set_non_stop, set_observer_mode)
3110         (set_stop_on_solib_events, set_schedlock_func)
3111         (set_exec_direction_func): Constify.
3112         * infcmd.c (set_inferior_tty_command): Constify.
3113         * disasm.c (set_disassembler_options_sfunc): Constify.
3114         * demangle.c (set_demangling_command): Constify.
3115         * dcache.c (set_dcache_size, set_dcache_line_size): Constify.
3116         * cris-tdep.c (set_cris_version, set_cris_mode)
3117         (set_cris_dwarf2_cfi): Constify.
3118         * corefile.c (set_gnutarget_command): Constify.
3119         * charset.c (set_host_charset_sfunc, set_target_charset_sfunc)
3120         (set_target_wide_charset_sfunc): Constify.
3121         * breakpoint.c (update_dprintf_commands): Constify.
3122         * auto-load.c (set_auto_load_dir, set_auto_load_safe_path): Constify.
3123         * arm-tdep.c (set_fp_model_sfunc, arm_set_abi)
3124         (set_disassembly_style_sfunc): Constify.
3125         * arch-utils.c (set_endian, set_architecture): Constify.
3126         * alpha-tdep.c (reinit_frame_cache_sfunc): Constify.
3127         * agent.c (set_can_use_agent): Constify.
3128
3129 2017-11-07  Tom Tromey  <tom@tromey.com>
3130
3131         * go32-nat.c (go32_sysinfo, go32_sldt, go32_sgdt, go32_sidt)
3132         (go32_pde, go32_pte, go32_pte_for_address): Constify.
3133         * gnu-nat.c (_parse_bool_arg, show_thread_default_pause_cmd)
3134         (set_thread_default_pause_cmd, set_thread_default_run_cmd)
3135         (show_thread_default_run_cmd, set_thread_default_detach_sc_cmd)
3136         (parse_int_arg, show_thread_default_detach_sc_cmd)
3137         (set_signals_cmd, show_signals_cmd, set_sig_thread_cmd)
3138         (show_sig_thread_cmd, set_stopped_cmd, show_stopped_cmd)
3139         (set_exceptions_cmd, show_exceptions_cmd, set_task_pause_cmd)
3140         (show_task_pause_cmd, set_task_detach_sc_cmd)
3141         (show_task_detach_sc_cmd, set_task_exc_port_cmd)
3142         (set_noninvasive_cmd, set_thread_pause_cmd)
3143         (show_thread_pause_cmd, set_thread_run_cmd, show_thread_run_cmd)
3144         (set_thread_detach_sc_cmd, show_thread_detach_sc_cmd)
3145         (set_thread_exc_port_cmd, thread_takeover_sc_cmd): Constify.
3146         * windows-nat.c (display_selectors): Constify.
3147         * cli/cli-decode.h (struct cmd_list_element) <function>: Remove
3148         non-const "cfunc".
3149         * cli/cli-decode.c (set_cmd_cfunc): Remove non-const overload.
3150         (cmd_cfunc_eq): Likewise.
3151         (struct cmd_list_element): Likewise.
3152         (do_cfunc): Remove.
3153         (cli_user_command_p): Update.
3154         * command.h (add_cmd): Remove non-const overload.
3155         (cmd_cfunc_ftype): Remove typedef.
3156         (cmd_cfunc_eq): Remove non-const overload.
3157         * value.c (show_values): Constify.
3158         * thread.c (thread_apply_all_command): Constify.
3159         * symfile.c (load_command): Constify.
3160         * source.c (directory_command): Constify.
3161         * maint.c (maintenance_internal_error)
3162         (maintenance_demangler_warning, maintenance_space_display)
3163         (maintenance_print_architecture, maintenance_translate_address)
3164         (maintenance_info_selftests, maintenance_internal_warning):
3165         Constify.
3166         * breakpoint.c (disable_trace_command, enable_trace_command):
3167         Constify.
3168         * auto-load.c (info_auto_load_local_gdbinit, add_auto_load_dir):
3169         Constify.
3170         (add_auto_load_safe_path): Constify.
3171         * guile/scm-auto-load.c (info_auto_load_guile_scripts): Constify.
3172         * top.h (show_commands): Constify.
3173         * linux-thread-db.c (info_auto_load_libthread_db): Constify.
3174         * sparc64-tdep.c (adi_examine_command): Constify.
3175         (adi_assign_command): Constify.
3176
3177 2017-11-07  Tom Tromey  <tom@tromey.com>
3178
3179         * frame.h (info_locals_command, info_args_command): Constify.
3180         * auto-load.h (auto_load_info_scripts): Constify.
3181         * inferior.h (registers_info): Constify.
3182         * copying.c: Rebuild.
3183         * copying.awk: Constify generated commands.
3184         * auto-load.c (auto_load_info_scripts)
3185         (info_auto_load_gdb_scripts): Constify.
3186         * cli/cli-decode.c (struct cmd_list_element): Take a
3187         cmd_const_cfunc_ftype.
3188         * command.h (add_info): Take a cmd_const_cfunc_ftype.
3189         * tui/tui-win.c (tui_all_windows_info): Constify.
3190         * python/py-auto-load.c (info_auto_load_python_scripts):
3191         Constify.
3192         * cli/cli-cmds.c (show_command): Remove non-const overload.
3193         * tracepoint.c (info_tvariables_command, info_scope_command):
3194         Constify.
3195         (info_static_tracepoint_markers_command): Constify.
3196         * thread.c (info_threads_command): Constify.
3197         (print_thread_info_1): Constify.
3198         * target.c (info_target_command): Constify.
3199         * symtab.c (info_sources_command, info_functions_command)
3200         (info_types_command): Constify.
3201         (info_variables_command): Remove non-const overload.
3202         * symfile.c (info_ext_lang_command): Constify.
3203         * stack.c (info_frame_command, info_locals_command)
3204         (info_args_command): Constify.
3205         (backtrace_command): Remove non-const overload.
3206         * source.c (info_source_command, info_line_command): Constify.
3207         * solib.c (info_sharedlibrary_command): Constify.
3208         * skip.c (info_skip_command): Constify.
3209         * ser-go32.c (info_serial_command): Constify.
3210         * reverse.c (info_bookmarks_command): Constify.
3211         * printcmd.c (info_symbol_command, info_address_command)
3212         (info_display_command): Constify.
3213         * osdata.c (info_osdata_command): Constify.
3214         * objc-lang.c (info_selectors_command, info_classes_command):
3215         Constify.
3216         * nto-procfs.c (procfs_pidlist, procfs_meminfo): Constify.
3217         * memattr.c (info_mem_command): Constify.
3218         * macrocmd.c (info_macro_command, info_macros_command): Constify.
3219         * linux-fork.c (info_checkpoints_command): Constify.
3220         * infrun.c (info_signals_command): Constify.
3221         * inflow.c (info_terminal_command): Constify.
3222         * inferior.c (info_inferiors_command): Constify.
3223         (print_inferior): Constify.
3224         * infcmd.c (info_program_command, info_all_registers_command)
3225         (info_registers_command, info_vector_command)
3226         (info_float_command): Constify.
3227         (registers_info): Constify.
3228         * gnu-nat.c (info_send_rights_cmd, info_recv_rights_cmd)
3229         (info_port_sets_cmd, info_dead_names_cmd, info_port_rights_cmd):
3230         Constify.
3231         * f-valprint.c (info_common_command): Constify.
3232         * dcache.c (info_dcache_command): Constify.
3233         (dcache_info_1): Constify.
3234         * darwin-nat-info.c (info_mach_tasks_command)
3235         (info_mach_task_command, info_mach_ports_command)
3236         (info_mach_port_command, info_mach_threads_command)
3237         (info_mach_thread_command, info_mach_regions_command)
3238         (info_mach_regions_recurse_command, info_mach_region_command)
3239         (info_mach_exceptions_command): Constify.
3240         (get_task_from_args): Constify.
3241         * cp-support.c (info_vtbl_command): Constify.
3242         * breakpoint.c (info_watchpoints_command)
3243         (info_tracepoints_command): Constify.
3244         (info_breakpoints_command): Remove non-const overload.
3245         * avr-tdep.c (avr_io_reg_read_command): Constify.
3246         * auxv.c (info_auxv_command): Constify.
3247         * ada-tasks.c (info_tasks_command): Constify.
3248         (info_task): Constify.
3249         * ada-lang.c (info_exceptions_command): Constify.
3250
3251 2017-11-07  Tom Tromey  <tom@tromey.com>
3252
3253         * solib.h (no_shared_libraries): Constify.
3254         * frame.h (return_command): Constify.
3255         * cli/cli-cmds.h (quit_command): Constify.
3256         * top.h (quit_command, execute_command): Constify.
3257         * target.h (flash_erase_command): Constify.
3258         * inferior.h (set_inferior_args, attach_command): Constify.
3259         * tracepoint.h (start_tracing, stop_tracing): Constify.
3260         * breakpoint.h (break_command, tbreak_command)
3261         (hbreak_command_wrapper, thbreak_command_wrapper)
3262         (rbreak_command_wrapper, watch_command_wrapper)
3263         (awatch_command_wrapper, rwatch_command_wrapper)
3264         (get_tracepoint_by_number): Constify.
3265         * symtab.c (info_variables_command, rbreak_command)
3266         (symtab_symbol_info): Constify.
3267         (info_variables_command): Add non-const overload.
3268         * top.c (dont_repeat_command): Constify.
3269         * breakpoint.c (ignore_command, commands_command)
3270         (condition_command, tbreak_command, hbreak_command)
3271         (thbreak_command, clear_command, break_command)
3272         (info_breakpoints_command, watch_command, rwatch_command)
3273         (awatch_command, trace_command, ftrace_command, strace_command)
3274         (trace_pass_command, break_range_command, dprintf_command)
3275         (agent_printf_command, get_tracepoint_by_number)
3276         (watch_maybe_just_location, trace_pass_command): Constify.
3277         (info_breakpoints_command): Add non-const overload.
3278         * tracefile.c (tsave_command): Constify.
3279         * infcmd.c (attach_command, disconnect_command, signal_command)
3280         (queue_signal_command, stepi_command, nexti_command)
3281         (finish_command, next_command, step_command, until_command)
3282         (advance_command, jump_command, continue_command, run_command)
3283         (start_command, starti_command, interrupt_command)
3284         (run_command_1, set_inferior_args, step_1): Constify.
3285         * inferior.c (add_inferior_command, remove_inferior_command)
3286         (clone_inferior_command): Constify.
3287         * linux-fork.c (checkpoint_command, restart_command): Constify.
3288         * windows-nat.c (signal_event_command): Constify.
3289         * guile/guile.c (guile_repl_command, guile_command): Constify.
3290         * printcmd.c (x_command, display_command, printf_command)
3291         (output_command, set_command, call_command, print_command)
3292         (eval_command): Constify.
3293         (non_const_set_command): Remove.
3294         (_initialize_printcmd): Update.
3295         * source.c (forward_search_command, reverse_search_command):
3296         Constify.
3297         * jit.c (jit_reader_load_command, jit_reader_unload_command):
3298         Constify.
3299         * infrun.c (handle_command): Constify.
3300         * memattr.c (mem_command): Constify.
3301         * stack.c (return_command, up_command, up_silently_command)
3302         (down_command, down_silently_command, frame_command)
3303         (backtrace_command, func_command, backtrace_command_1): Constify.
3304         (backtrace_command): Add non-const overload.
3305         * remote-sim.c (simulator_command): Constify.
3306         * exec.c (set_section_command): Constify.
3307         * tracepoint.c (tdump_command, trace_variable_command)
3308         (tstatus_command, tstop_command, tstart_command)
3309         (end_actions_pseudocommand, while_stepping_pseudocommand)
3310         (collect_pseudocommand, teval_pseudocommand, actions_command)
3311         (start_tracing, stop_tracing): Constify.
3312         * value.c (init_if_undefined_command): Constify.
3313         * tui/tui-stack.c (tui_update_command): Constify.
3314         * tui/tui-win.c (tui_refresh_all_command)
3315         (tui_set_tab_width_command, tui_set_win_height_command)
3316         (tui_set_focus_command, tui_scroll_forward_command)
3317         (tui_scroll_backward_command, tui_scroll_left_command)
3318         (tui_scroll_right_command, parse_scrolling_args, tui_set_focus)
3319         (tui_set_win_height): Constify.
3320         * tui/tui-layout.c (tui_layout_command): Constify.
3321         * procfs.c (proc_trace_syscalls, proc_trace_sysentry_cmd)
3322         (proc_trace_sysexit_cmd, proc_untrace_sysentry_cmd)
3323         (proc_untrace_sysexit_cmd): Constify.
3324         * remote.c (threadlist_test_cmd, threadinfo_test_cmd)
3325         (threadset_test_cmd, threadlist_update_test_cmd)
3326         (threadalive_test): Constify.
3327         * objc-lang.c (print_object_command): Constify.
3328         * command.h (add_com): Constify.
3329         * cli/cli-dump.c (restore_command): Constify.
3330         * cli/cli-cmds.c (pwd_command, echo_command, quit_command)
3331         (help_command, complete_command, shell_command, edit_command)
3332         (list_command, disassemble_command, make_command)
3333         (apropos_command, alias_command): Constify.
3334         * cli/cli-script.c (document_command, define_command)
3335         (while_command, if_command, validate_comname): Constify.
3336         * cli/cli-decode.c (struct cmd_list_element): Change type of
3337         "fun".
3338         * target.c (do_monitor_command, flash_erase_command): Constify.
3339         * regcache.c (reg_flush_command): Constify.
3340         * reverse.c (reverse_step, reverse_next, reverse_stepi)
3341         (reverse_nexti, reverse_continue, reverse_finish)
3342         (save_bookmark_command, goto_bookmark_command)
3343         (exec_reverse_once): Constify.
3344         * python/python.c (python_interactive_command, python_command):
3345         Constify.
3346         * typeprint.c (ptype_command, whatis_command, whatis_exp):
3347         Constify.
3348         * solib.c (sharedlibrary_command, no_shared_libraries): Constify.
3349         * gcore.c (gcore_command): Constify.
3350
3351 2017-11-07  Tom Tromey  <tom@tromey.com>
3352
3353         * printcmd.c (x_command): Call set_repeat_arguments.
3354         * cli/cli-cmds.c (list_command): Call set_repeat_arguments.
3355         * top.c (repeat_arguments): New global.
3356         (set_repeat_arguments): New function.
3357         (execute_command): Handle repeat_arguments.
3358         (show_commands): Calls set_repeat_arguments.
3359         * command.h (set_repeat_arguments): Declare.
3360
3361 2017-11-07  Tom Tromey  <tom@tromey.com>
3362
3363         * stack.c (backtrace_command): Use std::string.
3364         (backtrace_command_1): Make "count_exp" const.
3365
3366 2017-11-07  Tom Tromey  <tom@tromey.com>
3367
3368         * source.c (directory_switch, mod_path, add_path): Constify.
3369         * defs.h (add_path, mod_path, directory_switch): Constify.
3370         * mi/mi-cmd-env.c (env_mod_path): Constify.
3371
3372 2017-11-07  Tom Tromey  <tom@tromey.com>
3373
3374         * infcmd.c (strip_bg_char): Return gdb::unique_xmalloc_ptr.
3375         (run_command_1, continue_command, step_1, jump_command)
3376         (signal_command, until_command, advance_command, finish_command)
3377         (attach_command): Update.
3378
3379 2017-11-07  Tom Tromey  <tom@tromey.com>
3380
3381         * command.h (set_cmd_cfunc): Don't declare.
3382         * cli/cli-decode.c (set_cmd_cfunc): Now static.
3383
3384 2017-11-07  Tom Tromey  <tom@tromey.com>
3385
3386         * stack.c (select_frame_command): Constify.
3387         * cli/cli-decode.c (add_com_suppress_notification): Constify.
3388         * command.h (add_com_suppress_notification): Constify.
3389
3390 2017-11-07  Tom Tromey  <tom@tromey.com>
3391
3392         * breakpoint.c (stop_command): Constify.
3393         * cli/cli-decode.c (struct cmd_list_element): Constify.
3394         * command.h (add_abbrev_prefix_cmd): Constify.
3395
3396 2017-11-07  Pedro Alves  <palves@redhat.com>
3397
3398         * breakpoint.c (extract_bp_kind): New enum.
3399         (extract_bp_num, extract_bp_or_bp_range): New functions, partially
3400         factored out from ...
3401         (extract_bp_number_and_location): ... here.
3402         * cli/cli-utils.c (get_number_trailer): Handle '-$variable'.
3403
3404 2017-11-07  Pedro Alves  <palves@redhat.com>
3405
3406         * breakpoint.c (extract_bp_number_and_location): Change return
3407         type to void.  Throw error instead of warning.
3408         (enable_disable_command): Adjust.
3409
3410 2017-11-07  Xavier Roirand  <roirand@adacore.com>
3411             Pedro Alves  <palves@redhat.com>
3412
3413         * breakpoint.c (map_breakpoint_number_range): New, factored out
3414         from ...
3415         (map_breakpoint_numbers): ... here.
3416         (find_location_by_number): Change parameters from string to
3417         breakpoint number and location.
3418         (extract_bp_number_and_location): New function.
3419         (enable_disable_bp_num_loc)
3420         (enable_disable_breakpoint_location_range)
3421         (enable_disable_command): New functions, factored out ...
3422         (enable_command, disable_command): ... these functions, and
3423         adjusted to support ranges.
3424         * NEWS: Document enable/disable breakpoint location range feature.
3425
3426 2017-11-06  Luis Machado  <luis.machado@linaro.org>
3427
3428         * MAINTAINERS (Write After Approval): Update my e-mail address.
3429
3430 2017-11-06  Pedro Alves  <palves@redhat.com>
3431
3432         * gnu-nat.c (gnu_terminal_init): Delete.
3433         (gnu_target): Don't install gnu_terminal_init.
3434         * inflow.c (child_terminal_init_with_pgrp): Delete, merged with ...
3435         (child_terminal_init): ... this function.
3436
3437 2017-11-06  Pedro Alves  <palves@redhat.com>
3438
3439         * common/common.m4 (GDB_AC_COMMON): No longer check termio.h nor
3440         sgtty.h.
3441         * config.in, configure: Regenerate.
3442
3443 2017-11-06  Pedro Alves  <palves@redhat.com>
3444
3445         * event-top.c: Check SIGTSTP instead of STOP_SIGNAL thoughout.
3446         (async_init_signals): Adjust.
3447         (handle_stop_sig): Rename to ...
3448         (handle_sigtstp): ... this.
3449         (async_stop_sig): Rename to ...
3450         (async_sigtstp_handler): ... this, and delete STOP_SIGNAL !=
3451         SIGTSTP path.
3452         * event-top.h: Move signal.h include to the top.  Check SIGTSTP
3453         instead of STOP_SIGNAL thoughout.
3454         (handle_stop_sig): Rename to ...
3455         (handle_sigtstp): ... this.
3456         * top.c (command_line_input): Replace STOP_SIGNAL -> SIGTSTP.
3457
3458 2017-11-06  Pedro Alves  <palves@redhat.com>
3459
3460         * inflow.c (child_terminal_inferior, child_terminal_ours_1): No
3461         longer set flags twice in row.
3462
3463 2017-11-06  Pedro Alves  <palves@redhat.com>
3464
3465         * Makefile.in (SER_HARDWIRE): Update comment.
3466         (HFILES_NO_SRCDIR): Remove gdb_termios.h.
3467         * common/gdb_termios.h: Delete file.
3468         * common/job-control.c: Include termios.h and unistd.h instead of
3469         gdb_termios.h.
3470         (gdb_setpgid): Remove HAVE_TERMIOS || TIOCGPGRP preprocessor
3471         check.
3472         (have_job_control): Check HAVE_TERMIOS_H instead of HAVE_TERMIOS.
3473         Remove sgtty code.
3474         * configure.ac: No longer check for termio.h and sgtty.h.
3475         * configure: Regenerate.
3476         * inflow.c: Include termios.h instead of gdb_termios.h.  Replace
3477         PROCESS_GROUP_TYPE checks with HAVE_TERMIOS_H checks throughout.
3478         Replace PROCESS_GROUP_TYPE references with pid_t references
3479         throughout.
3480         (gdb_getpgrp): Delete.
3481         (set_initial_gdb_ttystate): Use tcgetpgrp instead of gdb_getpgrp.
3482         (child_terminal_inferior): Remove comment.  Remove sgtty code.
3483         (child_terminal_ours_1): Use tcgetpgrp directly instead of
3484         gdb_getpgrp.  Use serial_set_tty_state instead aof
3485         serial_noflush_set_tty_state.  Remove sgtty code.
3486         * inflow.h: Include unistd.h instead of gdb_termios.h.  Replace
3487         PROCESS_GROUP_TYPE check with HAVE_TERMIOS_H check.
3488         (inferior_process_group): Now returns pid_t.
3489         * ser-base.c (ser_base_noflush_set_tty_state): Delete.
3490         * ser-base.h (ser_base_noflush_set_tty_state): Delete.
3491         * ser-event.c (serial_event_ops): Update.
3492         * ser-go32.c (dos_noflush_set_tty_state): Delete.
3493         (dos_ops): Update.
3494         * ser-mingw.c (hardwire_ops, tty_ops, pipe_ops, tcp_ops): Update.
3495         * ser-pipe.c (pipe_ops): Update.
3496         * ser-tcp.c (tcp_ops): Update.
3497         * ser-unix.c: Include termios.h instead of gdb_termios.h.  Remove
3498         HAVE_TERMIOS checks.
3499         [HAVE_TERMIO] (struct hardwire_ttystate): Delete.
3500         [HAVE_SGTTY] (struct hardwire_ttystate): Delete.
3501         (get_tty_state, set_tty_state): Drop termio and sgtty code, and
3502         assume termios.
3503         (hardwire_noflush_set_tty_state): Delete.
3504         (hardwire_print_tty_state, hardwire_drain_output)
3505         (hardwire_flush_output, hardwire_flush_input)
3506         (hardwire_send_break, hardwire_raw, hardwire_setbaudrate)
3507         (hardwire_setstopbits, hardwire_setparity): Drop termio and sgtty
3508         code, and assume termios.
3509         (hardwire_ops): Update.
3510         (_initialize_ser_hardwire): Remove HAVE_TERMIOS check.
3511         * serial.c (serial_noflush_set_tty_state): Delete.
3512         * serial.h (serial_noflush_set_tty_state): Delete.
3513         (serial_ops::noflush_set_tty_state): Delete.
3514
3515 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3516
3517         * Makefile.in (SFILES): Remove doublest.c and dfp.c.
3518         (HFILES_NO_SRCDIR): Remove doublest.h and dfp.h.
3519         (COMMON_OBS): Remove doublest.o and dfp.o.
3520         Do not build target-float.c (instead of doublest.c)
3521         with -Wformat-nonliteral.
3522
3523         * doublest.c: Remove file.
3524         * doublest.h: Remove file.
3525         * dfp.c: Remove file.
3526         * dfp.h: Remove file.
3527
3528         * target-float.c: Do not include "doublest.h" and "dfp.h".
3529         (DOUBLEST): Move here from doublest.h.
3530         (enum float_kind): Likewise.
3531         (FLOATFORMAT_CHAR_BIT): Likewise.
3532         (FLOATFORMAT_LARGEST_BYTES): Likewise.
3533         (floatformat_totalsize_bytes): Move here from doublest.c.  Make static.
3534         (floatformat_precision): Likewise.
3535         (floatformat_normalize_byteorder, get_field, put_field): Likewise.
3536         (floatformat_is_negative, floatformat_classify, floatformat_mantissa):
3537         Likewise.
3538         (host_float_format, host_double_format, host_long_double_format):
3539         Likewise.
3540         (floatformat_to_string, floatformat_from_string): Likewise.
3541         (floatformat_to_doublest): Likewise.  Also, inline the original
3542         convert_floatformat_to_doublest.
3543         (floatformat_from_doublest): Likewise.  Also, inline the original
3544         convert_floatformat_from_doublest.
3545
3546         Include "dpd/decimal128.h", "dpd/decimal64.h", and "dpd/decimal32.h".
3547         (MAX_DECIMAL_STRING): Move here from dfp.c.
3548         (match_endianness): Likewise.
3549         (set_decnumber_context, decimal_check_errors): Likewise.
3550         (decimal_from_number, decimal_to_number): Likewise.
3551         (decimal_to_string, decimal_from_string): Likewise.  Make static.
3552         (decimal_from_longest, decimal_from_ulongest): Likewise.
3553         (decimal_to_longest): Likewise.
3554         (decimal_binop, decimal_is_zero, decimal_compare): Likewise.
3555         (decimal_convert): Likewise.
3556
3557 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3558
3559         * doublest.c: Do not include "gdbtypes.h".
3560         (extract_typed_floating): Remove.
3561         (store_typed_floating): Remove.
3562         (convert_typed_floating): Remove.
3563         * doublest.h (struct type): Remove.
3564         (DOUBLEST_PRINT_FORMAT): Remove.
3565         (DOUBLEST_SCAN_FORMAT): Remove.
3566         (extract_typed_floating): Remove.
3567         (store_typed_floating): Remove.
3568         (convert_typed_floating): Remove.
3569
3570         * dfp.c (decimal_from_doublest): Remove.
3571         (decimal_to_doublest): Remove.
3572         * dfp.h: Do not include "doublest.h".
3573         (decimal_from_doublest): Remove.
3574         (decimal_to_doublest): Remove.
3575
3576         * value.c: Do not include "doublest.h" and "dfp.h".
3577         (value_as_double): Remove.
3578         (unpack_double): Remove.
3579         (value_from_double): Remove.
3580         (value_from_decfloat): Remove.
3581         * value.h: Do not include "doublest.h".
3582         (value_as_double): Remove.
3583         (unpack_double): Remove.
3584         (value_from_double): Remove.
3585         (value_from_decfloat): Remove.
3586
3587 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3588
3589         * i386-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3590         (i386_extract_return_value): Use target_float_convert.
3591         (i386_store_return_value): Likewise.
3592         * i387-tdep.c (i387_register_to_value): Use target_float_convert.
3593         (i387_value_to_register): Likewise.
3594         * ia64-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3595         (ia64_register_to_value): Use target_float_convert.
3596         (ia64_value_to_register): Likewise.
3597         (ia64_extract_return_value): Likewise.
3598         (ia64_store_return_value): Likewise.
3599         (ia64_push_dummy_call): Likewise.
3600         * m68k-tdep.c: Include "target-float.h".
3601         (m68k_register_to_value): Use target_float_convert.
3602         (m68k_value_to_register): Likewise.
3603         (m68k_svr4_extract_return_value): Likewise.
3604         (m68k_svr4_store_return_value): Likewise.
3605         * ppc-sysv-tdep.c: Include "target-float.h".
3606         (ppc_sysv_abi_push_dummy_call): Use target_float_convert.
3607         (do_ppc_sysv_return_value): Likewise.
3608         (ppc64_sysv_abi_push_freg): Likewise.
3609         (ppc64_sysv_abi_return_value_base): Likewise.
3610         * rs6000-aix-tdep.c: Include "target-float.h".
3611         (rs6000_push_dummy_call): Use target_float_convert.
3612         (rs6000_return_value): Likewise.
3613         * rs6000-lynx178-tdep.c: Include "target-float.h".
3614         (rs6000_lynx178_push_dummy_call): Use target_float_convert.
3615         (rs6000_lynx178_return_value): Likewise.
3616         * rs6000-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3617         (rs6000_register_to_value): Use target_float_convert.
3618         (rs6000_value_to_register): Likewise.
3619         * arm-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3620         (arm_extract_return_value): Use target_float_convert.
3621         (arm_store_return_value): Likewise.
3622         * sh-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3623         (sh_register_convert_to_virtual): Use target_float_convert.
3624         (sh_register_convert_to_raw): Likewise.
3625         * sh64-tdep.c: Include "target-float.h".
3626         (sh64_extract_return_value): Use target_float_convert.
3627         (sh64_register_convert_to_virtual): Likewise.
3628         (sh64_register_convert_to_raw): Likewise.  Fix argument types.
3629
3630 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3631
3632         * target-float.c (floatformat_to_host_double): New function.
3633         (floatformat_from_host_double): Likewise.
3634         (target_float_to_host_double): Likewise.
3635         (target_float_from_host_double): Likewise.
3636         * target-float.h (target_float_to_host_double): Add prototype.
3637         (target_float_from_host_double): Likewise.
3638
3639         * guile/scm-value.c: Include "target-float.h".
3640         (gdbscm_value_to_real): Use target_float_to_host_double.
3641         Handle integer source values via value_as_long.
3642         * guile/scm-math.c: Include "target-float.h".  Do not include
3643         "doublest.h", "dfp.h", and "expression.h".
3644         (vlscm_convert_typed_number): Use target_float_from_host_double.
3645         (vlscm_convert_number): Likewise.
3646
3647         * python/py-value.c (valpy_float): Use target_float_to_host_double.
3648         (convert_value_from_python): Use target_float_from_host_double.
3649
3650 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3651
3652         * ada-lang.c (cast_to_fixed): Reimplement in target arithmetic.
3653         (cast_from_fixed): Likewise.
3654         (ada_scaling_type): New function.
3655         (ada_delta): Return value instead of DOUBLEST.  Perform target
3656         arithmetic instead of host arithmetic.
3657         (scaling_factor): Rename to ...
3658         (ada_scaling_factor) ... this.  Make non-static.  Return value instead
3659         of DOUBLEST.  Perform target arithmetic instead of host arithmetic.
3660         (ada_fixed_to_float): Remove.
3661         (ada_float_to_fixed): Remove.
3662         * ada-lang.h (ada_fixed_to_float): Remove.
3663         (ada_float_to_fixed): Remove.
3664         (ada_delta): Return value instead of DOUBLEST.
3665         (ada_scaling_factor): Add prototype.
3666
3667         * ada-typeprint.c: Include "target-float.h".
3668         (print_fixed_point_type): Perform target arithmetic instead of
3669         host arithmetic.
3670         * ada-valprint.c: Include "target-float.h".
3671         (ada_val_print_num): Perform target arithmetic instead of
3672         host arithmetic for fixed-point types.
3673
3674 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3675
3676         * target-float.c: Include <math.h>.
3677         (floatformat_binop): New function.
3678         (floatformat_compare): Likewise.
3679         (target_float_binop): Likewise.
3680         (target_float_compare): Likewise.
3681         * target-float.h: Include "expression.h".
3682         (target_float_binop): Add prototype.
3683         (target_float_compare): Likewise.
3684
3685         * valarith.c: Do not include "doublest.h" and "dfp.h".
3686         Include "common/byte-vector.h".
3687         (value_args_as_decimal): Remove, replace by ...
3688         (value_args_as_target_float): ... this function.  Handle both
3689         binary and decimal target floating-point formats.
3690         (scalar_binop): Handle both binary and decimal FP using
3691         value_args_as_target_float and target_float_binop.
3692         (value_equal): Handle both binary and decimal FP using
3693         value_args_as_target_float and target_float_compare.
3694         (value_less): Likewise.
3695         (value_pos): Handle all scalar types as simple copy.
3696         (value_neg): Handle all scalar types via BINOP_SUB from 0.
3697         * dfp.c (decimal_binop): Throw error instead of internal_error
3698         when called with an unsupported operation code.
3699
3700 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3701
3702         * target-float.c (target_float_to_string): New function.
3703         (target_float_from_string): New function.
3704         * target-float.h (target_float_to_string): Add prototype.
3705         (target_float_from_string): Add prototype.
3706
3707         * valprint.c: Include "target-float.h".  Do not include
3708         "doublest.h" and "dfp.h".
3709         (print_floating): Use target_float_to_string.
3710         * printcmd.c: Include "target-float.h".  Do not include "dfp.h".
3711         (printf_floating): Use target_float_to_string.
3712         * i387-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3713         (print_i387_value): Use target_float_to_string.
3714         * mips-tdep.c: Include "target-float.h".
3715         (mips_print_fp_register): Use target_float_to_string.
3716         * sh64-tdep.c: Include "target-float.h".
3717         (sh64_do_fp_register): Use target_float_to_string.
3718
3719         * parse.c: Include "target-float.h".  Do not include
3720         "doublest.h" and "dfp.h".
3721         (parse_float): Use target_float_from_string.
3722         * stabsread.c: Include "target-float.h".  Do not include "doublest.h".
3723         (define_symbol): Use target_float_from_string.
3724         * gdbarch-selftests.c: Include "target-float.h".
3725         (register_to_value_test): Use target_float_from_string.
3726
3727 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3728
3729         * Makefile.c (SFILES): Add target-float.c.
3730         (HFILES_NO_SRCDIR): Add target-float.h.
3731         (COMMON_OBS): Add target-float.o.
3732         * target-float.h: New file.
3733         * target-float.c: New file.
3734
3735         * doublest.c (floatformat_classify): Fix detection of float_zero.
3736
3737         * gdbtypes.c (is_floating_type): New function.
3738         * gdbtypes.h (is_floating_type): Add prototype.
3739
3740         * value.c: Do not include "floatformat.h".
3741         (unpack_double): Use target_float_is_valid.
3742         (is_floating_value): New function.
3743         * value.h (is_floating_value): Add prototype-
3744
3745         * valarith.c: Include "target-float.h".
3746         (value_logical_not): Use target_float_is_zero.
3747
3748         * python/py-value.c: Include "target-float.h".
3749         (valpy_nonzero): Use target_float_is_zero.
3750
3751 2017-11-04  Tom Tromey  <tom@tromey.com>
3752
3753         * h8300-tdep.c (h8300_push_dummy_call): Use std::vector.
3754
3755 2017-11-04  Tom Tromey  <tom@tromey.com>
3756
3757         * breakpoint.c (set_momentary_breakpoint): Return
3758         breakpoint_up.
3759         (until_break_command): Update.
3760         (new_until_break_fsm): Change argument types to
3761         breakpoint_up.
3762         (set_momentary_breakpoint_at_pc): Return breakpoint_up.
3763         (do_delete_breakpoint_cleanup, make_cleanup_delete_breakpoint):
3764         Remove.
3765         * infcmd.c (finish_forward): Update.
3766         * breakpoint.h (set_momentary_breakpoint)
3767         (set_momentary_breakpoint_at_pc): Return breakpoint_up.
3768         (make_cleanup_delete_breakpoint): Remove.
3769         (struct breakpoint_deleter): New.
3770         (breakpoint_up): New typedef.
3771         * infrun.c (insert_step_resume_breakpoint_at_sal_1): Update.
3772         (insert_exception_resume_breakpoint): Update.
3773         (insert_exception_resume_from_probe): Update.
3774         (insert_longjmp_resume_breakpoint): Update.
3775         * arm-linux-tdep.c (arm_linux_copy_svc): Update.
3776         * elfread.c (elf_gnu_ifunc_resolver_stop): Update.
3777         * infcall.c (call_function_by_hand_dummy): Update
3778
3779 2017-11-04  Tom Tromey  <tom@tromey.com>
3780
3781         * c-typeprint.c (c_type_print_base): Use gdb::unique_xmalloc_ptr.
3782
3783 2017-11-04  Tom Tromey  <tom@tromey.com>
3784
3785         * linux-tdep.c (linux_core_info_proc_mappings): Use
3786         gdb::def_vector.
3787         (linux_get_siginfo_data): Return gdb::byte_vector.  Remove
3788         "size" argument.
3789         (linux_corefile_thread): Update.
3790         (linux_make_corefile_notes): Remove unused variable.
3791
3792 2017-11-04  Tom Tromey  <tom@tromey.com>
3793
3794         * ppc-linux-tdep.c (ppc_linux_get_syscall_number): Use
3795         gdb::byte_vector.
3796
3797 2017-11-04  Tom Tromey  <tom@tromey.com>
3798
3799         * objfiles.c (do_free_objfile_cleanup): Remove.
3800         * compile/compile-object-load.c (compile_object_load): Update.
3801         * objfiles.h (make_cleanup_free_objfile): Remove.
3802
3803 2017-11-04  Tom Tromey  <tom@tromey.com>
3804
3805         * sparc64-tdep.c (do_examine): Use gdb::def_vector.
3806         (adi_read_versions): Change "tags" to "gdb_byte *".
3807         (adi_print_versions): Likewise.
3808
3809 2017-11-04  Tom Tromey  <tom@tromey.com>
3810
3811         * breakpoint.c
3812         (scoped_rbreak_breakpoints::scoped_rbreak_breakpoints): Rename
3813         from start_rbreak_breakpoints.
3814         (scoped_rbreak_breakpoints): Rename from end_rbreak_breakpoints.
3815         * breakpoint.h (class scoped_rbreak_breakpoints): New.
3816         (start_rbreak_breakpoints, end_rbreak_breakpoints): Remove.
3817         * symtab.c (do_end_rbreak_breakpoints): Remove.
3818         (rbreak_command): Use scoped_rbreak_breakpoints, std::string.
3819
3820 2017-11-04  Tom Tromey  <tom@tromey.com>
3821
3822         * cp-namespace.c (reset_directive_searched): Remove.
3823         (cp_lookup_symbol_via_imports): Use scoped_restore.
3824         * cp-support.c (reset_directive_searched): Remove.
3825         (make_symbol_overload_list_using): Use scoped_restore.
3826         * d-namespace.c (d_lookup_symbol_imports): Use scoped_restore.
3827         (reset_directive_searched): Remove.
3828
3829 2017-11-04  Tom Tromey  <tom@tromey.com>
3830
3831         * symfile.c (find_separate_debug_file_by_debuglink): Use
3832         unique_xmalloc_ptr.
3833
3834 2017-11-04  Tom Tromey  <tom@tromey.com>
3835
3836         * compile/compile-loc2c.c (compute_stack_depth_worker): Change
3837         type of "info".
3838         (compute_stack_depth): Likewise.
3839         (do_compile_dwarf_expr_to_c): Use std::vector.
3840
3841 2017-11-04  Tom Tromey  <tom@tromey.com>
3842
3843         * compile/compile-object-load.c (link_callbacks_einfo): Use
3844         std::string.
3845
3846 2017-11-04  Tom Tromey  <tom@tromey.com>
3847
3848         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
3849         Use scoped_free_pendings.
3850         * dbxread.c (dbx_symfile_read, dbx_psymtab_to_symtab_1): Use
3851         scoped_free_pendings.
3852         * xcoffread.c (xcoff_psymtab_to_symtab_1): Use scoped_free_pendings.
3853         (xcoff_initial_scan): Likewise.
3854         * buildsym.c (reset_symtab_globals): Update comment.
3855         (scoped_free_pendings): Rename from really_free_pendings.
3856         (prepare_for_building): Update comment.
3857         (buildsym_init): Likewise.
3858         * buildsym.h (class scoped_free_pendings): New class.
3859         (really_free_pendings): Don't declare.
3860
3861 2017-11-03  Ulrich Weigand  <uweigand@de.ibm.com>
3862
3863         * doublest.c (convert_doublest_to_floatformat): Fix uninitialized
3864         output when converting a zero value to a special byteorder format.
3865
3866 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3867
3868         * frame.c (do_frame_register_read): Remove aspace.
3869         * jit.c (jit_frame_sniffer): Likwise.
3870         * ppc-linux-tdep.c (ppu2spu_sniffer): Likewise.
3871         * regcache.c (regcache::regcache): Pass nullptr.
3872         (regcache_print): Caller updated.
3873         * regcache.h (regcache::regcache): Remove one constructor
3874         parameter aspace.
3875
3876 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3877
3878         * regcache.h (regcache) <m_readonly_p>: Change it to const bool.
3879
3880 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3881
3882         * breakpoint.c (insert_single_step_breakpoints): Update.
3883         * frame.c (struct frame_info) <aspace>: Add const.
3884         (frame_save_as_regcache): Add const.
3885         (get_frame_address_space): Return const address_space *.
3886         * frame.h (get_frame_address_space): Update declaration.
3887         * infrun.c (struct step_over_info) <aspace>: Add const.
3888         (set_step_over_info): Make aspace const.
3889         (displaced_step_prepare_throw): Change variable const.
3890         (resume): Likewise.
3891         (proceed): Likewise.
3892         (adjust_pc_after_break): Likewise.
3893         (save_waitstatus): Likewise.
3894         (handle_signal_stop): Likewise.
3895         (keep_going_pass_signal): Likewise.
3896         * jit.c (jit_frame_sniffer): Add const.
3897         * mips-tdep.c (mips_single_step_through_delay): Likewise.
3898         * ppc-linux-tdep.c (ppu2spu_sniffer): Likewise.
3899         * record-full.c (record_full_wait_1): Likewise.
3900         * regcache.c (regcache::regcache): Change parameter to const.
3901         * regcache.h (regcache::regcache): Likewise.
3902         (regcache::aspace): Return const address_space *.
3903         (regcache) <m_aspace>: Add const.
3904
3905 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3906
3907         * darwin-nat.c (cancel_breakpoint): Use regcache->aspace ().
3908         * frame.c (create_sentinel_frame): Likewise.
3909         * infrun.c (displaced_step_prepare_throw): Likewise.
3910         (resume): Likewise.
3911         (thread_still_needs_step_over_bp): Likewise.
3912         (proceed): Likewise.
3913         (do_target_wait): Likewise.
3914         (adjust_pc_after_break): Likewise.
3915         (handle_syscall_event): Likewise.
3916         (save_waitstatus): Likewise.
3917         (handle_inferior_event_1): Likewise.
3918         (handle_signal_stop): Likewise.
3919         (keep_going_pass_signal): Likewise.
3920         * linux-nat.c (status_callback): Likewise.
3921         (save_stop_reason): Likewise.
3922         (resume_stopped_resumed_lwps): Likewise.
3923         * record-full.c (record_full_exec_insn): Likewise.
3924         (record_full_wait_1): Likewise.
3925         * regcache.c (get_regcache_aspace): Remove.
3926         * regcache.h (get_regcache_aspace): Remove.
3927
3928 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3929
3930         * regcache.c (struct regcache_descr) <nr_raw_registers>: Remove.
3931         (init_regcache_descr): Use gdbarch_num_regs.
3932         (regcache::regcache): Likewise.
3933         (regcache::get_register_status): Likewise.
3934         (regcache::assert_raw_regnum): Likewise.
3935         (regcache::cooked_read): Likewise.
3936         (regcache::cooked_read_value): Likewise.
3937         (regcache::cooked_write): Likewise.
3938         (regcache::dump): Likewise.
3939         (regcache::num_raw_registers): New method.
3940         * regcache.h (class regcache) <num_raw_registers>: New.
3941
3942 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3943
3944         * regcache.c (regcache::assert_regnum): New method.
3945         (regcache::invalidate): Call assert_regnum.
3946         (regcache::raw_update): Likewise.
3947         (regcache::raw_write): Likewise.
3948         (regcache::raw_read_part): Likewise.
3949         (regcache::raw_write_part): Likewise.
3950         (regcache::raw_supply): Likewise.
3951         (regcache::raw_supply_integer): Likewise.
3952         (regcache::raw_supply_zeroed): Likewise.
3953         (regcache::raw_collect): Likewise.
3954         (regcache::raw_collect_integer): Likewise.
3955         * regcache.h (regcache::assert_regnum): Declare.
3956
3957 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3958
3959         * regcache.c (regcache::dump): Remove code.
3960
3961 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3962
3963         * regcache.c (struct regcache_descr) <sizeof_raw_register_status>:
3964         Remove.
3965         <sizeof_cooked_register_status>: Remove.
3966         (init_regcache_descr): Update.
3967         (regcache::regcache): Use nr_cooked_registers and nr_raw_registers.
3968         (regcache::save): Likewise.
3969         (regcache::dump): Likewise.
3970
3971 2017-11-01  James Bowman  <james.bowman@ftdichip.com>
3972
3973         * ft32-tdep.c (ft32_fetch_instruction): New function.
3974         (ft32_analyze_prologue): Use ft32_fetch_instruction().
3975
3976 2017-10-31  Simon Marchi  <simon.marchi@polymtl.ca>
3977
3978         * cli/cli-script.c (execute_control_command): Rename to ...
3979         (execute_control_command_1): ... this.
3980         (execute_control_command): New function.
3981
3982 2017-10-31  Simon Marchi  <simon.marchi@ericsson.com>
3983
3984         * tracepoint.c (tfind_command): Remove const_cast.
3985
3986 2017-10-30  Mike Gulick  <mgulick@mathworks.com>
3987
3988         * Makefile.in (HFILES_NO_SRCDIR): Remove reference to gdb.h.
3989
3990 2017-10-30  Simon Marchi  <simon.marchi@ericsson.com>
3991
3992         * common/common-utils.h (in_inclusive_range): New function.
3993         * arm-tdep.c (arm_record_extension_space): Use
3994         in_inclusive_range.
3995         (thumb_record_ld_st_reg_offset): Use in_inclusive_range.
3996         * cris-tdep.c (cris_spec_reg_applicable): Use
3997         in_inclusive_range.
3998
3999 2017-10-30  Pedro Alves  <palves@redhat.com>
4000             Simon Marchi <simon.marchi@ericsson.com>
4001
4002         * remote.c (remote_set_syscall_catchpoint): Build a std::string
4003         instead of a gdb::unique_xmalloc_ptr, using string_appendf.
4004
4005 2017-10-30  Pedro Alves  <palves@redhat.com>
4006
4007         * common/common-utils.c (string_appendf, string_vappendf): New
4008         functions.
4009         * common/common-utils.h (string_appendf, string_vappendf): New
4010         declarations.
4011         * unittests/common-utils-selftests.c (string_appendf_func)
4012         (test_appendf_func, string_vappendf_wrapper, string_appendf_tests)
4013         (string_vappendf_tests): New functions.
4014         (_initialize_common_utils_selftests): Register "string_appendf" and
4015         "string_vappendf tests".
4016
4017 2017-10-30  Pedro Alves  <palves@redhat.com>
4018
4019         * unittests/common-utils-selftests.c (format_func): New typedef.
4020         (string_printf_tests, string_vprintf_tests): Tests factored out
4021         and merged to ...
4022         (test_format_func): ... this new function.
4023         (string_printf_tests, string_vprintf_tests): Reimplement on top of
4024         test_format_func.
4025
4026 2017-10-29  Simon Marchi  <simon.marchi@ericsson.com>
4027
4028         * darwin-nat.c: Remove include of gdb.h.
4029
4030 2017-10-29  Simon Marchi  <simon.marchi@ericsson.com>
4031
4032         * xtensa-xtregs.c: Fix formatting issues.
4033
4034 2017-10-29  Simon Marchi  <simon.marchi@ericsson.com>
4035
4036         * xtensa-xtregs.c (xtensa_regtable_t) <name>: Constify.
4037
4038 2017-10-28  Maksim Dzabraev  <dzabraew@gmail.com>
4039
4040         PR python/21213
4041         * python/py-infthread.c (thpy_get_inferior): Increment reference
4042         of inferior before returning it.
4043
4044 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4045
4046         * unittests/common-utils-selftests.c (format): Add
4047         ATTRIBUTE_PRINTF.
4048
4049 2017-10-27  Simon Marchi  <simon.marchi@polymtl.ca>
4050
4051         * xml-syscall.c (struct syscall_desc): Add constructor.
4052         <name>: Change type to std::string.
4053         (syscall_desc_up): New typedef.
4054         (syscall_desc_p): Remove typeder.
4055         (DEF_VEC_P(syscall_desc_p)): Remove.
4056         (struct syscall_group_desc): Add constructor.
4057         <name>: Change type to std::string.
4058         <syscalls>: Change type to std::vector.
4059         (syscall_group_desc_up): New typedef.
4060         (syscall_group_desc_p): Remove typedef.
4061         (DEF_VEC_P(syscall_group_desc_p)): Remove.
4062         (struct syscalls_info) <syscalls>: Change type to std::vector of
4063         unique_ptr.
4064         <groups>: Likewise.
4065         <my_gdb_datadir>: Change type to std::string.
4066         (syscalls_info_up): New typedef.
4067         (allocate_syscalls_info): Remove.
4068         (syscalls_info_free_syscalls_desc): Remove.
4069         (syscalls_info_free_syscall_group_desc): Remove.
4070         (free_syscalls_info): Remove.
4071         (make_cleanup_free_syscalls_info): Remove.
4072         (syscall_group_create_syscall_group_desc): Adjust.
4073         (syscall_group_add_syscall): Adjust.
4074         (syscall_create_syscall_desc): Adjust.
4075         (syscall_parse_xml): Adjust, use unique_ptr instead of cleanup.
4076         (init_syscalls_info): Adjust.
4077         (syscall_group_get_group_by_name): Adjust.
4078         (xml_get_syscall_number): Adjust.
4079         (xml_get_syscall_name): Adjust.
4080         (xml_list_of_syscalls): Adjust.
4081         (xml_list_syscalls_by_group): Adjust.
4082         (xml_list_of_groups): Adjust.
4083
4084 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4085
4086         * probe.h: Don't include gdb_vecs.h.
4087         (DEF_VEC_P (probe_p)): Remove.
4088         (find_probes_in_objfile): Return an std::vector.
4089         * probe.c (find_probes_in_objfile): Likewise.
4090         * breakpoint.c (breakpoint_objfile_data)
4091         <longjmp_probes>: Change type to std::vector.
4092         <exception_probes>: Likewise.
4093         (free_breakpoint_probes): Don't manually free vectors.
4094         (create_longjmp_master_breakpoint): Adjust.
4095         (create_exception_master_breakpoint): Adjust.
4096         * solib-svr4.c (svr4_create_probe_breakpoints): Change
4097         parameter type, adjust.
4098         (svr4_create_solib_event_breakpoints): Adjust.
4099
4100 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4101
4102         * breakpoint.c (breakpoint_objfile_data): Initialize fields.
4103         (get_breakpoint_objfile_data): Allocate breakpoint_objfile_data
4104         with new.
4105         (free_breakpoint_probes): Rename to ...
4106         (free_breakpoint_objfile_data): ... this, and call delete on
4107         bp_objfile_data..
4108
4109 2017-10-27  Simon Marchi  <simon.marchi@polymtl.ca>
4110
4111         * auto-load.c: Don't include gdb_vecs.h, include algorithm.
4112         (loaded_script_ptr): Remove typedef.
4113         (DEF_VEC_P (loaded_script_ptr)): Remove.
4114         (struct collect_matching_scripts_data): Add constructor.
4115         <scripts_p>: Change type to (pointer to) std::vector.
4116         (collect_matching_scripts_data): Adjust.
4117         (sort_scripts_by_name): Make suitable for std::sort.
4118         (print_scripts): Don't sort vector, adjust to std::vector.
4119         (auto_load_info_scripts): Sort vectors, adjust to std::vector.
4120
4121 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4122
4123         * symfile.c (filename_language): Make struct, not typedef.  Add
4124         constructor.
4125         <ext>: Change type to std::string.
4126         (DEF_VEC_O (filename_language)): Remove.
4127         (filename_language_table): Change type to std::vector.
4128         (add_filename_language): Adjust.
4129         (set_ext_lang_command): Adjust.
4130         (info_ext_lang_command): Adjust.
4131         (deduce_language_from_filename): Adjust.
4132         (class scoped_restore_filename_language_table): Remove.
4133         (test_filename_language): Use scoped_restore.
4134         (test_set_ext_lang_command): Use scoped_restore, adjust to
4135         std::vector change.
4136
4137 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4138
4139         * symfile.c: Include selftest.h.
4140         (class scoped_restore_filename_language_table): New.
4141         (test_filename_language): New test.
4142         (test_set_ext_lang_command): New test.
4143         (_initialize_symfile): Register tests.
4144
4145 2017-10-27  Keith Seitz  <keiths@redhat.com>
4146
4147         * breakpoint.c (print_breakpoint_location): Use the symbol saved
4148         in the bp_location, falling back to find_pc_sect_function when
4149         needed.
4150         (add_location_to_breakpoint): Save sal->symbol.
4151         * breakpoint.h (struct bp_location) <symbol>: New field.
4152         * symtab.c (find_function_start_sal): Save the symbol into the SaL.
4153         * symtab.h (struct symtab_and_line) <symbol>: New field.
4154
4155 2017-10-26  Patrick Frants  <osscontribute@gmail.com>
4156
4157         PR gdb/13669
4158         * cp-valprint.c (cp_print_value_fields): Use obstack_blank_fast
4159         to rewind obstack.
4160
4161 2017-10-26  Pedro Alves  <palves@redhat.com>
4162
4163         * remote.c (remote_async_terminal_ours_p): Delete.
4164         (remote_open_1, remote_terminal_inferior, remote_terminal_ours):
4165         Remove references to 'remote_async_terminal_ours_p'.
4166
4167 2017-10-26  Yao Qi  <yao.qi@linaro.org>
4168
4169         * breakpoint.h (regular_breakpoint_inserted_here_p): Remove.
4170
4171 2017-10-26  Yao Qi  <yao.qi@linaro.org>
4172
4173         * break-catch-sig.c (signal_catchpoint_breakpoint_hit): Make
4174         aspace const.
4175         * break-catch-syscall.c (breakpoint_hit_catch_syscall):
4176         Likewise.
4177         * breakpoint.c (bpstat_check_location): Remove cast.
4178         (breakpoint_hit_catch_fork): Make aspce const.
4179         (breakpoint_hit_catch_solib): Likewise.
4180         (breakpoint_hit_catch_exec): Likewise.
4181         (breakpoint_hit_ranged_breakpoint): Likewise.
4182         (breakpoint_hit_watchpoint): Likewise.
4183         (base_breakpoint_breakpoint_hit): Likewise.
4184         (bkpt_breakpoint_hit): Likewise.
4185         (dprintf_breakpoint_hit): Likewise.
4186         (tracepoint_breakpoint_hit): Likewise.
4187         * breakpoint.h (breakpoint_ops) <breakpoint_hit>: Likewise.
4188
4189 2017-10-26  Yao Qi  <yao.qi@linaro.org>
4190
4191         * breakpoint.c (breakpoint_location_address_match): Change
4192         "struct address_space *" to "const address_space".
4193         (breakpoint_location_address_range_overlap): Likewise.
4194         (breakpoint_here_p): Likewise.
4195         (breakpoint_in_range_p): Likewise.
4196         (moribund_breakpoint_here_p): Likewise.
4197         (bp_location_inserted_here_p): Likewise.
4198         (software_breakpoint_inserted_here_p): Likewise.
4199         (hardware_breakpoint_inserted_here_p): Likewise.
4200         (hardware_watchpoint_inserted_in_range): Likewise.
4201         (bpstat_check_location): Likewise.
4202         (bpstat_stop_status): Likewise.
4203         (breakpoint_address_match): Likewise.
4204         (breakpoint_address_match_range): Likewise.
4205         (breakpoint_location_address_match): Likewise.
4206         (breakpoint_location_address_range_overlap): Likewise.
4207         (insert_single_step_breakpoint): Likewise.
4208         (breakpoint_has_location_inserted_here): Likewise.
4209         (single_step_breakpoint_inserted_here_p): Likewise.
4210         (pc_at_non_inline_function): Likewise.
4211         * breakpoint.h (bpstat_stop_status): Update declaration.
4212         (breakpoint_here_p): Likewise.
4213         (breakpoint_in_range_p): Likewise.
4214         (moribund_breakpoint_here_p): Likewise.
4215         (breakpoint_inserted_here_p): Likewise.
4216         (software_breakpoint_inserted_here_p): Likewise.
4217         (hardware_breakpoint_inserted_here_p): Likewise.
4218         (breakpoint_has_location_inserted_here): Likewise.
4219         (single_step_breakpoint_inserted_here_p): Likewise.
4220         (hardware_watchpoint_inserted_in_range): Likewise.
4221         (breakpoint_address_match): Likewise.
4222         (insert_single_step_breakpoint): Likewise.
4223         (pc_at_non_inline_function): Likewise.
4224         * gdbthread.h (thread_has_single_step_breakpoint_here): Likewise.
4225         * record.c (record_check_stopped_by_breakpoint): Likewise.
4226         * record.h (record_check_stopped_by_breakpoint): Likewise.
4227         * thread.c (thread_has_single_step_breakpoint_here): Likewise.
4228
4229 2017-10-25  Yao Qi  <yao.qi@linaro.org>
4230
4231         * aarch32-linux-nat.c (aarch32_gp_regcache_supply): Use
4232         regcache->arch () instead get_regcache_arch.
4233         * aarch64-fbsd-nat.c (aarch64_fbsd_fetch_inferior_registers):
4234         Likewise.
4235         (aarch64_fbsd_store_inferior_registers): Likewise.
4236         * aarch64-linux-nat.c (fetch_gregs_from_thread): Likewise.
4237         (store_gregs_to_thread): Likewise.
4238         (fetch_fpregs_from_thread): Likewise.
4239         (store_fpregs_to_thread): Likewise.
4240         * aarch64-tdep.c (aarch64_extract_return_value): Likewise.
4241         (aarch64_store_return_value): Likewise.
4242         (aarch64_software_single_step): Likewise.
4243         * aix-thread.c (aix_thread_wait): Likewise.
4244         (supply_reg32): Likewise.
4245         (supply_sprs64): Likewise.
4246         (supply_sprs32): Likewise.
4247         (fill_gprs64): Likewise.
4248         (fill_gprs32): Likewise.
4249         (fill_sprs64): Likewise.
4250         (fill_sprs32): Likewise.
4251         (store_regs_user_thread): Likewise.
4252         (store_regs_kernel_thread): Likewise.
4253         * alpha-bsd-nat.c (alphabsd_fetch_inferior_registers): Likewise.
4254         (alphabsd_store_inferior_registers): Likewise.
4255         * alpha-tdep.c (alpha_extract_return_value): Likewise.
4256         (alpha_store_return_value): Likewise.
4257         (alpha_deal_with_atomic_sequence): Likewise.
4258         (alpha_next_pc): Likewise.
4259         (alpha_software_single_step): Likewise.
4260         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers): Likewise.
4261         (amd64bsd_store_inferior_registers): Likewise.
4262         * amd64-linux-nat.c (amd64_linux_fetch_inferior_registers):
4263         Likewise.
4264         (amd64_linux_store_inferior_registers): Likewise.
4265         * amd64-nat.c (amd64_supply_native_gregset): Likewise.
4266         (amd64_collect_native_gregset): Likewise.
4267         * amd64-obsd-tdep.c (amd64obsd_supply_uthread): Likewise.
4268         (amd64obsd_collect_uthread): Likewise.
4269         * amd64-tdep.c (amd64_supply_fpregset): Likewise.
4270         (amd64_collect_fpregset): Likewise.
4271         (amd64_supply_fxsave): Likewise.
4272         (amd64_supply_xsave): Likewise.
4273         (amd64_collect_fxsave): Likewise.
4274         (amd64_collect_xsave): Likewise.
4275         * arc-tdep.c (arc_write_pc): Likewise.
4276         * arch-utils.c (default_skip_permanent_breakpoint): Likewise.
4277         * arm-fbsd-nat.c (arm_fbsd_fetch_inferior_registers): Likewise.
4278         (arm_fbsd_store_inferior_registers): Likewise.
4279         * arm-linux-nat.c (fetch_vfp_regs): Likewise.
4280         (store_vfp_regs): Likewise.
4281         (arm_linux_fetch_inferior_registers): Likewise.
4282         (arm_linux_store_inferior_registers): Likewise.
4283         * arm-linux-tdep.c (arm_linux_supply_gregset): Likewise.
4284         (arm_linux_sigreturn_next_pc): Likewise.
4285         (arm_linux_get_next_pcs_syscall_next_pc): Likewise.
4286         * arm-nbsd-nat.c (arm_supply_gregset): Likewise.
4287         (fetch_register): Likewise.
4288         (store_register): Likewise.
4289         * arm-tdep.c (arm_is_thumb): Likewise.
4290         (displaced_in_arm_mode): Likewise.
4291         (bx_write_pc): Likewise.
4292         (arm_get_next_pcs_addr_bits_remove): Likewise.
4293         (arm_software_single_step): Likewise.
4294         (arm_extract_return_value): Likewise.
4295         (arm_store_return_value): Likewise.
4296         (arm_write_pc): Likewise.
4297         * bfin-tdep.c (bfin_extract_return_value): Likewise.
4298         * bsd-uthread.c (bsd_uthread_fetch_registers): Likewise.
4299         (bsd_uthread_store_registers): Likewise.
4300         * core-regset.c (fetch_core_registers): Likewise.
4301         * corelow.c (get_core_registers): Likewise.
4302         * cris-tdep.c (cris_store_return_value): Likewise.
4303         (cris_extract_return_value): Likewise.
4304         (find_step_target): Likewise.
4305         (find_step_target): Likewise.
4306         (cris_software_single_step): Likewise.
4307         * ctf.c (ctf_fetch_registers): Likewise.
4308         * darwin-nat.c (cancel_breakpoint): Likewise.
4309         * fbsd-tdep.c (fbsd_collect_thread_registers): Likewise.
4310         * frv-tdep.c (frv_extract_return_value): Likewise.
4311         * ft32-tdep.c (ft32_store_return_value): Likewise.
4312         (ft32_extract_return_value): Likewise.
4313         * go32-nat.c (fetch_register): Likewise.
4314         (go32_fetch_registers): Likewise.
4315         (go32_store_registers): Likewise.
4316         (store_register): Likewise.
4317         * h8300-tdep.c (h8300_extract_return_value): Likewise.
4318         (h8300_store_return_value): Likewise.
4319         * hppa-linux-nat.c (fetch_register): Likewise.
4320         (store_register): Likewise.
4321         (hppa_linux_fetch_inferior_registers): Likewise.
4322         (hppa_linux_store_inferior_registers): Likewise.
4323         * i386-darwin-nat.c (i386_darwin_fetch_inferior_registers): Likewise.
4324         (i386_darwin_store_inferior_registers): Likewise.
4325         * i386-gnu-nat.c (gnu_fetch_registers): Likewise.
4326         (gnu_store_registers): Likewise.
4327         * i386-linux-nat.c (fetch_register): Likewise.
4328         (store_register): Likewise.
4329         (supply_gregset): Likewise.
4330         (fill_gregset): Likewise.
4331         (i386_linux_fetch_inferior_registers): Likewise.
4332         (i386_linux_store_inferior_registers): Likewise.
4333         (i386_linux_resume): Likewise.
4334         * i386-linux-tdep.c (i386_linux_get_syscall_number_from_regcache):
4335         Likewise.
4336         * i386-nto-tdep.c (i386nto_supply_gregset): Likewise.
4337         * i386-obsd-nat.c (i386obsd_supply_pcb): Likewise.
4338         * i386-obsd-tdep.c (i386obsd_supply_uthread): Likewise.
4339         (i386obsd_collect_uthread): Likewise.
4340         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
4341         (i386_supply_gregset): Likewise.
4342         (i386_collect_gregset): Likewise.
4343         (i386_supply_fpregset): Likewise.
4344         (i386_collect_fpregset): Likewise.
4345         (i386_mpx_bd_base): Likewise.
4346         * i386-v4-nat.c (supply_fpregset): Likewise.
4347         (fill_fpregset): Likewise.
4348         * i387-tdep.c (i387_supply_fsave): Likewise.
4349         (i387_collect_fsave): Likewise.
4350         (i387_supply_fxsave): Likewise.
4351         (i387_collect_fxsave): Likewise.
4352         (i387_supply_xsave): Likewise.
4353         (i387_collect_xsave): Likewise.
4354         * ia64-linux-nat.c (ia64_linux_fetch_registers): Likewise.
4355         (ia64_linux_store_registers): Likewise.
4356         * ia64-tdep.c (ia64_access_rse_reg): Likewise.
4357         (ia64_extract_return_value): Likewise.
4358         (ia64_store_return_value): Likewise.
4359         (find_func_descr): Likewise.
4360         * inf-child.c (inf_child_fetch_inferior_registers): Likewise.
4361         * inf-ptrace.c (inf_ptrace_fetch_registers): Likewise.
4362         (inf_ptrace_store_registers): Likewise.
4363         * infrun.c (use_displaced_stepping): Likewise.
4364         (displaced_step_prepare_throw): Likewise.
4365         (resume): Likewise.
4366         (proceed): Likewise.
4367         (do_target_wait): Likewise.
4368         (adjust_pc_after_break): Likewise.
4369         (handle_inferior_event_1): Likewise.
4370         (handle_signal_stop): Likewise.
4371         (save_infcall_suspend_state): Likewise.
4372         (restore_infcall_suspend_state): Likewise.
4373         * iq2000-tdep.c (iq2000_extract_return_value): Likewise.
4374         * jit.c (jit_frame_prev_register): Likewise.
4375         * linux-nat.c (save_stop_reason): Likewise.
4376         (linux_nat_wait_1): Likewise.
4377         (resume_stopped_resumed_lwps): Likewise.
4378         * linux-record.c (record_linux_sockaddr): Likewise.
4379         (record_linux_msghdr): Likewise.
4380         (record_linux_system_call): Likewise.
4381         * linux-tdep.c (linux_collect_thread_registers): Likewise.
4382         * lm32-tdep.c (lm32_extract_return_value): Likewise.
4383         (lm32_store_return_value): Likewise.
4384         * m32c-tdep.c (m32c_read_flg): Likewise.
4385         (m32c_pseudo_register_read): Likewise.
4386         (m32c_pseudo_register_write): Likewise.
4387         * m32r-linux-tdep.c (m32r_linux_supply_gregset): Likewise.
4388         (m32r_linux_collect_gregset): Likewise.
4389         * m32r-tdep.c (m32r_store_return_value): Likewise.
4390         (m32r_extract_return_value): Likewise.
4391         * m68k-bsd-nat.c (m68kbsd_supply_fpregset): Likewise.
4392         (m68kbsd_collect_fpregset): Likewise.
4393         * m68k-bsd-tdep.c (m68kbsd_supply_fpregset): Likewise.
4394         * m68k-linux-nat.c (fetch_register): Likewise.
4395         (old_fetch_inferior_registers): Likewise.
4396         (old_store_inferior_registers): Likewise.
4397         (store_regs): Likewise.
4398         * m68k-tdep.c (m68k_svr4_extract_return_value): Likewise.
4399         (m68k_svr4_store_return_value): Likewise.
4400         * m88k-tdep.c (m88k_store_arguments): Likewise.
4401         * mi/mi-main.c (mi_cmd_data_list_changed_registers): Likewise.
4402         (mi_cmd_data_write_register_values): Likewise.
4403         * mips-fbsd-nat.c (mips_fbsd_fetch_inferior_registers): Likewise.
4404         (mips_fbsd_store_inferior_registers): Likewise.
4405         * mips-fbsd-tdep.c (mips_fbsd_supply_fpregs): Likewise.
4406         (mips_fbsd_supply_gregs): Likewise.
4407         (mips_fbsd_collect_fpregs): Likewise.
4408         (mips_fbsd_collect_gregs): Likewise.
4409         (mips_fbsd_supply_fpregset): Likewise.
4410         (mips_fbsd_collect_fpregset): Likewise.
4411         (mips_fbsd_supply_gregset): Likewise.
4412         (mips_fbsd_collect_gregset): Likewise.
4413         * mips-linux-nat.c (supply_gregset): Likewise.
4414         (fill_gregset): Likewise.
4415         (supply_fpregset): Likewise.
4416         (fill_fpregset): Likewise.
4417         * mips-linux-tdep.c (mips_supply_gregset): Likewise.
4418         (mips_fill_gregset): Likewise.
4419         (mips_supply_fpregset): Likewise.
4420         (mips_fill_fpregset): Likewise.
4421         (mips64_supply_gregset): Likewise.
4422         (micromips_linux_sigframe_validate): Likewise.
4423         * mips-nbsd-nat.c (mipsnbsd_fetch_inferior_registers): Likewise.
4424         (mipsnbsd_fetch_inferior_registers): Likewise.
4425         (mipsnbsd_store_inferior_registers): Likewise.
4426         * mips-nbsd-tdep.c (mipsnbsd_supply_fpregset): Likewise.
4427         (mipsnbsd_supply_gregset): Likewise.
4428         (mipsnbsd_iterate_over_regset_sections): Likewise.
4429         (mipsnbsd_supply_reg): Likewise.
4430         (mipsnbsd_supply_fpreg): Likewise.
4431         * mips-tdep.c (mips_in_frame_stub): Likewise.
4432         (mips_dummy_id): Likewise.
4433         (is_octeon_bbit_op): Likewise.
4434         (micromips_bc1_pc): Likewise.
4435         (extended_mips16_next_pc): Likewise.
4436         (mips16_next_pc): Likewise.
4437         (deal_with_atomic_sequence): Likewise.
4438         * moxie-tdep.c (moxie_process_readu): Likewise.
4439         * nios2-tdep.c (nios2_get_next_pc): Likewise.
4440         * nto-procfs.c (procfs_store_registers): Likewise.
4441         * ppc-fbsd-nat.c (ppcfbsd_fetch_inferior_registers): Likewise.
4442         (ppcfbsd_store_inferior_registers): Likewise.
4443         * ppc-linux-nat.c (fetch_vsx_register): Likewise.
4444         (fetch_altivec_register): Likewise.
4445         (get_spe_registers): Likewise.
4446         (fetch_spe_register): Likewise.
4447         (fetch_altivec_registers): Likewise.
4448         (fetch_all_gp_regs): Likewise.
4449         (fetch_all_fp_regs): Likewise.
4450         (store_vsx_register): Likewise.
4451         (store_altivec_register): Likewise.
4452         (set_spe_registers): Likewise.
4453         (store_spe_register): Likewise.
4454         (store_altivec_registers): Likewise.
4455         (store_all_gp_regs): Likewise.
4456         (store_all_fp_regs): Likewise.
4457         * ppc-linux-tdep.c (ppc_linux_supply_gregset): Likewise.
4458         (ppc_linux_collect_gregset): Likewise.
4459         (ppc_canonicalize_syscall): Likewise.
4460         (ppc_linux_record_signal): Likewise.
4461         (ppu2spu_prev_register): Likewise.
4462         * ppc-nbsd-nat.c (ppcnbsd_supply_pcb): Likewise.
4463         * ppc-obsd-nat.c (ppcobsd_fetch_registers): Likewise.
4464         (ppcobsd_store_registers): Likewise.
4465         * ppc-ravenscar-thread.c (ppc_ravenscar_generic_fetch_registers):
4466         Likewise.
4467         (ppc_ravenscar_generic_store_registers): Likewise.
4468         * procfs.c (procfs_fetch_registers): Likewise.
4469         (procfs_store_registers): Likewise.
4470         * ravenscar-thread.c (ravenscar_fetch_registers): Likewise.
4471         (ravenscar_store_registers): Likewise.
4472         (ravenscar_prepare_to_store): Likewise.
4473         * record-btrace.c (record_btrace_fetch_registers): Likewise.
4474         * record-full.c (record_full_wait_1): Likewise.
4475         (record_full_registers_change): Likewise.
4476         (record_full_store_registers): Likewise.
4477         (record_full_core_fetch_registers): Likewise.
4478         (record_full_save): Likewise.
4479         (record_full_goto_insn): Likewise.
4480         * regcache.c (regcache_register_size): Likewise.
4481         (get_regcache_arch): Remove.
4482         (regcache_read_pc): Likewise.
4483         * regcache.h (get_regcache_arch): Remove.
4484         * remote-sim.c (gdbsim_fetch_register): Likewise.
4485         (gdbsim_store_register): Likewise.
4486         * remote.c (fetch_register_using_p): Likewise.
4487         (send_g_packet): Likewise.
4488         (remote_prepare_to_store): Likewise.
4489         (store_registers_using_G): Likewise.
4490         * reverse.c (save_bookmark_command): Likewise.
4491         (goto_bookmark_command): Likewise.
4492         * rs6000-aix-tdep.c (branch_dest): Likewise.
4493         * rs6000-nat.c (rs6000_ptrace64): Likewise.
4494         (fetch_register): Likewise.
4495         * rs6000-tdep.c (ppc_supply_reg): Likewise.
4496         (ppc_collect_reg): Likewise.
4497         (ppc_collect_gregset): Likewise.
4498         (ppc_collect_fpregset): Likewise.
4499         (ppc_collect_vsxregset): Likewise.
4500         (ppc_collect_vrregset): Likewise.
4501         (ppc_displaced_step_hw_singlestep): Likewise.
4502         (rs6000_pseudo_register_read): Likewise.
4503         (rs6000_pseudo_register_write): Likewise.
4504         * s390-linux-nat.c (supply_gregset): Likewise.
4505         (fill_gregset): Likewise.
4506         (s390_linux_fetch_inferior_registers): Likewise.
4507         * s390-linux-tdep.c (s390_write_pc): Likewise.
4508         (s390_software_single_step): Likewise.
4509         (s390_all_but_pc_registers_record): Likewise.
4510         (s390_linux_syscall_record): Likewise.
4511         * sentinel-frame.c (sentinel_frame_prev_arch): Likewise.
4512         * sh-nbsd-nat.c (shnbsd_fetch_inferior_registers): Likewise.
4513         (shnbsd_store_inferior_registers): Likewise.
4514         * sh-tdep.c (sh_extract_return_value_nofpu): Likewise.
4515         (sh_extract_return_value_fpu): Likewise.
4516         (sh_store_return_value_nofpu): Likewise.
4517         (sh_corefile_supply_regset): Likewise.
4518         (sh_corefile_collect_regset): Likewise.
4519         * sh64-tdep.c (sh64_extract_return_value): Likewise.
4520         (sh64_store_return_value): Likewise.
4521         * sparc-linux-tdep.c (sparc32_linux_collect_core_fpregset): Likewise.
4522         * sparc-nat.c (sparc_fetch_inferior_registers): Likewise.
4523         (sparc_store_inferior_registers): Likewise.
4524         * sparc-ravenscar-thread.c (register_in_thread_descriptor_p): Likewise.
4525         (sparc_ravenscar_prepare_to_store): Likewise.
4526         * sparc-tdep.c (sparc32_store_arguments): Likewise.
4527         (sparc_analyze_control_transfer): Likewise.
4528         (sparc_step_trap): Likewise.
4529         (sparc_software_single_step): Likewise.
4530         (sparc32_gdbarch_init): Likewise.
4531         (sparc_supply_rwindow): Likewise.
4532         (sparc_collect_rwindow): Likewise.
4533         * sparc64-linux-tdep.c (sparc64_linux_collect_core_fpregset): Likewise.
4534         * sparc64-nbsd-nat.c (sparc64nbsd_supply_gregset): Likewise.
4535         (sparc64nbsd_collect_gregset): Likewise.
4536         (sparc64nbsd_supply_fpregset): Likewise.
4537         (sparc64nbsd_collect_fpregset): Likewise.
4538         * sparc64-tdep.c (sparc64_store_arguments): Likewise.
4539         (sparc64_supply_gregset): Likewise.
4540         (sparc64_collect_gregset): Likewise.
4541         (sparc64_supply_fpregset): Likewise.
4542         (sparc64_collect_fpregset): Likewise.
4543         * spu-linux-nat.c (spu_fetch_inferior_registers): Likewise.
4544         * spu-tdep.c (spu_unwind_sp): Likewise.
4545         (spu2ppu_prev_register): Likewise.
4546         (spu_memory_remove_breakpoint): Likewise.
4547         * stack.c (return_command): Likewise.
4548         * tic6x-tdep.c (tic6x_extract_signed_field): Likewise.
4549         * tracefile-tfile.c (tfile_fetch_registers): Likewise.
4550         * tracefile.c (trace_save_ctf): Likewise.
4551         * windows-nat.c (do_windows_fetch_inferior_registers): Likewise.
4552         (do_windows_store_inferior_registers): Likewise.
4553         (windows_resume): Likewise.
4554         * xtensa-linux-nat.c (fill_gregset): Likewise.
4555         (supply_gregset_reg): Likewise.
4556         * xtensa-tdep.c (xtensa_register_write_masked): Likewise.
4557         (xtensa_register_read_masked): Likewise.
4558         (xtensa_supply_gregset): Likewise.
4559         (xtensa_extract_return_value): Likewise.
4560         (xtensa_store_return_value): Likewise.
4561
4562 2017-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
4563
4564         * doublest.c (floatformat_from_string): New function.
4565         * doublest.h (floatformat_from_string): Add prototype.
4566
4567         * std-operator.def (OP_DOUBLE, OP_DECFLOAT): Remove, replace by ...
4568         (OP_FLOAT): ... this.
4569         * expression.h: Do not include "doublest.h".
4570         (union exp_element): Replace doubleconst and decfloatconst by
4571         new element floatconst.
4572         * ada-lang.c (resolve_subexp): Handle OP_FLOAT instead of OP_DOUBLE.
4573         (ada_evaluate_subexp): Likewise.
4574         * eval.c (evaluate_subexp_standard): Handle OP_FLOAT instead of
4575         OP_DOUBLE and OP_DECFLOAT.
4576         * expprint.c (print_subexp_standard): Likewise.
4577         (dump_subexp_body_standard): Likewise.
4578         * breakpoint.c (watchpoint_exp_is_const): Likewise.
4579
4580         * parse.c: Include "dfp.h".
4581         (write_exp_elt_dblcst, write_exp_elt_decfloatcst): Remove.
4582         (write_exp_elt_floatcst): New function.
4583         (operator_length_standard): Handle OP_FLOAT instead of OP_DOUBLE
4584         and OP_DECFLOAT.
4585         (operator_check_standard): Likewise.
4586         (parse_float): Do not accept suffix.  Take type as input.  Return bool.
4587         Return target format buffer instead of host DOUBLEST.
4588         Use floatformat_from_string and decimal_from_string to parse
4589         either binary or decimal floating-point types.
4590         (parse_c_float): Remove.
4591         * parser-defs.h: Do not include "doublest.h".
4592         (write_exp_elt_dblcst, write_exp_elt_decfloatcst): Remove.
4593         (write_exp_elt_floatcst): Add prototype.
4594         (parse_float): Update prototype.
4595         (parse_c_float): Remove.
4596
4597         * c-exp.y: Do not include "dfp.h".
4598         (typed_val_float): Use byte buffer instead of DOUBLEST.
4599         (typed_val_decfloat): Remove.
4600         (DECFLOAT): Remove.
4601         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4602         (parse_number): Update to new parse_float interface.
4603         Parse suffixes and determine type before calling parse_float.
4604         Handle decimal and binary FP types the same way.
4605
4606         * d-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4607         (FLOAT_LITERAL): Use OP_FLOAT and write_exp_elt_floatcst.
4608         (parse_number): Update to new parse_float interface.
4609         Parse suffixes and determine type before calling parse_float.
4610
4611         * f-exp.y: Replace dval by typed_val_float.
4612         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4613         (parse_number): Use parse_float instead of atof.
4614
4615         * go-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4616         (parse_go_float): Remove.
4617         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4618         (parse_number): Call parse_float instead of parse_go_float.
4619         Parse suffixes and determine type before calling parse_float.
4620
4621         * p-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4622         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4623         (parse_number): Update to new parse_float interface.
4624         Parse suffixes and determine type before calling parse_float.
4625
4626         * m2-exp.y: Replace dval by byte buffer val.
4627         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4628         (parse_number): Call parse_float instead of atof.
4629
4630         * rust-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4631         (lex_number): Call parse_float instead of strtod.
4632         (ast_dliteral): Use OP_FLOAT instead of OP_DOUBLE.
4633         (convert_ast_to_expression): Handle OP_FLOAT instead of OP_DOUBLE.
4634         Use write_exp_elt_floatcst.
4635         (unit_testing): Remove static variable.
4636         (rust_type): Do not check unit_testing.
4637         (rust_lex_tests): Do not set uint_testing.  Set up dummy rust_parser.
4638
4639         * ada-exp.y (type_float, type_double): Remove.
4640         (typed_val_float): Use byte buffer instead of DOUBLEST.
4641         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4642         * ada-lex.l (processReal): Use parse_float instead of sscanf.
4643
4644 2017-10-25  Alan Hayward  <alan.hayward@arm.com>
4645
4646         * aarch64-tdep.h (enum aarch64_regnum): Remove.
4647         * arch/aarch64.h: New file.
4648
4649 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4650
4651         * dfp.h (decimal_from_string): Use const reference for argument.
4652         * dfp.c (decimal_from_string): Likewise.
4653
4654 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4655
4656         * i387-tdep.c (print_i387_value): Use floatformat_to_string.
4657         * sh64-tdep.c (sh64_do_fp_register): Likewise.
4658         * mips-tdep.c (mips_print_fp_register): Likewise.
4659
4660 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4661
4662         * common/format.h (enum argclass): Replace decfloat_arg by
4663         dec32float_arg, dec64float_arg, and dec128float_arg.
4664         * common/format.c (parse_format_string): Update to return
4665         new decimal float argument classes.
4666
4667         * printcmd.c (printf_decfloat): Rename to ...
4668         (printf_floating): ... this.  Add argclass argument, and use it
4669         instead of parsing the format string again.  Add support for
4670         binary floating-point values, using floatformat_to_string.
4671         Convert value to the target format if it doesn't already match.
4672         (ui_printf): Call printf_floating instead of printf_decfloat,
4673         also for double_arg / long_double_arg.  Pass argclass.
4674
4675         * dfp.c (decimal_to_string): Add format string argument.
4676         * dfp.h (decimal_to_string): Likewise.
4677
4678         * doublest.c (floatformat_to_string): Add format string argument.
4679         * doublest.h (floatformat_to_string): Likewise.
4680
4681 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4682
4683         * doublest.c (floatformat_precision): New routine.
4684         (floatformat_to_string): Likewise.
4685         * doublest.c (floatformat_to_string): Add prototype.
4686
4687         * printcmd.c (print_scalar_formatted): Only call print_floating
4688         on floating-point types.
4689         * valprint.c: Do not include "floatformat.h".
4690         (generic_val_print_decfloat): Remove.
4691         (generic_val_print): Call generic_val_print_float for both
4692         TYPE_CODE_FLT and TYPE_CODE_DECFLOAT.
4693         (print_floating): Use floatformat_to_string.  Handle decimal float.
4694         (print_decimal_floating): Remove, merge into floatformat_to_string.
4695         * value.h (print_decimal_floating): Remove.
4696
4697         * Makefile.in: Do not build doublest.c with -Wformat-nonliteral.
4698
4699 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4700
4701         * buildsym.c (end_symtab_get_static_block): Use std::stable_sort.
4702
4703 2017-10-21  Simon Marchi  <simon.marchi@ericsson.com>
4704
4705         * memattr.h: Don't include vec.h.
4706         (struct mem_attrib): Initialize fields.
4707         <unknown>: New static method.
4708         (struct mem_region): Add constructors, operator<, initialize
4709         fields.
4710         * memattr.c: Include algorithm.
4711         (default_mem_attrib, unknown_mem_attrib): Remove.
4712         (user_mem_region_list): New global.
4713         (target_mem_region_list, mem_region_list): Change type to
4714         std::vector<mem_region>.
4715         (mem_use_target): Now a function.
4716         (target_mem_regions_valid): Change type to bool.
4717         (mem_region_lessthan, mem_region_cmp, mem_region_init): Remove.
4718         (require_user_regions): Adjust.
4719         (require_target_regions): Adjust.
4720         (create_mem_region): Adjust.
4721         (lookup_mem_region): Adjust.
4722         (invalidate_target_mem_regions): Adjust.
4723         (mem_clear): Rename to...
4724         (user_mem_clear): ... this, and adjust.
4725         (mem_command): Adjust.
4726         (info_mem_command): Adjust.
4727         (mem_enable, enable_mem_command, mem_disable,
4728         disable_mem_command): Adjust.
4729         (mem_delete): Adjust.
4730         (delete_mem_command): Adjust.
4731         * memory-map.h (parse_memory_map): Return an std::vector.
4732         * memory-map.c (parse_memory_map): Likewise.
4733         (struct memory_map_parsing_data): Add constructor.
4734         <memory_map>: Point to std::vector.
4735         (memory_map_start_memory): Adjust.
4736         (memory_map_end_memory): Adjust.
4737         (memory_map_end_property): Adjust.
4738         (clear_result): Remove.
4739         * remote.c (remote_memory_map): Return an std::vector.
4740         * target-debug.h (target_debug_print_VEC_mem_region_s__p):
4741         Remove.
4742         (target_debug_print_mem_region_vector): New.
4743         * target-delegates.c: Regenerate.
4744         * target.h (mem_region_vector): New typedef.
4745         (to_memory_map): Return mem_region_vector.
4746         (target_memory_map): Return an std::vector.
4747         * target.c (target_memory_map): Return an std::vector.
4748         (flash_erase_command): Adjust.
4749
4750 2017-10-21  Simon Marchi  <simon.marchi@ericsson.com>
4751
4752         * memory-map.c (struct memory_map_parsing_data) <property_name>:
4753         Change type to std::string.
4754         (memory_map_start_property): Adjust.
4755         (memory_map_end_property): Adjust.
4756
4757 2017-10-21  Simon Marchi  <simon.marchi@polymtl.ca>
4758
4759         * infrun.h: Include common/byte-vector.h.
4760         (struct displaced_step_closure): New struct.
4761         (struct buf_displaced_step_closure): New struct.
4762         * infrun.c (displaced_step_closure::~displaced_step_closure):
4763         Provide default implementation.
4764         (displaced_step_clear): Deallocate step closure with delete.
4765         * aarch64-tdep.c (displaced_step_closure): Rename to ...
4766         (aarch64_displaced_step_closure): ... this, extend
4767         displaced_step_closure.
4768         (aarch64_displaced_step_data) <dsc>: Change type to
4769         aarch64_displaced_step_closure.
4770         (aarch64_displaced_step_copy_insn): Adjust to type change, use
4771         unique_ptr.
4772         (aarch64_displaced_step_fixup): Add cast for displaced step
4773         closure.
4774         * amd64-tdep.c (displaced_step_closure): Rename to ...
4775         (amd64_displaced_step_closure): ... this, extend
4776         displaced_step_closure.
4777         <insn_buf>: Change type to std::vector<gdb_byte>.
4778         <max_len>: Remove.
4779         (fixup_riprel): Change type of DSC parameter, adjust to type
4780         change of insn_buf.
4781         (fixup_displaced_copy): Change type of DSC parameter.
4782         (amd64_displaced_step_copy_insn): Instantiate
4783         amd64_displaced_step_closure.
4784         (amd64_displaced_step_fixup): Add cast for closure type, adjust
4785         to type change of insn_buf.
4786         * arm-linux-tdep.c (arm_linux_cleanup_svc): Change type of
4787         parameter DSC.
4788         (arm_linux_copy_svc): Likewise.
4789         (cleanup_kernel_helper_return): Likewise.
4790         (arm_catch_kernel_helper_return): Likewise.
4791         (arm_linux_displaced_step_copy_insn): Instantiate
4792         arm_displaced_step_closure.
4793         * arm-tdep.c (arm_pc_is_thumb): Add cast for closure.
4794         (displaced_read_reg): Change type of parameter DSC.
4795         (branch_write_pc): Likewise.
4796         (load_write_pc): Likewise.
4797         (alu_write_pc): Likewise.
4798         (displaced_write_reg): Likewise.
4799         (arm_copy_unmodified): Likewise.
4800         (thumb_copy_unmodified_32bit): Likewise.
4801         (thumb_copy_unmodified_16bit): Likewise.
4802         (cleanup_preload): Likewise.
4803         (install_preload): Likewise.
4804         (arm_copy_preload): Likewise.
4805         (thumb2_copy_preload): Likewise.
4806         (install_preload_reg): Likewise.
4807         (arm_copy_preload_reg): Likewise.
4808         (cleanup_copro_load_store): Likewise.
4809         (install_copro_load_store): Likewise.
4810         (arm_copy_copro_load_store) Likewise.
4811         (thumb2_copy_copro_load_store): Likewise.
4812         (cleanup_branch): Likewise.
4813         (install_b_bl_blx): Likewise.
4814         (arm_copy_b_bl_blx): Likewise.
4815         (thumb2_copy_b_bl_blx): Likewise.
4816         (thumb_copy_b): Likewise.
4817         (install_bx_blx_reg): Likewise.
4818         (arm_copy_bx_blx_reg): Likewise.
4819         (thumb_copy_bx_blx_reg): Likewise.
4820         (cleanup_alu_imm): Likewise.
4821         (arm_copy_alu_imm): Likewise.
4822         (thumb2_copy_alu_imm): Likewise.
4823         (cleanup_alu_reg): Likewise.
4824         (install_alu_reg): Likewise.
4825         (arm_copy_alu_reg): Likewise.
4826         (thumb_copy_alu_reg): Likewise.
4827         (cleanup_alu_shifted_reg): Likewise.
4828         (install_alu_shifted_reg): Likewise.
4829         (arm_copy_alu_shifted_reg): Likewise.
4830         (cleanup_load): Likewise.
4831         (cleanup_store): Likewise.
4832         (arm_copy_extra_ld_st): Likewise.
4833         (install_load_store): Likewise.
4834         (thumb2_copy_load_literal): Likewise.
4835         (thumb2_copy_load_reg_imm): Likewise.
4836         (arm_copy_ldr_str_ldrb_strb): Likewise.
4837         (cleanup_block_load_all): Likewise.
4838         (cleanup_block_store_pc): Likewise.
4839         (cleanup_block_load_pc): Likewise.
4840         (arm_copy_block_xfer): Likewise.
4841         (thumb2_copy_block_xfer): Likewise.
4842         (cleanup_svc): Likewise.
4843         (install_svc): Likewise.
4844         (arm_copy_svc): Likewise.
4845         (thumb_copy_svc): Likewise.
4846         (arm_copy_undef): Likewise.
4847         (thumb_32bit_copy_undef): Likewise.
4848         (arm_copy_unpred): Likewise.
4849         (arm_decode_misc_memhint_neon): Likewise.
4850         (arm_decode_unconditional): Likewise.
4851         (arm_decode_miscellaneous): Likewise.
4852         (arm_decode_dp_misc): Likewise.
4853         (arm_decode_ld_st_word_ubyte): Likewise.
4854         (arm_decode_media): Likewise.
4855         (arm_decode_b_bl_ldmstm): Likewise.
4856         (arm_decode_ext_reg_ld_st): Likewise.
4857         (thumb2_decode_dp_shift_reg): Likewise.
4858         (thumb2_decode_ext_reg_ld_st): Likewise.
4859         (arm_decode_svc_copro): Likewise.
4860         (thumb2_decode_svc_copro): Likewise.
4861         (install_pc_relative): Likewise.
4862         (thumb_copy_pc_relative_16bit): Likewise.
4863         (thumb_decode_pc_relative_16bit): Likewise.
4864         (thumb_copy_pc_relative_32bit): Likewise.
4865         (thumb_copy_16bit_ldr_literal): Likewise.
4866         (thumb_copy_cbnz_cbz): Likewise.
4867         (thumb2_copy_table_branch): Likewise.
4868         (cleanup_pop_pc_16bit_all): Likewise.
4869         (thumb_copy_pop_pc_16bit): Likewise.
4870         (thumb_process_displaced_16bit_insn): Likewise.
4871         (decode_thumb_32bit_ld_mem_hints): Likewise.
4872         (thumb_process_displaced_32bit_insn): Likewise.
4873         (thumb_process_displaced_insn): Likewise.
4874         (arm_process_displaced_insn): Likewise.
4875         (arm_displaced_init_closure): Likewise.
4876         (arm_displaced_step_fixup): Add cast for closure.
4877         * arm-tdep.h: Include infrun.h.
4878         (displaced_step_closure): Rename to ...
4879         (arm_displaced_step_closure): ... this, extend
4880         displaced_step_closure.
4881         <u::svc::copy_svc_os>: Change type of parameter DSC.
4882         <cleanup>: Likewise.
4883         (arm_process_displaced_insn): Likewise.
4884         (arm_displaced_init_closure): Likewise.
4885         (displaced_read_reg): Likewise.
4886         (displaced_write_reg): Likewise.
4887         * i386-linux-tdep.c (i386_linux_displaced_step_copy_insn):
4888         Adjust.
4889         * i386-tdep.h: Include infrun.h.
4890         (i386_displaced_step_closure): New typedef.
4891         * i386-tdep.c (i386_displaced_step_copy_insn): Use
4892         i386_displaced_step_closure.
4893         (i386_displaced_step_fixup): Adjust.
4894         * rs6000-tdep.c (ppc_displaced_step_closure): New typedef.
4895         (ppc_displaced_step_copy_insn): Use ppc_displaced_step_closure
4896         and unique_ptr.
4897         (ppc_displaced_step_fixup): Adjust.
4898         * s390-linux-tdep.c (s390_displaced_step_closure): New typedef.
4899         (s390_displaced_step_copy_insn): Use s390_displaced_step_closure
4900         and unique_ptr.
4901         (s390_displaced_step_fixup): Adjust.
4902
4903 2017-10-21  Simon Marchi  <simon.marchi@polymtl.ca>
4904
4905         * interps.h (interp_resume, interp_suspend, interp_set_temp):
4906         Remove declarations.
4907
4908 2017-10-20  Tom Tromey  <tom@tromey.com>
4909
4910         * gdb_bfd.c (struct gdb_bfd_data) <included_bfds>: Now a
4911         std::vector.
4912         (gdb_bfd_record_inclusion): Update.
4913         (bfdp): Remove typedef.
4914
4915 2017-10-20  Tom Tromey  <tom@tromey.com>
4916
4917         * gdb_bfd.c (gdb_bfd_ref): Use new.
4918         (struct gdb_bfd_data): Add constructor, destructor, and member
4919         initializers.
4920         (gdb_bfd_unref): Use delete.
4921
4922 2017-10-20  Tom Tromey  <tom@tromey.com>
4923
4924         * exec.c (exec_file_attach): Use new_bfd_ref.
4925         * symfile-mem.c (symbol_file_add_from_memory): Use new_bfd_ref.
4926         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
4927         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_fdopenr): Use
4928         new_bfd_ref.
4929         * gdb_bfd.h (new_bfd_ref): New function.
4930
4931 2017-10-20  Pedro Alves  <palves@redhat.com>
4932
4933         * main.c (captured_command_loop): Add attribute noinline.
4934
4935 2017-10-19  Simon Marchi  <simon.marchi@ericsson.com>
4936
4937         * interps.c (struct interp_factory): Add constructor.
4938         (interp_factory_p): Remove typedef.
4939         (DEF_VEC_P(interp_factory_p)): Remove.
4940         (interpreter_factories): Change type to std::vector.
4941         (interp_factory_register): Adjust.
4942         (interp_lookup): Adjust.
4943         (interpreter_completer): Adjust.
4944
4945 2017-10-19  Tom Tromey  <tom@tromey.com>
4946
4947         * break-catch-syscall.c (catch_syscall_completer): Use
4948         std::string, gdb::unique_xmalloc_ptr.
4949
4950 2017-10-19  Tom Tromey  <tom@tromey.com>
4951
4952         * infcall.c (call_function_by_hand_dummy): Use std::string.
4953
4954 2017-10-19  Tom Tromey  <tom@tromey.com>
4955
4956         * mi/mi-main.c (mi_cmd_execute): Update.
4957         * top.h (prepare_execute_command): Return scoped_value_mark.
4958         * value.h (class scoped_value_mark): Use DISABLE_COPY_AND_ASSIGN.
4959         Add move constructor.
4960         * top.c (prepare_execute_command): Return scoped_value_mark.
4961         (execute_command): Update.
4962
4963 2017-10-19  Pedro Alves  <palves@redhat.com>
4964
4965         * xml-support.c (xml_fetch_content_from_file): Check fread's
4966         return.
4967
4968 2017-10-19  Pedro Alves  <palves@redhat.com>
4969
4970         * ser-base.c (ser_base_read_error_fd): Delete the file handler if
4971         async.
4972         (handle_error_fd): New function.
4973         (ser_base_async): Add/delete an event loop file handler for
4974         error_fd.
4975
4976 2017-10-19  Pedro Alves  <palves@redhat.com>
4977
4978         * xml-support.c (xml_fetch_content_from_file): Don't read in
4979         chunks.  Instead use fseek to determine the file's size, and read
4980         it in one go.
4981
4982 2017-11-18  Keith Seitz  <keiths@redhat.com>
4983
4984         * c-exp.y (oper): Canonicalize conversion operators of user-defined
4985         types.
4986         Add whitespace to front of type name.
4987
4988 2017-10-18  Keith Seitz  <keiths@redhat.com>
4989
4990         * dwarf2read.c (dwarf2_add_typedef): Issue a complaint on unhandled
4991         DW_AT_accessibility.
4992
4993 2017-10-18  Yao Qi  <yao.qi@linaro.org>
4994
4995         * features/tic6x-c62x-linux.c: Remove.
4996
4997 2017-10-17  Tom Tromey  <tom@tromey.com>
4998
4999         * disasm.c (do_mixed_source_and_assembly_deprecated): Use
5000         gdb::optional, ui_out_emit_list, ui_out_emit_tuple.
5001         (do_mixed_source_and_assembly): Likewise.
5002
5003 2017-10-17  Tom Tromey  <tom@tromey.com>
5004
5005         * regcache.c (regcache::xfer_part): Remove assertion.
5006
5007 2017-10-17  Pedro Alves  <palves@redhat.com>
5008
5009         * xml-support.c (xml_fetch_content_from_file): Call
5010         unique_ptr::release() instead unique_ptr::get() when passing
5011         through xrealloc.
5012
5013 2017-10-17  Yao Qi  <yao.qi@linaro.org>
5014
5015         * regcache.c (regcache::xfer_part): Remove parameters read and
5016         write, add parameter is_raw.  All callers are updated.
5017
5018 2017-10-16  Keith Seitz  <keiths@redhat.com>
5019
5020         * c-typeprint.c (enum access_specifier): Moved here from
5021         c_type_print_base.
5022         (output_access_specifier): New function.
5023         (c_type_print_base): Consider typedefs when assessing
5024         whether access labels are needed.
5025         Use output_access_specifier as needed.
5026         Output access specifier for typedefs, if needed.
5027         * dwarf2read.c (dwarf2_add_typedef): Record DW_AT_accessibility.
5028         * gdbtypes.h (struct typedef_field) <is_protected, is_private>: New
5029         fields.
5030         (TYPE_TYPEDEF_FIELD_PROTECTED, TYPE_TYPEDEF_FIELD_PRIVATE): New
5031         accessor macros.
5032
5033 2017-10-16  Tom Tromey  <tom@tromey.com>
5034
5035         * linux-tdep.c (linux_info_proc, linux_find_memory_regions_full)
5036         (linux_fill_prpsinfo, linux_vsyscall_range_raw): Update.
5037         * target.c (target_fileio_read_stralloc): Update.
5038         * sparc64-tdep.c (adi_is_addr_mapped): Update.
5039         * target.h (target_fileio_read_stralloc): Return
5040         unique_xmalloc_ptr.
5041
5042 2017-10-16  Tom Tromey  <tom@tromey.com>
5043
5044         * xml-syscall.c (xml_init_syscalls_info): Update.
5045         * xml-support.c (xinclude_start_include): Update.
5046         (xml_fetch_content_from_file): Return unique_xmalloc_ptr.
5047         * xml-support.h (xml_fetch_another): Return unique_xmalloc_ptr.
5048         (xml_fetch_content_from_file): Likewise.
5049         * osdata.c (get_osdata): Update.
5050         * target.h (target_read_stralloc, target_get_osdata): Return
5051         unique_xmalloc_ptr.
5052         * solib-aix.c (solib_aix_get_library_list): Update.
5053         * solib-target.c (solib_target_current_sos): Update.
5054         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Update.
5055         * xml-tdesc.c (fetch_available_features_from_target): Update.
5056         (target_fetch_description_xml): Update.
5057         (file_read_description_xml): Update.
5058         * remote.c (remote_get_threads_with_qxfer, remote_memory_map)
5059         (remote_traceframe_info, btrace_read_config, remote_read_btrace)
5060         (remote_pid_to_exec_file): Update.
5061         * target.c (target_read_stralloc): Return unique_xmalloc_ptr.
5062         (target_get_osdata): Likewise.
5063
5064 2017-10-16  Tom Tromey  <tom@tromey.com>
5065
5066         * remote.c (remote_register_number_and_offset): Use std::vector.
5067         (remote_set_syscall_catchpoint): Use gdb::unique_xmalloc_ptr.
5068         (putpkt_binary): Use gdb::def_vector.
5069         (compare_sections_command): Use gdb::byte_vector.
5070
5071 2017-10-16  Tom Tromey  <tom@tromey.com>
5072
5073         * ppc-linux-nat.c (hwdebug_insert_point): Use
5074         gdb::unique_xmalloc_ptr, XDUP.
5075
5076 2017-10-16  Tom Tromey  <tom@tromey.com>
5077
5078         * probe.c (parse_probes): Use std::string.
5079         (info_probes_for_ops, enable_probes_command)
5080         (disable_probes_command): Remove cleanups.
5081
5082 2017-10-16  Tom Tromey  <tom@tromey.com>
5083
5084         * buildsym.c (block_compar): Remove.
5085         (end_symtab_get_static_block): Use std::vector.
5086
5087 2017-10-16  Simon Marchi  <simon.marchi@ericsson.com>
5088
5089         * memrange.h (struct mem_range): Define operator< and operator==.
5090         (mem_range_s): Remove.
5091         (DEF_VEC_O (mem_range_s)): Remove.
5092         (normalize_mem_ranges): Change parameter type to std::vector.
5093         * memrange.c (compare_mem_ranges): Remove.
5094         (normalize_mem_ranges): Change parameter type to std::vector,
5095         adjust to vector change.
5096         * exec.c (section_table_available_memory): Return vector, remove
5097         parameter.
5098         (section_table_read_available_memory): Adjust to std::vector
5099         change.
5100         * remote.c (remote_read_bytes): Adjust to std::vector
5101         change.
5102         * tracepoint.h (traceframe_available_memory): Change parameter
5103         type to std::vector.
5104         * tracepoint.c (traceframe_available_memory): Change parameter
5105         type to std::vector, adjust.
5106         * gdb/mi/mi-main.c (mi_cmd_trace_frame_collected): Adjust to
5107         std::vector change.
5108         * gdb/Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
5109         unittests/memrange-selftests.c.
5110         (SUBDIR_UNITTESTS_OBS): Add memrange-selftests.o.
5111         * gdb/unittests/memrange-selftests.c: New file.
5112
5113 2017-10-16  Pedro Alves  <palves@redhat.com>
5114
5115         * elfread.c (probe_key_free): Rename range-for variable.
5116         * probe.c (parse_probes_in_pspace, find_probes_in_objfile)
5117         (find_probe_by_pc, collect_probes): Rename range-for variable.
5118
5119 2017-10-16  Yao Qi  <yao.qi@linaro.org>
5120
5121         * features/Makefile (XMLTOC): Remove tic6x-*.xml.
5122         * features/tic6x-c62x.c: Remove.
5123         * features/tic6x-c64x-linux.c: Remove.
5124         * features/tic6x-c64x.c: Remove.
5125         * features/tic6x-c64xp-linux.c: Remove.
5126         * features/tic6x-c64xp.c: Remove.
5127         * tic6x-linux-tdep.c (_initialize_tic6x_linux_tdep): Don't call
5128         initialize_tdesc_tic6x_*_linux functions.
5129         * tic6x-tdep.c (_initialize_tic6x_tdep): Don't call
5130         initialize_tdesc_tic6x_* functions.
5131
5132 2017-10-16  Yao Qi  <yao.qi@linaro.org>
5133
5134         * features/Makefile (WHICH): Remove tic6x-c64xp, tic6x-c64x
5135         tic6x-c62x.
5136         * regformats/tic6x-c62x.dat: Remove.
5137         * regformats/tic6x-c64x.dat: Remove.
5138         * regformats/tic6x-c64xp.dat: Remove.
5139
5140 2017-10-15  Simon Marchi  <simon.marchi@ericsson.com>
5141
5142         * tracepoint.c (parse_traceframe_info): Return a unique_ptr
5143         (the !HAVE_LIBEXPAT version).
5144
5145 2017-10-14  Simon Marchi  <simon.marchi@ericsson.com>
5146
5147         * nat/linux-osdata.c (struct pid_pgid_entry) <operator<>: Make
5148         const.
5149
5150 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5151
5152         * target.h: Include tracepoint.h.
5153         (enum trace_find_type): Move to tracepoint.h.
5154         (struct target_ops) <to_traceframe_info>: Return a unique ptr.
5155         * tracepoint.h: Don't include target.h
5156         (enum trace_find_type): Move from target.h.
5157         (parse_traceframe_info): Return a unique ptr.
5158         * tracepoint.c (current_traceframe_info): Change type to unique
5159         ptr.
5160         (free_traceframe_info): Remove.
5161         (clear_traceframe_info): Don't manually free
5162         current_traceframe_info.
5163         (free_result): Remove.
5164         (parse_traceframe_info): Return a unique ptr.
5165         (get_traceframe_info): Adjust to unique ptr.
5166         * ctf.c (ctf_traceframe_info): Return a unique ptr.
5167         * remote.c (remote_traceframe_info): Return a unique ptr.
5168         * tracefile-tfile.c (tfile_traceframe_info): Return a unique
5169         ptr.
5170         * target-debug.h (target_debug_print_traceframe_info_up): New
5171         macro.
5172         * target-delegates.c: Regenerate.
5173
5174 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5175
5176         * memrange.h (struct mem_range): Add constructors.
5177         * tracepoint.h (struct traceframe_info) <memory>: Change type to
5178         std::vector<mem_range>.
5179         * tracepoint.c (free_traceframe_info): Don't manually free
5180         vector.
5181         (traceframe_info_start_memory): Adjust to vector change.
5182         (traceframe_available_memory): Likewise.
5183         * tracefile-tfile.c (build_traceframe_info): Likewise.
5184         * ctf.c (ctf_traceframe_info): Likewise.
5185
5186 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5187
5188         * tracepoint.h (struct traceframe_info) <tvars>: Change type to
5189         std::vector<int>.
5190         * tracepoint.c (free_traceframe_info): Deallocate with delete.
5191         (traceframe_info_start_tvar): Adjust to vector change.
5192         (parse_traceframe_info): Allocate with new.
5193         * ctf.c (ctf_traceframe_info): Allocate with new, adjust to
5194         vector change.
5195         * tracefile-tfile.c (build_traceframe_info): Adjust to vector
5196         change.
5197         tfile_traceframe_info): Allocate with new.
5198         * mi/mi-main.c (mi_cmd_trace_frame_collected): Adjust to vector
5199         change.
5200
5201 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5202
5203         * tracepoint.c (traceframe_info): Rename to...
5204         (current_traceframe_info): ...this.
5205         (clear_traceframe_info): Adjust.
5206         (get_traceframe_info): Adjust.
5207
5208 2017-10-14  Simon Marchi  <simon.marchi@ericsson.com>
5209
5210         * nat/linux-osdata.c: Include algorithm.
5211         (compare_processes): Remove.
5212         (struct pid_pgid_entry): New struct.
5213         (linux_xfer_osdata_processgroups): Use std::vector instead of
5214         XNEWVEC.
5215
5216 2017-10-14  Simon Marchi  <simon.marchi@ericsson.com>
5217
5218         * objfiles.h: Don't include symfile.h.
5219         (struct partial_symbol): Remove forward-declaration.
5220         (struct objfile) <global_psymbols, static_psymbols>: Change type
5221         to std::vector<partial_symbol *>.
5222         * objfiles.c (objfile::objfile): Don't memset those fields.
5223         (objfile::~objfile): Don't free those fields.
5224         * psympriv.h (struct psymbol_allocation_list): Remove
5225         forward-declaration.
5226         (add_psymbol_to_list): Change psymbol_allocation_list parameter
5227         to std::vector.
5228         (start_psymtab_common): Change parameters to std::vector.
5229         * psymtab.c: Include algorithm.
5230         (require_partial_symbols): Call shrink_to_fit.
5231         (find_pc_sect_psymbol): Adjust to vector change.
5232         (match_partial_symbol): Likewise.
5233         (lookup_partial_symbol): Likewise.
5234         (psym_relocate): Likewise.
5235         (dump_psymtab): Likewise.
5236         (recursively_search_psymtabs): Likewise.
5237         (compare_psymbols): Remove.
5238         (sort_pst_symbols): Adjust to vector change.
5239         (start_psymtab_common): Likewise.
5240         (end_psymtab_common): Likewise.
5241         (psymbol_bcache_full): De-constify return value.
5242         (add_psymbol_to_bcache): Likewise.
5243         (extend_psymbol_list): Remove.
5244         (append_psymbol_to_list): Adjust to vector change.
5245         (add_psymbol_to_list): Likewise.
5246         (init_psymbol_list): Likewise.
5247         (maintenance_info_psymtabs): Likewise.
5248         (maintenance_check_psymtabs): Likewise.
5249         * symfile.h (struct psymbol_allocation_list): Remove.
5250         * symfile.c (reread_symbols): Adjust to vector change.
5251         * dbxread.c (start_psymtab): Change type of parameters.
5252         (dbx_symfile_read): Adjust to vector change.
5253         (read_dbx_symtab): Likewise.
5254         (start_psymtab): Change type of parameters.
5255         * dwarf2read.c (dwarf2_build_psymtabs): Adjust to vector change.
5256         (create_partial_symtab): Likewise.
5257         (add_partial_symbol): Likewise.
5258         (write_one_signatured_type): Likewise.
5259         (recursively_write_psymbols): Likewise.
5260         * mdebugread.c (parse_partial_symbols): Likewise.
5261         * xcoffread.c (xcoff_start_psymtab): Change type of parameters.
5262         (scan_xcoff_symtab): Adjust to vector change.
5263         (xcoff_initial_scan): Likewise.
5264
5265 2017-10-13  Simon Marchi  <simon.marchi@ericsson.com>
5266
5267         * ada-typeprint.c (print_dynamic_range_bound): Use std::string.
5268
5269 2017-10-13  Yao Qi  <yao.qi@linaro.org>
5270
5271         * features/Makefile: Remove tic6x-*-expedite, add tic6x-expedite.
5272         Remove s390x-*-expedite, add s390x-expedite.
5273
5274 2017-10-13  Yao Qi  <yao.qi@linaro.org>
5275
5276         * features/s390-gs-linux64.c: Regenerated.
5277         * features/s390x-gs-linux64.c: Regenerated.
5278
5279 2017-10-13  Tom Tromey  <tom@tromey.com>
5280
5281         * compile/compile-object-run.c (do_module_cleanup): Use delete.
5282         * solib.c (update_solib_list, reload_shared_libraries_1): Use
5283         delete.
5284         * symfile.c (symbol_file_add_with_addrs): Use new.
5285         (symbol_file_add_separate): Update comment.
5286         (syms_from_objfile_1, remove_symbol_file_command): Use delete.
5287         * jit.c (jit_object_close_impl): Use new.
5288         (jit_unregister_code): Use delete.
5289         * objfiles.c (objfile::objfile): Rename from allocate_objfile.
5290         (~objfile): Rename from free_objfile.
5291         (free_objfile_separate_debug, do_free_objfile_cleanup)
5292         (free_all_objfiles, objfile_purge_solibs): Use delete.
5293         * objfiles.h (struct objfile): Add constructor and destructor.
5294         Use DISABLE_COPY_AND_ASSIGN.  Add initializers to data members.
5295         (allocate_objfile, free_objfile): Don't declare.
5296         (struct objstats): Add initializers.
5297
5298 2017-10-12  Simon Marchi  <simon.marchi@ericsson.com>
5299
5300         * arch-utils.h (simple_displaced_step_copy_insn): Remove.
5301         * arch-utils.c (simple_displaced_step_copy_insn): Remove.
5302         * gdbarch.sh (displaced_step_copy_insn): Adjust comment.
5303         * gdbarch.h: Regenerate.
5304         * i386-linux-tdep.c (i386_linux_displaced_step_copy_insn):
5305         Adjust comment.
5306         * i386-tdep.c (i386_displaced_step_copy_insn): Adjust comment.
5307         (i386_displaced_step_fixup): Adjust comment.
5308         * rs6000-tdep.c (ppc_displaced_step_copy_insn): Adjust comment.
5309
5310 2017-10-12  Tom Tromey  <tom@tromey.com>
5311
5312         * prologue-value.h (pv_area::store_would_trash): Return bool.
5313         (pv_area::find_reg): Likewise.
5314         * prologue-value.c (pv_area::store_would_trash): Return bool.
5315         (pv_area::find_reg): Likewise.
5316
5317 2017-10-12  Tom Tromey  <tom@tromey.com>
5318
5319         * s390-linux-tdep.c (s390_store, s390_load)
5320         (s390_check_for_saved, s390_analyze_prologue): Update.
5321         * rx-tdep.c (check_for_saved, rx_analyze_prologue): Update.
5322         * rl78-tdep.c (rl78_analyze_prologue, check_for_saved): Update.
5323         * prologue-value.h (class pv_area): Move from prologue-value.c.
5324         Change names of members.  Add constructor, destructor, member
5325         functions.
5326         (make_pv_area, free_pv_area, make_cleanup_free_pv_area)
5327         (pv_area_store, pv_area_fetch, pv_area_store_would_trash)
5328         (pv_area_fetch, pv_area_scan): Don't declare.
5329         * prologue-value.c (struct pv_area::area_entry): Now member of
5330         pv_area.
5331         (struct pv_area): Move to prologue-value.h.
5332         (pv_area::pv_area): Rename from make_pv_area.
5333         (pv_area::~pv_area): Rename from free_pv_area.
5334         (do_free_pv_area_cleanup, make_cleanup_free_pv_area): Remove.
5335         (clear_entries, find_entry, overlaps, store_would_trash, store)
5336         (fetch, find_reg, scan): Now member of pv_area.
5337         Remove "area" argument.  Update.
5338         * msp430-tdep.c (check_for_saved, msp430_analyze_prologue):
5339         Update.
5340         * mn10300-tdep.c (push_reg, check_for_saved)
5341         (mn10300_analyze_prologue): Update.
5342         * mep-tdep.c (is_arg_spill, check_for_saved)
5343         (mep_analyze_prologue): Update.
5344         * m32c-tdep.c (m32c_pv_push, m32c_srcdest_fetch)
5345         (m32c_srcdest_store, m32c_pv_enter, m32c_is_arg_spill)
5346         (m32c_is_struct_return, m32c_analyze_prologue): Update.
5347         * arm-tdep.c (thumb_analyze_prologue, arm_analyze_prologue):
5348         Update.
5349         * arc-tdep.c (arc_is_in_prologue, arc_analyze_prologue): Update.
5350         * aarch64-tdep.c (aarch64_analyze_prologue): Update.
5351
5352 2017-10-12  Simon Marchi  <simon.marchi@ericsson.com>
5353
5354         * linux-nat.h (linux_nat_set_delete_thread): New declaration.
5355         * linux-nat.c (linux_nat_delete_thread): New variable.
5356         (lwp_free): Invoke linux_nat_delete_thread if set.
5357         (linux_nat_set_delete_thread): New function.
5358         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Assign
5359         thread delete callback.
5360         * arm-linux-nat.c (arm_linux_delete_thread): New function.
5361         (_initialize_arm_linux_nat): Assign thread delete callback.
5362         * s390-linux-nat.c (s390_delete_thread): New function.
5363         (_initialize_s390_nat): Assign thread delete callback.
5364         * x86-linux-nat.c (x86_linux_add_target): Likewise.
5365         * nat/aarch64-linux.c (aarch64_linux_delete_thread): New
5366         function.
5367         * nat/aarch64-linux.h (aarch64_linux_delete_thread): New
5368         declaration.
5369         * nat/x86-linux.c (x86_linux_delete_thread): New function.
5370         * nat/x86-linux.h (x86_linux_delete_thread): New declaration.
5371
5372 2017-10-09  Tom Tromey  <tom@tromey.com>
5373
5374         * tui/tui-win.c (tui_set_win_height, parse_scrolling_args): Use
5375         std::string.
5376         * tui/tui-layout.c (enum tui_status): Use std::string.
5377
5378 2017-10-11  Tom Tromey  <tom@tromey.com>
5379
5380         * gdbthread.h (thread_command): Constify.
5381         * inferior.h (detach_command): Constify.
5382         * top.h (set_history, show_history): Constify.
5383         * arm-tdep.c (set_arm_command, show_arm_command): Constify.
5384         * serial.c (serial_set_cmd, serial_show_cmd): Constify.
5385         * bsd-kvm.c (bsd_kvm_cmd): Constify.
5386         * printcmd.c (set_command): Constify.
5387         (non_const_set_command): New function.
5388         * dcache.c (set_dcache_command, show_dcache_command): Constify.
5389         * breakpoint.c (enable_command, disable_command, delete_command)
5390         (catch_command, tcatch_command, set_breakpoint_cmd)
5391         (show_breakpoint_cmd): Constify.
5392         * macrocmd.c (macro_command): Constify.
5393         * infcmd.c (unset_command, kill_command, detach_command)
5394         (info_proc_cmd): Constify.
5395         * i386-tdep.c (set_mpx_cmd, show_mpx_cmd): Constify.
5396         * auto-load.c (show_auto_load_cmd, set_auto_load_cmd)
5397         (info_auto_load_cmd): Constify.
5398         * target-descriptions.c (set_tdesc_cmd, show_tdesc_cmd)
5399         (unset_tdesc_cmd): Constify.
5400         * ada-lang.c (set_ada_command, show_ada_command)
5401         (maint_set_ada_cmd, maint_show_ada_cmd): Constify.
5402         * guile/guile.c (set_guile_command, show_guile_command)
5403         (info_guile_command): Constify.
5404         * tui/tui-win.c (tui_command, set_tui_cmd, show_tui_cmd):
5405         Constify.
5406         * skip.c (skip_command): Constify.
5407         * compile/compile.c (_initialize_compile): Constify.
5408         * dwarf2read.c (set_dwarf_cmd, show_dwarf_cmd): Constify.
5409         * btrace.c (maint_btrace_cmd, maint_btrace_set_cmd)
5410         (maint_btrace_show_cmd, maint_btrace_pt_set_cmd)
5411         (maint_btrace_pt_show_cmd): Constify.
5412         * remote.c (set_remote_cmd, show_remote_cmd, remote_command):
5413         Constify.
5414         * python/python.c (user_show_python, user_set_python): Constify.
5415         * mips-tdep.c (set_mips_command, show_mips_command)
5416         (set_mipsfpu_command): Constify.
5417         * record-btrace.c (cmd_record_btrace_start)
5418         (cmd_set_record_btrace, cmd_show_record_btrace)
5419         (cmd_set_record_btrace_bts, cmd_show_record_btrace_bts)
5420         (cmd_set_record_btrace_pt, cmd_show_record_btrace_pt): Constify.
5421         * rs6000-tdep.c (set_powerpc_command, show_powerpc_command):
5422         Constify.
5423         * symfile.c (overlay_command): Constify.
5424         * spu-tdep.c (set_spu_command, show_spu_command): Constify.
5425         * cli/cli-logging.c (set_logging_command, show_logging_command):
5426         Constify.
5427         * cli/cli-dump.c (dump_command, append_command)
5428         (srec_dump_command, ihex_dump_command, verilog_dump_command)
5429         (tekhex_dump_command, binary_dump_command)
5430         (binary_append_command): Constify.
5431         * cli/cli-decode.c (struct cmd_list_element): Change type of
5432         "fun".
5433         * cli/cli-cmds.c (info_command, show_command, set_debug)
5434         (show_debug): Constify.
5435         (show_command): Add non-const overload.
5436         * top.c (set_history, show_history): Constify.
5437         * sh-tdep.c (set_sh_command, show_sh_command): Constify.
5438         * command.h (add_prefix_cmd): Accept a cmd_const_cfunc_ftype.
5439         * target.c (target_command): Constify.
5440         * sparc64-tdep.c (info_adi_command): Constify.
5441         * record-full.c (cmd_record_full_start): Constify.
5442         (set_record_full_command): Constify.  Fix typo.
5443         (show_record_full_command): Constify.
5444         * thread.c (thread_command, thread_apply_command): Constify.
5445         * memattr.c (dummy_cmd): Constify.
5446         * value.c (function_command): Constify.
5447         * frame.c (set_backtrace_cmd, show_backtrace_cmd): Constify.
5448         * probe.c (info_probes_command): Constify.
5449         * ser-tcp.c (set_tcp_cmd, show_tcp_cmd): Constify.
5450         * gnu-nat.c (set_task_cmd, show_task_cmd, set_thread_cmd)
5451         (show_thread_cmd, set_thread_default_cmd)
5452         (show_thread_default_cmd): Constify.
5453         (check_empty): Constify.
5454         * tracepoint.c (tfind_command): Constify.
5455         * cp-support.c (maint_cplus_command): Constify.
5456         * windows-tdep.c (info_w32_command): Constify.
5457         * record.c (cmd_record_start, set_record_command)
5458         (show_record_command, info_record_command, cmd_record_goto):
5459         Constify.
5460         * ravenscar-thread.c (set_ravenscar_command)
5461         (show_ravenscar_command): Constify.
5462         * utils.c (set_internal_problem_cmd, show_internal_problem_cmd):
5463         Constify.
5464         (add_internal_problem_command): Remove casts.
5465         * arc-tdep.c (maintenance_print_arc_command): Constify.
5466         * valprint.c (set_print, show_print, set_print_raw)
5467         (show_print_raw): Constify.
5468         * maint.c (maintenance_command, maintenance_info_command)
5469         (maintenance_print_command, maintenance_set_cmd)
5470         (maintenance_show_cmd, set_per_command_cmd)
5471         (show_per_command_cmd, maintenance_check_command): Constify.
5472         * language.c (set_check, show_check): Constify.
5473         * typeprint.c (show_print_type, set_print_type): Constify.
5474         * go32-nat.c (go32_info_dos_command): Constify.
5475
5476 2017-10-11  Tom Tromey  <tom@tromey.com>
5477
5478         * breakpoint.c (prepare_re_set_context): Remove.
5479         (breakpoint_re_set_one): Update.  Don't use cleanups.
5480         (breakpoint_re_set): Use scoped_restore, std::string, and
5481         scoped_restore_current_language.
5482
5483 2017-10-11  Tom Tromey  <tom@tromey.com>
5484
5485         * breakpoint.c (commands_command_1): Use std::string.
5486         (cleanup_executing_breakpoints): Remove.
5487         (bpstat_do_actions_1): Use scoped_restore.
5488         (bpstat_check_watchpoint): Use std::string.
5489         (decode_static_tracepoint_spec): Likewise.
5490         (break_range_command): Likewise.
5491         (watch_command_1): Likewise.
5492         (compare_breakpoints): Change argument types.
5493         (clear_command): Use std::vector.
5494         (cleanup_executing_breakpoints): Remove.
5495         (update_global_location_list): Use unique_xmalloc_ptr.
5496         (strace_command): Remove unused declaration.
5497
5498 2017-10-11  John Baldwin  <jhb@FreeBSD.org>
5499
5500         * Makefile.in (ALLDEPFILES): Add arm-fbsd-nat.c.
5501         * NEWS: Mention new FreeBSD/arm native configuration.
5502         * configure.host: Add arm*-*-freebsd*.
5503         * configure.nat: Likewise.
5504         * arm-fbsd-nat.c: New file.
5505
5506 2017-10-11  John Baldwin  <jhb@FreeBSD.org>
5507
5508         * Makefile.in (ALL_TARGET_OBS): Add arm-fbsd-tdep.o.
5509         (ALLDEPFILES): Add arm-fbsd-tdep.c.
5510         * NEWS: Mention new FreeBSD/arm target.
5511         * configure.tgt: Add arm*-*-freebsd*.
5512         * arm-fbsd-tdep.c: New file.
5513         * arm-fbsd-tdep.h: New file.
5514
5515 2017-10-11  Maciej W. Rozycki  <macro@imgtec.com>
5516
5517         * linux-tdep.c (linux_make_corefile_notes): Remove call to
5518         `gdbarch_elfcore_write_linux_prpsinfo'.
5519         * gdbarch.sh (elfcore_write_linux_prpsinfo): Remove architecture
5520         method.
5521         (elf_internal_linux_prpsinfo): Remove declaration.
5522         * gdbarch.h: Regenerate.
5523         * gdbarch.c: Regenerate.
5524
5525 2017-10-11  Maciej W. Rozycki  <macro@imgtec.com>
5526
5527         * ppc-linux-tdep.c (ppc_linux_init_abi): Remove call to
5528         `set_gdbarch_elfcore_write_linux_prpsinfo'.
5529
5530 2017-10-11  Pedro Alves  <palves@redhat.com>
5531
5532         * breakpoint.c (reattach_breakpoints): Delete.
5533         * breakpoint.h (reattach_breakpoints): Delete.
5534
5535 2017-10-11  Simon Marchi  <simon.marchi@ericsson.com>
5536
5537         * symfile.c (registered_sym_fns): Make struct, not typedef.
5538         (DEF_VEC_O (registered_sym_fns)): Remove.
5539         (symtab_fns): Change type to std::vector.
5540         (add_symtab_fns): Adjust.
5541         (find_sym_fns): Adjust.
5542
5543 2017-10-11  Anton Kolesov  <Anton.Kolesov@synopsys.com>
5544
5545         * arc-tdep.c (arc_gdbarch_init): Pass proper cpu value to disassembler.
5546         * arc-tdep.h (arc_arch_is_em): New function.
5547         (arc_arch_is_hs): Likewise.
5548
5549 2017-10-11  Egeyar Bagcioglu  <egeyar.bagcioglu@oracle.com>
5550
5551         * macrotab.h (macro_lookup_inclusion): Remove unnecessary
5552         parentheses in the declaration.
5553         (macro_lookup_inclusion): Likewise.
5554         (macro_lookup_definition): Likewise.
5555         * p-lang.h (pascal_builtin_types): Likewise.
5556         * tui/tui-data.c (tui_win_list): Likewise.
5557         * tui/tui-data.h (tui_win_list): Likewise.
5558         * utils.h (make_cleanup_free_section_addr_info): Likewise.
5559
5560 2017-10-11  Mark Rages  <markrages@gmail.com>
5561
5562         * target-memory.c (block_boundaries): Fix for block address not
5563         aligned on block size.
5564
5565 2017-10-10  Pedro Alves <palves@redhat.com>
5566             Tom Tromey  <tom@tromey.com>
5567
5568         * breakpoint.c (struct captured_breakpoint_query_args)
5569         (do_captured_breakpoint_query, gdb_breakpoint_query): Delete.
5570         (print_breakpoint): New.
5571         * breakpoint.h (print_breakpoint): Declare.
5572         * common/common-exceptions.h (enum return_reason): Remove
5573         references to catch_exceptions.
5574         * exceptions.c (catch_exceptions, catch_exceptions_with_msg):
5575         Delete.
5576         * exceptions.h (catch_exceptions_ftype, catch_exceptions)
5577         (catch_exception_ftype, catch_exceptions_with_msg): Delete.
5578         * gdb.h: Delete.
5579         * gdbthread.h (thread_select): Declare.
5580         * mi/mi-cmd-break.c: Don't include gdb.h.
5581         (breakpoint_notify): Use print_breakpoint.
5582         * mi/mi-cmd-catch.c: Don't include gdb.h.
5583         * mi/mi-interp.c: Don't include gdb.h.
5584         (mi_print_breakpoint_for_event): New.
5585         (mi_breakpoint_created, mi_breakpoint_modified): Use
5586         mi_print_breakpoint_for_event.
5587         * mi/mi-main.c: Don't include gdb.h.
5588         (mi_cmd_thread_select): Parse the global thread ID here.  Use
5589         thread_select instead of gdb_thread_select.
5590         (mi_cmd_thread_list_ids): Output "thread-ids" tuple here instead
5591         of using gdb_list_thread_ids.
5592         * remote-fileio.c (do_remote_fileio_request): Change type.  Reply
5593         FILEIO_ENOSYS here.
5594         (remote_fileio_request): Use TRY/CATCH instead of
5595         catch_exceptions.
5596         * symfile-mem.c (struct symbol_file_add_from_memory_args)
5597         (symbol_file_add_from_memory_wrapper): Delete.
5598         (add_vsyscall_page): Use TRY/CATCH instead of catch_exceptions.
5599         * thread.c: Don't include gdb.h.
5600         (do_captured_list_thread_ids, gdb_list_thread_ids): Delete.
5601         (thread_alive): Use thread_select.
5602         (do_captured_thread_select): Delete, parts salvaged as ...
5603         (thread_select): ... this new function.
5604         (gdb_thread_select): Delete.
5605
5606 2017-10-10  Pedro Alves  <palves@redhat.com>
5607             Tom Tromey  <tom@tromey.com>
5608
5609         * breakpoint.c (breakpoint_cond_eval): Change return type to bool
5610         and reverse logic.
5611         (WP_DELETED, WP_VALUE_CHANGED, WP_VALUE_NOT_CHANGED, WP_IGNORE):
5612         No longer macros.  Instead ...
5613         (enum wp_check_result): They're now values of this new
5614         enumeration.
5615         (watchpoint_check): Change return type to wp_check_result and
5616         parameter type to bpstat.
5617         (bpstat_check_watchpoint): Use TRY/CATCH instead of catch_errors.
5618         (bpstat_check_breakpoint_conditions): Use TRY/CATCH instead of
5619         catch_errors.  Reverse logic of watchpoint_check call.
5620         (breakpoint_re_set_one): Now returns void and takes a breakpoint
5621         pointer as parameter.
5622         (breakpoint_re_set): Use TRY/CATCH instead of catch_errors.
5623         * common/common-exceptions.c (throw_exception_sjlj): Update
5624         comments to avoid mentioning catch_errors.
5625         * exceptions.c (catch_errors): Delete.
5626         * exceptions.h: Update comments to avoid mentioning catch_errors.
5627         (catch_errors_ftype, catch_errors): Delete.
5628         * infrun.c (normal_stop): Use TRY/CATCH instead of catch_errors.
5629         (hook_stop_stub): Delete.
5630         (restore_selected_frame): Change return type to void, and
5631         parameter type to const frame_id &.
5632         (restore_infcall_control_state): Use TRY/CATCH instead of
5633         catch_errors.
5634         * main.c (captured_command_loop): Return void and remove
5635         parameter.  Remove references to catch_errors.
5636         (captured_main): Use TRY/CATCH instead of catch_errors.
5637         * objc-lang.c (objc_submethod_helper_data)
5638         (find_objc_msgcall_submethod_helper): Delete.
5639         (find_objc_msgcall_submethod): Use TRY/CATCH instead of
5640         catch_errors.
5641         * record-full.c (record_full_message): Return void.
5642         (record_full_message_args, record_full_message_wrapper): Delete.
5643         (record_full_message_wrapper_safe): Return bool and use TRY/CATCH
5644         instead of catch_errors.
5645         * solib-aix.c (solib_aix_open_symbol_file_object): Change
5646         parameter type to int.
5647         * solib-darwin.c (open_symbol_file_object): Ditto.
5648         * solib-dsbt.c (open_symbol_file_object): Ditto.
5649         * solib-frv.c (open_symbol_file_object): Ditto.
5650         * solib-svr4.c (open_symbol_file_object): Ditto.
5651         * solib-target.c (solib_target_open_symbol_file_object): Ditto.
5652         * solib.c (update_solib_list): Use TRY/CATCH instead of
5653         catch_errors.
5654         * solist.h (struct target_so_ops) <open_symbol_file_object>:
5655         Change type.
5656         * symmisc.c (struct print_symbol_args): Remove.
5657         (dump_symtab_1): Use TRY/CATCH instead of catch_errors.
5658         (print_symbol): Change type.
5659         * windows-nat.c (handle_load_dll, handle_unload_dll): Return void
5660         and remove parameters.
5661         (catch_errors): New.
5662         (get_windows_debug_event): Adjust.
5663
5664 2017-10-09  Tom Tromey  <tom@tromey.com>
5665
5666         * mi/mi-main.c (free_splay_tree): Remove.
5667         (list_available_thread_groups): Use splay_tree_up.
5668         * common/gdb_splay_tree.h: New file.
5669
5670 2017-10-09  Tom Tromey  <tom@tromey.com>
5671
5672         * mi/mi-main.c (do_nothing): Remove.
5673         (list_available_thread_groups): Update.
5674
5675 2017-10-09  Pedro Alves  <palves@redhat.com>
5676
5677         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>: Skip
5678         reading registers when switching context.
5679
5680 2017-10-09  John Baldwin  <jhb@FreeBSD.org>
5681
5682         * fbsd-nat.c (fbsd_siginfo_size): Use gdbarch_long_bit.
5683         (fbsd_convert_siginfo): Likewise.
5684         * fbsd-tdep.c (fbsd_core_xfer_siginfo): Likewise.
5685
5686 2017-10-09  Simon Marchi  <simon.marchi@polymtl.ca>
5687
5688         * configure.ac (try_guile_versions): Remove guile-2.2.
5689         * configure: Regenerate.
5690
5691 2017-10-09  Tom Tromey  <tom@tromey.com>
5692
5693         * Makefile.in (COMPILE.post, POSTCOMPILE): Restore $(basename).
5694         (COMPILE.pre): Use $(CXX).
5695
5696 2017-10-09  Pedro Alves  <palves@redhat.com>
5697
5698         * cp-support.c (cp_remove_params): Return a gdb::unique_xmalloc_ptr.
5699         Use bool.
5700         (overload_list_add_symbol): Adjust to use gdb::unique_xmalloc_ptr.
5701         * cp-support.h (cp_remove_params): Now returns a
5702         gdb::unique_xmalloc_ptr.
5703         * dwarf2read.c (find_slot_in_mapped_hash): Now returns bool.
5704         Adjust to cp_remove_params returning a gdb::unique_xmalloc_ptr.
5705         * psymtab.c (psymtab_search_name): Adjust to cp_remove_params
5706         returning a gdb::unique_xmalloc_ptr.
5707         (lookup_partial_symbol): Adjust to use gdb::unique_xmalloc_ptr.
5708         * stack.c (find_frame_funname): Adjust to cp_remove_params
5709         returning a gdb::unique_xmalloc_ptr.
5710
5711 2017-10-08  Tom Tromey  <tom@tromey.com>
5712
5713         * dwarf2read.c (dwarf2_get_dwz_file): Use
5714         gdb::unique_xmalloc_ptr.
5715         (find_slot_in_mapped_hash): Likewise.
5716         (dwarf2_physname): Likewise.
5717         (create_dwo_unit_in_dwp_v1): Use std::string.
5718         (create_dwo_unit_in_dwp_v2): Likewise.
5719         (lookup_dwo_cutu): Likewise.
5720         (inherit_abstract_dies): Use std::vector.
5721         (read_array_type): Likewise.
5722         (dwarf_decode_macros): Remove unused declaration.
5723         (unsigned_int_compar): Remove.
5724         (dwarf2_build_psymtabs_hard): Use scoped_restore.
5725         (psymtabs_addrmap_cleanup): Remove.
5726
5727 2017-10-08  Tom Tromey  <tom@tromey.com>
5728
5729         * frame-unwind.c (frame_unwind_try_unwinder): Update.
5730         * frame.h (frame_cleanup_after_sniffer): Declare.
5731         (frame_prepare_for_sniffer): Return void.
5732         * frame.c (frame_cleanup_after_sniffer): No longer static.  Change
5733         type of argument.
5734         (frame_prepare_for_sniffer): Return void.
5735
5736 2017-10-08  Tom Tromey  <tom@tromey.com>
5737
5738         * utils.h (make_cleanup_value_free): Remove.
5739         * utils.c (do_value_free, struct cleanup): Remove.
5740         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full) <DWARF_VALUE_STACK>:
5741         Use gdb_value_up.
5742         * value.h (struct value_deleter): New.
5743         (gdb_value_up): New typedef.
5744
5745 2017-10-08  Tom Tromey  <tom@tromey.com>
5746
5747         * symtab.c (free_search_symbols, do_free_search_symbols_cleanup)
5748         (make_cleanup_free_search_symbols): Remove.
5749         (search_symbols): Return std::vector.
5750         (symbol_search::compare_search_syms): Now member of
5751         symbol_search.  Change arguments.
5752         (sort_search_symbols_remove_dups): Change arguments.  Rewrite.
5753         (symtab_symbol_info, rbreak_command): Update.
5754         * symtab.h (struct symbol_search) <next>: Remove.
5755         Add constructors.
5756         (symbol_search::operator<): New function.
5757         (symbol_search::operator==): New function.
5758         (search_symbols): Remove std::vector.
5759         (free_search_symbols, make_cleanup_free_search_symbols): Remove.
5760         (symbol_search::compare_search_syms): Declare.
5761
5762 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5763
5764         * Makefile.in (ALL_64_TARGET_OBS): Replace aarch64-insn.o with
5765         arch/aarch64-insn.o.
5766         Remove one rule.
5767         * configure.tgt: Replace aarch64-insn.o with arch/aarch64-insn.o.
5768
5769 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5770
5771         * Makefile.in (ALL_TARGET_OBS): Replace arm.o, arm-get-next-pcs.o,
5772         and arm-linux.o with arch/arm.o, arch/arm-get-next-pcs.o and
5773         arch/arm-linux.o respectively.
5774         * configure.tgt: Likewise.
5775
5776 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5777
5778         * Makefile.in (ALL_TARGET_OBS): Rename i386.o to arch/i386.o.
5779         * configure.tgt (i386_tobjs): Replace i386.o with arch/i386.o.
5780
5781 2017-10-06  Pedro Alves  <palves@redhat.com>
5782
5783         * windows-nat.c: Include <algorithm>.
5784
5785 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5786
5787         * configure.tgt (i386_tobjs): New variable.
5788         (amd64_tobjs): New variable.
5789         Set $cpu_obs and $os_obs.
5790
5791 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5792
5793         * Makefile.in (CONFIG_SRC_SUBDIR): New.
5794         (ALL_64_TARGET_OBS): Replace amd64.o with arch/amd64.o.
5795         (clean): Remove object files and dependency files.
5796         (distclean): Remove the directory.
5797         * configure.ac: Invoke AC_CONFIG_COMMANDS.
5798         * configure: Re-generated.
5799         * configure.tgt: Replace amd64.o with arch/amd64.o.
5800
5801 2017-10-05  Jose E. Marchesi  <jose.marchesi@oracle.com>
5802
5803         PR build/22188
5804         * arm-tdep.c (arm_decode_misc_memhint_neon): Fix decoding of CPS
5805         and SETEND.
5806
5807 2017-10-05  Pedro Alves  <palves@redhat.com>
5808
5809         * linux-nat.c (linux_child_follow_fork): When following the parent
5810         and detaching the child, consult the parent thread's architecture
5811         instead of the child's.
5812
5813 2017-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
5814
5815         * ax.h: Do not include "doublest.h".
5816         (union agent_val): Remove.
5817
5818 2017-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
5819
5820         * dfp.h (MAX_DECIMAL_STRING): Move to dfp.c.
5821         (decimal_to_string): Return std::string object.
5822         (decimal_from_string): Accept std::string object.  Return bool.
5823         (decimal_from_integral, decimal_from_doublest): Remove.
5824         (decimal_from_longest): Add prototype.
5825         (decimal_from_ulongest): Likewise.
5826         (decimal_to_longest): Likewise.
5827         (decimal_from_doublest): Likewise.
5828         * dfp.c: Do not include "gdbtypes.h" or "value.h".
5829         (MAX_DECIMAL_STRING): Move here.
5830         (decimal_to_string): Return std::string object.
5831         (decimal_from_string): Accept std::string object.  Return bool.
5832         (decimal_from_integral): Remove, replace by ...
5833         (decimal_from_longest, decimal_from_ulongest): ... these new functions.
5834         (decimal_to_longest): New function.
5835         (decimal_from_floating): Remove, replace by ...
5836         (decimal_from_doublest): ... this new function.
5837         (decimal_to_doublest): Update to new decimal_to_string interface.
5838
5839         * value.c (unpack_long): Use decimal_to_longest.
5840         * valops.c (value_cast): Use decimal_from_doublest instead of
5841         decimal_from_floating.  Use decimal_from_[u]longest isntead of
5842         decimal_from_integral.
5843         * valarith.c (value_args_as_decimal): Likewise.
5844         * valprint.c (print_decimal_floating): Update to new
5845         decimal_to_string interface.
5846         * printcmd.c (printf_decfloat): Likewise.
5847         * c-exp.y (parse_number): Update to new decimal_from_string interface.
5848
5849 2017-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
5850
5851         * doublest.h: Do not include "floatformat.h".  Remove stale comments.
5852         * gdbtypes.c: Include "floatformat.h".
5853         * value.c: Likewise.
5854         * m68k-tdep.c: Likewise.
5855
5856         * findvar.c: Do not include "floatformat.h".
5857         * amd64-darwin-tdep.c: Likewise.
5858         * arm-linux-tdep.c: Likewise.
5859         * i386-darwin-tdep.c: Likewise.
5860         * i387-tdep.c: Likewise.
5861         * m68k-linux-tdep.c: Likewise.
5862         * mep-tdep.c: Likewise.
5863         * mips-tdep.c: Likewise.
5864         * nios2-tdep.c: Likewise.
5865         * s390-linux-tdep.c: Likewise.
5866         * sparc-obsd-tdep.c: Likewise.
5867         * sparc-tdep.c: Likewise.
5868         * sparc64-tdep.c: Likewise.
5869         * spu-tdep.c: Likewise.
5870         * tic6x-tdep.c: Likewise.
5871         * tilegx-tdep.c: Likewise.
5872         * vax-tdep.c: Likewise.
5873         * xstormy16-tdep.c: Likewise.
5874         * xtensa-tdep.c: Likewise.
5875
5876         * top.c: Do not include "doublest.h".
5877         * aarch64-tdep.c: Likewise.
5878         * alpha-tdep.c: Likewise.
5879         * arm-linux-tdep.c: Likewise.
5880         * m68k-linux-tdep.c: Likewise.
5881         * tilegx-tdep.c: Likewise.
5882         * xstormy16-tdep.c: Likewise.
5883
5884 2017-10-05  John Baldwin  <jhb@FreeBSD.org>
5885
5886         * mips-fbsd-tdep.c (MIPS_INST_ADDIU_A0_SP_N32): Define.
5887         (mipsn32_fbsd_sigframe): Define.
5888         (mips_fbsd_init_abi): Install mipsn32_fbsd_sigframe unwinder
5889         for FreeBSD/mipsn32.
5890
5891 2017-10-05  John Baldwin  <jhb@FreeBSD.org>
5892
5893         * fbsd-tdep.c (fbsd_print_auxv_entry): Handle AT_EHDRFLAGS and
5894         AT_HWCAP.
5895
5896 2017-10-05  Tristan Gingold  <tgingold@free.fr>
5897
5898         * MAINTAINERS (Misc): Update my email address.
5899
5900 2017-10-04  Pedro Alves  <palves@redhat.com>
5901
5902         * remote.c (get_remote_arch_state): New 'gdbarch' parameter.  Use
5903         it instead of target_gdbarch.
5904         (get_remote_state, get_remote_packet_size): Adjust
5905         get_remote_arch_state calls, passing down target_gdbarch
5906         explicitly.
5907         (packet_reg_from_regnum, packet_reg_from_pnum): New parameter
5908         'gdbarch' and use it instead of target_gdbarch.
5909         (get_memory_packet_size): Adjust get_remote_arch_state calls,
5910         passing down target_gdbarch explicitly.
5911         (struct stop_reply) <arch>: New field.
5912         (remote_parse_stop_reply): Use the stopped thread's architecture,
5913         not the current inferior's.  Save the architecture in the
5914         stop_reply.
5915         (process_stop_reply): Use the stop reply's architecture.
5916         (process_g_packet, remote_fetch_registers)
5917         (remote_prepare_to_store, store_registers_using_G)
5918         (remote_store_registers): Adjust get_remote_arch_state calls,
5919         using the regcache's architecture.
5920         (remote_get_trace_status): Adjust get_remote_arch_state calls,
5921         passing down target_gdbarch explicitly.
5922         * spu-multiarch.c (spu_thread_architecture): Defer to the target
5923         beneath instead of calling target_gdbarch.
5924         * target.c (default_thread_architecture): Use the specified
5925         inferior's architecture, instead of the current inferior's
5926         architecture (via target_gdbarch).
5927
5928 2017-10-04  Pedro Alves  <palves@redhat.com>
5929
5930         * regcache.c (get_thread_arch_regcache): Remove null_ptid special
5931         case.
5932         (regcache_print): Handle !target_has_registers here instead.
5933
5934 2017-10-04  Pedro Alves  <palves@redhat.com>
5935
5936         * frame.c (create_test_frame): Delete.
5937         * frame.h (create_test_frame): Delete.
5938         * gdbarch-selftests.c: Include gdbthread.h and target.h.
5939         (class regcache_test): Delete.
5940         (test_target_has_registers, test_target_has_stack)
5941         (test_target_has_memory, test_target_prepare_to_store)
5942         (test_target_store_registers): New functions.
5943         (test_target_ops): New class.
5944         (register_to_value_test): Error out if there's already a
5945         process_stratum (or higher) target pushed.  Create a fuller mock
5946         environment, with mock target_ops, inferior, address space, thread
5947         and inferior_ptid.
5948         * progspace.c (struct address_space): Move to ...
5949         * progspace.h (struct address_space): ... here.
5950         * regcache.h (regcache::~regcache, regcache::raw_write)
5951         [GDB_SELF_TEST]: No longer virtual.
5952
5953 2017-10-04  Simon Marchi  <simon.marchi@ericsson.com>
5954
5955         * mi/mi-main.c (list_available_thread_groups): Reverse filter logic.
5956
5957 2017-10-04  Pedro Alves  <palves@redhat.com>
5958
5959         * guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Move code
5960         out of 'between TRY and CATCH'.
5961
5962 2017-10-04  Pedro Alves  <palves@redhat.com>
5963
5964         * cli/cli-cmds.c (complete_command): Add missing END_CATCH.
5965         * common/common-exceptions.h (TRY): Open an outermost scope.
5966         Expand intro comment.
5967         (CATCH): Reindent.
5968         (END_CATCH): Close the outermost scope.
5969         * completer.c (complete_line_internal): Add missing END_CATCH.
5970
5971 2017-10-04  Sergio Durigan Junior  <sergiodj@redhat.com>
5972
5973         * NEWS (Changes since GDB 8.0): Add entry about new
5974         'set-cwd-on-gdbserver' feature.
5975         (New remote packets): Add entry for QSetWorkingDir.
5976         * common/common-inferior.h (set_inferior_cwd): New prototype.
5977         * infcmd.c (set_inferior_cwd): Remove "static".
5978         (show_cwd_command): Expand text to include remote debugging.
5979         * remote.c: Add PACKET_QSetWorkingDir.
5980         (remote_protocol_features) <QSetWorkingDir>: New entry for
5981         PACKET_QSetWorkingDir.
5982         (extended_remote_set_inferior_cwd): New function.
5983         (extended_remote_create_inferior): Call
5984         "extended_remote_set_inferior_cwd".
5985         (_initialize_remote): Call "add_packet_config_cmd" for
5986         QSetWorkingDir.
5987
5988 2017-10-04  Sergio Durigan Junior  <sergiodj@redhat.com>
5989
5990         * NEWS (New commands): Mention "set/show cwd".
5991         * cli/cli-cmds.c (_initialize_cli_cmds): Mention "set cwd" on
5992         "cd" command's help text.
5993         * common/common-inferior.h (get_inferior_cwd): New prototype.
5994         * infcmd.c (inferior_cwd_scratch): New global variable.
5995         (set_inferior_cwd): New function.
5996         (get_inferior_cwd): Likewise.
5997         (set_cwd_command): Likewise.
5998         (show_cwd_command): Likewise.
5999         (_initialize_infcmd): Add "set/show cwd" commands.
6000         * inferior.h (class inferior) <cwd>: New field.
6001         * nat/fork-inferior.c: Include "gdb_tilde_expand.h".
6002         (fork_inferior): Change inferior's cwd before its execution.
6003         * windows-nat.c (windows_create_inferior): Pass inferior's cwd
6004         to CreateProcess.
6005
6006 2017-10-04  Sergio Durigan Junior  <sergiodj@redhat.com>
6007
6008         * Makefile.in (SFILES): Add gdb_tilde_expand.c.
6009         (HFILES_NO_SRCDIR): Add gdb_tilde_expand.h.
6010         (COMMON_OBS): Add gdb_tilde_expand.o.
6011         * common/gdb_tilde_expand.c: New file.
6012         * common/gdb_tilde_expand.h: Likewise.
6013
6014 2017-10-03  Maciej W. Rozycki  <macro@imgtec.com>
6015
6016         * gdbarch.sh (objfile): Remove duplicate declaration.
6017         * gdbarch.h: Regenerate.
6018
6019 2017-10-03  Tom Tromey  <tom@tromey.com>
6020
6021         * utils.c (internal_vproblem): Use string_vprintf.
6022
6023 2017-10-03  Tom Tromey  <tom@tromey.com>
6024
6025         * printcmd.c (info_symbol_command): Use std::string.
6026
6027 2017-10-03  Tom Tromey  <tom@tromey.com>
6028
6029         * top.c (gdb_safe_append_history): Use std::string.
6030
6031 2017-10-03  Tom Tromey  <tom@tromey.com>
6032
6033         * event-top.c (stdin_event_handler): Update.
6034         * main.c (captured_main_1): Update.
6035         * top.h (make_delete_ui_cleanup): Remove.
6036         (struct ui): Add constructor and destructor.
6037         (new_ui, delete_ui): Remove.
6038         * top.c (make_delete_ui_cleanup): Remove.
6039         (new_ui_command): Use std::unique_ptr.
6040         (delete_ui_cleanup): Remove.
6041         (ui::ui): Rename from new_ui.  Update.
6042         (free_ui): Remove.
6043         (ui::~ui): Rename from delete_ui.  Update.
6044
6045 2017-10-03  Tom Tromey  <tom@tromey.com>
6046
6047         * symfile.c (load_progress): Use gdb::byte_vector.
6048
6049 2017-10-03  Tom Tromey  <tom@tromey.com>
6050
6051         * mi/mi-main.c (mi_cmd_trace_frame_collected): Remove unused
6052         declaration.
6053         * printcmd.c (x_command): Remove unused declaration.
6054         * symfile.c (symbol_file_command): Remove unused declaration.
6055
6056 2017-10-03  Tom Tromey  <tom@tromey.com>
6057
6058         * utils.c (internal_vproblem): Use std::string.
6059         (defaulted_query): Likewise.
6060
6061 2017-10-03  Tom Tromey  <tom@tromey.com>
6062
6063         * guile/scm-ports.c (ioscm_with_output_to_port_worker): Update.
6064         * top.c (execute_command_to_string): Update.
6065         * utils.c (make_cleanup_restore_page_info): Remove.
6066         (do_restore_page_info_cleanup): Remove.
6067         (set_batch_flag_and_restore_page_info):
6068         New.
6069         (make_cleanup_restore_page_info): Remove.
6070         (set_batch_flag_and_make_cleanup_restore_page_info): Remove.
6071         (~set_batch_flag_and_restore_page_info): New
6072         (make_cleanup_restore_uinteger): Remove.
6073         (make_cleanup_restore_integer): Remove.
6074         (struct restore_integer_closure): Remove.
6075         (restore_integer): Remove.
6076         * utils.h (struct set_batch_flag_and_restore_page_info): New
6077         class.
6078         (set_batch_flag_and_make_cleanup_restore_page_info): Remove.
6079         (make_cleanup_restore_page_info): Remove.
6080         (make_cleanup_restore_uinteger) Remove.
6081         (make_cleanup_restore_integer) Remove.
6082
6083 2017-10-03  Tom Tromey  <tom@tromey.com>
6084
6085         * record-full.h (record_full_gdb_operation_disable_set): Return
6086         scoped_restore_tmpl<int>.
6087         * infrun.c (adjust_pc_after_break): Update.
6088         (handle_signal_stop): Update.
6089         * record-full.c (record_full_gdb_operation_disable_set): Return
6090         scoped_restore_tmpl<int>.
6091         (record_full_wait_1, record_full_insert_breakpoint)
6092         (record_full_remove_breakpoint, record_full_save)
6093         (record_full_goto_insn): Update.
6094
6095 2017-10-02  Tom Tromey  <tom@tromey.com>
6096
6097         PR rust/22236:
6098         * rust-lang.c (rust_val_print_str): New function.
6099         (val_print_struct): Call it.
6100         (rust_subscript): Preserve name of slice type.
6101
6102 2017-10-02  Tom Tromey  <tom@tromey.com>
6103
6104         * rust-lang.c (rust_subscript): Handle slices in
6105         EVAL_AVOID_SIDE_EFFECTS case.
6106
6107 2017-10-02  Tom Tromey  <tom@tromey.com>
6108
6109         * rust-lang.c (rust_slice_type_p): Recognize &str as a slice type.
6110
6111 2017-10-02  Tom Tromey  <tom@tromey.com>
6112
6113         * rust-lang.h (rust_slice_type): Add "extern".
6114
6115 2017-10-02  Tom Tromey  <tom@tromey.com>
6116             Pedro Alves  <palves@redhat.com>
6117
6118         * ada-lang.h (ada_exc_info::operator<): Make const.
6119         (ada_exc_info::operator==): Make const.
6120         * ada-lang.c (ada_exc_info::operator<, ada_exc_info::operator==):
6121         Make const.
6122
6123 2017-09-29  Tom Tromey  <tom@tromey.com>
6124
6125         * target.c (read_whatever_is_readable): Change type of "result".
6126         Update.
6127         (free_memory_read_result_vector): Remove.
6128         (read_memory_robust): Change return type.  Update.
6129         * mi/mi-main.c (mi_cmd_data_read_memory_bytes): Update.  Use
6130         bin2hex, std::string.
6131         * target.h (memory_read_result_s): Remove typedef.
6132         (free_memory_read_result_vector): Remove.
6133         (read_memory_robust): Return std::vector.
6134
6135 2017-09-29  Tom Tromey  <tom@tromey.com>
6136
6137         * mi/mi-main.c (captured_mi_execute_command): Use scope_restore.
6138
6139 2017-09-29  Tom Tromey  <tom@tromey.com>
6140
6141         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions): Update.
6142         * ada-lang.h (struct ada_exc_info): Remove typedef.  Declare
6143         operator< and operator==.
6144         (ada_exceptions_list): Return a std::vector.
6145         * ada-lang.c (ada_exc_info::operator<): Rename from
6146         compare_ada_exception_info.
6147         (ada_exc_info::operator==): New.
6148         (sort_remove_dups_ada_exceptions_list): Change type of
6149         "exceptions".
6150         (ada_add_standard_exceptions, ada_add_exceptions_from_frame)
6151         (ada_add_global_exceptions): Likewise.
6152         (ada_exceptions_list_1): Return a std::vector.
6153         (ada_exceptions_list): Likewise.
6154
6155 2017-09-29  Tom Tromey  <tom@tromey.com>
6156
6157         * mi/mi-main.c (struct print_one_inferior_data) <inferiors>: Now a
6158         'std::set *'.
6159         (print_one_inferior): Update.
6160         (free_vector_of_ints): Remove.
6161         (list_available_thread_groups): Change "ids" to std::set.
6162         (mi_cmd_list_thread_groups): Update.
6163         (struct collect_cores_data) <core>: Now a std::set.
6164         (collect_cores): Update.
6165         (unique): Remove.
6166         (print_one_inferior): Update.
6167
6168 2017-09-29  Tom Tromey  <tom@tromey.com>
6169
6170         * mi/mi-main.c (mi_execute_cli_command): Use std::string.
6171         (mi_execute_async_cli_command): Likewise.
6172         (mi_cmd_trace_frame_collected): Use field_fmt.
6173
6174 2017-09-29  Tom Tromey  <tom@tromey.com>
6175
6176         * mi/mi-main.c (mi_cmd_data_write_memory_bytes): Use
6177         gdb::byte_vector.
6178
6179 2017-09-29  Tom Tromey  <tom@tromey.com>
6180
6181         * mi/mi-parse.c (mi_parse): Remove unused declaration.
6182
6183 2017-09-29  Tom Tromey  <tom@tromey.com>
6184
6185         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Don't copy "oarg".
6186
6187 2017-09-29  Tom Tromey  <tom@tromey.com>
6188
6189         * varobj.h (varobj_gen_name): Return std::string.
6190         * varobj.c (varobj_gen_name): Return std::string.
6191         * mi/mi-cmd-var.c (mi_cmd_var_create): Use std::string.
6192         (mi_cmd_var_delete): Don't copy "name".
6193
6194 2017-09-29  Tom Tromey  <tom@tromey.com>
6195
6196         * mi/mi-cmd-break.c (mi_argv_to_format): Return std::string.
6197         (mi_cmd_break_insert_1): Update.
6198
6199 2017-09-29  Tom Tromey  <tom@tromey.com>
6200
6201         * target.h (make_scoped_defer_target_commit_resume): Update.
6202         * target.c (make_scoped_defer_target_commit_resume): Rename from
6203         make_cleanup_defer_target_commit_resume.  Return a
6204         scoped_restore.
6205         * infrun.c (proceed): Use make_scoped_defer_target_commit_resume.
6206
6207 2017-09-29  Tom Tromey  <tom@tromey.com>
6208
6209         * main.c (captured_main_1): Remove unused declaration.
6210         * spu-multiarch.c (parse_spufs_run): Remove unused declaration.
6211
6212 2017-09-29  Tom Tromey  <tom@tromey.com>
6213
6214         * symtab.c (search_symbols): Remove unused outer cleanup.
6215         (make_source_files_completion_list): Remove unused declaration.
6216
6217 2017-09-29  Tom Tromey  <tom@tromey.com>
6218
6219         * mt-tdep.c (mt_push_dummy_call): Use gdb::byte_vector.
6220
6221 2017-09-29  Tom Tromey  <tom@tromey.com>
6222
6223         * xstormy16-tdep.c (xstormy16_push_dummy_call): Use
6224         gdb::byte_vector.
6225
6226 2017-09-29  Tom Tromey  <tom@tromey.com>
6227
6228         * complaints.c (vcomplaint): Use std::string.
6229
6230 2017-09-29  Tom Tromey  <tom@tromey.com>
6231
6232         * tracepoint.c (trace_variable_command): Use std::string.
6233         (encode_actions_1): Remove unused declarations.
6234         (create_tsv_from_upload): Use std::string.
6235
6236 2017-09-29  Tom Tromey  <tom@tromey.com>
6237
6238         * cp-support.c (gdb_demangle): Use std::string.
6239
6240 2017-09-29  Tom Tromey  <tom@tromey.com>
6241
6242         * stack.c (parse_frame_specification): Use std::string
6243         (info_frame_command): Use gdb::unique_xmalloc_ptr.
6244
6245 2017-09-29  Tom Tromey  <tom@tromey.com>
6246
6247         * tilegx-tdep.c (tilegx_push_dummy_call): Use gdb::byte_vector.
6248
6249 2017-09-29  Tom Tromey  <tom@tromey.com>
6250
6251         * utils.c (vfprintf_maybe_filtered): Use std::string.
6252         (vfprintf_unfiltered): Likewise.
6253
6254 2017-09-29  Tom Tromey  <tom@tromey.com>
6255
6256         * event-top.c (top_level_prompt): Return std::string.
6257         (display_gdb_prompt): Update.
6258
6259 2017-09-29  Tom Tromey  <tom@tromey.com>
6260
6261         * unittests/common-utils-selftests.c (format): New function.
6262         (string_vprintf_tests): New function.
6263         (_initialize_common_utils_selftests): Register new tests.
6264         * common/common-utils.c (string_vprintf): New function.
6265         * common/common-utils.h (string_vprintf): Declare.
6266
6267 2017-09-29  Pedro Alves  <palves@redhat.com>
6268
6269         * common/rsp-low.c (unpack_varlen_hex): Constify.
6270         * common/rsp-low.h (unpack_varlen_hex): Constify.
6271         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
6272         Constify.
6273         * remote.c (remote_set_permissions, read_ptid)
6274         (remote_current_thread, remote_get_threads_with_qthreadinfo)
6275         (remote_static_tracepoint_marker_at)
6276         (remote_static_tracepoint_markers_by_strid)
6277         (stop_reply_extract_thread, remote_parse_stop_reply): Constify.
6278         * tracepoint.c (parse_trace_status, parse_tracepoint_status)
6279         (parse_tracepoint_definition, parse_tsv_definition)
6280         (parse_static_tracepoint_marker_definition): Constify.
6281         * tracepoint.h (parse_static_tracepoint_marker_definition)
6282         (parse_trace_status, parse_tracepoint_status)
6283         (parse_tracepoint_definition, parse_tsv_definition): Constify.
6284
6285 2017-09-29  Pedro Alves  <palves@redhat.com>
6286
6287         * remote.c (target_buf, target_buf_size): Delete.
6288         (remote_get_noisy_reply): Remove buf_p and sizeof_buf parameters.
6289         Use the connection's packet buffer instead.
6290         All callers adjusted.
6291         (_initialize_remote): Remove references to target_buf and
6292         target_buf_size.
6293
6294 2017-09-28  Pedro Alves  <palves@redhat.com>
6295
6296         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
6297         unittests/common-utils-selftests.c.
6298         (SUBDIR_UNITTESTS_OBS): Add common-utils-selftests.o.
6299         (COMMON_OBS): Remove utils-selftests.o.
6300         * utils-selftests.c: Move to ...
6301         * unittests/common-utils-selftests.c: ... here and rename self
6302         test to "string_printf".
6303
6304 2017-09-28  Alexander Shaposhnikov <alexander.v.shaposhnikov@gmail.com> (tiny patch)
6305
6306         * dwarf2read.c (open_and_init_dwp_file): Protect against dwp_file
6307         having NULL cus or tus.
6308
6309 2017-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
6310
6311         * arm-tdep.c: (convert_from_extended): Remove.
6312         (convert_to_extended): Likewise.
6313         (arm_extract_return_value): Use convert_typed_floating.
6314         (arm_store_return_value): Likewise.
6315
6316         * sh-tdep.h (struct gdbarch_tdep): Add sh_littlebyte_bigword_type.
6317         * sh-tdep.c: Do not include "floatformat.h".
6318         (sh_littlebyte_bigword_type): New function.
6319         (sh_register_convert_to_virtual): Use convert_typed_floating.
6320         (sh_register_convert_to_raw): Likewise.
6321         * sh64-tdep.c: (struct gdbarch_tdep): Add sh_littlebyte_bigword_type.
6322         (sh64_littlebyte_bigword_type): New function.
6323         (sh64_extract_return_value): Use convert_typed_floating.
6324         (sh64_register_convert_to_virtual): Likewise.
6325         (sh64_register_convert_to_raw): Likewise.
6326
6327 2017-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
6328
6329         * doublest.h (floatformat_from_type): Move to gdbtypes.h.
6330         * doublest.c (floatformat_from_type): Move to gdbtypes.c.
6331
6332         * gdbtypes.h (union type_specific): Make field floatformat hold
6333         just a single struct floatformat, not an array.
6334         (floatformat_from_type): Move here.
6335         * gdbtypes.c (floatformat_from_type): Move here.  Update to
6336         changed TYPE_FLOATFORMAT definition.
6337         (verify_floatformat): Update to changed TYPE_FLOATFORMAT.
6338         (recursive_dump_type): Likewise.
6339         (init_float_type): Install correct floatformat for byte order.
6340         (arch_float_type): Likewise.
6341
6342 2017-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
6343
6344         * gdbtypes.c (init_type): Change incoming argument from
6345         length-in-bytes to length-in-bits.  Assert length is a
6346         multiple of TARGET_CHAR_BITS.
6347         (arch_type, arch_flags_type): Likewise.
6348         (init_integer_type): Update call to init_type.
6349         (init_character_type): Likewise.
6350         (init_boolean_type): Likewise.
6351         (init_float_type): Likewise.
6352         (init_decfloat_type): Likewise.
6353         (init_complex_type): Likewise.
6354         (init_pointer_type): Likewise.
6355         (objfile_type): Likewise.
6356         (arch_integer_type): Update call to arch_type.
6357         (arch_character_type): Likewise.
6358         (arch_boolean_type): Likewise.
6359         (arch_float_type): Likewise.
6360         (arch_decfloat_type): Likewise.
6361         (arch_complex_type): Likewise.
6362         (arch_pointer_type): Likewise.
6363         (gdbtypes_post_init): Likewise.
6364
6365         * dwarf2read.c (dwarf2_init_float_type): Update call to init_type.
6366         (read_base_type): Likewise.
6367         * mdebugread.c (basic_type): Likewise.
6368         * stabsread.c (dbx_init_float_type): Likewise.
6369         (rs6000_builtin_type): Likewise.
6370         (read_range_type): Likewise.  Also, fix call to init_integer_type
6371         with erroneous length argument.
6372
6373         * ada-lang.c (ada_language_arch_info): Update call to arch_type.
6374         * d-lang.c (build_d_types): Likewise.
6375         * f-lang.c (build_fortran_types): Likewise.
6376         * go-lang.c (build_go_types): Likewise.
6377         * opencl-lang.c (build_opencl_types): Likewise.
6378         * jit.c (finalize_symtab): Likewise.
6379         * gnu-v3-abi.c (build_gdb_vtable_type): Likewise.
6380         (build_std_type_info_type): Likewise.
6381         * target-descriptions.c (tdesc_gdb_type): Likewise.  Also,
6382         update call to arch_flags_type.
6383
6384         * linux-tdep.c (linux_get_siginfo_type_with_fields): Update call to
6385         arch_type.
6386         * fbsd-tdep.c (fbsd_get_siginfo_type): Likewise.
6387         * windows-tdep.c (windows_get_tlb_type): Likewise.
6388
6389         * avr-tdep.c (avr_gdbarch_init): Update call to arch_type.
6390         * ft32-tdep.c (ft32_gdbarch_init): Likewise.
6391         * m32c-tdep.c (make_types): Likewise.
6392         * rl78-tdep.c (rl78_gdbarch_init): Likewise.
6393         (rl78_psw_type): Update call to arch_flags_type.
6394         * m68k-tdep.c (m68k_ps_type): Update call to arch_flags_type.
6395         * rx-tdep.c (rx_psw_type): Likewise.
6396         (rx_fpsw_type): Likewise.
6397         * sparc-tdep.c (sparc_psr_type): Likewise.
6398         (sparc_fsr_type): Likewise.
6399         * sparc64-tdep.c (sparc64_pstate_type): Likewise.
6400         (sparc64_ccr_type): Likewise.
6401         (sparc64_fsr_type): Likewise.
6402         (sparc64_fprs_type): Likewise.
6403
6404 2017-09-27  Tom Tromey  <tom@tromey.com>
6405
6406         * findcmd.c (find_command): Constify.
6407
6408 2017-09-27  Tom Tromey  <tom@tromey.com>
6409
6410         * ada-tasks.c (task_command_1, task_command): Constify.
6411
6412 2017-09-27  Tom Tromey  <tom@tromey.com>
6413
6414         * symtab.c (maintenance_print_symbol_cache)
6415         (maintenance_flush_symbol_cache)
6416         (maintenance_print_symbol_cache_statistics): Constify.
6417
6418 2017-09-27  Tom Tromey  <tom@tromey.com>
6419
6420         * inferior.c (detach_inferior_command, kill_inferior_command)
6421         (inferior_command): Constify.
6422
6423 2017-09-27  Tom Tromey  <tom@tromey.com>
6424
6425         * regcache.c (regcache_print, maintenance_print_registers)
6426         (maintenance_print_raw_registers)
6427         (maintenance_print_cooked_registers)
6428         (maintenance_print_register_groups)
6429         (maintenance_print_remote_registers): Constify.
6430
6431 2017-09-27  Tom Tromey  <tom@tromey.com>
6432
6433         * printcmd.c (map_display_numbers, undisplay_command)
6434         (enable_disable_display_command, enable_display_command)
6435         (disable_display_command): Constify.
6436
6437 2017-09-27  Tom Tromey  <tom@tromey.com>
6438
6439         * breakpoint.h (delete_command): Don't declare.
6440         * breakpoint.c (delete_command, enable_once_command)
6441         (enable_count_command, enable_delete_command, breakpoint_1)
6442         (maintenance_info_breakpoints, stopin_command, stopat_command)
6443         (delete_command, delete_trace_command, save_breakpoints)
6444         (save_breakpoints_command, save_tracepoints_command): Constify.
6445
6446 2017-09-27  Tom Tromey  <tom@tromey.com>
6447
6448         * macrocmd.c (macro_expand_command, macro_expand_once_command)
6449         (skip_ws, extract_identifier, macro_define_command)
6450         (macro_undef_command, macro_list_command): Constify.
6451
6452 2017-09-27  Tom Tromey  <tom@tromey.com>
6453
6454         * infcmd.c (environment_info, set_environment_command)
6455         (unset_environment_command, path_info, info_proc_cmd_1)
6456         (info_proc_cmd_mappings, info_proc_cmd_stat)
6457         (info_proc_cmd_status, info_proc_cmd_cwd, info_proc_cmd_cmdline)
6458         (info_proc_cmd_exe, info_proc_cmd_all): Constify.
6459
6460 2017-09-27  Tom Tromey  <tom@tromey.com>
6461
6462         * i386-tdep.c (i386_mpx_info_bounds, i386_mpx_set_bounds):
6463         Constify.
6464
6465 2017-09-27  Tom Tromey  <tom@tromey.com>
6466
6467         * symfile-mem.c (add_symbol_file_from_memory_command): Constify.
6468
6469 2017-09-27  Tom Tromey  <tom@tromey.com>
6470
6471         * demangle.c (demangle_command): Constify.
6472
6473 2017-09-27  Tom Tromey  <tom@tromey.com>
6474
6475         * progspace.c (maintenance_info_program_spaces_command):
6476         Constify.
6477
6478 2017-09-27  Tom Tromey  <tom@tromey.com>
6479
6480         * compile/compile.c (check_raw_argument, compile_file_command)
6481         (compile_code_command, compile_print_command): Constify.
6482
6483 2017-09-27  Tom Tromey  <tom@tromey.com>
6484
6485         * reggroups.c (maintenance_print_reggroups): Constify.
6486
6487 2017-09-27  Tom Tromey  <tom@tromey.com>
6488
6489         * dwarf2read.c (save_gdb_index_command): Constify.
6490
6491 2017-09-27  Tom Tromey  <tom@tromey.com>
6492
6493         * stap-probe.c (info_probes_stap_command): Constify.
6494
6495 2017-09-27  Tom Tromey  <tom@tromey.com>
6496
6497         * fork-child.c (unset_exec_wrapper_command): Constify.
6498
6499 2017-09-27  Tom Tromey  <tom@tromey.com>
6500
6501         * btrace.c (get_uint, get_context_size, no_chunk)
6502         (maint_btrace_packet_history_cmd)
6503         (maint_btrace_clear_packet_history_cmd, maint_btrace_clear_cmd)
6504         (maint_info_btrace_cmd): Constify.
6505
6506 2017-09-27  Tom Tromey  <tom@tromey.com>
6507
6508         * reverse.c (delete_bookmark_command): Constify.
6509
6510 2017-09-27  Tom Tromey  <tom@tromey.com>
6511
6512         * remote.c (set_memory_packet_size)
6513         (set_memory_write_packet_size, show_memory_write_packet_size)
6514         (set_memory_read_packet_size, show_memory_read_packet_size)
6515         (compare_sections_command, packet_command, remote_put_command)
6516         (remote_get_command, remote_delete_command): Constify.
6517
6518 2017-09-27  Tom Tromey  <tom@tromey.com>
6519
6520         * mips-tdep.c (show_mipsfpu_command, set_mipsfpu_single_command)
6521         (set_mipsfpu_double_command, set_mipsfpu_none_command)
6522         (set_mipsfpu_auto_command): Constify.
6523
6524 2017-09-27  Tom Tromey  <tom@tromey.com>
6525
6526         * cli/cli-cmds.h (cd_command): Constify.
6527         * cli/cli-cmds.c (cd_command): Constify.
6528
6529 2017-09-27  Tom Tromey  <tom@tromey.com>
6530
6531         * thread.c (thread_name_command, thread_find_command): Constify.
6532
6533 2017-09-27  Tom Tromey  <tom@tromey.com>
6534
6535         * probe.c (enable_probes_command, disable_probes_command):
6536         Constify.
6537
6538 2017-09-27  Tom Tromey  <tom@tromey.com>
6539
6540         * symfile.c (symbol_file_command): Constify.
6541         * gdbcore.h (deprecated_file_changed_hook): Constify.
6542         * exec.c (deprecated_file_changed_hook, exec_file_command)
6543         (file_command): Constify.
6544         * defs.h (symbol_file_command): Constify.
6545
6546 2017-09-27  Tom Tromey  <tom@tromey.com>
6547
6548         * remote-fileio.c (set_system_call_allowed)
6549         (show_system_call_allowed): Constify.
6550
6551 2017-09-27  Tom Tromey  <tom@tromey.com>
6552
6553         * tracepoint.c (delete_trace_variable_command)
6554         (tfind_end_command, tfind_start_command, tfind_pc_command)
6555         (tfind_tracepoint_command, tfind_line_command)
6556         (tfind_range_command, tfind_outside_command): Constify.
6557
6558 2017-09-27  Tom Tromey  <tom@tromey.com>
6559
6560         * ax-gdb.c (maint_agent_printf_command, agent_command)
6561         (agent_eval_command): Constify.
6562
6563 2017-09-27  Tom Tromey  <tom@tromey.com>
6564
6565         * tracepoint.c (info_scope_command): Constify.
6566         * python/python.c (gdbpy_decode_line): Constify.
6567         * python/py-breakpoint.c (bppy_init): Constify.
6568         * mi/mi-cmd-break.c (mi_cmd_break_insert_1): Constify.
6569         * location.h: (new_linespec_location)
6570         (string_to_event_location_basic, string_to_event_location):
6571         Constify.
6572         * location.c (new_linespec_location)
6573         (string_to_event_location_basic, string_to_event_location):
6574         Constify.
6575         * linespec.h (decode_line_with_current_source)
6576         (decode_line_with_last_displayed, linespec_lex_to_end): Constify.
6577         * linespec.c (linespec_lex_to_end)
6578         (decode_line_with_current_source)
6579         (decode_line_with_last_displayed): Constify.
6580         * guile/scm-breakpoint.c (gdbscm_register_breakpoint_x):
6581         Constify.
6582         * cli/cli-cmds.c (edit_command, list_command): Constify.
6583         * breakpoint.h (until_break_command, watch_command_wrapper)
6584         (awatch_command_wrapper, rwatch_command_wrapper)
6585         (init_ada_exception_breakpoint): Constify.
6586         * breakpoint.c (break_command_1, dprintf_command)
6587         (break_range_command, watch_command_wrapper)
6588         (rwatch_command_wrapper, awatch_command_wrapper)
6589         (until_break_command, init_ada_exception_breakpoint)
6590         (strace_marker_create_sals_from_location, trace_command)
6591         (ftrace_command, strace_command, struct tracepoint): Constify.
6592         * ax-gdb.c (agent_command_1): Constify.
6593         * ada-lang.c (ada_exception_sal): Constify.
6594
6595 2017-09-27  Tom Tromey  <tom@tromey.com>
6596
6597         * record.c (cmd_record_delete, cmd_record_stop, cmd_record_save)
6598         (cmd_record_goto_begin, cmd_record_goto_end, get_insn_number)
6599         (get_context_size, no_chunk, get_insn_history_modifiers)
6600         (cmd_record_insn_history, get_call_history_modifiers)
6601         (cmd_record_call_history): Constify.
6602
6603 2017-09-27  Tom Tromey  <tom@tromey.com>
6604
6605         * source.c (show_substitute_path_command)
6606         (unset_substitute_path_command, set_substitute_path_command):
6607         Constify.
6608
6609 2017-09-27  Tom Tromey  <tom@tromey.com>
6610
6611         * typeprint.c (maintenance_print_type): Constify.
6612         * maint.c (maintenance_dump_me, maintenance_demangle)
6613         (maintenance_time_display, maintenance_info_sections)
6614         (maintenance_print_statistics, maintenance_deprecate)
6615         (maintenance_undeprecate): Constify.
6616         (maintenance_do_deprecate): Constify.  Use std::string.
6617         (maintenance_selftest): Constify.
6618         * gdbtypes.h (maintenance_print_type): Constify.
6619
6620 2017-09-27  Tom Tromey  <tom@tromey.com>
6621
6622         * hppa-tdep.c (unwind_command): Constify.
6623
6624 2017-09-27  Tom Tromey  <tom@tromey.com>
6625
6626         * target-descriptions.c (unset_tdesc_filename_cmd)
6627         (maint_print_c_tdesc_cmd, maintenance_check_xml_descriptions):
6628         Constify.
6629
6630 2017-09-27  Tom Tromey  <tom@tromey.com>
6631
6632         * dummy-frame.c (maintenance_print_dummy_frames): Constify.
6633
6634 2017-09-27  Tom Tromey  <tom@tromey.com>
6635
6636         * tui/tui.c (tui_enable_command, tui_disable_command): Constify.
6637
6638 2017-09-27  Tom Tromey  <tom@tromey.com>
6639
6640         * tui/tui-regs.c (tui_reg_command): Constify.
6641
6642 2017-09-27  Tom Tromey  <tom@tromey.com>
6643
6644         * skip.c (skip_file_command, skip_function_command)
6645         (skip_enable_command, skip_disable_command, skip_delete_command):
6646         Constify.
6647
6648 2017-09-27  Tom Tromey  <tom@tromey.com>
6649
6650         * record-btrace.c (cmd_record_btrace_bts_start)
6651         (cmd_record_btrace_pt_start): Constify.
6652
6653 2017-09-27  Tom Tromey  <tom@tromey.com>
6654
6655         * symmisc.c (maintenance_print_symbols)
6656         (maintenance_print_msymbols, maintenance_print_objfiles)
6657         (maintenance_info_symtabs, maintenance_check_symtabs)
6658         (maintenance_expand_symtabs, maintenance_info_line_tables):
6659         Constify.
6660
6661 2017-09-27  Tom Tromey  <tom@tromey.com>
6662
6663         * top.c (new_ui_command): Constify.
6664
6665 2017-09-27  Tom Tromey  <tom@tromey.com>
6666
6667         * symfile.c (add_symbol_file_command)
6668         (remove_symbol_file_command, list_overlays_command)
6669         (map_overlay_command, unmap_overlay_command)
6670         (overlay_auto_command, overlay_manual_command)
6671         (overlay_off_command, overlay_load_command): Constify.
6672
6673 2017-09-27  Tom Tromey  <tom@tromey.com>
6674
6675         * spu-tdep.c (info_spu_event_command, info_spu_signal_command)
6676         (info_spu_mailbox_command, info_spu_dma_command)
6677         (info_spu_proxydma_command): Constify.
6678
6679 2017-09-27  Tom Tromey  <tom@tromey.com>
6680
6681         * cli/cli-logging.c (set_logging_on, set_logging_off): Constify.
6682
6683 2017-09-27  Tom Tromey  <tom@tromey.com>
6684
6685         * cli/cli-script.c (user_defined_command): Constify.
6686
6687 2017-09-27  Tom Tromey  <tom@tromey.com>
6688
6689         * cli/cli-dump.c (dump_memory_command, dump_value_command)
6690         (dump_srec_memory, dump_srec_value, dump_ihex_memory)
6691         (dump_ihex_value, dump_verilog_memory, dump_verilog_value)
6692         (dump_tekhex_memory, dump_tekhex_value, dump_binary_memory)
6693         (dump_binary_value, append_binary_memory, append_binary_value):
6694         Constify.
6695         (struct dump_context) <func>: Constify.
6696         (add_dump_command): Update.
6697
6698 2017-09-27  Tom Tromey  <tom@tromey.com>
6699
6700         * cli/cli-cmds.c (show_version, show_configuration)
6701         (source_command, show_user): Constify.
6702
6703 2017-09-27  Tom Tromey  <tom@tromey.com>
6704
6705         * target.c (maintenance_print_target_stack): Constify.
6706
6707 2017-09-27  Tom Tromey  <tom@tromey.com>
6708
6709         * interps.c (interpreter_exec_cmd): Constify.
6710
6711 2017-09-27  Tom Tromey  <tom@tromey.com>
6712
6713         * record-full.c (cmd_record_full_restore): Constify.
6714
6715 2017-09-27  Tom Tromey  <tom@tromey.com>
6716
6717         * memattr.c (enable_mem_command, disable_mem_command)
6718         (delete_mem_command): Constify.
6719
6720 2017-09-27  Tom Tromey  <tom@tromey.com>
6721
6722         * value.c (show_convenience): Constify.
6723
6724 2017-09-27  Tom Tromey  <tom@tromey.com>
6725
6726         * gdbcore.h (core_file_command): Update.
6727         * corefile.c (core_file_command): Constify.
6728
6729 2017-09-27  Tom Tromey  <tom@tromey.com>
6730
6731         * user-regs.c (maintenance_print_user_registers): Constify.
6732
6733 2017-09-27  Tom Tromey  <tom@tromey.com>
6734
6735         * cp-namespace.c (maintenance_cplus_namespace): Constify.
6736
6737 2017-09-27  Tom Tromey  <tom@tromey.com>
6738
6739         * cp-support.c (first_component_command): Constify.
6740
6741 2017-09-27  Tom Tromey  <tom@tromey.com>
6742
6743         * psymtab.c (maintenance_print_psymbols)
6744         (maintenance_info_psymtabs, maintenance_check_psymtabs):
6745         Constify.
6746
6747 2017-09-27  Tom Tromey  <tom@tromey.com>
6748
6749         * windows-tdep.c (display_tib): Constify.
6750
6751 2017-09-27  Tom Tromey  <tom@tromey.com>
6752
6753         * linux-fork.c (delete_checkpoint_command)
6754         (detach_checkpoint_command): Constify.
6755
6756 2017-09-27  Tom Tromey  <tom@tromey.com>
6757
6758         * cp-abi.c (set_cp_abi_cmd, show_cp_abi_cmd): Constify.
6759
6760 2017-09-27  Tom Tromey  <tom@tromey.com>
6761
6762         * arc-tdep.c (dump_arc_instruction_command): Constify.
6763
6764 2017-09-27  Tom Tromey  <tom@tromey.com>
6765
6766         * valprint.c (set_radix, show_radix): Constify.
6767
6768 2017-09-27  Tom Tromey  <tom@tromey.com>
6769
6770         * dtrace-probe.c (info_probes_dtrace_command): Constify.
6771
6772 2017-09-27  Tom Tromey  <tom@tromey.com>
6773
6774         * command.h (not_just_help_class_command): Update.
6775         * cli/cli-decode.h (not_just_help_class_command): Update.
6776         * cli/cli-decode.c (not_just_help_class_command): Constify.
6777
6778 2017-09-27  Tom Tromey  <tom@tromey.com>
6779
6780         * gdb_bfd.c (maintenance_info_bfds): Constify.
6781
6782 2017-09-27  Tom Tromey  <tom@tromey.com>
6783
6784         * cli/cli-decode.c (add_cmd, set_cmd_cfunc): New function
6785         overloads.
6786         (do_add_cmd): Rename from add_cmd.  Don't call set_cmd_cfunc.
6787         (do_const_cfunc): New function.
6788         (cmd_cfunc_eq): New overload.
6789         (cli_user_command_p): Check do_const_cfunc.
6790         * cli/cli-decode.h (struct cmd_list_element) <function>: New field
6791         const_cfunc.
6792         * command.h (add_cmd): Add const overload and no-function
6793         overload.
6794         (set_cmd_cfunc): Add const overload.
6795         (cmd_const_cfunc_ftype): Declare.
6796         (cmd_cfunc_eq): Add const overload.
6797         * breakpoint.c, cli-cmds.c, cli-dump.c, guile/scm-cmd.c,
6798         python/py-cmd.c, target.c, tracepoint.c: Use no-function add_cmd
6799         overload.
6800
6801 2017-09-27  Tom Tromey  <tom@tromey.com>
6802
6803         * macroexp.c (get_next_token_for_substitution): New function.
6804         (substitute_args): Call it.  Check for __VA_OPT__.
6805
6806 2017-09-26  Walfred Tedeschi  <walfred.tedeschi@intel.com>
6807             Pedro Alves <palves@redhat.com>
6808
6809         * dwarf2read.c (dwarf2_cu): Remove field producer_is_icc and add
6810         producer_is_icc_lt_14.
6811         (producer_is_icc_lt_14): New function.
6812         (check_producer): Add code for checking version of ICC.
6813         (producer_is_icc): Move to producer.c.
6814         (read_structure_type): Restrict ICC workaround to ICC<14.
6815         * producer.c: Include selftest.h.
6816         (producer_is_icc, producer_parsing_tests, _initialize_producer):
6817         New functions.
6818         * producer.h (producer_is_icc): New declaration.
6819
6820 2017-09-26  Walfred Tedeschi  <walfred.tedeschi@intel.com>
6821
6822         * Makefile.in (SFILES): Add producer.c.
6823         (COMMON_OBS): Add producer.o
6824         * amd64-tdep.c (producer.h): Add new include.
6825         * dwarf2read.c (producer.h): Add new include.
6826         * producer.c: New file.
6827         * producer.h: New file.
6828         * utils.c (producer_is_gcc, producer_is_gcc_ge_4): Move to
6829         producer.c.
6830         * utils.h (producer_is_gcc, producer_is_gcc_ge_4): Move to
6831         producer.h.
6832
6833 2017-09-26  Matthias Klose  <doko@ubuntu.com>
6834
6835         * configure.ac: Search ncursesw before ncurses.
6836         Check ncursesw/ncurses.h before ncurses/ncurses.h.
6837         * gdb_curses.h: Include <ncursesw/ncurses.h>
6838         * config.in, configure: Regenerate.
6839
6840 2017-09-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6841
6842         PR gdb/22185
6843         * configure.host <*-*-solaris2.[01], *-*-solaris2.[2-9]*>: Mark as
6844         obsolete.
6845         Use gdb_host sol2 for i[34567]86-*-solaris2*, x86_64-*-solaris2*.
6846         Remove i386sol2 support.
6847         * configure.nat <i386sol2>: Remove.
6848         <sol2-64>: Fold into ...
6849         <sol2>: ... this.
6850         Move common settings to default section.
6851         Add sol-thread.o.
6852         * configure.tgt <i[34567]86-*-solaris2.1[0-9]*,
6853         x86_64-*-solaris2.1[0-9]*>: Rename to ...
6854         <i[34567]86-*-solaris2*, x86_64-*-solaris2*>: ... this.
6855         <i[34567]86-*-solaris*>: Remove.
6856         <sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*>: Remove.
6857
6858         * configure.ac: Remove wctype in libw check.
6859         (_MSE_INT_H): Don't define on Solaris 7-9.
6860         <solaris*>: Remove libthread_db.so.1 check.
6861         * configure: Regenerate.
6862         * config.in: Regenerate.
6863
6864         * proc-service.c: Remove PROC_SERVICE_IS_OLD handling.
6865         (gdb_ps_prochandle_t, gdb_ps_read_buf_t, gdb_ps_write_buf_t)
6866         (gdb_ps_size_t): Remove.
6867         Use base types in users.
6868         * sol-thread.c: Likewise, also for gdb_ps_addr_t.
6869
6870         * NEWS (Changes since GDB 8.0): Document Solaris 2.0-9 removal.
6871
6872 2017-09-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6873
6874         PR build/22206
6875         * sparc64-tdep.c (adi_tag_fd): Print pid as long.
6876         (adi_is_addr_mapped): Likewise.
6877         (PSR_ICC): Don't redefine.
6878         (PSR_IMPL): Likewise.
6879
6880 2017-09-25  Tom Tromey  <tom@tromey.com>
6881
6882         * regcache.c (regcache::dump): Use string_printf.
6883
6884 2017-09-25  Tom Tromey  <tom@tromey.com>
6885
6886         * regcache.c (class regcache_invalidator): New.
6887         (struct register_to_invalidate): Remove.
6888         (make_cleanup_regcache_invalidate): Remove.
6889         (regcache::raw_write): Use regcache_invalidator.
6890
6891 2017-09-25  Tom Tromey  <tom@tromey.com>
6892
6893         * spu-tdep.c (spu2ppu_sniffer): Update.
6894         * regcache.h (make_cleanup_regcache_xfree): Don't declare.
6895         * regcache.c (do_regcache_xfree, make_cleanup_regcache_xfree):
6896         Remove.
6897         * ppc-linux-tdep.c (ppu2spu_sniffer): Update.
6898         * mi/mi-main.c (mi_cmd_data_list_changed_registers): Update.
6899         * frame.h (frame_save_as_regcache): Return std::unique_ptr.
6900         * frame.c (frame_save_as_regcache): Return std::unique_ptr.
6901         (frame_pop): Update.
6902
6903 2017-09-25  Tom Tromey  <tom@tromey.com>
6904
6905         * spu-tdep.c (spu2ppu_dealloc_cache): Use delete.
6906         * regcache.h (regcache_xfree): Don't declare.
6907         * regcache.c (regcache_xfree): Remove.
6908         (do_regcache_xfree): Use delete.
6909         * ppc-linux-tdep.c (ppu2spu_dealloc_cache): Use delete.
6910         * linux-fork.c (free_fork): Use delete.
6911         (fork_save_infrun_state): Likewise.
6912         * jit.c (jit_dealloc_cache): Use delete.
6913         * infrun.c (discard_infcall_suspend_state): Use delete.
6914
6915 2017-09-25  Tom Tromey  <tom@tromey.com>
6916
6917         * regcache.h (regcache_xmalloc): Don't declare.
6918         (regcache_raw_set_cached_value): Update comment.
6919         * regcache.c (regcache_xmalloc): Remove.
6920         * ppc-linux-tdep.c (ppu2spu_sniffer): Use new.
6921         * jit.c (jit_frame_sniffer): Use new.
6922         * frame.c (frame_save_as_regcache): Use new.
6923
6924 2017-09-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6925
6926         * NEWS: Advertise support for guarded-storage registers on IBM z.
6927
6928 2017-09-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6929
6930         * s390-linux-nat.c (have_regset_gs): New static variable.
6931         (s390_linux_fetch_inferior_registers): Handle guarded-storage
6932         control block and guarded-storage broadcast control regsets.
6933         (s390_read_description): Detect whether the target has
6934         guarded-storage support, return appropriate tdesc.
6935         * s390-linux-tdep.c (features/s390-gs-linux64.c): New include.
6936         (features/s390x-gs-linux64.c): Likewise.
6937         (struct gdbarch_tdep) <have_gs>: New field.
6938         (s390_regmap_gs, s390_regmap_gsbc, s390_gs_regset)
6939         (s390_gsbc_regset): New variables.
6940         (s390_iterate_over_regset_sections): Iterate over s390_gs_regset
6941         and s390_gsbc_regset, if applicable.
6942         (s390_core_read_description): Check whether core file was from a
6943         target with guarded-storage support; include appropriate regsets.
6944         (s390_gdbarch_init): Add registers for guarded-storage support.
6945         (_initialize_s390_tdep): Initialize new target descriptions that
6946         include registers for guarded-storage support.
6947         * s390-linux-tdep.h (HWCAP_S390_GS, S390_GSD_REGNUM)
6948         (S390_GSSM_REGNUM, S390_GSEPLA_REGNUM)
6949         (S390_BC_GSD_REGNUM, S390_BC_GSSM_REGNUM): New defines.
6950         (S390_NUM_REGS): Adjust macro definition.
6951         (s390_gs_regset, s390_gsbc_regset, tdesc_s390_gs_linux64)
6952         (tdesc_s390x_gs_linux64): New declarations.
6953
6954 2017-09-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6955
6956         * features/s390-gs-linux64.xml: New file.
6957         * features/s390-gs.xml: New file.
6958         * features/s390-gsbc.xml: New file.
6959         * features/s390x-gs-linux64.xml: New file.
6960         * features/Makefile (WHICH): Add s390-gs-linux64 and
6961         s390x-gs-linux64.
6962         (s390-gs-linux64-expedite, s390x-gs-linux64-expedite): New macros.
6963         (XMLTOC): Add s390-gs-linux64.xml and s390x-linux64.xml.
6964         * features/s390-gs-linux64.c: New generated file.
6965         * features/s390x-gs-linux64.c: New file.
6966         * regformats/s390-gs-linux64.dat: New file.
6967         * regformats/s390x-gs-linux64.dat: New file.
6968
6969 2017-09-23  Tom Tromey  <tom@tromey.com>
6970
6971         * defs.h (make_cleanup_override_quit_handler): Don't declare.
6972
6973 2017-09-22  Tom Tromey  <tom@tromey.com>
6974
6975         * utils.c (class scoped_input_handler) <m_quit_handler>: Change
6976         type to scoped_restore_tmpl.
6977         <scoped_input_handler>: Initialize m_quit_handler directly.
6978
6979 2017-09-22  Sergio Durigan Junior  <sergiodj@redhat.com>
6980
6981         * cli/cli-cmds.c (pwd_command): Use "getcwd (NULL, 0)".
6982         (cd_command): Likewise.  Free "current_directory" before
6983         assigning to it.
6984         * main.c (captured_main_1): Use "getcwd (NULL, 0)".
6985         * mi/mi-cmd-env.c (mi_cmd_env_pwd): Likewise.
6986         * top.c (gdb_dirbuf): Remove global declaration.
6987         * top.h (gdb_dirbuf): Likewise.
6988
6989 2017-09-22  Sergio Durigan Junior  <sergiodj@redhat.com>
6990
6991         * gnulib/aclocal.m4: Regenerate.
6992         * gnulib/config.in: Regenerate.
6993         * gnulib/configure: Regenerate.
6994         * gnulib/import/Makefile.am: Regenerate.
6995         * gnulib/import/Makefile.in: Regenerate.
6996         * gnulib/import/assure.h: New file.
6997         * gnulib/import/at-func.c: Likewise
6998         * gnulib/import/chdir-long.c: New file.
6999         * gnulib/import/chdir-long.h: New file.
7000         * gnulib/import/cloexec.c: New file.
7001         * gnulib/import/cloexec.h: New file.
7002         * gnulib/import/close.c: New file.
7003         * gnulib/import/closedir.c: New file.
7004         * gnulib/import/dirent-private.h: New file.
7005         * gnulib/import/dup-safer.c: New file.
7006         * gnulib/import/dup.c: New file.
7007         * gnulib/import/dup2.c: New file.
7008         * gnulib/import/error.c: New file.
7009         * gnulib/import/error.h: New file.
7010         * gnulib/import/exitfail.c: New file.
7011         * gnulib/import/exitfail.h: New file.
7012         * gnulib/import/fchdir.c: New file.
7013         * gnulib/import/fcntl.c: New file.
7014         * gnulib/import/fcntl.in.h: New file.
7015         * gnulib/import/fd-hook.c: New file.
7016         * gnulib/import/fd-hook.h: New file.
7017         * gnulib/import/fd-safer.c: New file.
7018         * gnulib/import/fdopendir.c: New file.
7019         * gnulib/import/filename.h: New file.
7020         * gnulib/import/filenamecat-lgpl.c: New file.
7021         * gnulib/import/filenamecat.h: New file.
7022         * gnulib/import/fstat.c: New file.
7023         * gnulib/import/fstatat.c: New file.
7024         * gnulib/import/getcwd-lgpl.c: New file.
7025         * gnulib/import/getcwd.c: New file.
7026         * gnulib/import/getdtablesize.c: New file.
7027         * gnulib/import/getlogin_r.c: New file.
7028         * gnulib/import/getprogname.c: New file.
7029         * gnulib/import/getprogname.h: New file.
7030         * gnulib/import/gettext.h: New file.
7031         * gnulib/import/glob-libc.h: New file.
7032         * gnulib/import/glob.c: New file.
7033         * gnulib/import/glob.in.h: New file.
7034         * gnulib/import/intprops.h: New file.
7035         * gnulib/import/m4/chdir-long.m4: New file.
7036         * gnulib/import/m4/close.m4: New file.
7037         * gnulib/import/m4/closedir.m4: New file.
7038         * gnulib/import/m4/d-ino.m4: New file.
7039         * gnulib/import/m4/d-type.m4: New file.
7040         * gnulib/import/m4/dup.m4: New file.
7041         * gnulib/import/m4/dup2.m4: New file.
7042         * gnulib/import/m4/error.m4: New file.
7043         * gnulib/import/m4/fchdir.m4: New file.
7044         * gnulib/import/m4/fcntl.m4: New file.
7045         * gnulib/import/m4/fcntl_h.m4: New file.
7046         * gnulib/import/m4/fdopendir.m4: New file.
7047         * gnulib/import/m4/filenamecat.m4: New file.
7048         * gnulib/import/m4/fstat.m4: New file.
7049         * gnulib/import/m4/fstatat.m4: New file.
7050         * gnulib/import/m4/getcwd-abort-bug.m4: New file.
7051         * gnulib/import/m4/getcwd-path-max.m4: New file.
7052         * gnulib/import/m4/getcwd.m4: New file.
7053         * gnulib/import/m4/getdtablesize.m4: New file.
7054         * gnulib/import/m4/getlogin_r.m4: New file.
7055         * gnulib/import/m4/getprogname.m4: New file.
7056         * gnulib/import/m4/glob.m4: New file.
7057         * gnulib/import/m4/gnulib-cache.m4: Regenerate.
7058         * gnulib/import/m4/gnulib-comp.m4: Regenerate.
7059         * gnulib/import/m4/mempcpy.m4: New file.
7060         * gnulib/import/m4/memrchr.m4: New file.
7061         * gnulib/import/m4/mode_t.m4: New file.
7062         * gnulib/import/m4/msvc-inval.m4: New file.
7063         * gnulib/import/m4/msvc-nothrow.m4: New file.
7064         * gnulib/import/m4/open.m4: New file.
7065         * gnulib/import/m4/openat.m4: New file.
7066         * gnulib/import/m4/opendir.m4: New file.
7067         * gnulib/import/m4/readdir.m4: New file.
7068         * gnulib/import/m4/realloc.m4: New file.
7069         * gnulib/import/m4/rewinddir.m4: New file.
7070         * gnulib/import/m4/save-cwd.m4: New file.
7071         * gnulib/import/m4/strdup.m4: New file.
7072         * gnulib/import/m4/strerror.m4: New file.
7073         * gnulib/import/m4/unistd-safer.m4: New file.
7074         * gnulib/import/mempcpy.c: New file.
7075         * gnulib/import/memrchr.c: New file.
7076         * gnulib/import/msvc-inval.c: New file.
7077         * gnulib/import/msvc-inval.h: New file.
7078         * gnulib/import/msvc-nothrow.c: New file.
7079         * gnulib/import/msvc-nothrow.h: New file.
7080         * gnulib/import/open.c: New file.
7081         * gnulib/import/openat-die.c: New file.
7082         * gnulib/import/openat-priv.h: New file.
7083         * gnulib/import/openat-proc.c: New file.
7084         * gnulib/import/openat.c: New file.
7085         * gnulib/import/openat.h: New file.
7086         * gnulib/import/opendir.c: New file.
7087         * gnulib/import/pipe-safer.c: New file.
7088         * gnulib/import/readdir.c: New file.
7089         * gnulib/import/realloc.c: New file.
7090         * gnulib/import/rewinddir.c: New file.
7091         * gnulib/import/save-cwd.c: New file.
7092         * gnulib/import/save-cwd.h: New file.
7093         * gnulib/import/strdup.c: New file.
7094         * gnulib/import/strerror-override.c: New file.
7095         * gnulib/import/strerror-override.h: New file.
7096         * gnulib/import/strerror.c: New file.
7097         * gnulib/import/unistd--.h: New file.
7098         * gnulib/import/unistd-safer.h: New file.
7099         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add
7100         "getcwd" and "glob".
7101         * ser-tcp.c: Undefine "close" before redefining it.
7102
7103 2017-09-21  Simon Marchi  <simon.marchi@ericsson.com>
7104
7105         * guile/scm-value.c (gdbscm_value_address): Initialize address,
7106         get rid of res_val.
7107
7108 2017-09-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7109
7110         * configure.nat <i386sol2,i386>: Add fork-inferior.o to NATDEPFILES.
7111         <sol2,sparc>: Likewise.
7112         <sol2-64,i386>: Likewise.
7113
7114         * warning.m4 (AM_GDB_WARNINGS): Disable -Wunknown-pragmas,
7115         -Wdeprecated-declarations on *-*-solaris*.
7116         * configure: Regenerate.
7117
7118         * procfs.c: Include "nat/inferior.h".
7119         (procfs_info_proc): Fix typo.
7120
7121 2017-09-21  Kevin Buettner  <kevinb@redhat.com>
7122
7123         * remote.c (vector): Include.
7124         (struct private_thread_info): Add field, thread_handle.
7125         (free_private_thread_info): Deallocate storage associated with
7126         thread handle.
7127         (get_private_info_thread): Initialize `thread_handle' field.
7128         (struct thread_item): Add field, thread_handle.
7129         (clear_threads_listing_context): Deallocate storage associated
7130         with thread handle.
7131         (start_thread): Add support for "handle" attribute.
7132         (thread_attributes): Add "handle".
7133         (remote_get_threads_with_qthreadinfo): Initialize thread_handle
7134         field.
7135         (remote_update_thread_list): Update thread_handle.
7136         (remote_thread_handle_to_thread_info): New function.
7137         (init_remote_ops): Initialize to_thread_handle_to_thread_info.
7138
7139 2017-09-21  Kevin Buettner  <kevinb@redhat.com>
7140
7141         * python/py-inferior.c (gdbpy_thread_from_thread_handle): New
7142         function.
7143         (inferior_object_methods): Add gdbpy_thread_from_thread_handle.
7144         * python/python-internal.h (thread_object_type): Declare.
7145
7146 2017-09-21  Kevin Buettner  <kevinb@redhat.com>
7147
7148         * target.h (struct target_ops): Add to_thread_handle_to_thread_info.
7149         (target_thread_handle_to_thread_info): Declare.
7150         * target.c (target_thread_handle_to_thread_info): New function.
7151         * target-delegates.c: Regenerate.
7152         * gdbthread.h (find_thread_by_handle): Declare.
7153         * thread.c (find_thread_by_handle): New function.
7154         * linux-thread-db.c (thread_db_thread_handle_to_thread_info): New
7155         function.
7156         (init_thread_db_ops): Register thread_db_thread_handle_to_thread_info.
7157
7158 2017-09-21  Simon Marchi  <simon.marchi@ericsson.com>
7159
7160         * nat/linux-waitpid.c (linux_debug): Add ATTRIBUTE_PRINTF.
7161
7162 2017-09-21  Simon Marchi  <simon.marchi@ericsson.com>
7163
7164         * microblaze-tdep.c (microblaze_debug): Add ATTRIBUTE_PRINTF.
7165
7166 2017-09-21  Yao Qi  <yao.qi@linaro.org>
7167
7168         * configure.tgt (aarch64*-*-freebsd*): Add fbsd-tdep.o solib-svr4.o
7169         to gdb_target_obs.
7170
7171 2017-09-20  Tom Tromey  <tom@tromey.com>
7172
7173         * breakpoint.c (struct counted_command_line): Remove.
7174         (breakpoint_commands): Update.
7175         (alloc_counted_command_line, incref_counted_command_line)
7176         (decref_counted_command_line, do_cleanup_counted_command_line)
7177         (make_cleanup_decref_counted_command_line): Remove.
7178         (breakpoint_set_commands, commands_command_1, ~bpstats, bpstats)
7179         (bpstat_clear_actions, bpstat_do_actions_1, watchpoint_check)
7180         (bpstat_stop_status, print_one_breakpoint_location, ~breakpoint)
7181         (save_breakpoints): Update.
7182         * breakpoint.h (counted_command_line): Now a typedef to
7183         shared_ptr.
7184         (struct breakpoint) <commands>: Now a counted_command_line.
7185         (struct bpstats) <command>: Likewise.
7186
7187 2017-09-20  Tom Tromey  <tom@tromey.com>
7188
7189         * breakpoint.c (struct commands_info, do_map_commands_command):
7190         Remove.
7191         (commands_command_1): Update.
7192         (iterate_over_related_breakpoints): Take a function_view.
7193         (do_delete_breakpoint, do_map_delete_breakpoint): Remove.
7194         (delete_command): Update.
7195         (map_breakpoint_numbers): Take a function_view.
7196         (do_disable_breakpoint, do_map_delete_breakpoint): Remove.
7197         (disable_command): Update.
7198         (do_enable_breakpoint, do_map_enable_breakpoint): Remove.
7199         (enable_command): Update.
7200         (struct disp_data, do_enable_breakpoint_disp)
7201         (do_map_enable_once_breakpoint, do_map_enable_count_breakpoint)
7202         (do_map_enable_delete_breakpoint): Remove.
7203         (enable_once_command, enable_count_command, enable_delete_command)
7204         (delete_trace_variable_command): Update.
7205
7206 2017-09-20  Tom Tromey  <tom@tromey.com>
7207
7208         * breakpoint.c (~bpstats): Rename from bpstat_free.  Update.
7209         (bpstat_clear): Use delete.
7210         (bpstats): New constructors.
7211         (bpstat_copy, bpstat_stop_status): Use new.
7212         (dprintf_after_condition_true): Update.
7213         * breakpoint.h (bpstats::bpstats): Add constructors.
7214         (bpstats::~bpstats): Add destructor.
7215
7216 2017-09-20  Pedro Alves  <palves@redhat.com>
7217
7218         * eval.c (make_params): Delete, refactored as ...
7219         (class fake_method): ... this new type's ctor.
7220         (fake_method::~fake_method): New.
7221         (evaluate_subexp_standard): Use 'fake_method'.
7222
7223 2017-09-20  Tom Tromey  <tom@tromey.com>
7224
7225         * windows-nat.c (get_windows_debug_event, windows_wait)
7226         (do_initial_windows_stuff, windows_attach): Update.
7227         * utils.c (vwarning, internal_vproblem): Update.
7228         (ui_unregister_input_event_handler_cleanup)
7229         (prepare_to_handle_input): Remove.
7230         (class scoped_input_handler): New.
7231         (defaulted_query, prompt_for_continue): Update.
7232         * tui/tui-hooks.c (tui_refresh_frame_and_register_information):
7233         Update.
7234         * top.c (undo_terminal_modifications_before_exit): Update.
7235         * target/target.h (target_terminal_init, target_terminal_inferior)
7236         (target_terminal_ours): Don't declare.
7237         (class target_terminal): New.
7238         * target.h (target_terminal_is_inferior, target_terminal_is_ours)
7239         (target_terminal_ours_for_output)
7240         (make_cleanup_restore_target_terminal): Don't declare.
7241         (target_terminal_info): Remove.
7242         * target.c (enum terminal_state, terminal_state): Remove.
7243         (target_terminal::terminal_state): Define.
7244         (target_terminal::init): Rename from target_terminal_init.
7245         (target_terminal::inferior): Rename from
7246         target_terminal_inferior.
7247         (target_terminal::ours): Rename from target_terminal_ours.
7248         (target_terminal::ours_for_output): Rename from
7249         target_terminal_ours_for_output.
7250         (target_terminal::info): New method.
7251         (cleanup_restore_target_terminal)
7252         (make_cleanup_restore_target_terminal): Remove.
7253         * solib.c (handle_solib_event): Update.
7254         * remote.c (remote_serial_quit_handler): Update.
7255         (remote_terminal_inferior, remote_wait_as): Update.
7256         * record-full.c (record_full_wait_1): Update.
7257         * nto-procfs.c (procfs_create_inferior): Update.
7258         * nat/fork-inferior.c (startup_inferior): Update.
7259         * mi/mi-interp.c (mi_new_thread, mi_thread_exit)
7260         (mi_record_changed, mi_inferior_added, mi_inferior_appeared)
7261         (mi_inferior_exit, mi_inferior_removed, mi_traceframe_changed)
7262         (mi_tsv_created, mi_tsv_deleted, mi_tsv_modified)
7263         (mi_breakpoint_created, mi_breakpoint_deleted)
7264         (mi_breakpoint_modified, mi_on_resume, mi_solib_loaded)
7265         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
7266         (mi_user_selected_context_changed, report_initial_inferior):
7267         Update.
7268         * linux-nat.c (linux_nat_attach, linux_nat_terminal_ours)
7269         (linux_nat_terminal_inferior): Update.
7270         * infrun.c (follow_fork_inferior)
7271         (handle_vfork_child_exec_or_exit, do_target_resume)
7272         (check_curr_ui_sync_execution_done, handle_inferior_event_1)
7273         (handle_signal_stop, maybe_remove_breakpoints, normal_stop):
7274         Update.
7275         * inflow.c (child_terminal_init, info_terminal_command): Update.
7276         * infcmd.c (post_create_inferior, continue_1, prepare_one_step)
7277         (attach_command): Update.
7278         * infcall.c (call_thread_fsm_should_stop): Update.
7279         * gnu-nat.c (gnu_attach): Update.
7280         * extension.c (struct active_ext_lang_state)
7281         (restore_active_ext_lang): Update.
7282         * exceptions.c (print_flush): Update.
7283         * event-top.c (async_enable_stdin, default_quit_handler): Update.
7284         (struct quit_handler_cleanup_data, restore_quit_handler)
7285         (restore_quit_handler_dtor, make_cleanup_override_quit_handler):
7286         Remove.
7287         * cp-support.c (gdb_demangle): Update.
7288         * breakpoint.c (update_inserted_breakpoint_locations)
7289         (insert_breakpoint_locations, handle_jit_event)
7290         (disable_breakpoints_in_unloaded_shlib): Update.
7291         * annotate.c (annotate_breakpoints_invalid)
7292         (annotate_frames_invalid): Update.
7293
7294 2017-09-20  Tom Tromey  <tom@tromey.com>
7295
7296         * main.c (catch_command_errors): Rename from
7297         catch_command_errors_const.
7298         (captured_main_1): Update.
7299
7300 2017-09-20  Pedro Alves  <palves@redhat.com>
7301
7302         * cli/cli-cmds.c (list_command): Use print_sal_location.
7303         (print_sal_location): New function.
7304         (ambiguous_line_spec): Use print_sal_location.
7305         * linespec.c (symbol_to_sal): Record the symbol in the sal.
7306         * symtab.c (find_function_start_sal): Likewise.
7307         * symtab.h (symtab_and_line::symbol): New field.
7308
7309 2017-09-20  Pedro Alves  <palves@redhat.com>
7310
7311         * linespec.c (minsym_found): Handle non-text minsyms.
7312         (symbol_to_sal): Record a sal.pc for non-block, non-label symbols.
7313
7314 2017-09-20  Walfred Tedeschi  <walfred.tedeschi@intel.com>
7315
7316         * features/Makefile (i386-avx-mpx-avx512-pku.dat): Add missing
7317         backslash.
7318
7319 2017-09-20  Walfred Tedeschi  <walfred.tedeschi@intel.com>
7320
7321         * gdb.arch/i386-avx512.c (move_zmm_data_to_reg): Use
7322         vmovups instead vmovaps.
7323         (move_zmm_data_to_memory): Use vmovups instead vmovaps.
7324
7325 2017-09-19  John Baldwin  <jhb@FreeBSD.org>
7326
7327         * NEWS (Changes since GDB 8.0): Add starti.
7328         * infcmd.c (enum run_break): New.
7329         (run_command_1): Queue pending event for RUN_STOP_AT_FIRST_INSN
7330         case.
7331         (run_command): Use enum run_how.
7332         (start_command): Likewise.
7333         (starti_command): New function.
7334         (RUN_ARGS_HELP): New macro.
7335         (_initialize_infcmd): Use RUN_ARGS_HELP for run and start
7336         commands.  Add starti command.
7337
7338 2017-09-19  Yao Qi  <yao.qi@linaro.org>
7339
7340         * Makefile.in (monitor.o): Remove the rule.
7341
7342 2017-09-19  Yao Qi  <yao.qi@linaro.org>
7343
7344         * annotate.h (struct annotate_arg_emitter): Use
7345         DISABLE_COPY_AND_ASSIGN.
7346         * common/refcounted-object.h (refcounted_object): Likewise.
7347         * completer.h (struct completion_result): Likewise.
7348         * dwarf2read.c (struct dwarf2_per_objfile): Likewise.
7349         * filename-seen-cache.h (filename_seen_cache): Likewise.
7350         * gdbcore.h (thread_section_name): Likewise.
7351         * gdb_regex.h (compiled_regex): Likewise.
7352         * gdbthread.h (scoped_restore_current_thread): Likewise.
7353         * inferior.h (scoped_restore_current_inferior): Likewise.
7354         * jit.c (jit_reader): Likewise.
7355         * linespec.h (struct linespec_result): Likewise.
7356         * mi/mi-parse.h (struct mi_parse): Likewise.
7357         * nat/fork-inferior.c (execv_argv): Likewise.
7358         * progspace.h (scoped_restore_current_program_space): Likewise.
7359         * python/python-internal.h (class gdbpy_enter): Likewise.
7360         * regcache.h (regcache): Likewise.
7361         * target-descriptions.c (struct tdesc_reg): Likewise.
7362         (struct tdesc_type): Likewise.
7363         (struct tdesc_feature): Likewise.
7364         * ui-out.h (ui_out_emit_type): Likewise.
7365
7366 2017-09-18  Simon Marchi  <simon.marchi@ericsson.com>
7367
7368         * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Remove
7369         label abort_expression.
7370
7371 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7372
7373         * common/buffer.c (buffer_xml_printf): Adjust.
7374         * common/xml-utils.c (xml_escape_text): Change return type to
7375         std::string, update code accordingly.
7376         * common/xml-utils.h (xml_escape_text): Change return type to
7377         std::string.
7378         * rs6000-aix-tdep.c (rs6000_aix_shared_library_to_xml): Adjust.
7379         * windows-tdep.c (windows_xfer_shared_library): Adjust.
7380         * unittests/xml-utils-selftests.c (test_xml_escape_text):
7381         Adjust.
7382
7383 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7384
7385         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add new source file.
7386         (SUBDIR_UNITTESTS_OBS): Add new object file.
7387         * unittests/xml-utils-selftests.c: New file.
7388
7389 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7390
7391         * common/selftest.h (selftest): New struct/interface.
7392         (register_test): Add name parameter, add new overload.
7393         (run_tests): Add filter parameter.
7394         (for_each_selftest_ftype): New typedef.
7395         (for_each_selftest): New declaration.
7396         * common/selftest.c (tests): Change type to
7397         map<string, unique_ptr<selftest>>.
7398         (simple_selftest): New struct.
7399         (register_test): New function.
7400         (register_test): Add name parameter and use it.
7401         (run_tests): Add filter parameter and use it.  Add prints.
7402         Adjust to vector -> map change.
7403         * aarch64-tdep.c (_initialize_aarch64_tdep): Add names when
7404         registering selftests.
7405         * arm-tdep.c (_initialize_arm_tdep): Likewise.
7406         * disasm-selftests.c (_initialize_disasm_selftests): Likewise.
7407         * dwarf2-frame.c (_initialize_dwarf2_frame): Likewise.
7408         * dwarf2loc.c (_initialize_dwarf2loc): Likewise.
7409         * findvar.c (_initialize_findvar): Likewise.
7410         * gdbarch-selftests.c (_initialize_gdbarch_selftests): Likewise.
7411         * maint.c (maintenance_selftest): Update call to run_tests.
7412         (maintenance_info_selftests): New function.
7413         (_initialize_maint_cmds): Register "maintenance info selftests"
7414         command.  Update "maintenance selftest" doc.
7415         * regcache.c (_initialize_regcache): Add names when registering
7416         selftests.
7417         * rust-exp.y (_initialize_rust_exp): Likewise.
7418         * selftest-arch.c (gdbarch_selftest): New struct.
7419         (gdbarch_tests): Remove.
7420         (register_test_foreach_arch): Add name parameter.  Call
7421         register_test.
7422         (tests_with_arch): Remove, move most content to
7423         gdbarch_selftest::operator().
7424         (_initialize_selftests_foreach_arch): Remove.
7425         * selftest-arch.h (register_test_foreach_arch): Add name
7426         parameter.
7427         (run_tests_with_arch): New declaration.
7428         * utils-selftests.c (_initialize_utils_selftests): Add names
7429         when registering selftests.
7430         * utils.c (_initialize_utils): Likewise.
7431         * unittests/array-view-selftests.c
7432         (_initialize_array_view_selftests): Likewise.
7433         * unittests/environ-selftests.c (_initialize_environ_selftests):
7434         Likewise.
7435         * unittests/function-view-selftests.c
7436         (_initialize_function_view_selftests): Likewise.
7437         * unittests/offset-type-selftests.c
7438         (_initialize_offset_type_selftests): Likewise.
7439         * unittests/optional-selftests.c
7440         (_initialize_optional_selftests): Likewise.
7441         * unittests/scoped_restore-selftests.c
7442         (_initialize_scoped_restore_selftests): Likewise.
7443         * NEWS: Document "maintenance selftest" and "maint info
7444         selftests".
7445
7446 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7447
7448         * mi/mi-main.c (mi_load_progress): Restore current_uiout using a
7449         scoped_restore.
7450
7451 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7452
7453         * mi/mi-main.c (mi_load_progress): Make uiout variable
7454         a unique_ptr.
7455
7456 2017-09-15  Pedro Alves  <palves@redhat.com>
7457
7458         * compile/compile-c-types.c (convert_enum, convert_int)
7459         (convert_float): Adjust to refer to int_type_v0 and float_type_v0.
7460
7461 2017-09-15  Simon Marchi  <simon.marchi@ericsson.com>
7462
7463         * dwarf2read.c (copy_string): Remove.
7464         (parse_macro_definition): Replace copy_string with savestring.
7465
7466 2017-09-15  Yao Qi  <yao.qi@linaro.org>
7467
7468         * configure.tgt (i[34567]86-*-darwin*): Append amd64.o to
7469         gdb_target_obs.
7470         (i[34567]86-*-solaris2.1[0-9]* | x86_64-*-solaris2.1[0-9]*):
7471         Likewise.
7472         (i[34567]86-*-linux*): Likewise.
7473
7474 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7475
7476         * dwarf2expr.h (dwarf_stack_value): Add constructor.
7477         (dwarf_expr_context) <~dwarf_expr_context>: Define as default.
7478         <stack>: Change type to std::vector.
7479         <stack_len, stack_allocated>: Remove.
7480         <grow_stack>: Remove.
7481         * dwarf2expr.c (dwarf_expr_context::dwarf_expr_context): Adjust.
7482         (dwarf_expr_context::~dwarf_expr_context): Remove.
7483         (dwarf_expr_context::grow_stack): Remove.
7484         (dwarf_expr_context::push): Adjust.
7485         (dwarf_expr_context::pop): Adjust.
7486         (dwarf_expr_context::fetch): Adjust.
7487         (dwarf_expr_context::fetch_in_stack_memory): Adjust.
7488         (dwarf_expr_context::stack_empty_p): Adjust.
7489         (dwarf_expr_context::execute_stack_op): Adjust.
7490
7491 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7492
7493         * dwarf2expr.h (dwarf_expr_context) <stack_empty_p>: Change
7494         return type to bool.
7495         * dwarf2expr.c (dwarf_expr_context::stack_empty_p): Likewise.
7496
7497 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7498
7499         * dwarf2expr.h (dwarf_expr_piece) <v.mem.in_stack_memory>:
7500         Change type to bool.
7501         (dwarf_stack_value) <in_stack_memory>: Likewise.
7502         (dwarf_expr_context) <push_address>: Change parameter type to
7503         bool.
7504         <fetch_in_stack_memory>: Change return type to bool.
7505         <push>: Change parameter type to bool.
7506         * dwarf2expr.c (dwarf_expr_context::push): Change parameter type
7507         to bool.
7508         (dwarf_expr_context::push_address): Likewise.
7509         (dwarf_expr_context::fetch_in_stack_memory): Change return type
7510         to bool.
7511         (dwarf_expr_context::execute_stack_op): Adjust.
7512         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Adjust.
7513
7514 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7515
7516         * dwarf2expr.h (struct dwarf_expr_piece): Move up.
7517         (struct dwarf_expr_context) <n_pieces>: Remove.
7518         <pieces>: Change type to std::vector.
7519         * dwarf2expr.c (dwarf_expr_context::dwarf_expr_context): Adjust.
7520         (dwarf_expr_context::~dwarf_expr_context): Don't manually free
7521         pieces.
7522         (dwarf_expr_context::add_piece): Adjust.
7523         * dwarf2loc.c (struct piece_closure): Initialize fields.
7524         <n_pieces>: Remove.
7525         <pieces>: Change type to std::vector.
7526         (allocate_piece_closure): Adjust, change parameter to
7527         std::vector rvalue and std::move it to piece_closure.
7528         (rw_pieced_value): Adjust.
7529         (check_pieced_synthetic_pointer): Adjust.
7530         (indirect_synthetic_pointer): Adjust.
7531         (coerce_pieced_ref): Adjust.
7532         (free_pieced_value_closure):  Adjust.  Use delete to free
7533         piece_closure.
7534         (dwarf2_evaluate_loc_desc_full): Adjust.  std::move ctx.pieces
7535         to allocate_piece_closure.
7536         (dwarf2_loc_desc_get_symbol_read_needs): Adjust.
7537
7538 2017-09-12  Simon Marchi  <simon.marchi@ericsson.com>
7539
7540         * probe.h (probe_ops_cp): Remove typedef.
7541         (DEF_VEC_P (probe_ops_cp)): Remove.
7542         (all_probe_ops): Change type to std::vector.
7543         * probe.c (info_probes_for_ops): Adjust to vector change.
7544         (probe_linespec_to_ops): Likewise.
7545         (all_probe_ops): Change type to std::vector.
7546         (_initialize_probe): Adjust to vector change.
7547         * dtrace-probe.c (_initialize_dtrace_probe): Likewise.
7548         * elfread.c (elf_get_probes): Likewise.
7549         * stap-probe.c (_initialize_stap_probe): Likewise.
7550
7551 2017-09-12  Simon Marchi  <simon.marchi@ericsson.com>
7552
7553         * probe.h (struct bound_probe): Define constructors.
7554         * probe.c (bound_probe_s): Remove typedef.
7555         (DEF_VEC_O (bound_probe_s)): Remove VEC.
7556         (collect_probes): Change return type to std::vector, remove
7557         cleanup.
7558         (compare_probes): Return bool, change parameter type.  Change
7559         semantic to "less than".
7560         (gen_ui_out_table_header_info): Change parameter to std::vector
7561         and update.
7562         (exists_probe_with_pops): Likewise.
7563         (info_probes_for_ops): Update to std::vector change.
7564         (enable_probes_command): Likewise.
7565         (disable_probes_command): Likewise.
7566
7567 2017-09-12  Simon Marchi  <simon.marchi@ericsson.com>
7568
7569         * probe.h (struct probe_ops) <get_probes>: Change parameter from
7570         vec to std::vector.
7571         * probe.c (parse_probes_in_pspace): Update.
7572         (find_probes_in_objfile): Update.
7573         (find_probe_by_pc): Update.
7574         (collect_probes): Update.
7575         (probe_any_get_probes): Update.
7576         * symfile.h (struct sym_probe_fns) <sym_get_probes> Change
7577         return type to reference to std::vector.
7578         * dtrace-probe.c (dtrace_process_dof_probe): Change parameter to
7579         std::vector and update.
7580         (dtrace_process_dof): Likewise.
7581         (dtrace_get_probes): Likewise.
7582         * elfread.c (elf_get_probes): Change return type to std::vector,
7583         store an std::vector in bfd_data.
7584         (probe_key_free): Update to std::vector.
7585         * stap-probe.c (handle_stap_probe): Change parameter to
7586         std::vector and update.
7587         (stap_get_probes): Likewise.
7588         * symfile-debug.c (debug_sym_get_probes): Change return type to
7589         std::vector and update.
7590
7591 2017-09-11  Tom Tromey  <tom@tromey.com>
7592
7593         * breakpoint.c (program_breakpoint_here_p): Update.
7594         * target.c (make_scoped_restore_show_memory_breakpoints): Rename
7595         from make_show_memory_breakpoints_cleanup.  Return a
7596         scoped_restore_tmpl<int>.
7597         (restore_show_memory_breakpoints): Remove.
7598         * ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint): Update.
7599         * mem-break.c (memory_validate_breakpoint): Update.
7600         * ia64-tdep.c (ia64_memory_insert_breakpoint): Update.
7601         (ia64_memory_remove_breakpoint): Update.
7602         (ia64_breakpoint_from_pc): Update.
7603         * target.h (make_scoped_restore_show_memory_breakpoints): Rename
7604         from make_show_memory_breakpoints_cleanup.
7605
7606 2017-09-11  Tom Tromey  <tom@tromey.com>
7607
7608         * d-namespace.c (d_lookup_symbol): Use std::string.
7609         (find_symbol_in_baseclass): Likewise.
7610
7611 2017-09-11  Tom Tromey  <tom@tromey.com>
7612
7613         * ctf.c (ctf_start): Use std::string.
7614
7615 2017-09-11  Tom Tromey  <tom@tromey.com>
7616
7617         * ada-lang.c (is_known_support_routine): Update.
7618         (ada_unhandled_exception_name_addr_from_raise): Update.
7619         * guile/scm-frame.c (gdbscm_frame_name): Update.
7620         * python/py-frame.c (frapy_name): Update.
7621         (frapy_function): Update.
7622         * stack.h (find_frame_funname): Update.
7623         * stack.c (find_frame_funname): Return unique_xmalloc_ptr.
7624         (print_frame): Update.
7625
7626 2017-09-11  Tom Tromey  <tom@tromey.com>
7627
7628         * findcmd.c (put_bits): Take a gdb::byte_vector.
7629         (parse_find_args): Return gdb::byte_vector.  "args" now const.
7630         Remove "pattern_bufp" and "pattern_lenp" parameters.  Remove
7631         cleanups.
7632         (find_command): Update.
7633
7634 2017-09-11  Tom Tromey  <tom@tromey.com>
7635
7636         * cli/cli-script.c (class scoped_restore_hook_in): New.
7637         (clear_hook_in_cleanup): Remove.
7638         (execute_cmd_pre_hook, execute_cmd_post_hook): Use
7639         scoped_restore_hook_in.
7640
7641 2017-09-11  Tom Tromey  <tom@tromey.com>
7642
7643         * cli/cli-script.c (restore_interp): Remove.
7644         (read_command_lines): Use scoped_restore_interp.
7645         * interps.c (scoped_restore_interp::set_temp): Rename from
7646         interp_set_temp.
7647         * interps.h (class scoped_restore_interp): New.
7648         (interp_set_temp): Remove.
7649
7650 2017-09-11  Tom Tromey  <tom@tromey.com>
7651
7652         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
7653         (mi_cmd_catch_exception, mi_catch_load_unload): Update.
7654         * mi/mi-cmd-break.c (setup_breakpoint_reporting): Return a
7655         scoped_restore.
7656         (mi_cmd_break_insert_1): Update.
7657         * mi/mi-cmd-break.h (setup_breakpoint_reporting): Return a
7658         scoped_restore.
7659
7660 2017-09-11  Tom Tromey  <tom@tromey.com>
7661
7662         * demangle.c (demangle_command): Update.
7663         * breakpoint.c (disable_command): Update.
7664         (enable_command): Update.
7665         (find_location_by_number): Make "number" const.  Use
7666         get_number_trailer.
7667         * cli/cli-utils.c (extract_arg): Return std::string.
7668         * probe.c (parse_probe_linespec): Update.  Change types.
7669         (collect_probes): Take string arguments.
7670         (parse_probe_linespec): Likewise.
7671         (info_probes_for_ops): Update.
7672         (enable_probes_command): Update.
7673         (disable_probes_command): Update.
7674         * break-catch-sig.c (catch_signal_split_args): Update.
7675         * mi/mi-parse.c (mi_parse): Update.
7676
7677 2017-09-11  Tom Tromey  <tom@tromey.com>
7678
7679         * language.h (language_enum): Make argument const.
7680         * language.c (language_enum): Make argument const.
7681
7682 2017-09-11  Tom Tromey  <tom@tromey.com>
7683
7684         * common/common-utils.h (skip_to_space): Remove macro, redeclare
7685         as function.
7686         (skip_to_space): Rename from skip_to_space_const.
7687         * common/common-utils.c (skip_to_space): New function.
7688         (skip_to_space): Rename from skip_to_space_const.
7689         * cli/cli-utils.h (get_number): Rename from get_number_const.
7690         (extract_arg): Rename from extract_arg_const.
7691         * cli/cli-utils.c (get_number): Rename from get_number_const.
7692         (extract_arg): Rename from extract_arg_const.
7693         (number_or_range_parser::get_number): Use ::get_number.
7694         * aarch64-linux-tdep.c, ada-lang.c, arm-linux-tdep.c, ax-gdb.c,
7695         break-catch-throw.c, breakpoint.c, cli/cli-cmds.c, cli/cli-dump.c,
7696         cli/cli-script.c, cli/cli-setshow.c, compile/compile.c,
7697         completer.c, demangle.c, disasm.c, findcmd.c, linespec.c,
7698         linux-tdep.c, linux-thread-db.c, location.c, mi/mi-parse.c,
7699         minsyms.c, nat/linux-procfs.c, printcmd.c, probe.c,
7700         python/py-breakpoint.c, record.c, rust-exp.y, serial.c, stack.c,
7701         stap-probe.c, tid-parse.c, tracepoint.c: Update all callers.
7702
7703 2017-09-11  Tom Tromey  <tom@tromey.com>
7704
7705         * python/python.c (do_start_initialization): Use
7706         py-event-types.def to initialize types.
7707         Define all object type structures.
7708         * python/python-internal.h: Don't declare event initialization
7709         functions.
7710         * python/py-threadevent.c (thread_event_object_type): Don't
7711         define.
7712         * python/py-stopevent.c (stop_event_object_type): Don't define.
7713         * python/py-signalevent.c (signal_event_object_type): Don't
7714         declare or define.
7715         * python/py-newobjfileevent.c (new_objfile_event_object_type)
7716         (clear_objfiles_event_object_type): Don't declare or define.
7717         * python/py-infevents.c (inferior_call_pre_event_object_type)
7718         (inferior_call_post_event_object_type)
7719         (register_changed_event_object_type)
7720         (memory_changed_event_object_type): Don't declare or define.
7721         * python/py-inferior.c (new_thread_event_object_type)
7722         (new_inferior_event_object_type)
7723         (inferior_deleted_event_object_type): Don't declare or define.
7724         * python/py-exitedevent.c (exited_event_object_type): Don't
7725         declare or define.
7726         * python/py-evts.c (gdbpy_initialize_py_events): Use
7727         py-all-events.def.
7728         * python/py-events.h (thread_event_object_type): Don't declare.
7729         (events_object): Use py-all-events.def.
7730         * python/py-event.h (GDBPY_NEW_EVENT_TYPE): Remove.  Use
7731         py-event-types.def.
7732         * python/py-event-types.def: New file.
7733         * python/py-continueevent.c (create_continue_event_object): Don't
7734         declare or define.
7735         * python/py-bpevent.c (breakpoint_event_object_type): Don't
7736         declare or define.
7737         * python/py-all-events.def: New file.
7738
7739 2017-09-11  Tom Tromey  <tom@tromey.com>
7740
7741         * python/py-threadevent.c (create_thread_event_object): Return
7742         gdbpy_ref.
7743         * python/py-stopevent.h (create_stop_event_object)
7744         (create_breakpoint_event_object, create_signal_event_object):
7745         Update.
7746         * python/py-stopevent.c (create_stop_event_object): Return
7747         gdbpy_ref.
7748         (emit_stop_event): Update.
7749         * python/py-signalevent.c (create_signal_event_object): Return
7750         gdbpy_ref.
7751         * python/py-infevents.c (create_inferior_call_event_object):
7752         Update.
7753         * python/py-event.h (create_event_object)
7754         (create_thread_event_object): Update.
7755         * python/py-event.c (create_event_object): Return gdbpy_ref.
7756         * python/py-continueevent.c: Return gdbpy_ref.
7757         * python/py-bpevent.c (create_breakpoint_event_object): Return
7758         gdbpy_ref.
7759
7760 2017-09-11  Tom Tromey  <tom@tromey.com>
7761
7762         PR python/15622:
7763         * NEWS: Add entry.
7764         * python/python.c (do_start_initialization): Initialize new event
7765         types.
7766         * python/python-internal.h (gdbpy_initialize_new_inferior_event)
7767         (gdbpy_initialize_inferior_deleted_event)
7768         (gdbpy_initialize_new_thread_event): Declare.
7769         * python/py-threadevent.c (create_thread_event_object): Add option
7770         "thread" parameter.
7771         * python/py-inferior.c (new_thread_event_object_type)
7772         (new_inferior_event_object_type)
7773         (inferior_deleted_event_object_type): Declare.
7774         (python_new_inferior, python_inferior_deleted): New functions.
7775         (add_thread_object): Emit new_thread event.
7776         (gdbpy_initialize_inferior): Attach new functions to corresponding
7777         observers.
7778         (new_thread, new_inferior, inferior_deleted): Define new event
7779         types.
7780         * python/py-evts.c (gdbpy_initialize_py_events): Add new
7781         registries.
7782         * python/py-events.h (events_object) <new_inferior,
7783         inferior_deleted, new_thread>: New fields.
7784         * python/py-event.h (create_thread_event_breakpoint): Add optional
7785         "thread" parameter.
7786
7787 2017-09-10  Andrew Burgess  <andrew.burgess@embecosm.com>
7788
7789         * utils.c (abort_with_message): Don't compare gdb_stderr to NULL,
7790         check current_ui instead.
7791         (internal_vproblem): Likewise.
7792
7793 2017-09-09  Simon Marchi  <simon.marchi@ericsson.com>
7794
7795         * thread.c (print_thread_info_1): Remove unnecessary calls to
7796         uiout->is_mi_like_p.
7797
7798 2017-09-09  Tom Tromey  <tom@tromey.com>
7799
7800         * namespace.h (add_using_directive): Update.
7801         * namespace.c (add_using_directive): Change type of excludes to
7802         std::vector.
7803         * dwarf2read.c (read_import_statement): Use std::vector.
7804         (read_namespace): Update.
7805         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
7806
7807 2017-09-09  Tom Tromey  <tom@tromey.com>
7808
7809         * linespec.c (create_sals_line_offset): Use gdb::def_vector.
7810
7811 2017-09-09  Tom Tromey  <tom@tromey.com>
7812
7813         * p-valprint.c (pascal_object_print_value): Use gdb::byte_vector.
7814
7815 2017-09-09  Tom Tromey  <tom@tromey.com>
7816
7817         * stack.c (func_command): Use gdb::def_vector.
7818
7819 2017-09-09  Tom Tromey  <tom@tromey.com>
7820
7821         * mi/mi-cmd-var.c (mi_cmd_var_list_children): Use gdb::optional,
7822         ui_out_emit_list, ui_out_emit_tuple.
7823         (mi_cmd_var_update): Likewise.
7824
7825 2017-09-09  Tom Tromey  <tom@tromey.com>
7826
7827         * mi/mi-interp.c (mi_user_selected_context_changed): Use
7828         ui_out_redirect_pop.
7829         * guile/scm-ports.c (ioscm_with_output_to_port_worker): Use
7830         ui_out_redirect_pop.
7831         * utils.c (do_ui_out_redirect_pop)
7832         (make_cleanup_ui_out_redirect_pop): Remove.
7833         * top.c (execute_command_to_string): Use ui_out_redirect_pop.
7834         * utils.h (make_cleanup_ui_out_redirect_pop): Remove.
7835         * ui-out.h (ui_out_redirect_pop): New class.
7836
7837 2017-09-09  Tom Tromey  <tom@tromey.com>
7838
7839         * mi/mi-main.c (output_cores): Use ui_out_emit_list.
7840         (list_available_thread_groups, mi_cmd_list_thread_groups)
7841         (mi_cmd_data_list_changed_registers, mi_cmd_data_read_memory)
7842         (mi_cmd_data_read_memory_bytes, mi_cmd_trace_frame_collected):
7843         Likewise.
7844
7845 2017-09-09  Tom Tromey  <tom@tromey.com>
7846
7847         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn): Use
7848         ui_out_emit_tuple.
7849
7850 2017-09-09  Tom Tromey  <tom@tromey.com>
7851
7852         * target.c (flash_erase_command): Use ui_out_emit_tuple.
7853         * stack.c (print_frame): Use ui_out_emit_tuple.
7854         * spu-tdep.c (info_spu_event_command): Use ui_out_emit_tuple.
7855         (info_spu_mailbox_command, info_spu_dma_command)
7856         (info_spu_proxydma_command): Likewise.
7857         * mi/mi-main.c (mi_cmd_trace_frame_collected): Use
7858         ui_out_emit_tuple, gdb::byte_vector, bin2hex.
7859         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Use
7860         ui_out_emit_tuple.
7861         * breakpoint.c (print_it_watchpoint): Use ui_out_emit_tuple.
7862
7863 2017-09-09  Tom Tromey  <tom@tromey.com>
7864
7865         * ui-out.h (make_cleanup_ui_out_table_begin_end): Remove.
7866         (class ui_out_emit_table): Update comment.
7867         * ui-out.c (do_cleanup_table_end)
7868         (make_cleanup_ui_out_table_begin_end): Remove.
7869         * spu-tdep.c (info_spu_mailbox_list): Use ui_out_emit_table.
7870         (info_spu_dma_cmdlist): Likewise.
7871         * probe.c (info_probes_for_ops): Use ui_out_emit_table.
7872         * darwin-nat-info.c (darwin_debug_regions_recurse): Use
7873         ui_out_emit_table.
7874
7875 2017-09-09  Tom Tromey  <tom@tromey.com>
7876
7877         * thread.c (print_thread_info_1): Use ui_out_emit_table,
7878         ui_out_emit_list, gdb::optional.
7879
7880 2017-09-09  John Baldwin  <jhb@FreeBSD.org>
7881
7882         * aarch64-linux-nat.c: Remove _initialize_aarch64_linux_nat
7883         prototype.
7884         * aarch64-linux-tdep.c: Remove _initialize_aarch64_linux_tdep
7885         prototype.
7886         * aarch64-newlib-tdep.c: Remove _initialize_aarch64_newlib_tdep
7887         prototype.
7888         * aarch64-tdep.c: Remove _initialize_aarch64_tdep prototype.
7889         * ada-exp.y: Remove _initialize_ada_exp prototype.
7890         * ada-lang.c: Remove _initialize_ada_language prototype.
7891         * ada-tasks.c: Remove _initialize_tasks prototype.
7892         * addrmap.c: Remove _initialize_addrmap prototype.
7893         * agent.c: Remove _initialize_agent prototype.
7894         * aix-thread.c: Remove _initialize_aix_thread prototype.
7895         * alpha-bsd-nat.c: Remove _initialize_alphabsd_nat prototype.
7896         * alpha-linux-nat.c: Remove _initialize_alpha_linux_nat prototype.
7897         * alpha-linux-tdep.c: Remove _initialize_alpha_linux_tdep
7898         prototype.
7899         * alpha-nbsd-tdep.c: Remove _initialize_alphanbsd_tdep prototype.
7900         * alpha-obsd-tdep.c: Remove _initialize_alphaobsd_tdep prototype.
7901         * alpha-tdep.c: Remove _initialize_alpha_tdep prototype.
7902         * amd64-darwin-tdep.c: Remove _initialize_amd64_darwin_tdep
7903         prototype.
7904         * amd64-dicos-tdep.c: Remove _initialize_amd64_dicos_tdep
7905         prototype.
7906         * amd64-fbsd-nat.c: Remove _initialize_amd64fbsd_nat prototype.
7907         * amd64-fbsd-tdep.c: Remove _initialize_amd64fbsd_tdep prototype.
7908         * amd64-linux-nat.c: Remove _initialize_amd64_linux_nat prototype.
7909         * amd64-linux-tdep.c: Remove _initialize_amd64_linux_tdep
7910         prototype.
7911         * amd64-nbsd-nat.c: Remove _initialize_amd64nbsd_nat prototype.
7912         * amd64-nbsd-tdep.c: Remove _initialize_amd64nbsd_tdep prototype.
7913         * amd64-obsd-nat.c: Remove _initialize_amd64obsd_nat prototype.
7914         * amd64-obsd-tdep.c: Remove _initialize_amd64obsd_tdep prototype.
7915         * amd64-sol2-tdep.c: Remove _initialize_amd64_sol2_tdep prototype.
7916         * amd64-tdep.c: Remove _initialize_amd64_tdep prototype.
7917         * amd64-windows-nat.c: Remove _initialize_amd64_windows_nat
7918         prototype.
7919         * amd64-windows-tdep.c: Remove _initialize_amd64_windows_tdep
7920         prototype.
7921         * annotate.c: Remove _initialize_annotate prototype.
7922         * arc-newlib-tdep.c: Remove _initialize_arc_newlib_tdep prototype.
7923         * arc-tdep.c: Remove _initialize_arc_tdep prototype.
7924         * arch-utils.c: Remove _initialize_gdbarch_utils prototype.
7925         * arm-linux-nat.c: Remove _initialize_arm_linux_nat prototype.
7926         * arm-linux-tdep.c: Remove _initialize_arm_linux_tdep prototype.
7927         * arm-nbsd-tdep.c: Remove _initialize_arm_netbsd_tdep prototype.
7928         * arm-obsd-tdep.c: Remove _initialize_armobsd_tdep prototype.
7929         * arm-symbian-tdep.c: Remove _initialize_arm_symbian_tdep
7930         prototype.
7931         * arm-tdep.c: Remove _initialize_arm_tdep prototype.
7932         * arm-wince-tdep.c: Remove _initialize_arm_wince_tdep prototype.
7933         * auto-load.c: Remove _initialize_auto_load prototype.
7934         * auxv.c: Remove _initialize_auxv prototype.
7935         * avr-tdep.c: Remove _initialize_avr_tdep prototype.
7936         * ax-gdb.c: Remove _initialize_ax_gdb prototype.
7937         * bfin-linux-tdep.c: Remove _initialize_bfin_linux_tdep prototype.
7938         * bfin-tdep.c: Remove _initialize_bfin_tdep prototype.
7939         * break-catch-sig.c: Remove _initialize_break_catch_sig prototype.
7940         * break-catch-syscall.c: Remove _initialize_break_catch_syscall
7941         prototype.
7942         * break-catch-throw.c: Remove _initialize_break_catch_throw
7943         prototype.
7944         * breakpoint.c: Remove _initialize_breakpoint prototype.
7945         * bsd-uthread.c: Remove _initialize_bsd_uthread prototype.
7946         * btrace.c: Remove _initialize_btrace prototype.
7947         * charset.c: Remove _initialize_charset prototype.
7948         * cli/cli-cmds.c: Remove _initialize_cli_cmds prototype.
7949         * cli/cli-dump.c: Remove _initialize_cli_dump prototype.
7950         * cli/cli-interp.c: Remove _initialize_cli_interp prototype.
7951         * cli/cli-logging.c: Remove _initialize_cli_logging prototype.
7952         * cli/cli-script.c: Remove _initialize_cli_script prototype.
7953         * coff-pe-read.c: Remove _initialize_coff_pe_read prototype.
7954         * coffread.c: Remove _initialize_coffread prototype.
7955         * compile/compile.c: Remove _initialize_compile prototype.
7956         * complaints.c: Remove _initialize_complaints prototype.
7957         * completer.c: Remove _initialize_completer prototype.
7958         * copying.awk: Remove _initialize_copying prototype.
7959         * copying.c: Regenerate.
7960         * core-regset.c: Remove _initialize_core_regset prototype.
7961         * corefile.c: Remove _initialize_core prototype.
7962         * corelow.c: Remove _initialize_corelow prototype.
7963         * cp-abi.c: Remove _initialize_cp_abi prototype.
7964         * cp-namespace.c: Remove _initialize_cp_namespace prototype.
7965         * cp-support.c: Remove _initialize_cp_support prototype.
7966         * cp-valprint.c: Remove _initialize_cp_valprint prototype.
7967         * cris-linux-tdep.c: Remove _initialize_cris_linux_tdep prototype.
7968         * cris-tdep.c: Remove _initialize_cris_tdep prototype.
7969         * ctf.c: Remove _initialize_ctf prototype.
7970         * d-lang.c: Remove _initialize_d_language prototype.
7971         * darwin-nat-info.c: Remove _initialize_darwin_info_commands
7972         prototype.
7973         * darwin-nat.c: Remove _initialize_darwin_inferior prototype.
7974         * dbxread.c: Remove _initialize_dbxread prototype.
7975         * dcache.c: Remove _initialize_dcache prototype.
7976         * demangle.c: Remove _initialize_demangler prototype.
7977         * disasm-selftests.c: Remove _initialize_disasm_selftests
7978         prototype.
7979         * disasm.c: Remove _initialize_disasm prototype.
7980         * dtrace-probe.c: Remove _initialize_dtrace_probe prototype.
7981         * dummy-frame.c: Remove _initialize_dummy_frame prototype.
7982         * dwarf2-frame-tailcall.c: Remove _initialize_tailcall_frame
7983         prototype.
7984         * dwarf2-frame.c: Remove _initialize_dwarf2_frame prototype.
7985         * dwarf2expr.c: Remove _initialize_dwarf2expr prototype.
7986         * dwarf2loc.c: Remove _initialize_dwarf2loc prototype.
7987         * dwarf2read.c: Remove _initialize_dwarf2_read prototype.
7988         * elfread.c: Remove _initialize_elfread prototype.
7989         * exec.c: Remove _initialize_exec prototype.
7990         * extension.c: Remove _initialize_extension prototype.
7991         * f-lang.c: Remove _initialize_f_language prototype.
7992         * f-valprint.c: Remove _initialize_f_valprint prototype.
7993         * fbsd-nat.c: Remove _initialize_fbsd_nat prototype.
7994         * fbsd-tdep.c: Remove _initialize_fbsd_tdep prototype.
7995         * filesystem.c: Remove _initialize_filesystem prototype.
7996         * findcmd.c: Remove _initialize_mem_search prototype.
7997         * fork-child.c: Remove _initialize_fork_child prototype.
7998         * frame-base.c: Remove _initialize_frame_base prototype.
7999         * frame-unwind.c: Remove _initialize_frame_unwind prototype.
8000         * frame.c: Remove _initialize_frame prototype.
8001         * frv-linux-tdep.c: Remove _initialize_frv_linux_tdep prototype.
8002         * frv-tdep.c: Remove _initialize_frv_tdep prototype.
8003         * ft32-tdep.c: Remove _initialize_ft32_tdep prototype.
8004         * gcore.c: Remove _initialize_gcore prototype.
8005         * gdb_bfd.c: Remove _initialize_gdb_bfd prototype.
8006         * gdbarch.c: Regenerate.
8007         * gdbarch.sh: Remove _initialize_gdbarch prototype.
8008         * gdbtypes.c: Remove _initialize_gdbtypes prototype.
8009         * gnu-nat.c: Remove _initialize_gnu_nat prototype.
8010         * gnu-v2-abi.c: Remove _initialize_gnu_v2_abi prototype.
8011         * gnu-v3-abi.c: Remove _initialize_gnu_v3_abi prototype.
8012         * go-lang.c: Remove _initialize_go_language prototype.
8013         * go32-nat.c: Remove _initialize_go32_nat prototype.
8014         * guile/guile.c: Remove _initialize_guile prototype.
8015         * h8300-tdep.c: Remove _initialize_h8300_tdep prototype.
8016         * hppa-linux-nat.c: Remove _initialize_hppa_linux_nat prototype.
8017         * hppa-linux-tdep.c: Remove _initialize_hppa_linux_tdep prototype.
8018         * hppa-nbsd-nat.c: Remove _initialize_hppanbsd_nat prototype.
8019         * hppa-nbsd-tdep.c: Remove _initialize_hppanbsd_tdep prototype.
8020         * hppa-obsd-nat.c: Remove _initialize_hppaobsd_nat prototype.
8021         * hppa-obsd-tdep.c: Remove _initialize_hppaobsd_tdep prototype.
8022         * hppa-tdep.c: Remove _initialize_hppa_tdep prototype.
8023         * i386-bsd-nat.c: Remove _initialize_i386bsd_nat prototype.
8024         * i386-cygwin-tdep.c: Remove _initialize_i386_cygwin_tdep
8025         prototype.
8026         * i386-darwin-tdep.c: Remove _initialize_i386_darwin_tdep
8027         prototype.
8028         * i386-dicos-tdep.c: Remove _initialize_i386_dicos_tdep prototype.
8029         * i386-fbsd-nat.c: Remove _initialize_i386fbsd_nat prototype.
8030         * i386-fbsd-tdep.c: Remove _initialize_i386fbsd_tdep prototype.
8031         * i386-gnu-nat.c: Remove _initialize_i386gnu_nat prototype.
8032         * i386-gnu-tdep.c: Remove _initialize_i386gnu_tdep prototype.
8033         * i386-linux-nat.c: Remove _initialize_i386_linux_nat prototype.
8034         * i386-linux-tdep.c: Remove _initialize_i386_linux_tdep prototype.
8035         * i386-nbsd-nat.c: Remove _initialize_i386nbsd_nat prototype.
8036         * i386-nbsd-tdep.c: Remove _initialize_i386nbsd_tdep prototype.
8037         * i386-nto-tdep.c: Remove _initialize_i386nto_tdep prototype.
8038         * i386-obsd-nat.c: Remove _initialize_i386obsd_nat prototype.
8039         * i386-obsd-tdep.c: Remove _initialize_i386obsd_tdep prototype.
8040         * i386-sol2-nat.c: Remove _initialize_amd64_sol2_nat prototype.
8041         * i386-sol2-tdep.c: Remove _initialize_amd64_sol2_tdep prototype.
8042         * i386-tdep.c: Remove _initialize_i386_tdep prototype.
8043         * i386-windows-nat.c: Remove _initialize_i386_windows_nat
8044         prototype.
8045         * ia64-libunwind-tdep.c: Remove _initialize_libunwind_frame
8046         prototype.
8047         * ia64-linux-nat.c: Remove _initialize_ia64_linux_nat prototype.
8048         * ia64-linux-tdep.c: Remove _initialize_ia64_linux_tdep prototype.
8049         * ia64-tdep.c: Remove _initialize_ia64_tdep prototype.
8050         * ia64-vms-tdep.c: Remove _initialize_ia64_vms_tdep prototype.
8051         * infcall.c: Remove _initialize_infcall prototype.
8052         * infcmd.c: Remove _initialize_infcmd prototype.
8053         * inferior.c: Remove _initialize_inferiors prototype.
8054         * inflow.c: Remove _initialize_inflow prototype.
8055         * infrun.c: Remove _initialize_infrun prototype.
8056         * interps.c: Remove _initialize_interpreter prototype.
8057         * iq2000-tdep.c: Remove _initialize_iq2000_tdep prototype.
8058         * jit.c: Remove _initialize_jit prototype.
8059         * language.c: Remove _initialize_language prototype.
8060         * linux-fork.c: Remove _initialize_linux_fork prototype.
8061         * linux-nat.c: Remove _initialize_linux_nat prototype.
8062         * linux-tdep.c: Remove _initialize_linux_tdep prototype.
8063         * linux-thread-db.c: Remove _initialize_thread_db prototype.
8064         * lm32-tdep.c: Remove _initialize_lm32_tdep prototype.
8065         * m2-lang.c: Remove _initialize_m2_language prototype.
8066         * m32c-tdep.c: Remove _initialize_m32c_tdep prototype.
8067         * m32r-linux-nat.c: Remove _initialize_m32r_linux_nat prototype.
8068         * m32r-linux-tdep.c: Remove _initialize_m32r_linux_tdep prototype.
8069         * m32r-tdep.c: Remove _initialize_m32r_tdep prototype.
8070         * m68hc11-tdep.c: Remove _initialize_m68hc11_tdep prototype.
8071         * m68k-bsd-nat.c: Remove _initialize_m68kbsd_nat prototype.
8072         * m68k-bsd-tdep.c: Remove _initialize_m68kbsd_tdep prototype.
8073         * m68k-linux-nat.c: Remove _initialize_m68k_linux_tdep prototype.
8074         * m68k-linux-tdep.c: Remove _initialize_m68k_linux_tdep prototype.
8075         * m68k-tdep.c: Remove _initialize_m68k_tdep prototype.
8076         * m88k-bsd-nat.c: Remove _initialize_m68kbsd_nat prototype.
8077         * m88k-tdep.c: Remove _initialize_m68kbsd_tdep prototype.
8078         * machoread.c: Remove _initialize_machoread prototype.
8079         * macrocmd.c: Remove _initialize_macrocmd prototype.
8080         * macroscope.c: Remove _initialize_macroscope prototype.
8081         * maint.c: Remove _initialize_maint_cmds prototype.
8082         * mdebugread.c: Remove _initialize_mdebugread prototype.
8083         * memattr.c: Remove _initialize_mem prototype.
8084         * mep-tdep.c: Remove _initialize_mep_tdep prototype.
8085         * mi/mi-cmd-env.c: Remove _initialize_mi_cmd_env prototype.
8086         * mi/mi-cmds.c: Remove _initialize_mi_cmds prototype.
8087         * mi/mi-interp.c: Remove _initialize_mi_interp prototype.
8088         * mi/mi-main.c: Remove _initialize_mi_main prototype.
8089         * microblaze-linux-tdep.c: Remove
8090         _initialize_microblaze_linux_tdep prototype.
8091         * microblaze-tdep.c: Remove _initialize_microblaze_tdep prototype.
8092         * mips-fbsd-nat.c: Remove _initialize_mips_fbsd_nat prototype.
8093         * mips-fbsd-tdep.c: Remove _initialize_mips_fbsd_tdep prototype.
8094         * mips-linux-nat.c: Remove _initialize_mips_linux_nat prototype.
8095         * mips-linux-tdep.c: Remove _initialize_mips_linux_tdep prototype.
8096         * mips-nbsd-nat.c: Remove _initialize_mipsnbsd_nat prototype.
8097         * mips-nbsd-tdep.c: Remove _initialize_mipsnbsd_tdep prototype.
8098         * mips-sde-tdep.c: Remove _initialize_mips_sde_tdep prototype.
8099         * mips-tdep.c: Remove _initialize_mips_tdep prototype.
8100         * mips64-obsd-nat.c: Remove _initialize_mips64obsd_nat prototype.
8101         * mips64-obsd-tdep.c: Remove _initialize_mips64obsd_tdep
8102         prototype.
8103         * mipsread.c: Remove _initialize_mipsread prototype.
8104         * mn10300-linux-tdep.c: Remove _initialize_mn10300_linux_tdep
8105         prototype.
8106         * mn10300-tdep.c: Remove _initialize_mn10300_tdep prototype.
8107         * moxie-tdep.c: Remove _initialize_moxie_tdep prototype.
8108         * msp430-tdep.c: Remove _initialize_msp430_tdep prototype.
8109         * mt-tdep.c: Remove _initialize_mt_tdep prototype.
8110         * nds32-tdep.c: Remove _initialize_nds32_tdep prototype.
8111         * nios2-linux-tdep.c: Remove _initialize_nios2_linux_tdep
8112         prototype.
8113         * nios2-tdep.c: Remove _initialize_nios2_tdep prototype.
8114         * nto-procfs.c: Remove _initialize_procfs prototype.
8115         * nto-tdep.c: Remove _initialize_nto_tdep prototype.
8116         * objc-lang.c: Remove _initialize_objc_language prototype.
8117         * objfiles.c: Remove _initialize_objfiles prototype.
8118         * observer.c: Remove observer_test_first_notification_function,
8119         observer_test_second_notification_function,
8120         observer_test_third_notification_function, and
8121         _initialize_observer prototypes.
8122         * opencl-lang.c: Remove _initialize_opencl_language prototypes.
8123         * osabi.c: Remove _initialize_gdb_osabi prototype.
8124         * osdata.c: Remove _initialize_osdata prototype.
8125         * p-valprint.c: Remove _initialize_pascal_valprint prototype.
8126         * parse.c: Remove _initialize_parse prototype.
8127         * ppc-fbsd-nat.c: Remove _initialize_ppcfbsd_nat prototype.
8128         * ppc-fbsd-tdep.c: Remove _initialize_ppcfbsd_tdep prototype.
8129         * ppc-linux-nat.c: Remove _initialize_ppc_linux_nat prototype.
8130         * ppc-linux-tdep.c: Remove _initialize_ppc_linux_tdep prototype.
8131         * ppc-nbsd-nat.c: Remove _initialize_ppcnbsd_nat prototype.
8132         * ppc-nbsd-tdep.c: Remove _initialize_ppcnbsd_tdep prototype.
8133         * ppc-obsd-nat.c: Remove _initialize_ppcobsd_nat prototype.
8134         * ppc-obsd-tdep.c: Remove _initialize_ppcobsd_tdep prototype.
8135         * printcmd.c: Remove _initialize_printcmd prototype.
8136         * probe.c: Remove _initialize_probe prototype.
8137         * proc-api.c: Remove _initialize_proc_api prototype.
8138         * proc-events.c: Remove _initialize_proc_events prototype.
8139         * proc-service.c: Remove _initialize_proc_service prototype.
8140         * procfs.c: Remove _initialize_procfs prototype.
8141         * psymtab.c: Remove _initialize_psymtab prototype.
8142         * python/python.c: Remove _initialize_python prototype.
8143         * ravenscar-thread.c: Remove _initialize_ravenscar prototype.
8144         * record-btrace.c: Remove _initialize_record_btrace prototype.
8145         * record-full.c: Remove _initialize_record_full prototype.
8146         * record.c: Remove _initialize_record prototype.
8147         * regcache.c: Remove _initialize_regcache prototype.
8148         * reggroups.c: Remove _initialize_reggroup prototype.
8149         * remote-notif.c: Remove _initialize_notif prototype.
8150         * remote-sim.c: Remove _initialize_remote_sim prototype.
8151         * remote.c: Remove _initialize_remote prototype.
8152         * reverse.c: Remove _initialize_reverse prototype.
8153         * rl78-tdep.c: Remove _initialize_rl78_tdep prototype.
8154         * rs6000-aix-tdep.c: Remove _initialize_rs6000_aix_tdep prototype.
8155         * rs6000-lynx178-tdep.c: Remove _initialize_rs6000_lynx178_tdep
8156         prototype.
8157         * rs6000-nat.c: Remove _initialize_rs6000_nat prototype.
8158         * rs6000-tdep.c: Remove _initialize_rs6000_tdep prototype.
8159         * rust-exp.y: Remove _initialize_rust_exp prototype.
8160         * rx-tdep.c: Remove _initialize_rx_tdep prototype.
8161         * s390-linux-nat.c: Remove _initialize_s390_nat prototype.
8162         * s390-linux-tdep.c: Remove _initialize_s390_tdep prototype.
8163         * score-tdep.c: Remove _initialize_score_tdep prototype.
8164         * selftest-arch.c: Remove _initialize_selftests_foreach_arch
8165         prototype.
8166         * ser-go32.c: Remove _initialize_ser_dos prototype.
8167         * ser-mingw.c: Remove _initialize_ser_windows prototype.
8168         * ser-pipe.c: Remove _initialize_ser_pipe prototype.
8169         * ser-tcp.c: Remove _initialize_ser_tcp prototype.
8170         * ser-unix.c: Remove _initialize_ser_hardwire prototype.
8171         * serial.c: Remove _initialize_serial prototype.
8172         * sh-linux-tdep.c: Remove _initialize_sh_linux_tdep prototype.
8173         * sh-nbsd-nat.c: Remove _initialize_shnbsd_nat prototype.
8174         * sh-nbsd-tdep.c: Remove _initialize_shnbsd_tdep prototype.
8175         * sh-tdep.c: Remove _initialize_sh_tdep prototype.
8176         * skip.c: Remove _initialize_step_skip prototype.
8177         * sol-thread.c: Remove _initialize_sol_thread prototype.
8178         * solib-aix.c: Remove _initialize_solib_aix prototype.
8179         * solib-darwin.c: Remove _initialize_darwin_solib prototype.
8180         * solib-dsbt.c: Remove _initialize_dsbt_solib prototype.
8181         * solib-frv.c: Remove _initialize_frv_solib prototype.
8182         * solib-spu.c: Remove _initialize_spu_solib prototype.
8183         * solib-svr4.c: Remove _initialize_svr4_solib prototype.
8184         * solib-target.c: Remove _initialize_solib_target prototype.
8185         * solib.c: Remove _initialize_solib prototype.
8186         * source.c: Remove _initialize_source prototype.
8187         * sparc-linux-nat.c: Remove _initialize_sparc_linux_nat prototype.
8188         * sparc-linux-tdep.c: Remove _initialize_sparc_linux_tdep
8189         prototype.
8190         * sparc-nat.c: Remove _initialize_sparc_nat prototype.
8191         * sparc-nbsd-nat.c: Remove _initialize_sparcnbsd_nat prototype.
8192         * sparc-nbsd-tdep.c: Remove _initialize_sparcnbsd_tdep prototype.
8193         * sparc-obsd-tdep.c: Remove _initialize_sparc32obsd_tdep
8194         prototype.
8195         * sparc-sol2-nat.c: Remove _initialize_sparc_sol2_nat prototype.
8196         * sparc-sol2-tdep.c: Remove _initialize_sparc_sol2_tdep prototype.
8197         * sparc-tdep.c: Remove _initialize_sparc_tdep prototype.
8198         * sparc64-fbsd-nat.c: Remove _initialize_sparc64fbsd_nat
8199         prototype.
8200         * sparc64-fbsd-tdep.c: Remove _initialize_sparc64fbsd_tdep
8201         prototype.
8202         * sparc64-linux-nat.c: Remove _initialize_sparc64_linux_nat
8203         prototype.
8204         * sparc64-linux-tdep.c: Remove _initialize_sparc64_linux_tdep
8205         prototype.
8206         * sparc64-nat.c: Remove _initialize_sparc64_nat prototype.
8207         * sparc64-nbsd-nat.c: Remove _initialize_sparc64nbsd_nat
8208         prototype.
8209         * sparc64-nbsd-tdep.c: Remove _initialize_sparc64nbsd_tdep
8210         prototype.
8211         * sparc64-obsd-nat.c: Remove _initialize_sparc64obsd_nat
8212         prototype.
8213         * sparc64-obsd-tdep.c: Remove _initialize_sparc64obsd_tdep
8214         prototype.
8215         * sparc64-sol2-tdep.c: Remove _initialize_sparc64_sol2_tdep
8216         prototype.
8217         * spu-linux-nat.c: Remove _initialize_spu_nat prototype.
8218         * spu-multiarch.c: Remove _initialize_spu_multiarch prototype.
8219         * spu-tdep.c: Remove _initialize_spu_tdep prototype.
8220         * stabsread.c: Remove _initialize_stabsread prototype.
8221         * stack.c: Remove _initialize_stack prototype.
8222         * stap-probe.c: Remove _initialize_stap_probe prototype.
8223         * std-regs.c: Remove _initialize_frame_reg prototype.
8224         * symfile-debug.c: Remove _initialize_symfile_debug prototype.
8225         * symfile-mem.c: Remove _initialize_symfile_mem prototype.
8226         * symfile.c: Remove _initialize_symfile prototype.
8227         * symmisc.c: Remove _initialize_symmisc prototype.
8228         * symtab.c: Remove _initialize_symtab prototype.
8229         * target-dcache.c: Remove _initialize_target_dcache prototype.
8230         * target-descriptions.c: Remove _initialize_target_descriptions
8231         prototype.
8232         * thread.c: Remove _initialize_thread prototype.
8233         * tic6x-linux-tdep.c: Remove _initialize_tic6x_linux_tdep
8234         prototype.
8235         * tic6x-tdep.c: Remove _initialize_tic6x_tdep prototype.
8236         * tilegx-linux-nat.c: Remove _initialize_tile_linux_nat prototype.
8237         * tilegx-linux-tdep.c: Remove _initialize_tilegx_linux_tdep
8238         prototype.
8239         * tilegx-tdep.c: Remove _initialize_tilegx_tdep prototype.
8240         * tracefile-tfile.c: Remove _initialize_tracefile_tfile prototype.
8241         * tracefile.c: Remove _initialize_tracefile prototype.
8242         * tracepoint.c: Remove _initialize_tracepoint prototype.
8243         * tui/tui-hooks.c: Remove _initialize_tui_hooks prototype.
8244         * tui/tui-interp.c: Remove _initialize_tui_interp prototype.
8245         * tui/tui-layout.c: Remove _initialize_tui_layout prototype.
8246         * tui/tui-regs.c: Remove _initialize_tui_regs prototype.
8247         * tui/tui-stack.c: Remove _initialize_tui_stack prototype.
8248         * tui/tui-win.c: Remove _initialize_tui_win prototype.
8249         * tui/tui.c: Remove _initialize_tui prototype.
8250         * typeprint.c: Remove _initialize_typeprint prototype.
8251         * user-regs.c: Remove _initialize_user_regs prototype.
8252         * utils.c: Remove _initialize_utils prototype.
8253         * v850-tdep.c: Remove _initialize_v850_tdep prototype.
8254         * valarith.c: Remove _initialize_valarith prototype.
8255         * valops.c: Remove _initialize_valops prototype.
8256         * valprint.c: Remove _initialize_valprint prototype.
8257         * value.c: Remove _initialize_values prototype.
8258         * varobj.c: Remove _initialize_varobj prototype.
8259         * vax-bsd-nat.c: Remove _initialize_vaxbsd_nat prototype.
8260         * vax-nbsd-tdep.c: Remove _initialize_vaxnbsd_tdep prototype.
8261         * vax-tdep.c: Remove _initialize_vax_tdep prototype.
8262         * windows-nat.c: Remove _initialize_windows_nat,
8263         _initialize_check_for_gdb_ini, and _initialize_loadable
8264         prototypes.
8265         * windows-tdep.c: Remove _initialize_windows_tdep prototype.
8266         * xcoffread.c: Remove _initialize_xcoffread prototype.
8267         * xml-support.c: Remove _initialize_xml_support prototype.
8268         * xstormy16-tdep.c: Remove _initialize_xstormy16_tdep prototype.
8269         * xtensa-linux-nat.c: Remove _initialize_xtensa_linux_nat
8270         prototype.
8271         * xtensa-linux-tdep.c: Remove _initialize_xtensa_linux_tdep
8272         prototype.
8273         * xtensa-tdep.c: Remove _initialize_xtensa_tdep prototype.
8274
8275 2017-09-08  Keith Seitz  <keiths@redhat.com>
8276
8277         * dwarf2read.c (struct field_info) <fnfields>: Remove unused
8278         field.
8279
8280 2017-09-08  Christoph Weinmann  <christoph.t.weinmann@intel.com>
8281
8282         * f-valprint.c (f_val_print): Remove check for one byte
8283         sized integers. Remove printing of character type.
8284
8285 2017-09-08  Frank Penczek  <frank.penczek@intel.com>
8286             Christoph Weinmann  <christoph.t.weinmann@intel.com>
8287             Bernhard Heckel  <bernhard.heckel@intel.com>
8288
8289         * f-typeprint.c (f_type_print_base): Use fprintfi_filtered
8290         to maintain proper indentation when printing pointers/refs.
8291
8292 2017-09-07  Joel Brobecker  <brobecker@adacore.com>
8293
8294         GDB 8.0.1 released.
8295
8296 2017-09-07  Joel Brobecker  <brobecker@adacore.com>
8297
8298         * NEWS (Changes in GDB 7.11): Remove entry for QStartupWithShell.
8299
8300 2017-09-05  Tom Tromey  <tom@tromey.com>
8301
8302         * parse.c (funcall_chain): Now a std::vector.
8303         (start_arglist, end_arglist): Simplify.
8304         (free_funcalls): Remove.
8305         (parse_exp_in_context_1): Remove cleanup.
8306
8307 2017-09-05  Tom Tromey  <tom@tromey.com>
8308
8309         * go-exp.y (go_parse): Don't create a cleanup.
8310
8311 2017-09-05  Tom Tromey  <tom@tromey.com>
8312
8313         * d-exp.y (PrimaryExpression): Use std::string.
8314         (d_parse): Don't create a cleanup.
8315
8316 2017-09-05  Tom Tromey  <tom@tromey.com>
8317
8318         * utils.c (do_clear_parser_state): Remove.
8319         (make_cleanup_clear_parser_state): Remove.
8320         * p-exp.y (pascal_parse): Use scoped_restore.
8321         * m2-exp.y (m2_parse): Use scoped_restore.
8322         * f-exp.y (f_parse): Use scoped_restore.
8323         * d-exp.y (d_parse): Use scoped_restore.
8324         * c-exp.y (c_parse): Use scoped_restore.
8325         * ada-exp.y (ada_parse): Use scoped_restore.
8326         * utils.h (make_cleanup_clear_parser_state): Remove.
8327
8328 2017-09-06  Keith Seitz  <keiths@redhat.com>
8329
8330         * dwarf2read.c (dw2_linkage_name_attr): New function.
8331         (dw2_linkage_name): New function.
8332         (dwarf2_compute_name, dwarf2_physname, read_call_site_scope)
8333         (guess_full_die_structure_name, dwarf2_name): Use dw2_linkage_name.
8334         (anonymous_struct_prefix, dwarf2_name): Use dw2_linkage_name_attr.
8335
8336 2017-09-06  Kamil Rytarowski  <n54@gmx.com>
8337
8338         * config/djgpp/djconfig.sh: Correct shell portability issue.
8339
8340 2017-09-06  Kamil Rytarowski  <n54@gmx.com>
8341
8342         * configure.nat: Define HAVE_NATIVE_GCORE_HOST on NetBSD.
8343
8344 2017-09-06  John Baldwin  <jhb@FreeBSD.org>
8345
8346         * Makefile.in (ALLDEPFILES): Add mips-fbsd-nat.c.
8347         * NEWS: Mention new FreeBSD/mips native configuration.
8348         * configure.host: Add aarch64*-*-freebsd*.
8349         * configure.nat: Likewise.
8350         * aarch64-fbsd-nat.c: New file.
8351
8352 2017-09-06  John Baldwin  <jhb@FreeBSD.org>
8353
8354         * Makefile.in (ALL_64_TARGET_OBS): Add aarch64-fbsd-tdep.o.
8355         (ALLDEPFILES): Add aarch64-fbsd-tdep.c.
8356         * NEWS: Mention new FreeBSD/aarch64 target.
8357         * configure.tgt: Add aarch64*-*-freebsd*.
8358         * aarch64-fbsd-tdep.c: New file.
8359         * aarch64-fbsd-tdep.h: New file.
8360
8361 2017-09-06  Kamil Rytarowski  <n54@gmx.com>
8362
8363         * MAINTAINERS (Write After Approval): Add Kamil Rytarowski.
8364
8365 2017-09-06  Jan Kratochvil  <jan.kratochvil@redhat.com>
8366
8367         * parse.c (find_minsym_type_and_address): Don't relocate addresses
8368         of TLS symbols.
8369
8370 2017-09-05  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
8371
8372         * objfiles.c (get_objfile_bfd_data): Remove useless obstack_init
8373         call.
8374
8375 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8376
8377         * infrun.c (follow_exec): Call add_thread after
8378         target_find_description.
8379
8380 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8381
8382         * infrun.c (handle_inferior_event_1): When exec'ing, read
8383         stop_pc after follow_exec.
8384
8385 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8386
8387         * remote.c (process_g_packet): Update error message.
8388
8389 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8390
8391         * configure.tgt (gdb_target_obs): Add i386.o for x86_64-*
8392         targets.
8393
8394 2017-09-05  Pedro Alves  <palves@redhat.com>
8395
8396         * eval.c (eval_call, evaluate_funcall): New functions, factored
8397         out from ...
8398         (evaluate_subexp_standard): ... this.
8399
8400 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8401
8402         * amd64-tdep.c (amd64_target_description): Create target
8403         descriptions.
8404         (_initialize_amd64_tdep): Don't call functions
8405         initialize_tdesc_amd64_*.  Add self tests.
8406         * arch/amd64.c (amd64_create_target_description): Add parameter
8407         is_linux.  Call set_tdesc_osabi if is_linux is true.
8408         * arch/amd64.h (amd64_create_target_description): Update the
8409         declaration.
8410         * arch/i386.c (i386_create_target_description): Add parameter
8411         is_linux.  Call set_tdesc_osabi if is_linux is true.
8412         * arch/i386.h (i386_create_target_description): Update
8413         declaration.
8414         * configure.tgt: Add i386.o to gdb_target_obs.
8415         * features/Makefile (XMLTOC): Remove i386/*.xml.
8416         * features/i386/amd64-avx-avx512.c: Remove.
8417         * features/i386/amd64-avx-mpx-avx512-pku.c: Remove.
8418         * features/i386/amd64-avx-mpx.c: Remove.
8419         * features/i386/amd64-avx.c: Remove.
8420         * features/i386/amd64-mpx.c: Remove.
8421         * features/i386/amd64.c: Remove.
8422         * features/i386/i386-avx-avx512.c: Remove.
8423         * features/i386/i386-avx-mpx-avx512-pku.c: Remove.
8424         * features/i386/i386-avx-mpx.c: Remove.
8425         * features/i386/i386-avx.c: Remove.
8426         * features/i386/i386-mmx.c: Remove.
8427         * features/i386/i386-mpx.c: Remove.
8428         * features/i386/i386.c: Remove.
8429         * i386-tdep.c: Don't include features/i386/i386*.c., include
8430         target-descriptions.h and arch/i386.h.
8431         (i386_target_description): Create target descriptions.
8432         (i386_gdbarch_init): Don't call initialize_tdesc_i386_*
8433         functions.  Do self tests.
8434
8435 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8436
8437         * features/Makefile (XMLTOC): Remove i386/amd64XXX-linux.xml.
8438         * features/i386/amd64-avx-avx512-linux.c: Removed.
8439         * features/i386/amd64-avx-linux.c: Removed.
8440         * features/i386/amd64-avx-mpx-avx512-pku-linux.c: Removed.
8441         * features/i386/amd64-avx-mpx-linux.c: Removed.
8442         * features/i386/amd64-linux.c: Removed.
8443         * features/i386/amd64-mpx-linux.c: Removed.
8444         * features/i386/x32-avx-avx512-linux.c: Removed.
8445         * features/i386/x32-avx-linux.c: Removed.
8446         * features/i386/x32-linux.c: Removed.
8447
8448 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8449
8450         * amd64-linux-tdep.c: Include arch/amd64.h.  Don't include
8451         features/i386/*.c.
8452         (amd64_linux_read_description): Call
8453         amd64_create_target_description.
8454         * arch/amd64.c: New file.
8455         * arch/amd64.h: New file.
8456         * configure.tgt (x86_64-*-linux*): Append amd64.o.
8457         * Makefile.in (ALL_64_TARGET_OBS): Append amd64.o.
8458
8459 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8460
8461         * amd64-linux-tdep.c: Don't include amd64-XXX-linux and
8462         x32-XXX-linux.c.  Include 64bit-XX.c and x32-XX.c.
8463         (amd64_linux_read_description): Create target descriptions.
8464         (_initialize_amd64_linux_tdep): Don't call initialize_tdesc_XXX
8465         functions.  Add unit tests.
8466         * features/Makefile (FEATURE_XMLFILES): Append 64bit-XXX.xml and
8467         x32-core.xml.
8468         * features/i386/64bit-avx.c: Generated.
8469         * features/i386/64bit-avx512.c: Generated.
8470         * features/i386/64bit-core.c: Generated.
8471         * features/i386/64bit-linux.c: Generated.
8472         * features/i386/64bit-mpx.c: Generated.
8473         * features/i386/64bit-pkeys.c: Generated.
8474         * features/i386/64bit-segments.c: Generated.
8475         * features/i386/64bit-sse.c: Generated.
8476         * features/i386/x32-core.c: Generated.
8477         * target-descriptions.c (maint_print_c_tdesc_cmd): Print feature
8478         c files for amd64-linux and x32-linux.
8479
8480 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8481
8482         * amd64-linux-tdep.c (amd64_linux_read_description): New
8483         function.
8484         (amd64_linux_core_read_description): Call
8485         amd64_linux_read_description.
8486         (amd64_linux_init_abi): Likewise.
8487         (amd64_x32_linux_init_abi): Likewise.
8488         * amd64-linux-tdep.h (amd64_linux_read_description): Declare.
8489         * x86-linux-nat.c (x86_linux_read_description): Call
8490         amd64_linux_read_description.
8491
8492 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8493
8494         * amd64-linux-tdep.c (amd64_linux_core_read_description): Update
8495         comments.
8496
8497 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8498
8499         * features/Makefile (XMLTOC): Remove i386/i386-XX-linux.xml.
8500         * features/i386/i386-avx-avx512-linux.c: Remove.
8501         * features/i386/i386-avx-linux.c: Remove.
8502         * features/i386/i386-avx-mpx-avx512-pku-linux.c: Remove.
8503         * features/i386/i386-avx-mpx-linux.c: Remove.
8504         * features/i386/i386-linux.c: Remove.
8505         * features/i386/i386-mmx-linux.c: Remove.
8506         * features/i386/i386-mpx-linux.c: Remove.
8507
8508 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8509
8510         * Makefile.in (ALL_TARGET_OBS): Add i386.o.
8511         (SFILES): Add arch/i386.c.
8512         (HFILES_NO_SRCDIR): Add arch/i386.h.
8513         * arch/i386.c: New file.
8514         * arch/i386.h: New file.
8515         * arch/tdesc.h (allocate_target_description): Declare.
8516         (set_tdesc_architecture): Declare.
8517         (set_tdesc_osabi): Declare.
8518         * configure.tgt (i[34567]86-*-linux*): Add i386.o.
8519         * i386-linux-tdep.c: Don't include ../features/i386/32bit-XXX.c.
8520         include arch/i386.h.
8521         (i386_linux_read_description): Remove code and call
8522         i386_create_target_description.
8523         (set_tdesc_architecture): New function.
8524         (set_tdesc_osabi): New function.
8525         * target-descriptions.h (allocate_target_description): Remove.
8526
8527 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8528
8529         * arch/tdesc.h (tdesc_create_feature): Add an argument xml.
8530         * target-descriptions.c (tdesc_create_feature): Likewise, and
8531         adjust code.
8532         * features/i386/32bit-avx.c: Re-generated.
8533         * features/i386/32bit-avx512.c: Re-generated.
8534         * features/i386/32bit-core.c: Re-generated.
8535         * features/i386/32bit-linux.c: Re-generated.
8536         * features/i386/32bit-mpx.c: Re-generated.
8537         * features/i386/32bit-pkeys.c: Re-generated.
8538         * features/i386/32bit-sse.c: Re-generated.
8539
8540 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8541
8542         * regformats/regdef.h (struct reg): Override operator == and !=.
8543
8544 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8545
8546         * arch/tdesc.h: New file.
8547         * regformats/regdat.sh: Generate code using tdesc_create_reg.
8548         * target-descriptions.c: Update comments.
8549         * target-descriptions.h: Include "arch/tdesc.h".  Remove the
8550         declarations.
8551         * features/i386/32bit-avx.c: Re-generated.
8552         * features/i386/32bit-avx512.c: Re-generated.
8553         * features/i386/32bit-core.c: Re-generated.
8554         * features/i386/32bit-linux.c: Re-generated.
8555         * features/i386/32bit-mpx.c: Re-generated.
8556         * features/i386/32bit-pkeys.c: Re-generated.
8557         * features/i386/32bit-sse.c: Re-generated.
8558
8559 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8560
8561         * regformats/regdat.sh: Update generated code.
8562
8563 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8564
8565         * regformats/regdat.sh: Adjust code order.
8566
8567 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8568
8569         * expprint.c (dump_subexp_body_standard): Use constant format
8570         string in fprintf_filtered call.
8571
8572 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8573
8574         * configure.nat: Add "x86-nat.o x86-dregs.o" for NetBSD/amd64 and
8575         NetBSD/i386.
8576         * x86-bsd-nat.c [!DBREG_DRX && __NetBSD__]: Define DBREG_DRX.
8577
8578 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8579
8580         * bsd-kvm.o: Make <sys/user.h> conditional on HAVE_SYS_USER_H.
8581
8582 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8583
8584         * bsd-kvm.o: Define _KMEMUSER.
8585         * configure.ac: Define _KMEMUSER when checking for "struct lwp".
8586         * configure: Regenerate.
8587
8588 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8589
8590         * amd64-fbsd-nat.c: Add include of "x86-xstate.h".
8591         * i386-fbsd-nat.c: Likewise.
8592
8593 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8594
8595         * unittests/array-view-selftests.c: Add include of <array>.
8596
8597 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8598
8599         * spu-tdep.c (flush_ea_cache): Add missing argument to
8600         call_function_by_hand.
8601
8602 2017-09-04  Pedro Alves  <palves@redhat.com>
8603
8604         * NEWS (Safer support for debugging with no debug info): New.
8605
8606 2017-09-04  Pedro Alves  <palves@redhat.com>
8607
8608         * c-exp.y (function_method, function_method_void): Add current
8609         instance flags to TYPE_INSTANCE.
8610         * dwarf2read.c (check_modifier): New.
8611         (compute_delayed_physnames): Assert that only C++ adds delayed
8612         physnames.  Mark fn_fields as const/volatile depending on
8613         physname.
8614         * eval.c (make_params): New type_instance_flags parameter.  Use
8615         it as the new type's instance flags.
8616         (evaluate_subexp_standard) <TYPE_INSTANCE>: Extract the instance
8617         flags element and pass it to make_params.
8618         * expprint.c (print_subexp_standard) <TYPE_INSTANCE>: Handle
8619         instance flags element.
8620         (dump_subexp_body_standard) <TYPE_INSTANCE>: Likewise.
8621         * gdbtypes.h: Include "enum-flags.h".
8622         (type_instance_flags): New enum-flags type.
8623         (TYPE_CONST, TYPE_VOLATILE, TYPE_RESTRICT, TYPE_ATOMIC)
8624         (TYPE_CODE_SPACE, TYPE_DATA_SPACE): Return boolean.
8625         * parse.c (operator_length_standard) <TYPE_INSTANCE>: Adjust.
8626         (follow_type_instance_flags): New function.
8627         (operator_check_standard) <TYPE_INSTANCE>: Adjust.
8628         * parser-defs.h (follow_type_instance_flags): Declare.
8629         * valops.c (value_struct_elt_for_reference): const/volatile must
8630         match too.
8631
8632 2017-09-04  Pedro Alves  <palves@redhat.com>
8633
8634         * cp-namespace.c (cp_search_static_and_baseclasses): Handle
8635         function/method scopes; lookup the nested name as a function local
8636         static variable.
8637
8638 2017-09-04  Pedro Alves  <palves@redhat.com>
8639
8640         (%type <voidval>): Add function_method.
8641         * c-exp.y (exp): New production for calls with no arguments.
8642         (function_method, function_method_void_or_typelist): New
8643         productions.
8644         (exp): New production for "method()::static_var".
8645         * eval.c (evaluate_subexp_standard): Handle OP_FUNC_STATIC_VAR.
8646         * expprint.c (print_subexp_standard, dump_subexp_body_standard):
8647         Handle OP_FUNC_STATIC_VAR.
8648         * parse.c (operator_length_standard):
8649         Handle OP_FUNC_STATIC_VAR.
8650
8651 2017-09-04  Pedro Alves  <palves@redhat.com>
8652
8653         * eval.c (evaluate_subexp_standard): Remove UNOP_MEMVAL_TLS
8654         handling.
8655         * expprint.c (print_subexp_standard, dump_subexp_body_standard):
8656         Ditto.
8657         * parse.c (operator_length_standard, operator_check_standard):
8658         Ditto.
8659         * std-operator.def (UNOP_MEMVAL_TLS): Delete.
8660
8661 2017-09-04  Pedro Alves  <palves@redhat.com>
8662
8663         * ax-gdb.c: Include "typeprint.h".
8664         (gen_expr_for_cast): New function.
8665         (gen_expr) <OP_CAST, OP_CAST_TYPE>: Use it.
8666         <OP_VAR_VALUE, OP_MSYM_VAR_VALUE>: Error out if the variable's
8667         type is unknown.
8668         * dwarf2read.c (new_symbol_full): Fallback to int instead of
8669         nodebug_data_symbol.
8670         * eval.c: Include "typeprint.h".
8671         (evaluate_subexp_standard) <OP_VAR_VALUE, OP_VAR_MSYM_VALUE>:
8672         Error out if symbol has unknown type.
8673         <UNOP_CAST, UNOP_CAST_TYPE>: Common bits factored out to
8674         evaluate_subexp_for_cast.
8675         (evaluate_subexp_for_address, evaluate_subexp_for_sizeof): Handle
8676         OP_VAR_MSYM_VALUE.
8677         (evaluate_subexp_for_cast): New function.
8678         * gdbtypes.c (init_nodebug_var_type): New function.
8679         (objfile_type): Use it to initialize types of variables with no
8680         debug info.
8681         * typeprint.c (error_unknown_type): New.
8682         * typeprint.h (error_unknown_type): New declaration.
8683         * compile/compile-c-types.c (convert_type_basic): Handle
8684         TYPE_CODE_ERROR; warn and fallback to int for variables with
8685         unknown type.
8686
8687 2017-09-04  Pedro Alves  <palves@redhat.com>
8688
8689         * eval.c (evaluate_var_value): New function, factored out from ...
8690         (evaluate_subexp_standard): ... here.
8691
8692 2017-09-04  Pedro Alves  <palves@redhat.com>
8693
8694         * eval.c (evaluate_subexp_standard) <UNOP_COMPLEMENT, UNOP_ADDR>:
8695         Remove useless assignments to 'op'.
8696
8697 2017-09-04  Pedro Alves  <palves@redhat.com>
8698
8699         * eval.c (eval_skip_value): New function.
8700         (evaluate_subexp_standard): Use it.
8701
8702 2017-09-04  Pedro Alves  <palves@redhat.com>
8703
8704         * eval.c (evaluate_subexp_standard): <OP_FUNCALL>: Extract
8705         function name from symbol/minsym and pass it to
8706         error_call_unknown_return_type.
8707
8708 2017-09-04  Pedro Alves  <palves@redhat.com>
8709
8710         * ada-lang.c (resolve_subexp): Handle OP_VAR_MSYM_VALUE.
8711         * ax-gdb.c (gen_msym_var_ref): New function.
8712         (gen_expr): Handle OP_VAR_MSYM_VALUE.
8713         * eval.c (evaluate_var_msym_value): New function.
8714         * eval.c (evaluate_subexp_standard): Handle OP_VAR_MSYM_VALUE.
8715         <OP_FUNCALL>: Extract function name from symbol/minsym and pass it
8716         to call_function_by_hand.
8717         * expprint.c (print_subexp_standard, dump_subexp_body_standard):
8718         Handle OP_VAR_MSYM_VALUE.
8719         (union exp_element) <msymbol>: New field.
8720         * minsyms.h (struct type): Forward declare.
8721         (find_minsym_type_and_address): Declare.
8722         * parse.c (write_exp_elt_msym): New function.
8723         (write_exp_msymbol): Delete, refactored as ...
8724         (find_minsym_type_and_address): ... this new function.
8725         (write_exp_msymbol): Reimplement using OP_VAR_MSYM_VALUE.
8726         (operator_length_standard, operator_check_standard): Handle
8727         OP_VAR_MSYM_VALUE.
8728         * std-operator.def (OP_VAR_MSYM_VALUE): New.
8729
8730 2017-09-04  Pedro Alves  <palves@redhat.com>
8731
8732         * ada-lang.c (ada_evaluate_subexp) <TYPE_CODE_FUNC>: Don't handle
8733         TYPE_GNU_IFUNC specially here.  Throw error if return type is
8734         unknown.
8735         * ada-typeprint.c (print_func_type): Handle functions with unknown
8736         return type.
8737         * c-typeprint.c (c_type_print_base): Handle functions and methods
8738         with unknown return type.
8739         * compile/compile-c-symbols.c (convert_symbol_bmsym)
8740         <mst_text_gnu_ifunc>: Use nodebug_text_gnu_ifunc_symbol.
8741         * compile/compile-c-types.c: Include "objfiles.h".
8742         (convert_func): For functions with unknown return type, warn and
8743         default to int.
8744         * compile/compile-object-run.c (compile_object_run): Adjust call
8745         to call_function_by_hand_dummy.
8746         * elfread.c (elf_gnu_ifunc_resolve_addr): Adjust call to
8747         call_function_by_hand.
8748         * eval.c (evaluate_subexp_standard): Adjust calls to
8749         call_function_by_hand.  Handle functions and methods with unknown
8750         return type.  Pass expect_type to call_function_by_hand.
8751         * f-typeprint.c (f_type_print_base): Handle functions with unknown
8752         return type.
8753         * gcore.c (call_target_sbrk): Adjust call to
8754         call_function_by_hand.
8755         * gdbtypes.c (objfile_type): Leave nodebug text symbol with NULL
8756         return type instead of int.  Make nodebug_text_gnu_ifunc_symbol be
8757         an integer address type instead of nodebug.
8758         * guile/scm-value.c (gdbscm_value_call): Adjust call to
8759         call_function_by_hand.
8760         * infcall.c (error_call_unknown_return_type): New function.
8761         (call_function_by_hand): New "default_return_type" parameter.
8762         Pass it down.
8763         (call_function_by_hand_dummy): New "default_return_type"
8764         parameter.  Use it instead of defaulting to int.  If there's no
8765         default and the return type is unknown, throw an error.  If
8766         there's a default return type, and the called function has no
8767         debug info, then assume the function is prototyped.
8768         * infcall.h (call_function_by_hand, call_function_by_hand_dummy):
8769         New "default_return_type" parameter.
8770         (error_call_unknown_return_type): New declaration.
8771         * linux-fork.c (call_lseek): Cast return type of lseek.
8772         (inferior_call_waitpid, checkpoint_command): Adjust calls to
8773         call_function_by_hand.
8774         * linux-tdep.c (linux_infcall_mmap, linux_infcall_munmap): Adjust
8775         calls to call_function_by_hand.
8776         * m2-typeprint.c (m2_procedure): Handle functions with unknown
8777         return type.
8778         * objc-lang.c (lookup_objc_class, lookup_child_selector)
8779         (value_nsstring, print_object_command): Adjust calls to
8780         call_function_by_hand.
8781         * p-typeprint.c (pascal_type_print_varspec_prefix): Handle
8782         functions with unknown return type.
8783         (pascal_type_print_func_varspec_suffix): New function.
8784         (pascal_type_print_varspec_suffix) <TYPE_CODE_FUNC,
8785         TYPE_CODE_METHOD>: Use it.
8786         * python/py-value.c (valpy_call): Adjust call to
8787         call_function_by_hand.
8788         * rust-lang.c (rust_evaluate_funcall): Adjust call to
8789         call_function_by_hand.
8790         * valarith.c (value_x_binop, value_x_unop): Adjust calls to
8791         call_function_by_hand.
8792         * valops.c (value_allocate_space_in_inferior): Adjust call to
8793         call_function_by_hand.
8794         * typeprint.c (type_print_unknown_return_type): New function.
8795         * typeprint.h (type_print_unknown_return_type): New declaration.
8796
8797 2017-09-04  Pedro Alves  <palves@redhat.com>
8798
8799         * gdbtypes.c (lookup_function_type_with_arguments): Mark function
8800         types with more than one parameter as prototyped.
8801
8802 2017-09-04  Pedro Alves  <palves@redhat.com>
8803
8804         * cli/cli-cmds.c (print_disassembly, disassemble_current_function)
8805         (disassemble_command): Use gdb_disassembly_flags instead of bare
8806         int.
8807         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn)
8808         (dump_insns, do_mixed_source_and_assembly_deprecated)
8809         (do_mixed_source_and_assembly, do_assembly_only, gdb_disassembly):
8810         Use gdb_disassembly_flags instead of bare int.
8811         * disasm.h (DISASSEMBLY_SOURCE_DEPRECATED, DISASSEMBLY_RAW_INSN)
8812         (DISASSEMBLY_OMIT_FNAME, DISASSEMBLY_FILENAME)
8813         (DISASSEMBLY_OMIT_PC, DISASSEMBLY_SOURCE)
8814         (DISASSEMBLY_SPECULATIVE): No longer macros.  Instead they're...
8815         (enum gdb_disassembly_flag): ... values of this new enumeration.
8816         (gdb_disassembly_flags): Define.
8817         (gdb_disassembly)
8818         (gdb_pretty_print_disassembler::pretty_print_insn): Use it.
8819         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Use
8820         gdb_disassembly_flags instead of bare int.
8821         * record-btrace.c (btrace_insn_history)
8822         (record_btrace_insn_history, record_btrace_insn_history_range)
8823         (record_btrace_insn_history_from): Use gdb_disassembly_flags
8824         instead of bare int.
8825         * record.c (get_insn_history_modifiers, cmd_record_insn_history):
8826         Use gdb_disassembly_flags instead of bare int.
8827         * target-debug.h (target_debug_print_gdb_disassembly_flags):
8828         Define.
8829         * target-delegates.c: Regenerate.
8830         * target.c (target_insn_history, target_insn_history_from)
8831         (target_insn_history_range): Use gdb_disassembly_flags instead of
8832         bare int.
8833         * target.h: Include "disasm.h".
8834         (struct target_ops) <to_insn_history, to_insn_history_from,
8835         to_insn_history_range>: Use gdb_disassembly_flags instead of bare
8836         int.
8837         (target_insn_history, target_insn_history_from)
8838         (target_insn_history_range): Use gdb_disassembly_flags instead of
8839         bare int.
8840
8841 2017-09-04  Simon Marchi  <simon.marchi@ericsson.com>
8842
8843         * cli/cli-script.c (build_command_line): For if/while commands,
8844         check whether args is empty.
8845
8846 2017-09-04  Simon Marchi  <simon.marchi@ericsson.com>
8847
8848         * cli/cli-script.h (enum misc_command_type): Move from defs.h.
8849         (enum command_control_type): Likewise.
8850         (struct command_line): Likewise.
8851         (free_command_lines): Likewise.
8852         (struct command_lines_deleter): Likewise.
8853         (command_line_up): Likewise.
8854         (read_command_lines): Likewise.
8855         (read_command_lines_1): Likewise.
8856         * defs.h (enum misc_command_type): Move to cli/cli-script.h.
8857         (enum command_control_type): Likewise.
8858         (struct command_line): Likewise.
8859         (free_command_lines): Likewise.
8860         (struct command_lines_deleter): Likewise.
8861         (command_line_up): Likewise.
8862         (read_command_lines): Likewise.
8863         (read_command_lines_1): Likewise.
8864         * breakpoint.h: Include cli/cli-script.h.
8865         * extension-priv.h: Likewise.
8866         * gdbcmd.h: Likewise.
8867
8868 2017-09-04  Pedro Alves  <palves@redhat.com>
8869
8870         * ada-lang.c (is_known_support_routine): Move sal declaration to
8871         where it is initialized.
8872         * breakpoint.c (create_internal_breakpoint, init_catchpoint)
8873         (parse_breakpoint_sals, decode_static_tracepoint_spec)
8874         (clear_command, update_static_tracepoint): Remove init_sal
8875         references.  Move declarations closer to initializations.
8876         * cli/cli-cmds.c (list_command): Move sal declarations closer to
8877         initializations.
8878         * elfread.c (elf_gnu_ifunc_resolver_stop): Remove init_sal
8879         references.  Move sal declarations closer to initializations.
8880         * frame.c (find_frame_sal): Return a symtab_and_line via function
8881         return instead of output parameter.  Remove init_sal references.
8882         * frame.h (find_frame_sal): Return a symtab_and_line via function
8883         return instead of output parameter.
8884         * guile/scm-frame.c (gdbscm_frame_sal): Adjust.
8885         * guile/scm-symtab.c (stscm_make_sal_smob): Use in-place new
8886         instead of memset.
8887         (gdbscm_find_pc_line): Remove init_sal reference.
8888         * infcall.c (call_function_by_hand_dummy): Remove init_sal
8889         references.  Move declarations closer to initializations.
8890         * infcmd.c (set_step_frame): Update.  Move declarations closer to
8891         initializations.
8892         (finish_backward): Remove init_sal references.  Move declarations
8893         closer to initializations.
8894         * infrun.c (process_event_stop_test, handle_step_into_function)
8895         (insert_hp_step_resume_breakpoint_at_frame)
8896         (insert_step_resume_breakpoint_at_caller): Likewise.
8897         * linespec.c (create_sals_line_offset, decode_digits_ordinary)
8898         (symbol_to_sal): Likewise.
8899         * probe.c (parse_probes_in_pspace): Remove init_sal reference.
8900         * python/py-frame.c (frapy_find_sal): Move sal declaration closer
8901         to its initialization.
8902         * reverse.c (save_bookmark_command): Use new/delete.  Remove
8903         init_sal references.  Move declarations closer to initializations.
8904         * source.c (get_current_source_symtab_and_line): Remove brace
8905         initialization.
8906         (set_current_source_symtab_and_line): Now takes the sal by const
8907         reference.  Remove brace initialization.
8908         (line_info): Remove init_sal reference.
8909         * source.h (set_current_source_symtab_and_line): Now takes a
8910         symtab_and_line via const reference.
8911         * stack.c (set_current_sal_from_frame): Adjust.
8912         (print_frame_info): Adjust.
8913         (get_last_displayed_sal): Return the sal via function return
8914         instead of via output parameter.  Simplify.
8915         (frame_info): Adjust.
8916         * stack.h (get_last_displayed_sal): Return the sal via function
8917         return instead of via output parameter.
8918         * symtab.c (init_sal): Delete.
8919         (find_pc_sect_line): Remove init_sal references.  Move
8920         declarations closer to initializations.
8921         (find_function_start_sal): Remove init_sal references.  Move
8922         declarations closer to initializations.
8923         * symtab.h (struct symtab_and_line): In-class initialize all
8924         fields.
8925         * tracepoint.c (set_traceframe_context)
8926         (print_one_static_tracepoint_marker): Remove init_sal references.
8927         Move declarations closer to initializations.
8928         * tui/tui-disasm.c (tui_show_disassem_and_update_source): Adjust.
8929         * tui/tui-stack.c (tui_show_frame_info): Adjust.  Move
8930         declarations closer to initializations.
8931         * tui/tui-winsource.c (tui_update_source_window_as_is): Remove
8932         init_sal references.  Adjust.
8933
8934 2017-09-04  Pedro Alves  <palves@redhat.com>
8935
8936         * ax-gdb.c (agent_command_1): Use range-for.
8937         * break-catch-throw.c (re_set_exception_catchpoint): Update.
8938         * breakpoint.c: Include "common/array-view.h".
8939         (init_breakpoint_sal, create_breakpoint_sal): Change sals
8940         parameter from struct symtabs_and_lines to
8941         array_view<symtab_and_line>.  Adjust.  Use range-for.  Update.
8942         (breakpoint_sals_to_pc): Change sals parameter from struct
8943         symtabs_and_lines to std::vector reference.
8944         (check_fast_tracepoint_sals): Change sals parameter from struct
8945         symtabs_and_lines to std::array_view.  Use range-for.
8946         (decode_static_tracepoint_spec): Return a std::vector instead of
8947         symtabs_and_lines.  Update.
8948         (create_breakpoint): Update.
8949         (break_range_command, until_break_command, clear_command): Update.
8950         (base_breakpoint_decode_location, bkpt_decode_location)
8951         (bkpt_probe_create_sals_from_location)
8952         (bkpt_probe_decode_location, tracepoint_decode_location)
8953         (tracepoint_probe_decode_location)
8954         (strace_marker_create_sals_from_location): Return a std::vector
8955         instead of symtabs_and_lines.
8956         (strace_marker_create_breakpoints_sal): Update.
8957         (strace_marker_decode_location): Return a std::vector instead of
8958         symtabs_and_lines.  Update.
8959         (update_breakpoint_locations): Change struct symtabs_and_lines
8960         parameters to gdb::array_view.  Adjust.
8961         (location_to_sals): Return a std::vector instead of
8962         symtabs_and_lines.  Update.
8963         (breakpoint_re_set_default): Use std::vector instead of struct
8964         symtabs_and_lines.
8965         (decode_location_default): Return a std::vector instead of
8966         symtabs_and_lines.  Update.
8967         * breakpoint.h: Include "common/array-view.h".
8968         (struct breakpoint_ops) <decode_location>: Now returns a
8969         std::vector instead of returning a symtabs_and_lines via output
8970         parameter.
8971         (update_breakpoint_locations): Change sals parameters to use
8972         gdb::array_view.
8973         * cli/cli-cmds.c (edit_command, list_command): Update to use
8974         std::vector and gdb::array_view.
8975         (ambiguous_line_spec): Adjust to use gdb::array_view and
8976         range-for.
8977         (compare_symtabs): Rename to ...
8978         (cmp_symtabs): ... this.  Change parameters to symtab_and_line
8979         const reference and adjust.
8980         (filter_sals): Rewrite using std::vector and standard algorithms.
8981         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Simplify.
8982         (jump_command): Update to use std::vector.
8983         * linespec.c (struct linespec_state) <canonical_names>: Update
8984         comment.
8985         (add_sal_to_sals_basic): Delete.
8986         (add_sal_to_sals, filter_results, convert_results_to_lsals)
8987         (decode_line_2, create_sals_line_offset)
8988         (convert_address_location_to_sals, convert_linespec_to_sals)
8989         (convert_explicit_location_to_sals, parse_linespec)
8990         (event_location_to_sals, decode_line_full, decode_line_1)
8991         (decode_line_with_current_source)
8992         (decode_line_with_last_displayed, decode_objc)
8993         (decode_digits_list_mode, decode_digits_ordinary, minsym_found)
8994         (linespec_result::~linespec_result): Adjust to use std::vector
8995         instead of symtabs_and_lines.
8996         * linespec.h (linespec_sals::sals): Now a std::vector.
8997         (struct linespec_result): Use std::vector, bool, and in-class
8998         initialization.
8999         (decode_line_1, decode_line_with_current_source)
9000         (decode_line_with_last_displayed): Return std::vector.
9001         * macrocmd.c (info_macros_command): Use std::vector.
9002         * mi/mi-main.c (mi_cmd_trace_find): Use std::vector.
9003         * probe.c (parse_probes_in_pspace, parse_probes): Adjust to use
9004         std::vector.
9005         * probe.h (parse_probes): Return a std::vector.
9006         * python/python.c (gdbpy_decode_line): Use std::vector and
9007         gdb::array_view.
9008         * source.c (select_source_symtab, line_info): Use std::vector.
9009         * stack.c (func_command): Use std::vector.
9010         * symtab.h (struct symtabs_and_lines): Delete.
9011         * tracepoint.c (tfind_line_command, scope_info): Use std::vector.
9012
9013 2017-09-04  Pedro Alves  <palves@redhat.com>
9014
9015         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9016         unittests/array-view-selftests.c.
9017         (SUBDIR_UNITTESTS_OBS): Add array-view-selftests.o.
9018         * common/array-view.h: New file.
9019         * unittests/array-view-selftests.c: New file.
9020
9021 2017-09-04  Pedro Alves  <palves@redhat.com>
9022
9023         * cli/cli-cmds.c (edit_command): Pass message to
9024         ambiguous_line_spec.
9025         (list_command): Pass message to ambiguous_line_spec.  Say
9026         "first"/"last" instead of "start" and "end" to be consistent with
9027         the manual.
9028         (ambiguous_line_spec): Add 'format' and vararg parameters.  Use
9029         them to print formatted message.
9030
9031 2017-09-04  Pedro Alves  <palves@redhat.com>
9032
9033         * btrace.c (ftrace_add_pt): Pass btrace_insn to
9034         ftrace_update_insns by reference instead of pointer.
9035
9036 2017-09-04  Yao Qi  <yao.qi@linaro.org>
9037
9038         * i386-go32-tdep.c: Include x86-xstate.h.
9039         (i386_go32_init_abi): Call i386_target_description.
9040         * i386-tdep.c (i386_target_description): Return tdesc_i386_mmx
9041         if xcr0 is X86_XSTATE_X87_MASK.
9042         * i386-tdep.h (tdesc_i386): Remove the declaration.
9043         (tdesc_i386_mmx): Likewise.
9044
9045 2017-09-04  Yao Qi  <yao.qi@linaro.org>
9046
9047         * i386-fbsd-tdep.c (i386fbsd_core_read_xcr0): Return
9048         X86_XSTATE_SSE_MASK instead of 0.
9049
9050 2017-09-04  Yao Qi  <yao.qi@linaro.org>
9051
9052         * amd64-fbsd-nat.c (amd64fbsd_read_description): Call
9053         i386_target_description.
9054         * i386-fbsd-nat.c (i386fbsd_read_description): Call
9055         i386_target_description.
9056         * i386-tdep.c (i386_gdbarch_init): Likewise.
9057
9058 2017-09-04  Yao Qi  <yao.qi@linaro.org>
9059
9060         * amd64-darwin-tdep.c: Include "x86-xstate.h".
9061         (x86_darwin_init_abi_64): Call amd64_target_description.
9062         * amd64-dicos-tdep.c: Likewise.
9063         * amd64-fbsd-nat.c: Likewise.
9064         * amd64-fbsd-tdep.c: Likewise.
9065         * amd64-nbsd-tdep.c: Likewise.
9066         * amd64-obsd-tdep.c: Likewise.
9067         * amd64-sol2-tdep.c: Likewise.
9068         * amd64-windows-tdep.c: Likewise.
9069         * amd64-tdep.h (tdesc_amd64): Remove the declaration.
9070
9071 2017-09-04  Simon Marchi  <simon.marchi@ericsson.com>
9072
9073         * btrace.h (btrace_insn_s, DEF_VEC_O (btrace_insn_s)): Remove.
9074         (btrace_function) <insn>: Change type to use std::vector.
9075         * btrace.c (ftrace_debug, ftrace_call_num_insn,
9076         ftrace_find_call, ftrace_new_gap, ftrace_update_function,
9077         ftrace_update_insns, ftrace_compute_global_level_offset,
9078         btrace_stitch_bts, btrace_clear, btrace_insn_get,
9079         btrace_insn_end, btrace_insn_next, btrace_insn_prev): Adjust to
9080         change to std::vector.
9081         (ftrace_update_insns): Adjust to change to std::vector, change
9082         type of INSN parameter.
9083         (btrace_compute_ftrace_bts): Adjust call to ftrace_update_insns.
9084         * record-btrace.c (btrace_call_history_insn_range,
9085         btrace_compute_src_line_range,
9086         record_btrace_frame_prev_register): Adjust to change to
9087         std::vector.
9088         * python/py-record-btrace.c (recpy_bt_func_instructions): Adjust
9089         to change to std::vector.
9090
9091 2017-09-03  Tom Tromey  <tom@tromey.com>
9092
9093         * corefile.c (reopen_exec_file): Use std::string.
9094
9095 2017-09-03  Tom Tromey  <tom@tromey.com>
9096
9097         * compile/compile.c (compile_register_name_mangled): Return
9098         std::string.
9099         * compile/compile-loc2c.c (pushf_register_address): Update.
9100         (pushf_register): Update.
9101         * compile/compile-c-types.c (convert_array): Update.
9102         * compile/compile-c-symbols.c (generate_vla_size): Update.
9103         (error_symbol_once): Use a gdb::unique_xmalloc_ptr.
9104         (symbol_substitution_name): Return a gdb::unique_xmalloc_ptr.
9105         (convert_one_symbol): Update.
9106         (generate_c_for_for_one_variable): Update.
9107         * compile/compile-c-support.c (c_get_range_decl_name): Return a
9108         std::string.
9109         (generate_register_struct): Update.
9110         * compile/compile-internal.h (c_get_range_decl_name): Return a
9111         std::string.
9112         (compile_register_name_mangled): Return std::string.
9113
9114 2017-09-03  Tom Tromey  <tom@tromey.com>
9115
9116         * utils.c (perror_string): Return a std::string.
9117         (throw_perror_with_name, perror_warning_with_name): Update.
9118
9119 2017-09-03  Tom Tromey  <tom@tromey.com>
9120
9121         * demangle.c (demangle_command): Use std::string,
9122         unique_xmalloc_ptr.
9123
9124 2017-09-03  Tom Tromey  <tom@tromey.com>
9125
9126         * cli/cli-setshow.c (do_set_command): Use std::string.
9127
9128 2017-09-03  Tom Tromey  <tom@tromey.com>
9129
9130         * cli/cli-cmds.c (cd_command): Use gdb::unique_xmalloc_ptr.
9131
9132 2017-09-03  Tom Tromey  <tom@tromey.com>
9133
9134         * mi/mi-interp.c (mi_cmd_interpreter_exec): Use std::string.
9135
9136 2017-09-03  Tom Tromey  <tom@tromey.com>
9137
9138         * mi/mi-cmd-env.c (env_execute_cli_command): Use
9139         gdb::unique_xmalloc_ptr.
9140
9141 2017-09-03  Tom Tromey  <tom@tromey.com>
9142
9143         * thread.c (print_thread_info_1): Use string_printf.
9144         (thread_apply_command, thread_apply_all_command): Use
9145         std::string.
9146
9147 2017-09-03  Tom Tromey  <tom@tromey.com>
9148
9149         * valprint.c (val_print_string): Update.
9150         * gdbcore.h (memory_error_message): Return std::string.
9151         * corefile.c (memory_error_message): Return std::string.
9152         (memory_error): Update.
9153         * breakpoint.c (insert_bp_location): Update.
9154
9155 2017-09-03  Simon Marchi  <simon.marchi@ericsson.com>
9156
9157         * target/waitstatus.h (target_waitstatus_to_string): Change
9158         return type to std::string.
9159         * target/waitstatus.c (target_waitstatus_to_string): Return
9160         std::string.
9161         * target.h (target_waitstatus_to_string): Remove declaration.
9162         * infrun.c (resume, clear_proceed_status_thread,
9163         print_target_wait_results, do_target_wait, save_waitstatus,
9164         stop_all_threads): Adjust.
9165         * record-btrace.c (record_btrace_wait): Adjust.
9166         * target-debug.h
9167         (target_debug_print_struct_target_waitstatus_p): Adjust.
9168
9169 2017-09-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
9170
9171         PR gdb/22046
9172         * nat/linux-procfs.c (parse_proc_status_state): Fix PROC_STATE_STOPPED
9173         detection.
9174
9175 2017-08-31  Sergio Durigan Junior  <sergiodj@redhat.com>
9176
9177         * NEWS (Changes since GDB 8.0): Add entry mentioning new support
9178         for setting/unsetting environment variables on the remote target.
9179         (New remote packets): Add entries for QEnvironmentHexEncoded,
9180         QEnvironmentUnset and QEnvironmentReset.
9181         * common/environ.c (gdb_environ::operator=): Extend method to
9182         handle m_user_set_env_list and m_user_unset_env_list.
9183         (gdb_environ::clear): Likewise.
9184         (match_var_in_string): Change type of first parameter from 'char
9185         *' to 'const char *'.
9186         (gdb_environ::set): Extend method to handle
9187         m_user_set_env_list and m_user_unset_env_list.
9188         (gdb_environ::unset): Likewise.
9189         (gdb_environ::clear_user_set_env): New method.
9190         (gdb_environ::user_set_envp): Likewise.
9191         (gdb_environ::user_unset_envp): Likewise.
9192         * common/environ.h (gdb_environ): Handle m_user_set_env_list and
9193         m_user_unset_env_list on move constructor/assignment.
9194         (unset): Add new default parameter 'update_unset_list = true'.
9195         (clear_user_set_env): New method.
9196         (user_set_envp): Likewise.
9197         (user_unset_envp): Likewise.
9198         (m_user_set_env_list): New std::set.
9199         (m_user_unset_env_list): Likewise.
9200         * common/rsp-low.c (hex2str): New function.
9201         (bin2hex): New overload for bin2hex function.
9202         * common/rsp-low.c (hex2str): New prototype.
9203         (str2hex): New overload prototype.
9204         * remote.c: Include "environ.h". Add QEnvironmentHexEncoded,
9205         QEnvironmentUnset and QEnvironmentReset.
9206         (remote_protocol_features): Add QEnvironmentHexEncoded,
9207         QEnvironmentUnset and QEnvironmentReset packets.
9208         (send_environment_packet): New function.
9209         (extended_remote_environment_support): Likewise.
9210         (extended_remote_create_inferior): Call
9211         extended_remote_environment_support.
9212         (_initialize_remote): Add QEnvironmentHexEncoded,
9213         QEnvironmentUnset and QEnvironmentReset packet configs.
9214         * unittests/environ-selftests.c (gdb_selftest_env_var):
9215         New variable.
9216         (test_vector_initialization): New function.
9217         (test_init_from_host_environ): Likewise.
9218         (test_reinit_from_host_environ): Likewise.
9219         (test_set_A_unset_B_unset_A_cannot_find_A_can_find_B):
9220         Likewise.
9221         (test_unset_set_empty_vector): Likewise.
9222         (test_vector_clear): Likewise.
9223         (test_std_move): Likewise.
9224         (test_move_constructor):
9225         (test_self_move): Likewise.
9226         (test_set_unset_reset): Likewise.
9227         (run_tests): Rewrite in terms of the functions above.
9228
9229 2017-08-31  Weimin Pan  <weimin.pan@oracle.com>
9230
9231         * sparc64-tdep.c (adi_stat_t): Fix comment formatting.
9232         (adi_available): Use a temp variable of type CORE_ADDR as argument
9233         3 when calling target_auxv_search.
9234         (adi_normalize_address): Use masks and xor operators to calculate
9235         normalized address.
9236         (adi_read_versions, adi_write_versions, adi_print_versions)
9237         (do_examine, do_assign): Use paddress.
9238
9239 2017-08-29  John Baldwin  <jhb@FreeBSD.org>
9240
9241         * mips-fbsd-nat.c (getfpregs_supplies): Return true for FIR.
9242         * mips-fbsd-tdep.c (mips_fbsd_supply_fpregs): Split supply of FSR
9243         out of loop and add supply of FIR.
9244         (mips_fbsd_collect_fpregs): Split collect of FSR out of loop and
9245         add collect of FIR.
9246
9247 2017-08-28  Simon Marchi  <simon.marchi@ericsson.com>
9248
9249         PR gdb/21827
9250         * cli/cli-script.c (define_command): Don't convert command name
9251         to lower case.
9252
9253 2017-08-25  Joel Brobecker  <brobecker@adacore.com>
9254
9255         * ada-lang.c (ada_lookup_struct_elt_type): Remove parameter "dispp".
9256         Update all callers accordingly. Remove all code blocks handling
9257         the case where DISPP is not NULL.
9258
9259 2017-08-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
9260
9261         PR symtab/22003
9262         * dwarf2read.c (dwarf2_const_value_attr, dump_die_shallow)
9263         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
9264         (skip_form_bytes, attr_form_is_constant): Handle DW_FORM_implicit_const.
9265
9266 2017-08-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
9267
9268         * dwarf2read.c (build_type_psymtabs_reader): New prototype.
9269         (process_psymtab_comp_unit): Accept IS_DEBUG_TYPES.
9270         (read_comp_units_from_section): New parameter abbrev_section, use
9271         read_and_check_comp_unit_head, allocate signatured_type if needed.
9272         (create_all_comp_units): Update read_comp_units_from_section caller.
9273
9274 2017-08-23  Pedro Alves  <palves@redhat.com>
9275
9276         PR remote/21852
9277         * remote.c (add_current_inferior_and_thread): Set inferior_ptid
9278         to null_ptid and switch to thread without reading the registers
9279         after adding the inferior.
9280
9281 2017-08-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
9282
9283         * NEWS (Changes since GDB 8.0): Add set compile-gcc and show
9284         compile-gcc.
9285         * compile/compile.c (compile_gcc, show_compile_gcc): New.
9286         (compile_to_object): Implement compile_gcc.
9287         (_initialize_compile): Install "set compile-gcc".  Initialize
9288         compile_gcc.
9289
9290 2017-08-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
9291
9292         * compile/compile.c (compile_to_object): Conditionally call
9293         set_verbose.  Conditionally call compile or compile_v0.
9294
9295 2017-08-07  Weimin Pan  <weimin.pan@oracle.com>
9296
9297         * sparc64-tdep.h: (adi_normalize_address): New export.
9298         * sparc-nat.h: (open_adi_tag_fd): New export.
9299         * sparc64-linux-nat.c: (open_adi_tag_fd): New function.
9300         * sparc64-linux-tdep.c:
9301         (SEGV_ACCADI, SEGV_ADIDERR, SEGV_ADIPERR) New defines.
9302         (sparc64_linux_handle_segmentation_fault): New function.
9303         (sparc64_linux_init_abi): Register
9304         sparc64_linux_handle_segmentation_fault
9305         * sparc64-tdep.c: Include cli-utils.h,gdbcmd.h,auxv.h.
9306         (sparc64_addr_bits_remove): New function.
9307         (sparc64_init_abi): Register sparc64_addr_bits_remove.
9308         (MAX_PROC_NAME_SIZE): New macro.
9309         (AT_ADI_BLKSZ, AT_ADI_NBITS, AT_ADI_UEONADI) New defines.
9310         (sparc64adilist): New variable.
9311         (adi_proc_list): New variable.
9312         (find_adi_info): New function.
9313         (add_adi_info): New function.
9314         (get_adi_info_proc): New function.
9315         (get_adi_info): New function.
9316         (info_adi_command): New function.
9317         (read_maps_entry): New function.
9318         (adi_available): New function.
9319         (adi_normalize_address): New function.
9320         (adi_align_address): New function.
9321         (adi_convert_byte_count): New function.
9322         (adi_tag_fd): New function.
9323         (adi_is_addr_mapped): New function.
9324         (adi_read_versions): New function.
9325         (adi_write_versions): New function.
9326         (adi_print_versions): New function.
9327         (do_examine): New function.
9328         (do_assign): New function.
9329         (adi_examine_command): New function.
9330         (adi_assign_command): New function.
9331         (_initialize_sparc64_adi_tdep): New function.
9332
9333 2017-08-22  Simon Marchi  <simon.marchi@ericsson.com>
9334
9335         * breakpoint.c (breakpoints_info): Rename to ...
9336         (info_breakpoints_command): ... this.
9337         (watchpoints_info): Rename to ...
9338         (info_watchpoints_command): ... this.
9339         (tracepoints_info): Rename to ...
9340         (info_tracepoints_command): ... this.
9341         (_initialize_breakpoint): Adjust.
9342         * dcache.c (dcache_info): Rename to ...
9343         (info_display_command): ... this.
9344         (_initialize_dcache): Adjust.
9345         * frame.h (args_info): Rename to ...
9346         (info_args_command): ... this.
9347         (locals_info): Rename to ...
9348         (info_locals_command): ... this.
9349         * infcmd.c (nofp_registers_info): Rename to ...
9350         (info_registers_command): ... this.
9351         (float_info): Rename to ...
9352         (info_float_command): ... this.
9353         (program_info): Rename to ...
9354         (info_program_command): ... this.
9355         (all_registers_info): Rename to ...
9356         (info_all_registers_command): ... this.
9357         (vector_info): Rename to ...
9358         (info_vector_command): ... this.
9359         (float_info): Rename to ...
9360         (info_float_command): ... this.
9361         (_initialize_infcmd): Adjust.
9362         * inferior.h (term_info): Rename to ...
9363         (info_terminal_command): ... this.
9364         * inflow.c (term_info): Rename to ...
9365         (info_terminal_command): ... this.
9366         (_initialize_inflow): Adjust.
9367         * infrun.c (signals_info): Rename to ...
9368         (info_signals_command): ... this.
9369         (_initialize_infrun): Adjust.
9370         * objc-lang.c (classes_info): Rename to ...
9371         (info_classes_command): ... this.
9372         (selectors_info): Rename to ...
9373         (info_selectors_command): ... this.
9374         (_initialize_objc_language): Adjust.
9375         * printcmd.c (sym_info): Rename to ...
9376         (info_symbol_command): ... this.
9377         (address_info): Rename to ...
9378         (info_address_command): ... this.
9379         (display_info): Rename to ...
9380         (info_display_command): ... this.
9381         (_initialize_printcmd): Adjust.
9382         * reverse.c (bookmarks_info): Rename to ...
9383         (info_breakpoints_command): ... this.
9384         (_initialize_reverse): Adjust.
9385         * ser-go32.c (dos_info): Rename to ...
9386         (info_serial_command): ... this.
9387         (_initialize_ser_dos): Adjust.
9388         * skip.c (skip_info): Rename to ...
9389         (info_skip_command): ... this.
9390         (_initialize_step_skip): Adjust.
9391         * source.c (line_info): Rename to ...
9392         (info_line_command): ... this.
9393         (source_info): Rename to ...
9394         (info_source_command)
9395         * stack.c (frame_info): Rename to ...
9396         (info_frame_command): ... this.
9397         (locals_info): Rename to ...
9398         (info_locals_command): ... this.
9399         (args_info): Rename to ...
9400         (info_args_command): ... this.
9401         (_initialize_stack): Adjust.
9402         * symtab.c (sources_info): Rename to ...
9403         (info_sources_command): ... this.
9404         (variables_info): Rename to ...
9405         (info_variables_command): ... this.
9406         (functions_info): Rename to ...
9407         (info_functions_command): ... this.
9408         (types_info): Rename to ...
9409         (info_types_command): ... this.
9410         (_initialize_symtab): Adjust.
9411         * target.c (target_info): Rename to ...
9412         (info_target_command): ... this.
9413         (initialize_targets): Adjust.
9414         * tracepoint.c (tvariables_info): Rename to ...
9415         (info_tvariables_command): ... this.
9416         (scope_info): Rename to ...
9417         (info_scope_command): ... this.
9418         (trace_dump_actions): Adjust.
9419         (_initialize_tracepoint): Adjust.
9420
9421 2017-08-22  Tom Tromey  <tom@tromey.com>
9422
9423         * breakpoint.h (install_breakpoint): Update.
9424         * breakpoint.c (add_solib_catchpoint): Update.
9425         (install_breakpoint): Change argument to a std::unique_ptr.
9426         (create_fork_vfork_event_catchpoint): Use std::unique_ptr.
9427         (create_breakpoint_sal, create_breakpoint): Update.
9428         (watch_command_1, catch_exec_command_1)
9429         (strace_marker_create_breakpoints_sal): Use std::unique_ptr.
9430         (add_to_breakpoint_chain): Change argument to a std::unique_ptr.
9431         Return the breakpoint.
9432         (set_raw_breakpoint_without_location, set_raw_breakpoint)
9433         (new_single_step_breakpoint): Update.
9434         * break-catch-throw.c (handle_gnu_v3_exceptions): Use
9435         std::unique_ptr.
9436         * break-catch-syscall.c (create_syscall_event_catchpoint): Use
9437         std::unique_ptr.
9438         * break-catch-sig.c (create_signal_catchpoint): Use
9439         std::unique_ptr.
9440         * ada-lang.c (create_ada_exception_catchpoint): Use
9441         std::unique_ptr.
9442
9443 2017-08-22  Tom Tromey  <tom@tromey.com>
9444
9445         * breakpoint.c (add_solib_catchpoint): Use std::unique_ptr.
9446
9447 2017-08-22  Tom Tromey  <tom@tromey.com>
9448
9449         * psymtab.c (psymtab_search_name): Return a unique_xmalloc_ptr.
9450         (lookup_partial_symbol): Update.
9451
9452 2017-08-22  Tom Tromey  <tom@tromey.com>
9453
9454         * source.h (rewrite_source_path): Return a unique_xmalloc_ptr.
9455         * source.c (rewrite_source_path): Return a unique_xmalloc_ptr.
9456         (find_and_open_source, symtab_to_fullname): Update.
9457         * psymtab.c (psymtab_to_fullname): Update.
9458
9459 2017-08-22  Tom Tromey  <tom@tromey.com>
9460
9461         * exec.c (exec_file_attach): Update.
9462         * linux-thread-db.c (try_thread_db_load): Update.
9463         * guile/scm-safe-call.c (gdbscm_safe_source_script): Update.
9464         * utils.c (gdb_realpath): Change return type.
9465         (gdb_realpath_keepfile): Update.
9466         (gdb_realpath_check_trailer, gdb_realpath_tests): New functions.
9467         (_initialize_utils): Register the new self test.
9468         * source.c (openp): Update.
9469         (find_and_open_source): Update.
9470         * nto-tdep.c (nto_find_and_open_solib): Update.
9471         * main.c (set_gdb_data_directory): Update.
9472         (captured_main_1): Update.
9473         * dwarf2read.c (dwarf2_get_dwz_file): Update
9474         (dw2_map_symbol_filenames): Update.
9475         * auto-load.c (auto_load_safe_path_vec_update): Update.
9476         (filename_is_in_auto_load_safe_path_vec): Change type of
9477         "filename_realp".
9478         (auto_load_objfile_script): Update.
9479         (file_is_auto_load_safe): Update.  Use std::string.
9480         * utils.h (gdb_realpath): Return a gdb::unique_xmalloc_ptr.
9481
9482 2017-08-22  Tom Tromey  <tom@tromey.com>
9483
9484         * utils.c (gdb_realpath_keepfile): Return a
9485         gdb::unique_xmalloc_ptr.
9486         * exec.c (exec_file_attach): Update.
9487         * utils.h (gdb_realpath_keepfile): Return a
9488         gdb::unique_xmalloc_ptr.
9489
9490 2017-08-22  Tom Tromey  <tom@tromey.com>
9491
9492         * compile/compile.c (compile_file_command): Use
9493         gdb::unique_xmalloc_ptr, std::string.
9494         * utils.c (gdb_abspath): Change return type.
9495         * source.c (openp): Update.
9496         * objfiles.c (allocate_objfile): Update.
9497         * main.c (set_gdb_data_directory): Update.
9498         * utils.h (gdb_abspath): Return a gdb::unique_xmalloc_ptr.
9499
9500 2017-08-22  Zhouyi Zhou  <zhouzhouyi@gmail.com>
9501
9502         * cli-cmds.c (list_commands): List actual code around more than
9503         one location.
9504
9505 2017-08-21  John Baldwin  <jhb@FreeBSD.org>
9506
9507         * fbsd-nat.c (fbsd_add_threads): Use array type for `lwps'.
9508
9509 2017-08-21  Pedro Alves  <palves@redhat.com>
9510
9511         PR gdb/19487
9512         * c-exp.y (variable production): Handle function aliases.
9513         * minsyms.c (msymbol_is_text): New function.
9514         * minsyms.h (msymbol_is_text): Declare.
9515         * symtab.c (find_function_alias_target): New function.
9516         * symtab.h (find_function_alias_target): Declare.
9517
9518 2017-08-21  Pedro Alves  <palves@redhat.com>
9519
9520         * eval.c (evaluate_subexp_standard) <OP_TYPE>: Don't dig past
9521         typedefs.
9522         * typeprint.c (whatis_exp): If handling "whatis", and expression
9523         is OP_TYPE, strip one typedef level.  Otherwise don't strip
9524         typedefs here.
9525         * valops.c (value_cast): Save "to" type before resolving
9526         stubs/typedefs.  Use that type as resulting value's type.
9527
9528 2017-08-18  Tom Tromey  <tom@tromey.com>
9529             Pedro Alves  <palves@redhat.com>
9530
9531         * spu-multiarch.c (parse_spufs_run): Use scoped_restore.
9532         * sol-thread.c (sol_thread_resume, sol_thread_wait)
9533         (sol_thread_xfer_partial, rw_common): Use scoped_restore.
9534         * procfs.c (procfs_do_thread_registers): Use scoped_restore.
9535         * proc-service.c (ps_xfer_memory): Use scoped_restore.
9536         * linux-tdep.c (linux_corefile_thread): Remove a cleanup.
9537         (linux_get_siginfo_data): Add "thread" argument.  Use
9538         scoped_restore.
9539         * linux-nat.c (linux_child_follow_fork)
9540         (check_stopped_by_watchpoint): Use scoped_restore.
9541         * infrun.c (displaced_step_prepare_throw, write_memory_ptid)
9542         (THREAD_STOPPED_BY, handle_signal_stop): Use scoped_restore.
9543         (restore_inferior_ptid, save_inferior_ptid): Remove.
9544         * btrace.c (btrace_fetch): Use scoped_restore.
9545         * bsd-uthread.c (bsd_uthread_fetch_registers)
9546         (bsd_uthread_store_registers): Use scoped_restore.
9547         * breakpoint.c (reattach_breakpoints, detach_breakpoints): Use
9548         scoped_restore.
9549         * aix-thread.c (aix_thread_resume, aix_thread_wait)
9550         (aix_thread_xfer_partial): Use scoped_restore.
9551         * inferior.h (save_inferior_ptid): Remove.
9552
9553 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9554
9555         PR tdep/21818
9556         * arm-tdep.c (gdb_print_insn_arm): Mark
9557         USER_SPECIFIED_MACHINE_TYPE if exec_bfd isn't NULL.
9558
9559 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9560
9561         * NEWS: Mention GDBserver's new option "--selftest".
9562         * Makefile.in (SFILES): Remove selftest.c, add common/selftest.c.
9563         * selftest.c: Move it to common/selftest.c.
9564         * selftest.h: Move it to common/selftest.h.
9565         * selftest-arch.c (reset): New function.
9566         (tests_with_arch): Call reset.
9567
9568 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9569
9570         * selftest.c (run_tests): Don't call QUIT.  Call debug_printf
9571         instead of exception_fprintf and printf_filtered.
9572
9573 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9574
9575         * selftest.c (register_self_test): Rename it to
9576         selftests::register_test.
9577         (run_self_tests): selftest::run_tests.
9578         * selftest.h: Update declarations.
9579         * selftest-arch.c (register_self_test_foreach_arch): Rename it to
9580         selftests::register_test_foreach_arch.
9581         * selftest-arch.h: Update declaration.
9582         * aarch64-tdep.c: Update.
9583         * arm-tdep.c: Likewise.
9584         * disasm-selftests.c: Likewise.
9585         * dwarf2loc.c: Likewise.
9586         * dwarf2-frame.c: Likewise.
9587         * findvar.c: Likewise.
9588         * gdbarch-selftests.c: Likewise.
9589         * maint.c (maintenance_selftest): Likewise.
9590         * regcache.c: Likewise.
9591         * rust-exp.y: Likewise.
9592         * selftest-arch.c: Likewise.
9593         * unittests/environ-selftests.c: Likewise.
9594         * unittests/function-view-selftests.c: Likewise.
9595         * unittests/offset-type-selftests.c: Likewise.
9596         * unittests/optional-selftests.c: Likewise.
9597         * unittests/scoped_restore-selftests.c: Likewise.
9598         * utils-selftests.c: Likewise.
9599
9600 2017-08-17  Pedro Alves  <palves@redhat.com>
9601
9602         * cli/cli-cmds.c (source_command): Delete 'old_source_verbose'
9603         local.
9604
9605 2017-08-17  Pedro Alves  <palves@redhat.com>
9606
9607         * dwarf2read.c (struct dwarf2_cu) <line_header_die_owner>: New
9608         field.
9609         (reset_die_in_process): Delete, replaced by ...
9610         (process_die_scope): ... this new class.  Make it responsible for
9611         freeing cu->line_header too.
9612         (process_die): Use process_die_scope.
9613         (handle_DW_AT_stmt_list): Record the line header's owner CU/DIE in
9614         cu->line_header_die_owner.  Don't release the line header if it's
9615         owned by the CU.
9616         (setup_type_unit_groups): Make the CU/DIE own the line header.
9617         Don't release the line header here.
9618
9619 2017-08-17  Alex Lindsay  <alexlindsay239@gmail.com>  (tiny change)
9620
9621         * elfread.c (elf_read_minimal_symbols): xfree synthsyms.
9622
9623 2017-08-17  Ruslan Kabatsayev  <b7.10110111@gmail.com>
9624
9625         * NEWS: Mention new shortcuts for nexti and stepi in TUI
9626         Single-Key mode
9627
9628 2017-08-16  Ruslan Kabatsayev  <b7.10110111@gmail.com>
9629
9630         * tui/tui.c (tui_commands): Add "nexti" and "stepi" to the Single-Key
9631         mode command list.
9632
9633 2017-08-15  Stafford Horne  <shorne@gmail.com>
9634
9635         * MAINTAINERS (Write After Approval): Add Stafford Horne.
9636
9637 2017-08-15  Stafford Horne  <shorne@gmail.com>
9638
9639         * xtensa-tdep.c (xtensa_init_reggroups): Use xstrdup for cpname.
9640
9641 2017-08-15  Sergio Durigan Junior  <sergiodj@redhat.com>
9642
9643         PR gdb/21954
9644         * infcmd.c (unset_environment_command): Use the 'clear' method on
9645         the environment instead of resetting it.
9646
9647 2017-08-15  John Baldwin  <jhb@FreeBSD.org>
9648
9649         * fbsd-nat.c (fbsd_convert_siginfo): Fix compile on big-endian
9650         platforms.
9651
9652 2017-08-14  Tom Tromey  <tom@tromey.com>
9653
9654         * valprint.c (print_octal_chars): Use HOST_CHAR_BIT.
9655         (print_binary_chars): Likewise.
9656         (BITS_IN_BYTES): Remove.
9657
9658 2017-08-14  Tom Tromey  <tom@tromey.com>
9659
9660         PR gdb/21675
9661         * valprint.c (LOW_ZERO): Change value to 034.
9662         (print_octal_chars): Add static_asserts for octal constants.
9663         * printcmd.c (print_scalar_formatted): Add 'd' case.
9664
9665 2017-08-11  Tom Tromey  <tom@tromey.com>
9666
9667         * symfile.c (add_symbol_file_command): Use std::vector.
9668
9669 2017-08-14  Tom Tromey  <tom@tromey.com>
9670
9671         * break-catch-throw.c (handle_gnu_v3_exceptions): Use std::move.
9672         * break-catch-syscall.c (create_syscall_event_catchpoint): Use
9673         std::move.
9674         * break-catch-sig.c (create_signal_catchpoint): Use std::move.
9675
9676 2017-08-11  Pedro Alves  <palves@redhat.com>
9677
9678         * infrun.c (process_event_stop_test): Adjust
9679         function_name_is_marked_for_skip call.
9680         * skip.c: Include <list>.
9681         (skiplist_entry): Make it a class with private fields, and
9682         getters/setters.
9683         (skiplist_entry_chain): Delete.
9684         (skiplist_entries): New.
9685         (skiplist_entry_count): Delete.
9686         (highest_skiplist_entry_num): New.
9687         (ALL_SKIPLIST_ENTRIES, ALL_SKIPLIST_ENTRIES_SAFE): Delete.
9688         (add_skiplist_entry): Delete.
9689         (skiplist_entry::skiplist_entry): New.
9690         (skiplist_entry::add_entry): New.
9691         (skip_file_command, skip_function): Adjust.
9692         (compile_skip_regexp): Delete.
9693         (skip_command): Don't compile regexp here.  Adjust to use
9694         skiplist_entry::add_entry.
9695         (skip_info): Adjust to use range-for and getters.
9696         (skip_enable_command, skip_disable_command): Adjust to use
9697         range-for and setters.
9698         (skip_delete_command): Adjust to use std::list.
9699         (add_skiplist_entry): Delete.
9700         (skip_file_p): Delete, refactored as ...
9701         (skiplist_entry::do_skip_file_p): ... this new method.
9702         (skip_gfile_p): Delete, refactored as ...
9703         (skiplist_entry::do_gskip_file_p): ... this new method.
9704         (skip_function_p, skip_rfunction_p): Delete, refactored as ...
9705         (skiplist_entry::skip_function_p): ... this new method.
9706         (function_name_is_marked_for_skip): Now returns bool, and takes
9707         the function sal by const reference.  Adjust to use range-for and
9708         skiplist_entry methods.
9709         (_initialize_step_skip): Remove references to
9710         skiplist_entry_chain, skiplist_entry_count.
9711         * skip.h (function_name_is_marked_for_skip): Now returns bool, and
9712         takes the function sal by const reference.
9713
9714 2017-08-11  Yao Qi  <yao.qi@linaro.org>
9715
9716         * dwarf2-frame.c (clear_pointer_cleanup): Remove.
9717         (dwarf2_frame_cache): Remove reset_cache_cleanup.
9718         (dwarf2_frame_cache):
9719         * frame-unwind.c (frame_unwind_try_unwinder): Catch
9720         RETURN_MASK_ALL and set *this_case to NULL.
9721         * frame-unwind.h: Update comments.
9722
9723 2017-08-11  Yao Qi  <yao.qi@linaro.org>
9724
9725         * dwarf2-frame.c (dwarf2_frame_state_alloc_regs): Remove.
9726         (dwarf2_frame_state_copy_regs): Remove.
9727         (dwarf2_frame_state_free_regs): Remove.
9728         (dwarf2_frame_state::~dwarf2_frame_state): Remove.
9729         (dwarf2_restore_rule): Call method .alloc_regs instead of
9730         dwarf2_frame_state_alloc_regs.
9731         (execute_cfa_program): Likewise.  Call dwarf2_frame_state_reg_info
9732         constructor.  Call std::move.
9733         (dwarf2_fetch_cfa_info): Don't call dwarf2_frame_state_copy_regs.
9734         (dwarf2_frame_cache): Likewise.
9735
9736         [GDB_SELF_TEST]: Include selftest.h and
9737         selftest-arch.h.
9738         [GDB_SELF_TEST] (execute_cfa_program_test): New function.
9739         (_initialize_dwarf2_frame) [GDB_SELF_TEST]: Register
9740         execute_cfa_program_test.
9741
9742         * dwarf2-frame.h (dwarf2_frame_state_reg_info): Add ctor, dtor,
9743         copy ctor, assignment operator, move assignment.
9744         <alloc_regs>: New method.
9745         <swap>: New method.
9746         (struct dwarf2_frame_state): Delete dtor.
9747         (dwarf2_frame_state_alloc_regs): Remove declaration.
9748         * sparc-tdep.c (sparc_execute_dwarf_cfa_vendor_op): Don't call
9749         dwarf2_frame_state_alloc_regs, use .alloc_regs instead.
9750
9751 2017-08-11  Yao Qi  <yao.qi@linaro.org>
9752
9753         * dwarf2-frame.c (dwarf2_frame_state_free): Remove.
9754         (dwarf2_frame_state::dwarf2_frame_state): New.
9755         (dwarf2_frame_state::~dwarf2_frame_state): New.
9756         (dwarf2_fetch_cfa_info): Update.
9757         (dwarf2_frame_cache): Remove old_chain.  Change 'fs' to an object
9758         rather than a pointer.  Update code.
9759         * dwarf2-frame.h (struct dwarf2_frame_state): Declare ctor and
9760         dtor.
9761         <data_align, code_align, retaddr_column>: Change them to const.
9762         <armcc_cfa_offsets_sf, armcc_cfa_offsets_reversed>: Change them
9763         to bool.
9764
9765 2017-08-11  Yao Qi  <yao.qi@linaro.org>
9766
9767         * dwarf2-frame.h (struct dwarf2_frame_state_reg) <exp_len>: Remove.
9768         <loc.exp>: New field.
9769         * dwarf2-frame.c (execute_cfa_program): Update.
9770         (dwarf2_frame_prev_register): Update.
9771
9772 2017-08-10  Pedro Alves  <palves@redhat.com>
9773
9774         * common/gdb_unique_ptr.h (xfree_deleter<T[]>): Define.
9775
9776 2017-08-09  John Baldwin  <jhb@FreeBSD.org>
9777
9778         * fbsd-nat.c (struct fbsd_fork_info): Remove.
9779         (fbsd_pending_children): Use std::list.
9780         (fbsd_remember_child): Likewise.
9781         (fbsd_is_child_pending): Likewise.
9782         (fbsd_pending_vfork_done): Use std::forward_list.
9783         (fbsd_add_vfork_done): Likewise.
9784         (fbsd_is_vfork_done_pending): Likewise.
9785         (fbsd_next_vfork_done): Likewise.
9786
9787 2017-08-09  John Baldwin  <jhb@FreeBSD.org>
9788
9789         * fbsd-nat.c [HAVE_KINFO_GETVMMAP] (struct free_deleter): New.
9790         (fbsd_find_memory_regions): Use free_deleter with std::unique_ptr.
9791         [!HAVE_KINFO_GETVMMAP] (fbsd_find_memory_regions): Use std::string
9792         for `mapfilename'.
9793         (fbsd_xfer_partial): Use gdb::byte_vector.
9794         (fbsd_add_threads): Use gdb::unique_xmalloc_ptr.
9795
9796 2017-08-09  John Baldwin  <jhb@FreeBSD.org>
9797
9798         * fbsd-nat.c: [!HAVE_KINFO_GETVMMAP]: Include <sys/user.h> and
9799         "filestuff.h".
9800         (fbsd_find_memory_regions): Fix `mapfile' initialization.
9801
9802 2017-08-09  Tom Tromey  <tom@tromey.com>
9803
9804         * skip.c (skiplist_entry): New constructor.
9805         (skiplist_entry::enabled, skiplist_entry::function_is_regexp)
9806         (skiplist_entry::file_is_glob): Now bool.
9807         (skiplist_entry::file, skiplist_entry::function): Now
9808         std::string.
9809         (make_skip_entry): Return a unique_ptr.  Use new.
9810         (free_skiplist_entry, free_skiplist_entry_cleanup)
9811         (make_free_skiplist_entry_cleanup): Remove.
9812         (skip_command, skip_disable_command, add_skiplist_entry)
9813         (skip_form_bytes, compile_skip_regexp, skip_command, skip_info)
9814         (skip_file_p, skip_gfile_p, skip_function_p, skip_rfunction_p)
9815         (function_name_is_marked_for_skip): Update.
9816         (skip_delete_command): Update.  Use delete.
9817
9818 2017-08-09  Jiong Wang  <jiong.wang@arm.com>
9819
9820         * aarch64-linux-tdep.c: Include "auxv.h" and "elf/common.h".
9821         (aarch64_linux_core_read_description): New function.
9822         (aarch64_linux_init_abi): Register gdbarch_core_read_description.
9823
9824 2017-08-09  Pedro Alves  <palves@redhat.com>
9825
9826         * cp-name-parser.y (cp_comp_to_string): Return a
9827         gdb::unique_xmalloc_ptr<char>.
9828         * cp-support.c (replace_typedefs_qualified_name)
9829         (replace_typedefs): Adjust to use gdb::unique_xmalloc_ptr<char>.
9830         (cp_canonicalize_string_full): Use op= instead of explicit
9831         convertion.
9832         (cp_class_name_from_physname, method_name_from_physname)
9833         (cp_func_name, cp_remove_params): Adjust to use
9834         gdb::unique_xmalloc_ptr<char>.
9835         * cp-support.h (cp_comp_to_string): Return a
9836         gdb::unique_xmalloc_ptr<char>.
9837         * python/py-type.c (typy_lookup_type): Adjust to use
9838         gdb::unique_xmalloc_ptr<char>.
9839
9840 2017-08-09  H.J. Lu  <hongjiu.lu@intel.com>
9841
9842         * dwarf2read.c (dwarf2_string_attr): Fix a typo.
9843
9844 2017-08-09  Alex Lindsay  <alexlindsay239@gmail.com>
9845             Yao Qi  <yao.qi@linaro.org>
9846
9847         * cp-support.c (cp_canonicalize_string_full): Use
9848         gdb::unique_xmalloc_ptr<char>.
9849         (cp_canonicalize_string): Likewise.
9850
9851 2017-08-09  Yao Qi  <yao.qi@linaro.org>
9852
9853         * features/Makefile (WHICH): Remove i386/ non-linux stuff.
9854         * regformats/i386/amd64-avx-avx512.dat: Remove.
9855         * regformats/i386/amd64-avx-mpx-avx512-pku.dat: Remove.
9856         * regformats/i386/amd64-avx-mpx.dat:Remove.
9857         * regformats/i386/amd64-avx.dat: Remove.
9858         * regformats/i386/amd64-mpx.dat: Remove.
9859         * regformats/i386/i386-avx-avx512.dat: Remove.
9860         * regformats/i386/i386-avx-mpx-avx512-pku.dat: Remove.
9861         * regformats/i386/i386-avx-mpx.dat: Remove.
9862         * regformats/i386/i386-mmx.dat: Remove.
9863         * regformats/i386/i386-mpx.dat: Remove.
9864
9865 2017-08-09  Yao Qi  <yao.qi@linaro.org>
9866
9867         * amd64-tdep.h (tdesc_x32): Remove the declaration.
9868         * amd64-tdep.c: Don't include features/i386/x32*.c.
9869         (_initialize_amd64_tdep): Don't call initialize_tdesc_x32*
9870         functions.
9871         * features/Makefile (WHICH): Remove i386/x32, i386/x32-avx,
9872         and i386/x32-avx-avx512.
9873         (XMLTOC): Remove i386/x32-avx.xml, i386/x32-avx-avx512.xml,
9874         and i386/x32.xml.
9875         * features/i386/x32-avx-avx512.c: Removed.
9876         * features/i386/x32-avx-avx512.xml: Removed.
9877         * features/i386/x32-avx.c: Removed.
9878         * features/i386/x32-avx.xml: Removed.
9879         * features/i386/x32.c: Removed.
9880         * features/i386/x32.xml: Removed.
9881         * regformats/i386/x32-avx-avx512.dat: Removed.
9882         * regformats/i386/x32-avx.dat: Removed.
9883         * regformats/i386/x32.dat: Removed.
9884
9885 2017-08-07  Maciej W. Rozycki  <macro@imgtec.com>
9886
9887         PR breakpoints/21886
9888         * mem-break.c (default_memory_insert_breakpoint): Use
9889         `->placed_address' rather than `->reqstd_address' for the
9890         breakpoint location.
9891
9892 2017-08-07  Maciej W. Rozycki  <macro@imgtec.com>
9893
9894         * arch-utils.c (default_print_insn): Remove arch/mach/endian
9895         assertions.
9896
9897 2017-08-07  Maciej W. Rozycki  <macro@imgtec.com>
9898
9899         * gdbarch.sh (gdbarch_info): Replace the `tdep_info' member with
9900         a union of `tdep_info', `tdesc_data' and `id'.
9901         * aarch64-tdep.c (aarch64_gdbarch_init): Use `info.tdesc_data'
9902         rather than `info.tdep_info'.
9903         * amd64-linux-tdep.c (amd64_linux_init_abi): Likewise.
9904         * i386-linux-tdep.c (i386_linux_init_abi): Likewise.
9905         * i386-tdep.c (i386_gdbarch_init): Likewise.
9906         * mips-linux-tdep.c (mips_linux_init_abi): Likewise.
9907         * mips-tdep.c (mips_gdbarch_init): Likewise.
9908         * nds32-tdep.c (nds32_gdbarch_init): Likewise.
9909         * rs6000-tdep.c (rs6000_gdbarch_init): Likewise.
9910         * ppc-linux-tdep.c (ppu2spu_sniffer): Use `info.id' rather than
9911         `info.tdep_info'.
9912         (ppc_linux_init_abi): Use `info.tdesc_data' rather than
9913         `info.tdep_info'.
9914         * sparc-tdep.c (sparc32_gdbarch_init): Likewise.
9915         * spu-multiarch.c (spu_gdbarch): Use `info.id' rather than
9916         `info.tdep_info'.
9917         * spu-tdep.c (spu_gdbarch_init): Likewise.
9918         * gdbarch.h: Regenerate.
9919
9920 2017-08-07  Leszek Swirski  <leszeks@google.com>
9921
9922         PR symtab/20899
9923         * dwarf2read.c (dwarf2_string_attr): Allow DW_FORM_GNU_strp_alt.
9924
9925 2017-08-07  Simon Marchi  <simon.marchi@ericsson.com>
9926
9927         * remote-sim.c (gdbsim_load): Remove char **argv local variable.
9928         (gdbsim_open): Rename gdb_argv args object to argv.
9929
9930 2017-08-05  Tom Tromey  <tom@tromey.com>
9931
9932         * compile/compile-object-load.c (compile_object_load): Use
9933         gdb::unique_xmalloc_ptr.
9934         * cli/cli-dump.c (scan_filename): Rename from
9935         scan_filename_with_cleanup.  Change return type.
9936         (scan_expression): Rename from scan_expression_with_cleanup.
9937         Change return type.
9938         (dump_memory_to_file, dump_value_to_file, restore_command):
9939         Use gdb::unique_xmalloc_ptr.  Update.
9940         * cli/cli-cmds.c (find_and_open_script): Use
9941         gdb::unique_xmalloc_ptr.
9942         * tracefile-tfile.c (tfile_open): Use gdb::unique_xmalloc_ptr.
9943         * symmisc.c (maintenance_print_symbols)
9944         (maintenance_print_msymbols): Use gdb::unique_xmalloc_ptr.
9945         * symfile.c (symfile_bfd_open, generic_load)
9946         (add_symbol_file_command, remove_symbol_file_command): Use
9947         gdb::unique_xmalloc_ptr.
9948         * source.c (openp): Use gdb::unique_xmalloc_ptr.
9949         * psymtab.c (maintenance_print_psymbols): Use
9950         gdb::unique_xmalloc_ptr.
9951         * corelow.c (core_open): Use gdb::unique_xmalloc_ptr.
9952         * breakpoint.c (save_breakpoints): Use gdb::unique_xmalloc_ptr.
9953         * solib.c (solib_map_sections): Use gdb::unique_xmalloc_ptr.
9954         (reload_shared_libraries_1): Likewise.
9955
9956 2017-08-05  Tom Tromey  <tom@tromey.com>
9957
9958         * rust-exp.y (rust_op_ptr, set_field): Remove typedefs.
9959         (rust_op_vector, rust_set_vector): New typedefs.
9960         (current_parser): New global.
9961         (work_obstack): Change to pointer type.  Update all users.
9962         (rust_ast, pstate): Remove globals.
9963         (struct rust_parser): New.
9964         (%union) <params, field_inits>: Change type.
9965         (start, tuple_expr, unit_expr, struct_expr_list, literal)
9966         (field_expr, expr_list, maybe_expr_list, type_list): Update.
9967         (ast_call_ish, ast_path, ast_function_type, ast_tuple_type)
9968         (convert_params_to_types, convert_params_to_expression): Change
9969         type of "params".
9970         (ast_string): Change type of "fields".
9971         (rust_parse): Make a rust_parser.  Remove cleanups.
9972         (rust_lex_tests): Make and install an auto_obstack.
9973
9974 2017-08-04  Yao Qi  <yao.qi@linaro.org>
9975
9976         * configure.srv (ipa_x32_linux_regobj): New.
9977         * linux-amd64-ipa.c (get_ipa_tdesc): Use X86_TDESC_AVX_AVX512
9978         instead of X86_TDESC_AVX512.
9979         (initialize_low_tracepoint): Call
9980         init_registers_x32_avx_avx512_linux.
9981
9982 2017-08-04  Yao Qi  <yao.qi@linaro.org>
9983
9984         * utils.h (gdb_argv): Add namespace std for nullptr_t.
9985
9986 2017-08-03  Ruslan Kabatsayev  <b7.10110111@gmail.com>
9987
9988         * MAINTAINERS (Write After Approval): Add Ruslan Kabatsayev.
9989
9990 2017-08-03  Tom Tromey  <tom@tromey.com>
9991
9992         * utils.c (make_cleanup_freeargv, do_freeargv, gdb_buildargv):
9993         Remove.
9994         * utils.h (make_cleanup_freeargv, gdb_buildargv): Remove.
9995
9996 2017-08-03  Tom Tromey  <tom@tromey.com>
9997
9998         * python/py-param.c (compute_enum_values): Use gdb_argv.
9999
10000 2017-08-03  Tom Tromey  <tom@tromey.com>
10001
10002         * utils.h (struct gdb_argv_deleter): New.
10003         (gdb_argv): New class.
10004         * utils.c (gdb_argv::reset): New method.
10005         * tracepoint.c (delete_trace_variable_command): Use gdb_argv.
10006         * tracefile.c (tsave_command): Use gdb_argv.
10007         * top.c (new_ui_command): Use gdb_argv.
10008         * symmisc.c (maintenance_print_symbols)
10009         (maintenance_print_msymbols, maintenance_expand_symtabs): Use gdb_argv.
10010         * symfile.c (symbol_file_command, generic_load)
10011         (remove_symbol_file_command): Use gdb_argv.
10012         * stack.c (backtrace_command): Use gdb_argv.
10013         * source.c (add_path, show_substitute_path_command)
10014         (unset_substitute_path_command, set_substitute_path_command):
10015         Use gdb_argv.
10016         * skip.c (skip_command): Use gdb_argv.  Use gdb_buildargv.
10017         * ser-mingw.c (pipe_windows_open): Use gdb_argv.
10018         * remote.c (extended_remote_run, remote_put_command)
10019         (remote_get_command, remote_delete_command): Use gdb_argv.
10020         * remote-sim.c (gdbsim_load, gdbsim_create_inferior)
10021         (gdbsim_open): Use gdb_argv.
10022         * python/py-cmd.c (gdbpy_string_to_argv): Use gdb_argv.
10023         * psymtab.c (maintenance_print_psymbols): Use gdb_argv.
10024         * procfs.c (procfs_info_proc): Use gdb_argv.
10025         * interps.c (interpreter_exec_cmd): Use gdb_argv.
10026         * infrun.c (handle_command): Use gdb_argv.
10027         * inferior.c (add_inferior_command, clone_inferior_command):
10028         Use gdb_argv.
10029         * guile/scm-string.c (gdbscm_string_to_argv): Use gdb_argv.
10030         * exec.c (exec_file_command): Use gdb_argv.
10031         * cli/cli-cmds.c (alias_command): Use gdb_argv.
10032         * compile/compile.c (build_argc_argv): Use gdb_argv.
10033
10034 2017-08-03  Tom Tromey  <tom@tromey.com>
10035
10036         * python/python.c (gdbpy_decode_line): Use unique_xmalloc_ptr.
10037
10038 2017-08-03  Tom Tromey  <tom@tromey.com>
10039
10040         * python/python.c (compute_python_string): Return std::string.
10041         (gdbpy_eval_from_control_command): Update.
10042         (do_start_initialization): Use std::string.
10043         * python/py-varobj.c (py_varobj_iter_next): Use string_printf, not
10044         xstrprintf.
10045         * python/py-breakpoint.c (local_setattro): Use string_printf, not
10046         xstrprintf.
10047
10048 2017-08-03  Tom Tromey  <tom@tromey.com>
10049
10050         * top.h (do_restore_instream_cleanup): Remove.
10051         * top.c (do_restore_instream_cleanup): Remove.
10052         (read_command_file): Use scoped_restore.
10053         * cli/cli-script.c (execute_user_command): Use scoped_restore.
10054
10055 2017-08-03  Tom Tromey  <tom@tromey.com>
10056
10057         * cli/cli-script.c (execute_user_command)
10058         (execute_control_command): Use scoped_restore.
10059
10060 2017-08-03  Tom Tromey  <tom@tromey.com>
10061
10062         * cli/cli-script.c (do_restore_user_call_depth): Remove.
10063         (execute_user_command): Remove user_call_depth; use
10064         user_args_stack's size instead.
10065
10066 2017-08-03  Tom Tromey  <tom@tromey.com>
10067
10068         * top.h (in_user_command): Remove.
10069         * top.c (in_user_command): Remove.
10070         * cli/cli-script.c (do_restore_user_call_depth)
10071         (execute_user_command): Update.
10072
10073 2017-08-03  Tom Tromey  <tom@tromey.com>
10074
10075         * valops.c (search_struct_method): Use gdb::byte_vector.
10076         * valarith.c (value_concat): Use std::vector.
10077         * target.c (memory_xfer_partial): Use gdb::byte_vector.
10078         (simple_search_memory): Likewise.
10079         * printcmd.c (find_string_backward): Use gdb::byte_vector.
10080         * mi/mi-main.c (mi_cmd_data_write_memory): Use gdb::byte_vector.
10081         * gcore.c (gcore_copy_callback): Use gdb::byte_vector.
10082         * elfread.c (elf_rel_plt_read): Use std::string.
10083         * cp-valprint.c (cp_print_value): Use gdb::byte_vector.
10084         * cli/cli-dump.c (restore_section_callback): Use
10085         gdb::byte_vector.
10086
10087 2017-08-03  Tom Tromey  <tom@tromey.com>
10088
10089         * jit.c (jit_reader_load_command): Use unique_xmalloc_ptr.
10090
10091 2017-08-03  Tom Tromey  <tom@tromey.com>
10092
10093         * tui/tui-regs.c (tui_restore_gdbout): Remove.
10094         (tui_register_format): Use scoped_restore.
10095
10096 2017-08-03  Tom Tromey  <tom@tromey.com>
10097
10098         * reverse.c (exec_direction_default): Remove.
10099         (exec_reverse_once): Use scoped_restore.
10100         * remote.c (restore_remote_timeout): Remove.
10101         (remote_flash_erase, remote_flash_write, remote_flash_done)
10102         (readchar, remote_serial_write): Use scoped_restore.
10103         * cli/cli-script.c (struct source_cleanup_lines_args)
10104         (source_cleanup_lines): Remove.
10105         (script_from_file): Use scoped_restore.
10106         * cli/cli-cmds.c (source_verbose_cleanup): Remove.
10107         (source_command): Use scoped_restore.
10108
10109 2017-08-03  Tom Tromey  <tom@tromey.com>
10110
10111         * utils.h (make_cleanup_free_so): Remove.
10112         * utils.c (do_free_so, make_cleanup_free_so): Remove.
10113         * solist.h (struct so_deleter): New.
10114         (so_list_up): New typedef.
10115         * solib-svr4.c (svr4_read_so_list): Use so_list_up.
10116
10117 2017-08-03  Tom Tromey  <tom@tromey.com>
10118
10119         * utils.h (make_cleanup_restore_current_language): Remove.
10120         * utils.c (do_restore_current_language)
10121         (make_cleanup_restore_current_language): Remove.
10122         * parse.c (parse_exp_in_context_1)
10123         (parse_expression_with_language): Use
10124         scoped_restore_current_language.
10125         * mi/mi-main.c (mi_cmd_execute): Use
10126         scoped_restore_current_language.
10127         * language.h (scoped_restore_current_language): New class.
10128
10129 2017-08-03  Tom Tromey  <tom@tromey.com>
10130
10131         * compile/compile.c (cleanup_unlink_file): Remove.
10132         (compile_to_object): Use gdb::unlinker.
10133         (eval_compile_command): Likewise.
10134
10135 2017-08-03  Tom Tromey  <tom@tromey.com>
10136
10137         * utils.h (make_cleanup_fclose): Remove.
10138         * utils.c (do_fclose_cleanup, make_cleanup_fclose): Remove.
10139
10140 2017-08-03  Tom Tromey  <tom@tromey.com>
10141
10142         * top.c (open_terminal_stream): Return gdb_file_up.
10143         (new_ui_command): Update.
10144
10145 2017-08-03  Tom Tromey  <tom@tromey.com>
10146
10147         * source.c (print_source_lines_base, forward_search_command)
10148         (reverse_search_command): Use gdb_file_up.
10149
10150 2017-08-03  Tom Tromey  <tom@tromey.com>
10151
10152         * fbsd-nat.c (fbsd_find_memory_regions): Update.
10153
10154 2017-08-03  Tom Tromey  <tom@tromey.com>
10155
10156         * cli/cli-cmds.c (find_and_open_script): Change return type.
10157         Remove "streamp" and "full_path" parameters.
10158         (source_script_with_search): Update.
10159         * auto-load.c (source_script_file): Update.
10160         * cli/cli-cmds.h (find_and_open_script): Change type.
10161         (open_script): New struct.
10162
10163 2017-08-03  Tom Tromey  <tom@tromey.com>
10164
10165         * xml-support.c (xml_fetch_content_from_file): Update.
10166         * ui-file.c (stdio_file::open): Update.
10167         * tracefile-tfile.c (tfile_start): Update.
10168         * remote.c (remote_file_put, remote_file_get): Update.
10169         * nat/linux-procfs.c (linux_proc_get_int)
10170         (linux_proc_pid_get_state, linux_proc_tid_get_name): Update.
10171         * nat/linux-osdata.c (linux_common_core_of_thread): Update.
10172         (command_from_pid, commandline_from_pid, linux_xfer_osdata_cpus)
10173         (print_sockets, linux_xfer_osdata_shm, linux_xfer_osdata_sem)
10174         (linux_xfer_osdata_msg, linux_xfer_osdata_modules): Update.
10175         * nat/linux-btrace.c (linux_determine_kernel_start): Update.
10176         * linux-nat.c (linux_proc_pending_signals): Update.
10177         * dwarf2read.c (write_psymtabs_to_index): Use gdb_file_up.
10178         (file_closer): Remove.
10179         * compile/compile.c (compile_to_object): Update.
10180         * common/filestuff.h (struct gdb_file_deleter): New.
10181         (gdb_file_up): New typedef.
10182         (gdb_fopen_cloexec): Change return type.
10183         * common/filestuff.c (gdb_fopen_cloexec): Return gdb_file_up.
10184         * cli/cli-dump.c (fopen_with_cleanup): Remove.
10185         (dump_binary_file, restore_binary_file): Update.
10186         * auto-load.c (auto_load_objfile_script_1): Update.
10187
10188 2017-08-03  Tom Tromey  <tom@tromey.com>
10189
10190         * tracepoint.c (tvariables_info_1): Use ui_out_emit_table.
10191         (info_static_tracepoint_markers_command): Likewise.
10192         * solib.c (info_sharedlibrary_command): Use ui_out_emit_table.
10193         * skip.c (skip_info): Use ui_out_emit_table.
10194         * progspace.c (print_program_space): Use ui_out_emit_table.
10195         * osdata.c (info_osdata): Use ui_out_emit_table.
10196         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions): Use
10197         ui_out_emit_table.
10198         * linux-thread-db.c (info_auto_load_libthread_db): Use
10199         ui_out_emit_table.
10200         * inferior.c (print_inferior): Use ui_out_emit_table.
10201         * gdb_bfd.c (maintenance_info_bfds): Use ui_out_emit_table.
10202         * breakpoint.c (breakpoint_1): Use ui_out_emit_table.
10203         * auto-load.c (auto_load_info_scripts): Use ui_out_emit_table.
10204         * ada-tasks.c (print_ada_task_info): Use ui_out_emit_table.
10205         * ui-out.h (class ui_out_emit_table): New.
10206
10207 2017-08-02  Maciej W. Rozycki  <macro@imgtec.com>
10208
10209         * mips-tdep.c (mips_fpu_type_str): New function.
10210         (mips_dump_tdep): Call it.
10211
10212 2017-08-01  Maciej W. Rozycki  <macro@imgtec.com>
10213
10214         * mips-tdep.c (mips_gdbarch_init): Use MIPS_FPU_TYPE to access
10215         `->mips_fpu_type'.
10216
10217 2017-07-31  Xavier Roirand  <roirand@adacore.com>
10218
10219         * solib-darwin.c (DYLD_VERSION_MAX): Increase value.
10220
10221 2017-07-27  Xavier Roirand  <roirand@adacore.com>
10222
10223         * MAINTAINERS (Write After Approval): Add Xavier Roirand.
10224
10225 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10226
10227         * cli/cli-cmds.c (maintenancechecklist): New variable.
10228         * gdbcmd.h (maintenancechecklist): Declare it.
10229         * i386-linux-tdep.c (_initialize_i386_linux_tdep) [GDB_SELF_TEST]:
10230         Call i386_linux_read_description with different masks.
10231         * maint.c (maintenance_check_command): New function.
10232         (_initialize_maint_cmds): Call add_prefix_cmd.
10233         * target-descriptions.c (tdesc_reg): override operator != and ==.
10234         (tdesc_type): Likewise.
10235         (tdesc_feature): Likewise.
10236         (target_desc): Likewise.
10237         [GDB_SELF_TEST] (selftests::record_xml_tdesc): New function.
10238         (maintenance_check_xml_descriptions): New function.
10239         (_initialize_target_descriptions) Add command "xml-descriptions".
10240         * target-descriptions.h (selftests::record_xml_tdesc): Declare.
10241
10242 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10243
10244         * i386-linux-tdep.c: Don't include features/i386/i386-*linux.c.
10245         Include features/i386/32bit-*.c.
10246         (i386_linux_read_description): Generate target description if it
10247         doesn't exist.
10248         (_initialize_i386_linux_tdep): Don't call _initialize_tdesc_i386
10249         functions.
10250         * features/i386/32bit-linux.c: Re-generated.
10251         * features/i386/32bit-sse.c: Likewise.
10252         * target-descriptions.c (print_c_feature::visit): Print code to
10253         set register number if needed.
10254         (print_c_feature) <m_next_regnum>: New field.
10255
10256 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10257
10258         * features/Makefile (CFILES): Rename with TDESC_CFILES.
10259         (FEATURE_XMLFILES): New.
10260         (FEATURE_CFILES): New.
10261         New rules.
10262         (clean-cfiles): Remove generated c files.
10263         * features/i386/32bit-avx.c: Generated.
10264         * features/i386/32bit-avx512.c: Generated.
10265         * features/i386/32bit-core.c: Generated.
10266         * features/i386/32bit-linux.c: Generated.
10267         * features/i386/32bit-mpx.c: Generated.
10268         * features/i386/32bit-pkeys.c: Generated.
10269         * features/i386/32bit-sse.c: Generated.
10270         * target-descriptions.c: Include algorithm.
10271         (tdesc_element_visitor): Add method visit_end.
10272         (print_c_tdesc): Implement visit_end.
10273         (print_c_tdesc:: m_filename_after_features): Move it to
10274         protected.
10275         (print_c_feature): New class.
10276         (maint_print_c_tdesc_cmd): Use print_c_feature if XML file
10277         name starts with "i386/32bit-".
10278
10279 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10280
10281         * target-descriptions.c (tdesc_element_visitor): New class.
10282         (tdesc_element): New class.
10283         (tdesc_reg): Inherit from tdesc_element.
10284         (tdesc_reg::accept): New function.
10285         (tdesc_type): Inherit from tdesc_element.
10286         (tdesc_type::accept): New function.
10287         (tdesc_feature): Inherit from tdesc_element.
10288         (tdesc_feature::accept): New function.
10289         (target_desc): Inherit from tdesc_element.
10290         (target_desc::target_desc): New.
10291         (target_desc::~target_desc): New.
10292         (target_desc::accept): New.
10293         (allocate_target_description): Use new.
10294         (free_target_description): Use delete.
10295         (print_c_tdesc): New class.
10296         (maint_print_c_tdesc_cmd): Adjust.
10297
10298         * features/aarch64.c: Re-generated.
10299         * features/arc-arcompact.c: Re-generated.
10300         * features/arc-v2.c: Re-generated.
10301         * features/arm/arm-with-iwmmxt.c: Re-generated.
10302         * features/arm/arm-with-m.c: Re-generated.
10303         * features/arm/arm-with-m-fpa-layout.c: Re-generated.
10304         * features/arm/arm-with-m-vfp-d16.c: Re-generated.
10305         * features/arm/arm-with-neon.c: Re-generated.
10306         * features/arm/arm-with-vfpv2.c: Re-generated.
10307         * features/arm/arm-with-vfpv3.c: Re-generated.
10308         * features/i386/amd64-avx-avx512.c: Re-generated.
10309         * features/i386/amd64-avx-avx512-linux.c: Re-generated.
10310         * features/i386/amd64-avx.c: Re-generated.
10311         * features/i386/amd64-avx-linux.c: Re-generated.
10312         * features/i386/amd64-avx-mpx-avx512-pku.c: Re-generated.
10313         * features/i386/amd64-avx-mpx-avx512-pku-linux.c: Re-generated.
10314         * features/i386/amd64-avx-mpx.c: Re-generated.
10315         * features/i386/amd64-avx-mpx-linux.c: Re-generated.
10316         * features/i386/amd64.c: Re-generated.
10317         * features/i386/amd64-linux.c: Re-generated.
10318         * features/i386/amd64-mpx.c: Re-generated.
10319         * features/i386/amd64-mpx-linux.c: Re-generated.
10320         * features/i386/i386-avx-avx512.c: Re-generated.
10321         * features/i386/i386-avx-avx512-linux.c: Re-generated.
10322         * features/i386/i386-avx.c: Re-generated.
10323         * features/i386/i386-avx-linux.c: Re-generated.
10324         * features/i386/i386-avx-mpx-avx512-pku.c: Re-generated.
10325         * features/i386/i386-avx-mpx-avx512-pku-linux.c: Re-generated.
10326         * features/i386/i386-avx-mpx.c: Re-generated.
10327         * features/i386/i386-avx-mpx-linux.c: Re-generated.
10328         * features/i386/i386.c: Re-generated.
10329         * features/i386/i386-linux.c: Re-generated.
10330         * features/i386/i386-mmx.c: Re-generated.
10331         * features/i386/i386-mmx-linux.c: Re-generated.
10332         * features/i386/i386-mpx.c: Re-generated.
10333         * features/i386/i386-mpx-linux.c: Re-generated.
10334         * features/i386/x32-avx-avx512.c: Re-generated.
10335         * features/i386/x32-avx-avx512-linux.c: Re-generated.
10336         * features/i386/x32-avx.c: Re-generated.
10337         * features/i386/x32-avx-linux.c: Re-generated.
10338         * features/i386/x32.c: Re-generated.
10339         * features/i386/x32-linux.c: Re-generated.
10340         * features/microblaze.c: Re-generated.
10341         * features/microblaze-with-stack-protect.c: Re-generated.
10342         * features/mips64-dsp-linux.c: Re-generated.
10343         * features/mips64-linux.c: Re-generated.
10344         * features/mips-dsp-linux.c: Re-generated.
10345         * features/mips-linux.c: Re-generated.
10346         * features/nds32.c: Re-generated.
10347         * features/nios2.c: Re-generated.
10348         * features/nios2-linux.c: Re-generated.
10349         * features/rs6000/powerpc-32.c: Re-generated.
10350         * features/rs6000/powerpc-32l.c: Re-generated.
10351         * features/rs6000/powerpc-403.c: Re-generated.
10352         * features/rs6000/powerpc-403gc.c : Re-generated.
10353         * features/rs6000/powerpc-405.c: Re-generated.
10354         * features/rs6000/powerpc-505.c: Re-generated.
10355         * features/rs6000/powerpc-601.c: Re-generated.
10356         * features/rs6000/powerpc-602.c: Re-generated.
10357         * features/rs6000/powerpc-603.c: Re-generated.
10358         * features/rs6000/powerpc-604.c: Re-generated.
10359         * features/rs6000/powerpc-64.c: Re-generated.
10360         * features/rs6000/powerpc-64l.c: Re-generated.
10361         * features/rs6000/powerpc-7400.c: Re-generated.
10362         * features/rs6000/powerpc-750.c: Re-generated.
10363         * features/rs6000/powerpc-860.c: Re-generated.
10364         * features/rs6000/powerpc-altivec32.c: Re-generated.
10365         * features/rs6000/powerpc-altivec32l.c: Re-generated.
10366         * features/rs6000/powerpc-altivec64.c: Re-generated.
10367         * features/rs6000/powerpc-altivec64l.c: Re-generated.
10368         * features/rs6000/powerpc-cell32l.c: Re-generated.
10369         * features/rs6000/powerpc-cell64l.c: Re-generated.
10370         * features/rs6000/powerpc-e500.c: Re-generated.
10371         * features/rs6000/powerpc-e500l.c: Re-generated.
10372         * features/rs6000/powerpc-isa205-32l.c: Re-generated.
10373         * features/rs6000/powerpc-isa205-64l.c: Re-generated.
10374         * features/rs6000/powerpc-isa205-altivec32l.c: Re-generated.
10375         * features/rs6000/powerpc-isa205-altivec64l.c: Re-generated.
10376         * features/rs6000/powerpc-isa205-vsx32l.c: Re-generated.
10377         * features/rs6000/powerpc-isa205-vsx64l.c: Re-generated.
10378         * features/rs6000/powerpc-vsx32.c: Re-generated.
10379         * features/rs6000/powerpc-vsx32l.c: Re-generated.
10380         * features/rs6000/powerpc-vsx64.c: Re-generated.
10381         * features/rs6000/powerpc-vsx64l.c: Re-generated.
10382         * features/rs6000/rs6000.c: Re-generated.
10383         * features/s390-linux32.c: Re-generated.
10384         * features/s390-linux32v1.c: Re-generated.
10385         * features/s390-linux32v2.c: Re-generated.
10386         * features/s390-linux64.c: Re-generated.
10387         * features/s390-linux64v1.c: Re-generated.
10388         * features/s390-linux64v2.c: Re-generated.
10389         * features/s390-te-linux64.c: Re-generated.
10390         * features/s390-tevx-linux64.c: Re-generated.
10391         * features/s390-vx-linux64.c: Re-generated.
10392         * features/s390x-linux64.c: Re-generated.
10393         * features/s390x-linux64v1.c: Re-generated.
10394         * features/s390x-linux64v2.c: Re-generated.
10395         * features/s390x-te-linux64.c: Re-generated.
10396         * features/s390x-tevx-linux64.c: Re-generated.
10397         * features/s390x-vx-linux64.c: Re-generated.
10398         * features/sparc/sparc32-solaris.c: Re-generated.
10399         * features/sparc/sparc64-solaris.c: Re-generated.
10400         * features/tic6x-c62x.c: Re-generated.
10401         * features/tic6x-c62x-linux.c: Re-generated.
10402         * features/tic6x-c64x.c: Re-generated.
10403         * features/tic6x-c64x-linux.c: Re-generated.
10404         * features/tic6x-c64xp.c: Re-generated.
10405         * features/tic6x-c64xp-linux.c: Re-generated.
10406
10407 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10408
10409         * i386-linux-tdep.c (i386_linux_read_description): New function.
10410         (i386_linux_core_read_description): Call
10411         i386_linux_read_description.
10412         * i386-linux-tdep.h (i386_linux_read_description): Declare.
10413         (tdesc_i386_linux, tdesc_i386_mmx_linux): Remove declarations.
10414         (tdesc_i386_avx_linux, tdesc_i386_mpx_linux): Likewise
10415         (tdesc_i386_avx_mpx_linux, tdesc_i386_avx_avx512_linux): Likewise.
10416         (tdesc_i386_avx_mpx_avx512_pku_linux): Likewise.
10417         * x86-linux-nat.c (x86_linux_read_description): Call
10418         i386_linux_read_description.
10419
10420 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10421
10422         * NEWS: Mention it.
10423         * features/Makefile (%.c: %.xml): Pass the xml file name to
10424         command "maint print c-tdesc".
10425         * target-descriptions.c (maint_print_c_tdesc_cmd): Get file
10426         name from 'arg'.
10427
10428 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10429
10430         * target-descriptions.c (target_desc): Add ctor and dtor.  Do
10431         in-class initialization.
10432         (tdesc_create_feature): Call new instead of XCNEW.
10433         (free_target_description): Ue delete.
10434
10435 2017-07-25  John Baldwin  <jhb@FreeBSD.org>
10436
10437         * configure.nat: Add "-lkvm" for NetBSD/sparc64 and fix typo.
10438
10439 2017-07-25  Yao Qi  <yao.qi@linaro.org>
10440
10441         * amd64-tdep.c (amd64_init_abi): Make argument default_tdesc
10442         constant.
10443         (amd64_x32_init_abi): Likewise.
10444         * amd64-tdep.h (amd64_init_abi): Update declaration.
10445         (amd64_x32_init_abi): Likewise.
10446
10447 2017-07-25  Yao Qi  <yao.qi@linaro.org>
10448
10449         PR tdep/21717
10450         * arm-linux-nat.c (arm_linux_fetch_inferior_registers): Update
10451         condition for FPSCR.
10452         (arm_linux_store_inferior_registers): Likewise.
10453
10454 2017-07-22  Tom Tromey  <tom@tromey.com>
10455
10456         * break-catch-syscall.c (struct catch_syscall_inferior_data)
10457         <syscalls_counts>: Now a std::vector.
10458         (get_catch_syscall_inferior_data): Use "new".
10459         (catch_syscall_inferior_data_cleanup): Use "delete".
10460         (insert_catch_syscall, remove_catch_syscall)
10461         (clear_syscall_counts): Update.
10462
10463 2017-07-22  Tom Tromey  <tom@tromey.com>
10464
10465         * break-catch-syscall.c (syscall_catchpoint)
10466         <syscalls_to_be_caught>: Now a std::vector<int>
10467         (~syscall_catchpoint): Remove.
10468         (insert_catch_syscall, remove_catch_syscall)
10469         (breakpoint_hit_catch_syscall, print_one_catch_syscall)
10470         (print_mention_catch_syscall, print_recreate_catch_syscall):
10471         Update.
10472         (create_syscall_event_catchpoint): Change type of "filter"
10473         parameter.
10474         (catch_syscall_split_args): Return a std::vector.
10475         (catch_syscall_command_1, catching_syscall_number_1): Update.
10476
10477 2017-07-22  Tom Tromey  <tom@tromey.com>
10478
10479         * break-catch-throw.c (struct exception_catchpoint)
10480         <exception_rx>: Now a std::string.
10481         (~exception_catchpoint): Remove.
10482         (print_one_detail_exception_catchpoint): Update.
10483         (handle_gnu_v3_exceptions): Change type of except_rx.
10484         (extract_exception_regexp): Return a std::string.
10485         (catch_exception_command_1): Update.
10486
10487 2017-07-22  Tom Tromey  <tom@tromey.com>
10488
10489         * break-catch-sig.c (gdb_signal_type): Remove typedef.
10490         (struct signal_catchpoint) <signals_to_be_caught>: Now a
10491         std::vector.
10492         <catch_all>: Now a bool.
10493         (~signal_catchpoint): Remove.
10494         (signal_catchpoint_insert_location)
10495         (signal_catchpoint_remove_location)
10496         (signal_catchpoint_breakpoint_hit, signal_catchpoint_print_one)
10497         (signal_catchpoint_print_mention)
10498         (signal_catchpoint_print_recreate)
10499         (signal_catchpoint_explains_signal): Update.
10500         (create_signal_catchpoint): Change type of "filter" and
10501         "catch_all".
10502         (catch_signal_split_args): Return a std::vector.  Change type of
10503         "catch_all".
10504         (catch_signal_command): Update.
10505
10506 2017-07-20  Pedro Alves  <palves@redhat.com>
10507
10508         * ada-lang.c (ada_language_defn): Make extern.
10509         (_initialize_ada_language): Remove add_language call.
10510         * c-lang.c (c_language_defn, cplus_language_defn)
10511         (asm_language_defn, minimal_language_defn): Make extern.
10512         (_initialize_c_language): Delete.
10513         * completer.c (compare_cstrings): Delete, moved to utils.h.
10514         * d-lang.c (d_language_defn): Make extern.
10515         (_initialize_d_language): Remove add_language calls.
10516         * defs.h (enum language): Add comment.
10517         * f-lang.c (f_language_defn): Make extern.
10518         (_initialize_f_language): Remove add_language call.
10519         * go-lang.c (go_language_defn): Make extern.
10520         (_initialize_go_language): Remove add_language call.
10521         * language.c: Include <algorithm>.
10522         (languages): Redefine as const array.
10523         (languages_size, languages_allocsize, DEFAULT_ALLOCSIZE): Delete.
10524         (set_language_command): Handle "local".  Use for-range loop.
10525         (set_language): Remove loop.
10526         (language_enum): Rewrite.
10527         (language_def, language_str): Remove loops.
10528         (add_language): Delete.
10529         (add_set_language_command): New, based on add_languages.
10530         (skip_language_trampoline): Adjust.
10531         (local_language_defn): Delete.
10532         (language_gdbarch_post_init): Adjust.
10533         (_initialize_language): Remove add_language calls.  Call
10534         add_set_language_command.
10535         * language.h (add_language): Delete.
10536         (auto_language_defn)
10537         (unknown_language_defn, minimal_language_defn, ada_language_defn)
10538         (asm_language_defn, c_language_defn, cplus_language_defn)
10539         (d_language_defn, f_language_defn, go_language_defn)
10540         (m2_language_defn, objc_language_defn, opencl_language_defn)
10541         (pascal_language_defn, rust_language_defn): Declare.
10542         * m2-lang.c (m2_language_defn): Make extern.
10543         (_initialize_m2_language): Remove add_language call.
10544         * objc-lang.c (objc_language_defn): Make extern.
10545         (_initialize_objc_language): Remove add_language call.
10546         * opencl-lang.c (opencl_language_defn): Make extern.
10547         (_initialize_opencl_language): Remove add_language call.
10548         * p-lang.c (pascal_language_defn): Make extern.
10549         (_initialize_pascal_language): Delete.
10550         * rust-lang.c (rust_language_defn): Make extern.
10551         (_initialize_rust_language): Delete.
10552         * utils.h (compare_cstrings): New static inline function.
10553
10554 2017-07-20  Pedro Alves  <palves@redhat.com>
10555
10556         * ada-lang.c (ada_to_fixed_type_1): Adjust.
10557         (get_var_value): Constify parameters.
10558         (get_int_var_value): Change prototype.
10559         (to_fixed_range_type): Adjust.
10560         * ada-lang.h (get_int_var_value): Change prototype.
10561
10562 2017-07-20  Pedro Alves  <palves@redhat.com>
10563
10564         * dwarf2read.c (dw2_lookup_symbol): Use
10565         SYMBOL_MATCHES_SEARCH_NAME.
10566         * psymtab.c (psym_lookup_symbol): Use SYMBOL_MATCHES_SEARCH_NAME.
10567
10568 2017-07-20  Pedro Alves  <palves@redhat.com>
10569
10570         * block.c (block_iter_name_step, block_iter_name_first)
10571         (block_iter_name_next): Delete.
10572         (block_lookup_symbol_primary): Adjust to use
10573         dict_iter_match_first/dict_iter_match_next.
10574         * block.h (block_iter_name_first, block_iter_name_next): Delete
10575         declarations.
10576         (ALL_BLOCK_SYMBOLS_WITH_NAME): Adjust to use
10577         dict_iter_match_first/dict_iter_match_next.
10578
10579 2017-07-20  Pedro Alves  <palves@redhat.com>
10580
10581         * cp-support.c (cp_find_first_component_aux): Add missing case for
10582         end of string.
10583
10584 2017-07-18  David Blaikie  <dblaikie@gmail.com>
10585
10586         * dwarf2read.c (create_cus_hash_table): Re-add lost initialization
10587         of dwo_cu's dwo_file.
10588
10589 2017-07-18  Yao Qi  <yao.qi@linaro.org>
10590
10591         * remote.c (store_registers_using_G): Remove one line comment.
10592
10593 2017-07-18  Yao Qi  <yao.qi@linaro.org>
10594
10595         * regcache.c (regcache_cpy): Simplify it.
10596         (regcache::cpy_no_passthrough): Remove it.
10597         * regcache.h (cpy_no_passthrough): Remove it.
10598         (regcache_dup, regcache_cpy): Update comments.
10599
10600 2017-07-18  Pedro Alves  <palves@redhat.com>
10601
10602         * remote-sim.c (sim_command_completer): Adjust to work with a
10603         completion_tracker instead of a VEC.
10604
10605 2017-07-17  Pedro Alves  <palves@redhat.com>
10606
10607         * completer.c (complete_source_filenames): New function.
10608         (complete_address_and_linespec_locations): New function.
10609         (location_completer): Use complete_address_and_linespec_locations.
10610         (completion_tracker::build_completion_result): Honor the tracker's
10611         request to suppress append.
10612         * completer.h (completion_tracker::suppress_append_ws)
10613         (completion_tracker::set_suppress_append_ws): New methods.
10614         (completion_tracker::m_suppress_append_ws): New field.
10615         (complete_source_filenames): New declaration.
10616         * linespec.c (linespec_complete_what): New.
10617         (struct ls_parser) <complete_what, completion_word,
10618         completion_quote_char, completion_quote_end, completion_tracker>:
10619         New fields.
10620         (string_find_incomplete_keyword_at_end): New.
10621         (linespec_lexer_lex_string): Record quote char.  If in completion
10622         mode, don't throw.
10623         (linespec_lexer_consume_token): Advance the completion word point.
10624         (linespec_lexer_peek_token): Save/restore completion info.
10625         (save_stream_and_consume_token): New.
10626         (set_completion_after_number): New.
10627         (linespec_parse_basic): Set what to complete next depending on
10628         token.  Handle function and label completions specially.
10629         (parse_linespec): Disable objc shortcut in completion mode.  Set
10630         what to complete next depending on token type.  Skip keyword if in
10631         completion mode.
10632         (complete_linespec_component, linespec_complete): New.
10633         * linespec.h (linespec_complete): Declare.
10634
10635 2017-07-17  Pedro Alves  <palves@redhat.com>
10636
10637         * linespec.c (linespec_lexer_lex_string, find_toplevel_char):
10638         Handle 'operator<' / 'operator<<'.
10639
10640 2017-07-17  Pedro Alves  <palves@redhat.com>
10641
10642         * completer.c (collect_explicit_location_matches): Handle
10643         MATCH_LABEL.
10644         (convert_explicit_location_to_linespec): New, factored out from
10645         ...
10646         (convert_explicit_location_to_sals): ... this.
10647         (complete_label): New.
10648         (linespec_complete_label, find_label_symbols_in_block): New.
10649         (find_label_symbols): Add completion_mode parameter and adjust to
10650         call find_label_symbols_in_block.
10651         * linespec.h (linespec_complete_label): Declare.
10652
10653 2017-07-17  Pedro Alves  <palves@redhat.com>
10654
10655         * ada-lang.c (ada_collect_symbol_completion_matches): Add
10656         complete_symbol_mode parameter.
10657         * cli/cli-cmds.c (complete_command): Get the completion result out
10658         of the handle_brkchars tracker if used a custom word point.
10659         * completer.c: Include "linespec.h".
10660         (enum explicit_location_match_type) <MATCH_LINE>: New enumerator.
10661         (advance_to_expression_complete_word_point): New.
10662         (completion_tracker::completes_to_completion_word): New.
10663         (complete_files_symbols): Pass down
10664         complete_symbol_mode::EXPRESSION.
10665         (explicit_options, probe_options): New.
10666         (collect_explicit_location_matches): Complete on the
10667         explictit_loc->foo instead of word.  Use
10668         linespec_complete_function.  Handle MATCH_LINE.  Handle offering
10669         keyword and options completions.
10670         (backup_text_ptr): Delete.
10671         (skip_keyword): New.
10672         (complete_explicit_location): Remove 'word' parameter.  Add
10673         language, quoted_arg_start and quoted_arg_end parameters.
10674         Rewrite, parsing left to right.
10675         (location_completer): Rewrite.
10676         (location_completer_handle_brkchars): New function.
10677         (symbol_completer): Pass down complete_symbol_mode::EXPRESSION.
10678         (enum complete_line_internal_reason): Adjust comments.
10679         (completion_tracker::discard_completions): New.
10680         (completer_handle_brkchars_func_for_completer): Handle
10681         location_completer.
10682         (gdb_custom_word_point_brkchars)
10683         (gdb_org_rl_basic_quote_characters): New.
10684         (gdb_completion_word_break_characters_throw)
10685         (completion_find_completion_word): Handle trackers that use a
10686         custom word point.
10687         (completion_tracker::advance_custom_word_point_by): New.
10688         (completion_tracker::build_completion_result): Don't rely on
10689         readline appending the quote char.
10690         (gdb_rl_attempted_completion_function_throw): Handle trackers that
10691         use a custom word point.
10692         (gdb_rl_attempted_completion_function): Restore
10693         rl_basic_quote_characters.
10694         * completer.h (class completion_tracker): Extend intro comment.
10695         (completion_tracker::set_quote_char)
10696         (completion_tracker::quote_char)
10697         (completion_tracker::set_use_custom_word_point)
10698         (completion_tracker::use_custom_word_point)
10699         (completion_tracker::custom_word_point)
10700         (completion_tracker::set_custom_word_point)
10701         (completion_tracker::advance_custom_word_point_by)
10702         (completion_tracker::completes_to_completion_word)
10703         (completion_tracker::discard_completions): New methods.
10704         (completion_tracker::m_quote_char)
10705         (completion_tracker::m_use_custom_word_point)
10706         (completion_tracker::m_custom_word_point): New fields.
10707         (advance_to_expression_complete_word_point): Declare.
10708         * f-lang.c (f_collect_symbol_completion_matches): Add
10709         complete_symbol_mode parameter.
10710         * language.h (struct language_defn)
10711         <la_collect_symbol_completion_matches>: Add complete_symbol_mode
10712         parameter.
10713         * linespec.c (linespec_keywords): Add NULL terminator.  Make extern.
10714         (linespec_complete_function): New function.
10715         (linespec_lexer_lex_keyword): Adjust.
10716         * linespec.h (linespec_keywords, linespec_complete_function): New
10717         declarations.
10718         * location.c (find_end_quote): New function.
10719         (explicit_location_lex_one): Add explicit_completion_info
10720         parameter.  Save quoting info.  Don't throw if being called for
10721         completion.  Don't handle Ada operators here.
10722         (is_cp_operator, skip_op_false_positives, first_of)
10723         (explicit_location_lex_one_function): New function.
10724         (string_to_explicit_location): Replace 'dont_throw' parameter with
10725         an explicit_completion_info pointer parameter.  Handle it.  Don't
10726         use explicit_location_lex_one to lex function names.  Use
10727         explicit_location_lex_one_function instead.
10728         * location.h (struct explicit_completion_info): New.
10729         (string_to_explicit_location): Replace 'dont_throw' parameter with
10730         an explicit_completion_info pointer parameter.
10731         * symtab.c (default_collect_symbol_completion_matches_break_on):
10732         Add complete_symbol_mode parameter.  Handle LINESPEC mode.
10733         (default_collect_symbol_completion_matches)
10734         (collect_symbol_completion_matches): Add complete_symbol_mode
10735         parameter.
10736         (collect_symbol_completion_matches_type): Pass down
10737         complete_symbol_mode::EXPRESSION.
10738         (collect_file_symbol_completion_matches): Add complete_symbol_mode
10739         parameter.  Handle LINESPEC mode.
10740         * symtab.h (complete_symbol_mode): New.
10741         (default_collect_symbol_completion_matches_break_on)
10742         (default_collect_symbol_completion_matches)
10743         (collect_symbol_completion_matches)
10744         (collect_file_symbol_completion_matches): Add complete_symbol_mode
10745         parameter.
10746
10747 2017-07-17  Pedro Alves  <palves@redhat.com>
10748
10749         * utils.c (enum class strncmp_iw_mode): New.
10750         (strcmp_iw): Rename to ...
10751         (strncmp_iw_with_mode): ... this.  Add string2_len and mode
10752         parameters.  Handle them.
10753         (strncmp_iw): New.
10754         (strcmp_iw): Reimplement as wrapper around strncmp_iw_with_mode.
10755         * utils.h (strncmp_iw): Declare.
10756         (strcmp_iw): Move describing comments here.
10757
10758 2017-07-17  Pedro Alves  <palves@redhat.com>
10759
10760         * c-exp.y (operator_stoken): Use CP_OPERATOR_LEN and
10761         CP_OPERATOR_STR.
10762         * c-typeprint.c (is_type_conversion_operator): Use
10763         CP_OPERATOR_STR.
10764         * cp-support.c (LENGTH_OF_OPERATOR): Delete.
10765         (cp_find_first_component_aux): Use CP_OPERATOR_STR and
10766         CP_OPERATOR_LEN.
10767         * cp-support.h (CP_OPERATOR_STR, CP_OPERATOR_LEN): New.
10768         * gnu-v2-abi.c (gnuv2_is_operator_name): Use CP_OPERATOR_STR.
10769         * gnu-v3-abi.c (gnuv3_is_operator_name): Use CP_OPERATOR_STR.
10770         * linespec.c (linespec_lexer_lex_string): Use CP_OPERATOR_LEN and
10771         CP_OPERATOR_STR.
10772         * location.c: Include "cp-support.h".
10773         (explicit_location_lex_one): Use CP_OPERATOR_LEN and
10774         CP_OPERATOR_STR.
10775         * symtab.c (operator_chars): Use CP_OPERATOR_STR and
10776         CP_OPERATOR_LEN.
10777
10778 2017-07-17  Pedro Alves  <palves@redhat.com>
10779
10780         * cli/cli-cmds.c (complete_command): Use a completion tracker
10781         along with completion_find_completion_word for handle_brkchars
10782         phase.
10783         * completer.c (RL_QF_SINGLE_QUOTE, RL_QF_DOUBLE_QUOTE)
10784         (RL_QF_BACKSLASH, RL_QF_OTHER_QUOTE): New.
10785         (struct gdb_rl_completion_word_info): New.
10786         (gdb_rl_find_completion_word): New.
10787         (completion_find_completion_word): New.
10788         * completer.h (completion_find_completion_word): Declare.
10789
10790 2017-07-17  Pedro Alves  <palves@redhat.com>
10791
10792         * ada-lang.c (symbol_completion_match): Adjust comments.
10793         (symbol_completion_add): Replace vector parameter with
10794         completion_tracker parameter.  Use it.
10795         (ada_make_symbol_completion_list): Rename to...
10796         (ada_collect_symbol_completion_matches): ... this.  Add
10797         completion_tracker parameter and use it.
10798         (ada_language_defn): Adjust.
10799         * break-catch-syscall.c (catch_syscall_completer): Adjust
10800         prototype and work with completion_tracker instead of VEC.
10801         * breakpoint.c (condition_completer): Adjust prototype and work
10802         with completion_tracker instead of VEC.
10803         * c-lang.c (c_language_defn, cplus_language_defn)
10804         (asm_language_defn, minimal_language_defn): Adjust to renames.
10805         * cli/cli-cmds.c (complete_command): Rework using
10806         completion_tracker.  Catch exceptions when completing.
10807         * cli/cli-decode.c (integer_unlimited_completer)
10808         (complete_on_cmdlist, complete_on_enum): Adjust prototype and work
10809         with completion_tracker instead of VEC.
10810         * command.h (struct completion_tracker): Forward declare.
10811         (completer_ftype, completer_handle_brkchars_ftype): Change
10812         types.
10813         (complete_on_cmdlist, complete_on_enum): Adjust.
10814         * completer.c: Include <algorithm>.
10815         (struct gdb_completer_state): New.
10816         (current_completion): New global.
10817         (readline_line_completion_function): Delete.
10818         (noop_completer, filename_completer)
10819         (filename_completer_handle_brkchars, complete_files_symbols)
10820         (linespec_location_completer): Adjust to work with a
10821         completion_tracker instead of a VEC.
10822         (string_or_empty): New.
10823         (collect_explicit_location_matches): Adjust to work with a
10824         completion_tracker instead of a VEC.
10825         (explicit_location_completer): Rename to ...
10826         (complete_explicit_location): ... this and adjust to work with a
10827         completion_tracker instead of a VEC.
10828         (location_completer): Adjust to work with a completion_tracker
10829         instead of a VEC.
10830         (add_struct_fields): Adjust to work with a completion_list instead
10831         of VEC.
10832         (expression_completer): Rename to ...
10833         (complete_expression): ... this and adjust to work with a
10834         completion_tracker instead of a VEC.  Use complete_files_symbols.
10835         (expression_completer): Reimplement on top of complete_expression.
10836         (symbol_completer): Adjust to work with a completion_tracker
10837         instead of a VEC.
10838         (enum complete_line_internal_reason): Add describing comments.
10839         (complete_line_internal_normal_command): Adjust to work with a
10840         completion_tracker instead of a VEC.
10841         (complete_line_internal): Rename to ...
10842         (complete_line_internal_1): ... this and adjust to work with a
10843         completion_tracker instead of a VEC.  Assert TEXT is NULL in the
10844         handle_brkchars phase.
10845         (new_completion_tracker): Delete.
10846         (complete_line_internal): Reimplement as TRY/CATCH wrapper around
10847         complete_line_internal_1.
10848         (free_completion_tracker): Delete.
10849         (INITIAL_COMPLETION_HTAB_SIZE): New.
10850         (completion_tracker::completion_tracker)
10851         (completion_tracker::~completion_tracker): New.
10852         (maybe_add_completion): Delete.
10853         (completion_tracker::maybe_add_completion)
10854         (completion_tracker::add_completion)
10855         (completion_tracker::add_completions): New.
10856         (throw_max_completions_reached_error): Delete.
10857         (complete_line): Adjust to work with a completion_tracker instead
10858         of a VEC.  Don't create a completion_tracker_t or check for max
10859         completions here.
10860         (command_completer, command_completer_handle_brkchars)
10861         (signal_completer, reg_or_group_completer_1)
10862         (reg_or_group_completer, default_completer_handle_brkchars):
10863         Adjust to work with a completion_tracker.
10864         (gdb_completion_word_break_characters_throw): New.
10865         (gdb_completion_word_break_characters): Reimplement.
10866         (line_completion_function): Delete.
10867         (completion_tracker::recompute_lowest_common_denominator)
10868         (expand_preserving_ws)
10869         (completion_tracker::build_completion_result)
10870         (completion_result::completion_result)
10871         (completion_result::completion_result)
10872         (completion_result::~completion_result)
10873         (completion_result::completion_result)
10874         (completion_result::release_match_list, compare_cstrings)
10875         (completion_result::sort_match_list)
10876         (completion_result::reset_match_list)
10877         (gdb_rl_attempted_completion_function_throw)
10878         (gdb_rl_attempted_completion_function): New.
10879         * completer.h (completion_list, struct completion_result)
10880         (class completion_tracker): New.
10881         (complete_line): Add completion_tracker parameter.
10882         (readline_line_completion_function): Delete.
10883         (gdb_rl_attempted_completion_function): New.
10884         (noop_completer, filename_completer, expression_completer)
10885         (location_completer, symbol_completer, command_completer)
10886         (signal_completer, reg_or_group_completer): Update prototypes.
10887         (completion_tracker_t, new_completion_tracker)
10888         (make_cleanup_free_completion_tracker): Delete.
10889         (enum maybe_add_completion_enum): Delete.
10890         (maybe_add_completion): Delete.
10891         (throw_max_completions_reached_error): Delete.
10892         * corefile.c (complete_set_gnutarget): Adjust to work with a
10893         completion_tracker instead of a VEC.
10894         * cp-abi.c (cp_abi_completer): Adjust to work with a
10895         completion_tracker instead of a VEC.
10896         * d-lang.c (d_language_defn): Adjust.
10897         * disasm.c (disassembler_options_completer): Adjust to work with a
10898         completion_tracker instead of a VEC.
10899         * f-lang.c (f_make_symbol_completion_list): Rename to ...
10900         (f_collect_symbol_completion_matches): ... this.  Adjust to work
10901         with a completion_tracker instead of a VEC.
10902         (f_language_defn): Adjust.
10903         * go-lang.c (go_language_defn): Adjust.
10904         * guile/scm-cmd.c (cmdscm_add_completion, cmdscm_completer):
10905         Adjust to work with a completion_tracker instead of a VEC.
10906         * infrun.c (handle_completer): Likewise.
10907         * interps.c (interpreter_completer): Likewise.
10908         * interps.h (interpreter_completer): Likewise.
10909         * language.c (unknown_language_defn, auto_language_defn)
10910         (local_language_defn): Adjust.
10911         * language.h (language_defn::la_make_symbol_completion_list):
10912         Rename to ...
10913         (language_defn::la_collect_symbol_completion_matches): ... this
10914         and adjust to work with a completion_tracker instead of a VEC.
10915         * m2-lang.c (m2_language_defn): Adjust.
10916         * objc-lang.c (objc_language_defn): Adjust.
10917         * opencl-lang.c (opencl_language_defn): Adjust.
10918         * p-lang.c (pascal_language_defn): Adjust.
10919         * python/py-cmd.c (cmdpy_completer_helper): Handle NULL word.
10920         (cmdpy_completer_handle_brkchars, cmdpy_completer): Adjust to work
10921         with a completion_tracker.
10922         * rust-lang.c (rust_language_defn): Adjust.
10923         * symtab.c (free_completion_list, do_free_completion_list)
10924         (return_val, completion_tracker): Delete.
10925         (completion_list_add_name, completion_list_add_symbol)
10926         (completion_list_add_msymbol, completion_list_objc_symbol)
10927         (completion_list_add_fields, add_symtab_completions): Add
10928         completion_tracker parameter and use it.
10929         (default_make_symbol_completion_list_break_on_1): Rename to...
10930         (default_collect_symbol_completion_matches_break_on): ... this.
10931         Add completion_tracker parameter and use it instead of allocating
10932         a completion tracker here.
10933         (default_make_symbol_completion_list_break_on): Delete old
10934         implementation.
10935         (default_make_symbol_completion_list): Delete.
10936         (default_collect_symbol_completion_matches): New.
10937         (make_symbol_completion_list): Delete.
10938         (collect_symbol_completion_matches): New.
10939         (make_symbol_completion_type): Rename to ...
10940         (collect_symbol_completion_matches_type): ... this.  Add
10941         completion_tracker parameter and use it instead of VEC.
10942         (make_file_symbol_completion_list_1): Rename to...
10943         (collect_file_symbol_completion_matches): ... this.  Add
10944         completion_tracker parameter and use it instead of VEC.
10945         (make_file_symbol_completion_list): Delete.
10946         (add_filename_to_list): Use completion_list instead of a VEC.
10947         (add_partial_filename_data::list): Now a completion_list.
10948         (make_source_files_completion_list): Work with a completion_list
10949         instead of a VEC.
10950         * symtab.h: Include "completer.h".
10951         (default_make_symbol_completion_list_break_on)
10952         (default_make_symbol_completion_list, make_symbol_completion_list)
10953         (make_symbol_completion_type, make_file_symbol_completion_list)
10954         (make_source_files_completion_list): Delete.
10955         (default_collect_symbol_completion_matches_break_on)
10956         (default_collect_symbol_completion_matches)
10957         (collect_symbol_completion_matches)
10958         (collect_symbol_completion_matches_type)
10959         (collect_file_symbol_completion_matches)
10960         (make_source_files_completion_list): New.
10961         * top.c (init_main): Don't install a rl_completion_entry_function
10962         hook.  Install a rl_attempted_completion_function hook instead.
10963         * tui/tui-layout.c (layout_completer): Adjust to work with a
10964         completion_tracker.
10965         * tui/tui-regs.c (tui_reggroup_completer):
10966         * tui/tui-win.c (window_name_completer, focus_completer)
10967         (winheight_completer): Adjust to work with a completion_tracker.
10968         * value.c: Include "completer.h".
10969         (complete_internalvar): Adjust to work with a completion_tracker.
10970         * value.h (complete_internalvar): Likewise.
10971
10972 2017-07-17  Pedro Alves  <palves@redhat.com>
10973
10974         * cli/cli-decode.c (set_cmd_completer_handle_brkchars): Adjust to
10975         renames.
10976         * cli/cli-decode.h (struct cmd_list_element) <completer>: Move
10977         comments to completer_ftype's declaration.
10978         <completer_handle_brkchars>: Change type to
10979         completer_handle_brkchars_ftype.
10980         * command.h (completer_ftype): Add describing comment and give
10981         names to parameters.
10982         (completer_ftype_void): Rename to ...
10983         (completer_handle_brkchars_ftype) ... this.  Add describing comment.
10984         (set_cmd_completer_handle_brkchars): Adjust.
10985         * completer.c (filename_completer_handle_brkchars): New function.
10986         (complete_line_internal_normal_command): New function, factored
10987         out from ...
10988         (complete_line_internal): ... here.
10989         (command_completer_handle_brkchars)
10990         (default_completer_handle_brkchars)
10991         (completer_handle_brkchars_func_for_completer): New functions.
10992         * completer.h (set_gdb_completion_word_break_characters): Delete
10993         declaration.
10994         (completer_handle_brkchars_func_for_completer): New declaration.
10995         * python/py-cmd.c (cmdpy_completer_handle_brkchars): Adjust to use
10996         completer_handle_brkchars_func_for_completer.
10997
10998 2017-07-17  Pedro Alves  <palves@redhat.com>
10999
11000         * completer.c (symbol_completer): New function, based on
11001         make_symbol_completion_list_fn.
11002         * completer.h (symbol_completer): New declaration.
11003         * guile/scm-cmd.c (cmdscm_completers): Adjust.
11004         * python/py-cmd.c (completers): Adjust.
11005         * symtab.c (make_symbol_completion_list_fn): Delete.
11006         * symtab.h (make_symbol_completion_list_fn): Delete.
11007         * cli/cli-decode.c (add_cmd): Adjust.
11008
11009 2017-07-17  Pedro Alves  <palves@redhat.com>
11010
11011         * Makefile.in (COMMON_OBS): Add filename-seen-cache.o.
11012         * dwarf2read.c: Include "filename-seen-cache.h".
11013         * dwarf2read.c (dwarf2_per_objfile) <filenames_cache>: New field.
11014         (dw2_map_symbol_filenames): Build and use a filenames_seen_cache.
11015         * filename-seen-cache.c: New file.
11016         * filename-seen-cache.h: New file.
11017         * symtab.c: Include "filename-seen-cache.h".
11018         (struct filename_seen_cache, INITIAL_FILENAME_SEEN_CACHE_SIZE)
11019         (create_filename_seen_cache, clear_filename_seen_cache)
11020         (delete_filename_seen_cache, filename_seen): Delete, parts moved
11021         to filename-seen-cache.h/filename-seen-cache.c.
11022         (output_source_filename, sources_info)
11023         (maybe_add_partial_symtab_filename)
11024         (make_source_files_completion_list): Adjust to use
11025         filename_seen_cache.
11026
11027 2017-07-17  Pedro Alves  <palves@redhat.com>
11028
11029         * dwarf2read.c (dwarf2_per_objfile): In-class initialize all
11030         fields.
11031         (dwarf2_per_objfile::dwarf2_per_objfile(objfile*, const
11032         dwarf2_debug_sections*)): New.
11033         (dwarf2_per_objfile::dwarf2_per_objfile(const
11034         dwarf2_per_objfile&)): Declare as deleted.
11035         (dwarf2_per_objfile::operator=): Declare as deleted.
11036         (dwarf2_per_objfile::dwarf2_per_objfile)
11037         (dwarf2_per_objfile::~dwarf2_per_objfile)
11038         (dwarf2_per_objfile::free_cached_comp_units): New.
11039         (dwarf2_has_info): dwarf2_per_objfile initialization code moved to
11040         ctor.  Call dwarf2_per_objfile's ctor manually.
11041         (dwarf2_locate_sections): Deleted/refactored as ...
11042         (dwarf2_per_objfile::locate_sections): ... this new method.
11043         (free_cached_comp_units): Defer to
11044         dwarf2_per_objfile::free_cached_comp_units.
11045         (dwarf2_free_objfile): Call dwarf2_per_objfile's dtor manually.
11046
11047 2017-07-14  Tom Tromey  <tom@tromey.com>
11048
11049         PR rust/21764:
11050         * rust-exp.y (convert_ast_to_expression): Add "want_type"
11051         parameter.
11052         <UNOP_SIZEOF>: Split into separate case.
11053         <UNOP_VAR_VALUE>: Handle want_type.  Add error case.
11054
11055 2017-07-14  Tom Tromey  <tom@tromey.com>
11056
11057         PR rust/21763:
11058         * symtab.c (symbol_matches_domain): Add language_rust to special
11059         case.
11060         * rust-exp.y (convert_ast_to_expression) <OP_VAR_VALUE>: Don't
11061         treat LOC_TYPEDEF symbols as variables.
11062
11063 2017-07-14  Pedro Alves  <palves@redhat.com>
11064
11065         * symtab.c (make_file_symbol_completion_list_1): Iterate over
11066         symtabs matching all symtabs with SRCFILE as file name instead of
11067         only considering the first hit, with lookup_symtab.
11068
11069 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
11070
11071         * ax-gdb.c (gen_aggregate_elt_ref): Remove operand_name and
11072         operator_name parameters.
11073         (gen_expr): Update function call.
11074
11075 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
11076
11077         * dwarf2loc.h (dwarf2_compile_expr_to_ax): Remove gdbarch
11078         parameter.
11079         * symtab.h (struct symbol_computed_ops::tracepoint_var_ref):
11080         Likewise.
11081         * dwarf2loc.c (dwarf2_compile_expr_to_ax): Remove gdbarch
11082         parameter, use agent_expr::gdbarch instead, update function
11083         calls.
11084         (locexpr_tracepoint_var_ref): Likewise.
11085         (loclist_tracepoint_var_ref): Likewise.
11086         * ax-gdb.c (gen_trace_static_fields): Likewise.
11087         (gen_traced_pop): Likewise.
11088         (gen_frame_args_address): Likewise.
11089         (gen_frame_locals_address): Likewise.
11090         (gen_var_ref): Likewise.
11091         (gen_struct_ref_recursive): Likewise.
11092         (gen_static_field): Likewise.
11093         (gen_maybe_namespace_elt): Likewise.
11094         (gen_expr): Likewise.
11095         (gen_trace_for_var): Likewise.
11096         (gen_trace_for_expr): Likewise.
11097         (gen_trace_for_return_address): Likewise.
11098
11099 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
11100
11101         * ax-gdb.c (gen_deref, gen_address_of): Remove unused ax
11102         parameter.
11103         (gen_struct_ref, gen_expr, gen_expr_binop_rest): Update call.
11104
11105 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
11106
11107         * ax-gdb.c (gen_usual_unary): Remove exp parameter, get gdbarch
11108         from ax, update calls.
11109         (gen_usual_arithmetic): Likewise.
11110         (gen_integral_promotions): Likewise.
11111         (gen_bitfield_ref): Likewise.
11112         (gen_primitive_field): Likewise.
11113         (gen_struct_ref_recursive): Likewise.
11114         (gen_struct_ref): Likewise.
11115         (gen_maybe_namespace_elt): Likewise.
11116         (gen_struct_elt_for_reference): Likewise.
11117         (gen_namespace_elt): Likewise.
11118         (gen_aggregate_elt_ref): Likewise.
11119         (gen_expr): Get gdbarch from ax, update calls.
11120         (gen_expr_binop_rest): Likewise.
11121
11122 2017-07-13  Pedro Alves  <palves@redhat.com>
11123
11124         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Pass tdesc_amd64
11125         as default tdesc.
11126         * amd64-dicos-tdep.c (amd64_dicos_init_abi):
11127         * amd64-fbsd-tdep.c (amd64fbsd_init_abi):
11128         * amd64-linux-tdep.c (amd64_linux_init_abi): Pass
11129         tdesc_amd64_linux as default tdesc.  Get final tdesc from the
11130         tdep.
11131         (amd64_x32_linux_init_abi): Pass tdesc_x32_linux as default tdesc.
11132         Get final tdesc from the tdep.
11133         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Pass tdesc_amd64 as
11134         default tdesc.
11135         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
11136         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
11137         * amd64-tdep.c (amd64_init_abi): Add 'default_tdesc' parameter.
11138         Use it as default tdesc.
11139         (amd64_x32_init_abi): Add 'default_tdesc' parameter, and pass it
11140         down to amd_init_abi.  No longer handle fallback tdesc here.
11141         * amd64-tdep.h (tdesc_x32): Declare.
11142         (amd64_init_abi, amd64_x32_init_abi): Add 'default_tdesc'
11143         parameter.
11144         * amd64-windows-tdep.c (amd64_windows_init_abi): Pass tdesc_amd64
11145         as default tdesc.
11146
11147 2017-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11148
11149         * s390-linux-tdep.c (s390_process_record): Add support for
11150         instructions new in arch12.
11151
11152 2017-07-11  John Baldwin  <jhb@FreeBSD.org>
11153
11154         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers): Use
11155         PT_GETFSBASE and PT_GETGSBASE.
11156         (amd64bsd_store_inferior_registers): Use PT_SETFSBASE and
11157         PT_SETGSBASE.
11158
11159 2017-07-11  John Baldwin  <jhb@FreeBSD.org>
11160
11161         * features/Makefile (amd64.dat, amd64-avx.dat, amd64-mpx.dat)
11162         (amd64-avx-mpx.dat, amd64-avx-avx512.dat)
11163         (amd64-avx-mpx-avx512-pku.dat): Add i386/64bit-segments.xml in
11164         those rules.
11165         * features/i386/amd64-avx-avx512.xml: Add 64bit-segments.xml.
11166         * features/i386/amd64-avx-mpx-avx512-pku.xml: Add 64bit-segments.xml.
11167         * features/i386/amd64-avx-mpx.xml: Add 64bit-segments.xml.
11168         * features/i386/amd64-avx.xml: Add 64bit-segments.xml.
11169         * features/i386/amd64-mpx.xml: Add 64bit-segments.xml.
11170         * features/i386/amd64.xml: Add 64bit-segments.xml.
11171         * features/i386/amd64-avx-avx512.c: Regenerated.
11172         * features/i386/amd64-avx-mpx-avx512-pku.c: Regenerated.
11173         * features/i386/amd64-avx-mpx.c: Regenerated.
11174         * features/i386/amd64-avx.c: Regenerated.
11175         * features/i386/amd64-mpx.c: Regenerated.
11176         * features/i386/amd64.c: Regenerated.
11177         * regformats/i386/amd64-avx-avx512.dat: Regenerated.
11178         * regformats/i386/amd64-avx-mpx-avx512-pku.dat: Regenerated.
11179         * regformats/i386/amd64-avx-mpx.dat: Regenerated.
11180         * regformats/i386/amd64-avx.dat: Regenerated.
11181         * regformats/i386/amd64-mpx.dat: Regenerated.
11182         * regformats/i386/amd64.dat: Regenerated.
11183
11184 2017-07-10  Yao Qi  <yao.qi@linaro.org>
11185
11186         * features/i386/amd64-avx-avx512-linux.c: Re-generated.
11187         * features/i386/amd64-avx-mpx-avx512-pku-linux.c: Re-generated.
11188
11189 2017-07-10  Anton Kolesov  <Anton.Kolesov@synopsys.com>
11190
11191         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add setenv and
11192         unsetenv.
11193         * gnulib/aclocal.m4: Regenerate.
11194         * gnulib/config.in: Regenerate.
11195         * gnulib/configure: Regenerate.
11196         * gnulib/import/Makefile.am: Regenerate.
11197         * gnulib/import/Makefile.in: Regenerate.
11198         * gnulib/import/m4/gnulib-cache.m4: Regenerate.
11199         * gnulib/import/m4/gnulib-comp.m4: Regenerate.
11200         * gnulib/import/m4/environ.m4: New file.
11201         * gnulib/import/m4/setenv.m4: New file.
11202         * gnulib/import/setenv.c: New file.
11203         * gnulib/import/unsetenv.c: New file.
11204
11205 2017-07-09  Simon Marchi  <simon.marchi@ericsson.com>
11206
11207         * compile/compile-loc2c.c (do_compile_dwarf_expr_to_c): Read
11208         address when op is DW_OP_addr.
11209
11210 2017-07-09  Tom Tromey  <tom@tromey.com>
11211
11212         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Reverse size
11213         check and apply to outer type.
11214
11215 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11216
11217         * fbsd-tdep.c (LWPINFO_OFFSET, LWPINFO_PL_FLAGS)
11218         (LWPINFO64_PL_SIGINFO, LWPINFO32_PL_SIGINFO, PL_FLAG_SI)
11219         (SIZE64_SIGINFO_T, SIZE32_SIGINFO_T, fbsd_core_xfer_siginfo): New.
11220         (fbsd_init_abi): Install gdbarch "core_xfer_siginfo" method.
11221
11222 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11223
11224         * fbsd-tdep.c (fbsd_core_thread_name): Use thread_section_name.
11225
11226 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11227
11228         * corelow.c (get_core_siginfo): Remove.
11229         (core_xfer_partial): Use the gdbarch "core_xfer_siginfo" method
11230         instead of get_core_siginfo.
11231         * gdbarch.sh (core_xfer_siginfo): New gdbarch callback.
11232         * gdbarch.h: Re-generate.
11233         * gdbarch.c: Re-generate.
11234         * linux-tdep.c (linux_core_xfer_siginfo): New.
11235         (linux_init_abi): Install gdbarch "core_xfer_siginfo" method.
11236
11237 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11238
11239         * corelow.c (thread_section_name): Move to ...
11240         * gdbcore.h (thread_section_name): ... here.
11241
11242 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11243
11244         * fbsd-nat.c [PT_LWPINFO && __LP64__] (union sigval32)
11245         (struct siginfo32): New.
11246         [PT_LWPINFO] (fbsd_siginfo_size, fbsd_convert_siginfo): New.
11247         (fbsd_xfer_partial) [PT_LWPINFO]: Handle TARGET_OBJECT_SIGNAL_INFO
11248         via ptrace(PT_LWPINFO).
11249
11250 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11251
11252         * fbsd-tdep.c (fbsd_gdbarch_data_handle, struct fbsd_gdbarch_data)
11253         (init_fbsd_gdbarch_data, get_fbsd_gdbarch_data)
11254         (fbsd_get_siginfo_type): New.
11255         (fbsd_init_abi): Install gdbarch "get_siginfo_type" method.
11256         (_initialize_fbsd_tdep): New.
11257
11258 2017-07-06  David Blaikie  <dblaikie@gmail.com>
11259
11260         * dwarf2read.c (struct dwo_file): Use a htab of dwo_unit* (rather than
11261         a singular dwo_unit*) to support multiple CUs in the same way that
11262         multiple TUs are supported.
11263         (create_cus_hash_table): Replace create_dwo_cu with a function for
11264         parsing multiple CUs from a DWO file.
11265         (open_and_init_dwo_file): Use create_cus_hash_table rather than
11266         create_dwo_cu.
11267         (lookup_dwo_cutu): Lookup CU in the hash table in the dwo_file with
11268         htab_find, rather than comparing the signature to a singleton CU in
11269         the dwo_file.
11270
11271 2017-07-06  Pedro Alves  <palves@redhat.com>
11272
11273         * python/py-unwind.c (pyuw_dealloc_cache): Fix for loop condition.
11274
11275 2017-07-04  Pedro Alves  <palves@redhat.com>
11276
11277         * gdbtypes.c (recursive_dump_type): Don't reference TYPE_STATIC.
11278         * gdbtypes.h (TYPE_STATIC): Delete.
11279         (struct fn_field) <is_public, is_abstract, is_static, is_final,
11280         is_synchronized, is_native>: Delete.
11281         <dummy>: Bump.
11282         (TYPE_FN_FIELD_PUBLIC, TYPE_FN_FIELD_STATIC, TYPE_FN_FIELD_FINAL)
11283         (TYPE_FN_FIELD_SYNCHRONIZED, TYPE_FN_FIELD_NATIVE)
11284         (TYPE_FN_FIELD_ABSTRACT): Delete.
11285
11286 2017-07-03  Simon Marchi  <simon.marchi@ericsson.com>
11287
11288         * buffer.h (buffer_finish): Fix spelling mistakes.
11289
11290 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
11291
11292         * .dir-locals.el: Automatically switch to C-style comments in
11293         versions of Emacs that support the feature.
11294
11295 2017-06-30  Sergio Durigan Junior  <sergiodj@redhat.com>
11296             Pedro Alves  <palves@redhat.com>
11297
11298         PR cli/21688
11299         * cli/cli-script.c (command_name_equals_not_inline): Remove function.
11300         (process_next_line): New variable 'inline_cmd'.
11301         Adjust 'if' clauses for "python", "compile" and "guile" to use
11302         'command_name_equals' and check for '!inline_cmd'.
11303
11304 2017-06-30  Sergio Durigan Junior  <sergiodj@redhat.com>
11305
11306         PR cli/21688
11307         * cli/cli-script.c (command_name_equals_not_inline): New function.
11308         (process_next_line): Adjust 'if' clauses for "python", "compile"
11309         and "guile" to use command_name_equals_not_inline.
11310
11311 2017-06-29  Pedro Alves  <palves@redhat.com>
11312
11313         * completer.c (expression_completer): Call
11314         linespec_location_completer instead of location_completer.
11315
11316 2017-06-29  Pedro Alves  <palves@redhat.com>
11317
11318         * completer.c (expression_completer): Remove code that recomputes
11319         'text' from 'word'.
11320
11321 2017-06-29  Yao Qi  <yao.qi@linaro.org>
11322
11323         * regformats/regdat.sh: Generate code with
11324         "ifndef IN_PROCESS_AGENT".
11325
11326 2017-06-28  Pedro Alves  <palves@redhat.com>
11327
11328         * command.h: Include "common/scoped_restore.h".
11329
11330 2017-06-28  Yao Qi  <yao.qi@linaro.org>
11331
11332         * mi/mi-cmd-break.c (mi_argv_to_format): Use obstack_grow_str
11333         instead of obstack_grow.
11334
11335 2017-06-28  Doug Gilmore  <Doug.Gilmore@imgtec.com>
11336
11337         PR gdb/21337
11338         * symfile.c (reread_symbols): Call objfiles_changed just before
11339         read_symbols.
11340
11341 2017-06-27  Pedro Alves  <palves@redhat.com>
11342
11343         * symtab.c (COMPLETION_LIST_ADD_SYMBOL)
11344         (MCOMPLETION_LIST_ADD_SYMBOL): Delete macros, replace with ...
11345         (completion_list_add_symbol, completion_list_add_msymbol):
11346         ... these new functions.
11347         (add_symtab_completions)
11348         (default_make_symbol_completion_list_break_on_1): Adjust.
11349
11350 2017-06-27  Pedro Alves  <palves@redhat.com>
11351
11352         * objfiles.c (get_objfile_bfd_data): Call bfd_alloc instead of
11353         bfd_zalloc.  Call objfile_per_bfd_storage's ctor.
11354         (free_objfile_per_bfd_storage): Call objfile_per_bfd_storage's
11355         dtor.
11356         * objfiles.h (objfile_per_bfd_storage): Add ctor.  Make
11357         'storage_obstack' field an auto_obstack.  In-class initialize all
11358         non-bitfield fields.  Make minsyms_read bool.
11359         * symfile.c (read_symbols): Adjust.
11360
11361 2017-06-27  Alan Hayward  <alan.hayward@arm.com>
11362
11363         * remote-sim.c (gdbsim_fetch_register): Use byte_vector.
11364         (gdbsim_store_register): Likewise.
11365
11366 2017-06-27  Pedro Alves  <palves@redhat.com>
11367
11368         * c-exp.y (name_obstack): Now an auto_obstack.
11369         (yylex): Use auto_obstack::clear.
11370         (c_parse): Use auto_obstack::clear instead of reinitializing and
11371         freeing the obstack.
11372         * c-lang.c (evaluate_subexp_c): Use auto_obstack.
11373         * d-exp.y (name_obstack): Now an auto_obstack.
11374         (yylex): Use auto_obstack::clear.
11375         (d_parse): Use auto_obstack::clear instead of reinitializing and
11376         freeing the obstack.
11377         * dwarf2loc.c (fetch_const_value_from_synthetic_pointer): Use
11378         auto_obstack.
11379         * dwarf2read.c (create_addrmap_from_index)
11380         (dwarf2_build_psymtabs_hard)
11381         (update_enumeration_type_from_children): Likewise.
11382         * gdb_obstack.h (auto_obstack): New type.
11383         * go-exp.y (name_obstack): Now an auto_obstack.
11384         (build_packaged_name): Use auto_obstack::clear.
11385         (go_parse): Use auto_obstack::clear instead of reinitializing and
11386         freeing the obstack.
11387         * linux-tdep.c (linux_make_mappings_corefile_notes): Use
11388         auto_obstack.
11389         * printcmd.c (printf_wide_c_string, ui_printf): Use auto_obstack.
11390         * rust-exp.y (work_obstack): Now an auto_obstack.
11391         (rust_parse, rust_lex_tests): Use auto_obstack::clear instead of
11392         reinitializing and freeing the obstack.
11393         * utils.c (do_obstack_free, make_cleanup_obstack_free): Delete.
11394         (host_char_to_target): Use auto_obstack.
11395         * utils.h (make_cleanup_obstack_free): Delete declaration.
11396         * valprint.c (generic_emit_char, generic_printstr): Use
11397         auto_obstack.
11398
11399 2017-06-27  Simon Marchi  <simon.marchi@ericsson.com>
11400
11401         * darwin-nat.c (darwin_check_new_threads): Don't handle dummy
11402         thread.
11403         (darwin_init_thread_list): Don't update dummy thread.
11404         (darwin_create_inferior, darwin_attach): Don't add a dummy thread.
11405
11406 2017-06-26  Simon Marchi  <simon.marchi@ericsson.com>
11407
11408         * record-full.c (netorder16): Remove.
11409
11410 2017-06-26  Simon Marchi  <simon.marchi@ericsson.com>
11411
11412         * common/diagnostics.h: Define macros for GCC.
11413         (DIAGNOSTIC_IGNORE_UNUSED_FUNCTION): New macro.
11414         * common/vec.h: Include diagnostics.h.
11415         (DIAGNOSTIC_IGNORE_UNUSED_VEC_FUNCTION): New macro.
11416         (DEF_VEC_I, DEF_VEC_P, DEF_VEC_O): Ignore -Wunused-function
11417         warning.
11418
11419 2017-06-26  Simon Marchi  <simon.marchi@ericsson.com>
11420
11421         * common/diagnostics.h (DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER):
11422         New macro.
11423         * ada-lex.l: Ignore deprecated register warnings.
11424
11425 2017-06-25  Simon Marchi  <simon.marchi@ericsson.com>
11426
11427         * main.c (get_init_files): Replace "SYSTEM_GDBINIT +
11428         datadir_len" with "&SYSTEM_GDBINIT[datadir_len]".
11429
11430 2017-06-25  Simon Marchi  <simon.marchi@ericsson.com>
11431
11432         * dtrace-probe.c (dtrace_process_dof_probe): Put semi-colon on
11433         its own line.
11434
11435 2017-06-25  Simon Marchi  <simon.marchi@ericsson.com>
11436
11437         * nat/x86-dregs.c (x86_show_dr): Print registers one per line.
11438
11439 2017-06-23  Alan Hayward  <alan.hayward@arm.com>
11440
11441         * xtensa-tdep.c (XTENSA_MAX_REGISTER_SIZE): Add.
11442         (xtensa_register_write_masked): Use XTENSA_MAX_REGISTER_SIZE.
11443         (xtensa_register_read_masked): Likewise.
11444
11445 2017-06-22  Sergio Durigan Junior  <sergiodj@redhat.com>
11446
11447         * common/environ.c (gdb_environ::unset): Update comment.
11448
11449 2017-06-22  Alan Hayward  <alan.hayward@arm.com>
11450
11451         * python/py-unwind.c (pyuw_sniffer): Allocate space for
11452         registers.
11453
11454 2017-06-22  Alan Hayward  <alan.hayward@arm.com>
11455
11456         * record-full.c (record_full_exec_insn): Use byte_vector.
11457
11458 2017-06-22  Yao Qi  <yao.qi@linaro.org>
11459
11460         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Regenerated.
11461         * regformats/i386/amd64-avx-mpx-avx512-pku.dat: Regenerated.
11462
11463 2017-06-22  Alan Hayward  <alan.hayward@arm.com>
11464
11465         * remote.c (cached_reg): Move from here...
11466         * regcache.h (cached_reg): ...to here.
11467         * python/py-unwind.c (struct reg_info): Remove.
11468         (cached_frame_info): Use cached_reg_t.
11469         (pyuw_prev_register): Likewise.
11470         (pyuw_sniffer): Use cached_reg_t and allocate registers.
11471         (pyuw_dealloc_cache): Free all registers.
11472
11473 2017-06-22  Pedro Alves  <palves@redhat.com>
11474             Simon Marchi  <simon.marchi@ericsson.com>
11475
11476         * unittests/environ-selftests.c (run_tests): Ignore -Wself-move
11477         warning.
11478         * common/diagnostics.h: New file.
11479
11480 2017-06-22  Pedro Alves  <palves@redhat.com>
11481
11482         * common/agent.h: Add include guards.
11483
11484 2017-06-21  Simon Marchi  <simon.marchi@ericsson.com>
11485
11486         * target.h (struct target_ops) <to_xfer_partial>: Update doc to
11487         talk about addressable units instead of bytes.
11488
11489 2017-06-20  Sergio Durigan Junior  <sergiodj@redhat.com>
11490
11491         * common/environ.c (gdb_environ::unset): Use '::iterator' instead
11492         of '::const_iterator'.
11493
11494 2017-06-20  Sergio Durigan Junior  <sergiodj@redhat.com>
11495
11496         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11497         'unittests/environ-selftests.c'.
11498         (SUBDIR_UNITTESTS_OBS): Add 'environ-selftests.o'.
11499         * charset.c (find_charset_names): Declare object 'iconv_env'.
11500         Update code to use 'iconv_env' object.  Remove call to
11501         'free_environ'.
11502         * common/environ.c: Include <utility>.
11503         (make_environ): Delete function.
11504         (free_environ): Delete function.
11505         (gdb_environ::clear): New function.
11506         (gdb_environ::operator=): New function.
11507         (gdb_environ::get): Likewise.
11508         (environ_vector): Delete function.
11509         (set_in_environ): Delete function.
11510         (gdb_environ::set): New function.
11511         (unset_in_environ): Delete function.
11512         (gdb_environ::unset): New function.
11513         (gdb_environ::envp): Likewise.
11514         * common/environ.h: Include <vector>.
11515         (struct gdb_environ): Delete; transform into...
11516         (class gdb_environ): ... this class.
11517         (free_environ): Delete prototype.
11518         (init_environ, get_in_environ, set_in_environ, unset_in_environ,
11519         environ_vector): Likewise.
11520         * infcmd.c (run_command_1): Update code to call
11521         'envp' from 'gdb_environ' class.
11522         (environment_info): Update code to call methods from 'gdb_environ'
11523         class.
11524         (unset_environment_command): Likewise.
11525         (path_info): Likewise.
11526         (path_command): Likewise.
11527         * inferior.c (inferior::~inferior): Delete call to 'free_environ'.
11528         (inferior::inferior): Initialize 'environment' using the host's
11529         information.
11530         * inferior.h: Remove forward declaration of 'struct gdb_environ'.
11531         Include "environ.h".
11532         (class inferior) <environment>: Change type from 'struct
11533         gdb_environ' to 'gdb_environ'.
11534         * mi/mi-cmd-env.c (mi_cmd_env_path): Update code to call
11535         methods from 'gdb_environ' class.
11536         * solib.c (solib_find_1): Likewise
11537         * unittests/environ-selftests.c: New file.
11538
11539 2017-06-20  Yao Qi  <yao.qi@linaro.org>
11540
11541         * features/i386/i386-linux.xml: Exchange the order of including
11542         32bit-linux.xml and 32bit-sse.xml.
11543         * features/i386/i386-linux.c: Regenerated.
11544
11545 2017-06-20  Yao Qi  <yao.qi@linaro.org>
11546
11547         * target-descriptions.c (tdesc_reg): Add ctor, dtor.
11548         Delete copy ctor and assignment operator.
11549         (tdesc_type): Likewise.
11550         (tdesc_feature): Likewise.
11551         (tdesc_free_reg): Remove.
11552         (tdesc_create_reg): Use new.
11553         (tdesc_free_type): Remove.
11554         (tdesc_create_vector): Use new.
11555         (tdesc_create_union): Likewise.
11556         (tdesc_create_flags): Likewise.
11557         (tdesc_create_enum): Likewise.
11558         (tdesc_free_feature): Delete.
11559         (free_target_description): Use delete.
11560
11561 2017-06-19  John Baldwin  <jhb@FreeBSD.org>
11562
11563         * mips-tdep.c (print_gp_register_row): Don't error for unavailable
11564         registers.
11565
11566 2017-06-19  Pedro Alves  <palves@redhat.com>
11567
11568         * dwarf2read.c (write_psymtabs_to_index): Construct file_closer
11569         after gdb::unlinker.
11570
11571 2017-06-19  Sergio Durigan Junior  <sergiodj@redhat.com>
11572
11573         * mi/mi-cm-env.c (_initialize_mi_cmd_env): Use getenv instead of
11574         gdb_environ to access an environment variable.
11575
11576 2017-06-18  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>
11577
11578         * nat/linux-ptrace.c (linux_fork_to_function): Add cast to
11579         gdb_byte*.
11580
11581 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11582
11583         * nat/fork-inferior.h (trace_start_error): Add ATTRIBUTE_PRINTF.
11584
11585 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11586
11587         * configure: Re-generate.
11588         * warning.m4 (build_warnings): Add -Wno-mismatched-tags.
11589
11590 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11591
11592         * configure: Re-generate.
11593         * warning.m4: Pass -Werror to compiler when checking for
11594         supported warning flags.
11595
11596 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11597
11598         * Makefile.in (COMPILE.pre): Add "-x c++".
11599
11600 2017-06-16  Alan Hayward  <alan.hayward@arm.com>
11601             Pedro Alves  <palves@redhat.com>
11602             Yao Qi  <yao.qi@linaro.org>
11603
11604         * defs.h (RequireLongest): New.
11605         (extract_integer): Declare function template.
11606         (extract_signed_integer): Remove the declaration, but define it
11607         static inline.
11608         (extract_unsigned_integer): Likewise.
11609         (store_integer): Declare function template.
11610         (store_signed_integer): Remove the declaration, but define it
11611         static inline.
11612         (store_unsigned_integer): Likewise.
11613         * findvar.c (extract_integer): New function template.
11614         (extract_signed_integer): Remove.
11615         (extract_unsigned_integer): Remove.
11616         (extract_integer<LONGEST>, extract_integer<ULONGEST>): Explicit
11617         instantiations.
11618         (store_integer): New function template.
11619         (store_signed_integer): Remove.
11620         (store_unsigned_integer): Remove.
11621         (store_integer): Explicit instantiations.
11622         * regcache.c (regcache_raw_read_signed): Update.
11623         (regcache::raw_read): New function.
11624         (regcache::raw_read_signed): Remove.
11625         (regcache::raw_read_unsigned): Remove.
11626         (regcache_raw_read_unsigned): Update.
11627         (regcache_raw_write_unsigned): Update.
11628         (regcache::raw_write_signed): Remove.
11629         (regcache::raw_write): New function.
11630         (regcache_cooked_read_signed): Update.
11631         (regcache::raw_write_unsigned): Remove.
11632         (regcache::cooked_read_signed): Remove.
11633         (regcache_cooked_read_unsigned): Update.
11634         (regcache::cooked_read_unsigned): Remove.
11635         (regcache_cooked_write_signed): Update.
11636         (regcache_cooked_write_unsigned): Update.
11637         * regcache.h (regcache) <raw_read_signed>: Remove.
11638         <raw_write_signed, raw_read_unsigned, raw_write_unsigned>: Remove.
11639         <raw_read, raw_write>: New.
11640         <cooked_read_signed, cooked_write_signed>: Remove.
11641         <cooked_write_unsigned, cooked_read_unsigned>: Remove.
11642         <cooked_read, cooked_write>: New.
11643         * sh64-tdep.c (sh64_pseudo_register_read): Update.
11644         (sh64_pseudo_register_write): Update.
11645
11646 2017-06-16  Anton Kolesov  <anton.kolesov@synopsys.com>
11647
11648         * arc-tdep.c (arc_disassembler_options): New variable.
11649         (arc_gdbarch_init): Set and use it. Use arc_delayed_print_insn instead
11650         of default_print_insn.
11651         (arc_delayed_print_insn): Set info->section when needed,
11652         use default_print_insn to retrieve a disassembler.
11653
11654 2017-06-14  Sergio Durigan Junior  <sergiodj@redhat.com>
11655
11656         PR gdb/21574
11657         * infcmd.c (_initialize_infcmd): Expand "help run" documentation
11658         to mention $SHELL and startup-with-shell.
11659
11660 2017-06-14  Max Filippov  <jcmvbkbc@gmail.com>
11661
11662         * MAINTAINERS: Move Maxim Grigoriev to the Past Maintainers.
11663
11664 2017-06-14  Yao Qi  <yao.qi@linaro.org>
11665
11666         * aarch64-tdep.c (aarch64_gdb_print_insn): Call
11667         default_print_insn instead of print_insn_aarch64.
11668         * arm-tdep.c (gdb_print_insn_arm): Call
11669         default_print_insn instead of print_insn_big_arm
11670         and print_insn_little_arm.
11671         * i386-tdep.c (i386_print_insn): Call default_print_insn
11672         instead of print_insn_i386.
11673         * ia64-tdep.c (ia64_print_insn): Call
11674         default_print_insn instead of print_insn_ia64.
11675         * mips-tdep.c (gdb_print_insn_mips): Call
11676         default_print_insn instead of print_insn_big_mips
11677         and print_insn_little_mips.
11678         * spu-tdep.c (gdb_print_insn_spu): Call default_print_insn
11679         instead of print_insn_spu.
11680
11681 2017-06-14  Pedro Alves  <palves@redhat.com>
11682
11683         * ada-lang.c: Include "common/byte-vector.h".
11684         (ada_value_primitive_packed_val): Use gdb::byte_vector.
11685         * charset.c (wchar_iterator::iterate): Resize the vector instead
11686         of reserving it.
11687         * common/byte-vector.h: Include "common/def-vector.h".
11688         (wchar_iterator::m_out): Now a gdb::def_vector<gdb_wchar_t>.
11689         * cli/cli-dump.c: Include "common/byte-vector.h".
11690         (dump_memory_to_file, restore_binary_file): Use gdb::byte_vector.
11691         * common/byte-vector.h: New file.
11692         * common/def-vector.h: New file.
11693         * common/default-init-alloc.h: New file.
11694         * dwarf2loc.c: Include "common/byte-vector.h".
11695         (rw_pieced_value): Use gdb::byte_vector, and resize the vector
11696         instead of reserving it.
11697         * dwarf2read.c: Include "common/byte-vector.h".
11698         (data_buf::m_vec): Now a gdb::byte_vector.
11699         * gdb_regex.c: Include "common/def-vector.h".
11700         (compiled_regex::compiled_regex): Use gdb::def_vector<char>.
11701         * mi/mi-main.c: Include "common/byte-vector.h".
11702         (mi_cmd_data_read_memory): Use gdb::byte_vector.
11703         * printcmd.c: Include "common/byte-vector.h".
11704         (print_scalar_formatted): Use gdb::byte_vector.
11705         * valprint.c: Include "common/byte-vector.h".
11706         (maybe_negate_by_bytes, print_decimal_chars): Use
11707         gdb::byte_vector.
11708
11709 2017-06-13  Simon Marchi  <simon.marchi@ericsson.com>
11710
11711         * darwin-nat.c: Include "nat/fork-inferior.h".
11712
11713 2017-06-13  Simon Marchi  <simon.marchi@ericsson.com>
11714
11715         * configure.nat: Factor out Darwin bits that are not
11716         architecture-specific.  Add fork-inferior.o.
11717
11718 2017-06-13  Simon Marchi  <simon.marchi@ericsson.com>
11719
11720         * configure.nat: Factor out AIX bits that are not
11721         architecture-specific.  Add fork-inferior.o.
11722
11723 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11724
11725         * dwarf2loc.c (rw_pieced_value): New.  Merge logic from...
11726         (read_pieced_value, write_pieced_value): ...here.  Reduce to
11727         wrappers that just call rw_pieced_value.
11728
11729 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11730
11731         * dwarf2loc.c (write_pieced_value): When writing the data for a
11732         memory piece, use write_memory_with_notification instead of
11733         write_memory.
11734
11735 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11736
11737         * valops.c (read_value_memory): Change embedded_offset to
11738         represent a bit offset instead of a byte offset.
11739         * value.h (read_value_memory): Adjust comment.
11740
11741 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11742
11743         * dwarf2loc.c (read_pieced_value): Remove unnecessary variables
11744         dest_offset_bits and source_offset_bits.
11745         (write_pieced_value): Likewise.
11746
11747 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11748
11749         * dwarf2loc.c (read_pieced_value): Respect the piece offset, as
11750         given by DW_OP_bit_piece.
11751         (write_pieced_value): Likewise.
11752
11753 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11754
11755         * dwarf2loc.c (read_pieced_value): Move the buffer allocation and
11756         some other preparations to the places where sufficient information
11757         is available.
11758         (write_pieced_value): Likewise.
11759
11760 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11761
11762         * dwarf2loc.c (bits_to_bytes): New function.
11763         (read_pieced_value): Fix offset calculations for register pieces
11764         on big-endian targets.
11765         (write_pieced_value): Likewise.
11766
11767 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11768
11769         * dwarf2loc.c (read_pieced_value): Remove buffer_size variable.
11770         (write_pieced_value): Likewise.
11771
11772 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11773
11774         * dwarf2loc.c (write_pieced_value): When writing to a bit-field,
11775         transfer the source value's least significant bits, instead of its
11776         lowest-addressed ones.  Rename type_len to max_offset.
11777         (read_pieced_value): Mirror above changes to write_pieced_value as
11778         applicable.
11779
11780 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11781
11782         * dwarf2loc.c (write_pieced_value): In DWARF_VALUE_MEMORY,
11783         truncate full bytes from dest_offset_bits before using it as an
11784         offset into the buffer.
11785
11786 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11787
11788         * dwarf2loc.c (write_pieced_value): Include transfer size in
11789         byte-wise check.
11790
11791 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11792
11793         * dwarf2loc.c (write_pieced_value): Fix copy/paste error in the
11794         calculation of this_size.
11795
11796 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11797
11798         * dwarf2loc.c (read_pieced_value): Respect parent value's offset
11799         when targeting a bit-field.
11800         (write_pieced_value): Likewise.
11801
11802 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11803
11804         * dwarf2loc.c (struct piece_closure) <addr_size>: Remove field.
11805         (allocate_piece_closure): Drop addr_size parameter.
11806         (dwarf2_evaluate_loc_desc_full): Adjust call to
11807         allocate_piece_closure.
11808
11809 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11810
11811         PR gdb/21226
11812         * dwarf2loc.c (read_pieced_value): Anchor stack value pieces at
11813         the LSB end, independent of endianness.
11814
11815 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11816
11817         * dwarf2loc.c (write_pieced_value): Fix order of calculations for
11818         size capping.
11819
11820 2017-06-13  Yao Qi  <yao.qi@linaro.org>
11821
11822         * mips-linux-nat.c: Move include features/mips*-linux.c to
11823         mips-linux-tdep.c.
11824         (_initialize_mips_linux_nat): Move initialize_tdesc_mips* calls
11825         to mips-linux-tdep.c.
11826         * mips-linux-tdep.c: Include features/mips*-linux.c
11827         (_initialize_mips_linux_tdep): Call initialize_tdesc_mips*
11828         functions.
11829         * mips-linux-tdep.h (tdesc_mips_linux): Declare.
11830         (tdesc_mips_dsp_linux, tdesc_mips64_linux): Declare.
11831         (tdesc_mips64_dsp_linux): Declare.
11832
11833 2017-06-12  Tom Tromey  <tom@tromey.com>
11834
11835         * valprint.h (val_print_type_code_int): Remove.
11836         * valprint.c (generic_val_print_int): Always call
11837         val_print_scalar_formatted.
11838         (val_print_type_code_int): Remove.
11839         * printcmd.c (print_scalar_formatted): Handle options->format==0.
11840         * f-valprint.c (f_val_print): Use val_print_scalar_formatted.
11841         * c-valprint.c (c_val_print_int): Use val_print_scalar_formatted.
11842         * ada-valprint.c (ada_val_print_num): Use
11843         val_print_scalar_formatted.
11844
11845 2017-06-12  Tom Tromey  <tom@tromey.com>
11846
11847         * printcmd.c (print_scalar_formatted): Unify the two switches.
11848         Don't convert scalars to LONGEST.
11849
11850 2017-06-12  Tom Tromey  <tom@tromey.com>
11851
11852         PR exp/16225:
11853         * valprint.h (print_decimal_chars): Update.
11854         * valprint.c (maybe_negate_by_bytes): New function.
11855         (print_decimal_chars): Add "is_signed" argument.
11856         * printcmd.c (print_scalar_formatted): Update.
11857
11858 2017-06-12  Tom Tromey  <tom@tromey.com>
11859
11860         PR exp/16225:
11861         * valprint.h (print_binary_chars, print_hex_chars): Update.
11862         * valprint.c (val_print_type_code_int): Update.
11863         (print_binary_chars): Add "zero_pad" argument.
11864         (emit_octal_digit): New function.
11865         (print_octal_chars): Don't zero-pad.
11866         (print_decimal_chars): Likewise.
11867         (print_hex_chars): Add "zero_pad" argument.
11868         * sh64-tdep.c (sh64_do_fp_register): Update.
11869         * regcache.c (regcache::dump): Update.
11870         * printcmd.c (print_scalar_formatted): Update.
11871         * infcmd.c (default_print_one_register_info): Update.
11872
11873 2017-06-12  Pedro Alves  <palves@redhat.com>
11874             Alan Hayward  <alan.hayward@arm.com>
11875
11876         * mips-tdep.c (MAX_MIPS_ABI_REGSIZE): New.
11877         (mips_eabi_push_dummy_call): Rename local 'regsize' to
11878         'abi_regsize'.  Rename local array 'valbuf' to 'ref_valbuf', and
11879         use MAX_MIPS_ABI_REGSIZE instead of MAX_REGISTER_SIZE to size it.
11880         Assert that abi_regsize bytes fit in 'ref_valbuf'.
11881
11882 2017-06-12  Pedro Alves  <palves@redhat.com>
11883
11884         * dwarf2read.c (mapped_symtab::data): Now a vector of
11885         symtab_index_entry instead of vector of
11886         std::unique_ptr<symtab_index_entry>.  All users adjusted to check
11887         whether an element's name is NULL instead of checking whether the
11888         element itself is NULL.
11889         (find_slot): Change return type.  Adjust.
11890         (hash_expand, , add_index_entry, uniquify_cu_indices)
11891         (write_hash_table): Adjust.
11892
11893 2017-06-12  Pedro Alves  <palves@redhat.com>
11894
11895         * dwarf2read.c (recursively_count_psymbols): New function.
11896         (write_psymtabs_to_index): Call it to compute number of psyms and
11897         pass estimate size of psyms_seen to unordered_set's ctor.
11898
11899 2017-06-12  Pedro Alves  <palves@redhat.com>
11900
11901         * dwarf2read.c (write_hash_table): Check if key already exists
11902         before emplacing.
11903
11904 2017-06-12  Pedro Alves  <palves@redhat.com>
11905
11906         * dwarf2read.c (data_buf::append_space): Rename to...
11907         (data_buf::grow): ... this, and make private.  Adjust all callers.
11908         (data_buf::append_uint): New method.
11909         (add_address_entry, write_one_signatured_type)
11910         (write_psymtabs_to_index): Use it.
11911
11912 2017-06-12  Pedro Alves  <palves@redhat.com>
11913
11914         * dwarf2read.c (file_write(FILE *, const void *, size_t)): Delete.
11915         (file_write (FILE *, const std::vector<Elem>&)): Delete.
11916         (data_buf::file_write): Call ::fwrite directly.
11917
11918 2017-06-12  Pedro Alves  <palves@redhat.com>
11919
11920         * dwarf2read.c (uniquify_cu_indices): Use std::unique and
11921         std::vector::erase.
11922
11923 2017-06-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
11924
11925         Code cleanup: C++ify .gdb_index producer.
11926         * dwarf2read.c: Include <unordered_set> and <unordered_map>.
11927         (MAYBE_SWAP) [WORDS_BIGENDIAN]: Cast to offset_type.
11928         (struct strtab_entry, hash_strtab_entry, eq_strtab_entry)
11929         (create_strtab, add_string): Remove.
11930         (file_write, data_buf): New.
11931         (struct symtab_index_entry): Use std::vector for cu_indices.
11932         (struct mapped_symtab): Use std::vector for data.
11933         (hash_symtab_entry, eq_symtab_entry, delete_symtab_entry)
11934         (create_symbol_hash_table, create_mapped_symtab, cleanup_mapped_symtab):
11935         Remove.
11936         (find_slot): Change return type.  Update it to the new data structures.
11937         (hash_expand, add_index_entry): Update it to the new data structures.
11938         (offset_type_compare): Remove.
11939         (uniquify_cu_indices): Update it to the new data structures.
11940         (c_str_view, c_str_view_hasher, vector_hasher): New.
11941         (add_indices_to_cpool): Remove.
11942         (write_hash_table): Update it to the new data structures.
11943         (struct psymtab_cu_index_map, hash_psymtab_cu_index)
11944         (eq_psymtab_cu_index): Remove.
11945         (psym_index_map): New typedef.
11946         (struct addrmap_index_data): Change addr_obstack pointer to data_buf
11947         reference and std::unordered_map for cu_index_htab.
11948         (add_address_entry, add_address_entry_worker, write_address_map)
11949         (write_psymbols): Update it to the new data structures.
11950         (write_obstack): Remove.
11951         (struct signatured_type_index_data): Change types_list to a data_buf
11952         reference and psyms_seen to a std::unordered_set reference.
11953         (write_one_signatured_type, recursively_write_psymbols)
11954         (write_psymtabs_to_index): Update it to the new data structures.
11955
11956 2017-06-11  Simon Marchi  <simon.marchi@ericsson.com>
11957
11958         * NEWS (Changes since GDB 8.0): Announce {set,show} debug
11959         separate-debug-file commands.
11960         * symfile.h (separate_debug_file_debug): New global.
11961         * symfile.c (separate_debug_file_debug): New global.
11962         (separate_debug_file_exists, find_separate_debug_file): Add
11963         debug output.
11964         (_initialize_symfile): Add "set debug separate-debug-file"
11965         command.
11966         * build-id.c (build_id_to_debug_bfd,
11967         find_separate_debug_file_by_buildid): Add debug output.
11968
11969 2017-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
11970
11971         * gdbarch.sh (displaced_step_free_closure): Remove.
11972         * gdbarch.h, gdbarch.c: Re-generate.
11973         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Don't set
11974         displaced_step_free_closure.
11975         * amd64-linux-tdep.c (amd64_linux_init_abi_common): Likewise.
11976         * arm-linux-tdep.c (arm_linux_init_abi): Likewise.
11977         * i386-linux-tdep.c (i386_linux_init_abi): Likewise.
11978         * rs6000-aix-tdep.c (rs6000_aix_init_osabi): Likewise.
11979         * rs6000-tdep.c (rs6000_gdbarch_init): Likewise.
11980         * s390-linux-tdep.c (s390_gdbarch_init): Likewise.
11981         * arch-utils.h (simple_displaced_step_free_closure): Remove.
11982         * arch-utils.c (simple_displaced_step_free_closure): Remove.
11983         * infrun.c (displaced_step_clear): Call xfree instead of
11984         gdbarch_displaced_step_free_closure.
11985
11986 2017-06-08  Sergio Durigan Junior  <sergiodj@redhat.com>
11987
11988         * common/common-utils.c (stringify_argv): Check for "arg[0] !=
11989         NULL".
11990
11991 2017-06-08 Alan Hayward  <alan.hayward@arm.com>
11992
11993         * mn10300-tdep.c (MN10300_MAX_REGISTER_SIZE): Add.
11994         (mn10300_extract_return_value): Use MN10300_MAX_REGISTER_SIZE.
11995         (mn10300_push_dummy_call): Likewise.
11996
11997 2017-06-08  Alan Hayward  <alan.hayward@arm.com>
11998
11999         * mi/mi-main.c (register_changed_p): Use value_contents_eq.
12000
12001 2017-06-08  Alan Hayward  <alan.hayward@arm.com>
12002
12003         * mi/mi-main.c (register_changed_p): Use cooked_read_value.
12004
12005 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
12006
12007         * NEWS (Changes since GDB 8.0): Announce that GDBserver is now
12008         able to start inferiors using a shell.
12009         (New remote packets): Announce new packet "QStartupWithShell".
12010         * remote.c: Add PACKET_QStartupWithShell.
12011         (extended_remote_create_inferior): Handle new
12012         PACKET_QStartupWithShell.
12013         (remote_protocol_features) <QStartupWithShell>: New entry for
12014         PACKET_QStartupWithShell.
12015         (_initialize_remote): Call "add_packet_config_cmd" for
12016         QStartupShell.
12017
12018 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
12019             Pedro Alves  <palves@redhat.com>
12020
12021         * Makefile.in (HFILES_NO_SRCDIR): Add "common/common-inferior.h"
12022         and "nat/fork-inferior.h".
12023         * common/common-inferior.h: New file, with contents from
12024         "gdb/inferior.h".
12025         * commom/common-utils.c: Include "common-utils.h".
12026         (stringify_argv): New function.
12027         * common/common-utils.h (stringify_argv): New prototype.
12028         * configure.nat: Add "fork-inferior.o" as a dependency for
12029         "*linux*", "fbsd*" and "nbsd*" hosts.
12030         * corefile.c (get_exec_file): Update comment.
12031         * darwin-nat.c (darwin_ptrace_him): Call "gdb_startup_inferior"
12032         instead of "startup_inferior".
12033         (darwin_create_inferior): Call "add_thread_silent" after
12034         "fork_inferior".
12035         * fork-child.c: Cleanup unnecessary includes.
12036         (SHELL_FILE): Move to "common/common-fork-child.c".
12037         (environ): Likewise.
12038         (exec_wrapper): Initialize.
12039         (get_exec_wrapper): New function.
12040         (breakup_args): Move to "common/common-fork-child.c"; rename to
12041         "breakup_args_for_exec".
12042         (escape_bang_in_quoted_argument): Move to
12043         "common/common-fork-child.c".
12044         (saved_ui): New variable.
12045         (prefork_hook): New function.
12046         (postfork_hook): Likewise.
12047         (postfork_child_hook): Likewise.
12048         (gdb_startup_inferior): Likewise.
12049         (fork_inferior): Move to "common/common-fork-child.c".  Update
12050         function to support gdbserver.
12051         (startup_inferior): Likewise.
12052         * gdbcore.h (get_exec_file): Remove declaration.
12053         * gnu-nat.c (gnu_create_inferior): Call "gdb_startup_inferior"
12054         instead of "startup_inferior".  Call "add_thread_silent" after
12055         "fork_inferior".
12056         * inf-ptrace.c: Include "nat/fork-inferior.h" and "utils.h".
12057         (inf_ptrace_create_inferior): Call "gdb_startup_inferior"
12058         instead of "startup_inferior".  Call "add_thread_silent" after
12059         "fork_inferior".
12060         * inferior.h: Include "common-inferior.h".
12061         (trace_start_error): Move to "common/common-utils.h".
12062         (trace_start_error_with_name): Likewise.
12063         (fork_inferior): Move prototype to "nat/fork-inferior.h".
12064         (startup_inferior): Likewise.
12065         (gdb_startup_inferior): New prototype.
12066         * nat/fork-inferior.c: New file, with contents from "fork-child.c".
12067         * nat/fork-inferior.h: New file.
12068         * procfs.c (procfs_init_inferior): Call "gdb_startup_inferior"
12069         instead of "startup_inferior".  Call "add_thread_silent" after
12070         "fork_inferior".
12071         * target.h (target_terminal_init): Move prototype to
12072         "target/target.h".
12073         (target_terminal_inferior): Likewise.
12074         (target_terminal_ours): Likewise.
12075         * target/target.h (target_terminal_init): New prototype, moved
12076         from "target.h".
12077         (target_terminal_inferior): Likewise.
12078         (target_terminal_ours): Likewise.
12079         * utils.c (gdb_flush_out_err): New function.
12080
12081 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
12082
12083         * Makefile.in (HFILES_NO_SRCDIR): Add "common/common-gdbthread.h".
12084         * common/common-gdbthread.h: New file, with parts from
12085         "gdb/gdbthread.h".
12086         * gdbthread.h: Include "common-gdbthread.h".
12087         (switch_to_thread): Moved to "common/common-gdbthread.h".
12088
12089 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
12090
12091         * Makefile.in (SFILES): Add "common/job-control.c".
12092         (HFILES_NO_SRCDIR): Add "common/job-control.h".
12093         (COMMON_OBS): Add "job-control.o".
12094         * common/job-control.c: New file, with contents from
12095         "gdb/inflow.c".
12096         * common/job-control.h: New file, with contents from "terminal.h".
12097         * fork-child.c: Include "job-control.h".
12098         * inflow.c: Include "job-control.h".
12099         (gdb_setpgid): Move to "common/common-inflow.c".
12100         (_initialize_inflow): Move setting of "job_control" to
12101         "handle_job_control".
12102         * terminal.h (job_control): Moved to "common/common-terminal.h".
12103         (gdb_setpgid): Likewise.
12104         * top.c: Include "job_control.h".
12105         * utils.c: Likewise.
12106         (job_control): Moved to "job-control.c".
12107
12108 2017-06-07  Pedro Alves  <palves@redhat.com>
12109
12110         * Makefile.in (SFILES): Add gdb_regex.c.
12111         (COMMON_OBS): Add gdb_regex.o.
12112         * ada-lang.c (ada_add_standard_exceptions)
12113         (ada_add_exceptions_from_frame, name_matches_regex)
12114         (ada_add_global_exceptions, ada_exceptions_list_1): Change regex
12115         parameter type to compiled_regex.  Adjust.
12116         (ada_exceptions_list): Use compiled_regex.
12117         * break-catch-throw.c (exception_catchpoint::pattern): Now a
12118         std::unique_ptr<compiled_regex>.
12119         (exception_catchpoint::~exception_catchpoint): Remove regfree
12120         call.
12121         (check_status_exception_catchpoint): Adjust to use compiled_regex.
12122         (handle_gnu_v3_exceptions): Adjust to use compiled_regex.
12123         * breakpoint.c (solib_catchpoint::compiled): Now a
12124         std::unique_ptr<compiled_regex>.
12125         (solib_catchpoint::~solib_catchpoint): Remove regfree call.
12126         (check_status_catch_solib): Adjust to use compiled_regex.
12127         (add_solib_catchpoint): Adjust to use compiled_regex.
12128         * cli/cli-cmds.c (apropos_command): Use compiled_regex.
12129         * cli/cli-decode.c (apropos_cmd): Change regex parameter to
12130         compiled_regex reference.  Adjust to use it.
12131         * cli/cli-decode.h: Remove struct re_pattern_buffer forward
12132         declaration.  Include "gdb_regex.h".
12133         (apropos_cmd): Change regex parameter to compiled_regex reference.
12134         * gdb_regex.c: New file.
12135         * gdb_regex.h (make_regfree_cleanup, get_regcomp_error): Delete
12136         declarations.
12137         (class compiled_regex): New.
12138         * linux-tdep.c: Include "common/gdb_optional.h".
12139         (struct mapping_regexes): New, factored out from
12140         mapping_is_anonymous_p, and adjusted to use compiled_regex.
12141         (mapping_is_anonymous_p): Use mapping_regexes wrapped in a
12142         gdb::optional and remove cleanups.  Adjust to compiled_regex.
12143         * probe.c: Include "common/gdb_optional.h".
12144         (collect_probes): Use compiled_regex and gdb::optional and remove
12145         cleanups.
12146         * skip.c: Include "common/gdb_optional.h".
12147         (skiplist_entry::compiled_function_regexp): Now a
12148         gdb::optional<compiled_regex>.
12149         (skiplist_entry::compiled_function_regexp_is_valid): Delete field.
12150         (free_skiplist_entry): Remove regfree call.
12151         (compile_skip_regexp, skip_rfunction_p): Adjust to use
12152         compiled_regex and gdb::optional.
12153         * symtab.c: Include "common/gdb_optional.h".
12154         (search_symbols): Use compiled_regex and gdb::optional.
12155         * utils.c (do_regfree_cleanup, make_regfree_cleanup)
12156         (get_regcomp_error, compile_rx_or_error): Delete.  Some bits moved
12157         to gdb_regex.c.
12158
12159 2017-06-07  Alan Hayward  <alan.hayward@arm.com>
12160
12161         * regcache.c (regcache::save): Avoid buffer use.
12162         (regcache::dump): Likewise.
12163
12164 2017-06-07  Alan Hayward  <alan.hayward@arm.com>
12165
12166         * sh-tdep.c (sh_pseudo_register_read): Remove
12167         MAX_REGISTER_SIZE.
12168         (sh_pseudo_register_write): Likewise.
12169         * sh64-tdep.c (sh64_pseudo_register_read): Likewise.
12170         (sh64_pseudo_register_write): Likewise
12171
12172 2017-06-07  Alan Hayward  <alan.hayward@arm.com>
12173
12174         * aarch64-tdep.c (aarch64_store_return_value): Use
12175         V_REGISTER_SIZE.
12176         (aarch64_pseudo_read_value): Likewise.
12177         (aarch64_pseudo_write): Likewise.
12178
12179 2017-06-06  Yao Qi  <yao.qi@linaro.org>
12180
12181         * regformats/regdef.h (set_register_cache): Remove the
12182         declaration.
12183
12184 2017-06-06 Alan Hayward  <alan.hayward@arm.com>
12185
12186         * frame.c (frame_unwind_register_signed): Use
12187         frame_unwind_register_value.
12188
12189 2017-06-06  Pedro Alves  <palves@redhat.com>
12190
12191         PR breakpoints/21553
12192         * breakpoint.c (create_breakpoints_sal_default)
12193         (init_breakpoint_sal, create_breakpoint_sal): Use
12194         gdb::unique_xmalloc_ptr for string parameters.
12195         (create_breakpoint): Constify 'extra_string' and 'cond_string'
12196         parameters.  Replace cleanups with gdb::unique_xmalloc_ptr.
12197         (base_breakpoint_create_breakpoints_sal)
12198         (bkpt_create_breakpoints_sal, tracepoint_create_breakpoints_sal)
12199         (strace_marker_create_breakpoints_sal)
12200         (create_breakpoints_sal_default): Use gdb::unique_xmalloc_ptr for
12201         string parameters.
12202         * breakpoint.h (breakpoint_ops::create_breakpoints_sal): Use
12203         gdb::unique_xmalloc_ptr for string parameters.
12204         (create_breakpoint): Constify 'extra_string' and 'cond_string'
12205         parameters.
12206
12207 2017-06-06  Alan Hayward  <alan.hayward@arm.com>
12208
12209         * alpha-tdep.c (alpha_register_to_value): Use
12210         get_frame_register_value.
12211         (alpha_value_to_register): Use ALPHA_REGISTER_SIZE.
12212
12213 2017-06-06  Alan Hayward  <alan.hayward@arm.com>
12214
12215         * ia64-tdep.c (IA64_MAX_FP_REGISTER_SIZE) Add.
12216         (ia64_register_to_value): Use IA64_MAX_FP_REGISTER_SIZE.
12217         (ia64_value_to_register): Likewise.
12218         (ia64_extract_return_value): Likewise.
12219         (ia64_store_return_value): Likewise.
12220         (ia64_push_dummy_call): Likewise.
12221
12222 2017-06-04  Joel Brobecker  <brobecker@adacore.com>
12223
12224         GDB 8.0 released.
12225
12226 2017-06-03  Simon Marchi  <simon.marchi@ericsson.com>
12227
12228         * x86-linux-nat.c (struct arch_lwp_info): Remove.
12229
12230 2017-06-03  Simon Marchi  <simon.marchi@polymtl.ca>
12231
12232         * linux-nat.c (linux_nat_post_attach_wait): Remove FIRST
12233         parameter.
12234         (linux_nat_attach): Adjust call to linux_nat_post_attach_wait.
12235
12236 2017-06-02  Simon Marchi  <simon.marchi@ericsson.com>
12237
12238         * event-loop.c (poll_timers): Unallocate timer using delete
12239         instead of xfree.
12240
12241 2017-06-02  Simon Marchi  <simon.marchi@polymtl.ca>
12242
12243         * breakpoint.h (struct breakpoint_ops) <dtor>: Remove.
12244         (struct breakpoint) <~breakpoint>: New.
12245         (struct watchpoint): Inherit from breakpoint.
12246         <~watchpoint>: New.
12247         <base>: Remove.
12248         (struct tracepoint): Inherit from breakpoint.
12249         <base>: Remove.
12250         * breakpoint.c (longjmp_breakpoint_ops): Remove.
12251         (struct longjmp_breakpoint): Inherit from breakpoint.
12252         <~longjmp_breakpoint>: New.
12253         <base>: Remove.
12254         (new_breakpoint_from_type): Remove casts.
12255         (watchpoint_in_thread_scope): Remove reference to base field.
12256         (watchpoint_del_at_next_stop): Likewise.
12257         (update_watchpoint): Likewise.
12258         (watchpoint_check): Likewise.
12259         (bpstat_check_watchpoint): Likewise.
12260         (set_longjmp_breakpoint): Likewise.
12261         (struct fork_catchpoint): Inherit from breakpoint.
12262         <base>: Remove.
12263         (struct solib_catchpoint): Inherit from breakpoint.
12264         <~solib_catchpoint>: New.
12265         <base>: Remove.
12266         (dtor_catch_solib): Change to ...
12267         (solib_catchpoint::~solib_catchpoint): ... this.
12268         (breakpoint_hit_catch_solib): Remove reference to base field.
12269         (add_solib_catchpoint): Likewise.
12270         (create_fork_vfork_event_catchpoint): Likewise.
12271         (struct exec_catchpoint): Inherit from breakpoint.
12272         <~exec_catchpoint>: New.
12273         <base>: Remove.
12274         (dtor_catch_exec): Change to ...
12275         (exec_catchpoint::~exec_catchpoint): ... this.
12276         (dtor_watchpoint): Change to ...
12277         (watchpoint::~watchpoint): ... this.
12278         (watch_command_1): Remove reference to base field.
12279         (catch_exec_command_1): Likewise.
12280         (base_breakpoint_dtor): Change to ...
12281         (breakpoint::~breakpoint): ... this.
12282         (base_breakpoint_ops): Remove dtor field value.
12283         (longjmp_bkpt_dtor): Change to ...
12284         (longjmp_breakpoint::~longjmp_breakpoint): ... this.
12285         (strace_marker_create_breakpoints_sal): Remove reference to base
12286         field.
12287         (delete_breakpoint): Don't manually call breakpoint destructor.
12288         (create_tracepoint_from_upload): Remove reference to base field.
12289         (trace_pass_set_count): Likewise.
12290         (initialize_breakpoint_ops): Don't initialize
12291         momentary_breakpoint_ops, don't set dtors.
12292         * ada-lang.c (struct ada_catchpoint): Inherit from breakpoint.
12293         <~ada_catchpoint>: New.
12294         <base>: Remove.
12295         (create_excep_cond_exprs): Remove reference to base field.
12296         (dtor_exception): Change to ...
12297         (ada_catchpoint::~ada_catchpoint): ... this.
12298         (dtor_catch_exception): Remove.
12299         (dtor_catch_exception_unhandled): Remove.
12300         (dtor_catch_assert): Remove.
12301         (create_ada_exception_catchpoint): Remove reference to base
12302         field.
12303         (initialize_ada_catchpoint_ops): Don't set dtors.
12304         * break-catch-sig.c (struct signal_catchpoint): Inherit from
12305         breakpoint.
12306         <~signal_catchpoint>: New.
12307         <base>: Remove.
12308         (signal_catchpoint_dtor): Change to ...
12309         (signal_catchpoint::~signal_catchpoint): ... this.
12310         (create_signal_catchpoint): Remove reference to base field.
12311         (initialize_signal_catchpoint_ops): Don't set dtor.
12312         * break-catch-syscall.c (struct syscall_catchpoint): Inherit
12313         from breakpoint.
12314         <~syscall_catchpoint>: New.
12315         <base>: Remove.
12316         (dtor_catch_syscall): Change to ...
12317         (syscall_catchpoint::~syscall_catchpoint): ... this.
12318         (create_syscall_event_catchpoint): Remove reference to base
12319         field.
12320         (initialize_syscall_catchpoint_ops): Don't set dtor.
12321         * break-catch-throw.c (struct exception_catchpoint): Inherit
12322         from breakpoint.
12323         <~exception_catchpoint>: New.
12324         <base>: Remove.
12325         (dtor_exception_catchpoint): Change to ...
12326         (exception_catchpoint::~exception_catchpoint): ... this.
12327         (handle_gnu_v3_exceptions): Remove reference to base field.
12328         (initialize_throw_catchpoint_ops): Don't set dtor.
12329         * ctf.c (ctf_get_traceframe_address): Remove reference to base
12330         field.
12331         * remote.c (remote_get_tracepoint_status): Likewise.
12332         * tracefile-tfile.c (tfile_get_traceframe_address): Likewise.
12333         * tracefile.c (tracefile_fetch_registers): Likewise.
12334         * tracepoint.c (actions_command): Likewise.
12335         (validate_actionline): Likewise.
12336         (tfind_1): Likewise.
12337         (get_traceframe_location): Likewise.
12338         (find_matching_tracepoint_location): Likewise.
12339         (parse_tracepoint_status): Likewise.
12340         * mi/mi-cmd-break.c (mi_cmd_break_passcount): Likewise.
12341
12342 2017-06-02  Simon Marchi  <simon.marchi@polymtl.ca>
12343
12344         * breakpoint.c (struct longjmp_breakpoint): New struct.
12345         (is_tracepoint_type): Change return type to bool.
12346         (is_longjmp_type): New function.
12347         (new_breakpoint_from_type): Handle longjmp kinds of breakpoints.
12348         (set_raw_breakpoint_without_location): Use
12349         new_breakpoint_from_type.
12350         (set_raw_breakpoint): Likewise.
12351
12352 2017-06-02  Simon Marchi  <simon.marchi@polymtl.ca>
12353
12354         * breakpoint.c (new_breakpoint_from_type): New function.
12355         (create_breakpoint_sal): Use new_breakpoint_from_type and
12356         unique_ptr.
12357         (create_breakpoint): Likewise.
12358
12359 2017-05-31  Simon Marchi  <simon.marchi@ericsson.com>
12360
12361         * memattr.c (mem_info_command): Rename to ...
12362         (info_mem_command): ... this.
12363         (mem_enable_command): Rename to ...
12364         (enable_mem_command): ... this.
12365         (mem_disable_command): Rename to ...
12366         (disable_mem_command): ... this.
12367         (mem_delete_command): Rename to ...
12368         (delete_mem_command): ... this.
12369         (_initialize_mem): Adjust function names.
12370
12371 2017-05-31  Markus Metzger  <markus.t.metzger@intel.com>
12372
12373         * btrace.c (handle_pt_insn_events): New.
12374         (ftrace_add_pt): Call handle_pt_insn_events.  Rename ERRCODE into
12375         STATUS.  Split into this and ...
12376         (handle_pt_insn_event_flags): ... this.
12377
12378 2017-05-31  Markus Metzger  <markus.t.metzger@intel.com>
12379
12380         * configure.ac: Check for pt_insn_event, struct pt_insn.enabled,
12381         and struct pt_insn.resynced.
12382         * configure: Regenerated.
12383         * config.in: Regenerated.
12384
12385 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12386
12387         * btrace.c (ftrace_find_call_by_number): New function.
12388         (ftrace_new_function): Store objects, not pointers.
12389         (ftrace_find_call_by_number, ftrace_new_return, ftrace_new_switch,
12390         ftrace_new_gap, ftrace_update_function,
12391         ftrace_compute_global_level_offset, btrace_stich_bts, btrace_clear,
12392         btrace_insn_get, btrace_insn_get_error, btrace_insn_end,
12393         btrace_insn_next, btrace_insn_prev, ptrace_find_insn_by_number,
12394         btrace_ends_with_single_insn, btrace_call_get): Account for
12395         btrace_thread_info::functions now storing objects.
12396         * btrace.h (struct btrace_thread_info): Add constructor.
12397         (struct btrace_thread_info) <functions>: Make std::vector.
12398         (struct btrace_thread_info) <prev, next, up, insn, errcode, flags):
12399         Initialize with default values.
12400         * record-btrace.c (record_btrace_frame_sniffer): Account for
12401         btrace_thread_info::functions now storing objects.
12402
12403 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12404
12405         * btrace.c: Remove typedef bfun_s.
12406         (ftrace_new_gap): Directly add gaps to the list of gaps.
12407         (btrace_bridge_gaps, btrace_compute_ftrace_bts, pt_btrace_insn_flags,
12408         ftrace_add_pt, btrace_compute_ftrace_pt, btrace_compute_ftrace_1,
12409         btrace_finalize_ftrace, btrace_compute_ftrace): Use std::vector
12410         instead of gdb VEC.
12411
12412 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12413
12414         * btrace.c (ftrace_fixup_caller, ftrace_new_return, ftrace_connect_bfun,
12415         ftrace_bridge_gap): Replace references to btrace_thread_info::segment
12416         with btrace_thread_info::next_segment and
12417         btrace_thread_info::prev_segment.
12418         * btrace.h: Remove struct btrace_func_link.
12419         (struct btrace_function): Replace pair of function segment pointers
12420         with pair of indices.
12421         * python/py-record-btrace.c (btpy_call_prev_sibling,
12422         btpy_call_next_sibling): Replace references to
12423         btrace_thread_info::segment with btrace_thread_info::next_segment and
12424         btrace_thread_info::prev_segment.
12425         * record-btrace.c (record_btrace_frame_this_id): Use
12426         btrace_find_call_by_number.
12427
12428 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12429
12430         * btrace.c (ftrace_new_function, ftrace_fixup_level,
12431         ftrace_connect_bfun, ftrace_bridge_gap, btrace_bridge_gaps,
12432         btrace_insn_next, btrace_insn_prev): Remove references to
12433         btrace_thread_info::flow.
12434         * btrace.h (struct btrace_function): Remove FLOW.
12435
12436 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12437
12438         * btrace.c (ftrace_find_call_by_number): New function.
12439         (ftrace_update_caller, ftrace_new_call, ftrace_new_tailcall,
12440         ftrace_get_caller, ftrace_find_call, ftrace_new_return,
12441         ftrace_match_backtrace, ftrace_connect_bfun, ftrace_connect_backtrace,
12442         ftrace_bridge_gap, btrace_bridge_gaps): Use btrace_function::up as an
12443         index.
12444         * btrace.h (struct btrace_function): Turn UP into an index.
12445         * python/py-record-btrace.c (btpy_call_up): Use btrace_function::up
12446         as an index.
12447         * record-btrace.c (record_btrace_frame_unwind_stop_reason,
12448         record_btrace_frame_prev_register, record_btrace_frame_sniffer,
12449         record_btrace_tailcall_frame_sniffe): Use btrace_find_call_by_number.
12450
12451 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12452
12453         * btrace.c (ftrace_new_function, ftrace_new_call, ftrace_new_tailcall,
12454         ftrace_new_return, ftrace_new_switch, ftrace_new_gap,
12455         ftrace_update_function, ftrace_compute_global_level_offset,
12456         btrace_compute_ftrace_bts, ftrace_add_pt, btrace_compute_ftrace_pt,
12457         btrace_stitch_bts, btrace_fetch, btrace_clear, btrace_insn_number,
12458         btrace_insn_end, btrace_is_empty): Remove references to
12459         btrace_thread_info::begin and btrace_thread_info::end.
12460         * btrace.h (struct btrace_thread_info): Remove BEGIN and END.
12461         (struct btrace_thread_info) <functions>: Adjust comment.
12462         * record-btrace.c (record_btrace_start_replaying): Remove reference to
12463         btrace_thread_info::begin.
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): Remove arguments that implicitly were always
12470         BTINFO->END.
12471         (btrace_compute_ftrace_bts, ftrace_add_pt, btrace_compute_ftrace_pt):
12472         Don't pass BTINFO->END.
12473
12474 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12475
12476         * btrace.c: (btrace_insn_get, btrace_insn_get_error, btrace_insn_number,
12477         btrace_insn_begin, btrace_insn_end, btrace_insn_next, btrace_insn_prev,
12478         btrace_find_insn_by_number): Replace function segment pointer with
12479         index.
12480         (btrace_insn_cmp): Simplify.
12481         * btrace.h: (struct btrace_insn_iterator) Rename index to
12482         insn_index.  Replace function segment pointer with index into function
12483         segment vector.
12484         * record-btrace.c (record_btrace_call_history): Replace function
12485         segment pointer use with index.
12486         (record_btrace_frame_sniffer): Retrieve function call segment through
12487         vector.
12488         (record_btrace_set_replay): Remove defunc't safety check.
12489
12490 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12491
12492         * btrace.c (btrace_ends_with_single_insn): New function.
12493         (btrace_call_get, btrace_call_number, btrace_call_begin,
12494         btrace_call_end, btrace_call_next, btrace_call_prev,
12495         btrace_find_call_by_number): Use index into call segment vector
12496         instead of pointer.
12497         (btrace_call_cmp): Simplify.
12498         * btrace.h (struct btrace_call_iterator): Replace function call segment
12499         pointer with index into vector.
12500         * record-btrace.c (record_btrace_call_history): Use index instead of
12501         pointer.
12502
12503 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12504
12505         * btrace.c (btrace_insn_begin, btrace_insn_end,
12506         btrace_find_insn_by_number): Add btinfo to iterator.
12507         * btrace.h (struct btrace_insn_iterator): Add btinfo.
12508
12509 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12510
12511         * btrace.c (ftrace_new_function): Add btrace_thread_info to arguments
12512         and save pointers directly.
12513         (ftrace_new_call, ftrace_new_tailcall, ftrace_new_return,
12514         ftrace_new_switch, ftrace_new_gap, ftrace_update_function,
12515         ftrace_add_pt): Add btrace_thread_info to arguments.  Adjust for
12516         changed signature of functions.
12517         (btrace_compute_ftrace_pt): Adjust for changed signature of functions.
12518         (btrace_fetch): Remove code that adds btrace_function pointers to
12519         vector of btrace_functions.
12520         (btrace_clear): Simplify freeing vector of btrace_functions.
12521
12522 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12523
12524         * btrace.c (btrace_fetch, btrace_clear, btrace_find_insn_by_number):
12525         Replace VEC_* with std::vector functions.
12526         * btrace.h: Add include: vector. Remove typedef for DEF_VEC_P.
12527         (struct btrace_thread_info)<functions>: Change type to std::vector.
12528
12529 2017-05-30  Simon Marchi  <simon.marchi@ericsson.com>
12530
12531         * NEWS (Changes in GDB 8.0): Remove extra empty line.  Move
12532         "Removed targets and native configurations" up.  Merge duplicate
12533         "New commands" sub-sections.  Add "New options" sub-sections.
12534
12535 2017-05-26  Alan Hayward  <alan.hayward@arm.com>
12536
12537         * defs.h (copy_integer_to_size): New declaration.
12538         * findvar.c (copy_integer_to_size): New function.
12539         (do_cint_test): New selftest function.
12540         (copy_integer_to_size_test): Likewise.
12541         (_initialize_findvar): Likewise.
12542         * mips-fbsd-tdep.c (mips_fbsd_supply_reg): Use raw_supply_integer.
12543         (mips_fbsd_collect_reg): Use raw_collect_integer.
12544         * mips-linux-tdep.c (supply_32bit_reg): Use raw_supply_integer.
12545         (mips64_fill_gregset): Use raw_collect_integer
12546         (mips64_fill_fpregset): Use raw_supply_integer.
12547         * regcache.c (regcache::raw_supply_integer): New function.
12548         (regcache::raw_collect_integer): Likewise.
12549         * regcache.h: (regcache::raw_supply_integer): New declaration.
12550         (regcache::raw_collect_integer): Likewise.
12551
12552 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12553
12554         * Makefile.in (SFILES): Add gdbarch-selftests.c.
12555         (COMMON_OBS): Add gdbarch-selftests.o.
12556         * frame.c [GDB_SELF_TESTS] (create_new_frame): New function.
12557         * frame.h [GDB_SELF_TESTS] (create_new_frame): Declare.
12558         * gdbarch-selftests.c: New file.
12559         * regcache.h (regcache) <~regcache>: Mark it virtual if
12560         GDB_SELF_TEST.
12561         <raw_write>: Likewise.
12562
12563 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12564
12565         * regcache.c (current_regcache): Change it to
12566         regcache::current_regcache.
12567         (regcache_observer_target_changed): Update.
12568         (regcache_thread_ptid_changed): Make it a regcache static
12569         method.
12570         (regcache_thread_ptid_changed): Update.
12571         (class regcache_access): New.
12572         (current_regcache_test): Update.
12573         (_initialize_regcache): Update.
12574         * regcache.h: Include forward_list.
12575         (regcache): Declare regcache_thread_ptid_changed and declare
12576         registers_changed_ptid as friend.
12577
12578 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12579
12580         * i387-tdep.c (i387_register_to_value): Use register_size
12581         instead of TYPE_LENGTH.
12582         * m68k-tdep.c (m68k_register_to_value): Likewise.
12583
12584 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12585
12586         * i387-tdep.c (i387_convert_register_p): Return false if type
12587         code isn't TYPE_CODE_FLT.
12588
12589 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12590
12591         * alpha-tdep.c (alpha_convert_register_p): Return true if type
12592         length is 4.
12593         (alpha_register_to_value): Remove type length check.
12594         (alpha_value_to_register): Likewise.
12595
12596 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12597
12598         * ia64-tdep.c (ia64_convert_register_p): Check type's code is
12599         TYPE_CODE_FLT.
12600
12601 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12602
12603         * m68k-tdep.c (m68k_convert_register_p): Check type's code is
12604         TYPE_CODE_FLT or not.
12605
12606 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12607
12608         * alpha-tdep.c (alpha_gdbarch_init): Use XCNEW instead of XNEW.
12609         * avr-tdep.c (avr_gdbarch_init): Likewise.
12610         * bfin-tdep.c (bfin_gdbarch_init): Likewise.
12611         * cris-tdep.c (cris_gdbarch_init): Likewise.
12612         * ft32-tdep.c (ft32_gdbarch_init): Likewise.
12613         * lm32-tdep.c (lm32_gdbarch_init): Likewise.
12614         * m32r-tdep.c (m32r_gdbarch_init): Likewise.
12615         * m68hc11-tdep.c (m68hc11_gdbarch_init): Likewise.
12616         * mep-tdep.c (mep_gdbarch_init): Likewise.
12617         * microblaze-tdep.c (microblaze_gdbarch_init): Likewise.
12618         * mips-tdep.c (mips_gdbarch_init): Likewise.
12619         * mn10300-tdep.c (mn10300_gdbarch_init): Likewise.
12620         * moxie-tdep.c (moxie_gdbarch_init): Likewise.
12621         * msp430-tdep.c (msp430_gdbarch_init): Likewise.
12622         * sh64-tdep.c (sh64_gdbarch_init): Likewise.
12623         * v850-tdep.c (v850_gdbarch_init): Likewise.
12624
12625 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12626
12627         * selftest-arch.c (tests_with_arch): Call registers_changed
12628         and reinit_frame_cache.
12629         * selftest.c (run_self_tests): Likewise.
12630
12631 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12632
12633         * rs6000-tdep.c (gdb_print_insn_powerpc): Remove.
12634         (rs6000_gdbarch_init): Don't call set_gdbarch_print_insn.
12635
12636 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12637
12638         * rl78-tdep.c (rl78_gdbarch_init): Don't call
12639         set_gdbarch_print_insn.
12640
12641 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12642
12643         * h8300-tdep.c (h8300_gdbarch_init): Don't call
12644         set_gdbarch_print_insn.
12645
12646 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12647
12648         * alpha-tdep.c (alpha_gdbarch_init): Don't call
12649         set_gdbarch_print_insn.
12650         * arc-tdep.c (arc_gdbarch_init): Likewise.
12651         * arch-utils.c: include dis-asm.h.
12652         (default_print_insn): New function.
12653         * arch-utils.h (default_print_insn): Declare.
12654         * avr-tdep.c (avr_gdbarch_init): Don't call set_gdbarch_print_insn.
12655         * bfin-tdep.c (bfin_gdbarch_init): Likewise.
12656         * cris-tdep.c (cris_delayed_get_disassembler): Remove.
12657         (cris_gdbarch_init): Don't call set_gdbarch_print_insn.
12658         * frv-tdep.c (frv_gdbarch_init): Likewise.
12659         * ft32-tdep.c (ft32_gdbarch_init): Likewise.
12660         * gdbarch.sh (print_insn): Use default_print_insn.
12661         * gdbarch.c: Regenerated.
12662         * hppa-tdep.c (hppa_gdbarch_init): Likewise.
12663         * iq2000-tdep.c (iq2000_gdbarch_init): Likewise.
12664         * lm32-tdep.c (lm32_gdbarch_init): Likewise.
12665         * m32c-tdep.c (m32c_gdbarch_init): Likewise.
12666         * m32r-tdep.c (m32r_gdbarch_init): Likewise.
12667         * m68hc11-tdep.c (gdb_print_insn_m68hc11): Remove.
12668         (m68hc11_gdbarch_init): Don't call set_gdbarch_print_insn.
12669         * m68k-tdep.c (m68k_gdbarch_init): Likewise.
12670         * m88k-tdep.c (m88k_gdbarch_init): Likewise.
12671         * microblaze-tdep.c (microblaze_gdbarch_init): Likewise.
12672         * mn10300-tdep.c (mn10300_gdbarch_init): Likewise.
12673         * moxie-tdep.c (moxie_gdbarch_init): Likewise.
12674         * msp430-tdep.c (msp430_gdbarch_init): Likewise.
12675         * mt-tdep.c (mt_gdbarch_init): Likewise.
12676         * nds32-tdep.c (nds32_gdbarch_init): Likewise.
12677         * nios2-tdep.c (nios2_print_insn): Remove.
12678         (nios2_gdbarch_init): Don't call set_gdbarch_print_insn.
12679         * rx-tdep.c (rx_gdbarch_init): Likewise.
12680         * s390-linux-tdep.c (s390_gdbarch_init): Likewise.
12681         * score-tdep.c (score_print_insn): Remove.
12682         (score_gdbarch_init): Don't call set_gdbarch_print_insn.
12683         * sh-tdep.c (sh_gdbarch_init): Likewise.
12684         * sh64-tdep.c (sh64_gdbarch_init): Likewise.
12685         * sparc-tdep.c (sparc32_gdbarch_init): Likewise.
12686         * tic6x-tdep.c (tic6x_print_insn): Remove.
12687         (tic6x_gdbarch_init): Don't call set_gdbarch_print_insn.
12688         * tilegx-tdep.c (tilegx_gdbarch_init): Likewise.
12689         * v850-tdep.c (v850_gdbarch_init): Likewise.
12690         * vax-tdep.c (vax_gdbarch_init): Likewise.
12691         * xstormy16-tdep.c (xstormy16_gdbarch_init): Likewise.
12692         * xtensa-tdep.c (xtensa_gdbarch_init): Likewise.
12693
12694 2017-05-23  John Baldwin  <jhb@FreeBSD.org>
12695
12696         * mips-fbsd-tdep.c (MIPS_PC_REGNUM): Remove.
12697         (MIPS_FP0_REGNUM): Remove.
12698         (MIPS_FSR_REGNUM): Remove.
12699         (mips_fbsd_supply_fpregs): Use mips_regnum.
12700         (mips_fbsd_supply_gregs): Likewise.
12701         (mips_fbsd_collect_fpregs): Likewise.
12702         (mips_fbsd_collect_gregs): Likewise.
12703
12704 2017-05-23  John Baldwin  <jhb@FreeBSD.org>
12705
12706         * mips-fbsd-nat.c (getregs_supplies): Fix upper bound comparison.
12707         (getpfpregs_supplies): New function.
12708         (mips_fbsd_fetch_inferior_registers): Remove early exit and use
12709         getfpregs_supplies.
12710         (mips_fbsd_store_inferior_registers): Likewise.
12711
12712 2017-05-22  Pedro Alves <palves@redhat.com>
12713
12714         * MAINTAINERS (Host/Native): Add John Baldwin as FreeBSD
12715         maintainer.
12716
12717 2017-05-22  Alan Hayward  <alan.hayward@arm.com>
12718
12719         * ppc-linux-nat.c (fetch_register): Use PPC_MAX_REGISTER_SIZE.
12720         (store_register): Likewise.
12721         * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Likewise.
12722         (get_decimal_float_return_value): Likewise.
12723         (do_ppc_sysv_return_value): Likewise.
12724         (ppc64_sysv_abi_push_integer): Likewise.
12725         (ppc64_sysv_abi_push_freg): Likewise.
12726         (ppc64_sysv_abi_return_value_base): Likewise.
12727         (ppc64_sysv_abi_return_value): Likewise.
12728         * rs6000-aix-tdep.c (rs6000_push_dummy_call): Likewise.
12729         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Likewise.
12730         * rs6000-nat.c: Likewise.
12731         * rs6000-tdep.c (rs6000_register_to_value): Likewise.
12732         (rs6000_value_to_register): Likewise.
12733         * ppc-tdep.h (PPC_MAX_REGISTER_SIZE): Add.
12734
12735 2017-05-21  Tom Tromey  <tom@tromey.com>
12736
12737         PR rust/21466:
12738         * rust-lang.c (rust_print_type) <TYPE_CODE_ARRAY>: Print unsized
12739         arrays as "[T]", not "[T; ]".
12740
12741 2017-05-19  Tom Tromey  <tom@tromey.com>
12742
12743         PR rust/21484:
12744         * rust-lang.c (exp_descriptor_rust): New function.
12745         (rust_language_defn): Use it.
12746         * p-lang.c (pascal_language_defn): Update.
12747         * opencl-lang.c (opencl_language_defn): Update.
12748         * objc-lang.c (objc_language_defn): Update.
12749         * m2-lang.c (m2_language_defn): Update.
12750         * language.h (struct language_defn)
12751         <la_watch_location_expression>: New member.
12752         * language.c (unknown_language_defn, auto_language_defn)
12753         (local_language_defn): Update.
12754         * go-lang.c (go_language_defn): Update.
12755         * f-lang.c (f_language_defn): Update.
12756         * d-lang.c (d_language_defn): Update.
12757         * c-lang.h (c_watch_location_expression): Declare.
12758         * c-lang.c (c_watch_location_expression): New function.
12759         (c_language_defn, cplus_language_defn, asm_language_defn)
12760         (minimal_language_defn): Use it.
12761         * breakpoint.c (watch_command_1): Call
12762         la_watch_location_expression.
12763         * ada-lang.c (ada_language_defn): Update.
12764
12765 2017-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12766
12767         PR tui/21482
12768         * gdb_curses.h (NOMACROS): Define.
12769         (NCURSES_NOMACROS): Define.
12770
12771 2017-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12772
12773         PR tui/21482
12774         * tui/tui-windata.c (tui_erase_data_content): Cast last mvwaddstr
12775         arg to char *.
12776         * tui/tui-wingeneral.c (box_win): Likewise.
12777         * tui/tui-winsource.c (tui_erase_source_content): Likewise.
12778         (tui_show_source_line): Likewise.
12779         (tui_show_exec_info_content): Likewise.
12780
12781 2017-05-19  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>
12782
12783         * sparc-tdep.c (sparc_structure_return_p)
12784         (sparc_arg_on_registers_p): New functions.
12785         (sparc32_store_arguments): Use them.
12786         * sparc64-tdep.c (sparc64_16_byte_align_p)
12787         (sparc64_store_floating_fields, sparc64_extract_floating_fields):
12788         Handle TYPE_CODE_ARRAY.
12789
12790 2017-05-17  Yao Qi  <yao.qi@linaro.org>
12791
12792         * cli/cli-decode.c (add_alias_cmd): New function.
12793         * command.h (add_alias_cmd): Declare.
12794         * infcmd.c (_initialize_infcmd): Don't call add_com_alias,
12795         instead call add_alias_cmd.
12796
12797 2017-05-17  Pedro Alves  <palves@redhat.com>
12798
12799         * Makefile.in (nat_extra_makefile_frag): Rename to ...
12800         (nat_makefile_frag): ... this.  All references updated.
12801         * configure.ac: Likewise.
12802         * configure.nat: Likewise.  Enhance comments.
12803         * configure: Regenerate.
12804
12805 2017-05-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12806
12807         * procfs.c (procfs_create_inferior): Change prototype to match
12808         definition.
12809
12810 2017-05-13  Eli Zaretskii  <eliz@gnu.org>
12811
12812         * tui/tui.c (tui_enable): Cast "unknown" to 'char *' to avoid a
12813         C++ compiler warning.
12814
12815 2017-05-12  Tom Tromey  <tom@tromey.com>
12816
12817         PR rust/21483:
12818         * rust-lang.c (rust_evaluate_subexp) <STRUCTOP_STRUCT>: Don't
12819         recurse, just call value_struct_elt directly.
12820
12821 2017-05-12  Tom Tromey  <tom@tromey.com>
12822
12823         * rust-lang.c (rust_dump_subexp_body) <STRUCTOP_ANONYMOUS,
12824         OP_RUST_ARRAY>: Fix.
12825
12826 2017-05-12  Tom Tromey  <tom@tromey.com>
12827
12828         * rust-lang.c (rust_print_subexp): Replace "return" with "break".
12829
12830 2017-05-09  Yao Qi  <yao.qi@linaro.org>
12831
12832         * regcache.c: Include <forward_list>.
12833         (struct regcache_list): Remove.
12834         (current_regcache): Update.
12835         (get_thread_arch_aspace_regcache): Update for std::forward_list.
12836         (regcache_thread_ptid_changed): Likewise.
12837         (registers_changed_ptid): Likewise.
12838         (current_regcache_size): Likewise.
12839
12840 2017-05-09  Yao Qi  <yao.qi@linaro.org>
12841
12842         * regcache.c [GDB_SELF_TEST]: Include selftest.h.
12843         (current_regcache_size): New function.
12844         (current_regcache_test): New function.
12845         (_initialize_regcache) [GDB_SELF_TEST]: Register the unit test.
12846
12847 2017-05-08  Alan Hayward  <alan.hayward@arm.com>
12848
12849         * mips-tdep.c (mips_o32_return_value): Remove unused buffer.
12850         (print_gp_register_row): Use get_frame_register_value.
12851
12852 2017-05-08  Alan Hayward  <alan.hayward@arm.com>
12853
12854         * mips-linux-tdep.c (mips_supply_gregset): Use raw_supply_zeroed.
12855         (mips_supply_fpregset): Likewise.
12856         (mips64_supply_gregset): Likewise.
12857
12858 2017-05-08  Alan Hayward  <alan.hayward@arm.com>
12859
12860         * mn10300-linux-tdep.c (am33_supply_gregset_method): Use 
12861         regcache->raw_supply_zeroed.
12862
12863 2017-05-06  Sergio Durigan Junior  <sergiodj@redhat.com>
12864
12865         * configure.nat: Rearrange 'case' statements to match
12866         host before cpu.
12867
12868 2017-05-06  Sergio Durigan Junior  <sergiodj@redhat.com>
12869
12870         * Makefile.in: Remove "@host_makefile_frag@".  Add variables
12871         NAT_FILE, NATDEPFILES, NAT_CDEPS, LOADLIBES, MH_CFLAGS, XM_CLIBS,
12872         NAT_GENERATED_FILES, HAVE_NATIVE_GCORE_HOST.  Add
12873         "@nat_extra_makefile_frag@".
12874         (Makefile): Remove dependency on "@frags@".
12875         ($(GNULIB_BUILDDIR)/Makefile): Likewise.
12876         (data-directory/Makefile): Likewise.
12877         * config/aarch64/linux.mh: Deleted; moved contents to
12878         "gdb/configure.nat".
12879         * config/alpha/alpha-linux.mh: Likewise.
12880         * config/alpha/nbsd.mh: Likewise.
12881         * config/arm/linux.mh: Likewise.
12882         * config/arm/nbsdelf.mh: Likewise.
12883         * config/i386/cygwin.mh: Likewise.
12884         * config/i386/cygwin64.mh: Likewise.
12885         * config/i386/darwin.mh: Likewise.
12886         * config/i386/fbsd.mh: Likewise.
12887         * config/i386/fbsd64.mh: Likewise.
12888         * config/i386/go32.mh: Likewise.
12889         * config/i386/i386gnu.mh: Likewise.
12890         * config/i386/i386sol2.mh: Likewise.
12891         * config/i386/linux.mh: Likewise.
12892         * config/i386/linux64.mh: Likewise.
12893         * config/i386/mingw.mh: Likewise.
12894         * config/i386/mingw64.mh: Likewise.
12895         * config/i386/nbsd64.mh: Likewise.
12896         * config/i386/nbsdelf.mh: Likewise.
12897         * config/i386/nto.mh: Likewise.
12898         * config/i386/obsd.mh: Likewise.
12899         * config/i386/obsd64.mh: Likewise.
12900         * config/i386/sol2-64.mh: Likewise.
12901         * config/ia64/linux.mh: Likewise.
12902         * config/m32r/linux.mh: Likewise.
12903         * config/m68k/linux.mh: Likewise.
12904         * config/m68k/nbsdelf.mh: Likewise.
12905         * config/m68k/obsd.mh: Likewise.
12906         * config/m88k/obsd.mh: Likewise.
12907         * config/mips/fbsd.mh: Likewise.
12908         * config/mips/linux.mh: Likewise.
12909         * config/mips/nbsd.mh: Likewise.
12910         * config/mips/obsd64.mh: Likewise.
12911         * config/pa/linux.mh: Likewise.
12912         * config/pa/nbsd.mh: Likewise.
12913         * config/pa/obsd.mh: Likewise.
12914         * config/powerpc/aix.mh: Likewise.
12915         * config/powerpc/fbsd.mh: Likewise.
12916         * config/powerpc/linux.mh: Likewise.
12917         * config/powerpc/nbsd.mh: Likewise.
12918         * config/powerpc/obsd.mh: Likewise.
12919         * config/powerpc/ppc64-linux.mh: Likewise.
12920         * config/powerpc/spu-linux.mh: Likewise.
12921         * config/s390/linux.mh: Likewise.
12922         * config/sh/nbsd.mh: Likewise.
12923         * config/sparc/fbsd.mh: Likewise.
12924         * config/sparc/linux.mh: Likewise.
12925         * config/sparc/linux64.mh: Likewise.
12926         * config/sparc/nbsd64.mh: Likewise.
12927         * config/sparc/nbsdelf.mh: Likewise.
12928         * config/sparc/obsd64.mh: Likewise.
12929         * config/sparc/sol2.mh: Likewise.
12930         * config/tilegx/linux.mh: Likewise.
12931         * config/vax/nbsdelf.mh: Likewise.
12932         * config/vax/obsd.mh: Likewise.
12933         * config/xtensa/linux.mh: Likewise.
12934         * config/i386/i386gnu.mn: New file, with excerpts from
12935         "config/i386/i386gnu.mh".
12936         * configure: Regenerate.
12937         * configure.ac: Rewrite code to use "gdb/configure.nat" instead of
12938         *.mh files under "gdb/config".
12939         * configure.nat: New file, with contents from the
12940         "gdb/config/*/*.mh" files.
12941
12942 2017-05-05  Tim Wiederhake  <tim.wiederhake@intel.com>
12943
12944         * btrace.c (btrace_clear): Free insn vector.
12945
12946 2017-05-05  Pedro Alves  <palves@redhat.com>
12947
12948         * warning.m4 (build_warnings): Add -Wno-error=maybe-uninitialized.
12949         * configure: Regenerate.
12950
12951 2017-05-04  Pedro Alves  <palves@redhat.com>
12952
12953         * Makefile.in (SFILES): Add progspace-and-thread.c.
12954         (HFILES_NO_SRCDIR): Add progspace-and-thread.h.
12955         (COMMON_OBS): Add progspace-and-thread.o.
12956         * breakpoint.c: Include "progspace-and-thread.h".
12957         (update_inserted_breakpoint_locations)
12958         (insert_breakpoint_locations, create_longjmp_master_breakpoint):
12959         Use scoped_restore_current_pspace_and_thread.
12960         (create_std_terminate_master_breakpoint): Use
12961         scoped_restore_current_program_space.
12962         (remove_breakpoint): Use scoped_restore_current_pspace_and_thread.
12963         (print_breakpoint_location): Use
12964         scoped_restore_current_program_space.
12965         (bp_loc_is_permanent): Use
12966         scoped_restore_current_pspace_and_thread.
12967         (resolve_sal_pc): Use scoped_restore_current_pspace_and_thread.
12968         (download_tracepoint_locations): Use
12969         scoped_restore_current_pspace_and_thread.
12970         (breakpoint_re_set): Use scoped_restore_current_pspace_and_thread.
12971         * exec.c (exec_close_1): Use scoped_restore_current_program_space.
12972         (enum step_over_calls_kind): Moved from inferior.h.
12973         (class scoped_restore_current_thread): New class.
12974         * gdbthread.h (make_cleanup_restore_current_thread): Delete
12975         declaration.
12976         (scoped_restore_current_thread): New class.
12977         * infcmd.c: Include "common/gdb_optional.h".
12978         (continue_1, proceed_after_attach): Use
12979         scoped_restore_current_thread.
12980         (notice_new_inferior): Use scoped_restore_current_thread.
12981         * inferior.c: Include "progspace-and-thread.h".
12982         (restore_inferior, save_current_inferior): Delete.
12983         (add_inferior_command, clone_inferior_command): Use
12984         scoped_restore_current_pspace_and_thread.
12985         * inferior.h (scoped_restore_current_inferior): New class.
12986         * infrun.c: Include "progspace-and-thread.h" and
12987         "common/gdb_optional.h".
12988         (follow_fork_inferior): Use
12989         scoped_restore_current_pspace_and_thread.
12990         (scoped_restore_exited_inferior): New class.
12991         (handle_vfork_child_exec_or_exit): Use
12992         scoped_restore_exited_inferior,
12993         scoped_restore_current_pspace_and_thread,
12994         scoped_restore_current_thread and scoped_restore.
12995         (fetch_inferior_event): Use scoped_restore_current_thread.
12996         * linespec.c (decode_line_full, decode_line_1): Use
12997         scoped_restore_current_program_space.
12998         * mi/mi-main.c: Include "progspace-and-thread.h".
12999         (exec_continue): Use scoped_restore_current_thread.
13000         (mi_cmd_exec_run): Use scoped_restore_current_pspace_and_thread.
13001         (mi_cmd_trace_frame_collected): Use scoped_restore_current_thread.
13002         * proc-service.c (ps_pglobal_lookup): Use
13003         scoped_restore_current_program_space.
13004         * progspace-and-thread.c: New file.
13005         * progspace-and-thread.h: New file.
13006         * progspace.c (release_program_space, clone_program_space): Use
13007         scoped_restore_current_program_space.
13008         (restore_program_space, save_current_program_space)
13009         (save_current_space_and_thread): Delete.
13010         (switch_to_program_space_and_thread): Moved to
13011         progspace-and-thread.c.
13012         * progspace.h (save_current_program_space)
13013         (save_current_space_and_thread): Delete declarations.
13014         (scoped_restore_current_program_space): New class.
13015         * remote.c (remote_btrace_maybe_reopen): Use
13016         scoped_restore_current_thread.
13017         * symtab.c: Include "progspace-and-thread.h".
13018         (skip_prologue_sal): Use scoped_restore_current_pspace_and_thread.
13019         * thread.c (print_thread_info_1): Use
13020         scoped_restore_current_thread.
13021         (struct current_thread_cleanup): Delete.
13022         (do_restore_current_thread_cleanup)
13023         (restore_current_thread_cleanup_dtor): Rename/convert both to ...
13024         (scoped_restore_current_thread::~scoped_restore_current_thread):
13025         ... this new dtor.
13026         (make_cleanup_restore_current_thread): Rename/convert to ...
13027         (scoped_restore_current_thread::scoped_restore_current_thread):
13028         ... this new ctor.
13029         (thread_apply_all_command): Use scoped_restore_current_thread.
13030         (thread_apply_command): Use scoped_restore_current_thread.
13031         * tracepoint.c (tdump_command): Use scoped_restore_current_thread.
13032         * varobj.c (value_of_root_1): Use scoped_restore_current_thread.
13033
13034 2017-05-04  Pedro Alves  <palves@redhat.com>
13035
13036         * thread.c (make_cleanup_restore_current_thread): Move
13037         find_thread_ptid call before the is_stopped call.  Assert that the
13038         thread is found.  Replace is_stopped call by checking the thread's
13039         state directly.  Remove unnecessary NULL-thread check.
13040
13041 2017-05-04  Pedro Alves  <palves@redhat.com>
13042
13043         * corelow.c (thread_section_name): New class.
13044         (get_core_register_section, get_core_siginfo): Use it.
13045
13046 2017-05-04  Andreas Arnez  <arnez@linux.vnet.ibm.com>
13047
13048         * corelow.c (sniff_core_bfd): Remove extra semicolon.
13049         (get_core_register_section): Remove xfree of NULL pointer.
13050
13051 2017-05-03  Alan Hayward  <alan.hayward@arm.com>
13052
13053         * frv-linux-tdep.c (frv_linux_supply_gregset): Use raw_supply_zeroed.
13054         * regcache.c (regcache::raw_supply_zeroed): New function.
13055         * regcache.h (regcache::raw_supply_zeroed): New declaration.
13056
13057 2017-05-03  Simon Marchi  <simon.marchi@ericsson.com>
13058
13059         * gdbarch.sh: Remove commented out definition of
13060         TARGET_CHAR_BIT.
13061         * gdbarch.h: Re-generate.
13062
13063 2017-05-03  Sergio Durigan Junior  <sergiodj@redhat.com>
13064
13065         * configure: Regenerate.
13066
13067 2017-05-02  Simon Marchi  <simon.marchi@ericsson.com>
13068
13069         * solib-target.c (solib_target_relocate_section_addresses):
13070         Remove num_section_bases, num_bases, segment_bases variables.
13071
13072 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
13073
13074         * common/gdb_vecs.h (DEF_VEC_I (CORE_ADDR)): Remove.
13075
13076 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
13077
13078         * solib-target.c: Include <vector>
13079         (struct lm_info_target) <~lm_info_target>: Remove.
13080         <segment_bases, section_bases>: Change type to
13081         std::vector<CORE_ADDR>.
13082         (library_list_start_segment, library_list_start_section,
13083         library_list_end_library,
13084         solib_target_relocate_section_addresses): Adjust.
13085
13086 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
13087
13088         * gdbarch.sh (software_single_step): Change return type to
13089         std::vector<CORE_ADDR>.
13090         * gdbarch.c, gdbarch.h: Re-generate.
13091         * arch/arm-get-next-pcs.c (thumb_deal_with_atomic_sequence_raw):
13092         Adjust.
13093         (arm_deal_with_atomic_sequence_raw): Adjust.
13094         (thumb_get_next_pcs_raw): Adjust.
13095         (arm_get_next_pcs_raw): Adjust.
13096         (arm_get_next_pcs): Adjust.
13097         * arch/arm-get-next-pcs.h (arm_get_next_pcs): Adjust.
13098         * aarch64-tdep.c (aarch64_software_single_step): Adjust.
13099         * alpha-tdep.c (alpha_deal_with_atomic_sequence): Adjust.
13100         (alpha_software_single_step): Adjust.
13101         * alpha-tdep.h (alpha_software_single_step): Adjust.
13102         * arm-linux-tdep.c (arm_linux_software_single_step): Adjust.
13103         * arm-tdep.c (arm_software_single_step): Adjust.
13104         (arm_breakpoint_kind_from_current_state): Adjust.
13105         * arm-tdep.h (arm_software_single_step): Adjust.
13106         * breakpoint.c (insert_single_step_breakpoint): Adjust.
13107         * cris-tdep.c (cris_software_single_step): Adjust.
13108         * mips-tdep.c (mips_deal_with_atomic_sequence): Adjust.
13109         (micromips_deal_with_atomic_sequence): Adjust.
13110         (deal_with_atomic_sequence): Adjust.
13111         (mips_software_single_step): Adjust.
13112         * mips-tdep.h (mips_software_single_step): Adjust.
13113         * moxie-tdep.c (moxie_software_single_step): Adjust.
13114         * nios2-tdep.c (nios2_software_single_step): Adjust.
13115         * ppc-tdep.h (ppc_deal_with_atomic_sequence): Adjust.
13116         * rs6000-aix-tdep.c (rs6000_software_single_step): Adjust.
13117         * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Adjust.
13118         * s390-linux-tdep.c (s390_software_single_step): Adjust.
13119         * sparc-tdep.c (sparc_software_single_step): Adjust.
13120         * spu-tdep.c (spu_software_single_step): Adjust.
13121         * tic6x-tdep.c (tic6x_software_single_step): Adjust.
13122
13123 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
13124
13125         * gdbarch.sh: Use semi-colon as field separator instead of colon.
13126         * gdbarch.h: Re-generate.
13127
13128 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13129
13130         * Makefile.in (SUBDIR_PYTHON_OBS): Add py-instruction.o.
13131         (SUBDIR_PYTHON_SRCS): Add py-instruction.c.
13132         * python/py-instruction.c, python/py-instruction.h: New file.
13133         * python/py-record.c: Add py-instruction.h include.
13134         (gdbpy_initialize_record): Make gdb.Instruction a super class of
13135         gdb.RecordInstruction.
13136         * python/python-internal.h: Add gdbpy_initialize_instruction
13137         declaration.
13138         * python/python.c (do_start_initialization): Add
13139         gdbpy_initialize_instruction.
13140
13141 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13142
13143         * python/py-record-btrace.c (BTPY_REQUIRE_VALID_CALL, btpy_call_type):
13144         Remove.
13145         (btrace_func_from_recpy_func): New function.
13146         (btpy_call_new, btpy_number, btpy_hash, btpy_richcompare): Remove.
13147         (btpy_call_level, btpy_call_symbol, btpy_call_instructions,
13148         btpy_call_up, btpy_call_prev_sibling, btpy_call_next_sibling): Rename to ...
13149         (recpy_bt_func_level, recpy_bt_func_symbol, recpy_bt_func_instructions,
13150         recpy_bt_func_up, recpy_bt_func_prev, recpy_bt_func_next): This.
13151         Also, use new helper functions.
13152         (btpy_list_item): Use new helper functions.
13153         (recpy_bt_function_call_history): Use new type name.
13154         (btpy_call_getset): Remove.
13155         (gdbpy_initialize_btrace): Remove code to initialize
13156         gdb.BtraceFunctionCall.
13157         * python/py-record-btrace.h (recpy_bt_func_number, recpy_btb_func_level,
13158         recpy_btb_func_symbol, recpy_bt_func_instructions, recpy_bt_func_up,
13159         recpy_bt_func_prev, recpy_bt_func_next): New export.
13160         * python/py-record.c (recpy_func_type): New static object.
13161         (recpy_func_new, recpy_func_level, recpy_func_symbol,
13162         recpy_func_instructions, recpy_func_up, recpy_func_prev,
13163         recpy_func_next): New function.
13164         (recpy_element_hash, recpy_element_richcompare): Updated comment.
13165         (recpy_func_getset): New static object.
13166         (gdbpy_initialize_record): Add code to initialize gdb.RecordInstruction.
13167         * python/py-record.h (recpy_func_type, recpy_func_new): New export.
13168
13169 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13170
13171         * python/py-record-btrace.c (BTPY_REQUIRE_VALID_INSN): Remove.
13172         (btpy_object, btpy_insn_type, btpy_new): Remove.
13173         (btpy_list_object): Use gdb.RecordInstruction type instead of
13174         gdb.BtraceInstruction type.
13175         (btrace_insn_from_recpy_insn): New function.
13176         (btpy_insn_or_gap_new): Adjust comment. Use recpy_insn_new instead of
13177         btpy_new.
13178         (btpy_call_new, btpy_list_item): Do not use btpy_new anymore.
13179         (btpy_number, btpy_hash, btpy_call_level, btpy_call_symbol,
13180         btpy_call_instructions, btpy_call_up, btpy_call_prev_sibling,
13181         btpy_call_next_sibling, btpy_richcompare): Use recpy_element_object
13182         instead of btpy_object.
13183         (btpy_insn_sal, btpy_insn_pc, btpy_insn_size, btpy_insn_is_speculative,
13184         btpy_insn_data, btpy_insn_decode): Rename to ...
13185         (recpy_bt_insn_sal, recpy_bt_insn_pc, recpy_bt_insn_size,
13186         recpy_bt_insn_is_speculative, recpy_bt_insn_data,
13187         recpy_bt_insn_decode): This.  Also, use new helper functions.
13188         (btpy_list_position, recpy_bt_goto): Use recpy_element_object and
13189         recpy_insn_type.
13190         (btpy_insn_getset): Remove.
13191         (gdbpy_initialize_btrace): Remove code to initialize
13192         gdb.BtraceInstruction.  Use recpy_element_object.
13193         * python/py-record-btrace.h (recpy_bt_insn_number, recpy_bt_insn_sal,
13194         recpy_bt_insn_pc, recpy_bt_insn_data, recpy_bt_insn_decoded,
13195         recpy_bt_insn_size, recpy_bt_insn_is_speculative): New export.
13196         * python/py-record.c (recpy_insn_type): New static object.
13197         (recpy_insn_new, recpy_insn_sal, recpy_insn_pc, recpy_insn_data,
13198         recpy_insn_decoded, recpy_insn_size, recpy_insn_is_speculative,
13199         recpy_element_number, recpy_element_hash, recpy_element_richcompare):
13200         New function.
13201         (recpy_insn_getset): New static object.
13202         (gdbpy_initialize_record): Initialize gdb.RecordInstruction.
13203         * python/py-record.h (recpy_element_object): New typedef.
13204         (recpy_insn_type, recpy_insn_new): New export.
13205
13206 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13207
13208         * py-record-btrace.c (btpy_insn_new): Removed.
13209         (btpy_insn_or_gap_new): New function.
13210         (btpy_insn_error): Removed.
13211         (btpy_insn_sal, btpy_insn_pc, btpy_insn_size, btpy_insn_is_speculative,
13212         btpy_insn_data, btpy_insn_decode): Remove code path for gaps.
13213         (recpy_bt_replay_position, recpy_bt_begin, recpy_bt_end): Call
13214         btpy_insn_or_gap_new instead of btpy_insn_new.
13215         (btpy_insn_getset): Remove btpy_insn_error.
13216         * py-record.c (recpy_gap_type): New static object.
13217         (recpy_gap_object): New typedef.
13218         (recpy_gap_new, recpy_gap_number, recpy_gap_reason_code,
13219         recpy_gap_reason_string): New function.
13220         (recpy_gap_getset): New static object.
13221         (gdbpy_initialize_record): Initialize gdb.RecordGap type.
13222         * py-record.h (recpy_gap_new): New export.
13223
13224 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13225
13226         * python/py-record.c (recpy_ptid): Remove.
13227         (recpy_record_getset): Remove recpy_ptid.
13228
13229 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13230
13231         * btrace.c (btrace_fetch): Set inferior_ptid.
13232         * python/py-record-btrace.c: Add "py-record.h" include.
13233         (recpy_bt_format, recpy_bt_replay_position, recpy_bt_begin,
13234         recpy_bt_end, recpy_bt_instruction_history,
13235         recpy_bt_function_call_history, recpy_bt_goto): Use ptid stored
13236         in gdb.Record object instead of current ptid.
13237         * python/py-record.c: Include new "py-record.h" file.
13238         (recpy_record_object): Moved to py-record.h.
13239         * python/py-record.h: New file.
13240
13241 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13242
13243         * python/py-record-btrace.c (BTPY_REQUIRE_VALID_INSN,
13244         BTPY_REQUIRE_VALID_CALL, recpy_bt_function_call_history): Fix
13245         indentation.
13246
13247 2017-05-01  Joel Brobecker  <brobecker@adacore.com>
13248
13249         * MAINTAINERS: Move Daniel Jacobowitz and Mark Kettenis to
13250         the past maintainers section.
13251
13252 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13253
13254         * infcmd.c (get_return_value): Use regcache ctor, and remove
13255         cleanup.
13256
13257 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13258             Pedro Alves  <palves@redhat.com>
13259
13260         * regcache.c (regcache::regcache): New tag dispatch ctor.
13261         (do_cooked_read): Moved above.
13262         (regcache_dup): Use the tag dispatch ctor..
13263         * regcache.h (regcache): Declare ctor, delete copy ctor and
13264         assignment operator, remove friend regcache_dup.
13265
13266 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13267
13268         * regcache.c (regcache_dup): Assert !src->m_readonly_p and
13269         call method save instead of regcache_cpy.
13270         * regcache.h (struct regcache): Make regcache_dup a friend.
13271
13272 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13273
13274         * regcache.c (struct regcache): Move to regcache.h
13275         (regcache::arch): New method.
13276         (regcache_get_ptid): Update.
13277         (get_regcache_arch): Call arch method.
13278         (get_regcache_aspace): Call method aspace.
13279         (register_buffer): Change it to method.
13280         (regcache_save): Change it to regcache::save.
13281         (regcache_restore): Likewise.
13282         (regcache_cpy_no_passthrough): Remove the declaration.
13283         (regcache_cpy): Call methods restore and cpy_no_passthrough.
13284         (regcache_cpy_no_passthrough): Change it to method
13285         cpy_no_passthrough.
13286         (regcache_register_status): Change it to method
13287         get_register_status.
13288         (regcache_invalidate): Change it to method invalidate.
13289         (regcache_thread_ptid_changed): Use methods ptid and set_ptid.
13290         (regcache_raw_update): Change it to method raw_update.
13291         (regcache_raw_read): Likewise.
13292         (regcache_raw_read_signed): Likewise.
13293         (regcache_raw_read_unsigned): Likewise.
13294         (regcache_raw_write_signed): Likewise.
13295         (regcache_raw_write_unsigned): Likewise.
13296         (regcache_cooked_read): Likewise.
13297         (regcache_cooked_read_value): Likewise.
13298         (regcache_cooked_read_signed): Likewise.
13299         (regcache_cooked_read_unsigned): Likewise.
13300         (regcache_cooked_write_signed): Likewise.
13301         (regcache_cooked_write_unsigned): Likewise.
13302         (regcache_raw_set_cached_value): Likewise.
13303         (regcache_raw_write): Likewise.
13304         (regcache_cooked_write): Likewise.
13305         (regcache_xfer_part): Likewise.
13306         (regcache_raw_read_part): Likewise.
13307         (regcache_raw_write_part): Likewise.
13308         (regcache_cooked_read_part): Likewise.
13309         (regcache_cooked_write_part): Likewise.
13310         (regcache_raw_supply): Likewise.
13311         (regcache_raw_collect): Likewise.
13312         (regcache_transfer_regset): Likewise.
13313         (regcache_supply_regset): Likewise.
13314         (regcache_collect_regset): Likewise.
13315         (regcache_debug_print_register): Likewise.
13316         (enum regcache_dump_what): Move it to regcache.h.
13317         (regcache_dump): Change it to method dump.
13318         * regcache.h (enum regcache_dump_what): New.
13319         (class regcache): New.
13320         * target.c (target_fetch_registers): Call method
13321         debug_print_register.
13322         (target_store_registers): Likewise.
13323
13324 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13325
13326         * windows-nat.c (struct lm_info_windows): Initialize field.
13327         (windows_make_so): Allocate lm_info_windows with new.
13328         (windows_free_so): Free lm_info_windows with delete.
13329
13330 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13331
13332         * solib-darwin.c (struct lm_info_darwin): Initialize field.
13333         (darwin_current_sos): Allocate lm_info_darwin with new, remove
13334         cleanup.
13335         (darwin_free_so): Free lm_info_darwin with delete.
13336
13337 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13338
13339         * solib-svr4.h (struct lm_info_svr4): Initialize fields.
13340         <l_addr_p>: Change type to bool.
13341         * solib-svr4.c (lm_info_read): Allocate lm_info_svr4 with new.
13342         (svr4_free_so): Free lm_info_svr4 with delete.
13343         (svr4_copy_library_list): Replace memcpy with call to copy
13344         constructor.
13345         (library_list_start_library, svr4_default_sos): Allocate
13346         lm_info_svr4 with new.
13347
13348 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13349
13350         * solib-target.c (struct lm_info_target): Add destructor,
13351         initialize fields.
13352         <name>: Change type to std::string.
13353         (library_list_start_library): Allocate lm_info_target with new.
13354         (solib_target_free_library_list): Free lm_info_target with
13355         delete.
13356         (solib_target_current_sos): Adapt to std::string.
13357         (solib_target_free_so): Free lm_info_target with delete.
13358
13359 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13360
13361         * solib-frv.c (struct lm_info_frv): Add destructor, initialize
13362         fields.
13363         (frv_current_sos): Allocate lm_info_frv with new.
13364         (frv_relocate_main_executable): Free lm_info_frv with delete,
13365         allocate with new.
13366         (frv_clear_solib, frv_free_so): Free lm_info_frv with delete.
13367
13368 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13369
13370         * solib-frv.c (struct lm_info_frv): Fix indentation.
13371
13372 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13373
13374         * solib-dsbt.c (struct lm_info_dsbt): Add destructor, initialize
13375         map field.
13376         (dsbt_current_sos): Allocate lm_info_dsbt with new.
13377         (dsbt_relocate_main_executable): Free lm_info_dsbt with delete
13378         and allocate with new.
13379         (dsbt_clear_solib, dsbt_free_so): Free lm_info_dsbt with delete.
13380
13381 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13382
13383         * solib-aix.c (struct lm_info_aix): Initialize fields in-class.
13384         <filename, member_name>: Change type to std::string.
13385         (solib_aix_new_lm_info, solib_aix_xfree_lm_info): Remove.
13386         (library_list_start_library): Allocate lm_info_aix with new.
13387         (solib_aix_free_library_list, solib_aix_free_so): Free with delete.
13388         (solib_aix_current_sos): Adapt to std::string, copy lm_info_aix
13389         with copy constructor.
13390
13391 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13392
13393         * solist.h (struct lm_info): Remove.
13394         (struct lm_info_base): New class.
13395         (struct so_list) <lm_info>: Change type to lm_info_base *.
13396         * nto-tdep.c (struct lm_info): Remove.
13397         (lm_addr): Adjust.
13398         * solib-aix.c (struct lm_info): Rename to ...
13399         (struct lm_info_aix): ... this.  Extend lm_info_base.
13400         (lm_info_p): Rename to ...
13401         (lm_info_aix_p): ... this, and adjust.
13402         (solib_aix_new_lm_info, solib_aix_xfree_lm_info,
13403         solib_aix_parse_libraries, library_list_start_library,
13404         solib_aix_free_library_list, solib_aix_parse_libraries,
13405         solib_aix_get_library_list,
13406         solib_aix_relocate_section_addresses, solib_aix_free_so,
13407         solib_aix_get_section_offsets,
13408         solib_aix_solib_create_inferior_hook, solib_aix_current_sos):
13409         Adjust.
13410         (struct solib_aix_inferior_data) <library_list>: Adjust.
13411         * solib-darwin.c (struct lm_info): Rename to ...
13412         (struct lm_info_darwin): ... this.  Extend lm_info_base.
13413         (darwin_current_sos, darwin_relocate_section_addresses): Adjust.
13414         * solib-dsbt.c (struct lm_info): Rename to ...
13415         (struct lm_info_dsbt): ... this.  Extend lm_info_base.
13416         (struct dsbt_info) <main_executable_lm_info): Adjust.
13417         (dsbt_current_sos, dsbt_relocate_main_executable, dsbt_free_so,
13418         dsbt_relocate_section_addresses): Adjust.
13419         * solib-frv.c (struct lm_info): Rename to ...
13420         (struct lm_info_frv): ... this.  Extend lm_info_base.
13421         (main_executable_lm_info): Adjust.
13422         (frv_current_sos, frv_relocate_main_executable, frv_free_so,
13423         frv_relocate_section_addresses, frv_fdpic_find_global_pointer,
13424         find_canonical_descriptor_in_load_object,
13425         frv_fdpic_find_canonical_descriptor): Adjust.
13426         * solib-svr4.c (struct lm_info): Move to solib-svr4.h, renamed
13427         to lm_info_svr4.
13428         (lm_info_read, lm_addr_check, svr4_keep_data_in_core,
13429         svr4_clear_so, svr4_copy_library_list,
13430         library_list_start_library, svr4_default_sos, svr4_read_so_list,
13431         svr4_current_sos, svr4_fetch_objfile_link_map,
13432         solist_update_incremental): Adjust.
13433         * solib-svr4.h (struct lm_info_svr4): Move here from
13434         solib-svr4.c.
13435         * solib-target.c (struct lm_info): Rename to ...
13436         (struct lm_info_target): ... this.  Extend lm_info_base.
13437         (lm_info_p): Rename to ...
13438         (lm_info_target_p): ... this.
13439         (solib_target_parse_libraries, library_list_start_segment,
13440         library_list_start_section, library_list_start_library,
13441         library_list_end_library, solib_target_free_library_list,
13442         solib_target_current_sos, solib_target_free_so,
13443         solib_target_relocate_section_addresses): Adjust.
13444         * windows-nat.c (struct lm_info): Rename to ...
13445         (struct lm_info_windows): ... this.  Extend lm_info_base.
13446         (windows_make_so, handle_load_dll, handle_unload_dll,
13447         windows_xfer_shared_libraries): Adjust.
13448
13449 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13450
13451         * solib-darwin.c (struct darwin_so_list): Remove.
13452         (darwin_current_sos): Allocate an so_list object instead of a
13453         darwin_so_list, separately allocate an lm_info object.
13454         (darwin_free_so): Free lm_info.
13455
13456 2017-04-28  John Baldwin  <jhb@FreeBSD.org>
13457
13458         * mips-tdep.c (print_gp_register_row): Replace printf_filtered
13459         with fprintf_filtered.
13460
13461 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13462
13463         * regcache.c (regcache::regcache): New function.
13464         (regcache::~regcache): New function.
13465         (regcache_xmalloc_1): Remove.
13466         (regcache_xmalloc): Call new regcache.
13467         (regcache_xfree): Call delete regcache.
13468         (get_thread_arch_aspace_regcache): Call new regcache.
13469
13470 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13471
13472         * mips-linux-nat.c (mips_linux_new_thread): Use ptid method
13473         lwp instead of ptid_get_lwp.
13474
13475 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13476
13477         * mips-linux-nat.c (mips_linux_new_thread): Get lwpid from
13478         lwp_info instead of getting from inferior_ptid.
13479
13480 2017-04-27  Keith Seitz  <keiths@redhat.com>
13481
13482         * gdbtypes.c (LVALUE_REFERENCE_TO_RVALUE_BINDING_BADNESS)
13483         DIFFERENT_REFERENCE_TYPE_BADNESS): Remove.
13484         (CV_CONVERSION_BADNESS): Define.
13485         (rank_one_type): Remove overly restrictive rvalue reference
13486         rank checks.
13487         Add cv-qualifier checks and subranks for type equality.
13488         * gdbtypes.h (REFERENCE_CONVERSION_RVALUE,
13489         REFERENCE_CONVERSION_CONST_LVALUE, CV_CONVERSION_BADNESS,
13490         CV_CONVERSION_CONST, CV_CONVERSION_VOLATILE): Declare.
13491
13492 2017-04-27  Simon Marchi  <simon.marchi@ericsson.com>
13493
13494         * python/py-inferior.c (inferior_to_inferior_object): Increment reference
13495         count when creating the object.
13496
13497 2017-04-27  Sangamesh Mallayya  <sangamesh.swamy@in.ibm.com>
13498             Ulrich Weigand  <uweigand@de.ibm.com>
13499
13500         * xcoffread.c (read_xcoff_symtab): Read correct function auxiliary
13501         entry if xlc -qfuncsect or gcc -ffunction-sections compiler option
13502         is used in AIX.
13503         (read_xcoff_symtab): Handle C_WEAKEXT storage class.
13504         (process_xcoff_symbol): Likewise.
13505         (scan_xcoff_symtab): Likewise.
13506
13507 2017-04-26  Alan Hayward  <alan.hayward@arm.com>
13508
13509         * ia64-tdep.c (examine_prologue): Use get_frame_register_unsigned.
13510         (ia64_sigtramp_frame_prev_register): Use read_memory_unsigned_integer.
13511         (ia64_access_reg): Use get_frame_register_unsigned.
13512         (ia64_access_rse_reg): Likewise.
13513         (ia64_libunwind_frame_prev_register): Likewise.
13514
13515 2017-04-26  Jiong Wang  <jiong.wang@arm.com>
13516
13517         * gdbarch.sh: New gdbarch method execute_dwarf_cfa_vendor_op.
13518         * gdbarch.c: Regenerated.
13519         * gdbarch.h: Regenerated.
13520         * dwarf2-frame.c (dwarf2_frame_state_alloc_regs): Made the
13521         visibility external.
13522         (execute_cfa_program): Call execute_dwarf_cfa_vendor_op for CFI
13523         between DW_CFA_lo_user and DW_CFA_high_user inclusive.
13524         (enum cfa_how_kind): Move to ...
13525         (struct dwarf2_frame_state_reg_info): Likewise.
13526         (struct dwarf2_frame_state): Likewise.
13527         * dwarf2-frame.h: ... here.
13528         (dwarf2_frame_state_alloc_regs): New declaration.
13529         * sparc-tdep.c (sparc_execute_dwarf_cfa_vendor_op): New function.
13530         (sparc32_gdbarch_init): Register execute_dwarf_cfa_vendor_op hook.
13531
13532 2017-04-26  Alan Hayward  <alan.hayward@arm.com>
13533
13534         * xtensa-tdep.c (xtensa_pseudo_register_read): Use
13535         regcache_raw_read_unsigned.
13536         (xtensa_pseudo_register_write): Likewise.
13537
13538 2017-04-26  Alan Hayward  <alan.hayward@arm.com>
13539
13540         * nds32-tdep.c (nds32_pseudo_register_read): Abort on errors.
13541         (nds32_pseudo_register_write): Likewise.
13542
13543 2017-04-25  Yao Qi  <yao.qi@linaro.org>
13544
13545         * regcache.c (struct regcache) <readonly_p>: Change its type
13546         to bool.
13547         (regcache_xmalloc_1): Update parameter type and callers update.
13548
13549 2017-04-25  Yao Qi  <yao.qi@linaro.org>
13550
13551         * aarch64-tdep.c (aarch64_gdbarch_init): Don't call
13552         set_gdbarch_wchar_bit.
13553         * arm-tdep.c (arm_gdbarch_init): Likewise.
13554
13555 2017-04-25  Pedro Alves  <palves@redhat.com>
13556
13557         * common/poison.h [!HAVE_IS_TRIVIALLY_COPYABLE] (IsRelocatable)
13558         (BothAreRelocatable, memcopy, memmove): Don't define.
13559         * common/traits.h (__has_feature, HAVE_IS_TRIVIALLY_COPYABLE): New
13560         macros.
13561
13562 2017-04-25  Pedro Alves  <palves@redhat.com>
13563
13564         * common/common-defs.h: Include "common/poison.h".
13565         * common/function-view.h: (Not, Or, Requires): Move to traits.h
13566         and adjust.
13567         * common/poison.h: New file.
13568         * common/traits.h: Include <type_traits>.
13569         (Not, Or, Requires): New, moved from common/function-view.h.
13570
13571 2017-04-25  Pedro Alves  <palves@redhat.com>
13572
13573         * breakpoint.h (struct breakpoint): In-class initialize all
13574         fields.  Make boolean fields "bool".
13575         * breakpoint.c (init_raw_breakpoint_without_location): Remove
13576         memset call and initializations no longer necessary.
13577
13578 2017-04-25  Pedro Alves  <palves@redhat.com>
13579
13580         * btrace.c (pt_btrace_insn_flags): Change parameter type to
13581         reference.
13582         (pt_btrace_insn): New function.
13583         (ftrace_add_pt): Remove memset call and use pt_btrace_insn.
13584
13585 2017-04-25  Pedro Alves  <palves@redhat.com>
13586
13587         * ada-lang.c (ada_catchpoint_location): Now a "class".  Remove
13588         "base" field and inherit from "bp_location" instead.  Add
13589         non-default ctor.
13590         (allocate_location_exception): Use new non-default ctor.
13591         * breakpoint.c (get_first_locp_gte_addr): Remove memset call.
13592         (init_bp_location): Convert to ...
13593         (bp_location::bp_location): ... this new ctor, and remove memset
13594         call.
13595         (base_breakpoint_allocate_location): Use the new non-default ctor.
13596         * breakpoint.h (bp_location): Now a class.  Declare default and
13597         non-default ctors.  In-class initialize all members.
13598         (init_bp_location): Remove declaration.
13599
13600 2017-04-25  Pedro Alves  <palves@redhat.com>
13601
13602         * common/enum-flags.h (enum_flags): Don't implement copy ctor and
13603         assignment operator.
13604
13605 2017-04-24  Yao Qi  <yao.qi@linaro.org>
13606
13607         * doublest.c (convert_doublest_to_floatformat): Call
13608         floatformat_totalsize_bytes.
13609
13610 2017-04-22  Tom Tromey  <tom@tromey.com>
13611
13612         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Use
13613         ui_out_emit_list.
13614         * stack.c (print_frame): Use ui_out_emit_list.
13615         * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Use
13616         ui_out_emit_list.
13617         * mi/mi-main.c (print_one_inferior)
13618         (mi_cmd_data_list_register_names)
13619         (mi_cmd_data_list_register_values, mi_cmd_list_features)
13620         (mi_cmd_list_target_features, mi_cmd_trace_frame_collected): Use
13621         ui_out_emit_list.
13622         * mi/mi-interp.c (mi_on_normal_stop_1): Use ui_out_emit_list.
13623         (mi_output_solib_attribs): Use ui_out_emit_list,
13624         ui_out_emit_tuple.
13625         * mi/mi-cmd-var.c (varobj_update_one): Use ui_out_emit_list.
13626         * mi/mi-cmd-stack.c (mi_cmd_stack_list_frames)
13627         (mi_cmd_stack_list_args, list_args_or_locals): Use
13628         ui_out_emit_list.
13629         * disasm.c (do_assembly_only): Use ui_out_emit_list.
13630         * breakpoint.c (print_solib_event, output_thread_groups): Use
13631         ui_out_emit_list.
13632
13633 2017-04-22  Tom Tromey  <tom@tromey.com>
13634
13635         * mi/mi-main.c (print_variable_or_computed): Use ui_out_emit_tuple.
13636         * mi/mi-cmd-var.c (varobj_update_one): Use ui_out_emit_tuple.
13637         * mi/mi-cmd-stack.c (list_arg_or_local): Use ui_out_emit_tuple.
13638
13639 2017-04-22  Tom Tromey  <tom@tromey.com>
13640
13641         * tracepoint.c (tvariables_info_1)
13642         (print_one_static_tracepoint_marker): Use ui_out_emit_tuple.
13643
13644 2017-04-22  Tom Tromey  <tom@tromey.com>
13645
13646         * stack.c (print_frame_arg): Use ui_out_emit_tuple,
13647         annotate_arg_emitter.
13648         * breakpoint.c (print_mention_watchpoint)
13649         (print_mention_masked_watchpoint): Use ui_out_emit_tuple.
13650         * annotate.h (struct annotate_arg_emitter): New.
13651
13652 2017-04-22  Tom Tromey  <tom@tromey.com>
13653
13654         * record-btrace.c (record_btrace_insn_history)
13655         (record_btrace_insn_history_range, record_btrace_call_history)
13656         (record_btrace_call_history_range): Use ui_out_emit_tuple.
13657         * thread.c (do_captured_list_thread_ids, print_thread_info_1): Use
13658         ui_out_emit_tuple.
13659         * stack.c (print_frame_info): Use ui_out_emit_tuple.
13660         * solib.c (info_sharedlibrary_command): Use ui_out_emit_tuple.
13661         * skip.c (skip_info): Use ui_out_emit_tuple.
13662         * remote.c (show_remote_cmd): Use ui_out_emit_tuple.
13663         * progspace.c (print_program_space): Use ui_out_emit_tuple.
13664         * probe.c (info_probes_for_ops): Use ui_out_emit_tuple.
13665         * osdata.c (info_osdata): Use ui_out_emit_tuple.
13666         * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Use
13667         ui_out_emit_tuple.
13668         * mi/mi-main.c (print_one_inferior, list_available_thread_groups)
13669         (output_register, mi_cmd_data_read_memory)
13670         (mi_cmd_data_read_memory_bytes, mi_load_progress)
13671         (mi_cmd_trace_frame_collected): Use ui_out_emit_tuple.
13672         * mi/mi-cmd-var.c (mi_cmd_var_list_children, varobj_update_one):
13673         Use ui_out_emit_tuple.
13674         * mi/mi-cmd-stack.c (mi_cmd_stack_list_args): Use
13675         ui_out_emit_tuple.
13676         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions)
13677         (mi_cmd_info_gdb_mi_command): Use ui_out_emit_tuple.
13678         * linux-thread-db.c (info_auto_load_libthread_db): Use
13679         ui_out_emit_tuple.
13680         * inferior.c (print_inferior): Use ui_out_emit_tuple.
13681         * gdb_bfd.c (print_one_bfd): Use ui_out_emit_tuple.
13682         * disasm.c (do_mixed_source_and_assembly_deprecated)
13683         (do_mixed_source_and_assembly): Use ui_out_emit_tuple.
13684         * cp-abi.c (list_cp_abis): Use ui_out_emit_tuple.
13685         * cli/cli-setshow.c (cmd_show_list): Use ui_out_emit_tuple.
13686         * breakpoint.c (print_one_breakpoint_location)
13687         (print_one_breakpoint): Use ui_out_emit_tuple.
13688         * auto-load.c (print_script, info_auto_load_cmd): Use
13689         ui_out_emit_tuple.
13690         * ada-tasks.c (print_ada_task_info): Use ui_out_emit_tuple.
13691
13692 2017-04-21  Simon Marchi  <simon.marchi@ericsson.com>
13693
13694         * thread.c (print_thread_info_1): Remove dead code.
13695
13696 2017-04-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
13697
13698         * aarch64-tdep.c (selftests::aarch64_process_record_test): Make it #if
13699         GDB_SELF_TEST.
13700         * arm-tdep.c (selftests::arm_record_test): Likewise.
13701
13702 2017-04-21  Yao Qi  <yao.qi@linaro.org>
13703
13704         * regcache.c (regcache_restore): Remove argument 2.  Replace
13705         argument 3 with regcache.  Get register status from
13706         src->register_status and get register contents from
13707         register_buffer (src, regnum).
13708         (regcache_cpy): Update.
13709
13710 2017-04-19  Pedro Alves  <palves@redhat.com>
13711
13712         * gdbthread.h (thread): Add missing closing parenthesis in
13713         comment.
13714
13715 2017-04-19  Pedro Alves  <palves@redhat.com>
13716
13717         * common/refcounted-object.h: New file.
13718         * gdbthread.h: Include "common/refcounted-object.h".
13719         (thread_info): Inherit from refcounted_object and add comments.
13720         (thread_info::incref, thread_info::decref)
13721         (thread_info::m_refcount): Delete.
13722         (thread_info::deletable): Use the refcounted_object::refcount()
13723         method.
13724         * inferior.c (current_inferior_): Add comment.
13725         (set_current_inferior): Increment/decrement refcounts.
13726         (prune_inferiors, remove_inferior_command): Skip inferiors marked
13727         not-deletable instead of comparing with the current inferior.
13728         (initialize_inferiors): Increment the initial inferior's refcount.
13729         * inferior.h (struct inferior): Forward declare.
13730         Include "common/refcounted-object.h".
13731         (current_inferior, set_current_inferior): Move declaration to
13732         before struct inferior's definition, and fix comment.
13733         (inferior): Inherit from refcounted_object.  Add comments.
13734         * thread.c (switch_to_thread_no_regs): Reference the thread's
13735         inferior pointer directly instead of doing a ptid lookup.
13736         (switch_to_no_thread): New function.
13737         (switch_to_thread(thread_info *)): New function, factored out
13738         from ...
13739         (switch_to_thread(ptid_t)): ... this.
13740         (restore_current_thread): Delete.
13741         (current_thread_cleanup): Remove 'inf_id' and 'was_removable'
13742         fields, and add 'inf' field.
13743         (do_restore_current_thread_cleanup): Check whether old->inf is
13744         alive instead of looking up an inferior by ptid.  Use
13745         switch_to_thread and switch_to_no_thread.
13746         (restore_current_thread_cleanup_dtor): Use old->inf directly
13747         instead of lookup up an inferior by id.  Decref the inferior.
13748         Don't restore 'removable'.
13749         (make_cleanup_restore_current_thread): Same the inferior pointer
13750         in old, instead of the inferior number.  Incref the inferior.
13751         Don't save/clear 'removable'.
13752
13753 2017-04-19  Pedro Alves  <palves@redhat.com>
13754
13755         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
13756         unittests/scoped_restore-selftests.c.
13757         (SUBDIR_UNITTESTS_OBS): Add scoped_restore-selftests.o.
13758         * common/scoped_restore.h (scoped_restore_base): Make "class".
13759         (scoped_restore_base::release): New public method.
13760         (scoped_restore_base::scoped_restore_base): New protected ctor.
13761         (scoped_restore_base::m_saved_var): New protected field.
13762         (scoped_restore_tmpl::scoped_restore_tmpl(T*)): Initialize the
13763         scoped_restore_base base class instead of m_saved_var directly.
13764         (scoped_restore_tmpl::scoped_restore_tmpl(T*, T2)): Likewise.
13765         (scoped_restore_tmpl::scoped_restore_tmpl(const
13766         scoped_restore_tmpl<T>&)): Likewise.
13767         (scoped_restore_tmpl::~scoped_restore_tmpl): Use the saved_var
13768         method.
13769         (scoped_restore_tmpl::saved_var): New method.
13770         (scoped_restore_tmpl::m_saved_var): Delete.
13771         * inferior.h (inferior::detaching): Now a bool.
13772         * infrun.c (prepare_for_detach): Use a scoped_restore instead of a
13773         cleanup.
13774         * unittests/scoped_restore-selftests.c: New file.
13775
13776 2017-04-19  Pedro Alves  <palves@redhat.com>
13777
13778         * Makefile.in (SUBDIR_UNITTESTS_SRCS, SUBDIR_UNITTESTS_OBS):
13779         Re-sort in alphabetic order.
13780
13781 2017-04-18  Pedro Alves  <palves@redhat.com>
13782
13783         * xml-support.c (obstack_xml_printf): Delete.
13784         * xml-support.h (obstack_xml_printf): Delete.
13785
13786 2017-04-18  Pedro Alves  <palves@redhat.com>
13787
13788         * xml-support.c (gdb_xml_parser) <use_dtd, dtd_name, parse,
13789         vdebug, verror, body_text, start_element, end_element, name,
13790         user_data, set_is_xinclude, set_error, expat_parser>: New methods.
13791         <name, user_data, expat_parser, scopes, error, last_line, dtd_name,
13792         is_xinclude>: Make private and add m_ prefix.
13793         (gdb_xml_parser::body_text): New method, based on ...
13794         (gdb_xml_body_text): ... this.  Adjust.
13795         (gdb_xml_parser::vdebug): New method, based on ...
13796         (gdb_xml_debug): ... this.  Adjust.
13797         (gdb_xml_parser::verror): New method, based on ...
13798         (gdb_xml_error): ... this.  Adjust.
13799         (gdb_xml_parser::start_element): New method, based on ...
13800         (gdb_xml_start_element): ... this.  Adjust.
13801         (gdb_xml_start_element_wrapper): Defer to
13802         gdb_xml_parser::start_element and gdb_xml_parser::set_error.
13803         (gdb_xml_parser::end_element): New method, based on ...
13804         (gdb_xml_end_element_wrapper): ... this.  Adjust.
13805         (gdb_xml_parser::~gdb_xml_parser): Adjust.
13806         (gdb_xml_parser::gdb_xml_parser): Adjust to field renames.
13807         (gdb_xml_parser::use_dtd): New method, based on ...
13808         (gdb_xml_use_dtd): ... this.  Adjust.
13809         (gdb_xml_parser::parse): New method, based on ...
13810         (gdb_xml_parse): ... this.  Adjust.
13811         (gdb_xml_parse_quick): Adjust to call the parser's parse method.
13812         (xinclude_start_include): Adjust to call the parser's name method.
13813         (xml_xinclude_default, xml_xinclude_start_doctype)
13814         (xml_xinclude_end_doctype): Adjust to call the parser's user_data
13815         method.
13816         (xml_process_xincludes): Adjust to call parser methods.
13817         * xml-support.h (gdb_xml_use_dtd, gdb_xml_parse): Delete
13818         declarations.
13819
13820 2017-04-18  Pedro Alves  <palves@redhat.com>
13821
13822         * tracefile-tfile.c (tfile_write_tdesc): Adjust to use
13823         gdb::optional<std::string>.
13824         * xml-support.c: Include <string>.
13825         (scope_level::scope_level(scope_level &&))
13826         (scope_level::~scope_level): Delete.
13827         (scope_level::body): Now a std::string.
13828         (gdb_xml_body_text, gdb_xml_end_element): Adjust.
13829         (xinclude_parsing_data::xinclude_parsing_data): Add 'output'
13830         parameter.
13831         (xinclude_parsing_data::~xinclude_parsing_data): Delete.
13832         (xinclude_parsing_data::output): Now a std::string reference.
13833         (xinclude_start_include): Adjust.
13834         (xml_xinclude_default): Adjust.
13835         (xml_process_xincludes): Add 'output' parameter, and return bool.
13836         * xml-support.h (xml_process_xincludes): Add 'output' parameter,
13837         and return bool.
13838         * xml-tdesc.c: Include <unordered_map> and <string>.
13839         (tdesc_xml_cache): Delete.
13840         (tdesc_xml_cache_s): Delete.
13841         (xml_cache): Now an std::unordered_map.
13842         (tdesc_parse_xml): Adjust to use std::string and unordered_map.
13843         (target_fetch_description_xml): Change return type to
13844         gdb::optional<std::string>, and adjust.
13845         * xml-tdesc.h: Include "common/gdb_optional.h" and <string>.
13846         (target_fetch_description_xml): Change return type to
13847         gdb::optional<std::string>.
13848
13849 2017-04-18  Pedro Alves  <palves@redhat.com>
13850
13851         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
13852         unittests/optional-selftests.c.
13853         (SUBDIR_UNITTESTS_OBS): Add optional-selftests.o.
13854         * unittests/optional-selftests.c: New file.
13855         * unittests/optional/assignment/1.cc: New file.
13856         * unittests/optional/assignment/2.cc: New file.
13857         * unittests/optional/assignment/3.cc: New file.
13858         * unittests/optional/assignment/4.cc: New file.
13859         * unittests/optional/assignment/5.cc: New file.
13860         * unittests/optional/assignment/6.cc: New file.
13861         * unittests/optional/assignment/7.cc: New file.
13862         * unittests/optional/cons/copy.cc: New file.
13863         * unittests/optional/cons/default.cc: New file.
13864         * unittests/optional/cons/move.cc: New file.
13865         * unittests/optional/cons/value.cc: New file.
13866         * unittests/optional/in_place.cc: New file.
13867         * unittests/optional/observers/1.cc: New file.
13868         * unittests/optional/observers/2.cc: New file.
13869
13870 2017-04-18  Pedro Alves  <palves@redhat.com>
13871
13872         * common/gdb_optional.h: Include common/traits.h.
13873         (in_place_t): New type.
13874         (in_place): New constexpr variable.
13875         (optional::optional): Remove member initialization of
13876         m_instantiated.
13877         (optional::optional(in_place_t...)): New constructor.
13878         (optional::~optional): Use reset.
13879         (optional::optional(const optional&)): New.
13880         (optional::optional(const optional&&)): New.
13881         (optional::optional(T &)): New.
13882         (optional::optional(T &&)): New.
13883         (operator::operator=(const optional &)): New.
13884         (operator::operator=(optional &&)): New.
13885         (operator::operator= (const T &))
13886         (operator::operator= (T &&))
13887         (operator::emplace (Args &&... args)): Return a T&.  Use reset.
13888         (operator::reset): New.
13889         (operator::m_instantiated):: Add in-class initializer.
13890         * common/traits.h: Include <type_traits>.
13891         (struct And): New types.
13892
13893 2017-04-18  Pedro Alves  <palves@redhat.com>
13894
13895         * xml-support.c: Include <vector>.
13896         (scope_level::scope_level(const gdb_xml_element *))
13897         (scope_level::scope_level(scope_level&&)): New.
13898         (scope_level::~scope_level): New.
13899         (scope_level_s): Delete.
13900         (gdb_xml_parser::scopes): Now a std::vector.
13901         (gdb_xml_body_text, gdb_xml_start_element, gdb_xml_end_element):
13902         Use std::vector.
13903         (gdb_xml_parser::~gdb_xml_parser): Remove now unnecessary
13904         scope cleanup code.
13905         (gdb_xml_parser::gdb_xml_parser): Remove explicit initialization
13906         of the scopes member.  Use std::vector::emplace_back.
13907
13908 2017-04-18  Pedro Alves  <palves@redhat.com>
13909
13910         * xml-support.c (gdb_xml_parser): Add ctor/dtor.  Make is_xinclude
13911         a bool.
13912         (gdb_xml_end_element): Change type of first parameter.
13913         (gdb_xml_cleanup): Rename to ...
13914         (gdb_xml_parser::~gdb_xml_parser): ... this.
13915         (gdb_xml_create_parser_and_cleanup): Delete with ...
13916         (gdb_xml_parser::gdb_xml_parser): ... creation parts factored out
13917         to this new ctor.
13918         (gdb_xml_parse_quick): Create a local gdb_xml_parser instead of
13919         using gdb_xml_create_parser_and_cleanup.
13920         (xinclude_parsing_data): Add ctor/dtor.
13921         (xml_xinclude_cleanup): Delete.
13922         (xml_process_xincludes): Create a local xinclude_parsing_data
13923         instead of heap-allocating one.  Create a local gdb_xml_parser
13924         instead of heap-allocating one with
13925         gdb_xml_create_parser_and_cleanup.
13926
13927 2017-04-18  John Baldwin  <jhb@FreeBSD.org>
13928
13929         PR threads/20743
13930         * fbsd-nat.c (resume_one_thread_cb): Remove.
13931         (resume_all_threads_cb): Remove.
13932         (fbsd_resume): Use ALL_NON_EXITED_THREADS instead of
13933         iterate_over_threads.
13934
13935 2017-04-17  Joel Brobecker  <brobecker@adacore.com>
13936
13937         * NEWS: Create a new section for the next release branch.
13938         Rename the section of the current branch, now that it has
13939         been cut.
13940
13941 2017-04-17  Joel Brobecker  <brobecker@adacore.com>
13942
13943         GDB 8.0 branch created (725bf5cf125783c2a7ca4ab63d3768e220bab2db):
13944         * version.in: Bump version to 8.0.50.DATE-git.
13945
13946 2017-04-13  Sergio Durigan Junior  <sergiodj@redhat.com>
13947
13948         PR gdb/21385
13949         * windows-nat.c (windows_create_inferior): Declare 'allargs'
13950         independently of the host, and fix build breakage on Cygwin.
13951
13952 2017-04-13  Pedro Alves  <palves@redhat.com>
13953
13954         * inferior.c (free_inferior): Convert to ...
13955         (inferior::~inferior): ... this dtor.
13956         (inferior::inferior): New ctor, factored out from ...
13957         (add_inferior_silent): ... here.  Allocate the inferior with a new
13958         expression.
13959         (delete_inferior): Call delete instead of free_inferior.
13960         * inferior.h (gdb_environ, continuation): Forward declare.
13961         (inferior): Now a class.  Add in-class initialization to all
13962         members.  Make boolean fields bool, except 'detaching'.
13963         (inferior::inferior): New explicit ctor.
13964         (inferior::~inferior): New.
13965
13966 2017-04-13  Pedro Alves  <palves@redhat.com>
13967
13968         * inferior.c (init_inferior_list): Delete.
13969         * inferior.h (init_inferior_list): Delete.
13970
13971 2017-04-13  Pedro Alves  <palves@redhat.com>
13972
13973         PR threads/13217
13974         * gdb.threads/threadapply.exp (thr_apply_detach): New procedure.
13975         (top level): Call it twice, with different thread sets.
13976
13977 2017-04-13  Pedro Alves  <palves@redhat.com>
13978
13979         * thread.c: Include <algorithm>.
13980         (thread_array_cleanup): Delete.
13981         (scoped_inc_dec_ref): New class.
13982         (live_threads_count): New function.
13983         (set_thread_refcount): Delete.
13984         (tp_array_compar_ascending): Now a bool.
13985         (tp_array_compar): Convert to a std::sort comparison function.
13986         (thread_apply_all_command): Use std::vector and scoped_inc_dec_ref
13987         and live_threads_count.
13988
13989 2017-04-13  Pedro Alves  <palves@redhat.com>
13990
13991         * infrun.c (follow_fork_inferior): Also switch the current
13992         inferior.
13993
13994 2017-04-13  Pedro Alves  <palves@redhat.com>
13995
13996         * breakpoint.c (watch_command_1): Save watchpoint-frame info
13997         before calling create_internal_breakpoint.
13998
13999 2017-04-13  Pedro Alves  <palves@redhat.com>
14000
14001         * fork-child.c (execv_argv): New class.
14002         (breakup_args): Refactored as ...
14003         (execv_argv::init_for_no_shell): .. this method of execv_argv.
14004         Copy arguments to storage and replace separators with NULL
14005         terminators in place.
14006         (escape_bang_in_quoted_argument): Adjust to return bool.
14007         (execv_argv::execv_argv): New ctor.
14008         (execv_argv::init_for_shell): New method, factored out from
14009         fork_inferior.  Don't strdup strings into the vector.
14010         (fork_inferior): Eliminate "shell" local and use execv_argv.  Use
14011         Remove free_vector_argv call.
14012
14013 2017-04-13  Yao Qi  <yao.qi@linaro.org>
14014
14015         * rx-tdep.c (rx_fpsw_type): Check tdep->rx_fpsw_type instead of
14016         tdep->rx_psw_type.
14017
14018 2017-04-13  Yao Qi  <yao.qi@linaro.org>
14019
14020         * rl78-tdep.c (rl78_gdbarch_init): Use XCNEW instead of XNEW.
14021         * rx-tdep.c (rx_gdbarch_init): Likewise.
14022
14023 2017-04-13  Pedro Alves  <palves@redhat.com>
14024
14025         * breakpoint.h (struct breakpoint): Reindent.
14026
14027 2017-04-13  Pedro Alves  <palves@redhat.com>
14028
14029         * breakpoint.c (bp_location): Rename to ...
14030         (bp_locations): ... this.  All references updated.
14031         (bp_location_count): Rename to ...
14032         (bp_locations_count): ... this.  All references updated.
14033         (bp_location_placed_address_before_address_max): Rename to ...
14034         (bp_locations_placed_address_before_address_max): ... this.  All
14035         references updated.
14036         (bp_location_shadow_len_after_address_max): Rename to ...
14037         (bp_locations_shadow_len_after_address_max): ... this.  All
14038         references updated.
14039         (bp_location_compare_addrs): Rename to ...
14040         (bp_locations_compare_addrs): ... this.  All references updated.
14041         (bp_location_compare):Rename to ...
14042         (bp_locations_compare): ... this.  All references updated.
14043         (bp_location_target_extensions_update): Rename to ...
14044         (bp_locations_target_extensions_update): ... this.  All references
14045         updated.
14046
14047 2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
14048
14049         * Makefile.in (HFILES_NO_SRCDIR): Add "common/gdb_termios.h".
14050         * common/common.m4: Check headers 'termios.h', 'termio.h' and
14051         'sgtty.h'.
14052         * common/gdb_termios.h: New file, with parts of "terminal.h".
14053         * inflow.c: Include "gdb_termios.h".
14054         * ser-unix.c: Include "gdb_termios.h".
14055         * terminal.h: Move terminal-related defines to
14056         "common/gdb_termios.h".
14057
14058 2017-04-12  Tom Tromey  <tom@tromey.com>
14059
14060         * probe.c (parse_probes): Update.
14061         * location.h (delete_event_location): Don't declare.
14062         (event_location_deleter::operator()): Update.
14063         * location.c (event_location_deleter::operator()): Rename from
14064         delete_event_location.
14065         * linespec.h (linespec_result) <location>: Change type to
14066         event_location_up.
14067         * linespec.c (canonicalize_linespec, event_location_to_sals)
14068         (decode_objc): Update.
14069         (linespec_result): Don't call delete_event_location.
14070         * breakpoint.c (create_breakpoints_sal)
14071         (bkpt_probe_create_sals_from_location)
14072         (strace_marker_create_sals_from_location): Update.
14073
14074 2017-04-12  Tom Tromey  <tom@tromey.com>
14075
14076         * linespec.h (struct linespec_result): Add constructor and
14077         destructor.
14078         (init_linespec_result, destroy_linespec_result)
14079         (make_cleanup_destroy_linespec_result): Don't declare.
14080         * linespec.c (init_linespec_result): Remove.
14081         (linespec_result::~linespec_result): Rename from
14082         destroy_linespec_result.  Update.
14083         (cleanup_linespec_result, make_cleanup_destroy_linespec_result):
14084         Remove.
14085         * breakpoint.c (create_breakpoint, break_range_command)
14086         (decode_location_default): Update.
14087         * ax-gdb.c (agent_command_1): Update.
14088
14089 2017-04-12  Tom Tromey  <tom@tromey.com>
14090
14091         * remote.c (remote_download_tracepoint): Update.
14092         * python/py-breakpoint.c (bppy_get_location): Update.
14093         * guile/scm-breakpoint.c (bpscm_print_breakpoint_smob)
14094         (gdbscm_breakpoint_location): Update.
14095         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Update.
14096         * breakpoint.h (struct breakpoint) <location, location_range_end>:
14097         Change type to event_location_up.
14098         * breakpoint.c (create_overlay_event_breakpoint)
14099         (create_longjmp_master_breakpoint)
14100         (create_std_terminate_master_breakpoint)
14101         (create_exception_master_breakpoint)
14102         (breakpoint_event_location_empty_p, print_breakpoint_location)
14103         (print_one_breakpoint_location, create_thread_event_breakpoint)
14104         (init_breakpoint_sal, create_breakpoint)
14105         (print_recreate_ranged_breakpoint, break_range_command)
14106         (init_ada_exception_breakpoint, say_where): Update.
14107         (base_breakpoint_dtor): Don't call delete_event_location.
14108         (bkpt_print_recreate, tracepoint_print_recreate)
14109         (dprintf_print_recreate, update_static_tracepoint)
14110         (breakpoint_re_set_default): Update.
14111
14112 2017-04-12  Tom Tromey  <tom@tromey.com>
14113
14114         * compile/compile-loc2c.c (compute_stack_depth_worker): Change
14115         type of "to_do".  Update.
14116         (compute_stack_depth): Use std::vector.
14117
14118 2017-04-12  Tom Tromey  <tom@tromey.com>
14119
14120         * printcmd.c (find_instruction_backward): Use std::vector.
14121
14122 2017-04-12  Tom Tromey  <tom@tromey.com>
14123
14124         * symfile.c (objfilep): Remove typedef.
14125         (reread_symbols): Use a std::vector.
14126
14127 2017-04-12  Tom Tromey  <tom@tromey.com>
14128
14129         * mi/mi-main.c (exec_direction_forward): Remove.
14130         (exec_reverse_continue, mi_execute_command): Use scoped_restore.
14131         * guile/scm-ports.c (ioscm_with_output_to_port_worker): Use
14132         scoped_restore.
14133         * guile/guile.c (guile_repl_command, guile_command)
14134         (gdbscm_execute_gdb_command): Use scoped_restore.
14135         * go-exp.y (go_parse): Use scoped_restore.
14136         * d-exp.y (d_parse): Use scoped_restore.
14137         * cli/cli-decode.c (cmd_func): Use scoped_restore.
14138         * c-exp.y (c_parse): Use scoped_restore.
14139
14140 2017-04-12  Tom Tromey  <tom@tromey.com>
14141
14142         * mi/mi-parse.h (struct mi_parse): Add constructor, destructor.
14143         (mi_parse): Update return type.
14144         (mi_parse_free): Remove.
14145         * mi/mi-parse.c (mi_parse::mi_parse): New constructor.
14146         (mi_parse::~mi_parse): Rename from mi_parse_free.
14147         (mi_parse_cleanup): Remove.
14148         (mi_parse): Return a unique_ptr.  Use new.
14149         * mi/mi-main.c (mi_execute_command): Update.
14150
14151 2017-04-12  Tom Tromey  <tom@tromey.com>
14152
14153         * location.c (explicit_location_lex_one): Return a
14154         unique_xmalloc_ptr.
14155         (string_to_explicit_location): Update.  Remove cleanups.
14156
14157 2017-04-12  Tom Tromey  <tom@tromey.com>
14158
14159         * gnu-v3-abi.c (value_and_voffset_p): Remove typedef.
14160         (compare_value_and_voffset): Change type.  Update.
14161         (compute_vtable_size): Change type of "offset_vec".
14162         (gnuv3_print_vtable): Use std::vector.  Remove cleanups.
14163         (gnuv3_get_typeid): Remove extraneous declaration.
14164
14165 2017-04-12  Tom Tromey  <tom@tromey.com>
14166
14167         * charset.h (wchar_iterator): Fix comment.
14168
14169 2017-04-12  Tom Tromey  <tom@tromey.com>
14170
14171         * charset.c (iconv_wrapper): New class.
14172         (cleanup_iconv): Remove.
14173         (convert_between_encodings): Use it.
14174
14175 2017-04-12  Tom Tromey  <tom@tromey.com>
14176
14177         * symfile.h (increment_reading_symtab): Update type.
14178         * symfile.c (decrement_reading_symtab): Remove.
14179         (increment_reading_symtab): Return a scoped_restore_tmpl<int>.
14180         * psymtab.c (psymtab_to_symtab): Update.
14181         * dwarf2read.c (dw2_instantiate_symtab): Update.
14182
14183 2017-04-12  Tom Tromey  <tom@tromey.com>
14184
14185         * jit.c (struct jit_reader): Declare separately.  Add constructor
14186         and destructor.  Change type of "handle".
14187         (loaded_jit_reader): Define separately.
14188         (jit_reader_load): Update.  New "new".
14189         (jit_reader_unload_command): Use "delete".
14190         * gdb-dlfcn.h (struct dlclose_deleter): New.
14191         (gdb_dlhandle_up): New typedef.
14192         (gdb_dlopen, gdb_dlsym): Update types.
14193         (gdb_dlclose): Remove.
14194         * gdb-dlfcn.c (gdb_dlopen): Return a gdb_dlhandle_up.
14195         (gdb_dlsym): Change type of "handle".
14196         (make_cleanup_dlclose): Remove.
14197         (dlclose_deleter::operator()): Rename from gdb_dlclose.
14198         * compile/compile-c-support.c (load_libcc): Update.
14199
14200 2017-04-12  Tom Tromey  <tom@tromey.com>
14201
14202         * symtab.h (find_pcs_for_symtab_line): Change return type.
14203         * symtab.c (find_pcs_for_symtab_line): Change return type.
14204         * python/py-linetable.c (build_line_table_tuple_from_pcs): Change
14205         type of "vec".  Update.
14206         (ltpy_get_pcs_for_line): Update.
14207         * linespec.c (decode_digits_ordinary): Update.
14208
14209 2017-04-12  Tom Tromey  <tom@tromey.com>
14210
14211         * tracepoint.c (actions_command): Update.
14212         * python/python.c (python_command, python_interactive_command):
14213         Update.
14214         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
14215         * guile/guile.c (guile_command): Update.
14216         * defs.h (read_command_lines, read_command_lines_1): Return
14217         command_line_up.
14218         (command_lines_deleter): New struct.
14219         (command_line_up): New typedef.
14220         * compile/compile.c (compile_code_command)
14221         (compile_print_command): Update.
14222         * cli/cli-script.h (get_command_line, copy_command_lines): Return
14223         command_line_up.
14224         (make_cleanup_free_command_lines): Remove.
14225         * cli/cli-script.c (get_command_line, read_command_lines_1)
14226         (copy_command_lines): Return command_line_up.
14227         (while_command, if_command, read_command_lines, define_command)
14228         (document_command): Update.
14229         (do_free_command_lines_cleanup, make_cleanup_free_command_lines):
14230         Remove.
14231         * breakpoint.h (breakpoint_set_commands): Change type of
14232         "commands".
14233         * breakpoint.c (breakpoint_set_commands): Change type of
14234         "commands".  Update.
14235         (do_map_commands_command, update_dprintf_command_list)
14236         (create_tracepoint_from_upload): Update.
14237
14238 2017-04-12  Tom Tromey  <tom@tromey.com>
14239
14240         * tracepoint.c (scope_info): Update.
14241         * spu-tdep.c (spu_catch_start): Update.
14242         * python/python.c (gdbpy_decode_line): Update.
14243         * python/py-finishbreakpoint.c (bpfinishpy_init): Update.
14244         * python/py-breakpoint.c (bppy_init): Update.
14245         * probe.c (parse_probes): Update.
14246         * mi/mi-cmd-break.c (mi_cmd_break_insert_1): Update.
14247         * location.h (event_location_deleter): New struct.
14248         (event_location_up): New typedef.
14249         (new_linespec_location, new_address_location, new_probe_location)
14250         (new_explicit_location, copy_event_location)
14251         (string_to_event_location, string_to_event_location_basic)
14252         (string_to_explicit_location): Update return type.
14253         (make_cleanup_delete_event_location): Remove.
14254         * location.c (new_linespec_location, new_address_location)
14255         (new_probe_location, new_explicit_location, copy_event_location):
14256         Return event_location_up.
14257         (delete_event_location_cleanup)
14258         (make_cleanup_delete_event_location): Remove.
14259         (string_to_explicit_location, string_to_event_location_basic)
14260         (string_to_event_location): Return event_location_up.
14261         * linespec.c (canonicalize_linespec, event_location_to_sals)
14262         (decode_line_with_current_source)
14263         (decode_line_with_last_displayed, decode_objc): Update.
14264         * guile/scm-breakpoint.c (gdbscm_register_breakpoint_x): Update.
14265         * completer.c (location_completer): Update.
14266         * cli/cli-cmds.c (edit_command, list_command): Update.
14267         * breakpoint.c (create_overlay_event_breakpoint)
14268         (create_longjmp_master_breakpoint)
14269         (create_std_terminate_master_breakpoint)
14270         (create_exception_master_breakpoint)
14271         (create_thread_event_breakpoint): Update.
14272         (init_breakpoint_sal): Update.  Remove some dead code.
14273         (create_breakpoint_sal): Change type of "location".  Update.
14274         (create_breakpoints_sal, create_breakpoint, break_command_1)
14275         (dprintf_command, break_range_command, until_break_command)
14276         (init_ada_exception_breakpoint)
14277         (strace_marker_create_sals_from_location)
14278         (update_static_tracepoint, trace_command, ftrace_command)
14279         (strace_command, create_tracepoint_from_upload): Update.
14280         * break-catch-throw.c (re_set_exception_catchpoint): Update.
14281         * ax-gdb.c (agent_command_1): Update.
14282
14283 2017-04-12  Pedro Alves  <palves@redhat.com>
14284
14285         * Makefile.in (ALL_TARGET_OBS): Add i386-go32-tdep.o.
14286         * configure.tgt: Handle i[34567]86-*-go32* and
14287         i[34567]86-*-msdosdjgpp*.
14288         * i386-tdep.c (i386_svr4_reg_to_regnum):
14289         Make extern.
14290         (i386_go32_init_abi, i386_coff_osabi_sniffer): Moved to
14291         i386-go32-tdep.c.
14292         (_initialize_i386_tdep): DJGPP bits moved to i386-go32-tdep.c.
14293         * i386-go32-tdep.c: New file.
14294         * i386-tdep.h (tdesc_i386_mmx, i386_svr4_reg_to_regnum): New
14295         declarations.
14296
14297 2017-04-12  Simon Marchi  <simon.marchi@ericsson.com>
14298
14299         * aix-thread.c (pd_status2str): Change return type to const char *.
14300
14301 2017-04-12  Pedro Alves  <palves@redhat.com>
14302
14303         * i386-tdep.c (i386_elf_init_abi, i386_go32_init_abi): Remove
14304         calls to set_gdbarch_gnu_triplet_regexp.
14305
14306 2017-04-12  Pedro Alves  <palves@redhat.com>
14307
14308         PR gdb/21323
14309         * c-lang.c (cplus_primitive_types) <cplus_primitive_type_wchar_t>:
14310         New enum value.
14311         (cplus_language_arch_info): Register cplus_primitive_type_wchar_t.
14312         * gdbtypes.h (struct builtin_type) <builtin_wchar>: New field.
14313         * gdbtypes.c (gdbtypes_post_init): Create the "wchar_t" type.
14314         * gdbarch.sh (wchar_bit, wchar_signed): New per-arch values.
14315         * gdbarch.h, gdbarch.c: Regenerate.
14316         * aarch64-tdep.c (aarch64_gdbarch_init): Override
14317         gdbarch_wchar_bit and gdbarch_wchar_signed.
14318         * alpha-tdep.c (alpha_gdbarch_init): Likewise.
14319         * arm-tdep.c (arm_gdbarch_init): Likewise.
14320         * avr-tdep.c (avr_gdbarch_init): Likewise.
14321         * h8300-tdep.c (h8300_gdbarch_init): Likewise.
14322         * i386-nto-tdep.c (i386nto_init_abi): Likewise.
14323         * i386-tdep.c (i386_go32_init_abi): Likewise.
14324         * m32r-tdep.c (m32r_gdbarch_init): Likewise.
14325         * moxie-tdep.c (moxie_gdbarch_init): Likewise.
14326         * nds32-tdep.c (nds32_gdbarch_init): Likewise.
14327         * rs6000-aix-tdep.c (rs6000_aix_init_osabi): Likewise.
14328         * sh-tdep.c (sh_gdbarch_init): Likewise.
14329         * sparc-tdep.c (sparc32_gdbarch_init): Likewise.
14330         * sparc64-tdep.c (sparc64_init_abi): Likewise.
14331         * windows-tdep.c (windows_init_abi): Likewise.
14332         * xstormy16-tdep.c (xstormy16_gdbarch_init): Likewise.
14333
14334 2017-04-12  Pedro Alves  <palves@redhat.com>
14335
14336         PR c++/21323
14337         * c-lang.c (cplus_primitive_types) <cplus_primitive_type_char16_t,
14338         cplus_primitive_type_char32_t>: New enum values.
14339         (cplus_language_arch_info): Register cplus_primitive_type_char16_t
14340         and cplus_primitive_type_char32_t.
14341         * dwarf2read.c (read_base_type) <DW_ATE_UTF>: If bit size is 16 or
14342         32, use the archtecture's built-in type for char16_t and char32_t,
14343         respectively.  Otherwise, fallback to init_integer_type as before,
14344         but make the type unsigned, and issue a complaint.
14345         * gdbtypes.c (gdbtypes_post_init): Make char16_t and char32_t unsigned.
14346
14347 2017-04-12  Alan Hayward  <alan.hayward@arm.com>
14348
14349         * m32r-tdep.c (M32R_ARG_REGISTER_SIZE): Added.
14350         (m32r_push_dummy_call): Use M32R_ARG_REGISTER_SIZE.
14351
14352 2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
14353
14354         * windows-nat.c (windows_create_inferior): Declare 'toexec' as
14355         'const char *'.
14356
14357 2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
14358
14359         * common/common-utils.c (free_vector_argv): New function.
14360         * common/common-utils.h: Include <vector>.
14361         (free_vector_argv): New prototype.
14362         * darwin-nat.c (darwin_create_inferior): Rewrite function
14363         prototype in order to constify "exec_file" and accept a
14364         "std::string" for "allargs".
14365         * fork-child.c: Include <vector>.
14366         (breakup_args): Rewrite function, using C++.
14367         (fork_inferior): Rewrite function header, constify "exec_file_arg"
14368         and accept "std::string" for "allargs".  Update the code to
14369         calculate "argv" based on "allargs".  Update calls to "exec_fun"
14370         and "execvp".
14371         * gnu-nat.c (gnu_create_inferior): Rewrite function prototype in
14372         order to constify "exec_file" and accept a "std::string" for
14373         "allargs".
14374         * go32-nat.c (go32_create_inferior): Likewise.
14375         * inf-ptrace.c (inf_ptrace_create_inferior): Likewise.
14376         * infcmd.c (run_command_1): Constify "exec_file".  Use
14377         "std::string" for inferior arguments.
14378         * inferior.h (fork_inferior): Update prototype.
14379         * linux-nat.c (linux_nat_create_inferior): Rewrite function
14380         prototype in order to constify "exec_file" and accept a
14381         "std::string" for "allargs".
14382         * nto-procfs.c (procfs_create_inferior): Likewise.
14383         * procfs.c (procfs_create_inferior): Likewise.
14384         * remote-sim.c (gdbsim_create_inferior): Likewise.
14385         * remote.c (extended_remote_run): Update code to accept
14386         "std::string" as argument.
14387         (extended_remote_create_inferior): Rewrite function prototype in
14388         order to constify "exec_file" and accept a "std::string" for
14389         "allargs".
14390         * rs6000-nat.c (super_create_inferior): Likewise.
14391         (rs6000_create_inferior): Likewise.
14392         * target.h (struct target_ops) <to_create_inferior>: Likewise.
14393         * windows-nat.c (windows_create_inferior): Likewise.
14394
14395 2017-04-11  Pedro Alves  <palves@redhat.com>
14396
14397         * thread.c: Fix whitespace throughout.
14398
14399 2017-04-11  Philipp Rudo  <prudo@linux.vnet.ibm.com>
14400
14401         * linux-nat.c (linux_nat_detach): Remove delete_lwp call.
14402
14403 2017-04-11  Alan Hayward  <alan.hayward@arm.com>
14404
14405         * arm-tdep.c (arm_store_return_value): Use FP_REGISTER_SIZE
14406
14407 2017-04-10  Sergio Durigan Junior  <sergiodj@redhat.com>
14408
14409         PR gdb/21364
14410         * osdata.c (info_osdata): Check if 'type' is an empty string
14411         instead of NULL.
14412
14413 2017-04-10  Pedro Alves  <palves@redhat.com>
14414
14415         * thread.c (add_thread_silent, delete_thread_1, find_thread_ptid)
14416         (ptid_to_global_thread_id, in_thread_list)
14417         (do_captured_list_thread_ids, set_resumed, set_running)
14418         (set_executing, set_stop_requested, finish_thread_state)
14419         (validate_registers_access, can_access_registers_ptid)
14420         (print_thread_info_1, switch_to_thread)
14421         (do_restore_current_thread_cleanup)
14422         (make_cleanup_restore_current_thread, thread_command)
14423         (thread_name_command): Use operator== instead of ptid_equal.
14424
14425 2017-04-10  Pedro Alves  <palves@redhat.com>
14426
14427         * thread.c (struct current_thread_cleanup) <next>: Delete field.
14428         (current_thread_cleanup_chain): Delete.
14429         (restore_current_thread_cleanup_dtor)
14430         (make_cleanup_restore_current_thread): Remove references to
14431         current_thread_cleanup_chain.
14432
14433 2017-04-10  Alan Hayward  <alan.hayward@arm.com>
14434
14435         * msp430-tdep.c (msp430_pseudo_register_read): Never return
14436         REG_UNKNOWN.
14437
14438 2017-04-10  Yao Qi  <yao.qi@linaro.org>
14439
14440         PR gdb/19942
14441         * gdbthread.h (thread_info::deletable): New method.
14442         (thread_info::incref): New method.
14443         (thread_info::decref): New method.
14444         (thread_info::refcount): Move it to private.
14445         * infrun.c (save_stop_context): Call inc_refcount.
14446         (release_stop_context_cleanup): Likewise.
14447         * thread.c (set_thread_exited): New function.
14448         (init_thread_list): Delete "tp" only it is deletable, otherwise
14449         call set_thread_exited.
14450         (delete_thread_1): Call set_thread_exited.
14451         (current_thread_cleanup) <inferior_pid>: Remove.
14452         <thread>: New field.
14453         (restore_current_thread_ptid_changed): Removed.
14454         (do_restore_current_thread_cleanup): Adjust.
14455         (restore_current_thread_cleanup_dtor): Don't call
14456         find_thread_ptid.
14457         (set_thread_refcount): Use dec_refcount.
14458         (make_cleanup_restore_current_thread): Adjust.
14459         (thread_apply_all_command): Call inc_refcount.
14460         (_initialize_thread): Don't call
14461         observer_attach_thread_ptid_changed.
14462
14463 2017-04-10  Yao Qi  <yao.qi@linaro.org>
14464
14465         * thread.c (delete_thread_1): Hoist code on marking thread as
14466         exited.
14467
14468 2017-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
14469
14470         * windows-nat.c (windows_detach): Initialize ptid with
14471         minus_one_ptid.
14472
14473 2017-04-07  Simon Marchi  <simon.marchi@ericsson.com>
14474
14475         * unittests/ptid-selftests.c: Fix erroneous assert messages.
14476
14477 2017-04-07  Alan Hayward  <alan.hayward@arm.com>
14478
14479         * bfin-tdep.c (BFIN_MAX_REGISTER_SIZE): Add.
14480         (bfin_pseudo_register_read): Use BFIN_MAX_REGISTER_SIZE.
14481         (bfin_pseudo_register_write): Likewise
14482
14483 2017-04-06  Simon Marchi  <simon.marchi@ericsson.com>
14484
14485         * common/ptid.h (struct ptid): Change to...
14486         (class ptid_t): ... this.
14487         <ptid_t>: New constructors.
14488         <pid, lwp_p, lwp, tid_p, tid, is_pid, operator==, operator!=,
14489         matches>: New methods.
14490         <make_null, make_minus_one>: New static methods.
14491         <pid>: Rename to...
14492         <m_pid>: ...this.
14493         <lwp>: Rename to...
14494         <m_lwp>: ...this.
14495         <tid>: Rename to...
14496         <m_tid>: ...this.
14497         (ptid_build, ptid_get_pid, ptid_get_lwp, ptid_get_tid, ptid_equal,
14498         ptid_is_pid, ptid_lwp_p, ptid_tid_p, ptid_match): Take ptid arguments
14499         as references, move comment to class ptid_t.
14500         * common/ptid.c (null_ptid, minus_one_ptid): Initialize with
14501         ptid_t static methods.
14502         (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_tid,
14503         ptid_equal, ptid_is_pid, ptid_lwp_p, ptid_tid_p, ptid_match):
14504         Take ptid arguments as references, implement using ptid_t methods.
14505         * unittests/ptid-selftests.c: New file.
14506         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
14507         unittests/ptid-selftests.c.
14508         (SUBDIR_UNITTESTS_OBS): Add unittests/ptid-selftests.o.
14509
14510 2017-04-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
14511
14512         * python/python.c (python_run_simple_file): Cast mode literal to
14513         non-const char pointer as expected by PyFile_FromString.
14514
14515 2017-04-05  Simon Marchi  <simon.marchi@ericsson.com>
14516
14517         * common/ptid.c (ptid_lwp_p, ptid_tid_p): Remove comparison with
14518         minus_one_ptid and null_ptid.
14519
14520 2017-04-05  Pedro Alves  <palves@redhat.com>
14521
14522         * warning.m4 (build_warnings): Remove -Wno-write-strings.
14523         * configure: Regenerate.
14524
14525 2017-04-05  Pedro Alves  <palves@redhat.com>
14526
14527         * ada-exp.y (yyerror): Constify.
14528         * ada-lang.c (bound_name, get_selections)
14529         (ada_variant_discrim_type)
14530         (ada_variant_discrim_name, ada_value_struct_elt)
14531         (ada_lookup_struct_elt_type, is_unchecked_variant)
14532         (ada_which_variant_applies, standard_exc, ada_get_next_arg)
14533         (catch_ada_exception_command_split)
14534         (catch_ada_assert_command_split, catch_assert_command)
14535         (ada_op_name): Constify.
14536         * ada-lang.h (ada_yyerror, get_selections)
14537         (ada_variant_discrim_name, ada_value_struct_elt): Constify.
14538         * arc-tdep.c (arc_print_frame_cache): Constify.
14539         * arm-tdep.c (arm_skip_stub): Constify.
14540         * ax-gdb.c (gen_binop, gen_struct_ref_recursive, gen_struct_ref)
14541         (gen_aggregate_elt_ref): Constify.
14542         * bcache.c (print_bcache_statistics): Constify.
14543         * bcache.h (print_bcache_statistics): Constify.
14544         * break-catch-throw.c (catch_exception_command_1):
14545         * breakpoint.c (struct ep_type_description::description):
14546         Constify.
14547         (add_solib_catchpoint): Constify.
14548         (catch_fork_command_1): Add cast.
14549         (add_catch_command): Constify.
14550         * breakpoint.h (add_catch_command, add_solib_catchpoint):
14551         Constify.
14552         * bsd-uthread.c (bsd_uthread_state): Constify.
14553         * buildsym.c (patch_subfile_names): Constify.
14554         * buildsym.h (next_symbol_text_func, patch_subfile_names):
14555         Constify.
14556         * c-exp.y (yyerror): Constify.
14557         (token::oper): Constify.
14558         * c-lang.h (c_yyerror, cp_print_class_member): Constify.
14559         * c-varobj.c (cplus_describe_child): Constify.
14560         * charset.c (find_charset_names): Add cast.
14561         (find_charset_names): Constify array and add const_cast.
14562         * cli/cli-cmds.c (complete_command, cd_command): Constify.
14563         (edit_command): Constify.
14564         * cli/cli-decode.c (lookup_cmd): Constify.
14565         * cli/cli-dump.c (dump_memory_command, dump_value_command):
14566         Constify.
14567         (struct dump_context): Constify.
14568         (add_dump_command, restore_command): Constify.
14569         * cli/cli-script.c (get_command_line): Constify.
14570         * cli/cli-script.h (get_command_line): Constify.
14571         * cli/cli-utils.c (check_for_argument): Constify.
14572         * cli/cli-utils.h (check_for_argument): Constify.
14573         * coff-pe-read.c (struct read_pe_section_data): Constify.
14574         * command.h (lookup_cmd): Constify.
14575         * common/print-utils.c (decimal2str): Constify.
14576         * completer.c (gdb_print_filename): Constify.
14577         * corefile.c (set_gnutarget): Constify.
14578         * cp-name-parser.y (yyerror): Constify.
14579         * cp-valprint.c (cp_print_class_member): Constify.
14580         * cris-tdep.c (cris_register_name, crisv32_register_name):
14581         Constify.
14582         * d-exp.y (yyerror): Constify.
14583         (struct token::oper): Constify.
14584         * d-lang.h (d_yyerror): Constify.
14585         * dbxread.c (struct header_file_location::name): Constify.
14586         (add_old_header_file, add_new_header_file, last_function_name)
14587         (dbx_next_symbol_text, add_bincl_to_list)
14588         (find_corresponding_bincl_psymtab, set_namestring)
14589         (find_stab_function_addr, read_dbx_symtab, start_psymtab)
14590         (dbx_end_psymtab, read_ofile_symtab, process_one_symbol):
14591         * defs.h (command_line_input, print_address_symbolic)
14592         (deprecated_readline_begin_hook): Constify.
14593         * dwarf2read.c (anonymous_struct_prefix, dwarf_bool_name):
14594         Constify.
14595         * event-top.c (handle_line_of_input): Constify and add cast.
14596         * exceptions.c (catch_errors): Constify.
14597         * exceptions.h (catch_errors): Constify.
14598         * expprint.c (print_subexp_standard, op_string, op_name)
14599         (op_name_standard, dump_raw_expression, dump_raw_expression):
14600         * expression.h (op_name, op_string, dump_raw_expression):
14601         Constify.
14602         * f-exp.y (yyerror): Constify.
14603         (struct token::oper): Constify.
14604         (struct f77_boolean_val::name): Constify.
14605         * f-lang.c (f_word_break_characters): Constify.
14606         * f-lang.h (f_yyerror): Constify.
14607         * fork-child.c (fork_inferior): Add cast.
14608         * frv-tdep.c (struct gdbarch_tdep::register_names): Constify.
14609         (new_variant): Constify.
14610         * gdbarch.sh (pstring_ptr, pstring_list): Constify.
14611         * gdbarch.c: Regenerate.
14612         * gdbcore.h (set_gnutarget): Constify.
14613         * go-exp.y (yyerror): Constify.
14614         (token::oper): Constify.
14615         * go-lang.h (go_yyerror): Constify.
14616         * go32-nat.c (go32_sysinfo): Constify.
14617         * guile/scm-breakpoint.c (gdbscm_breakpoint_expression): Constify.
14618         * guile/scm-cmd.c (cmdscm_function): Constify.
14619         * guile/scm-param.c (pascm_param_value): Constify.
14620         * h8300-tdep.c (h8300_register_name, h8300s_register_name)
14621         (h8300sx_register_name): Constify.
14622         * hppa-tdep.c (hppa32_register_name, hppa64_register_name):
14623         Constify.
14624         * ia64-tdep.c (ia64_register_names): Constify.
14625         * infcmd.c (construct_inferior_arguments): Constify.
14626         (path_command, attach_post_wait): Constify.
14627         * language.c (show_range_command, show_case_command)
14628         (unk_lang_error): Constify.
14629         * language.h (language_defn::la_error)
14630         (language_defn::la_name_of_this): Constify.
14631         * linespec.c (decode_line_2): Constify.
14632         * linux-thread-db.c (thread_db_err_str): Constify.
14633         * lm32-tdep.c (lm32_register_name): Constify.
14634         * m2-exp.y (yyerror): Constify.
14635         * m2-lang.h (m2_yyerror): Constify.
14636         * m32r-tdep.c (m32r_register_names): Constify and make static.
14637         * m68hc11-tdep.c (m68hc11_register_names): Constify.
14638         * m88k-tdep.c (m88k_register_name): Constify.
14639         * macroexp.c (appendmem): Constify.
14640         * mdebugread.c (fdr_name, add_data_symbol, parse_type)
14641         (upgrade_type, parse_external, parse_partial_symbols)
14642         (mdebug_next_symbol_text, cross_ref, mylookup_symbol, new_psymtab)
14643         (new_symbol): Constify.
14644         * memattr.c (mem_info_command): Constify.
14645         * mep-tdep.c (register_name_from_keyword): Constify.
14646         * mi/mi-cmd-env.c (mi_cmd_env_path, _initialize_mi_cmd_env):
14647         Constify.
14648         * mi/mi-cmd-stack.c (list_args_or_locals): Constify.
14649         * mi/mi-cmd-var.c (mi_cmd_var_show_attributes): Constify.
14650         * mi/mi-main.c (captured_mi_execute_command): Constify and add
14651         cast.
14652         (mi_execute_async_cli_command): Constify.
14653         * mips-tdep.c (mips_register_name): Constify.
14654         * mn10300-tdep.c (register_name, mn10300_generic_register_name)
14655         (am33_register_name, am33_2_register_name)
14656         * moxie-tdep.c (moxie_register_names): Constify.
14657         * nat/linux-osdata.c (osdata_type): Constify fields.
14658         * nto-tdep.c (nto_parse_redirection): Constify.
14659         * objc-lang.c (lookup_struct_typedef, lookup_objc_class)
14660         (lookup_child_selector): Constify.
14661         (objc_methcall::name): Constify.
14662         * objc-lang.h (lookup_objc_class, lookup_child_selector)
14663         (lookup_struct_typedef): Constify.
14664         * objfiles.c (pc_in_section): Constify.
14665         * objfiles.h (pc_in_section): Constify.
14666         * p-exp.y (struct token::oper): Constify.
14667         (yyerror): Constify.
14668         * p-lang.h (pascal_yyerror): Constify.
14669         * parser-defs.h (op_name_standard): Constify.
14670         (op_print::string): Constify.
14671         (exp_descriptor::op_name): Constify.
14672         * printcmd.c (print_address_symbolic): Constify.
14673         * psymtab.c (print_partial_symbols): Constify.
14674         * python/py-breakpoint.c (stop_func): Constify.
14675         (bppy_get_expression): Constify.
14676         * python/py-cmd.c (cmdpy_completer::name): Constify.
14677         (cmdpy_function): Constify.
14678         * python/py-event.c (evpy_add_attribute)
14679         (gdbpy_initialize_event_generic): Constify.
14680         * python/py-event.h (evpy_add_attribute)
14681         (gdbpy_initialize_event_generic): Constify.
14682         * python/py-evts.c (add_new_registry): Constify.
14683         * python/py-finishbreakpoint.c (outofscope_func): Constify.
14684         * python/py-framefilter.c (get_py_iter_from_func): Constify.
14685         * python/py-inferior.c (get_buffer): Add cast.
14686         * python/py-param.c (parm_constant::name): Constify.
14687         * python/py-unwind.c (fprint_frame_id): Constify.
14688         * python/python.c (gdbpy_parameter_value): Constify.
14689         * remote-fileio.c (remote_fio_func_map): Make 'name' const.
14690         * remote.c (memory_packet_config::name): Constify.
14691         (show_packet_config_cmd, remote_write_bytes)
14692         (remote_buffer_add_string):
14693         * reverse.c (exec_reverse_once): Constify.
14694         * rs6000-tdep.c (variant::name, variant::description): Constify.
14695         * rust-exp.y (rustyyerror): Constify.
14696         * rust-lang.c (rust_op_name): Constify.
14697         * rust-lang.h (rustyyerror): Constify.
14698         * serial.h (serial_ops::name): Constify.
14699         * sh-tdep.c (sh_sh_register_name, sh_sh3_register_name)
14700         (sh_sh3e_register_name, sh_sh2e_register_name)
14701         (sh_sh2a_register_name, sh_sh2a_nofpu_register_name)
14702         (sh_sh_dsp_register_name, sh_sh3_dsp_register_name)
14703         (sh_sh4_register_name, sh_sh4_nofpu_register_name)
14704         (sh_sh4al_dsp_register_name): Constify.
14705         * sh64-tdep.c (sh64_register_name): Constify.
14706         * solib-darwin.c (lookup_symbol_from_bfd): Constify.
14707         * spu-tdep.c (spu_register_name, info_spu_dma_cmdlist): Constify.
14708         * stabsread.c (patch_block_stabs, read_type_number)
14709         (ref_map::stabs, ref_add, process_reference)
14710         (symbol_reference_defined, define_symbol, define_symbol)
14711         (error_type, read_type, read_member_functions, read_cpp_abbrev)
14712         (read_one_struct_field, read_struct_fields, read_baseclasses)
14713         (read_tilde_fields, read_struct_type, read_array_type)
14714         (read_enum_type, read_sun_builtin_type, read_sun_floating_type)
14715         (read_huge_number, read_range_type, read_args, common_block_start)
14716         (find_name_end): Constify.
14717         * stabsread.h (common_block_start, define_symbol)
14718         (process_one_symbol, symbol_reference_defined, ref_add):
14719         * symfile.c (get_section_index, add_symbol_file_command):
14720         * symfile.h (get_section_index): Constify.
14721         * target-descriptions.c (tdesc_type::name): Constify.
14722         (tdesc_free_type): Add cast.
14723         * target.c (find_default_run_target):
14724         (add_deprecated_target_alias, find_default_run_target)
14725         (target_announce_detach): Constify.
14726         (do_option): Constify.
14727         * target.h (add_deprecated_target_alias): Constify.
14728         * thread.c (print_thread_info_1): Constify.
14729         * top.c (deprecated_readline_begin_hook, command_line_input):
14730         Constify.
14731         (init_main): Add casts.
14732         * top.h (handle_line_of_input): Constify.
14733         * tracefile-tfile.c (tfile_write_uploaded_tsv): Constify.
14734         * tracepoint.c (tvariables_info_1, trace_status_mi): Constify.
14735         (tfind_command): Rename to ...
14736         (tfind_command_1): ... this and constify.
14737         (tfind_command): New function.
14738         (tfind_end_command, tfind_start_command): Adjust.
14739         (encode_source_string): Constify.
14740         * tracepoint.h (encode_source_string): Constify.
14741         * tui/tui-data.c (tui_partial_win_by_name): Constify.
14742         * tui/tui-data.h (tui_partial_win_by_name): Constify.
14743         * tui/tui-source.c (tui_set_source_content_nil): Constify.
14744         * tui/tui-source.h (tui_set_source_content_nil): Constify.
14745         * tui/tui-win.c (parse_scrolling_args): Constify.
14746         * tui/tui-windata.c (tui_erase_data_content): Constify.
14747         * tui/tui-windata.h (tui_erase_data_content): Constify.
14748         * tui/tui-winsource.c (tui_erase_source_content): Constify.
14749         * tui/tui.c (tui_enable): Add cast.
14750         * utils.c (defaulted_query): Constify.
14751         (init_page_info): Add cast.
14752         (puts_debug, subset_compare): Constify.
14753         * utils.h (subset_compare): Constify.
14754         * varobj.c (varobj_format_string): Constify.
14755         * varobj.h (varobj_format_string): Constify.
14756         * vax-tdep.c (vax_register_name): Constify.
14757         * windows-nat.c (windows_detach): Constify.
14758         * xcoffread.c (process_linenos, xcoff_next_symbol_text): Constify.
14759         * xml-support.c (gdb_xml_end_element): Constify.
14760         * xml-tdesc.c (tdesc_start_reg): Constify.
14761         * xstormy16-tdep.c (xstormy16_register_name): Constify.
14762         * xtensa-tdep.c (xtensa_find_register_by_name): Constify.
14763         * xtensa-tdep.h (xtensa_register_t::name): Constify.
14764
14765 2017-04-05  Pedro Alves  <palves@redhat.com>
14766
14767         * proc-api.c (struct trans): Constify.
14768         (procfs_note): Constify.
14769         * proc-events.c (struct trans, syscall_table):
14770         * proc-flags.c (struct trans): Constify.
14771         * proc-utils.h (procfs_note): Constify.
14772         * proc-why.c (struct trans): Constify.
14773         * procfs.c (dead_procinfo, find_syscall, proc_warn, proc_error)
14774         (procfs_detach): Constify.
14775         * sol-thread.c (struct string_map): Constify.
14776         (td_err_string, td_state_string): Constify.
14777
14778 2017-04-05  Pedro Alves  <palves@redhat.com>
14779
14780         * proc-api.c (procfs_filename): Don't initialize
14781         procfs_filename.
14782         (prepare_to_trace): Assume procfs_filename is non-NULL.
14783         (_initialize_proc_api): Give procfs_filename a default value here.
14784
14785 2017-04-05  Pedro Alves  <palves@redhat.com>
14786
14787         * break-catch-throw.c (handle_gnu_v3_exceptions): Constify
14788         'cond_string' parameter.
14789         (extract_exception_regexp): Constify 'string' parameter.
14790         (catch_exception_command_1): Constify.
14791         * breakpoint.c (init_catchpoint)
14792         (create_fork_vfork_event_catchpoint): Constify 'cond_string'
14793         parameter.
14794         (ep_parse_optional_if_clause, catch_fork_command_1)
14795         (catch_exec_command_1): Constify.
14796         * breakpoint.h (init_catchpoint): Constify 'cond_string'
14797         parameter.
14798         (ep_parse_optional_if_clause): Constify.
14799         * cli/cli-utils.c (remove_trailing_whitespace)
14800         (check_for_argument): Constify.
14801         * cli/cli-utils.h (remove_trailing_whitespace): Constify and add
14802         non-const overload.
14803         (check_for_argument): Likewise.
14804
14805 2017-04-05  Pedro Alves  <palves@redhat.com>
14806
14807         * event-top.c (command_line_handler): Add cast to execute_command
14808         call.
14809         * record-btrace.c (cmd_record_btrace_bts_start)
14810         (cmd_record_btrace_pt_start, cmd_record_btrace_start)
14811         (cmd_record_btrace_start): Add cast to execute_command call.
14812         * record-full.c (record_full_goto_insn):
14813         * record.c (record_start, record_stop): Add cast to
14814         execute_command_to_string calls.
14815         (cmd_record_start): Add cast to execute_command calls.
14816
14817 2017-04-05  Pedro Alves  <palves@redhat.com>
14818
14819         * python/python-internal.h (gdb_PyArg_ParseTupleAndKeywords): New
14820         static inline function.
14821         * python/py-arch.c (archpy_disassemble): Constify 'keywords'
14822         array and use gdb_PyArg_ParseTupleAndKeywords.
14823         * python/py-cmd.c (cmdpy_init): Likewise.
14824         * python/py-finishbreakpoint.c (bpfinishpy_init): Likewise.
14825         * python/py-inferior.c (infpy_read_memory, infpy_write_memory)
14826         (infpy_search_memory): Likewise.
14827         * python/py-objfile.c (objfpy_add_separate_debug_file)
14828         (gdbpy_lookup_objfile): Likewise.
14829         * python/py-symbol.c (gdbpy_lookup_symbol)
14830         (gdbpy_lookup_global_symbol): Likewise.
14831         * python/py-type.c (gdbpy_lookup_type): Likewise.
14832         * python/py-value.c (valpy_lazy_string, valpy_string): Likewise.
14833         * python/python.c (execute_gdb_command, gdbpy_write, gdbpy_flush):
14834         Likewise.
14835
14836 2017-04-05  Pedro Alves  <palves@redhat.com>
14837
14838         * python/python-internal.h (gdb_PyGetSetDef): New type.
14839         * python/py-block.c (block_object_getset)
14840         (breakpoint_object_getset): Now a gdb_PyGetSetDef array.
14841         * python/py-event.c (event_object_getset)
14842         (finish_breakpoint_object_getset): Likewise.
14843         * python/py-inferior.c (inferior_object_getset): Likewise.
14844         * python/py-infthread.c (thread_object_getset): Likewise.
14845         * python/py-lazy-string.c (lazy_string_object_getset): Likewise.
14846         * python/py-linetable.c (linetable_entry_object_getset): Likewise.
14847         * python/py-objfile.c (objfile_getset): Likewise.
14848         * python/py-progspace.c (pspace_getset): Likewise.
14849         * python/py-record-btrace.c (btpy_insn_getset, btpy_call_getset):
14850         Likewise.
14851         * python/py-record.c (recpy_record_getset): Likewise.
14852         * python/py-symbol.c (symbol_object_getset): Likewise.
14853         * python/py-symtab.c (symtab_object_getset, sal_object_getset):
14854         Likewise.
14855         * python/py-type.c (type_object_getset, field_object_getset):
14856         Likewise.
14857         * python/py-value.c (value_object_getset): Likewise.
14858
14859 2017-04-05  Pedro Alves  <palves@redhat.com>
14860
14861         * python/python-internal.h (gdb_PyObject_CallMethod)
14862         (gdb_PyErr_NewException, gdb_PySys_GetObject, gdb_PySys_SetPath):
14863         New functions.
14864         (GDB_PYSYS_SETPATH_CHAR, PyObject_CallMethod, PyErr_NewException)
14865         (PySys_GetObject, PySys_SetPath): New macros.
14866
14867 2017-04-05  Pedro Alves  <palves@redhat.com>
14868
14869         * mi/mi-cmd-info.c (mi_cmd_info_os): Call info_osdata instead of
14870         info_osdata_command.
14871         * osdata.c (info_osdata_command): Rename to ...
14872         (info_osdata): ... this.  Constify 'type' parameter, and remove
14873         the 'from_tty' parameter.  Accept NULL TYPE.
14874         (info_osdata_command): New function.
14875         * osdata.h (info_osdata_command): Remove declaration.
14876         (info_osdata): New declaration.
14877
14878 2017-04-05  Pedro Alves  <palves@redhat.com>
14879
14880         * mi/mi-cmd-break.c (mi_cmd_break_insert_1, mi_cmd_break_insert)
14881         (mi_cmd_dprintf_insert, mi_cmd_break_passcount)
14882         (mi_cmd_break_watch, mi_cmd_break_commands): Constify 'command'
14883         parameter.
14884         * mi/mi-cmd-catch.c (mi_cmd_catch_assert, mi_cmd_catch_exception)
14885         (mi_cmd_catch_load, mi_cmd_catch_unload): Constify cmd' parameter.
14886         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Constify 'command'
14887         parameter.
14888         * mi/mi-cmd-env.c (mi_cmd_env_pwd, mi_cmd_env_cd, mi_cmd_env_path)
14889         (mi_cmd_env_dir, mi_cmd_inferior_tty_set, _cmd_inferior_tty_show)
14890         * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file)
14891         (mi_cmd_file_list_exec_source_files)
14892         (mi_cmd_file_list_shared_libraries): Constify 'command' parameter.
14893         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions)
14894         (mi_cmd_info_gdb_mi_command, mi_cmd_info_os): Constify 'command'
14895         parameter.
14896         * mi/mi-cmd-stack.c (mi_cmd_enable_frame_filters)
14897         (mi_cmd_stack_list_frames, mi_cmd_stack_info_depth)
14898         (mi_cmd_stack_list_locals, mi_cmd_stack_list_args)
14899         (mi_cmd_stack_list_variables, mi_cmd_stack_select_frame)
14900         (mi_cmd_stack_info_frame): Constify 'command' parameter.
14901         * mi/mi-cmd-target.c (mi_cmd_target_file_get)
14902         (mi_cmd_target_file_put, mi_cmd_target_file_delete): Constify
14903         'command' parameter.
14904         * mi/mi-cmd-var.c (mi_cmd_var_create, mi_cmd_var_delete)
14905         (mi_cmd_var_set_format, mi_cmd_var_set_visualizer)
14906         (mi_cmd_var_set_frozen, mi_cmd_var_show_format)
14907         (mi_cmd_var_info_num_children, mi_cmd_var_list_children)
14908         (mi_cmd_var_info_type, mi_cmd_var_info_path_expression)
14909         (mi_cmd_var_info_expression, mi_cmd_var_show_attributes)
14910         (mi_cmd_var_evaluate_expression, mi_cmd_var_assign)
14911         (mi_cmd_var_update, mi_cmd_enable_pretty_printing)
14912         (mi_cmd_var_set_update_range): Constify 'command' parameter.
14913         * mi/mi-cmds.h (mi_cmd_argv_ftype): Constify 'command' parameter.
14914         * mi/mi-interp.c (mi_cmd_interpreter_exec): Constify 'command'
14915         parameter.
14916         * mi/mi-main.c (mi_cmd_gdb_exit, mi_cmd_exec_next)
14917         (mi_cmd_exec_next_instruction, mi_cmd_exec_step)
14918         (mi_cmd_exec_step_instruction, mi_cmd_exec_finish)
14919         (mi_cmd_exec_return ,mi_cmd_exec_jump, mi_cmd_exec_continue)
14920         (mi_cmd_exec_interrupt, mi_cmd_exec_run, mi_cmd_target_detach)
14921         (mi_cmd_target_flash_erase, mi_cmd_thread_select)
14922         (mi_cmd_thread_list_ids, mi_cmd_thread_info)
14923         (mi_cmd_list_thread_groups, mi_cmd_data_list_register_names)
14924         (mi_cmd_data_list_changed_registers)
14925         (mi_cmd_data_write_register_values)
14926         (mi_cmd_data_evaluate_expression, mi_cmd_data_read_memory)
14927         (mi_cmd_data_read_memory_bytes, mi_cmd_data_write_memory)
14928         (mi_cmd_data_write_memory_bytes, mi_cmd_enable_timings)
14929         (mi_cmd_list_features, mi_cmd_list_target_features)
14930         (mi_cmd_add_inferior, mi_cmd_remove_inferior)
14931         (mi_cmd_trace_define_variable, mi_cmd_trace_list_variables)
14932         (mi_cmd_trace_find, mi_cmd_trace_save, mi_cmd_trace_start)
14933         (mi_cmd_trace_status, mi_cmd_trace_stop, mi_cmd_ada_task_info)
14934         (mi_cmd_trace_frame_collected): Constify 'command'
14935         parameter.
14936         * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Constify
14937         'command' parameter.
14938
14939 2017-04-05  Pedro Alves  <palves@redhat.com>
14940
14941         * ada-lang.c (ada_completer_word_break_characters): Now a const
14942         array.
14943         (ada_get_gdb_completer_word_break_characters): Constify.
14944         * completer.c (gdb_completer_command_word_break_characters)
14945         (gdb_completer_file_name_break_characters)
14946         (gdb_completer_quote_characters): Now const arrays.
14947         (get_gdb_completer_quote_characters): Constify.
14948         (set_rl_completer_word_break_characters): New function.
14949         (set_gdb_completion_word_break_characters)
14950         (complete_line_internal): Use it.
14951         * completer.h (get_gdb_completer_quote_characters): Constify.
14952         (set_rl_completer_word_break_characters): Declare.
14953         * f-lang.c (f_word_break_characters): Constify.
14954         * language.c (default_word_break_characters): Constify.
14955         * language.h (language_defn::la_word_break_characters): Constify.
14956         (default_word_break_characters): Constify.
14957         * top.c (init_main): Use set_rl_completer_word_break_characters.
14958
14959 2017-04-05  Pedro Alves  <palves@redhat.com>
14960
14961         * aix-thread.c (aix_thread_pid_to_str)
14962         (aix_thread_extra_thread_info): Constify.
14963         * bsd-kvm.c (bsd_kvm_pid_to_str): Constify.
14964         * bsd-uthread.c (bsd_uthread_extra_thread_info)
14965         (bsd_uthread_pid_to_str): Constify.
14966         * corelow.c (core_pid_to_str): Constify.
14967         * darwin-nat.c (darwin_pid_to_str): Constify.
14968         * fbsd-nat.c (fbsd_pid_to_str): Constify.
14969         * fbsd-tdep.c (fbsd_core_pid_to_str, gdbarch_core_pid_to_str):
14970         Constify.
14971         * gnu-nat.c (gnu_pid_to_str): Constify.
14972         * go32-nat.c (go32_pid_to_str): Constify.
14973         * i386-cygwin-tdep.c (i386_windows_core_pid_to_str): Constify.
14974         * inf-ptrace.c (inf_ptrace_pid_to_str): Constify.
14975         * inferior.c (inferior_pid_to_str): Constify.
14976         * linux-nat.c (linux_nat_pid_to_str): Constify.
14977         * linux-tdep.c (linux_core_pid_to_str): Constify.
14978         * linux-thread-db.c (thread_db_pid_to_str)
14979         (thread_db_extra_thread_info): Constify.
14980         * nto-tdep.c (nto_extra_thread_info): Constify.
14981         * nto-tdep.h (nto_extra_thread_info): Constify.
14982         * obsd-nat.c (obsd_pid_to_str): Constify.
14983         * procfs.c (procfs_pid_to_str): Constify.
14984         * ravenscar-thread.c (ravenscar_extra_thread_info)
14985         (ravenscar_pid_to_str): Constify.
14986         * remote-sim.c (gdbsim_pid_to_str): Constify.
14987         * remote.c (remote_threads_extra_info, remote_pid_to_str):
14988         Constify.
14989         * sol-thread.c (solaris_pid_to_str): Constify.
14990         * sol2-tdep.c (sol2_core_pid_to_str): Constify.
14991         * sol2-tdep.h (sol2_core_pid_to_str): Constify.
14992         * target.c (default_pid_to_str, target_pid_to_str)
14993         (normal_pid_to_str, default_pid_to_str): Constify.
14994         * target.h (target_ops::to_pid_to_str)
14995         (target_ops::to_extra_thread_info): Constify.
14996         (target_pid_to_str, normal_pid_to_str): Constify.
14997         * windows-nat.c (windows_pid_to_str): Constify.
14998         * gdbarch.sh (core_pid_to_str): Constify.
14999         * target-delegates.c: Regenerate.
15000         * gdbarch.h, gdbarch.c: Regenerate.
15001
15002 2017-04-05  Pedro Alves  <palves@redhat.com>
15003
15004         * main.c (captured_main_1): Use gdb::unique_xmalloc_ptr to manage
15005         the memory of the temporary warning_pre_print override.
15006         * utils.c (warning_pre_print): Constify.
15007         * utils.h (warning_pre_print): Constify.
15008
15009 2017-04-05  Pedro Alves  <palves@redhat.com>
15010
15011         * cli/cli-cmds.c (shell_escape): Constify 'arg' parameter.
15012         (shell_command): New function.
15013         (make_command): Use std::string.
15014         (init_cli_cmds): Register shell_command instead of shell_escape.
15015
15016 2017-04-05  Pedro Alves  <palves@redhat.com>
15017
15018         * breakpoint.c (dprintf_function, dprintf_channel): Don't initialize.
15019         * tracepoint.c (default_collect): Don't initialize.
15020
15021 2017-04-05  Pedro Alves  <palves@redhat.com>
15022
15023         * macroexp.c (macro_buffer::shared): Now a bool.
15024         (init_buffer): Update.
15025         (init_shared_buffer): Constify 'addr' parameter.
15026         (substitute_args, expand, macro_expand, macro_expand_next): Remove
15027         casts.
15028
15029 2017-04-05  Pedro Alves  <palves@redhat.com>
15030
15031         * arm-tdep.c (show_disassembly_style_sfunc): Constify local.
15032         * disasm.c (set_disassembler_options): Constify local.
15033         * i386-tdep.c (i386_print_insn): Remove cast and FIXME comment.
15034
15035 2017-04-05  Sergio Durigan Junior  <sergiodj@redhat.com>
15036
15037         PR gdb/21352
15038         * tracefile.c (tsave_command): Fix argument parsing for '-r'
15039         option.
15040
15041 2017-04-05  Yao Qi  <yao.qi@linaro.org>
15042
15043         * frame.c (frame_unwind_register_unsigned): Call
15044         frame_unwind_register_value.
15045
15046 2017-04-05  Yao Qi  <yao.qi@linaro.org>
15047
15048         * gdb.threads/thread-specific-bp.exp (check_thread_specific_breakpoint):
15049         Use gdb_test_multiple, and don't match anchor.
15050
15051 2017-04-05  Pedro Alves  <palves@redhat.com>
15052
15053         * MAINTAINERS (Global Maintainers): Add Simon Marchi.
15054         (Write After Approval): Remove Simon Marchi.
15055
15056 2017-04-05  Pedro Alves  <palves@redhat.com>
15057
15058         * common/gdb_optional.h (optional::optional): Make constexpr and
15059         initialize m_dummy.
15060
15061 2017-04-04  John Baldwin  <jhb@FreeBSD.org>
15062
15063         * amd64-fbsd-tdep.c: Remove "bsd-uthread.h" include.
15064         (amd64fbsd_jmp_buf_reg_offset): Remove.
15065         (amd64fbsd_supply_uthread): Remove function.
15066         (amd64fbsd_collect_uthread): Remove function.
15067         (amd64fbsd_init_abi): Don't set bsd-uthread callbacks.
15068         * configure.tgt (i[34567]86-*-freebsd*): Remove bsd-uthread.o.
15069         (x86_64-*-freebsd*): Remove bsd-uthread.o.
15070         (fbsd-nat.c): Update comment.
15071         * i386-fbsd-tdep.c: Remove "bsd-uthread.h" include.
15072         (i386fbsd_jmp_buf_reg_offset): Remove.
15073         (i386fbsd_supply_uthread): Remove function.
15074         (i386fbsd_collect_uthread): Remove function.
15075         (i386fbsd_init_abi): Don't set bsd-uthread callbacks.
15076
15077 2017-04-04  John Baldwin  <jhb@FreeBSD.org>
15078
15079         * Makefile.in (ALL_64_TARGET_OBS): Remove alpha-fbsd-tdep.o.
15080         (ALLDEPFILES): Remove alpha-fbsd-tdep.c
15081         * NEWS: Mention that support for FreeBSD/alpha was removed.
15082         * alpha-fbsd-tdep.c: Delete file.
15083         * config/alpha/fbsd.mh: Delete file.
15084         * configure.host: Delete alpha*-*-freebsd* and
15085         alpha*-*-kfreebsd*-gnu.
15086         * configure.tgt: Delete alpha*-*-freebsd* and
15087         alpha*-*-kfreebsd*-gnu.
15088
15089 2017-04-04  John Baldwin  <jhb@FreeBSD.org>
15090
15091         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers,
15092         amd64bsd_store_inferior_registers): Use ptid from regcache.
15093
15094 2017-04-04  Pedro Alves  <palves@redhat.com>
15095
15096         * dwarf2read.c (lnp_state_machine): Now a class.  Initialize all
15097         data fields, make them private and add "m_" prefixes.
15098         (lnp_state_machine::lnp_state_machine): New ctor.
15099         (record_line, check_line_address, handle_set_discriminator)
15100         (handle_set_address, handle_advance_pc, handle_special_opcode)
15101         (handle_advance_line, handle_set_file, handle_negate_stmt)
15102         (handle_const_add_pc, handle_fixed_advance_pc, handle_copy)
15103         (end_sequence, advance_line): New methods.
15104         (m_gdbarch, m_record_lines_p): New fields.
15105         (lnp_reader_state): Delete.
15106         (dwarf_record_line): Rename to ...
15107         (lnp_state_machine::record_line): ... adjust.
15108         (init_lnp_state_machine): Delete.
15109         (lnp_state_machine::lnp_state_machine): New.
15110         (check_line_address): Rename to ...
15111         (lnp_state_machine::check_line_address): This.
15112         (dwarf_decode_lines_1): Remove reference to "reader_state".
15113         Adjust lnp_state_machine having a non-default ctor.  Use bool.
15114         State machine internal state manipulation moved to
15115         lnp_state_machine methods.
15116
15117 2017-04-04  Pedro Alves  <palves@redhat.com>
15118
15119         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
15120         unittests/offset-type-selftests.c.
15121         (SUBDIR_UNITTESTS_OBS): Add offset-type-selftests.o.
15122         * common/offset-type.h: New file.
15123         * common/preprocessor.h: New file.
15124         * common/traits.h: New file.
15125         * common/valid-expr.h: New file.
15126         * dwarf2expr.c: Include "common/underlying.h".  Adjust to use
15127         sect_offset and cu_offset strong typedefs throughout.
15128         * dwarf2expr.h: Adjust to use sect_offset and cu_offset strong
15129         typedefs throughout.
15130         * dwarf2loc.c: Include "common/underlying.h".  Adjust to use
15131         sect_offset and cu_offset strong typedefs throughout.
15132         * dwarf2read.c: Adjust to use sect_offset and cu_offset strong
15133         typedefs throughout.
15134         * gdbtypes.h: Include "common/offset-type.h".
15135         (cu_offset): Now an offset type (strong typedef) instead of a
15136         struct.
15137         (sect_offset): Likewise.
15138         (union call_site_parameter_u): Rename "param_offset" field to
15139         "param_cu_off".
15140         * unittests/offset-type-selftests.c: New file.
15141
15142 2017-04-04  Pedro Alves  <palves@redhat.com>
15143
15144         * common/underlying.h: New file.
15145         * dwarf2read.c: Include "common/gdb_optional.h" and
15146         "common/underlying.h".
15147         (dir_index, file_name_index): New types.
15148         (file_entry): Use them.
15149         (file_entry::include): Use to_underlying.
15150         (line_header::add_file_name): Use dir_index.
15151         (read_formatted_entries): Use gdb::optional.  Read form before
15152         writting to file_entry.
15153         (dwarf_decode_line_header): Use dir_index.
15154         (lnp_state_machine::current_file): Use to_underlying.
15155         (lnp_state_machine::file): Change type to file_name_index.
15156         (dwarf_record_line): Use to_underlying.
15157         (init_lnp_state_machine): Use file_name_index.
15158         (dwarf_decode_lines_1): Use dir_index and file_name_index.
15159
15160 2017-04-04  Pedro Alves  <palves@redhat.com>
15161
15162         * common/gdb_optional.h (gdb::optiona): Add operator->, operator*,
15163         operator bool, has_value and get methods.
15164
15165 2017-04-04  Pedro Alves  <palves@redhat.com>
15166
15167         * dwarf2read.c (struct file_entry): Add ctors, and initialize all
15168         fields.
15169         (line_header): Initialize all data fields.  Change type of
15170         standard_opcode_lengths to std::unique_ptr<unsigned char[]>.
15171         Change type of include_dirs to std::vector<const char *>.  Remove
15172         num_include_dirs, include_dirs_size.  Change type of file_names to
15173         std::vector<file_entry>.  Remove num_file_names, file_names_size.
15174         (line_header::line_header): New.
15175         (line_header::add_include_dir, line_header::add_file_name): New
15176         methods.
15177         (line_header::include_dir_at): Remove NULL check.
15178         (line_header::file_name_at): Add const overload.
15179         (line_header_up): New unique_ptr typedef.
15180         (dw2_get_file_names_reader): Use line_header_up.  Adjust to use
15181         std::vector.  Remove free_line_header call.
15182         (dwarf2_build_include_psymtabs): Use line_header_up.  Remove
15183         free_line_header call.
15184         (free_cu_line_header): Delete.
15185         (handle_DW_AT_stmt_list, handle_DW_AT_stmt_list)
15186         (setup_type_unit_groups): Use line_header_up instead of cleanups.
15187         Adjust to use std::vector.
15188         (free_line_header): Delete.
15189         (free_line_header_voidp): Use delete.
15190         (add_include_dir): Replace with ...
15191         (line_header::add_include_dir): ... this method.  Use std::vector.
15192         (add_file_name): Replace with ...
15193         (line_header::add_file_name): ... this method.  Use std::vector.
15194         (add_include_dir_stub): Delete.
15195         (read_formatted_entries): Remove memset.
15196         (dwarf_decode_line_header): Return a line_header_up instead of a
15197         raw pointer.  Remove cleanup handling.  Pass lambdas to
15198         read_formatted_entries.  Adjust to use line_header methods.
15199         (dwarf_decode_lines_1): Adjust to use line_header methods.
15200         (dwarf_decode_lines, file_file_name, file_full_name): Adjust to
15201         use std::vector.
15202
15203 2017-04-04  Simon Marchi  <simon.marchi@polymtl.ca>
15204
15205         * remote.c (set_general_thread, set_continue_thread): Use ptid_t
15206         instead of struct ptid.
15207
15208 2017-05-04  Alan Hayward  <alan.hayward@arm.com>
15209
15210         * frame.c (get_frame_register_bytes): Unwind using value.
15211         (put_frame_register_bytes): Likewise.
15212
15213 2017-03-30  Iain Buclaw  <ibuclaw@gdcproject.org>
15214
15215         * d-exp.y (type_aggregate_p): Treat TYPE_CODE_MODULE as being
15216         aggregate-like.
15217
15218 2017-03-29  Jan Kratochvil  <jan.kratochvil@redhat.com>
15219
15220         * auto-load.c (auto_load_section_scripts): Check SEC_HAS_CONTENTS.
15221
15222 2017-03-29  Yao Qi  <yao.qi@linaro.org>
15223
15224         * gdbthread.h (struct thread_info): Declare constructor and
15225         destructor.  Add some in-class member initializers.
15226         * thread.c (free_thread): Remove.
15227         (init_thread_list): Call delete instead of free_thread.
15228         (new_thread): Call thread_info constructor.
15229         (thread_info::thread_info): New function.
15230         (thread_info::~thread_info): New function.
15231         (delete_thread_1): Call delete instead of free_thread.
15232         (make_cleanup_restore_current_thread): Move tp and frame to
15233         inner block.
15234
15235 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15236
15237         * arc-tdep.c (arc_frame_cache): Add support for prologue analysis.
15238         (arc_skip_prologue): Likewise.
15239         (arc_make_frame_cache): Likewise.
15240         (arc_pv_get_operand): New function.
15241         (arc_is_in_prologue): Likewise.
15242         (arc_analyze_prologue): Likewise.
15243         (arc_print_frame_cache): Likewise.
15244         (MAX_PROLOGUE_LENGTH): New constant.
15245
15246 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15247
15248         * configure.tgt: Add arc-insn.o.
15249         * arc-tdep.c (arc_delayed_print_insn): Make non-static.
15250         (dump_arc_instruction_command): New function.
15251         (arc_fprintf_disasm): Likewise.
15252         (arc_disassemble_info): Likewise.
15253         (arc_insn_get_operand_value): Likewise.
15254         (arc_insn_get_operand_value_signed): Likewise.
15255         (arc_insn_get_memory_base_reg): Likewise.
15256         (arc_insn_get_memory_offset): Likewise.
15257         (arc_insn_get_branch_target): Likewise.
15258         (arc_insn_dump): Likewise.
15259         (arc_insn_get_linear_next_pc): Likewise.
15260         * arc-tdep.h (arc_delayed_print_insn): Add function declaration.
15261         (arc_disassemble_info): Likewise.
15262         (arc_insn_get_branch_target): Likewise.
15263         (arc_insn_get_linear_next_pc): Likewise.
15264         * NEWS: Mention new "maint print arc arc-instruction".
15265
15266 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15267
15268         * arc-tdep (maintenance_print_arc_list): New variable.
15269         (maintenance_print_arc_command): New function.
15270
15271 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15272
15273         * arc-tdep.c (core_v2_register_names, core_arcompact_register_names)
15274         Add "limm" and "reserved".
15275         (arc_cannot_fetch_register, arc_cannot_store_register): Add
15276         ARC_RESERVED_REGNUM and ARC_LIMM_REGNUM.
15277         * arc-tdep.h (arc_regnum): Likewise.
15278
15279 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15280
15281         * xtensa-linux-nat.c (fill_gregset): Call regcache_raw_collect
15282         for THREADPTR register.
15283         (supply_gregset_reg): Call regcache_raw_supply for THREADPTR
15284         register.
15285         * xtensa-tdep.c (XTENSA_DBREGN_UREG): New definition.
15286         (xtensa_derive_tdep): Initialize tdep->threadptr_regnum.
15287         * xtensa-tdep.h (gdbarch_tdep::threadptr_regnum): New field.
15288
15289 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15290
15291         * xtensa-tdep.c (xtensa_pseudo_register_read): Treat all
15292         registers above gdbarch_num_regs (gdbarch) as privileged in
15293         call0 ABI.
15294
15295 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15296
15297         * xtensa-linux-nat.c (fill_gregset): Call regcache_raw_collect
15298         for a single specified register or for all registers in
15299         a0_base..a0_base + C0_NREGS range.
15300         (supply_gregset_reg): Call regcache_raw_supply for a single
15301         specified register or for all registers in a0_base..a0_base +
15302         C0_NREGS range.
15303
15304 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15305
15306         * arch/xtensa.h (C0_NREGS): Add definition.
15307         * xtensa-tdep.c (C0_NREGS): Remove definition.
15308
15309 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15310
15311         * xtensa-tdep.c (xtensa_scan_prologue, call0_analyze_prologue):
15312         Drop xtensa_default_isa initialization.
15313         (xtensa_gdbarch_init): Initialize xtensa_default_isa.
15314
15315 2017-03-27  Pedro Alves  <palves@redhat.com>
15316
15317         * dwarf2read.c (file_entry) <dir_index>: Add comment.
15318         (file_entry::include_dir): New method.
15319         (line_header::include_dir_at, line_header::file_name_at): New
15320         methods.
15321         (setup_type_unit_groups, setup_type_unit_groups)
15322         (psymtab_include_file_name): Simplify using the new methods.
15323         (lnp_state_machine) <the_line_header>: New field.
15324         <file>: Add comment.
15325         (lnp_state_machine::current_file): New method.
15326         (dwarf_record_line): Simplify using the new methods.
15327         (init_lnp_state_machine): Initialize the "the_line_header" field.
15328         (dwarf_decode_lines_1, dwarf_decode_lines, file_file_name):
15329         Simplify using the new methods.
15330
15331 2017-03-27  Pedro Alves  <palves@redhat.com>
15332
15333         * cp-name-parser.y (make_empty): Delete.
15334         (demangler_special, nested_name, ptr_operator, array_indicator)
15335         (direct_declarator, declarator_1): Use fill_comp instead of
15336         make_empty.
15337
15338 2017-03-27  Pedro Alves  <palves@redhat.com>
15339
15340         * xml-support.h (gdb_xml_debug): Pass a "first-to-check" argument
15341         to ATTRIBUTE_PRINTF.
15342         * solib-target.c (library_list_start_list): Print "string" not
15343         "version".
15344         * xml-tdesc.c (tdesc_start_field): Pass "field_name" to
15345         gdb_xml_error call.
15346
15347 2017-03-27  Pedro Alves  <palves@redhat.com>
15348
15349         * dwarf2read.c (struct file_and_directory): New.
15350         (dwarf2_get_dwz_file): Adjust to use std::string.
15351         (dw2_get_file_names_reader): Adjust to use file_and_directory.
15352         (find_file_and_directory): Adjust to return a file_and_directory
15353         object.
15354         (read_file_scope): Adjust to use file_and_directory.  Remove
15355         make_cleanup/do_cleanups calls.
15356         (open_and_init_dwp_file): Adjust to use std::string.  Remove
15357         make_cleanup/do_cleanups calls.
15358         * python/python.c (do_start_initialization): Adjust to ldirname
15359         returning a std::string.
15360         * utils.c (ldirname): Now returns a std::string.
15361         * utils.h (ldirname): Change return type to std::string.
15362         * xml-syscall.c (xml_init_syscalls_info): Adjust to ldirname
15363         returning a std::string.
15364         * xml-tdesc.c (file_read_description_xml): Likewise.
15365
15366 2017-03-24  Alan Hayward  <alan.hayward@arm.com>
15367
15368         * regcache.c (regcache_debug_print_register): New function.
15369         * regcache.h (regcache_debug_print_register): New declaration.
15370         * target.c (debug_print_register): Remove.
15371         (target_fetch_registers): Call regcache_debug_print_register.
15372         (target_store_registers): Likewise.
15373
15374 2017-03-24  Pádraig Brady  <pbrady@fb.com>
15375
15376         * dwarf2read.c (setup_type_unit_groups): Ensure dir_index doesn't
15377         reference beyond the 'lh->include_dirs' array before accessing to
15378         it.
15379         (psymtab_include_file_name): Likewise.
15380         (dwarf_decode_lines_1): Likewise.
15381         (dwarf_decode_lines): Likewise.
15382         (file_file_name): Likewise.
15383
15384 2017-03-23  Simon Marchi  <simon.marchi@ericsson.com>
15385
15386         * fbsd-tdep.c (fbsd_corefile_thread): Don't set/restore
15387         inferior_ptid.
15388         * proc-service.c (ps_lgetregs, ps_lsetregs, ps_lgetfpregs,
15389         ps_lsetfpregs): Likewise.
15390         * regcache.c (regcache_raw_update, regcache_raw_write): Likewise.
15391         * sol-thread.c (ps_lgetregs, ps_lsetregs, ps_lgetfpregs,
15392         ps_lsetfpregs): Likewise.
15393         * target.c (target_fetch_registers, target_store_registers):
15394         Remove asserts.
15395
15396 2017-03-23  Alan Hayward  <alan.hayward@arm.com>
15397
15398         * sol-thread.c (sol_thread_store_registers): Remove regcache calls.
15399
15400 2017-03-23  Yao Qi  <yao.qi@linaro.org>
15401
15402         * aarch64-tdep.c (aarch64_process_record_test): Declare.
15403         (_initialize_aarch64_tdep): Register it.
15404         (aarch64_record_load_store): Handle PRFM instruction.
15405         (aarch64_process_record_test): New function.
15406
15407 2017-03-23  Yao Qi  <yao.qi@linaro.org>
15408
15409         * aarch64-tdep.c (aarch64_record_load_store): Fix code
15410         indentation.
15411
15412 2017-03-23  Yao Qi  <yao.qi@linaro.org>
15413
15414         * aarch64-tdep.c: Remove AARCH64_RECORD_FAILURE.
15415
15416 2017-03-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
15417
15418         python/python.c (do_start_initialization): Fix memory leak.
15419
15420 2017-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
15421
15422         * inf-ptrace.c (inf_ptrace_xfer_partial): Get pid from ptid
15423         using get_ptrace_pid.
15424         * linux-nat.c (linux_nat_xfer_partial): Don't set/restore
15425         inferior_ptid.
15426         (linux_proc_xfer_partial, linux_proc_xfer_spu): Use lwp of
15427         inferior_ptid instead of pid.
15428
15429 2017-03-22  Yao Qi  <yao.qi@linaro.org>
15430
15431         * aarch64-tdep.c: Wrap locally used classes in anonymous
15432         namespace.
15433         * arm-tdep.c: Likewise.
15434         * linespec.c: Likewise.
15435         * ui-out.c: Likewise.
15436
15437 2017-03-22  Jonah Graham  <jonah@kichwacoders.com>
15438
15439         PR gdb/19637
15440         * python/lib/gdb/printer/bound_registers.py: Import sys.
15441
15442 2017-03-21  Simon Marchi  <simon.marchi@ericsson.com>
15443
15444         * windows-nat.c (do_windows_fetch_inferior_registers): Add
15445         windows_thread_info parameter and use it instead of
15446         current_thread.
15447         (windows_fetch_inferior_registers): Don't set current_thread,
15448         pass the thread to do_windows_fetch_inferior_registers.  Use
15449         ptid from regcache instead of inferior_ptid.
15450         (do_windows_store_inferior_registers): Add windows_thread_info
15451         parameter and use it instead of current_thread.
15452         (windows_store_inferior_registers): Don't set current_thread,
15453         pass the thread to do_windows_store_inferior_registers.  Use
15454         ptid from regcache instead of inferior_ptid.
15455
15456 2017-03-21  Simon Marchi  <simon.marchi@ericsson.com>
15457
15458         * ser-mingw.c (ser_windows_raw): Remove reference to
15459         struct serial::current_timeout.
15460
15461 2017-03-21  Ivo Raisr  <ivo.raisr@oracle.com>
15462
15463         PR tdep/20928
15464         * gdb/sparc-tdep.h (gdbarch_tdep) <sparc64_ccr_type>: New field.
15465         * gdb/sparc64-tdep.c (sparc64_ccr_type): New function.
15466         (sparc64_fsr_type): Fix %fsr decoding.
15467
15468 2017-03-21  Tim Wiederhake  <tim.wiederhake@intel.com>
15469
15470         * python/py-record-btrace.c (btpy_insn_data): Change return type
15471         for Python 2.
15472
15473 2017-03-20  Simon Marchi  <simon.marchi@polymtl.ca>
15474
15475         * spu-linux-nat.c (spu_fetch_inferior_registers,
15476         spu_store_inferior_registers): Use ptid from regcache, set and
15477         restore inferior_ptid.
15478         * spu-multiarch.c (spu_fetch_registers, spu_store_registers):
15479         Likewise.
15480
15481 2017-03-20  Simon Marchi  <simon.marchi@polymtl.ca>
15482
15483         * i386-linux-nat.c (fetch_register, store_register,
15484         i386_linux_fetch_inferior_registers,
15485         i386_linux_store_inferior_registers): Use ptid from regcache.
15486         * ia64-linux-nat.c (ia64_linux_fetch_register,
15487         ia64_linux_store_register): Likewise.
15488         * inf-ptrace.c (inf_ptrace_fetch_register,
15489         inf_ptrace_store_register): Likewise.
15490         * m32r-linux-nat.c (m32r_linux_fetch_inferior_registers,
15491         m32r_linux_store_inferior_registers): Likewise.
15492         * m68k-bsd-nat.c (m68kbsd_fetch_inferior_registers,
15493         m68kbsd_store_inferior_registers): Likewise.
15494         * m68k-linux-nat.c (fetch_register, store_register,
15495         m68k_linux_fetch_inferior_registers,
15496         m68k_linux_store_inferior_registers): Likewise.
15497         * m88k-bsd-nat.c (m88kbsd_fetch_inferior_registers,
15498         m88kbsd_store_inferior_registers): Likewise.
15499         * mips-fbsd-nat.c (mips_fbsd_fetch_inferior_registers,
15500         mips_fbsd_store_inferior_registers): Likewise.
15501         * mips-linux-nat.c (mips64_linux_regsets_fetch_registers,
15502         mips64_linux_regsets_store_registers): Likewise.
15503         * mips-nbsd-nat.c (mipsnbsd_fetch_inferior_registers,
15504         mipsnbsd_store_inferior_registers): Likewise.
15505         * mips-obsd-nat.c (mips64obsd_fetch_inferior_registers,
15506         mips64obsd_store_inferior_registers): Likewise.
15507         * nto-procfs.c (procfs_fetch_registers, procfs_store_registers):
15508         Likewise.
15509         * ppc-fbsd-nat.c (ppcfbsd_fetch_inferior_registers,
15510         ppcfbsd_store_inferior_registers): Likewise.
15511         * ppc-linux-nat.c (ppc_linux_fetch_inferior_registers,
15512         ppc_linux_store_inferior_registers): Likewise.
15513         * ppc-nbsd-nat.c (ppcnbsd_fetch_inferior_registers,
15514         ppcnbsd_store_inferior_registers): Likewise.
15515         * ppc-obsd-nat.c (ppcobsd_fetch_registers,
15516         ppcobsd_store_registers): Likewise.
15517         * procfs.c (procfs_fetch_registers, procfs_store_registers):
15518         Likewise.
15519         * ravenscar-thread.c (ravenscar_fetch_registers,
15520         ravenscar_store_registers, ravenscar_prepare_to_store):
15521         Likewise.
15522         * record-btrace.c (record_btrace_fetch_registers,
15523         record_btrace_store_registers, record_btrace_prepare_to_store):
15524         Likewise.
15525         * remote-sim.c (gdbsim_fetch_register, gdbsim_store_register):
15526         Lookup inferior using ptid from regcache, instead of
15527         current_inferior.
15528         * remote.c (remote_fetch_registers, remote_store_registers): Use
15529         ptid from regcache.
15530         * rs6000-nat.c (fetch_register, store_register): Likewise.
15531         * s390-linux-nat.c (s390_linux_fetch_inferior_registers,
15532         s390_linux_store_inferior_registers): Likewise.
15533         * sh-nbsd-nat.c (shnbsd_fetch_inferior_registers,
15534         shnbsd_store_inferior_registers): Likewise.
15535         * sol-thread.c (sol_thread_fetch_registers,
15536         sol_thread_store_registers): Likewise.
15537         * sparc-nat.c (sparc_fetch_inferior_registers,
15538         sparc_store_inferior_registers): Likewise.
15539         * tilegx-linux-nat.c (fetch_inferior_registers,
15540         store_inferior_registers): Likewise.
15541         * vax-bsd-nat.c (vaxbsd_fetch_inferior_registers,
15542         vaxbsd_store_inferior_registers): Likewise.
15543         * xtensa-linux-nat.c (fetch_gregs, store_gregs, fetch_xtregs,
15544         store_xtregs): Likewise.
15545
15546 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15547
15548         PR gdb/14441
15549         * NEWS: Mention support for rvalue references in GDB and python.
15550         * doc/gdb.texinfo (C Plus Plus Expressions): Mention that GDB
15551         supports both lvalue and rvalue references.
15552
15553 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15554
15555         PR gdb/14441
15556         * gdbtypes.c (rank_one_type): Implement overloading
15557         resolution rules regarding rvalue references.
15558
15559 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15560
15561         PR gdb/14441
15562         * aarch64-tdep.c (aarch64_type_align)
15563         (aarch64_extract_return_value, aarch64_store_return_value): Change
15564         lvalue reference type checks to general reference type checks.
15565         * amd64-tdep.c (amd64_classify): Likewise.
15566         * amd64-windows-tdep.c (amd64_windows_passed_by_integer_register):
15567         Likewise.
15568         * arm-tdep.c (arm_type_align, arm_extract_return_value)
15569         (arm_store_return_value): Likewise.
15570         * ax-gdb.c (gen_fetch, gen_cast): Likewise.
15571         * c-typeprint.c (c_print_type): Likewise.
15572         * c-varobj.c (adjust_value_for_child_access, c_value_of_variable)
15573         (cplus_number_of_children, cplus_describe_child): Likewise.
15574         * compile/compile-c-symbols.c (generate_vla_size): Likewise.
15575         * completer.c (expression_completer): Likewise.
15576         * cp-support.c (make_symbol_overload_list_adl_namespace):
15577         Likewise.
15578         * darwin-nat-info.c (info_mach_region_command): Likewise.
15579         * dwarf2loc.c (entry_data_value_coerce_ref)
15580         (value_of_dwarf_reg_entry): Likewise.
15581         * eval.c (ptrmath_type_p, evaluate_subexp_standard)
15582         (evaluate_subexp_for_address, evaluate_subexp_for_sizeof):
15583         Likewise.
15584         * findvar.c (extract_typed_address, store_typed_address):
15585         Likewise.
15586         * gdbtypes.c (rank_one_type): Likewise.
15587         * hppa-tdep.c (hppa64_integral_or_pointer_p): Likewise.
15588         * infcall.c (value_arg_coerce): Likewise.
15589         * language.c (pointer_type): Likewise.
15590         * m32c-tdep.c (m32c_reg_arg_type, m32c_m16c_address_to_pointer):
15591         Likewise.
15592         * m88k-tdep.c (m88k_integral_or_pointer_p): Likewise.
15593         * mn10300-tdep.c (mn10300_type_align): Likewise.
15594         * msp430-tdep.c (msp430_push_dummy_call): Likewise.
15595         * ppc-sysv-tdep.c (do_ppc_sysv_return_value)
15596         (ppc64_sysv_abi_push_param, ppc64_sysv_abi_return_value):
15597         Likewise.
15598         * printcmd.c (print_formatted, x_command): Likewise.
15599         * python/py-type.c (typy_get_composite, typy_template_argument):
15600         Likewise.
15601         * python/py-value.c (valpy_referenced_value)
15602         (valpy_get_dynamic_type, value_has_field): Likewise.
15603         * s390-linux-tdep.c (s390_function_arg_integer): Likewise.
15604         * sparc-tdep.c (sparc_integral_or_pointer_p): Likewise.
15605         * sparc64-tdep.c (sparc64_integral_or_pointer_p): Likewise.
15606         * spu-tdep.c (spu_scalar_value_p): Likewise.
15607         * symtab.c (lookup_symbol_aux): Likewise.
15608         * typeprint.c (whatis_exp, print_type_scalar): Likewise.
15609         * valarith.c (binop_types_user_defined_p, unop_user_defined_p):
15610         Likewise.
15611         * valops.c (value_cast_pointers, value_cast)
15612         (value_reinterpret_cast, value_dynamic_cast, value_addr, typecmp)
15613         (value_struct_elt, value_struct_elt_bitpos)
15614         (value_find_oload_method_list, find_overload_match)
15615         (value_rtti_indirect_type): Likewise.
15616         * valprint.c (val_print_scalar_type_p, generic_val_print):
15617         Likewise.
15618         * value.c (value_actual_type, value_as_address, unpack_long)
15619         (pack_long, pack_unsigned_long, coerce_ref_if_computed)
15620         (coerce_ref): Likewise.
15621         * varobj.c (varobj_get_value_type): Likewise.
15622
15623 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15624
15625         PR gdb/14441
15626         * doc/python.texi (Types in Python): Add TYPE_CODE_RVALUE_REF to
15627         table of constants.
15628         * python/lib/gdb/command/explore.py: Support exploring values
15629         of rvalue reference types.
15630         * python/lib/gdb/types.py: Implement get_basic_type() for
15631         rvalue reference types.
15632         * python/py-type.c (pyty_codes) <TYPE_CODE_RVALUE_REF>: New
15633         constant.
15634         * python/py-value.c (valpy_getitem): Add an rvalue reference
15635         check.
15636         (valpy_reference_value): Add new parameter "refcode".
15637         (valpy_lvalue_reference_value, valpy_rvalue_reference_value):
15638         New wrappers for valpy_reference_value().
15639         * python/py-xmethods.c (gdbpy_get_xmethod_result_type)
15640         (gdbpy_invoke_xmethod): Likewise.
15641
15642 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15643
15644         PR gdb/14441
15645         * dwarf2read.c (process_die, read_type_die_1): Handle the
15646         DW_TAG_rvalue_reference_type DIE.
15647         (read_tag_reference_type): Add new parameter "refcode".
15648
15649 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15650
15651         PR gdb/14441
15652         * c-typeprint.c (c_print_type, c_type_print_varspec_prefix)
15653         (c_type_print_modifier, c_type_print_varspec_suffix)
15654         (c_type_print_base): Support printing rvalue reference types.
15655         * c-valprint.c (c_val_print, c_value_print): Support printing
15656         rvalue reference values.
15657
15658 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15659
15660         PR gdb/14441
15661         * cp-name-parser.y (ptr_operator): Handle the '&&' token in
15662         typename.
15663         * cp-support.c (replace_typedefs): Handle
15664         DEMANGLE_COMPONENT_RVALUE_REFERENCE.
15665         * python/py-type.c (typy_lookup_type): Likewise.
15666
15667 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15668
15669         PR gdb/14441
15670         * c-exp.y (ptr_operator): Handle the '&&' token in the typename.
15671         * parse.c (insert_type): Change assert statement.
15672         (follow_types): Handle rvalue reference types.
15673         * parser-defs.h (enum type_pieces) <tp_rvalue_reference>: New
15674         constant.
15675
15676 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15677
15678         PR gdb/14441
15679         * ada-lang.c (ada_evaluate_subexp): Adhere to the new
15680         value_ref() interface.
15681         * c-valprint.c (c_value_print): Likewise.
15682         * infcall.c (value_arg_coerce): Likewise.
15683         * python/py-value.c (valpy_reference_value): Likewise.
15684         * valops.c (value_cast, value_reinterpret_cast)
15685         (value_dynamic_cast, typecmp): Likewise.
15686         (value_ref): Parameterize by kind of return value reference type.
15687         * value.h (value_ref): Add new parameter "refcode".
15688
15689 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15690
15691         PR gdb/14441
15692         * dwarf2read.c (read_tag_reference_type): Use
15693         lookup_lvalue_reference_type() instead of lookup_reference_type().
15694         * eval.c (evaluate_subexp_standard): Likewise.
15695         * f-exp.y: Likewise.
15696         * gdbtypes.c (make_reference_type, lookup_reference_type):
15697         Generalize with rvalue reference types.
15698         (lookup_lvalue_reference_type, lookup_rvalue_reference_type): New
15699         convenience wrappers for lookup_reference_type().
15700         * gdbtypes.h (make_reference_type, lookup_reference_type): Add a
15701         reference kind parameter.
15702         (lookup_lvalue_reference_type, lookup_rvalue_reference_type): Add
15703         wrappers for lookup_reference_type().
15704         * guile/scm-type.c (gdbscm_type_reference): Use
15705         lookup_lvalue_reference_type() instead of lookup_reference_type().
15706         * guile/scm-value.c (gdbscm_value_dynamic_type): Likewise.
15707         * parse.c (follow_types): Likewise.
15708         * python/py-type.c (typy_reference, typy_lookup_type): Likewise.
15709         * python/py-value.c (valpy_get_dynamic_type, valpy_getitem):
15710         Likewise.
15711         * python/py-xmethods.c (gdbpy_get_xmethod_result_type)
15712         (gdbpy_invoke_xmethod): Likewise.
15713         * stabsread.c: Provide extra argument to make_reference_type()
15714         call.
15715         * valops.c (value_ref, value_rtti_indirect_type): Use
15716         lookup_lvalue_reference_type() instead of lookup_reference_type().
15717
15718 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15719
15720         PR gdb/14441
15721         * gdbtypes.h (enum type_code) <TYPE_CODE_RVALUE_REF>: New constant.
15722         (TYPE_IS_REFERENCE): New macro.
15723         (struct type): Add rvalue_reference_type field.
15724         (TYPE_RVALUE_REFERENCE_TYPE): New macro.
15725
15726 2017-03-20  Marc-Andre Laperle  <marc-andre.laperle@ericsson.com>
15727
15728         * NEWS: Add an entry about new '-file-list-shared-libraries' command.
15729         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries):
15730         New function definition.
15731         * mi/mi-cmds.c (mi_cmds): Add -file-list-shared-libraries command.
15732         * mi/mi-cmds.h (mi_cmd_file_list_shared_libraries):
15733         New function declaration.
15734         * mi/mi-interp.c (mi_output_solib_attribs): New Function.
15735         * mi/mi-interp.h: New file.
15736         * solib.c (info_sharedlibrary_command): Replace for loop with
15737         ALL_SO_LIBS macro
15738         * solib.h (update_solib_list): New function declaration.
15739         (so_list_head): Move macro.
15740         * solist.h (ALL_SO_LIBS): New macro.
15741
15742 2017-03-20  Marc-Andre Laperle  <marc-andre.laperle@ericsson.com>
15743
15744         * infcmd.c (post_create_inferior): Remove unused argument in
15745         call to solib_add.
15746         * remote.c (remote_start_remote): Likewise.
15747         * solib-frv.c (frv_fetch_objfile_link_map): Likewise.
15748         * solib-svr4.c: (svr4_fetch_objfile_link_map): Likewise.
15749         (enable_break): Likewise.
15750         * solib.c (update_solib_list): Remove unused target argument
15751         and its documentation.
15752         (solib_add): Remove unused target argument.  Remove unused
15753         argument in call to update_solib_list.
15754         (info_sharedlibrary_command): Remove unused argument in call
15755         to update_solib_list.
15756         (sharedlibrary_command): Remove unused argument in call to
15757         solib_add.
15758         (handle_solib_event): Likewise.
15759         (reload_shared_libraries): Likewise.
15760         * solib.h (solib_add): Remove unused target argument.
15761
15762 2017-03-20  Andreas Arnez  <arnez@linux.vnet.ibm.com>
15763
15764         * s390-linux-tdep.c (is_rsi, is_rie): Remove functions.
15765         (s390_displaced_step_fixup): Cover relative branches with the
15766         default fixup handling.  This fixes lack of support for some
15767         relative branch instructions.
15768
15769 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15770
15771         * i386-gnu-nat.c (gnu_fetch_registers, gnu_store_registers): Use
15772         ptid from regcache.
15773
15774 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15775
15776         * i386-darwin-nat.c (i386_darwin_fetch_inferior_registers,
15777         i386_darwin_store_inferior_registers): Use ptid from regcache.
15778
15779 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15780
15781         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers,
15782         i386bsd_store_inferior_registers): Use ptid from regcache.
15783
15784 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15785
15786         * hppa-obsd-nat.c (hppaobsd_fetch_registers,
15787         hppaobsd_store_registers): Use ptid from regcache.
15788
15789 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15790
15791         * hppa-nbsd-nat.c (hppanbsd_fetch_registers,
15792         hppanbsd_store_registers): Use ptid from regcache.
15793
15794 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15795
15796         * hppa-linux-nat.c (fetch_register, store_register): Use ptid
15797         from regcache.  Use get_ptrace_pid.
15798
15799 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15800
15801         * corelow.c (get_core_register_section): Use ptid from regcache,
15802         update doc.
15803
15804 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15805
15806         * bsd-uthread.c (bsd_uthread_fetch_registers,
15807         bsd_uthread_store_registers): Use ptid from regcache, set and
15808         restore inferior_ptid.
15809
15810 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15811
15812         * arm-nbsd-nat.c (fetch_register, fetch_regs, fetch_fp_register,
15813         fetch_fp_regs, store_register, store_regs, store_fp_register,
15814         store_fp_regs): Use ptid from regcache.
15815
15816 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15817
15818         * arm-linux-nat.c (fetch_fpregs, store_fpregs, fetch_regs,
15819         store_regs, fetch_wmmx_regs, store_wmmx_regs, fetch_vfp_regs,
15820         store_vfp_regs): Use ptid from regcache.
15821
15822 2017-03-17  Pedro Alves  <palves@redhat.com>
15823
15824         PR remote/21188
15825         * ser-base.c (ser_base_wait_for): Add comment.
15826         (do_ser_base_readchar): Improve comment based on the ser-unix.c's
15827         version.
15828         * ser-unix.c (hardwire_raw): Remove reference to
15829         scb->current_timeout.
15830         (wait_for, do_hardwire_readchar, hardwire_readchar): Delete.
15831         (hardwire_ops): Install ser_base_readchar instead of
15832         hardwire_readchar.
15833         * serial.h (struct serial) <current_timeout, timeout_remaining>:
15834         Remove fields.
15835
15836 2017-03-17  Jonah Graham  <jonah@kichwacoders.com>
15837
15838         PR gdb/19637
15839         * python/lib/gdb/printer/bound_registers.py: Add support for
15840         Python 3.
15841
15842 2017-03-16  Andreas Arnez  <arnez@linux.vnet.ibm.com>
15843
15844         * dwarf2loc.c (indirect_synthetic_pointer): Get data type of
15845         pointed-to DIE and pass it to dwarf2_evaluate_loc_desc_full.
15846         (dwarf2_evaluate_loc_desc_full): New parameter subobj_type; rename
15847         byte_offset to subobj_byte_offset.  Fix the handling of
15848         DWARF_VALUE_STACK on big-endian targets when coming via an
15849         implicit pointer.
15850         (dwarf2_evaluate_loc_desc): Adjust call to
15851         dwarf2_evaluate_loc_desc_full.
15852         * dwarf2loc.h (dwarf2_fetch_die_type_sect_off): New declaration.
15853         * dwarf2read.c (dwarf2_fetch_die_type_sect_off): New function.
15854
15855 2017-03-16  Yao Qi  <yao.qi@linaro.org>
15856
15857         * arm-tdep.c (thumb_record_misc): Decode CBNZ, CBZ, REV16,
15858         and REVSH instructions.
15859
15860 2017-03-16  Yao Qi  <yao.qi@linaro.org>
15861
15862         * arm-tdep.c [GDB_SELF_TEST]: include "selftests.h".
15863         (arm_record_test): Declare.
15864         (_initialize_arm_tdep) [GDB_SELF_TEST]: call register_self_test.
15865         (thumb_record_ld_st_reg_offset): Rewrite the opcode matching to
15866         align with the manual.
15867         (thumb_record_misc): Adjust the code order to align with the
15868         manual.
15869         (thumb2_record_decode_insn_handler): Fix instruction matching.
15870         (instruction_reader_thumb): New class.
15871         (arm_record_test): New function.
15872
15873 2017-03-16  Yao Qi  <yao.qi@linaro.org>
15874
15875         * arm-tdep.c (abstract_memory_reader): New class.
15876         (instruction_reader): New class.
15877         (extract_arm_insn): Add argument 'reader'.  Callers updated.
15878         (decode_insn): Likewise.
15879
15880 2017-03-16  Doug Evans  <dje@google.com>
15881
15882         * guile/scm-lazy-string.c (lazy_string_smob): Clarify use of LENGTH
15883         member.  Change type of TYPE member to SCM.  All uses updated.
15884         (lsscm_make_lazy_string_smob): Add assert.
15885         (lsscm_make_lazy_string): Flag bad length values.
15886         (lsscm_elt_type): New function.
15887         (gdbscm_lazy_string_to_value): Rewrite to use
15888         lsscm_safe_lazy_string_to_value.
15889         (lsscm_safe_lazy_string_to_value): Fix handling of TYPE_CODE_PTR.
15890         * guile/scm-value.c (gdbscm_value_to_lazy_string): Flag bad length
15891         values.  Fix TYPE_CODE_PTR.  Handle TYPE_CODE_ARRAY.  Handle typedefs
15892         in incoming type.
15893         * guile/guile-internal.h (tyscm_scm_to_type): Declare.
15894         * guile/scm-type.c (tyscm_scm_to_type): New function.
15895
15896 2017-03-15  Doug Evans  <dje@google.com>
15897
15898         PR python/17728, python/18439, python/18779
15899         * python/py-lazy-string.c (lazy_string_object): Clarify use of LENGTH
15900         member.  Change type of TYPE member to PyObject *.  All uses updated.
15901         (stpy_convert_to_value): Fix handling of TYPE_CODE_PTR.
15902         (gdbpy_create_lazy_string_object): Flag bad length values.
15903         Handle TYPE_CODE_ARRAY with possibly different user-provided length.
15904         Handle typedefs in incoming type.
15905         (stpy_lazy_string_elt_type): New function.
15906         (gdbpy_extract_lazy_string): Call it.
15907         * python/py-value.c (valpy_lazy_string): Flag bad length values.
15908         Fix handling of TYPE_CODE_PTR.  Handle TYPE_CODE_ARRAY.  Handle
15909         typedefs in incoming type.
15910
15911 2017-03-16  Doug Evans  <dje@google.com>
15912
15913         * guile/guile-internal.h (tyscm_scm_to_type): Declare.
15914         * guile/scm-type.c (tyscm_scm_to_type): New function.
15915
15916 2017-03-16  Jiong Wang  <jiong.wang@arm.com>
15917
15918         * inf-ptrace.c (inf_ptrace_peek_poke): Change the type to
15919         "ULONGEST" for "skip".
15920
15921 2017-03-14  Andreas Arnez  <arnez@linux.vnet.ibm.com>
15922
15923         PR gdb/21220
15924         * inf-ptrace.c (inf_ptrace_xfer_partial): In "case
15925         TARGET_OBJECT_MEMORY", extract the logic for ptrace peek/poke...
15926         (inf_ptrace_peek_poke): ...here.  New function.  Now also loop
15927         over ptrace peek/poke until end of buffer or error.
15928
15929 2017-03-14  Simon Marchi  <simon.marchi@ericsson.com>
15930
15931         * parse.c (length_of_subexp): Make static.
15932         * parser-defs.h (length_of_subexp): Remove.
15933
15934 2017-03-14  Andreas Arnez  <arnez@linux.vnet.ibm.com>
15935
15936         * linux-nat.c (linux_proc_xfer_partial): Handle write operations
15937         as well.
15938
15939 2017-03-14  Pedro Alves  <palves@redhat.com>
15940
15941         * cp-name-parser.y (cp_demangled_name_to_comp): Update comment.
15942         (main): Use std::unique_ptr.  Remove calls to
15943         cp_demangled_name_parse_free.
15944
15945 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15946
15947         * alpha-bsd-nat.c (alphabsd_fetch_inferior_registers,
15948         alphabsd_store_inferior_registers): Use regcache->ptid instead
15949         of inferior_ptid.
15950
15951 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15952
15953         * aix-thread.c (aix_thread_fetch_registers,
15954         aix_thread_store_registers): Use regcache->ptid instead of
15955         inferior_ptid.
15956
15957 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15958
15959         * aarch64-linux-nat.c (fetch_gregs_from_thread,
15960         store_gregs_to_thread, fetch_fpregs_from_thread,
15961         store_fpregs_to_thread): Use regcache->ptid instead of
15962         inferior_ptid.
15963
15964 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15965
15966         * amd64-linux-nat.c (amd64_linux_fetch_inferior_registers,
15967         amd64_linux_fetch_inferior_registers): Use regcache->ptid
15968         instead of inferior_ptid.
15969
15970 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15971
15972         * target.c (target_fetch_registers, target_store_registers): Add
15973         assert.
15974
15975 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15976
15977         * regcache.h (regcache_get_ptid): New function.
15978         * regcache.c (regcache_get_ptid): New function.
15979
15980 2017-03-13  Mark Wielaard  <mark@klomp.org>
15981
15982         * cp-name-parser.y (make_empty): Initialize d_printing to zero.
15983
15984 2017-03-10  Keith Seitz  <keiths@redhat.com>
15985
15986         PR c++/8218
15987         * c-typeprint.c (cp_type_print_method_args): Skip artificial arguments.
15988
15989 2017-03-08  Pedro Alves  <palves@redhat.com>
15990
15991         PR gdb/18360
15992         * infrun.c (start_step_over, do_target_resume, resume)
15993         (restart_threads): Assert we're not resuming a thread that is
15994         meant to be stopped.
15995         (infrun_thread_stop_requested_callback): Delete.
15996         (infrun_thread_stop_requested): If the thread is internally
15997         stopped, queue a pending stop event and clear the thread's
15998         inline-frame state.
15999         (handle_stop_requested): New function.
16000         (handle_syscall_event, handle_inferior_event_1): Use
16001         handle_stop_requested.
16002         (handle_stop_requested): New function.
16003         (handle_signal_stop): Set the thread's stop_signal here instead of
16004         at caller.
16005         (finish_step_over): Clear step over info unconditionally.
16006         (handle_signal_stop): If the user had interrupted the event
16007         thread, consider the stop a random signal.
16008         (handle_signal_stop) <signal arrived while stepping over
16009         breakpoint>: Don't restart threads here.
16010         (stop_waiting): Don't clear step-over info here.
16011
16012 2017-03-08  Pedro Alves  <palves@redhat.com>
16013
16014         PR 21206
16015         * common/gdb_unlinker.h (unlinker::unlinker): Attribute nonnull
16016         goes to argument 2, not 1.
16017
16018 2017-03-08  Pedro Alves  <palves@redhat.com>
16019
16020         PR cli/21218
16021         * top.c (gdb_readline_wrapper): Avoid passing NULL to
16022         display_gdb_prompt.
16023         (command_line_input): Add comment.
16024
16025 2017-03-08  Pedro Alves  <palves@redhat.com>
16026
16027         PR tui/21216
16028         * tui/tui-file.c (tui_file::write): New.
16029         * tui/tui-file.h (tui_file): Override "write".
16030         * tui/tui-io.c (do_tui_putc, update_start_line): New functions,
16031         factored out from ...
16032         (tui_puts): ... here.
16033         (tui_putc): Use them.
16034         (tui_write): New function.
16035         * tui/tui-io.h (tui_write): Declare.
16036
16037 2017-03-07  Sergio Durigan Junior  <sergiodj@redhat.com>
16038
16039         * Makefile.in (SFILES): Replace "environ.c" with
16040         "common/environ.c".
16041         (HFILES_NO_SRCDIR): Likewise, for "environ.h".
16042         * environ.c: Include "common-defs.h" instead of "defs.h.  Moved
16043         to...
16044         * common/environ.c: ... here.
16045         * environ.h: Moved to...
16046         * common/environ.h: ... here.
16047
16048 2017-03-07  Peter Bergner  <bergner@vnet.ibm.com>
16049
16050         * gdbarch.sh (pstring_ptr): New static function.
16051         (gdbarch_disassembler_options): Use it.
16052         (gdbarch_verify_disassembler_options): Print valid_disassembler_options,
16053         not valid_disassembler_option->name.
16054         * gdbarch.c: Regenerate.
16055
16056 2017-03-07  Peter Bergner  <bergner@vnet.ibm.com>
16057
16058         * config/powerpc/ppc64-linux.mh (MH_CFLAGS): Delete.
16059
16060 2017-03-07  Pedro Alves  <palves@redhat.com>
16061
16062         * tui/tui-regs.c (tui_restore_gdbout): Don't delete gdb_stdout.
16063
16064 2017-03-07  Walfred Tedeschi  <walfred.tedeschi@intel.com>
16065
16066         * i387-tdep.h (i387_reset_bnd_regs): Add function definition.
16067         * i387-tdep.c (i387_reset_bnd_regs): Add function implementation.
16068         * i386-tdep.c (i386_push_dummy_call): Call i387_reset_bnd_regs.
16069         * amd64-tdep.c (amd64_push_dummy_call): Call i387_reset_bnd_regs.
16070
16071 2017-03-06  Simon Marchi  <simon.marchi@ericsson.com>
16072
16073         * xtensa-linux-nat.c (fetch_gregs): Remove const.
16074
16075 2017-03-03  Simon Marchi  <simon.marchi@ericsson.com>
16076
16077         * remote.c (remote_add_target_side_commands): Use range-based
16078         for loop.
16079
16080 2017-03-03  Yao Qi  <yao.qi@linaro.org>
16081
16082         PR gdb/21165
16083         * ada-valprint.c (ada_val_print_ref): Call value_fetch_lazy if
16084         value is lazy.
16085         * valprint.c (common_val_print): Likewise.
16086
16087 2017-02-28  Peter Bergner  <bergner@vnet.ibm.com>
16088
16089         * NEWS: Mention new set/show disassembler-options commands.
16090         * doc/gdb.texinfo: Document new set/show disassembler-options commands.
16091         * disasm.c: Include "arch-utils.h", "gdbcmd.h" and "safe-ctype.h".
16092         (prospective_options): New static variable.
16093         (gdb_disassembler::gdb_disassembler): Initialize
16094         m_di.disassembler_options.
16095         (gdb_buffered_insn_length_init_dis): Initilize di->disassembler_options.
16096         (get_disassembler_options): New function.
16097         (set_disassembler_options): Likewise.
16098         (set_disassembler_options_sfunc): Likewise.
16099         (show_disassembler_options_sfunc): Likewise.
16100         (disassembler_options_completer): Likewise.
16101         (_initialize_disasm): Likewise.
16102         * disasm.h (get_disassembler_options): New prototype.
16103         (set_disassembler_options): Likewise.
16104         * gdbarch.sh (gdbarch_disassembler_options): New variable.
16105         (gdbarch_verify_disassembler_options): Likewise.
16106         * gdbarch.c: Regenerate.
16107         * gdbarch.h: Likewise.
16108         * arm-tdep.c (num_disassembly_options): Delete.
16109         (set_disassembly_style): Likewise.
16110         (arm_disassembler_options): New static variable.
16111         (set_disassembly_style_sfunc): Convert short style name into long
16112         option name.  Call set_disassembler_options.
16113         (show_disassembly_style_sfunc): New function.
16114         (arm_gdbarch_init): Call set_gdbarch_disassembler_options and
16115         set_gdbarch_verify_disassembler_options.
16116         (_initialize_arm_tdep): Delete regnames variable and update callers.
16117         (arm_disassembler_options): Initialize.
16118         (disasm_options): New variable.
16119         (num_disassembly_options): Rename from this...
16120         (num_disassembly_styles): ...to this.  Compute by scanning through
16121         disasm_options.
16122         (valid_disassembly_styles): Initialize using disasm_options.
16123         Remove calls to parse_arm_disassembler_option, get_arm_regnames and
16124         set_arm_regname_option.
16125         Pass show_disassembly_style_sfunc to the "disassembler" setshow command.
16126         * rs6000-tdep.c (powerpc_disassembler_options): New static variable.
16127         (rs6000_gdbarch_init): Call set_gdbarch_disassembler_options and
16128         set_gdbarch_verify_disassembler_options.
16129         * s390-tdep.c (s390_disassembler_options): New static variable.
16130         (s390_gdbarch_init):all set_gdbarch_disassembler_options and
16131         set_gdbarch_verify_disassembler_options.
16132
16133 2017-02-27  Simon Marchi  <simon.marchi@ericsson.com>
16134
16135         * remote.c (remote_add_target_side_condition): Remove "struct"
16136         keyword from range-based for loop.
16137
16138 2017-02-27  Simon Marchi  <simon.marchi@ericsson.com>
16139
16140         * remote.c (remote_add_target_side_condition): Use range-based
16141         for loop.  Update comment.
16142
16143 2017-02-27  Yao Qi  <yao.qi@linaro.org>
16144
16145         * f-typeprint.c (f_print_type): Check "varstring" is empty first.
16146
16147 2017-02-26  Alan Hayward  <alan.hayward@arm.com>
16148
16149         * regcache.c (regcache_raw_update): New function.
16150         (regcache_raw_read): Move code to regcache_raw_update.
16151         * regcache.h (regcache_raw_update): New declaration.
16152         * remote.c (remote_prepare_to_store): Call regcache_raw_update.
16153
16154 2017-02-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
16155
16156         * dwarf2read.c (create_debug_type_hash_table): Initialize
16157         header.signature and header.type_offset_in_tu.
16158
16159 2017-02-24  Pedro Alves  <palves@redhat.com>
16160
16161         * symtab.c (make_file_symbol_completion_list_1): Use
16162         add_symtab_completions.
16163
16164 2017-02-24  Alan Hayward  <alan.hayward@arm.com>
16165
16166         * stack.c (frame_info): Use frame_unwind_register_value to avoid buf.
16167
16168 2017-02-24  Alan Hayward  <alan.hayward@arm.com>
16169
16170         * i386-tdep.c (i386_pseudo_register_read_into_value): Use
16171         I386_MAX_REGISTER_SIZE.
16172         (i386_pseudo_register_write): Likewise.
16173         (i386_process_record): Likewise.
16174         * i387-tdep.c (i387_supply_xsave): Likewise.
16175         * m68k-linux-nat.c (fetch_register): Use M68K_MAX_REGISTER_SIZE.
16176         (store_register): Likewise.
16177
16178 2017-02-23  Pedro Alves  <palves@redhat.com>
16179
16180         * ada-lang.c: Include "common/function-view.h".
16181         (ada_iterate_over_symbols): Adjust to use function_view as
16182         callback type.
16183         (struct add_partial_datum, ada_complete_symbol_matcher): Delete.
16184         (ada_make_symbol_completion_list): Use a lambda.
16185         (ada_exc_search_name_matches): Delete.
16186         (name_matches_regex): New.
16187         (ada_add_global_exceptions): Use a lambda and name_matches_regex.
16188         * compile/compile-c-support.c: Include "common/function-view.h".
16189         (print_one_macro): Change prototype to accept a ui_file pointer.
16190         (write_macro_definitions): Use a lambda.
16191         * dwarf2read.c: Include "common/function-view.h".
16192         (dw2_map_expand_apply, dw2_map_symtabs_matching_filename)
16193         (dw2_expand_symtabs_matching): Adjust to use function_view as
16194         callback type.
16195         * language.h: Include "common/function-view.h".
16196         (struct language_defn) <la_iterate_over_symbols>: Adjust to use
16197         function_view as callback type.
16198         (LA_ITERATE_OVER_SYMBOLS): Remove DATA parameter.
16199         * linespec.c: Include "common/function-view.h".
16200         (collect_info::add_symbol): New method.
16201         (struct symbol_and_data_callback, iterate_inline_only, struct
16202         symbol_matcher_data, iterate_name_matcher): Delete.
16203         (iterate_over_all_matching_symtabs): Adjust to use function_view
16204         as callback type and lambdas.
16205         (iterate_over_file_blocks): Adjust to use function_view as
16206         callback type.
16207         (decode_compound_collector): Now a class with private fields.
16208         (decode_compound_collector::release_symbols): New method.
16209         (collect_one_symbol): Rename to...
16210         (decode_compound_collector::operator()): ... this and adjust.
16211         (lookup_prefix_sym): decode_compound_collector construction bits
16212         move to decode_compound_collector ctor.  Pass the
16213         decode_compound_collector object directly as callback.  Remove
16214         cleanups and use decode_compound_collector::release_symbols
16215         instead.
16216         (symtab_collector): Now a class with private fields.
16217         (symtab_collector::release_symtabs): New method.
16218         (add_symtabs_to_list): Rename to...
16219         (symtab_collector::operator()): ... this and adjust.
16220         (collect_symtabs_from_filename): symtab_collector construction
16221         bits move to symtab_collector ctor.  Pass the symtab_collector
16222         object directly as callback.  Remove cleanups and use
16223         symtab_collector::release_symtabs instead.
16224         (collect_symbols): Delete.
16225         (add_matching_symbols_to_info): Use lambdas.
16226         * macrocmd.c (print_macro_callback): Delete.
16227         (info_macro_command): Use a lambda.
16228         (info_macros_command): Pass print_macro_definition as callable
16229         directly.
16230         (print_one_macro): Remove 'ignore' parameter.
16231         (macro_list_command): Adjust.
16232         * macrotab.c (macro_for_each_data::fn): Now a function_view.
16233         (macro_for_each_data::user_data): Delete field.
16234         (foreach_macro): Adjust to call the function_view.
16235         (macro_for_each): Adjust to use function_view as callback type.
16236         (foreach_macro_in_scope): Adjust to call the function_view.
16237         (macro_for_each_in_scope): Adjust to use function_view as callback
16238         type.
16239         * macrotab.h: Include "common/function-view.h".
16240         (macro_callback_fn): Declare a prototype instead of a pointer.
16241         Remove "user_data" parameter.
16242         (macro_for_each, macro_for_each_in_scope): Adjust to use
16243         function_view as callback type.
16244         * psymtab.c (partial_map_expand_apply)
16245         (psym_map_symtabs_matching_filename, recursively_search_psymtabs):
16246         Adjust to use function_view as callback type and to return bool.
16247         (psym_expand_symtabs_matching): Adjust to use function_view as
16248         callback types.
16249         * symfile-debug.c (debug_qf_map_symtabs_matching_filename): Adjust
16250         to use function_view as callback type and to return bool.
16251         (debug_qf_expand_symtabs_matching): Adjust to use function_view as
16252         callback types.
16253         * symfile.c (expand_symtabs_matching): Adjust to use function_view
16254         as callback types.
16255         * symfile.h: Include "common/function-view.h".
16256         (expand_symtabs_file_matcher_ftype)
16257         (expand_symtabs_symbol_matcher_ftype)
16258         (expand_symtabs_exp_notify_ftype): Remove "data" parameter and
16259         return bool.
16260         (quick_symbol_functions::map_symtabs_matching_filename)
16261         (quick_symbol_functions::expand_symtabs_matching): Adjust to use
16262         function_view as callback type and return bool.
16263         (expand_symtabs_matching): Adjust to use function_view as callback
16264         type.
16265         (maintenance_expand_name_matcher)
16266         (maintenance_expand_file_matcher): Delete.
16267         (maintenance_expand_symtabs): Use lambdas.
16268         * symtab.c (iterate_over_some_symtabs): Adjust to use
16269         function_view as callback types and return bool.
16270         (iterate_over_symtabs): Likewise.  Use unique_xmalloc_ptr instead
16271         of a cleanup.
16272         (lookup_symtab_callback): Delete.
16273         (lookup_symtab): Use a lambda.
16274         (iterate_over_symbols): Adjust to use function_view as callback
16275         type.
16276         (struct search_symbols_data, search_symbols_file_matches)
16277         (search_symbols_name_matches): Delete.
16278         (search_symbols): Use a pair of lambdas.
16279         (struct add_name_data, add_macro_name, symbol_completion_matcher)
16280         (symtab_expansion_callback): Delete.
16281         (default_make_symbol_completion_list_break_on_1): Use lambdas.
16282         * symtab.h: Include "common/function-view.h".
16283         (iterate_over_some_symtabs): Adjust to use function_view as
16284         callback type and return bool.
16285         (iterate_over_symtabs): Adjust to use function_view as callback
16286         type.
16287         (symbol_found_callback_ftype): Remove 'data' parameter and return
16288         bool.
16289         (iterate_over_symbols): Adjust to use function_view as callback
16290         type.
16291
16292 2017-02-23  Pedro Alves  <palves@redhat.com>
16293
16294         * Makefile.in (SUBDIR_UNITTESTS_SRCS, SUBDIR_UNITTESTS_OBS): New.
16295         (%.o) <unittests/%.c>: New pattern.
16296         * configure.ac ($development): Add $(SUBDIR_UNITTESTS_OBS) to
16297         CONFIG_OBS, and $(SUBDIR_UNITTESTS_SRCS) to CONFIG_SRCS.
16298         * common/function-view.h: New file.
16299         * unittests/function-view-selftests.c: New file.
16300         * configure: Regenerate.
16301
16302 2017-02-23  Simon Marchi  <simon.marchi@ericsson.com>
16303
16304         * bsd-uthread.c (bsd_uthread_thread_alive): Use ptid instead of
16305         inferior_ptid.
16306         * go32-nat.c (go32_thread_alive): Likewise.
16307
16308 2017-02-23  Yao Qi  <yao.qi@linaro.org>
16309
16310         * varobj-iter.h (varobj_iter_delete): Call xfree instead of
16311         delete.
16312
16313 2017-02-23  Yao Qi  <yao.qi@linaro.org>
16314
16315         * varobj.c (varobj_clear_saved_item): Use delete instead of
16316         xfree.
16317         (update_dynamic_varobj_children): Likewise.
16318
16319 2017-02-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
16320
16321         * dwarf2read.c (dwarf2_record_block_ranges): Add forgotten BASEADDR.
16322
16323 2017-02-21  Simon Marchi  <simon.marchi@ericsson.com>
16324
16325         * common/enum-flags.h (enum_flags::enum_flags): Initialize
16326         m_enum_value to 0 in default constructor.
16327
16328 2017-02-21  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
16329
16330         * rs6000-tdep.c (LOAD_AND_RESERVE_MASK): Rename from LWARX_MASK.
16331         (STORE_CONDITIONAL_MASK): Rename from STWCX_MASK.
16332         (LBARX_INSTRUCTION, LHARX_INSTRUCTION, LQARX_INSTRUCTION,
16333         STBCX_INSTRUCTION, STHCX_INSTRUCTION, STQCX_INSTRUCTION): New defines.
16334         (IS_LOAD_AND_RESERVE_INSN, IS_STORE_CONDITIONAL_INSN): New macros.
16335         (ppc_displaced_step_copy_insn): Use IS_LOAD_AND_RESERVE_INSN.
16336         (ppc_deal_with_atomic_sequence): Use IS_LOAD_AND_RESERVE_INSN and
16337         IS_STORE_CONDITIONAL_INSN.
16338
16339 2017-02-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
16340
16341         * dwarf2_rnglists_process: Initialize range_beginning and range_end.
16342
16343 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16344
16345         * NEWS (Changes since GDB 7.12): Add DWARF-5.
16346
16347 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16348
16349         * dwarf2read.c (skip_one_die, read_attribute_value)
16350         (dwarf2_const_value_attr, dump_die_shallow)
16351         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
16352         (skip_form_bytes, attr_form_is_constant): Handle DW_FORM_data16.
16353
16354 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16355
16356         * dwarf2read.c (read_file_scope): Rename DW_MACRO_GNU_*.
16357         (dwarf_parse_macro_header): Accept DWARF version 5.
16358         (dwarf_decode_macro_bytes, dwarf_decode_macros): Rename DW_MACRO_GNU_*.
16359
16360 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16361
16362         * block.c (call_site_for_pc): Rename DW_OP_GNU_*, DW_TAG_GNU_* and
16363         DW_AT_GNU_*.
16364         * common/common-exceptions.h (enum errors): Likewise.
16365         * dwarf2-frame.c (class dwarf_expr_executor): Likewise.
16366         * dwarf2expr.c (dwarf_block_to_dwarf_reg)
16367         (dwarf_expr_context::execute_stack_op): Likewise.
16368         * dwarf2expr.h (struct dwarf_expr_context, struct dwarf_expr_piece):
16369         Likewise.
16370         * dwarf2loc.c (dwarf_evaluate_loc_desc::get_base_type)
16371         (dwarf_evaluate_loc_desc::push_dwarf_reg_entry_value)
16372         (show_entry_values_debug, call_site_to_target_addr)
16373         (func_addr_to_tail_call_list, func_verify_no_selftailcall)
16374         (dwarf_expr_reg_to_entry_parameter, dwarf_entry_parameter_to_value)
16375         (entry_data_value_free_closure, value_of_dwarf_reg_entry)
16376         (value_of_dwarf_block_entry, indirect_pieced_value)
16377         (symbol_needs_eval_context::push_dwarf_reg_entry_value):
16378         (disassemble_dwarf_expression): Likewise.
16379         * dwarf2read.c (process_die, inherit_abstract_dies)
16380         (read_call_site_scope): Likewise.
16381         * gdbtypes.h (struct func_type, struct call_site_parameter)
16382         (struct call_site): Likewise.
16383         * stack.c (read_frame_arg): Likewise.
16384         * std-operator.def (OP_VAR_ENTRY_VALUE): Likewise.
16385
16386 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16387
16388         * defs.h (read_unsigned_leb128): New declaration.
16389         * dwarf2loc.c (decode_debug_loclists_addresses): New function.
16390         (decode_debug_loc_dwo_addresses): Update DEBUG_LOC_* to DW_LLE_*.
16391         (dwarf2_find_location_expression): Call also
16392         decode_debug_loclists_addresses.  Handle DWARF-5 ULEB128 length.
16393         * dwarf2loc.h (dwarf2_version): New declaration.
16394         * dwarf2read.c (struct dwarf2_per_objfile): Add loclists, line_str,
16395         rnglists.
16396         (dwarf2_elf_names): Add .debug_loclists, .debug_line_str,
16397         .debug_rnglists.
16398         (struct dwop_section_names): Add loclists_dwo.
16399         (dwop_section_names): Add .debug_loclists.dwo.
16400         (struct comp_unit_head): Add unit_type, signature, type_offset_in_tu.
16401         (struct dwarf2_per_cu_data): Add dwarf_version.
16402         (struct dwo_sections): Add loclists.
16403         (struct attr_abbrev): Add implicit_const.
16404         (read_indirect_line_string): New declaration.
16405         (read_unsigned_leb128): Delete declaration.
16406         (rcuh_kind): New definition.
16407         (read_and_check_comp_unit_head): Change parameter
16408         is_debug_types_section to section_kind.
16409         (dwarf2_locate_sections): Handle loclists, line_str and rnglists.
16410         (read_comp_unit_head): Change parameter abfd to section, add parameter
16411         section_kind.  Handle DWARF-5.
16412         (error_check_comp_unit_head): Accept also DWARF version 5.
16413         (read_and_check_comp_unit_head): Change parameter
16414         is_debug_types_section to section_kind.
16415         (read_and_check_type_unit_head): Delete function.
16416         (read_abbrev_offset): Handle DWARF-5.
16417         (create_debug_type_hash_table): Add parameter section_kind.  Process
16418         only DW_UT_type.  Use signature and type_offset_in_tu from struct
16419         comp_unit_head.
16420         (create_debug_types_hash_table): Update create_debug_type_hash_table
16421         caller.
16422         (create_all_type_units): Call create_debug_type_hash_table.
16423         (read_cutu_die_from_dwo, init_cutu_and_read_dies): Change
16424         read_and_check_type_unit_head caller to read_and_check_comp_unit_head
16425         caller.
16426         (skip_one_die): Handle DW_FORM_implicit_const.
16427         (dwarf2_rnglists_process): New function.
16428         (dwarf2_ranges_process): Call dwarf2_rnglists_process for DWARF-5.
16429         (abbrev_table_read_table): Handle DW_FORM_implicit_const.
16430         (read_attribute_value): Handle DW_FORM_implicit_const,
16431         DW_FORM_line_strp.
16432         (read_attribute): Handle DW_FORM_implicit_const.
16433         (read_indirect_string_at_offset_from): New function from
16434         read_indirect_string_at_offset.
16435         (read_indirect_string_at_offset): Call
16436         read_indirect_string_at_offset_from.
16437         (read_indirect_line_string_at_offset): New function.
16438         (read_indirect_string): New function comment.
16439         (read_indirect_line_string): New function.
16440         (read_unsigned_leb128): Make it global.
16441         (dwarf2_string_attr): Handle DWARF-5.
16442         (add_include_dir_stub, read_formatted_entries): New functions.
16443         (dwarf_decode_line_header, dump_die_shallow, cu_debug_loc_section):
16444         Handle DWARF-5.
16445         (per_cu_header_read_in): Update read_comp_unit_head caller.
16446         (dwarf2_version): New function.
16447         * symfile.h (struct dwarf2_debug_sections): Add loclists, line_str and
16448         rnglists.
16449         * xcoffread.c (dwarf2_xcoff_names): Update struct dwarf2_debug_sections
16450         fields.
16451
16452 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16453
16454         * dwarf2read.c (abbrev_table_read_table): Read the data only once.
16455
16456 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16457
16458         * dwarf2read.c (dwarf2_ranges_process): New function from
16459         dwarf2_ranges_read.
16460         (dwarf2_ranges_read, dwarf2_record_block_ranges): Use
16461         dwarf2_ranges_process.
16462
16463 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16464
16465         * dwarf2read.c (create_debug_type_hash_table): New function from
16466         create_debug_types_hash_table.
16467         (create_debug_types_hash_table): Call create_debug_type_hash_table.
16468         (create_all_type_units, open_and_init_dwo_file): Update
16469         create_debug_types_hash_table callers.
16470
16471 2017-02-20  Sergio Durigan Junior  <sergiodj@redhat.com>
16472
16473         PR gdb/16188
16474         * fork-child.c (trace_start_error): Fix thinko.  va_end should
16475         refer to 'ap', not 'args'.
16476
16477 2017-02-20  Sergio Durigan Junior  <sergiodj@redhat.com>
16478             Pedro Alves  <palves@redhat.com>
16479
16480         PR gdb/16188
16481         * darwin-nat.c (darwin_ptrace_me): Check if calls to system
16482         calls succeeded.
16483         * fork-child.c (trace_start_error): New function.
16484         (trace_start_error_with_name): Likewise.
16485         * gnu-nat.c (gnu_ptrace_me): Check if call to PTRACE succeeded.
16486         * inf-ptrace.c (inf_ptrace_me): Likewise.
16487         * inferior.h (trace_start_error): New prototype.
16488         (trace_start_error_with_name): Likewise.
16489
16490 2017-02-15  Sergio Durigan Junior  <sergiodj@redhat.com>
16491
16492         PR gdb/21164
16493         * psymtab.c (maintenance_print_psymbols): Verify if 'argv' is not
16494         NULL before using it.
16495         * symmisc.c (maintenance_print_symbols): Likewise.
16496         (maintenance_print_msymbols): Likewise.
16497
16498 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16499
16500         * NEWS: Add record Python bindings entry.
16501
16502 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16503
16504         * Makefile.in (SUBDIR_PYTHON_OBS): Add py-record-btrace.o,
16505         py-record-full.o.
16506         (SUBDIR_PYTHON_SRCS): Add py-record-btrace.c, py-record-full.c.
16507         * python/py-record-btrace.c, python/py-record-btrace.h,
16508         python/py-record-full.c, python/py-record-full.h: New file.
16509         * python/py-record.c: Add include for py-record-btrace.h and
16510         py-record-full.h.
16511         (recpy_method, recpy_format, recpy_goto, recpy_replay_position,
16512         recpy_instruction_history, recpy_function_call_history, recpy_begin,
16513         recpy_end): Use functions from py-record-btrace.c and py-record-full.c.
16514         * python/python-internal.h (PyInt_FromSsize_t, PyInt_AsSsize_t):
16515         New definition.
16516         (gdbpy_initialize_btrace): New export.
16517         * python/python.c (_initialize_python): Add gdbpy_initialize_btrace.
16518
16519 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16520
16521         * Makefile.in (SUBDIR_PYTHON_OBS): Add python/py-record.o.
16522         (SUBDIR_PYTHON_SRCS): Add python/py-record.c.
16523         * python/py-record.c: New file.
16524         * python/python-internal.h (gdbpy_start_recording,
16525         gdbpy_current_recording, gdpy_stop_recording,
16526         gdbpy_initialize_record): New export.
16527         * python/python.c (_initialize_python): Add gdbpy_initialize_record.
16528         (python_GdbMethods): Add gdbpy_start_recording,
16529         gdbpy_current_recording and gdbpy_stop_recording.
16530
16531 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16532
16533         * record-btrace.c (record_btrace_record_method): New function.
16534         (init_record_btrace_ops): Initialize to_record_method.
16535         * record-full.c (record_full_record_method): New function.
16536         (init_record_full_ops, init_record_full_core_ops): Add
16537         record_full_record_method.
16538         * record.h (enum record_method): New enum.
16539         * target-debug.h (target_debug_print_enum_record_method: New define.
16540         * target-delegates.c: Regenerate.
16541         * target.c (target_record_method): New function.
16542         * target.h: Include record.h.
16543         (struct target_ops) <to_record_method>: New field.
16544         (target_record_method): New export.
16545
16546 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16547
16548         * record.h (record_start, record_stop): New export.
16549         * record.c (record_start, record_stop): New function.
16550
16551 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16552
16553         * btrace.c (btrace_fetch): Copy function call segments pointer
16554         into a vector.
16555         (btrace_clear): Clear the vector.
16556         (btrace_find_insn_by_number): Use binary search to find the correct
16557         function call segment.
16558         * btrace.h (brace_fun_p): New typedef.
16559         (struct btrace_thread_info) <functions>: New field.
16560
16561 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16562
16563         * record-btrace.c (btrace_ui_out_decode_error): Move most of it ...
16564         * btrace.c (btrace_decode_error): ... here.  New function.
16565         * btrace.h (btrace_decode_error): New export.
16566
16567 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16568
16569         * btrace.c (ftrace_call_num_insn, btrace_insn_get_error): New function.
16570         (ftrace_new_function, btrace_insn_number, btrace_insn_cmp,
16571         btrace_find_insn_by_number): Remove special case for gaps.
16572         * btrace.h (btrace_insn_get_error): New export.
16573         (btrace_insn_number, btrace_find_insn_by_number): Adjust comment.
16574         * record-btrace.c (btrace_insn_history): Print number for gaps.
16575         (record_btrace_info, record_btrace_goto): Handle gaps.
16576
16577 2017-02-14  Tom Tromey  <tom@tromey.com>
16578
16579         PR python/13598:
16580         * python/python.c (gdbpy_before_prompt_hook): Emit before_prompt
16581         event.
16582         * python/py-evts.c (gdbpy_initialize_py_events): Add
16583         before_prompt registry.
16584         * python/py-events.h (events_object) <before_prompt>: New field.
16585
16586 2017-02-14  Markus Metzger  <markus.t.metzger@intel.com>
16587
16588         * btrace.c (ftrace_new_switch): Preserve up link and flags.
16589
16590 2017-02-13  Luis Machado  <lgustavo@codesourcery.com>
16591
16592         * symfile (_initialize_symfile): Add usage text to the load command's
16593         help text.
16594
16595 2017-02-10  Simon Marchi  <simon.marchi@ericsson.com>
16596
16597         * utils.c (defaulted_query): Don't query on secondary UIs.
16598
16599 2017-02-10  Tom Tromey  <tom@tromey.com>
16600
16601         * rust-lang.c (rust_get_disr_info): Remove unused variable.
16602
16603 2017-02-10  Tom Tromey  <tom@tromey.com>
16604
16605         * python/py-value.c (valpy_richcompare_throw): Remove unnecessary
16606         "cleanup" local.
16607         * python/py-type.c (typy_legacy_template_argument): Remove
16608         unnecessary "cleanup" local.
16609
16610 2017-02-10  Tom Tromey  <tom@tromey.com>
16611
16612         * python/python.c (do_start_initialization): New function, from
16613         _initialize_python.
16614         (_initialize_python): Call do_start_initialization.
16615         * python/py-linetable.c (ltpy_iternext): Use explicit returns, not
16616         goto.
16617
16618 2017-02-10  Tom Tromey  <tom@tromey.com>
16619
16620         * python/py-prettyprint.c (pretty_print_one_value): Use
16621         gdbpy_ref.
16622
16623 2017-02-10  Tom Tromey  <tom@tromey.com>
16624
16625         * python/py-cmd.c (cmdpy_destroyer): Use gdbpy_ref.
16626         * python/py-breakpoint.c (gdbpy_breakpoint_deleted): Use
16627         gdbpy_ref.
16628         * python/py-type.c (field_new): Use gdbpy_ref.
16629         * python/py-symtab.c (symtab_and_line_to_sal_object): Use
16630         gdbpy_ref.
16631         * python/py-progspace.c (pspy_new): Use gdbpy_ref.
16632         (py_free_pspace): Likewise.
16633         (pspace_to_pspace_object): Likewise.
16634         * python/py-objfile.c (objfpy_new): Use gdbpy_ref.
16635         (py_free_objfile): Likewise.
16636         (objfile_to_objfile_object): Likewise.
16637         * python/py-inferior.c (delete_thread_object): Use
16638         gdbpy_ref.
16639         (infpy_read_memory): Likewise.
16640         (py_free_inferior): Likewise.
16641         * python/py-evtregistry.c (create_eventregistry_object): Use
16642         gdbpy_ref.
16643         * python/py-event.c (create_event_object): Use gdbpy_ref.
16644
16645 2017-02-10  Tom Tromey  <tom@tromey.com>
16646
16647         * python/py-ref.h (gdbpy_ref_policy): Now a template.
16648         (gdbpy_ref): Now a template; allow subclasses of PyObject to be
16649         used.
16650         * python/py-arch.c, python/py-bpevent.c, python/py-breakpoint.c,
16651         python/py-cmd.c, python/py-continueevent.c, python/py-event.c,
16652         python/py-exitedevent.c, python/py-finishbreakpoint.c,
16653         python/py-framefilter.c, python/py-function.c,
16654         python/py-inferior.c, python/py-infevents.c,
16655         python/py-linetable.c, python/py-newobjfileevent.c,
16656         python/py-param.c, python/py-prettyprint.c, python/py-ref.h,
16657         python/py-signalevent.c, python/py-stopevent.c,
16658         python/py-symbol.c, python/py-threadevent.c, python/py-type.c,
16659         python/py-unwind.c, python/py-utils.c, python/py-value.c,
16660         python/py-varobj.c, python/py-xmethods.c, python/python.c,
16661         varobj.c: Change gdbpy_ref to gdbpy_ref<>.
16662
16663 2017-02-10  Tom Tromey  <tom@tromey.com>
16664
16665         * ui-out.h (ui_out_emit_type): New class.
16666         (ui_out_emit_tuple, ui_out_emit_list): New typedefs.
16667         * python/py-framefilter.c (py_print_single_arg): Use gdb::optional
16668         and ui_out_emit_tuple.
16669         (enumerate_locals): Likewise.
16670         (py_mi_print_variables, py_print_locals, py_print_args): Use
16671         ui_out_emit_list.
16672         (py_print_frame): Use gdb::optional, ui_out_emit_tuple,
16673         ui_out_emit_list.
16674         * common/gdb_optional.h: New file.
16675
16676 2017-02-10  Martin Galvan  <martingalvan@sourceware.org>
16677
16678         * MAINTAINERS (Write After Approval): Update my e-mail address.
16679
16680 2017-02-10  Martin Galvan  <martingalvan@sourceware.org>
16681
16682         PR gdb/21122
16683         * breakpoint.c (_initialize_breakpoint): Update the help description
16684         of the 'commands' command to indicate that it takes a list argument.
16685
16686 2017-02-09  Simon Marchi  <simon.marchi@ericsson.com>
16687
16688         * interps.c (current_interp_set_logging): Remove "return".
16689
16690 2017-02-09  Gary Benson  <gbenson@redhat.com>
16691
16692         * symtab.c (add_symtab_completions): Prevent NULL pointer
16693         dereference.
16694
16695 2017-02-08  Pedro Alves  <palves@redhat.com>
16696
16697         * interps.c (interp::interp): Remove reference to quiet_p.
16698         (interp_set): Make static.  Remove dead "Switching to" output
16699         code.
16700         (interp_quiet_p, interp_set_quiet): Delete.
16701         (interpreter_exec_cmd): Don't set the interpreter quiet.
16702         * interps.h (interp_quiet_p): Make static.
16703         (class interp) <quiet_p>: Remove field
16704
16705 2017-02-08  Jerome Guitton  <guitton@adacore.com>
16706
16707         * cli/cli-decode.c (find_command_name_length): Make it extern.
16708         * cli/cli-decode.h (find_command_name_length): Declare.
16709         * cli/cli-script.c (command_name_equals, line_first_arg):
16710         New functions.
16711         (process_next_line): Use cli-decode to parse command names.
16712         (build_command_line): Make args a constant pointer.
16713
16714 2017-02-08  Jerome Guitton  <guitton@adacore.com>
16715
16716         * cli-decode.c (lookup_cmd_1, lookup_cmd_composition):
16717         Remove case-insensitive search.
16718
16719 2017-02-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
16720
16721         * sparc-tdep.c (sparc32_gdbarch_init): Do not place a + operator
16722         at the end of the line.  Avoids an ARI warning.
16723
16724 2017-02-06  Luis Machado  <lgustavo@codesourcery.com>
16725
16726         * NEWS: Mention support for record/replay of Intel 64 rdrand and
16727         rdseed instructions.
16728         i386-tdep.c (i386_process_record): Handle Intel 64 rdrand and rseed.
16729
16730 2017-02-06  Ivo Raisr  <ivo.raisr@oracle.com>
16731
16732         PR tdep/20936
16733         Provide and use sparc32 and sparc64 target description XML files.
16734         * features/sparc/sparc32-cp0.xml, features/sparc/sparc32-cpu.xml,
16735         features/sparc/sparc32-fpu.xml: New files for sparc 32-bit.
16736         * features/sparc/sparc64-cp0.xml, features/sparc/sparc64-cpu.xml,
16737         features/sparc/sparc64-fpu.xml: New files for sparc 64-bit.
16738         * features/sparc/sparc32-solaris.xml: New file.
16739         * features/sparc/sparc64-solaris.xml: New file.
16740         * features/sparc/sparc32-solaris.c: Generated.
16741         * features/sparc/sparc64-solaris.c: Generated.
16742         * sparc-tdep.h: Account for differences in target descriptions.
16743         * sparc-tdep.c (sparc32_register_name): Use target provided registers.
16744         (sparc32_register_type): Use target provided registers.
16745         (validate_tdesc_registers): New function.
16746         (sparc32_gdbarch_init): Use tdesc_has_registers.
16747         Set pseudoregister functions.
16748         * sparc64-tdep.c (sparc64_register_name): Use target provided registers.
16749         (sparc64_register_type): Use target provided registers.
16750         (sparc64_init_abi): Set pseudoregister functions.
16751
16752 2017-02-03  Tom Tromey  <tom@tromey.com>
16753
16754         PR rust/21097:
16755         * rust-lang.c (rust_print_type) <TYPE_CODE_UNION>: Handle enums
16756         with a single member.
16757
16758 2017-02-03  Pedro Alves  <palves@redhat.com>
16759
16760         * cli/cli-interp.c (cli_interp_base::cli_interp_base)
16761         (cli_interp_base::~cli_interp_base): New.
16762         (cli_interp): New struct.
16763         (as_cli_interp): Cast the interp itself to cli_interp.
16764         (cli_interpreter_pre_command_loop): Rename to ...
16765         (cli_interp_base::pre_command_loop): ... this.  Remove 'self'
16766         parameter.
16767         (cli_interpreter_init): Rename to ...
16768         (cli_interp::init): ... this.  Remove 'self' parameter.  Use
16769         boolean.  Make extern.
16770         (cli_interpreter_resume): Rename to ...
16771         (cli_interp::resume): ... this.  Remove 'data' parameter.  Make
16772         extern.
16773         (cli_interpreter_suspend): Rename to ...
16774         (cli_interp::suspend): ... this.  Remove 'data' parameter.  Make
16775         extern.
16776         (cli_interpreter_exec): Rename to ...
16777         (cli_interp::exec): ... this.  Remove 'data' parameter.  Make
16778         extern.
16779         (cli_interpreter_supports_command_editing): Rename to ...
16780         (cli_interp_base::supports_command_editing): ... this.  Remove
16781         'interp' parameter.  Make extern.
16782         (cli_ui_out): Rename to ...
16783         (cli_interp::interp_ui_out): ... this.  Remove 'interp' parameter.
16784         Make extern.
16785         (cli_set_logging): Rename to ...
16786         (cli_interp_base::set_logging): ... this.  Remove 'interp'
16787         parameter.  Make extern.
16788         (cli_interp_procs): Delete.
16789         (cli_interp_factory): Adjust to use "new".
16790         * cli/cli-interp.h: Include "interps.h".
16791         (struct cli_interp_base): New struct.
16792         * interps.c (struct interp): Delete.  Fields moved to interps.h.
16793         (interp_new): Delete.
16794         (interp::interp, interp::~interp): New.
16795         (interp_set): Use bool, and return void.  Assume the interpreter
16796         has suspend, init and resume methods, and that the all return
16797         void.
16798         (set_top_level_interpreter): interp_set returns void.
16799         (interp_ui_out): Adapt.
16800         (current_interp_set_logging): Adapt.
16801         (interp_data): Delete.
16802         (interp_pre_command_loop, interp_supports_command_editing): Adapt.
16803         (interp_exec): Adapt.
16804         (top_level_interpreter_data): Delete.
16805         * interps.h (interp_init_ftype, interp_resume_ftype)
16806         (interp_suspend_ftype, interp_exec_ftype)
16807         (interp_pre_command_loop_ftype, interp_ui_out_ftype): Delete.
16808         (class interp): New.
16809         (interp_new): Delete.
16810         (interp_set): Now returns void.  Use bool.
16811         (interp_data, top_level_interpreter_data): Delete.
16812         * mi/mi-common.h: Include interps.h.
16813         (class mi_interp): Inherit from interp.  Define a ctor.  Declare
16814         init, resume, suspect, exec, interp_ui_out, set_logging and
16815         pre_command_loop methods.
16816         * mi/mi-interp.c (as_mi_interp): Cast the interp itself.
16817         (mi_interpreter_init): Rename to ...
16818         (mi_interp::init): ... this.  Remove the 'interp' parameter, use
16819         bool, return void and make extern.  Adjust.
16820         (mi_interpreter_resume): ... Rename to ...
16821         (mi_interp::resume): ... this.  Remove the 'data' parameter,
16822         return void and make extern.  Adjust.
16823         (mi_interpreter_suspend): ... Rename to ...
16824         (mi_interp::suspend): ... this.  Remove the 'data' parameter,
16825         return void and make extern.  Adjust.
16826         (mi_interpreter_exec): ... Rename to ...
16827         (mi_interp::exec): ... this.  Remove the 'data' parameter and make
16828         extern.  Adjust.
16829         (mi_interpreter_pre_command_loop): ... Rename to ...
16830         (mi_interp::pre_command_loop): ... this.  Remove the 'self'
16831         parameter and make extern.
16832         (mi_on_normal_stop_1): Adjust.
16833         (mi_ui_out): Rename to ...
16834         (mi_interp::interp_ui_out): ... this.  Remove the 'interp'
16835         parameter and make extern.  Adjust.
16836         (mi_set_logging): Rename to ...
16837         (mi_interp::set_logging): ... this.  Remove the 'interp'
16838         parameter and make extern.  Adjust.
16839         (mi_interp_procs): Delete.
16840         (mi_interp_factory): Adjust to use 'new'.
16841         * mi/mi-main.c (mi_cmd_gdb_exit, captured_mi_execute_command)
16842         (mi_print_exception, mi_execute_command, mi_load_progress):
16843         Adjust.
16844         * tui/tui-interp.c (tui_interp): New class.
16845         (as_tui_interp): Return a tui_interp pointer.
16846         (tui_on_normal_stop, tui_on_signal_received)
16847         (tui_on_end_stepping_range, tui_on_signal_exited, tui_on_exited)
16848         (tui_on_no_history, tui_on_user_selected_context_changed): Adjust
16849         to use interp::interp_ui_out.
16850         (tui_init): Rename to ...
16851         (tui_interp::init): ... this.  Remove the 'self' parameter, use
16852         bool, return void and make extern.  Adjust.
16853         (tui_resume): Rename to ...
16854         (tui_interp::resume): ... this.  Remove the 'data' parameter,
16855         return void and make extern.  Adjust.
16856         (tui_suspend): Rename to ...
16857         (tui_interp::suspend): ... this.  Remove the 'data' parameter,
16858         return void and make extern.  Adjust.
16859         (tui_ui_out): Rename to ...
16860         (tui_interp::interp_ui_out): ... this.  Remove the 'self'
16861         parameter, and make extern.  Adjust.
16862         (tui_exec): Rename to ...
16863         (tui_interp::exec): ... this.  Remove the 'data' parameter and
16864         make extern.
16865         (tui_interp_procs): Delete.
16866         (tui_interp_factory): Use "new".
16867
16868 2017-02-02  Tom Tromey  <tom@tromey.com>
16869
16870         * rust-exp.y (ends_raw_string, space_then_number)
16871         (rust_identifier_start_p): Return bool.
16872         * rust-lang.c (rust_tuple_type_p, rust_underscore_fields)
16873         (rust_tuple_struct_type_p, rust_tuple_variant_type_p)
16874         (rust_slice_type_p, rust_range_type_p, rust_u8_type_p)
16875         (rust_chartype_p): Return bool.
16876         (val_print_struct, rust_print_struct_def, rust_print_type):
16877         Update.
16878         * rust-lang.h (rust_tuple_type_p, rust_tuple_struct_type_p):
16879         Return bool.
16880
16881 2017-02-02  Tom Tromey  <tom@tromey.com>
16882
16883         * rust-lang.c: Reindent.
16884
16885 2017-02-02  Tom Tromey  <tom@tromey.com>
16886
16887         * rust-lang.h (rust_crate_for_block): Update.
16888         * rust-lang.c (rust_crate_for_block): Return std::string.
16889         (rust_get_disr_info): Use std:;string, not
16890         gdb::unique_xmalloc_ptr.
16891         * rust-exp.y (crate_name): Update.
16892
16893 2017-02-02  Pedro Alves  <palves@redhat.com>
16894
16895         * disasm-selftests.c (print_one_insn_test): Move the "verbose"
16896         field out of gdb_disassembler_test and make it static.
16897
16898 2017-02-02  Pedro Alves  <palves@redhat.com>
16899
16900         * mi/mi-common.h (struct mi_interp): Delete the mi2_interp,
16901         mi1_interp and mi_interp fields.
16902
16903 2017-02-02  Pedro Alves  <palves@redhat.com>
16904
16905         * cli/cli-interp.c (struct saved_output_files, saved_output):
16906         Moved from cli/cli-logging.c.
16907         (cli_set_logging): New function.
16908         (cli_interp_procs): Install cli_set_logging.
16909         * cli/cli-interp.h (make_logging_output, cli_set_logging):
16910         Declare.
16911         * cli/cli-logging.c (struct saved_output_files, saved_output):
16912         Moved to cli/cli-interp.c.
16913         (pop_output_files): Don't save outputs here.
16914         (make_logging_output): New function.
16915         (handle_redirections): Don't build tee nor save previous outputs
16916         here.
16917         * interps.c (current_interp_set_logging): Change prototype.
16918         Assume there's always a set_logging_proc method installed.
16919         * interps.h (interp_set_logging_ftype): Change prototype.
16920         (current_interp_set_logging): Change prototype and adjust comment.
16921         * mi/mi-interp.c (mi_set_logging): Change protototype.  Adjust to
16922         use make_logging_output.
16923         * tui/tui-interp.c (tui_interp_procs): Install cli_set_logging.
16924 2017-02-02  Pedro Alves  <palves@redhat.com>
16925
16926         * cli/cli-logging.c (maybe_warn_already_logging): New factored out
16927         from ...
16928         (set_logging_overwrite): ... here.
16929         (logging_no_redirect_file): Delete.
16930         (set_logging_redirect): Don't handle redirection on the fly.
16931         Instead warn that "logging off" / "logging on" is necessary.
16932         (pop_output_files): Delete references to logging_no_redirect_file.
16933         (show_logging_command): Always speak in terms of what will happen
16934         once logging is reenabled.
16935
16936 2017-02-02  Pedro Alves  <palves@redhat.com>
16937
16938         * disasm.h (gdb_pretty_print_disassembler): Tweak intro comment.
16939
16940 2017-02-02  Pedro Alves  <palves@redhat.com>
16941
16942         * disasm.c (gdb_pretty_print_insn): Rename to ...
16943         (gdb_pretty_print_disassembler::pretty_print_insn): ... this.
16944         Remove gdbarch parameter.  Adapt to clear the object's buffers
16945         instead of allocating new buffers, and to print using the object's
16946         gdb_disassembler instead of calling gdb_print_insn.
16947         (dump_insns): Use gdb_pretty_print_disassembler.
16948         * disasm.h (gdb_pretty_print_insn): Delete declaration.
16949         (gdb_pretty_print_disassembler): New class.
16950         * record-btrace.c (btrace_insn_history): Use
16951         gdb_pretty_print_disassembler.
16952
16953 2017-02-02  Pedro Alves  <palves@redhat.com>
16954
16955         * ada-lang.c (type_as_string): Use string_file.
16956         * ada-valprint.c (ada_print_floating): Use string_file.
16957         * ada-varobj.c (ada_varobj_scalar_image)
16958         (ada_varobj_get_value_image): Use string_file.
16959         * aix-thread.c (aix_thread_extra_thread_info): Use string_file.
16960         * arm-tdep.c (_initialize_arm_tdep): Use string_printf.
16961         * breakpoint.c (update_inserted_breakpoint_locations)
16962         (insert_breakpoint_locations, reattach_breakpoints)
16963         (print_breakpoint_location, print_one_detail_ranged_breakpoint)
16964         (print_it_watchpoint): Use string_file.
16965         (save_breakpoints): Use stdio_file.
16966         * c-exp.y (oper): Use string_file.
16967         * cli/cli-logging.c (set_logging_redirect): Use ui_file_up and
16968         tee_file.
16969         (pop_output_files): Use delete.
16970         (handle_redirections): Use stdio_file and tee_file.
16971         * cli/cli-setshow.c (do_show_command): Use string_file.
16972         * compile/compile-c-support.c (c_compute_program): Use
16973         string_file.
16974         * compile/compile-c-symbols.c (generate_vla_size): Take a
16975         'string_file &' instead of a 'ui_file *'.
16976         (generate_c_for_for_one_variable): Take a 'string_file &' instead
16977         of a 'ui_file *'.  Use string_file.
16978         (generate_c_for_variable_locations): Take a 'string_file &'
16979         instead of a 'ui_file *'.
16980         * compile/compile-internal.h (generate_c_for_for_one_variable):
16981         Take a 'string_file &' instead of a 'ui_file *'.
16982         * compile/compile-loc2c.c (push, pushf, unary, binary)
16983         (print_label, pushf_register_address, pushf_register)
16984         (do_compile_dwarf_expr_to_c): Take a 'string_file &' instead of a
16985         'ui_file *'.  Adjust.
16986         * compile/compile.c (compile_to_object): Use string_file.
16987         * compile/compile.h (compile_dwarf_expr_to_c)
16988         (compile_dwarf_bounds_to_c): Take a 'string_file &' instead of a
16989         'ui_file *'.
16990         * cp-support.c (inspect_type): Use string_file and obstack_copy0.
16991         (replace_typedefs_qualified_name): Use string_file and
16992         obstack_copy0.
16993         * disasm.c (gdb_pretty_print_insn): Use string_file.
16994         (gdb_disassembly): Adjust reference the null_stream global.
16995         (do_ui_file_delete): Delete.
16996         (gdb_insn_length): Use null_stream.
16997         * dummy-frame.c (maintenance_print_dummy_frames): Use stdio_file.
16998         * dwarf2loc.c (dwarf2_compile_property_to_c)
16999         (locexpr_generate_c_location, loclist_generate_c_location): Take a
17000         'string_file &' instead of a 'ui_file *'.
17001         * dwarf2loc.h (dwarf2_compile_property_to_c): Likewise.
17002         * dwarf2read.c (do_ui_file_peek_last): Delete.
17003         (dwarf2_compute_name): Use string_file.
17004         * event-top.c (gdb_setup_readline): Use stdio_file.
17005         * gdbarch.sh (verify_gdbarch): Use string_file.
17006         * gdbtypes.c (safe_parse_type): Use null_stream.
17007         * guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Use
17008         string_file.
17009         * guile/scm-disasm.c (gdbscm_print_insn_from_port): Take a
17010         'string_file *' instead of a 'ui_file *'.
17011         (gdbscm_arch_disassemble): Use string_file.
17012         * guile/scm-frame.c (frscm_print_frame_smob): Use string_file.
17013         * guile/scm-ports.c (class ioscm_file_port): Now a class that
17014         inherits from ui_file.
17015         (ioscm_file_port_delete, ioscm_file_port_rewind)
17016         (ioscm_file_port_put): Delete.
17017         (ioscm_file_port_write): Rename to ...
17018         (ioscm_file_port::write): ... this.  Remove file_port_magic
17019         checks.
17020         (ioscm_file_port_new): Delete.
17021         (ioscm_with_output_to_port_worker): Use ioscm_file_port and
17022         ui_file_up.
17023         * guile/scm-type.c (tyscm_type_name): Use string_file.
17024         * guile/scm-value.c (vlscm_print_value_smob, gdbscm_value_print):
17025         Use string_file.
17026         * infcmd.c (print_return_value_1): Use string_file.
17027         * infrun.c (print_target_wait_results): Use string_file.
17028         * language.c (add_language): Use string_file.
17029         * location.c (explicit_to_string_internal): Use string_file.
17030         * main.c (captured_main_1): Use null_file.
17031         * maint.c (maintenance_print_architecture): Use stdio_file.
17032         * mi/mi-cmd-stack.c (list_arg_or_local): Use string_file.
17033         * mi/mi-common.h (struct mi_interp) <out, err, log, targ,
17034         event_channel>: Change type to mi_console_file pointer.
17035         * mi/mi-console.c (mi_console_file_fputs, mi_console_file_flush)
17036         (mi_console_file_delete): Delete.
17037         (struct mi_console_file): Delete.
17038         (mi_console_file_magic): Delete.
17039         (mi_console_file_new): Delete.
17040         (mi_console_file::mi_console_file): New.
17041         (mi_console_file_delete): Delete.
17042         (mi_console_file_fputs): Delete.
17043         (mi_console_file::write): New.
17044         (mi_console_raw_packet): Delete.
17045         (mi_console_file::flush): New.
17046         (mi_console_file_flush): Delete.
17047         (mi_console_set_raw): Rename to ...
17048         (mi_console_file::set_raw): ... this.
17049         * mi/mi-console.h (class mi_console_file): New class.
17050         (mi_console_file_new, mi_console_set_raw): Delete.
17051         * mi/mi-interp.c (mi_interpreter_init): Use mi_console_file.
17052         (mi_set_logging): Use delete and tee_file.  Adjust.
17053         * mi/mi-main.c (output_register): Use string_file.
17054         (mi_cmd_data_evaluate_expression): Use string_file.
17055         (mi_cmd_data_read_memory): Use string_file.
17056         (mi_cmd_execute, print_variable_or_computed): Use string_file.
17057         * mi/mi-out.c (mi_ui_out::main_stream): New.
17058         (mi_ui_out::rewind): Use main_stream and
17059         string_file.
17060         (mi_ui_out::put): Use main_stream and string_file.
17061         (mi_ui_out::mi_ui_out): Remove 'stream' parameter.
17062         Allocate a 'string_file' instead.
17063         (mi_out_new): Don't allocate a mem_fileopen stream here.
17064         * mi/mi-out.h (mi_ui_out::mi_ui_out): Remove 'stream' parameter.
17065         (mi_ui_out::main_stream): Declare method.
17066         * printcmd.c (eval_command): Use string_file.
17067         * psymtab.c (maintenance_print_psymbols): Use stdio_file.
17068         * python/py-arch.c (archpy_disassemble): Use string_file.
17069         * python/py-breakpoint.c (bppy_get_commands): Use string_file.
17070         * python/py-frame.c (frapy_str): Use string_file.
17071         * python/py-framefilter.c (py_print_type, py_print_single_arg):
17072         Use string_file.
17073         * python/py-type.c (typy_str): Use string_file.
17074         * python/py-unwind.c (unwind_infopy_str): Use string_file.
17075         * python/py-value.c (valpy_str): Use string_file.
17076         * record-btrace.c (btrace_insn_history): Use string_file.
17077         * regcache.c (regcache_print): Use stdio_file.
17078         * reggroups.c (maintenance_print_reggroups): Use stdio_file.
17079         * remote.c (escape_buffer): Use string_file.
17080         * rust-lang.c (rust_get_disr_info): Use string_file.
17081         * serial.c (serial_open_ops_1): Use stdio_file.
17082         (do_serial_close): Use delete.
17083         * stack.c (print_frame_arg): Use string_file.
17084         (print_frame_args): Remove local mem_fileopen stream, not used.
17085         (print_frame): Use string_file.
17086         * symmisc.c (maintenance_print_symbols): Use stdio_file.
17087         * symtab.h (struct symbol_computed_ops) <generate_c_location>:
17088         Take a 'string_file *' instead of a 'ui_file *'.
17089         * top.c (new_ui): Use stdio_file and stderr_file.
17090         (free_ui): Use delete.
17091         (execute_command_to_string): Use string_file.
17092         (quit_confirm): Use string_file.
17093         * tracepoint.c (collection_list::append_exp): Use string_file.
17094         * tui/tui-disasm.c (tui_disassemble): Use string_file.
17095         * tui/tui-file.c: Don't include "ui-file.h".
17096         (enum streamtype, struct tui_stream): Delete.
17097         (tui_file_new, tui_file_delete, tui_fileopen, tui_sfileopen)
17098         (tui_file_isatty, tui_file_rewind, tui_file_put): Delete.
17099         (tui_file::tui_file): New method.
17100         (tui_file_fputs): Delete.
17101         (tui_file_get_strbuf): Delete.
17102         (tui_file::puts): New method.
17103         (tui_file_adjust_strbuf): Delete.
17104         (tui_file_flush): Delete.
17105         (tui_file::flush): New method.
17106         * tui/tui-file.h: Tweak intro comment.
17107         Include ui-file.h.
17108         (tui_fileopen, tui_sfileopen, tui_file_get_strbuf)
17109         (tui_file_adjust_strbuf): Delete declarations.
17110         (class tui_file): New class.
17111         * tui/tui-io.c (tui_initialize_io): Use tui_file.
17112         * tui/tui-regs.c (tui_restore_gdbout): Use delete.
17113         (tui_register_format): Use string_stream.
17114         * tui/tui-stack.c (tui_make_status_line): Use string_file.
17115         (tui_get_function_from_frame): Use string_file.
17116         * typeprint.c (type_to_string): Use string_file.
17117         * ui-file.c (struct ui_file, ui_file_magic, ui_file_new): Delete.
17118         (null_stream): New global.
17119         (ui_file_delete): Delete.
17120         (ui_file::ui_file): New.
17121         (null_file_isatty): Delete.
17122         (ui_file::~ui_file): New.
17123         (null_file_rewind): Delete.
17124         (ui_file::printf): New.
17125         (null_file_put): Delete.
17126         (null_file_flush): Delete.
17127         (ui_file::putstr): New.
17128         (null_file_write): Delete.
17129         (ui_file::putstrn): New.
17130         (null_file_read): Delete.
17131         (ui_file::putc): New.
17132         (null_file_fputs): Delete.
17133         (null_file_write_async_safe): Delete.
17134         (ui_file::vprintf): New.
17135         (null_file_delete): Delete.
17136         (null_file::write): New.
17137         (null_file_fseek): Delete.
17138         (null_file::puts): New.
17139         (ui_file_data): Delete.
17140         (null_file::write_async_safe): New.
17141         (gdb_flush, ui_file_isatty): Adjust.
17142         (ui_file_put, ui_file_rewind): Delete.
17143         (ui_file_write): Adjust.
17144         (ui_file_write_for_put): Delete.
17145         (ui_file_write_async_safe, ui_file_read): Adjust.
17146         (ui_file_fseek): Delete.
17147         (fputs_unfiltered): Adjust.
17148         (set_ui_file_flush, set_ui_file_isatty, set_ui_file_rewind)
17149         (set_ui_file_put, set_ui_file_write, set_ui_file_write_async_safe)
17150         (set_ui_file_read, set_ui_file_fputs, set_ui_file_fseek)
17151         (set_ui_file_data): Delete.
17152         (string_file::~string_file, string_file::write)
17153         (struct accumulated_ui_file, do_ui_file_xstrdup, ui_file_xstrdup)
17154         (do_ui_file_as_string, ui_file_as_string): Delete.
17155         (do_ui_file_obsavestring, ui_file_obsavestring): Delete.
17156         (struct mem_file): Delete.
17157         (mem_file_new): Delete.
17158         (stdio_file::stdio_file): New.
17159         (mem_file_delete): Delete.
17160         (stdio_file::stdio_file): New.
17161         (mem_fileopen): Delete.
17162         (stdio_file::~stdio_file): New.
17163         (mem_file_rewind): Delete.
17164         (stdio_file::set_stream): New.
17165         (mem_file_put): Delete.
17166         (stdio_file::open): New.
17167         (mem_file_write): Delete.
17168         (stdio_file_magic, struct stdio_file): Delete.
17169         (stdio_file_new, stdio_file_delete, stdio_file_flush): Delete.
17170         (stdio_file::flush): New.
17171         (stdio_file_read): Rename to ...
17172         (stdio_file::read): ... this.  Adjust.
17173         (stdio_file_write): Rename to ...
17174         (stdio_file::write): ... this.  Adjust.
17175         (stdio_file_write_async_safe): Rename to ...
17176         (stdio_file::write_async_safe) ... this.  Adjust.
17177         (stdio_file_fputs): Rename to ...
17178         (stdio_file::puts) ... this.  Adjust.
17179         (stdio_file_isatty): Delete.
17180         (stdio_file_fseek): Delete.
17181         (stdio_file::isatty): New.
17182         (stderr_file_write): Rename to ...
17183         (stderr_file::write) ... this.  Adjust.
17184         (stderr_file_fputs): Rename to ...
17185         (stderr_file::puts) ... this.  Adjust.
17186         (stderr_fileopen, stdio_fileopen, gdb_fopen): Delete.
17187         (stderr_file::stderr_file): New.
17188         (tee_file_magic): Delete.
17189         (struct tee_file): Delete.
17190         (tee_file::tee_file): New.
17191         (tee_file_new): Delete.
17192         (tee_file::~tee_file): New.
17193         (tee_file_delete): Delete.
17194         (tee_file_flush): Rename to ...
17195         (tee_file::flush): ... this.  Adjust.
17196         (tee_file_write): Rename to ...
17197         (tee_file::write): ... this.  Adjust.
17198         (tee_file::write_async_safe): New.
17199         (tee_file_fputs): Rename to ...
17200         (tee_file::puts): ... this.  Adjust.
17201         (tee_file_isatty): Rename to ...
17202         (tee_file::isatty): ... this.  Adjust.
17203         * ui-file.h (struct obstack, struct ui_file): Don't
17204         forward-declare.
17205         (ui_file_new, ui_file_flush_ftype, set_ui_file_flush)
17206         (ui_file_write_ftype)
17207         (set_ui_file_write, ui_file_fputs_ftype, set_ui_file_fputs)
17208         (ui_file_write_async_safe_ftype, set_ui_file_write_async_safe)
17209         (ui_file_read_ftype, set_ui_file_read, ui_file_isatty_ftype)
17210         (set_ui_file_isatty, ui_file_rewind_ftype, set_ui_file_rewind)
17211         (ui_file_put_method_ftype, ui_file_put_ftype, set_ui_file_put)
17212         (ui_file_delete_ftype, set_ui_file_data, ui_file_fseek_ftype)
17213         (set_ui_file_fseek): Delete.
17214         (ui_file_data, ui_file_delete, ui_file_rewind)
17215         (struct ui_file): New.
17216         (ui_file_up): New.
17217         (class null_file): New.
17218         (null_stream): Declare.
17219         (ui_file_write_for_put, ui_file_put): Delete.
17220         (ui_file_xstrdup, ui_file_as_string, ui_file_obsavestring):
17221         Delete.
17222         (ui_file_fseek, mem_fileopen, stdio_fileopen, stderr_fileopen)
17223         (gdb_fopen, tee_file_new): Delete.
17224         (struct string_file): New.
17225         (struct stdio_file): New.
17226         (stdio_file_up): New.
17227         (struct stderr_file): New.
17228         (class tee_file): New.
17229         * ui-out.c (ui_out::field_stream): Take a 'string_file &' instead
17230         of a 'ui_file *'.  Adjust.
17231         * ui-out.h (class ui_out) <field_stream>: Likewise.
17232         * utils.c (do_ui_file_delete, make_cleanup_ui_file_delete)
17233         (null_stream): Delete.
17234         (error_stream): Take a 'string_file &' instead of a 'ui_file *'.
17235         Adjust.
17236         * utils.h (struct ui_file): Delete forward declaration..
17237         (make_cleanup_ui_file_delete, null_stream): Delete declarations.
17238         (error_stream): Take a 'string_file &' instead of a
17239         'ui_file *'.
17240         * varobj.c (varobj_value_get_print_value): Use string_file.
17241         * xtensa-tdep.c (xtensa_verify_config): Use string_file.
17242         * gdbarch.c: Regenerate.
17243
17244 2017-02-02  Pedro Alves  <palves@redhat.com>
17245
17246         * disasm.c (gdb_disassembler::pretty_print_insn): Rename to...
17247         (gdb_pretty_print_insn): ... this.  Now a free function.  Add back
17248         a 'gdbarch' parameter.  Allocate a mem_fileopen stream here.
17249         Adjust to call gdb_print_insn instead of
17250         gdb_disassembler::print_insn.
17251         (dump_insns, do_mixed_source_and_assembly_deprecated)
17252         (do_mixed_source_and_assembly, do_assembly_only): Add back a
17253         'gdbarch' parameter.  Remove gdb_disassembler parameter.
17254         (gdb_disassembly): Don't allocate a gdb_disassembler here.
17255         * disasm.h (gdb_disassembler::pretty_print_insn): Delete
17256         declaration.
17257         (gdb_pretty_print_insn): Re-add declaration.
17258         * record-btrace.c (btrace_insn_history): Don't allocate a
17259         gdb_disassembler here.  Adjust to call gdb_pretty_print_insn.
17260
17261 2017-02-01  Simon Marchi  <simon.marchi@polymtl.ca>
17262
17263         * disasm.h (gdb_disassembly): Remove file_string parameter.
17264         * disasm.c (gdb_disassembly): Likewise.
17265         * cli/cli-cmds.c (print_disassembly): Adapt.
17266         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Likewise.
17267         * stack.c (do_gdb_disassembly): Likewise.
17268
17269 2017-02-01  Andreas Arnez  <arnez@linux.vnet.ibm.com>
17270
17271         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): For
17272         DWARF_VALUE_LITERAL, no longer ignore the offset on big-endian
17273         targets.  And if the implicit value is longer than needed, extract
17274         the first bytes instead of the "least significant" ones.
17275
17276 2017-02-01  Markus Metzger  <markus.t.metzger@intel.com>
17277
17278         * btrace.c (btrace_enable): Do not call btrace_add_pc for
17279         BTRACE_FORMAT_PT or if can_access_registers_ptid returns false.
17280         (btrace_fetch): Assert can_access_registers_ptid.
17281         * record-btrace.c (require_btrace_thread, record_btrace_info): Call
17282         validate_registers_access.
17283
17284 2017-02-01  Markus Metzger  <markus.t.metzger@intel.com>
17285
17286         * gdbthread.h (can_access_registers_ptid): New.
17287         * thread.c (can_access_registers_ptid): New.
17288
17289 2017-02-01  Pedro Alves  <palves@redhat.com>
17290
17291         * i386-tdep.c (i386_fast_tracepoint_valid_at): Use gdb_insn_length.
17292
17293 2017-01-31  Pedro Alves  <palves@redhat.com>
17294
17295         * mi/mi-interp.c (mi_breakpoint_created, mi_breakpoint_modified):
17296         Fix typos.
17297
17298 2017-01-31  Pedro Alves  <palves@redhat.com>
17299
17300         * stack.c (print_frame_args): Remove local mem_fileopen stream,
17301         not used.
17302
17303 2017-01-31  Pedro Alves  <palves@redhat.com>
17304
17305         * varobj.c (varobj_value_get_print_value): Remove xstrdup call.
17306
17307 2017-01-31  Pedro Alves  <palves@redhat.com>
17308
17309         * common/scoped_restore.h
17310         (scoped_restore_tmpl::scoped_restore_tmpl): Template on T2, and
17311         change the value's parameter type to T2.
17312         (make_scoped_restore): Likewise.
17313
17314 2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
17315             Richard Henderson  <rth@redhat.com>
17316
17317         * amd64-linux-nat.c (PTRACE_ARCH_PRCTL): New define.
17318         (amd64_linux_fetch_inferior_registers): Add case to fetch FS_BASE
17319         GS_BASE for older kernels.
17320         (amd64_linux_store_inferior_registers): Add case to store FS_BASE
17321         GS_BASE for older kernels.
17322         * amd64-linux-tdep.c (amd64_linux_gregset_reg_offset): Add FS_BASE
17323         and GS_BASE to the offset table.
17324         (amd64_linux_register_reggroup_p): Add FS_BASE and GS_BASE to the
17325         system register group.
17326         * amd64-nat.c (amd64_native_gregset_reg_offset): Implements case
17327         for older kernels.
17328         * amd64-tdep.c (amd64_init_abi): Add segment registers for the
17329         amd64 ABI.
17330         * amd64-tdep.h (amd64_regnum): Add AMD64_FSBASE_REGNUM and
17331         AMD64_GSBASE_REGNUM.
17332         (AMD64_NUM_REGS): Set to AMD64_GSBASE_REGNUM + 1.
17333         * features/Makefile (amd64-linux.dat, amd64-avx-linux.dat)
17334         (amd64-mpx-linux.dat, amd64-avx512-linux.dat, x32-linux.dat)
17335         (x32-avx-linux.dat, x32-avx512-linux.dat): Add
17336         i386/64bit-segments.xml in those rules.
17337         * features/i386/64bit-segments.xml: New file.
17338         * features/i386/amd64-avx-mpx-linux.xml: Add 64bit-segments.xml.
17339         * features/i386/amd64-avx-linux.xml: Add 64bit-segments.xml.
17340         * features/i386/amd64-avx512-linux.xml: Add 64bit-segments.xml.
17341         * features/i386/amd64-mpx-linux.xml: Add 64bit-segments.xml.
17342         * features/i386/x32-avx512-linux.xml: Add 64bit-segments.xml.
17343         * features/i386/x32-avx-linux.xml: Add 64bit-segments.xml.
17344         * features/i386/amd64-linux.xml: Add 64bit-segments.xml.
17345         * features/i386/amd64-avx-linux.c: Regenerated.
17346         * features/i386/amd64-avx-mpx-linux.c: Regenerated.
17347         * features/i386/amd64-avx-mpx.c: Regenerated.
17348         * features/i386/amd64-avx512-linux.c: Regenerated.
17349         * features/i386/amd64-linux.c: Regenerated.
17350         * features/i386/amd64-mpx-linux.c: Regenerated.
17351         * features/i386/i386-avx-mpx-linux.c: Regenerated.
17352         * features/i386/i386-avx-mpx.c: Regenerated.
17353         * features/i386/x32-avx-linux.c: Regenerated.
17354         * features/i386/x32-avx512-linux.c: Regenerated.
17355         * regformats/i386/amd64-avx-linux.dat: Regenerated.
17356         * regformats/i386/amd64-avx-mpx-linux.dat: Regenerated.
17357         * regformats/i386/amd64-avx512-linux.dat: Regenerated.
17358         * regformats/i386/amd64-linux.dat: Regenerated.
17359         * regformats/i386/amd64-mpx-linux.dat: Regenerated.
17360         * regformats/i386/x32-avx-linux.dat: Regenerated.
17361         * regformats/i386/x32-avx512-linux.dat: Regenerated.
17362         * regformats/i386/x32-linux.dat: Regenerated.
17363
17364 2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
17365
17366         * amd64-linux-tdep.h (AMD64_LINUX_ORIG_RAX_REGNUM):
17367         Set to AMD64_NUM_REGS.
17368
17369 2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
17370
17371         * amd64-nat.c (amd64_native_gregset_reg_offset): Simplify logic
17372         that checks validity of a register number.
17373
17374 2017-01-27  Kees Cook  <keescook@google.com>
17375
17376         * gdb/arm-linux-nat.c (arm_linux_fetch_inferior_registers): Call
17377         fetch_fpregs if target has fpa registers.
17378         (arm_linux_store_inferior_registers): Call store_fpregs if target
17379         has fpa registers.
17380
17381 2017-01-26  Andreas Arnez  <arnez@linux.vnet.ibm.com>
17382
17383         * cris-tdep.c (cris_gdbarch_init): Remove check for
17384         info.byte_order and force it to BFD_ENDIAN_LITTLE.
17385
17386 2017-01-26  Antoine Tremblay  <antoine.tremblay@ericsson.com>
17387
17388         * corelow.c (get_core_register_section): Check for regset
17389         existence before checking for REGSET_VARIABLE_SIZE.
17390
17391 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17392             Pedro Alves  <palves@redhat.com>
17393
17394         PR gdb/20939
17395         * disasm.c (gdb_disassembler::dis_asm_memory_error): Don't
17396         call memory_error, save memaddr instead.
17397         (gdb_disassembler::print_insn): If gdbarch_print_insn returns
17398         negative, cal memory_error.
17399         * disasm.h (gdb_disassembler) <m_err_memaddr>: New field.
17400
17401 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17402
17403         * disasm-selftests.c (memory_error_test): New function.
17404         (_initialize_disasm_selftests): Register memory_error_test.
17405
17406 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17407
17408         * Makefile.in (SFILES): Add disasm-selftests.c and
17409         selftest-arch.c.
17410         (COMMON_OBS): Add disasm-selftests.o and selftest-arch.o.
17411         * disasm-selftests.c: New file.
17412         * selftest-arch.c: New file.
17413         * selftest-arch.h: New file.
17414
17415 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17416
17417         * mep-tdep.c (mep_gdb_print_insn): Set info->arch
17418         to bfd_arch_mep.  Don't return 0 if section is not
17419         found.  Call print_insn_mep.
17420
17421 2017-01-26  Pedro Alves  <palves@redhat.com>
17422             Yao Qi  <yao.qi@linaro.org>
17423
17424         * arm-tdep.c: Include "disasm.h".
17425         (gdb_print_insn_arm): Update code to get gdbarch.
17426         * disasm.c (dis_asm_read_memory): Change it to
17427         gdb_disassembler::dis_asm_read_memory.
17428         (dis_asm_memory_error): Likewise.
17429         (dis_asm_print_address): Likewise.
17430         (gdb_pretty_print_insn): Change it to
17431         gdb_disassembler::pretty_print_insn.
17432         (dump_insns): Add one argument gdb_disassemlber.  All
17433         callers updated.
17434         (do_mixed_source_and_assembly_deprecated): Likewise.
17435         (do_mixed_source_and_assembly): Likewise.
17436         (do_assembly_only): Likewise.
17437         (gdb_disassembler::gdb_disassembler): New.
17438         (gdb_disassembler::print_insn): New.
17439         * disasm.h (class gdb_disassembler): New.
17440         (gdb_pretty_print_insn): Remove declaration.
17441         (gdb_disassemble_info): Likewise.
17442         * guile/scm-disasm.c (class gdbscm_disassembler): New.
17443         (gdbscm_disasm_read_memory_worker): Update.
17444         (gdbscm_disasm_read_memory): Update.
17445         (gdbscm_disasm_memory_error): Remove.
17446         (gdbscm_disasm_print_address): Remove.
17447         (gdbscm_disassembler::gdbscm_disassembler): New.
17448         (gdbscm_print_insn_from_port): Update.
17449         * mips-tdep.c: Include disasm.h.
17450         (gdb_print_insn_mips): Update code to get gdbarch.
17451         * record-btrace.c (btrace_insn_history): Update.
17452         * spu-tdep.c: Include disasm.h.
17453         (struct spu_dis_asm_data): Remove.
17454         (struct spu_dis_asm_info): New.
17455         (spu_dis_asm_print_address): Use spu_dis_asm_info to get
17456         SPU id.
17457         (gdb_print_insn_spu): Cast disassemble_info to
17458         spu_dis_asm_info.
17459
17460 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17461
17462         * disasm.c (do_ui_file_delete): Delete.
17463         (gdb_insn_length): Move code creating stream to ...
17464         * utils.c (null_stream): ... here.  New function.
17465         * utils.h (null_stream): Declare.
17466
17467 2017-01-23  Simon Marchi  <simon.marchi@polymtl.ca>
17468
17469         * python/py-inferior.c (find_thread_object): Return directly
17470         from the loop.  Remove "found" variable.
17471
17472 2017-01-21  Joel Brobecker  <brobecker@adacore.com>
17473
17474         GDB 7.12.1 released.
17475
17476 2017-01-20  Simon Marchi  <simon.marchi@ericsson.com>
17477
17478         * python/py-function.c (fnpy_call): Reorder declarations to have
17479         the gdbpy_enter object declared first.
17480         * python/py-xmethods.c (gdbpy_get_xmethod_arg_types): Likewise.
17481
17482 2017-01-20  Simon Marchi  <simon.marchi@ericsson.com>
17483
17484         PR python/21068
17485         * python/python-internal.h (PyMem_RawMalloc): Define for
17486         Python < 3.4.
17487         * python/py-gdb-readline.c (gdbpy_readline_wrapper): Use
17488         PyMem_RawMalloc instead of PyMem_Malloc.
17489
17490 2017-01-20  Mike Wrighton  <mike_wrighton@codesourcery.com>
17491             Luis Machado  <lgustavo@codesourcery.com>
17492
17493         * NEWS (New commands): Mention flash-erase.
17494         (New MI commands): Mention target-flash-erase.
17495         * mi/mi-cmds.c (mi_cmd_target_flash_erase): Add target-flash-erase MI
17496         command.
17497         * mi/mi-cmds.h (mi_cmd_target_flash_erase): New declaration.
17498         * mi/mi-main.c (mi_cmd_target_flash_erase): New function.
17499         * target.c (flash_erase_command): New function.
17500         (initialize_targets): Add new flash-erase command.
17501         * target.h (flash_erase_command): New declaration.
17502
17503 2017-01-20  Joel Brobecker  <brobecker@adacore.com>
17504
17505         * nat/linux-ptrace.c: Only include <sys/procfs.h> if
17506         HAVE_SYS_PROCFS_H is defined.
17507
17508 2017-01-18  Alan Hayward  <alan.hayward@arm.com>
17509
17510         * remote.c (struct cached_reg): Change data into a pointer.
17511         * (stop_reply_dtr): Free data pointers before deleting vector.
17512         (process_stop_reply): Likewise.
17513         (remote_parse_stop_reply): Allocate space for data
17514
17515 2017-01-18  Alan Hayward  <alan.hayward@arm.com>
17516
17517         * amd64-tdep.c (amd64_pseudo_register_read_value): remove
17518         MAX_REGISTER_SIZE.
17519         (amd64_pseudo_register_read_value): Likewise.
17520         * remote.c (fetch_register_using_p): Remove MAX_REGISTER_SIZE.
17521         (store_register_using_P): Likewise.
17522         * regcache.c (regcache_xfer_part): Likewise.
17523
17524 2017-01-16  Ivo Raisr  <ivo.raisr@oracle.com>
17525
17526         Split real and pseudo registers.
17527         * sparc-tdep.h (SPARC_CORE_REGISTERS): New macro.
17528         (sparc32_pseudo_regnum): New enum.
17529         * sparc64-tdep.h (sparc64_pseudo_regnum): New enum.
17530         * sparc-tdep.c (SPARC32_FPU_REGISTERS): New macro.
17531         (SPARC32_CP0_REGISTERS): New macro.
17532         (sparc32_pseudo_register_name): New function.
17533         (sparc32_register_name): Use sparc32_pseudo_register_name.
17534         (sparc32_pseudo_register_type): New function.
17535         (sparc32_register_type): Use sparc32_pseudo_register_type.
17536         (sparc32_pseudo_register_read, sparc32_pseudo_register_write): Handle
17537         pseudo register numbers.
17538         * sparc64-tdep.c SPARC64_FPU_REGISTERS): New macro.
17539         (SPARC64_CP0_REGISTERS): New macro.
17540         (sparc64_pseudo_register_name): New function.
17541         (sparc64_register_name): Use sparc64_pseudo_register_name.
17542         (sparc64_pseudo_register_type): New function.
17543         (sparc64_register_type): Use sparc64_pseudo_register_type.
17544         (sparc64_pseudo_register_read, sparc64_pseudo_register_write): Handle
17545         pseudo register numbers.
17546         (sparc64_store_floating_fields, sparc64_extract_floating_fields,
17547         sparc64_store_arguments): Handle pseudo register numbers.
17548
17549 2017-01-13  Yao Qi  <yao.qi@linaro.org>
17550
17551         * remote.c (REMOTE_DEBUG_MAX_CHAR): New macro.
17552         (putpkt_binary): Print only REMOTE_DEBUG_MAX_CHAR chars in debug
17553         output.
17554         (getpkt_or_notif_sane_1): Likewise.
17555
17556 2017-01-13  Yao Qi  <yao.qi@linaro.org>
17557
17558         * Makefile.in (checker-headers): Use CXX and CXX_DIALET instead
17559         of CC.  Pass "-x c++-header" instead of "-x c".
17560
17561 2017-01-12  Simon Marchi  <simon.marchi@ericsson.com>
17562
17563         * remote.c (remote_can_async_p): Update comment.
17564
17565 2017-01-12  Simon Marchi  <simon.marchi@ericsson.com>
17566
17567         * linux-nat.c (linux_nat_can_async_p): Update comment.
17568
17569 2017-01-12  Simon Marchi  <simon.marchi@ericsson.com>
17570
17571         * serial.c (serial_open): Forget about "pc" and "lpt" serial interface.
17572
17573 2017-01-11  Simon Marchi  <simon.marchi@ericsson.com>
17574
17575         * cli/cli-decode.c (lookup_cmd_1): Fix typo in comment.
17576
17577 2017-01-10  Tom Tromey  <tom@tromey.com>
17578
17579         * python/py-type.c (typy_legacy_template_argument): Update.
17580         * cp-support.h (struct demangle_parse_info) (demangle_parse_info,
17581         ~demangle_parse_info): Declare new members.
17582         (cp_demangled_name_to_comp): Return unique_ptr.
17583         (cp_demangled_name_parse_free)
17584         (make_cleanup_cp_demangled_name_parse_free)
17585         (cp_new_demangle_parse_info): Remove.
17586         * cp-support.c (do_demangled_name_parse_free_cleanup)
17587         (make_cleanup_cp_demangled_name_parse_free): Remove.
17588         (inspect_type, cp_canonicalize_string_full)
17589         (cp_canonicalize_string): Update.
17590         (mangled_name_to_comp): Change return type.
17591         (cp_class_name_from_physname, method_name_from_physname)
17592         (cp_func_name, cp_remove_params): Update.
17593         * cp-name-parser.y (demangle_parse_info): New constructor, from
17594         cp_new_demangle_parse_info.
17595         (~demangle_parse_info): New destructor, from
17596         cp_demangled_name_parse_free.
17597         (cp_merge_demangle_parse_infos): Update.
17598         (cp_demangled_name_to_comp): Change return type.
17599
17600 2017-01-10  Tom Tromey  <tom@tromey.com>
17601
17602         * top.c (prevent_dont_repeat): Change return type.
17603         * python/python.c (execute_gdb_command): Use std::string.
17604         Update.
17605         * guile/guile.c (gdbscm_execute_gdb_command): Update.
17606         * command.h (prevent_dont_repeat): Change return type.
17607         * breakpoint.c (bpstat_do_actions_1): Update.
17608
17609 2017-01-10  Tom Tromey  <tom@tromey.com>
17610
17611         * value.h (scoped_value_mark::~scoped_value_mark): Call
17612         free_to_mark.
17613         (scoped_value_mark::free_to_mark): New method.
17614         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use
17615         scoped_value_mark.
17616
17617 2017-01-10  Tom Tromey  <tom@tromey.com>
17618
17619         * python/py-value.c (valpy_dereference, valpy_referenced_value)
17620         (valpy_reference_value, valpy_const_value, valpy_get_address)
17621         (valpy_get_dynamic_type, valpy_lazy_string, valpy_do_cast)
17622         (valpy_getitem, valpy_call, valpy_binop_throw, valpy_negative)
17623         (valpy_absolute, valpy_richcompare_throw): Use scoped_value_mark.
17624         * dwarf2loc.c (dwarf2_loc_desc_get_symbol_read_needs): Use
17625         scoped_value_mark.
17626         * dwarf2-frame.c (execute_stack_op): Use scoped_value_mark.
17627         * value.h (scoped_value_mark): New class.
17628
17629 2017-01-10  Tom Tromey  <tom@tromey.com>
17630
17631         * dwarf2read.c (dwarf2_build_psymtabs): Use psymtab_discarder.
17632         * psympriv.h (make_cleanup_discard_psymtabs): Don't declare.
17633         * psymtab.c (discard_psymtabs_upto): Remove.
17634         (make_cleanup_discard_psymtabs): Remove.
17635         (struct psymtab_state): Remove.
17636
17637 2017-01-10  Tom Tromey  <tom@tromey.com>
17638
17639         * record-full.c (record_full_save_cleanups): Remove.
17640         (record_full_save): Use gdb::unlinker.
17641         * gcore.c (do_bfd_delete_cleanup): Remove.
17642         (gcore_command): Use gdb::unlinker, unique_xmalloc_ptr.  Remove
17643         cleanups.
17644         * dwarf2read.c (unlink_if_set): Remove.
17645         (write_psymtabs_to_index): Use gdb::unlinker.
17646         * common/gdb_unlinker.h: New file.
17647
17648 2017-01-10  Tom Tromey  <tom@tromey.com>
17649
17650         * windows-tdep.c (windows_xfer_shared_library): Update.
17651         * windows-nat.c (windows_make_so): Update.
17652         * utils.h (make_cleanup_bfd_unref): Remove.
17653         * utils.c (do_bfd_close_cleanup, make_cleanup_bfd_unref): Remove.
17654         * symfile.h (symfile_bfd_open)
17655         (find_separate_debug_file_in_section): Return gdb_bfd_ref_ptr.
17656         * symfile.c (read_symbols, symbol_file_add)
17657         (separate_debug_file_exists): Update.
17658         (symfile_bfd_open): Return gdb_bfd_ref_ptr.
17659         (generic_load, reread_symbols): Update.
17660         * symfile-mem.c (symbol_file_add_from_memory): Update.
17661         * spu-linux-nat.c (spu_bfd_open): Return gdb_bfd_ref_ptr.
17662         (spu_symbol_file_add_from_memory): Update.
17663         * solist.h (struct target_so_ops) <bfd_open>: Return
17664         gdb_bfd_ref_ptr.
17665         (solib_bfd_fopen, solib_bfd_open): Return gdb_bfd_ref_ptr.
17666         * solib.c (solib_bfd_fopen, solib_bfd_open): Return
17667         gdb_bfd_ref_ptr.
17668         (solib_map_sections, reload_shared_libraries_1): Update.
17669         * solib-svr4.c (enable_break): Update.
17670         * solib-spu.c (spu_bfd_fopen): Return gdb_bfd_ref_ptr.
17671         * solib-frv.c (enable_break2): Update.
17672         * solib-dsbt.c (enable_break): Update.
17673         * solib-darwin.c (gdb_bfd_mach_o_fat_extract): Return
17674         gdb_bfd_ref_ptr.
17675         (darwin_solib_get_all_image_info_addr_at_init): Update.
17676         (darwin_bfd_open): Return gdb_bfd_ref_ptr.
17677         * solib-aix.c (solib_aix_bfd_open): Return gdb_bfd_ref_ptr.
17678         * record-full.c (record_full_save): Update.
17679         * python/py-objfile.c (objfpy_add_separate_debug_file): Update.
17680         * procfs.c (insert_dbx_link_bpt_in_file): Update.
17681         * minidebug.c (find_separate_debug_file_in_section): Return
17682         gdb_bfd_ref_ptr.
17683         * machoread.c (macho_add_oso_symfile): Change abfd to
17684         gdb_bfd_ref_ptr.
17685         (macho_symfile_read_all_oso): Update.
17686         (macho_check_dsym): Return gdb_bfd_ref_ptr.
17687         (macho_symfile_read): Update.
17688         * jit.c (bfd_open_from_target_memory): Return gdb_bfd_ref_ptr.
17689         (jit_bfd_try_read_symtab): Update.
17690         * gdb_bfd.h (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
17691         (gdb_bfd_openw, gdb_bfd_openr_iovec)
17692         (gdb_bfd_openr_next_archived_file, gdb_bfd_fdopenr): Return
17693         gdb_bfd_ref_ptr.
17694         (gdb_bfd_ref_policy): New struct.
17695         (gdb_bfd_ref_ptr): New typedef.
17696         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
17697         (gdb_bfd_openw, gdb_bfd_openr_iovec)
17698         (gdb_bfd_openr_next_archived_file, gdb_bfd_fdopenr): Return
17699         gdb_bfd_ref_ptr.
17700         * gcore.h (create_gcore_bfd): Return gdb_bfd_ref_ptr.
17701         * gcore.c (create_gcore_bfd): Return gdb_bfd_ref_ptr.
17702         (gcore_command): Update.
17703         * exec.c (exec_file_attach): Update.
17704         * elfread.c (elf_symfile_read): Update.
17705         * dwarf2read.c (dwarf2_get_dwz_file): Update.
17706         (try_open_dwop_file, open_dwo_file): Return gdb_bfd_ref_ptr.
17707         (open_and_init_dwo_file): Update.
17708         (open_dwp_file): Return gdb_bfd_ref_ptr.
17709         (open_and_init_dwp_file): Update.
17710         * corelow.c (core_open): Update.
17711         * compile/compile-object-load.c (compile_object_load): Update.
17712         * common/gdb_ref_ptr.h (ref_ptr::operator->): New operator.
17713         * coffread.c (coff_symfile_read): Update.
17714         * cli/cli-dump.c (bfd_openr_or_error, bfd_openw_or_error): Return
17715         gdb_bfd_ref_ptr.  Rename.
17716         (dump_bfd_file, restore_command): Update.
17717         * build-id.h (build_id_to_debug_bfd): Return gdb_bfd_ref_ptr.
17718         * build-id.c (build_id_to_debug_bfd): Return gdb_bfd_ref_ptr.
17719         (find_separate_debug_file_by_buildid): Update.
17720
17721 2017-01-10  Tom Tromey  <tom@tromey.com>
17722
17723         * common/gdb_ref_ptr.h: New file.
17724         * python/py-ref.h (struct gdbpy_ref_policy): New.
17725         (gdbpy_ref): Now a typedef.
17726
17727 2017-01-10  Tom Tromey  <tom@tromey.com>
17728
17729         * utils.h (make_cleanup_htab_delete): Don't declare.
17730         * utils.c (do_htab_delete_cleanup, make_cleanup_htab_delete):
17731         Remove.
17732         * linespec.c (decode_compound_collector): Add constructor,
17733         destructor.
17734         (lookup_prefix_sym): Remove cleanup.
17735         (symtab_collector): Add constructor, destructor.
17736         (collect_symtabs_from_filename): Remove cleanup.
17737         * disasm.c (do_mixed_source_and_assembly): Use htab_up.
17738         * compile/compile-c-symbols.c (generate_c_for_variable_locations):
17739         Use htab_up.
17740         * gnu-v3-abi.c (gnuv3_print_vtable): Use htab_up.
17741         * dwarf2read.c (dw2_expand_symtabs_matching)
17742         (dw2_map_symbol_filenames, dwarf_decode_macros)
17743         (write_psymtabs_to_index): Use htab_up.
17744         * dwarf2loc.c (func_verify_no_selftailcall)
17745         (call_site_find_chain_1, func_verify_no_selftailcall)
17746         (chain_candidate, call_site_find_chain_1): Use std::unordered_set,
17747         std::vector, gdb::unique_xmalloc_ptr.
17748         (call_sitep): Remove typedef.
17749         (dwarf2_locexpr_baton_eval): Remove unused variable.
17750
17751 2017-01-10  Tom Tromey  <tom@tromey.com>
17752
17753         * python/python-internal.h (make_cleanup_py_decref)
17754         (make_cleanup_py_xdecref): Don't declare.
17755         * python/py-utils.c (py_decref, make_cleanup_py_decref)
17756         (py_xdecref, make_cleanup_py_xdecref): Remove.
17757
17758 2017-01-10  Tom Tromey  <tom@tromey.com>
17759
17760         * python/py-framefilter.c (py_mi_print_variables): Use gdbpy_ref.
17761         (py_print_locals, enumerate_locals, py_print_args): Use gdbpy_ref.
17762
17763 2017-01-10  Tom Tromey  <tom@tromey.com>
17764
17765         * python/py-framefilter.c (enumerate_args): Use gdbpy_ref.
17766
17767 2017-01-10  Tom Tromey  <tom@tromey.com>
17768
17769         * python/py-utils.c (unicode_to_encoded_string)
17770         (python_string_to_target_string)
17771         (python_string_to_target_python_string)
17772         (python_string_to_host_string, gdbpy_obj_to_string)
17773         (get_addr_from_python): Use gdbpy_ref.
17774
17775 2017-01-10  Tom Tromey  <tom@tromey.com>
17776
17777         * python/py-unwind.c (pyuw_object_attribute_to_pointer): Use
17778         gdbpy_ref.
17779
17780 2017-01-10  Tom Tromey  <tom@tromey.com>
17781
17782         * python/python.c (eval_python_command, gdbpy_decode_line)
17783         (gdbpy_run_events, gdbpy_start_type_printers)
17784         (gdbpy_apply_type_printers): Use gdbpy_ref.
17785
17786 2017-01-10  Tom Tromey  <tom@tromey.com>
17787
17788         * python/py-param.c (get_doc_string, compute_enum_values): Use
17789         gdbpy_ref.
17790
17791 2017-01-10  Tom Tromey  <tom@tromey.com>
17792
17793         * python/py-inferior.c (find_thread_object, build_inferior_list):
17794         Use gdbpy_ref.
17795
17796 2017-01-10  Tom Tromey  <tom@tromey.com>
17797
17798         * python/py-framefilter.c (py_print_frame): Use gdbpy_ref.
17799
17800 2017-01-10  Tom Tromey  <tom@tromey.com>
17801
17802         * python/py-finishbreakpoint.c (bpfinishpy_out_of_scope): Use
17803         gdbpy_ref.
17804
17805 2017-01-10  Tom Tromey  <tom@tromey.com>
17806
17807         * python/py-cmd.c (cmdpy_completer_helper): Use gdbpy_ref.  Remove
17808         extra incref.
17809         (cmdpy_completer_handle_brkchars, cmdpy_completer, cmdpy_init):
17810         Use gdbpy_ref.
17811
17812 2017-01-10  Tom Tromey  <tom@tromey.com>
17813
17814         * python/py-breakpoint.c (gdbpy_breakpoint_cond_says_stop): Use
17815         gdbpy_ref.
17816
17817 2017-01-10  Tom Tromey  <tom@tromey.com>
17818
17819         * python/py-arch.c (archpy_disassemble): Use gdbpy_ref.  Don't
17820         decref results of PyArg_ParseTupleAndKeywords.
17821
17822 2017-01-10  Tom Tromey  <tom@tromey.com>
17823
17824         * python/python.c (python_run_simple_file): Use
17825         unique_xmalloc_ptr, gdbpy_ref.
17826
17827 2017-01-10  Tom Tromey  <tom@tromey.com>
17828
17829         * python/py-prettyprint.c (print_stack_unless_memory_error)
17830         (print_string_repr, print_children): Use gdbpy_ref.
17831         (dummy_python_frame): New class.
17832         (dummy_python_frame::dummy_python_frame): Rename from
17833         push_dummy_python_frame.
17834         (py_restore_tstate): Remove.
17835
17836 2017-01-10  Tom Tromey  <tom@tromey.com>
17837
17838         * python/py-framefilter.c (py_print_frame): Use gdbpy_ref.
17839
17840 2017-01-10  Tom Tromey  <tom@tromey.com>
17841
17842         * python/python.c (ensure_python_env, restore_python_env):
17843         Remove.
17844         * python/python-internal.h (ensure_python_env): Don't declare.
17845         * varobj.h (varobj_ensure_python_env): Don't declare.
17846         * varobj.c (varobj_ensure_python_env): Remove.
17847
17848 2017-01-10  Tom Tromey  <tom@tromey.com>
17849
17850         * varobj.c (varobj_value_get_print_value): Use
17851         gdbpy_enter_varobj.
17852
17853 2017-01-10  Tom Tromey  <tom@tromey.com>
17854
17855         * python/py-prettyprint.c (print_string_repr, print_children):
17856         Update.
17857         * python/py-lazy-string.c (gdbpy_extract_lazy_string): Change type
17858         of "encoding".
17859         * varobj.c (varobj_value_get_print_value): Update.
17860         * python/python-internal.h (gdbpy_extract_lazy_string): Update.
17861
17862 2017-01-10  Tom Tromey  <tom@tromey.com>
17863
17864         * varobj.c (varobj_get_display_hint)
17865         (dynamic_varobj_has_child_method, install_new_value_visualizer)
17866         (varobj_set_visualizer, free_variable): Use
17867         gdbpy_enter_varobj.
17868
17869 2017-01-10  Tom Tromey  <tom@tromey.com>
17870
17871         * python/python.c (python_command): Use gdbpy_enter, gdbpy_ref.
17872         (do_finish_initialization): New function.  Use gdbpy_ref.
17873         (gdbpy_finish_initialization): Use gdbpy_enter.  Call
17874         do_finish_initialization.
17875
17876 2017-01-10  Tom Tromey  <tom@tromey.com>
17877
17878         * python/py-param.c (get_set_value, get_show_value): Use
17879         gdbpy_enter, gdbpy_ref.
17880
17881 2017-01-10  Tom Tromey  <tom@tromey.com>
17882
17883         * python/py-function.c (fnpy_call): Use gdbpy_enter, gdbpy_ref.
17884
17885 2017-01-10  Tom Tromey  <tom@tromey.com>
17886
17887         * python/py-cmd.c (cmdpy_function): Use gdbpy_enter, gdbpy_ref.
17888
17889 2017-01-10  Tom Tromey  <tom@tromey.com>
17890
17891         * python/py-varobj.c (py_varobj_iter_dtor, py_varobj_iter_next):
17892         Use gdbpy_enter_varobj.
17893
17894 2017-01-10  Tom Tromey  <tom@tromey.com>
17895
17896         * varobj.c (gdbpy_enter_varobj): New constructor.
17897         * python/python-internal.h (gdbpy_enter_varobj): New class.
17898         * python/py-varobj.c (py_varobj_get_iterator): Use
17899         gdbpy_enter_varobj.
17900
17901 2017-01-10  Tom Tromey  <tom@tromey.com>
17902
17903         * python/py-xmethods.c (gdbpy_get_xmethod_result_type): Use
17904         gdbpy_enter, gdbpy_ref, unique_xmalloc_ptr.
17905         (gdbpy_invoke_xmethod): Use gdbpy_ref, gdbpy_enter.
17906         (gdbpy_get_xmethod_arg_types): Use gdbpy_ref,
17907         unique_xmalloc_ptr.
17908         (gdbpy_get_xmethod_arg_types): Use gdbpy_ref, gdbpy_enter.
17909
17910 2017-01-10  Tom Tromey  <tom@tromey.com>
17911
17912         * python/py-xmethods.c (invoke_match_method): Use
17913         gdbpy_ref.
17914
17915 2017-01-10  Tom Tromey  <tom@tromey.com>
17916
17917         * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers): use
17918         gdbpy_enter, gdbpy_ref.
17919
17920 2017-01-10  Tom Tromey  <tom@tromey.com>
17921
17922         * python/python.c (python_interactive_command): Use gdbpy_enter.
17923
17924 2017-01-10  Tom Tromey  <tom@tromey.com>
17925
17926         * python/python.c (gdbpy_before_prompt_hook): Use gdbpy_enter,
17927         gdbpy_ref.
17928
17929 2017-01-10  Tom Tromey  <tom@tromey.com>
17930
17931         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Use
17932         gdbpy_enter, gdbpy_ref, unique_xmalloc_ptr.
17933
17934 2017-01-10  Tom Tromey  <tom@tromey.com>
17935
17936         * utils.h (htab_deleter): New struct.
17937         (htab_up): New typedef.
17938         * python/py-framefilter.c (gdbpy_apply_frame_filter): Use
17939         gdbpy_enter, gdbpy_ref, htab_up.
17940
17941 2017-01-10  Tom Tromey  <tom@tromey.com>
17942
17943         * python/py-unwind.c (pending_frame_invalidate): Remove.
17944         (pyuw_sniffer): Use gdbpy_enter and gdbpy_ref.
17945
17946 2017-01-10  Tom Tromey  <tom@tromey.com>
17947
17948         * python/py-xmethods.c (gdbpy_free_xmethod_worker_data)
17949         (gdbpy_clone_xmethod_worker_data): Use gdbpy_enter.
17950
17951 2017-01-10  Tom Tromey  <tom@tromey.com>
17952
17953         * python/py-type.c (save_objfile_types): Use gdbpy_enter.
17954
17955 2017-01-10  Tom Tromey  <tom@tromey.com>
17956
17957         * python/python.c (gdbpy_eval_from_control_command)
17958         (gdbpy_source_script, gdbpy_run_events)
17959         (gdbpy_source_objfile_script, gdbpy_execute_objfile_script)
17960         (gdbpy_free_type_printers, gdbpy_finish_initialization): Use
17961         gdbpy_enter.
17962
17963 2017-01-10  Tom Tromey  <tom@tromey.com>
17964
17965         * python/py-progspace.c (py_free_pspace): Use gdbpy_enter.
17966
17967 2017-01-10  Tom Tromey  <tom@tromey.com>
17968
17969         * python/py-objfile.c (py_free_objfile): Use gdbpy_enter.
17970
17971 2017-01-10  Tom Tromey  <tom@tromey.com>
17972
17973         * python/py-inferior.c (python_on_normal_stop, python_on_resume)
17974         (python_on_inferior_call_pre, python_on_inferior_call_post)
17975         (python_on_memory_change, python_on_register_change)
17976         (python_inferior_exit, python_new_objfile, add_thread_object)
17977         (delete_thread_object, py_free_inferior): Use gdbpy_enter.
17978
17979 2017-01-10  Tom Tromey  <tom@tromey.com>
17980
17981         * python/py-finishbreakpoint.c (bpfinishpy_handle_stop)
17982         (bpfinishpy_handle_exit): Use gdbpy_enter.
17983
17984 2017-01-10  Tom Tromey  <tom@tromey.com>
17985
17986         * python/py-cmd.c (cmdpy_destroyer)
17987         (cmdpy_completer_handle_brkchars, cmdpy_completer): Use
17988         gdbpy_enter.
17989
17990 2017-01-10  Tom Tromey  <tom@tromey.com>
17991
17992         * python/py-breakpoint.c (gdbpy_breakpoint_cond_says_stop): Use
17993         gdbpy_enter.
17994         (gdbpy_breakpoint_has_cond): Likewise.
17995
17996 2017-01-10  Tom Tromey  <tom@tromey.com>
17997
17998         * python/python.c (gdbpy_enter): New constructor.
17999         (~gdbpy_enter): New destructor.
18000         (restore_python_env, ensure_python_env): Rewrite.
18001         * python/python-internal.h (gdbpy_enter): New class.
18002
18003 2017-01-10  Tom Tromey  <tom@tromey.com>
18004
18005         * python/py-symbol.c (gdbpy_lookup_symbol): Use gdbpy_ref.
18006
18007 2017-01-10  Tom Tromey  <tom@tromey.com>
18008
18009         * python/py-value.c (value_has_field, get_field_flag)
18010         (get_field_type, valpy_getitem, convert_value_from_python): Use
18011         gdbpy_ref.
18012
18013 2017-01-10  Tom Tromey  <tom@tromey.com>
18014
18015         * python/python.c (gdbpy_progspaces, gdbpy_objfiles): Use
18016         gdbpy_ref.
18017
18018 2017-01-10  Tom Tromey  <tom@tromey.com>
18019
18020         * python/py-prettyprint.c (search_pp_list)
18021         (find_pretty_printer_from_objfiles)
18022         (find_pretty_printer_from_progspace)
18023         (find_pretty_printer_from_gdb, find_pretty_printer)
18024         (gdbpy_get_display_hint, gdbpy_get_varobj_pretty_printer): Use
18025         gdbpy_ref.
18026
18027 2017-01-10  Tom Tromey  <tom@tromey.com>
18028
18029         * python/py-param.c (call_doc_function): Use gdbpy_ref.
18030
18031 2017-01-10  Tom Tromey  <tom@tromey.com>
18032
18033         * python/py-linetable.c (build_line_table_tuple_from_pcs)
18034         (ltpy_get_all_source_lines): Use gdbpy_ref.
18035
18036 2017-01-10  Tom Tromey  <tom@tromey.com>
18037
18038         * python/py-framefilter.c (extract_sym, extract_value)
18039         (get_py_iter_from_func, bootstrap_python_frame_filters): Use
18040         gdbpy_ref.
18041
18042 2017-01-10  Tom Tromey  <tom@tromey.com>
18043
18044         * python/py-breakpoint.c (gdbpy_breakpoints): Use gdbpy_ref.
18045
18046 2017-01-10  Tom Tromey  <tom@tromey.com>
18047
18048         * python/py-inferior.c (gdbpy_inferiors): Use gdbpy_ref.
18049
18050 2017-01-10  Tom Tromey  <tom@tromey.com>
18051
18052         * python/py-function.c (convert_values_to_python, fnpy_init): Use
18053         gdbpy_ref.
18054
18055 2017-01-10  Tom Tromey  <tom@tromey.com>
18056
18057         * python/py-cmd.c (gdbpy_string_to_argv): Use gdbpy_ref.
18058
18059 2017-01-10  Tom Tromey  <tom@tromey.com>
18060
18061         * python/py-type.c (convert_field, make_fielditem, typy_fields)
18062         (typy_range): Use gdbpy_ref.
18063
18064 2017-01-10  Tom Tromey  <tom@tromey.com>
18065
18066         * python/py-threadevent.c (create_thread_event_object): Use
18067         gdbpy_ref.
18068         * python/py-stopevent.c (create_stop_event_object): Simplify.
18069         (emit_stop_event): Use gdbpy_ref.
18070         * python/py-signalevent.c (create_signal_event_object): Use
18071         gdbpy_ref.
18072         * python/py-newobjfileevent.c (create_new_objfile_event_object)
18073         (emit_new_objfile_event, create_clear_objfiles_event_object)
18074         (emit_clear_objfiles_event): Use gdbpy_ref.
18075         * python/py-infevents.c (create_inferior_call_event_object)
18076         (create_register_changed_event_object)
18077         (create_memory_changed_event_object, emit_inferior_call_event)
18078         (emit_memory_changed_event, emit_register_changed_event): Use
18079         gdbpy_ref.
18080         * python/py-exitedevent.c (create_exited_event_object)
18081         (emit_exited_event): Use gdbpy_ref.
18082         * python/py-event.h (evpy_emit_event): Remove
18083         CPYCHECKER_STEALS_REFERENCE_TO_ARG annotation.
18084         * python/py-event.c (evpy_emit_event): Use gdbpy_ref.
18085         * python/py-continueevent.c (emit_continue_event): Use
18086         gdbpy_ref.
18087         * python/py-breakpoint.c (gdbpy_breakpoint_created)
18088         (gdbpy_breakpoint_deleted, gdbpy_breakpoint_modified): Use
18089         gdbpy_ref.
18090         * python/py-bpevent.c (create_breakpoint_event_object): Use
18091         gdbpy_ref.
18092
18093 2017-01-10  Tom Tromey  <tom@tromey.com>
18094
18095         * python/py-ref.h: New file.
18096
18097 2017-01-10  Simon Marchi  <simon.marchi@ericsson.com>
18098
18099         * cli-out.c (cli_ui_out::do_redirect): Change return type to
18100         void.
18101         * cli-out.h (cli_ui_out::do_redirect): Likewise.
18102         * mi/mi-out.c (mi_ui_out::do_redirect): Likewise.
18103         * mi/mi-out.h (mi_ui_out::do_redirect): Likewise.
18104         * ui-out.c (ui_out::redirect): Likewise.
18105         * ui-out.h (ui_out::redirect, ui_out::do_redirect): Likewise.
18106         * cli/cli-logging.c (set_logging_redirect): Update call site of
18107         ui_out::redirect.
18108         (handle_redirections): Likewise.
18109         * scm-ports.c (ioscm_with_output_to_port_worker): Likewise.
18110         * top.c (execute_command_to_string): Likewise.
18111         * utils.c (do_ui_out_redirect_pop): Likewise.
18112
18113 2017-01-10  Simon Marchi  <simon.marchi@ericsson.com>
18114
18115         * stack.c (_initialize_stack): Update "frame" command help message.
18116
18117 2017-01-08  Iain Buclaw  <ibuclaw@gdcproject.org>
18118
18119         * d-exp.y (CastExpression): Emit UNOP_CAST_TYPE.
18120
18121 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18122
18123         * x86-linux-nat.h: Include gdb_proc_service.h.
18124
18125 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18126
18127         * ser-base.h: Include serial.h.
18128
18129 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18130
18131         * ppc-linux-tdep.h: Include ppc-tdep.h.
18132
18133 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18134
18135         * nat/amd64-linux-siginfo.h: Include signal.h.
18136
18137 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18138
18139         * nat/aarch64-linux-hw-point.h: Include break-common.h.
18140
18141 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18142
18143         * mi/mi-parse.h: Include mi-cmds.h.
18144
18145 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18146
18147         * inf-loop.c: Don't include "target.h".
18148         * inf-loop.h: Include it here.
18149
18150 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18151
18152         * dfp.h: Include "dboulest.h" and "expression.h".
18153
18154 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18155
18156         * ax-gdb.h: Include "ax.h".
18157
18158 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18159
18160         * Makefile.in (HFILES_NO_SRCDIR): Replace gdb_ptrace.h
18161         with nat/gdb_ptrace.h.
18162
18163 2017-01-05  Yao Qi  <yao.qi@linaro.org>
18164
18165         * mips-fbsd-tdep.c (mips_fbsd_sigframe_init): Move && to
18166         new line.
18167         (mips64_fbsd_sigframe_init): Likewise.
18168
18169 2017-01-04  John Baldwin  <jhb@FreeBSD.org>
18170
18171         * mips-fbsd-tdep.c (_initialize_mips_fbsd_tdep): Use
18172         GDB_OSABI_FREEBSD instead of GDB_OSABI_FREEBSD_ELF.
18173
18174 2017-01-04  John Baldwin  <jhb@FreeBSD.org>
18175
18176         * Makefile.in (ALLDEPFILES): Add mips-fbsd-nat.c.
18177         * NEWS: Mention new FreeBSD/mips native configuration.
18178         * config/mips/fbsd.mh: New file.
18179         * configure.host: Add mips*-*-freebsd*.
18180         * mips-fbsd-nat.c: New file.
18181
18182 2017-01-04  John Baldwin  <jhb@FreeBSD.org>
18183
18184         * Makefile.in (ALL_TARGET_OBS): Add mips-fbsd-tdep.o.
18185         (ALLDEPFILES): Add mips-fbsd-tdep.c.
18186         * NEWS: Mention new FreeBSD/mips target.
18187         * configure.tgt: Add mips*-*-freebsd*.
18188         * mips-fbsd-tdep.c: New file.
18189         * mips-fbsd-tdep.h: New file.
18190
18191 2017-01-04  Yao Qi  <yao.qi@linaro.org>
18192
18193         * dwarf2loc.c (write_pieced_value): Don't use VALUE_FRAME_ID (to),
18194         use c->frame_id when the piece location is DWARF_VALUE_REGISTER.
18195
18196 2017-01-01  Joel Brobecker  <brobecker@adacore.com>
18197
18198         Update copyright year range in all GDB files.
18199
18200 2017-01-01  Joel Brobecker  <brobecker@adacore.com>
18201
18202         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2016.
18203
18204 For older changes see ChangeLog-2016.
18205 \f
18206 Local Variables:
18207 mode: change-log
18208 left-margin: 8
18209 fill-column: 74
18210 version-control: never
18211 coding: utf-8
18212 End: