Unbreak build for non-ELF ports
[external/binutils.git] / gdb / ChangeLog
1 2017-12-11  Pedro Alves  <palves@redhat.com>
2
3         * defs.h (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index)
4         (elf_sym_fns_debug_names): Move to elfread.c.
5         * dwarf2read.c (dwarf2_initialize_objfile): Return a boolean
6         instead of a sym_fns and add 'index_kind' output parameter.  Fill
7         the latter in with the index variant kind if using an index.
8         (enum dw_index_kind): Moved to symfile.h.
9         * elfread.c (elf_sym_fns_gdb_index, elf_sym_fns_debug_names)
10         (elf_sym_fns_lazy_psyms): Move from defs.h.
11         (elf_symfile_read): Adjust to new dwarf2_initialize_objfile
12         interface.
13         * symfile.h (enum class dw_index_kind): New, moved from
14         dwarf2read.c.
15         (dwarf2_initialize_objfile): Change prototype.
16
17 2017-12-11  Ulrich Weigand  <uweigand@de.ibm.com>
18
19         * target-float.c (mpfr_float_ops::from_target): Use mpfr_set_ui
20         instead of mpfr_set_si to convert mantissa bits.
21
22 2017-12-11  Xavier Roirand <roirand@adacore.com>
23             Joel Brobecker  <brobecker@adacore.com>
24
25         * ada-lang.c (ada_tag_value_at_base_address): Change the way
26         tagged type base address is computed.
27         (enum ada_primitive_types) <ada_primitive_type_storage_offset>:
28         New enumerate.
29         (ada_language_arch_info): Set the ada_primitive_type_storage_offset
30         element of lai->primitive_type_vector.
31
32 2017-12-08  Pedro Alves  <palves@redhat.com>
33
34         * dwarf2read.c (mock_mapped_index): Reimplement as an extension of
35         mapped_index_base.
36         (check_match): Adjust to use mock_index directly.
37         (check_find_bounds_finds)
38         (test_mapped_index_find_name_component_bounds): Adjust to work
39         with a mapped_index_base.
40
41 2017-12-08  Pedro Alves  <palves@redhat.com>
42
43         * dwarf2read.c (struct mapped_index_base): New, partially factored
44         out from ...
45         (struct mapped_index): ... this.  Inherit mapped_index_base.
46         (mapped_index::symbol_name_slot_invalid):
47         (mapped_index::symbol_name_at): Add override marker.
48         (mapped_index::symbol_name_count): New.
49         (struct mapped_debug_names): Inherit mapped_index_base.
50         (mapped_debug_names::symbol_name_at): New.
51         (mapped_debug_names::symbol_name_count): New.
52         (mapped_index::find_name_components_bounds): Rename to ...
53         (mapped_index_base::find_name_components_bounds): ... this.
54         (mapped_index::build_name_components): Rename to ...
55         (mapped_index_base::build_name_components): ... this.  Adjust to
56         use mapped_index_base::symbol_name_count and
57         mapped_index_base::symbol_name_slot_invalid.
58         (dw2_expand_symtabs_matching_symbol): Take a mapped_index_base
59         instead of a mapped_index.  Use
60         dw2_expand_symtabs_matching_symbol.
61
62 2017-12-08  Pedro Alves  <palves@redhat.com>
63
64         * dwarf2read.c (mapped_index::symbol_table_slot): New.
65         (mapped_index::address_table): Now a gdb::array_view of const
66         gdb_byte.
67         (mapped_index::symbol_table): Now a gdb::array_view of
68         symbol_table_slot.
69         (mapped_index::address_table_size)
70         (mapped_index::symbol_table_slots): Delete.
71         (create_addrmap_from_index): Adjust.
72         (find_slot_in_mapped_hash): Adjust.
73         (read_index_from_section): Adjust.
74         (dwarf2_read_index): Adjust.
75
76 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
77             Pedro Alves  <palves@redhat.com>
78
79         * defs.h (elf_sym_fns_debug_names): New declaration.
80         * dwarf2read.c: Include "hash_enum.h".
81         (mapped_debug_names): New.
82         (struct dwarf2_per_objfile): Add debug_names, debug_aranges and
83         debug_names_table.
84         (dwarf2_elf_names): Add ".debug_names" and ".debug_aranges".
85         (struct dwz_file): Add debug_names.
86         (dwarf2_per_objfile::locate_sections): Handle debug_names and
87         debug_aranges.
88         (locate_dwz_sections): Handle debug_names.
89         (create_signatured_type_table_from_debug_names)
90         (create_addrmap_from_aranges): New.
91         (dwarf2_read_index): Update function comment.
92         (dwarf5_augmentation): Moved up.
93         (read_debug_names_from_section, create_cus_from_debug_names_list)
94         (create_cus_from_debug_names, dwarf2_read_debug_names): New.
95         (dwarf5_djb_hash): Moved up.
96         (dw2_debug_names_iterator): New.
97         (read_indirect_string_at_offset): New declaration.
98         (mapped_debug_names::namei_to_name)
99         (dw2_debug_names_iterator::find_vec_in_debug_names)
100         (dw2_debug_names_iterator::next, dw2_debug_names_lookup_symbol)
101         (dw2_debug_names_dump, dw2_debug_names_expand_symtabs_for_function)
102         (dw2_debug_names_expand_symtabs_matching, dwarf2_debug_names_functions):
103         New.
104         (dwarf2_initialize_objfile): Return also elf_sym_fns_debug_names.
105         (debug_names::djb_hash): Rename it to dwarf5_djb_hash.
106         (debug_names::build): Update djb_hash caller.
107         (write_debug_names): Move out and rename augmentation to
108         dwarf5_augmentation.
109         * elfread.c (elf_sym_fns_debug_names): New.
110         * psymtab.h (dwarf2_debug_names_functions): New declaration.
111         * symfile.h (struct dwarf2_debug_sections): Add debug_names and
112         debug_aranges.
113         * xcoffread.c (dwarf2_xcoff_names): Add debug_names and debug_aranges.
114
115 2017-12-08  Pedro Alves  <palves@redhat.com>
116
117         * common/hash_enum.h: New file.
118
119 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
120
121         * dwarf2read.c (create_cu_from_index_list): New from ...
122         (create_cus_from_index_list): ... this function, use it.
123         (dw_expand_symtabs_matching_file_matcher)
124         (dw2_expand_symtabs_matching_one): New from ...
125         (dw2_expand_symtabs_matching): ... this function, use them.
126
127 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
128
129         * defs.h (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index): Move here
130         declarations from elfread.c.
131         (dwarf2_initialize_objfile): Change return value.
132         * elfread.c (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index): Move these
133         declarations to defs.h.
134         (elf_symfile_read): Adjust dwarf2_initialize_objfile caller.
135         * symfile.h (dwarf2_initialize_objfile): Change return type.
136
137 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
138             Pedro Alves  <palves@redhat.com>
139
140         * contrib/gdb-add-index.sh (index): Rename to ...
141         (index4): ... here.
142         (index5, debugstr, debugstrmerge, debugstrerr): New variables.
143         Support also .debug_names and .debug_str.
144         * dwarf2read.c: Include cmath, set, list.
145         (INDEX_SUFFIX): Rename to ...
146         (INDEX4_SUFFIX): ... here.
147         (INDEX5_SUFFIX, DEBUG_STR_SUFFIX): New.
148         (file_write(FILE *, const void *, size_t)): New.
149         (file_write(FILE *, const std::vector<Elem, Alloc> &)): New.
150         (data_buf::append_unsigned_leb128, data_buf::empty): New.
151         (data_buf::file_write): Use ::file_write.
152         (data_buf::c_str, dwarf5_djb_hash, debug_names)
153         (check_dwarf64_offsets): New.
154         (psyms_seen_size, write_gdbindex): New from
155         write_psymtabs_to_index code.
156         (dwarf5_gdb_augmentation, write_debug_names, assert_file_size)
157         (enum dw_index_kind): New.
158         (write_psymtabs_to_index): New parameter index_kind.  Support
159         filename_str and out_file_str.  Move code to write_gdbindex,
160         possibly call write_debug_names.
161         (save_gdb_index_command): New parameter -dwarf-5.
162         (_initialize_dwarf2_read): Document the new parameter -dwarf-5.
163
164 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
165             Pedro Alves  <palves@redhat.com>
166
167         * contrib/cc-with-tweaks.sh: Change interpreter to bash, incl. initial
168         comment.
169         (GDB_ADD_INDEX): New variable.
170         <$want_index>: Call $GDB_ADD_INDEX.
171
172 2017-12-08  Sergio Durigan Junior  <sergiodj@redhat.com>
173
174         * dtrace-probe.c (dtrace_process_dof_probe): Do not declare a new
175         "expression_up" inside the TRY block.
176
177 2017-12-08  Yao Qi  <yao.qi@linaro.org>
178
179         * breakpoint.c (update_watchpoint): Call
180         address_significant.
181
182 2017-12-08  Yao Qi  <yao.qi@linaro.org>
183
184         * breakpoint.c (adjust_breakpoint_address): Call
185         address_significant.
186
187 2017-12-08  Yao Qi  <yao.qi@linaro.org>
188
189         * aarch64-tdep.c (aarch64_gdbarch_init): Install gdbarch
190         significant_addr_bit.
191         * gdbarch.sh (significant_addr_bit): New.
192         * gdbarch.c, gdbarch.h: Re-generated.
193         * target.c (memory_xfer_partial): Call address_significant.
194         * utils.c (address_significant): New function.
195         * utils.h (address_significant): Declare.
196
197 2017-12-08  Tom Tromey  <tom@tromey.com>
198
199         * printcmd.c (ui_printf): Update.  Use std::vector.
200         * common/format.h (struct format_piece): Add constructor.
201         <string>: Now const.
202         (class format_pieces): New class.
203         (parse_format_string, free_format_pieces)
204         (free_format_pieces_cleanup): Remove.
205         * common/format.c (format_pieces::format_pieces): Rename from
206         parse_format_string.  Update.
207         (free_format_pieces, free_format_pieces_cleanup): Remove.
208         * breakpoint.c (parse_cmd_to_aexpr): Update.  Use std::vector.
209         * ax-gdb.h (gen_printf): Remove argument.
210         * ax-gdb.c (gen_printf): Remove "frags" argument.
211         (maint_agent_printf_command): Update.  Use std::vector.
212
213 2017-12-08  Yao Qi  <yao.qi@linaro.org>
214
215         PR breakpionts/22567
216         * linespec.c (minsym_found): Set sal.section.
217
218 2017-12-08  Andreas Arnez  <arnez@linux.vnet.ibm.com>
219
220         * configure.tgt (s390*-*-linux*): Add symfile-mem.o.
221
222 2017-12-07  Keith Seitz  <keiths@redhat.com>
223
224         PR breakpoints/22569
225         * location.c (string_to_explicit_location): When terminating
226         parsing early, break out of enclosing loop instead of returning.
227
228 2017-12-07  Keith Seitz  <keiths@redhat.com>
229
230         * NEWS (New commands): Mention set/show print type nested-type-limit.
231         * c-typeprint.c (c_type_print_base): Print out nested types.
232         * dwarf2read.c (struct typedef_field_list): Rename to ...
233         (struct decl_field_list): ... this.  Change all uses.
234         (struct field_info) <nested_types_list, nested_types_list_count>:
235         New fields.
236         (add_partial_symbol): Look for nested type definitions in C++, too.
237         (dwarf2_add_typedef): Rename to ...
238         (dwarf2_add_type_defn): ... this.
239         (type_can_define_types): New function.
240         Update assertion to use type_can_define_types.
241         Permit NULL for a field's name.
242         (process_structure_scope): Handle child DIEs of types that can
243         define types.
244         Copy the list of nested types into the type struct.
245         * gdbtypes.h (struct typedef_field): Rename to ...
246         (struct decl_field): ... this.  Change all uses.
247         [is_protected, is_private]: New fields.
248         (struct cplus_struct_type) <nested_types, nested_types_count>: New
249         fields.
250         (TYPE_NESTED_TYPES_ARRAY, TYPE_NESTED_TYPES_FIELD)
251         (TYPE_NESTED_TYPES_FIELD_NAME, TYPE_NESTED_TYPES_FIELD_TYPE)
252         (TYPE_NESTED_TYPES_COUNT, TYPE_NESTED_TYPES_FIELD_PROTECTED)
253         (TYPE_NESTED_TYPES_FIELD_PRIVATE): New macros.
254         * typeprint.c (type_print_raw_options, default_ptype_flags): Add
255         default value for print_nested_type_limit.
256         (print_nested_type_limit): New static variable.
257         (set_print_type_nested_types, show_print_type_nested_types): New
258         functions.
259         (_initialize_typeprint): Register new commands for set/show
260         `print-nested-type-limit'.
261         * typeprint.h (struct type_print_options) [print_nested_type_limit]:
262         New field.
263
264 2017-12-07  Tom Tromey  <tom@tromey.com>
265
266         PR breakpoints/22511:
267         * breakpoint.c (commands_command_1): Don't throw an exception when
268         no commands have been read.
269
270 2017-12-07  Adam Stylinski  <adam.stylinski@etegent.com>
271
272         PR c++/21222
273         * target-descriptions.c (print_c_tdesc::visit_pre): Change type of
274         range-for variable.
275
276 2017-12-07  Simon Marchi  <simon.marchi@ericsson.com>
277
278         * common/selftest.h (struct selftest): Add virtual destructor.
279
280 2017-12-07  Phil Muldoon  <pmuldoon@redhat.com>
281
282         * python/py-breakpoint.c (bppy_init): Use string_to_event_location
283         over basic location code. Implement explicit location keywords.
284         (bppy_init_validate_args): New function.
285         * NEWS: Document Python explicit breakpoint locations.
286
287 2017-12-07  Joel Brobecker  <brobecker@adacore.com>
288
289         * MAINTAINERS: Restore target entries for m68hc11-elf,
290         score-elf and xstormy16-elf, incorrectly removed in a previous
291         patch meant to only update the list of active maintainers.
292
293 2017-12-06  Pedro Alves  <palves@redhat.com>
294
295         * break-catch-syscall.c (insert_catch_syscall)
296         (remove_catch_syscall): Adjust to pass reference to
297         inf_data->syscalls_counts directly via gdb::array_view.
298         * fbsd-nat.c (fbsd_set_syscall_catchpoint): Adjust to use bool
299         and gdb::array_view.
300         * linux-nat.c (linux_child_set_syscall_catchpoint): Likewise.
301         * remote.c (remote_set_syscall_catchpoint): Likewise.
302         * target-debug.h (target_debug_print_bool): New.
303         (define target_debug_print_gdb_array_view_const_int): New.
304         * target-delegates.c: Regenerate.
305         * target.h (target_ops) <to_set_syscall_catchpoint>: Use
306         gdb::array_view and bool.
307         (target_set_syscall_catchpoint): Likewise.
308
309 2017-12-06  Simon Marchi  <simon.marchi@ericsson.com>
310
311         * break-catch-syscall.c (catch_syscall_completer): Get pointers
312         to syscall group strings after building the string vector.
313
314 2017-12-06  Pedro Alves  <palves@redhat.com>
315
316         * remote.c (remote_query_supported): Don't send "xmlRegisters=" if
317         "qXfer:features:read"" is disabled.
318         (remote_write_qxfer, remote_read_qxfer, remote_search_memory):
319         Check packet_config_support instead of packet->support directly.
320
321 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
322
323         * target-descriptions.c (struct tdesc_feature) <registers>: Use
324         tdesc_reg_up typedef.
325         (struct target_desc) <features>: Use tdesc_feature_up typedef.
326
327 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
328
329         * target-descriptions.c (struct tdesc_type): Use default
330         destructor.
331         <u>: Remove.
332         <accept>: Remove.
333         (struct tdesc_type_builtin): New.
334         (struct tdesc_type_vector): New.
335         (struct tdesc_type_with_fields): New.
336         (tdesc_predefined_types): Change type to tdesc_type_builtin[].
337         (tdesc_gdb_type): Remove.
338         (tdesc_register_type): Adjust.
339         (tdesc_create_vector): Create tdesc_type_vector.
340         (tdesc_create_struct): Create tdesc_type_with_fields.
341         (tdesc_set_struct_size): Change parameter type.
342         (tdesc_create_union): Create tdesc_type_with_fields.
343         (tdesc_create_flags): Likewise.
344         (tdesc_create_enum): Likewise.
345         (tdesc_add_field): Change parameter type.
346         (tdesc_add_typed_bitfield): Likewise.
347         (tdesc_add_bitfield): Likewise.
348         (tdesc_add_flag): Likewise.
349         (tdesc_add_enum_value): Likewise.
350         (print_c_tdesc) <visit>: Remove overload with tdesc_type
351         parameter, add overloads for tdesc_type_builtin,
352         tdesc_type_with_fields and tdesc_type_vector.
353         <m_printed_type>: Remove.
354         <m_printed_element_type, m_printed_type_with_fields>: Add.
355         * target-descriptions.h (tdesc_create_enum): Change return type.
356         (tdesc_add_typed_bitfield): Change parameter type.
357         (tdesc_add_enum_value): Change parameter type.
358         * xml-tdesc.c (struct tdesc_parsing_data) <current_type>: Change
359         type to tdesc_type_with_fields.
360         (tdesc_start_struct): Adjust.
361         (tdesc_start_flags): Adjust.
362         (tdesc_start_enum): Adjust.
363         (tdesc_start_field): Adjust.
364         * arch/tdesc.h (struct tdesc_type_builtin): Forward-declare.
365         (struct tdesc_type_vector): Forward-declare.
366         (struct tdesc_type_with_fields): Forward-declare.
367         (tdesc_create_struct): Change return type.
368         (tdesc_create_union): Likewise.
369         (tdesc_create_flags): Likewise.
370         (tdesc_add_field): Change parameter type.
371         (tdesc_set_struct_size): Likewise.
372         (tdesc_add_bitfield): Likewise.
373         (tdesc_add_flag): Likewise.
374         * features: Re-generate C files.
375
376 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
377
378         * target-descriptions.c (tdesc_arch_reg): Remove typedef.
379         (struct tdesc_arch_reg): Add constructor.
380         (DEF_VEC_O (tdesc_arch_reg)): Remove.
381         (struct tdesc_arch_data): Initialize fields.
382         <arch_regs>: Change type to std::vector.
383         (target_find_description): Adjust.
384         (tdesc_find_type): Adjust.
385         (tdesc_data_init): Call tdesc_arch_data constructor.
386         (tdesc_data_alloc): Allocate tdesc_arch_data with new.
387         (tdesc_data_cleanup): Free data with delete.
388         (tdesc_numbered_register): Adjust.
389         (tdesc_find_arch_register): Adjust.
390         (tdesc_use_registers): Adjust.
391
392 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
393
394         * target-descriptions.c (tdesc_type_field): Remove typedef.
395         (DEF_VEC_O (tdesc_type_field)): Remove.
396         (struct tdesc_type_field): Add constructor.
397         <name>: Change type to std::string.
398         (struct tdesc_type) <tdesc_type>: Instantiate vector if the type
399         kind uses it.
400         <~tdesc_type>: Destroy vector if the type kind uses it.
401         <u::u::fields>: Change type to std::vector.
402         (tdesc_gdb_type): Adjust.
403         (tdesc_add_field): Adjust.
404         (tdesc_add_typed_bitfield): Adjust.
405         (tdesc_add_field): Adjust.
406         (tdesc_add_enum_value): Adjust.
407         (class print_c_tdesc) <visit>: Adjust.
408
409 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
410
411         * target-descriptions.c (struct tdesc_type) <name>: Change type
412         to std::string.
413         <~tdesc_type>: Don't manually free name.
414         <operator==>: Adjust.
415         (tdesc_named_type): Adjust.
416         (tdesc_find_type): Adjust.
417         (tdesc_gdb_type): Adjust.
418         (class print_c_tdesc) <visit>: Adjust.
419
420 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
421
422         * target-descriptions.c (tdesc_type_p): Remove typedef.
423         (DEF_VEC_P (tdesc_type_p)): Remove.
424         (struct tdesc_feature) <types>: Change type to std::vector.
425         <~tdesc_feature>: Replace with default implementation.
426         <accept>: Adjust.
427         (tdesc_named_type): Adjust.
428         (tdesc_create_vector): Adjust.
429         (tdesc_create_struct): Adjust.
430         (tdesc_create_union): Adjust.
431         (tdesc_create_flags): Adjust.
432         (tdesc_create_enum): Adjust.
433
434 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
435
436         * target-descriptions.c (struct tdesc_reg) <tdesc_reg>: Change
437         type of name_ parameter, adjust to std::string change.
438         <name, group, type>: Change type to std::string.
439         <~tdesc_reg>: Replace with default implementation.
440         <operator==>: Adjust.
441         (tdesc_find_register_early): Adjust.
442         (tdesc_register_name): Adjust.
443         (tdesc_register_type): Adjust.
444         (tdesc_register_in_reggroup_p): Adjust.
445         (class print_c_tdesc) <visit>: Adjust.
446         (class print_c_feature) <visit>: Adjust.
447         * features/arc-arcompact.c: Re-generate.
448         * features/arc-v2.c: Re-generate.
449
450 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
451
452         * target-descriptions.c (tdesc_reg_p): Remove typedef.
453         (DEF_VEC_P (tdesc_reg_p)): Remove.
454         (struct tdesc_feature) <registers>: Change type to std::vector.
455         <~tdesc_feature>: Don't manually free registers.
456         <accept>: Adjust.
457         <operator==>: Adjust.
458         (tdesc_has_registers): Adjust.
459         (tdesc_find_register_early): Adjust.
460         (tdesc_use_registers): Adjust.
461         (tdesc_create_reg): Adjust.
462
463 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
464
465         * target-descriptions.c (tdesc_feature) <name>: Change type to
466         std::string.
467         <~tdesc_feature>: Don't manually free name.
468         <operator==>: Adjust.
469         (tdesc_find_feature): Adjust.
470         (tdesc_feature_name): Adjust.
471         (class print_c_tdesc) <visit_pre>: Adjust.
472         (class print_c_feature) <visit_pre>: Adjust.
473
474 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
475
476         * target-descriptions.c (tdesc_feature_p): Remove typedef.
477         (DEF_VEC_P (tdesc_feature_p)): Remove.
478         (struct target_desc) <features>: Change type to std::vector.
479         <~target_desc>: Replace with default implementation.
480         <accept>: Adjust.
481         <operator==>: Adjust.
482         (tdesc_has_registers): Adjust.
483         (tdesc_find_feature): Adjust.
484         (tdesc_use_registers): Adjust.
485         (tdesc_create_feature): Adjust.
486
487 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
488
489         * target-descriptions.c (arch_p): Remove typedef.
490         (DEF_VEC_P (arch_p)): Remove.
491         (struct target_desc) <compatible>: Change type to std::vector.
492         <~target_desc>: Don't manually free compatible.
493         (tdesc_compatible_p): Adjust.
494         (tdesc_add_compatible): Adjust.
495         (class print_c_tdesc) <visit_pre>: Adjust.
496
497 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
498
499         * target-descriptions.c (property_s): Remove typedef.
500         (DEF_VEC_O (property_s)): Remove.
501         (struct target_desc) <properties>: Make an std::vector.
502         <~target_desc>: Don't manually free properties.
503         (tdesc_property): Adjust.
504         (set_tdesc_property): Adjust.
505         (class print_c_tdesc) <visit_pre>: Adjust.
506
507 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
508
509         * common/gdb_assert.h (gdb_static_assert): Redefine using
510         static_assert.
511
512 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
513
514         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
515         unused variables.
516         (ada_is_redundant_range_encoding): Likewise.
517         * ada-varobj.c (ada_varobj_get_value_of_array_variable):
518         Likewise.
519         * alpha-tdep.c (alpha_software_single_step): Likewise.
520         * arm-tdep.c (_initialize_arm_tdep): Likewise.
521         * auto-load.c (info_auto_load_cmd): Likewise.
522         * break-catch-syscall.c (insert_catch_syscall): Likewise.
523         (remove_catch_syscall): Likewise.
524         * breakpoint.c (condition_completer): Likewise.
525         (clear_command): Likewise.
526         (update_breakpoint_locations): Likewise.
527         * btrace.c (btrace_disable): Likewise.
528         (btrace_teardown): Likewise.
529         (btrace_maint_update_pt_packets): Likewise.
530         (maint_btrace_clear_cmd): Likewise.
531         * cli/cli-decode.c (lookup_cmd_1): Likewise.
532         (lookup_cmd_composition): Likewise.
533         * cli/cli-dump.c (scan_filename): Likewise.
534         (restore_command): Likewise.
535         * compile/compile-loc2c.c (compute_stack_depth): Likewise.
536         * compile/compile-object-load.c (compile_object_load): Likewise.
537         * compile/compile-object-run.c (compile_object_run): Likewise.
538         * compile/compile.c (compile_to_object): Likewise.
539         * completer.c (filename_completer): Likewise.
540         (complete_files_symbols): Likewise.
541         (complete_expression): Likewise.
542         * corelow.c (core_open): Likewise.
543         * ctf.c (ctf_start): Likewise.
544         (ctf_write_status): Likewise.
545         (ctf_write_uploaded_tsv): Likewise.
546         (ctf_write_definition_end): Likewise.
547         (ctf_open_dir): Likewise.
548         (ctf_xfer_partial): Likewise.
549         (ctf_trace_find): Likewise.
550         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
551         Likewise.
552         * dwarf2loc.c (allocate_piece_closure): Likewise.
553         (indirect_pieced_value): Likewise.
554         (dwarf2_evaluate_loc_desc_full): Likewise.
555         * dwarf2read.c (dw2_expand_marked_cus): Likewise.
556         (dw2_expand_symtabs_matching): Likewise.
557         (dw2_map_symbol_filenames): Likewise.
558         (read_and_check_comp_unit_head): Likewise.
559         (read_cutu_die_from_dwo): Likewise.
560         (lookup_dwo_unit): Likewise.
561         (read_comp_units_from_section): Likewise.
562         (dwarf2_compute_name): Likewise.
563         (handle_DW_AT_stmt_list): Likewise.
564         (create_cus_hash_table): Likewise.
565         (create_dwp_v2_section): Likewise.
566         (dwarf2_rnglists_process): Likewise.
567         (dwarf2_ranges_process): Likewise.
568         (dwarf2_record_block_ranges): Likewise.
569         (is_vtable_name): Likewise.
570         (read_formatted_entries): Likewise.
571         (skip_form_bytes): Likewise.
572         * elfread.c (elf_symtab_read): Likewise.
573         * exec.c (exec_file_command): Likewise.
574         * f-valprint.c (f_val_print): Likewise.
575         (info_common_command_for_block): Likewise.
576         * guile/guile.c (initialize_scheme_side): Likewise.
577         * guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Likewise.
578         * guile/scm-cmd.c (cmdscm_completer): Likewise.
579         (gdbscm_register_command_x): Likewise.
580         * guile/scm-frame.c (gdbscm_frame_read_var): Likewise.
581         * guile/scm-param.c (gdbscm_parameter_value): Likewise.
582         * guile/scm-ports.c (file_port_magic): Likewise.
583         * guile/scm-pretty-print.c (ppscm_search_pp_list): Likewise.
584         (ppscm_pretty_print_one_value): Likewise.
585         (ppscm_print_children): Likewise.
586         * guile/scm-string.c (gdbscm_string_to_argv): Likewise.
587         * guile/scm-symtab.c (gdbscm_sal_symtab): Likewise.
588         * guile/scm-type.c (gdbscm_type_next_field_x): Likewise.
589         * guile/scm-utils.c (gdbscm_parse_function_args): Likewise.
590         * i386-tdep.c (i386_register_reggroup_p): Likewise.
591         * infcmd.c (run_command_1): Likewise.
592         (until_next_fsm_clean_up): Likewise.
593         * linespec.c (linespec_complete): Likewise.
594         (find_label_symbols): Likewise.
595         * m2-valprint.c (m2_val_print): Likewise.
596         * memattr.c (require_user_regions): Likewise.
597         (lookup_mem_region): Likewise.
598         (disable_mem_command): Likewise.
599         (mem_delete): Likewise.
600         * mep-tdep.c (mep_register_name): Likewise.
601         (mep_analyze_prologue): Likewise.
602         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Likewise.
603         * mi/mi-interp.c (mi_on_sync_execution_done): Likewise.
604         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
605         * microblaze-linux-tdep.c (microblaze_linux_init_abi): Likewise.
606         * minidebug.c (lzma_open): Likewise.
607         * minsyms.c (lookup_minimal_symbol): Likewise.
608         * mips-linux-tdep.c (mips64_fill_fpregset): Likewise.
609         * mips-tdep.c (mips_stub_frame_sniffer): Likewise.
610         (mips_o64_return_value): Likewise.
611         (mips_single_step_through_delay): Likewise.
612         (_initialize_mips_tdep): Likewise.
613         * nios2-tdep.c (nios2_push_dummy_call): Likewise.
614         (nios2_software_single_step): Likewise.
615         * parse.c (find_minsym_type_and_address): Likewise.
616         * psymtab.c (psym_relocate): Likewise.
617         * python/py-breakpoint.c (bppy_get_commands): Likewise.
618         (gdbpy_breakpoint_modified): Likewise.
619         * python/py-infevents.c (create_inferior_call_event_object):
620         Likewise.
621         * python/py-record-btrace.c (btpy_list_item): Likewise.
622         * python/py-type.c (typy_str): Likewise.
623         * python/py-value.c (valpy_call): Likewise.
624         * python/python.c (do_start_initialization): Likewise.
625         * record-btrace.c (record_btrace_insn_history_range): Likewise.
626         (record_btrace_call_history_range): Likewise.
627         (record_btrace_record_method): Likewise.
628         (record_btrace_xfer_partial): Likewise.
629         (btrace_get_frame_function): Likewise.
630         * record-full.c (record_full_open): Likewise.
631         * record.c (get_context_size): Likewise.
632         * registry.h (DEFINE_REGISTRY): Likewise.
633         * remote-fileio.c (remote_fileio_request): Likewise.
634         * remote.c (remote_update_thread_list): Likewise.
635         (remote_check_symbols): Likewise.
636         (remote_commit_resume): Likewise.
637         (remote_interrupt): Likewise.
638         (remote_insert_breakpoint): Likewise.
639         (compare_sections_command): Likewise.
640         * rust-exp.y (super_name): Likewise.
641         (lex_string): Likewise.
642         (convert_ast_to_type): Likewise.
643         (convert_ast_to_expression): Likewise.
644         * rust-lang.c (rust_print_struct_def): Likewise.
645         (rust_print_type): Likewise.
646         (rust_evaluate_subexp): Likewise.
647         * rx-tdep.c (rx_register_type): Likewise.
648         * ser-event.c (serial_event_clear): Likewise.
649         * serial.c (serial_open): Likewise.
650         * spu-tdep.c (spu_overlay_new_objfile): Likewise.
651         * symfile.c (section_is_overlay): Likewise.
652         (overlay_unmapped_address): Likewise.
653         (overlay_mapped_address): Likewise.
654         (simple_overlay_update_1): Likewise.
655         (simple_overlay_update): Likewise.
656         * symtab.c (symbol_find_demangled_name): Likewise.
657         (search_symbols): Likewise.
658         * target-descriptions.c (tdesc_predefined_type): Likewise.
659         * target.c (target_commit_resume): Likewise.
660         * thread.c (print_selected_thread_frame): Likewise.
661         * top.c (new_ui_command): Likewise.
662         (gdb_readline_no_editing): Likewise.
663         * tracefile-tfile.c (tfile_open): Likewise.
664         * tracepoint.c (create_tsv_from_upload): Likewise.
665         * utils.c (quit): Likewise.
666         (defaulted_query): Likewise.
667         * valarith.c (value_concat): Likewise.
668         * xml-syscall.c (xml_list_syscalls_by_group): Likewise.
669         * xml-tdesc.c (target_fetch_description_xml): Likewise.
670         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
671         (xtensa_pseudo_register_write): Likewise.
672
673 2017-12-04  Tom Tromey  <tom@tromey.com>
674
675         * NEWS: Mention Rust trait object inspection.
676
677 2017-12-04  Pedro Alves  <palves@redhat.com>
678
679         PR gdb/22499
680         * amd64-tdep.c (amd64_insn::rex_offset): Rename to...
681         (amd64_insn::enc_prefix_offset): ... this, and tweak comment.
682         (vex2_prefix_p, vex3_prefix_p): New functions.
683         (amd64_get_insn_details): Adjust to rename.  Also skip VEX2 and
684         VEX3 prefixes.
685         (fixup_riprel): Set VEX3.!B.
686
687 2017-12-03  Simon Marchi  <simon.marchi@ericsson.com>
688
689         * target.h (mem_region_vector): Remove.
690         (struct target_ops) <to_memory_map>: Change return type to
691         std::vector<mem_region>.
692         * target-debug.h (target_debug_print_mem_region_vector): Rename
693         to ...
694         (target_debug_print_std_vector_mem_region): ... this.
695         * target-delegates.c: Re-generate.
696
697 2017-12-03  Pedro Alves  <palves@redhat.com>
698
699         * make-target-delegates (munge_type): Also munge '<', '>', and
700         ':'.  Avoid double underscores in identifiers, and trailing
701         underscores.
702         * target-debug.h
703         (target_debug_print_VEC_static_tracepoint_marker_p__p): Rename to
704         ...
705         (target_debug_print_VEC_static_tracepoint_marker_p_p): ... this.
706         * target-delegates.c: Regenerate.
707
708 2017-12-02  Simon Marchi  <simon.marchi@polymtl.ca>
709
710         * common/poison.h (XDELETE): Fix typo.
711
712 2017-12-01  Andrew Cagney  <cagney@redhat.com>
713             Joel Brobecker  <brobecker@adacore.com>
714             Sergio Durigan Junior  <sergiodj@redhat.com>
715
716         * NEWS (Changes since GDB 8.0: Mention new '--readnever'
717         feature.
718         * coffread.c (coff_symfile_read): Do not map over sections with
719         'coff_locate_sections' if readnever is on.
720         * dwarf2read.c (dwarf2_has_info): Return 0 if
721         readnever is on.
722         * elfread.c (elf_symfile_read): Do not map over sections with
723         'elf_locate_sections' if readnever is on.
724         * main.c (validate_readnow_readnever): New function.
725         (captured_main_1): Add support for --readnever.
726         (print_gdb_help): Document --readnever.
727         * objfile-flags.h (enum objfile_flag) <OBJF_READNEVER>: New
728         flag.
729         * symfile.c (readnever_symbol_files): New global.
730         (symbol_file_add_with_addrs): Set 'OBJF_READNEVER' when
731         'READNEVER_SYMBOL_FILES' is set.
732         (validate_readnow_readnever): New function.
733         (symbol_file_command): Handle '-readnever' option.
734         Call 'validate_readnow_readnever'.
735         (add_symbol_file_command): Handle '-readnever' option.
736         Call 'validate_readnow_readnever'.
737         (_initialize_symfile): Document new '-readnever' option for
738         both 'symbol-file' and 'add-symbol-file' commands.
739         * top.h (readnever_symbol_files): New extern global.
740         * xcoffread.c (xcoff_initial_scan): Do not read debug
741         information if readnever is on.
742
743 2017-12-01  Sergio Durigan Junior  <sergiodj@redhat.com>
744
745         * symfile.c (symbol_file_command): Call
746         'symbol_file_add_main_1' only after processing all command
747         line options.
748         (add_symbol_file_command): Modify logic to make arguments
749         position-independent.
750
751 2017-12-01  Joel Brobecker  <brobecker@adacore.com>
752
753         * ada-lang.c (symbol_list_obstack): Delete.
754         (resolve_subexp): Make sure "candidates" gets xfree'ed.
755         (ada_lookup_symbol_list_worker): Remove the limitation that
756         the result is only good until the next call, now making it
757         the responsibility of the caller to free the result when no
758         longer needed.  Adjust the function's intro comment accordingly.
759         (ada_lookup_symbol_list): Adjust the function's intro comment.
760         (ada_iterate_over_symbols): Make sure "results" gets xfree'ed.
761         (ada_lookup_encoded_symbol, get_var_value): Likewise.
762         (_initialize_ada_language): Remove symbol_list_obstack
763         initialization.
764         * ada-exp.y (block_lookup): Make sure "syms" gets xfree'ed.
765         (write_var_or_type, write_name_assoc): Likewise.
766
767 2017-12-01  Tom Tromey  <tom@tromey.com>
768
769         * Makefile.in (all_deps_files): New variable.
770         Include .Po files using all_deps_files.
771
772 2017-12-01  Joel Brobecker  <brobecker@adacore.com>
773
774         * MAINTAINERS: Update list of maintainers, moving those who
775         stepped down or became inactive to the "Past Maintainers"
776         section.
777
778 2017-11-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
779
780         * configure.ac Don't check for sys/fault.h, sys/syscall.h,
781         sys/proc.h.
782         (NEW_PROC_API): Remove.
783         (prsysent_t, pr_sigset_t, pr_sigaction64_t, pr_siginfo64_t):
784         Likewise.
785         * common/common.m4 (GDB_AC_COMMON): Don't check for sys/syscall.h.
786         * configure: Regenerate.
787         * config.in: Regenerate.
788         * gdbserver/configure: Regenerate.
789         * gdbserver/config.in: Regenerate.
790
791         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Remove
792         NEW_PROC_API test.
793         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Likewise.
794
795         * linux-btrace.c: Remove HAVE_SYS_SYSCALL_H test.
796
797         * proc-api.c: Remove !NEW_PROC_API support.
798         Remove HAVE_SYS_PROC_H and HAVE_SYS_USER_H tests.
799         Remove tests for macros always defined on Solaris.
800         * proc-events.c: Remove !NEW_PROC_API support.
801         Remove Remove HAVE_SYS_SYSCALL_H, HAVE_SYS_PROC_H and
802         HAVE_SYS_USER_H tests.
803         (init_syscall_table): Remove non-Solaris syscalls.
804         Remove tests for syscalls present on all Solaris versions.
805         Add missing Solaris 10+ syscalls.
806         (signal_table): Remove non-Solaris signals.
807         Remove tests for signals present on all Solaris versions.
808         (fault_table): Remove non-Solaris faults.
809         Remove tests for faults present on all Solaris versions.
810         * proc-flags.c: Remove !NEW_PROC_API support.
811         (pr_flag_table): Remove non-Solaris and pre-Solaris 7 comments.
812         Remove non-Solaris flags.
813         * proc-why.c: Remove !NEW_PROC_API support.
814         (pr_why_table): Remove meaningless comments.
815         Remove tests for reasons present on all Solaris versions.
816         Remove OSF/1 cases.
817         (proc_prettyfprint_why): Likewise.
818
819         * procfs.c: Remove !NEW_PROC_API and DYNAMIC_SYSCALLS support.
820         Remove HAVE_SYS_FAULT_H and HAVE_SYS_SYSCALL_H tests.
821         Remove WA_READ test, IRIX watchpoint support.
822         (gdb_sigset_t, gdb_sigaction_t, gdb_siginfo_t): Replace by base
823         types.  Change users.
824         (gdb_praddset, gdb_prdelset, gdb_premptysysset, gdb_praddsysset)
825         (gdb_prdelset, gdb_pr_issyssetmember): Replace by base macros.
826         Change callers.
827         Remove CTL_PROC_NAME_FMT tests.
828         (gdb_prstatus_t, gdb_lwpstatus_t): Replace by base types.  Change
829         users.
830         (sysset_t_size): Remove.  Use sizeof (sysset_t) in callers.
831         Remove PROCFS_DONT_PIOCSSIG_CURSIG support.
832         (proc_modify_flag): Replace GDBRESET by PCUNSET.
833         Remove PR_ASYNC, PR_KLC tests.
834         (proc_unset_inherit_on_fork): Remove PR_ASYNC test.
835         (proc_parent_pid): Remove PCWATCH etc. tests.
836         (proc_set_watchpoint): Remove !PCWATCH && !PIOCSWATCH support.
837         Remove PCAGENT test.
838         (proc_get_nthreads) [PIOCNTHR && PIOCTLIST]: Remove.
839         Remove SYS_lwpcreate || SYS_lwp_create test.
840         (proc_get_current_thread): Likewise.
841         [PIOCNTHR && PIOCTLIST]: Remove.
842         [PIOCLSTATUS]: Remove.
843         (procfs_debug_inferior): Remove non-Solaris cases, conditionals.
844         [PRFS_STOPEXEC]: Remove.
845         (syscall_is_lwp_exit): Remove non-Solaris cases, conditionals.
846         (syscall_is_exit): Likewise.
847         (syscall_is_exec): Likewise.
848         (syscall_is_lwp_create): Likewise.
849         Remove SYS_syssgi support.
850         (procfs_wait): Remove PR_ASYNC, !PIOCSSPCACT tests.
851         [SYS_syssgi]: Remove.
852         Remove non-Solaris cases, conditionals.
853         (unconditionally_kill_inferior) [PROCFS_NEED_PIOCSSIG_FOR_KILL]:
854         Remove.
855         (procfs_init_inferior) [SYS_syssgi]: Remove.
856         (procfs_set_exec_trap) [PRFS_STOPEXEC]: Remove.
857         (procfs_inferior_created) [SYS_syssgi]: Remove.
858         (procfs_set_watchpoint): Remove !AIX5 test.
859         (procfs_stopped_by_watchpoint): Remove FLTWATCH test, FLTKWATCH
860         case.
861         (mappingflags) [MA_PHYS]: Remove.
862         (info_mappings_callback): Remove PCAGENT test.
863         Remove PIOCOPENLWP || PCAGENT test.
864
865 2017-11-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
866
867         * sol-thread.c (info_solthreads): Constify args.
868         Cast args to void *.
869
870 2017-11-29  John Baldwin  <jhb@FreeBSD.org>
871
872         * target-float.c [HAVE_LIBMPFR]: Define MPFR_USE_INTMAX_T.
873
874 2017-11-29  Joel Brobecker  <brobecker@adacore.com>
875
876         * ada-lang.c (to_fixed_range_type): Make sure that the size
877         of the range type being returned is the same as the size
878         of the range type being fixed.
879
880 2017-11-29  Pedro Alves  <palves@redhat.com>
881
882         PR c++/19436
883         * NEWS: Mention setting breakpoints on functions with C++ ABI
884         tags.
885         * completer.h (completion_match_for_lcd) <match,
886         mark_ignored_range>: New methods.
887         <finish>: Consider ignored ranges.
888         <clear>: Clear ignored ranges.
889         <m_ignored_ranges, m_finished_storage>: New fields.
890         * cp-support.c (cp_search_name_hash): Ignore ABI tags.
891         (cp_symbol_name_matches_1, cp_fq_symbol_name_matches): Pass the
892         completion_match_for_lcd pointer to strncmp_iw_with_mode.
893         (test_cp_symbol_name_cmp): Add [abi:...] tags unit tests.
894         * language.c (default_symbol_name_matcher): Pass the
895         completion_match_for_lcd pointer to strncmp_iw_with_mode.
896         * linespec.c (linespec_lexer_lex_string): Don't tokenize ABI tags.
897         * utils.c (skip_abi_tag): New function.
898         (strncmp_iw_with_mode): Add completion_match_for_lcd parameter.
899         Handle ABI tags.
900         * utils.h (strncmp_iw_with_mode): Add completion_match_for_lcd
901         parameter.
902
903 2017-11-29  Pedro Alves  <palves@redhat.com>
904
905         PR c++/19436
906         * NEWS: Mention setting breakpoints on functions with C++ ABI
907         tags.
908         * completer.h (completion_match_for_lcd) <match,
909         mark_ignored_range>: New methods.
910         <finish>: Consider ignored ranges.
911         <clear>: Clear ignored ranges.
912         <m_ignored_ranges, m_finished_storage>: New fields.
913         * cp-support.c (cp_search_name_hash): Ignore ABI tags.
914         (cp_symbol_name_matches_1, cp_fq_symbol_name_matches): Pass the
915         completion_match_for_lcd pointer to strncmp_iw_with_mode.
916         (test_cp_symbol_name_cmp): Add [abi:...] tags unit tests.
917         * language.c (default_symbol_name_matcher): Pass the
918         completion_match_for_lcd pointer to strncmp_iw_with_mode.
919         * linespec.c (linespec_lexer_lex_string): Don't tokenize ABI tags.
920         * utils.c (skip_abi_tag): New function.
921         (strncmp_iw_with_mode): Add completion_match_for_lcd parameter.
922         Handle ABI tags.
923         * utils.h (strncmp_iw_with_mode): Add completion_match_for_lcd
924         parameter.
925
926 2017-11-29  Pedro Alves  <palves@redhat.com>
927
928         * NEWS: Mention that breakpoints on C++ functions are now set on
929         on all namespaces/classes by default, and mention "break
930         -qualified".
931         * ax-gdb.c (agent_command_1): Adjust to pass a
932         symbol_name_match_type to new_linespec_location.
933         * breakpoint.c (parse_breakpoint_sals): Adjust to
934         get_linespec_location's return type change.
935         (strace_marker_create_sals_from_location): Adjust to pass a
936         symbol_name_match_type to new_linespec_location.
937         (strace_marker_decode_location): Adjust to get_linespec_location's
938         return type change.
939         (strace_command): Adjust to pass a symbol_name_match_type to
940         new_linespec_location.
941         (LOCATION_HELP_STRING): Add paragraph about wildmatching, and
942         mention "-qualified".
943         * c-lang.c (cplus_language_defn): Install cp_search_name_hash.
944         * completer.c (explicit_location_match_type::MATCH_QUALIFIED): New
945         enumerator.
946         (complete_address_and_linespec_locations): New parameter
947         'match_type'.  Pass it down.
948         (explicit_options): Add "-qualified".
949         (collect_explicit_location_matches): Pass the requested match type
950         to the linespec completers.  Handle MATCH_QUALIFIED.
951         (location_completer): Handle "-qualified" combined with linespecs.
952         * cp-support.c (cp_search_name_hash): New.
953         (cp_symbol_name_matches_1): Implement wild matching for C++.
954         (cp_fq_symbol_name_matches): Reimplement.
955         (cp_get_symbol_name_matcher): Return different matchers depending
956         on the lookup name's match type.
957         (selftests::test_cp_symbol_name_matches): Add wild matching tests.
958         * cp-support.h (cp_search_name_hash): New declaration.
959         * dwarf2read.c
960         (selftests::dw2_expand_symtabs_matching::test_symbols): Add
961         symbols.
962         (test_dw2_expand_symtabs_matching_symbol): Add wild matching
963         tests.
964         * guile/scm-breakpoint.c (gdbscm_register_breakpoint_x): Adjust to
965         pass a symbol_name_match_type to new_linespec_location.
966         * linespec.c (linespec_parse_basic): Lookup function symbols using
967         the parser's symbol name match type.
968         (convert_explicit_location_to_linespec): New
969         symbol_name_match_type parameter.  Pass it down to
970         find_linespec_symbols.
971         (convert_explicit_location_to_sals): Pass the location's name
972         match type to convert_explicit_location_to_linespec.
973         (parse_linespec): New match_type parameter.  Save it in the
974         parser.
975         (linespec_parser_new): Default to symbol_name_match_type::WILD.
976         (linespec_complete_function): New symbol_name_match_type
977         parameter.  Use it.
978         (complete_linespec_component): Pass down the parser's recorded
979         name match type.
980         (linespec_complete_label): New symbol_name_match_type parameter.
981         Use it.
982         (linespec_complete): New symbol_name_match_type parameter.  Save
983         it in the parser and pass it down.  Adjust to
984         get_linespec_location's prototype change.
985         (find_function_symbols, find_linespec_symbols): New
986         symbol_name_match_type parameter.  Pass it down instead of
987         assuming symbol_name_match_type::WILD.
988         * linespec.h (linespec_complete, linespec_complete_function)
989         (linespec_complete_label): New symbol_name_match_type parameter.
990         * location.c (event_location::linespec_location): Now a struct
991         linespec_location.
992         (EL_LINESPEC): Adjust.
993         (initialize_explicit_location): Default to
994         symbol_name_match_type::WILD.
995         (new_linespec_location): New symbol_name_match_type parameter.
996         Record it in the location.
997         (get_linespec_location): Now returns a struct linespec_location.
998         (new_explicit_location): Also copy func_name_match_type.
999         (explicit_to_string_internal)
1000         (string_to_explicit_location): Handle "-qualified".
1001         (copy_event_location): Adjust to LINESPEC_LOCATION type change.
1002         Copy symbol_name_match_type fields.
1003         (event_location_deleter::operator()): Adjust to LINESPEC_LOCATION
1004         type change.
1005         (event_location_to_string): Adjust to LINESPEC_LOCATION type
1006         change.  Handle "-qualfied".
1007         (string_to_explicit_location): Handle "-qualified".
1008         (string_to_event_location_basic): New symbol_name_match_type
1009         parameter.  Pass it down.
1010         (string_to_event_location): Handle "-qualified".
1011         * location.h (struct linespec_location): New.
1012         (explicit_location::func_name_match_type): New field.
1013         (new_linespec_location): Now returns a const linespec_location *.
1014         (string_to_event_location_basic): New symbol_name_match_type
1015         parameter.
1016         (explicit_completion_info::saw_explicit_location_option): New
1017         field.
1018         * mi/mi-cmd-break.c (mi_cmd_break_insert_1): Adjust to pass a
1019         symbol_name_match_type to new_linespec_location.
1020         * python/py-breakpoint.c (bppy_init): Likewise.
1021         * python/python.c (gdbpy_decode_line): Likewise.
1022
1023 2017-11-29  Pedro Alves  <palves@redhat.com>
1024
1025         * ada-lang.c (ada_lookup_name_info::matches): Change type of
1026         parameter from completion_match to completion_match_result.
1027         Adjust.
1028         (do_wild_match, do_full_match, ada_symbol_name_matches): Likewise.
1029         * completer.c (completion_tracker::maybe_add_completion): Add
1030         match_for_lcd parameter and use it.
1031         (completion_tracker::add_completion): Likewise.
1032         * completer.h (class completion_match_for_lcd): New class.
1033         (completion_match_result::match_for_lcd): New field.
1034         (completion_match_result::set_match): New method.
1035         (completion_tracker): Add comments.
1036         (completion_tracker::add_completion): Add match_for_lcd parameter.
1037         (completion_tracker::reset_completion_match_result): Reset
1038         match_for_lcd too.
1039         (completion_tracker::maybe_add_completion): Add match_for_lcd
1040         parameter.
1041         (completion_tracker::m_lowest_common_denominator_unique): Extend
1042         comments.
1043         * cp-support.c (cp_symbol_name_matches_1)
1044         (cp_fq_symbol_name_matches): Change type of parameter from
1045         completion_match to completion_match_result.  Adjust.
1046         * language.c (default_symbol_name_matcher): Change type of
1047         parameter from completion_match to completion_match_result.
1048         Adjust.
1049         * language.h (completion_match_for_lcd): Forward declare.
1050         (default_symbol_name_matcher): Change type of parameter from
1051         completion_match to completion_match_result.
1052         * symtab.c (compare_symbol_name): Adjust.
1053         (completion_list_add_name): Pass the match_for_lcd to the tracker.
1054         * symtab.h (ada_lookup_name_info::matches): Change type of
1055         parameter from completion_match to completion_match_result.
1056         (symbol_name_matcher_ftype): Likewise, and update comments.
1057
1058 2017-11-29  Pedro Alves  <palves@redhat.com>
1059
1060         * linespec.c (minsym_found, add_minsym): Use msymbol_is_function.
1061         * minsyms.c (msymbol_is_text): Delete.
1062         (msymbol_is_function): New function.
1063         * minsyms.h (msymbol_is_text): Delete.
1064         (msymbol_is_function): New declaration.
1065         * symtab.c (find_function_alias_target): Use msymbol_is_function.
1066
1067 2017-11-29  Tom Tromey  <tom@tromey.com>
1068
1069         * Makefile.in (distclean): Handle the case where rmdir fails.
1070
1071 2017-11-29  Tom Tromey  <tom@tromey.com>
1072
1073         * symfile.c (_initialize_symfile): Update usage text for
1074         add-symbol-file, symbol-file, load.
1075
1076 2017-11-29  Tom Tromey  <tom@tromey.com>
1077
1078         * symfile.c (add_symbol_file_command): Error if some arguments to
1079         -s are missing.  Change unrecognized-argument error message.
1080         (_initialize_symfile): Fix usage text for add-symbol-file.
1081
1082 2017-11-27  Tom Tromey  <tom@tromey.com>
1083
1084         * Makefile.in (REMOTE_OBS): Remove.
1085         (SFILES): Remove remote sources.
1086         (COMMON_SFILES): Add remote sources.
1087         (ALLDEPFILES): Remove dcache.c.
1088
1089 2017-11-27  Tom Tromey  <tom@tromey.com>
1090
1091         * Makefile.in (SUBDIR_TARGET_SRCS, SUBDIR_TARGET_OBS): New
1092         variables.
1093         (SFILES): Use SUBDIR_TARGET_SRCS.
1094         (COMMON_OBS): Use SUBDIR_TARGET_OBS.  Remove waitstatus.o.
1095         (CONFIG_SRC_SUBDIR): Add target.
1096         (%.o): Remove target rule.
1097
1098 2017-11-27  Tom Tromey  <tom@tromey.com>
1099
1100         * Makefile.in (COMMON_OBS): Remove filename-seen-cache.o,
1101         registry.o, thread-fsm.o, debug.o.
1102         (COMMON_SFILES): Add filename-seen-cache.c, registry.c,
1103         thread-fsm.c, debug.c.
1104
1105 2017-11-27  Tom Tromey  <tom@tromey.com>
1106
1107         * Makefile.in (COMMON_SFILES): New.
1108         (SFILES): Move some entries to COMMON_SFILES.
1109         (COMMON_OBS): Use COMMON_SFILES.
1110
1111 2017-11-27  Tom Tromey  <tom@tromey.com>
1112
1113         * Makefile.in (YYFILES): Update comment.
1114         (YYOBJ): Redefine.
1115
1116 2017-11-27  Tom Tromey  <tom@tromey.com>
1117
1118         * Makefile.in (SUBDIR_PYTHON_OBS): Redefine.
1119         (CONFIG_SRC_SUBDIR): Add python.
1120         (%.o): Remove python rule.
1121         (python/%.o): New rule.
1122         * configure: Rebuild.
1123         * configure.ac (CONFIG_OBS): Refer to python/python.o
1124
1125 2017-11-27  Tom Tromey  <tom@tromey.com>
1126
1127         * configure: Rebuild.
1128         * configure.ac (CONFIG_OBS): Refer to guile/guile.o.
1129         * Makefile.in (SUBDIR_GUILE_OBS): Redefine.
1130         (CONFIG_SRC_SUBDIR): Add guile.
1131         (%.o): Remove guile rule.
1132
1133 2017-11-27  Tom Tromey  <tom@tromey.com>
1134
1135         * Makefile.in (SUBDIR_UNITTESTS_OBS): Redefine.
1136         (%.o): Remove unittests rule.
1137         (CONFIG_SRC_SUBDIR): Add unittests.
1138
1139 2017-11-27  Tom Tromey  <tom@tromey.com>
1140
1141         * Makefile.in (SUBDIR_TUI_OBS): Redefine.
1142         (CONFIG_SRC_SUBDIR): Add tui.
1143         (%.o): Remove tui rule.
1144
1145 2017-11-27  Tom Tromey  <tom@tromey.com>
1146
1147         * Makefile.in (SUBDIR_GCC_COMPILE_OBS): Redefine.
1148         (%.o): Remove compile rule.
1149         (CONFIG_SRC_SUBDIR): Add compile.
1150
1151 2017-11-27  Tom Tromey  <tom@tromey.com>
1152
1153         * Makefile.in (SUBDIR_MI_OBS): Redefine.
1154         (%.o): Remove mi rule.
1155         (CONFIG_SRC_SUBDIR): Add mi.
1156         (COMMON_OBS): Use mi/mi-common.o
1157
1158 2017-11-27  Tom Tromey  <tom@tromey.com>
1159
1160         * Makefile.in (SUBDIR_CLI_OBS): Redefine.
1161         (%.o): Remove cli rule.
1162         (CONFIG_SRC_SUBDIR): Add cli.
1163
1164 2017-11-27  Tom Tromey  <tom@tromey.com>
1165
1166         * configure.ac (CONFIG_SRC_SUBDIR): Don't subst.
1167         * configure: Rebuild.
1168         * Makefile.in (CONFIG_SRC_SUBDIR): Redefine.
1169         (CONFIG_DEP_SUBDIR): New variable.
1170         (%.o): Add order-only dependency.
1171         ($(CONFIG_DEP_SUBDIR)): New target.
1172
1173 2017-11-26  Dominik Czarnota  <dominik.b.czarnota@gmail.com>
1174
1175         PR gdb/21945
1176         * findcmd.c (_initialize_mem_search): Update find command help
1177         text.
1178
1179 2017-11-26  Simon Marchi  <simon.marchi@polymtl.ca>
1180
1181         * python/python.c (do_start_initialization): Change progname
1182         type to gdb::unique_xmalloc_ptr.  Release the pointer when using
1183         Python 2.
1184
1185 2017-11-26  Tom Tromey  <tom@tromey.com>
1186
1187         * common/format.h: Add include guards.
1188
1189 2017-11-26  Tom Tromey  <tom@tromey.com>
1190
1191         * nat/linux-personality.h (class
1192         maybe_disable_address_space_randomization): New class.
1193         (maybe_disable_address_space_randomization): Don't declare
1194         function.
1195         * nat/linux-personality.c (restore_personality)
1196         (make_disable_asr_cleanup): Remove.
1197         (maybe_disable_address_space_randomization): Now a constructor.
1198         (~maybe_disable_address_space_randomization): New destructor.
1199         * linux-nat.c (linux_nat_create_inferior): Update.
1200
1201 2017-11-26  Tom Tromey  <tom@tromey.com>
1202
1203         * gcore.c (write_gcore_file_1): Use gdb::unique_xmalloc_ptr.
1204
1205 2017-11-26  Ulrich Weigand  <uweigand@de.ibm.com>
1206
1207         * spu-tdep.c (spu_software_single_step): Access SPU_LSLR_REGNUM as
1208         "cooked" register.  Access only first four bytes of branch target
1209         registers.
1210
1211 2017-11-25  Sergio Durigan Junior  <sergiodj@redhat.com>
1212
1213         PR gdb/22491
1214         * stap-probe.c (relocate_address): New function.
1215         (stap_probe::get_relocated_address): Use 'relocate_address'.
1216         (stap_probe::set_semaphore): Use 'relocate_address' and pass
1217         'm_sem_addr'.
1218         (stap_probe::clear_semaphore): Likewise.
1219
1220 2017-11-25  Pedro Alves  <palves@redhat.com>
1221
1222         * dictionary.c: Include "safe-ctype.h".
1223         * minsyms.c: Include "safe-ctype.h".
1224         * minsyms.c (SYMBOL_HASH_NEXT): Use TOLOWER instead of tolower.
1225
1226 2017-11-25   Pedro Alves  <palves@redhat.com>
1227
1228         * completer.c (complete_line_internal_1): Skip spaces until the
1229         start of the command.
1230
1231 2017-11-24  Pedro Alves  <palves@redhat.com>
1232
1233         * cp-support.c (cp_symbol_name_matches_1): New, factored out from
1234         cp_fq_symbol_name_matches.  Pass language_cplus to
1235         strncmp_with_mode.
1236         (cp_fq_symbol_name_matches): Call cp_symbol_name_matches_1.
1237         (selftests::test_cp_symbol_name_cmp): New.
1238         (_initialize_cp_support): Register "cp_symbol_name_matches"
1239         selftests.
1240         * language.c (default_symbol_name_matcher): Pass language_minimal
1241         to strncmp_iw_with_mode.
1242         * utils.c: Include "cp-support.h" and <algorithm>.
1243         (valid_identifier_name_char, cp_skip_operator_token, skip_ws)
1244         (cp_is_operator): New functions.
1245         (strncmp_iw_with_mode): Use them.  Add language parameter.  Don't
1246         skip whitespace in the symbol name when the lookup name doesn't
1247         have spaces, and vice versa.
1248         (strncmp_iw, strcmp_iw): Pass language to strncmp_iw_with_mode.
1249         * utils.h (strncmp_iw_with_mode): Add language parameter.
1250
1251 2017-11-24  Joel Brobecker  <brobecker@adacore.com>
1252
1253         * ada-lang.c (ada_exception_message_1, ada_exception_message):
1254         New functions.
1255         (print_it_exception): If available, display the exception
1256         message as well.
1257         * NEWS: Document new feature.
1258
1259 2017-11-24  Ulrich Weigand  <uweigand@de.ibm.com>
1260
1261         * configure.nat <spu-linux>: Add fork-inferior.o to NATDEPFILES.
1262
1263 2017-11-24  Philipp Rudo  <prudo@linux.vnet.ibm.com>
1264
1265         * dtrace-probe.c (dtrace_probe::build_arg_exprs)
1266         (dtrace_probe::is_enabled, dtrace_probe::enable)
1267         (dtrace_probe::disable): Remove keyword 'struct' at for-range
1268         variable
1269         * probe.c (gen_ui_out_table_header_info)
1270         (print_ui_out_not_applicables):  Remove keyword 'struct' at
1271         for-range variable
1272
1273 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1274
1275         * configure.tgt: Add arch/aarch64.o
1276
1277 2017-11-24  Simon Marchi  <simon.marchi@polymtl.ca>
1278
1279         * common/common-utils.h: Include poison.h.
1280         (xfree): Remove declaration, add definition with static_assert.
1281         * common/common-utils.c (xfree): Remove.
1282         * common/poison.h (IsMallocatable): Define.
1283         (IsFreeable): Define.
1284         (free): Delete for non-freeable types.
1285         (xnew): New.
1286         (XNEW): Undef and redefine.
1287         (xcnew): New.
1288         (XCNEW): Undef and redefine.
1289         (xdelete): New.
1290         (XDELETE): Undef and redefine.
1291         (xnewvec): New.
1292         (XNEWVEC): Undef and redefine.
1293         (xcnewvec): New.
1294         (XCNEWVEC): Undef and redefine.
1295         (xresizevec): New.
1296         (XRESIZEVEC): Undef and redefine.
1297         (xdeletevec): New.
1298         (XDELETEVEC): Undef and redefine.
1299         (xnewvar): New.
1300         (XNEWVAR): Undef and redefine.
1301         (xcnewvar): New.
1302         (XCNEWVAR): Undef and redefine.
1303         (xresizevar): New.
1304         (XRESIZEVAR): Undef and redefine.
1305
1306 2017-11-24  Simon Marchi  <simon.marchi@polymtl.ca>
1307
1308         * gdbthread.h (private_thread_info): Define structure type, add
1309         virtual pure destructor.
1310         (thread_info) <priv>: Change type to unique_ptr.
1311         <private_dtor>: Remove.
1312         * thread.c (add_thread_with_info): Adjust to use of unique_ptr.
1313         (private_thread_info::~private_thread_info): Provide default
1314         implementation.
1315         (thread_info::~thread_info): Don't call private_dtor nor
1316         manually free priv.
1317         * aix-thread.c (private_thread_info): Rename to ...
1318         (aix_thread_info): ... this.
1319         (get_aix_thread_info): New.
1320         (sync_threadlists): Adjust.
1321         (iter_tid): Adjust.
1322         (aix_thread_resume): Adjust.
1323         (aix_thread_fetch_registers): Adjust.
1324         (aix_thread_store_registers): Adjust.
1325         (aix_thread_extra_thread_info): Adjust.
1326         * darwin-nat.h (private_thread_info): Rename to ...
1327         (darwin_thread_info): ... this.
1328         (get_darwin_thread_info): New.
1329         * darwin-nat.c (darwin_init_thread_list): Adjust.
1330         (darwin_check_new_threads): Adjust.
1331         (thread_info_from_private_thread_info): Adjust.
1332         * linux-thread-db.c (private_thread_info): Rename to ...
1333         (thread_db_thread_info): ... this, initialize fields.
1334         (get_thread_db_thread_info): New.
1335         <dying>: Change type to bool.
1336         (update_thread_state): Adjust to type rename.
1337         (record_thread): Adjust to type rename an use of unique_ptr.
1338         (thread_db_pid_to_str): Likewise.
1339         (thread_db_extra_thread_info): Likewise.
1340         (thread_db_thread_handle_to_thread_info): Likewise.
1341         (thread_db_get_thread_local_address): Likewise.
1342         * nto-tdep.h (private_thread_info): Rename to ...
1343         (nto_thread_info): ... this, initialize fields.
1344         (get_nto_thread_info): New.
1345         <name>: Change type to std::string.
1346         * nto-tdep.c (nto_extra_thread_info): Adjust to type rename and
1347         use of unique_ptr.
1348         * nto-procfs.c (update_thread_private_data_name): Adjust to
1349         std::string change, allocate nto_private_thread_info with new.
1350         (update_thread_private_data): Adjust to unique_ptr.
1351         * remote.c (private_thread_info): Rename to ...
1352         (remote_thread_info): ... this, initialize data members with
1353         default values.
1354         <extra, name>: Change type to std::string.
1355         <thread_handle>: Change type to non-pointer.
1356         (free_private_thread_info): Remove.
1357         (get_private_info_thread): Rename to...
1358         (get_remote_thread_info): ... this, change return type, adjust to
1359         use of unique_ptr, use remote_thread_info constructor.
1360         (remote_add_thread): Adjust.
1361         (get_private_info_ptid): Rename to...
1362         (get_remote_thread_info): ...this, change return type.
1363         (remote_thread_name): Use get_remote_thread_info, adjust to
1364         change to std::string.
1365         (struct thread_item) <~thread_item>: Remove.
1366         <thread_handle>: Make non pointer.
1367         (start_thread): Adjust to thread_item::thread_handle type
1368         change.
1369         (remote_update_thread_list): Adjust to type name change, move
1370         strings from temporary to long-lived object instead of
1371         duplicating.
1372         (remote_threads_extra_info): Use get_remote_thread_info.
1373         (process_initial_stop_replies): Likewise.
1374         (resume_clear_thread_private_info): Likewise.
1375         (remote_resume): Adjust to type name change.
1376         (remote_commit_resume): Use get_remote_thread_info.
1377         (process_stop_reply): Adjust to type name change.
1378         (remote_stopped_by_sw_breakpoint): Use get_remote_thread_info.
1379         (remote_stopped_by_hw_breakpoint): Likewise.
1380         (remote_stopped_by_watchpoint): Likewise.
1381         (remote_stopped_data_address): Likewise.
1382         (remote_core_of_thread): Likewise.
1383         (remote_thread_handle_to_thread_info): Use
1384         get_private_info_thread, adjust to thread_handle field type
1385         change.
1386
1387 2017-11-24  Simon Marchi  <simon.marchi@polymtl.ca>
1388
1389         * remote.c (struct thread_item): Add constructor, disable copy
1390         construction and copy assignment, define default move
1391         construction and move assignment.
1392         <extra, name>: Change type to std::string.
1393         <core>: Initialize.
1394         <thread_handle>: Make non-pointer.
1395         (thread_item_t): Remove typedef.
1396         (DEF_VEC_O(thread_item_t)): Remove.
1397         (threads_listing_context) <contains_thread>: New method.
1398         <remove_thread>: New method.
1399         <items>: Change type to std::vector.
1400         (clear_threads_listing_context): Remove.
1401         (threads_listing_context_remove): Remove.
1402         (remote_newthread_step): Use thread_item constructor, adjust to
1403         change to std::vector.
1404         (start_thread): Use thread_item constructor, adjust to change to
1405         std::vector.
1406         (end_thread): Adjust to change to std::vector and std::string.
1407         (remote_get_threads_with_qthreadinfo): Use thread_item
1408         constructor, adjust to std::vector.
1409         (remote_update_thread_list): Adjust to change to std::vector and
1410         std::string, use threads_listing_context methods.
1411         (remove_child_of_pending_fork): Adjust.
1412         (remove_new_fork_children): Adjust.
1413         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add rsp-low-selftests.c.
1414         (SUBDIR_UNITTESTS_OBS): Add rsp-low-selftests.o.
1415         * unittests/rsp-low-selftests.c: New file.
1416         * common/rsp-low.h: Include common/byte-vector.h.
1417         (hex2bin): New overload.
1418         * common/rsp-low.c (hex2bin): New overload.
1419
1420 2017-11-24  Simon Marchi  <simon.marchi@ericsson.com>
1421
1422         * inferior.h (private_inferior): Define structure type, add
1423         virtual pure destructor.
1424         (inferior) <priv>: Change type to unique_ptr.
1425         * inferior.c (private_inferior::~private_inferior): Provide
1426         default implementation.
1427         (inferior::~inferior): Don't free priv field.
1428         (exit_inferior_1): Likewise.
1429         * darwin-nat.h (struct darwin_exception_info): Initialize fields.
1430         (darwin_exception_info): Remove typedef.
1431         (DEF_VEC_O (darwin_thread_t)); Remove.
1432         (private_inferior): Rename to ...
1433         (darwin_private_inferior): ... this, extend private_inferior.
1434         (get_darwin_inferior): New.
1435         <threads>: Change type to std::vector of darwin_thread_t pointers.
1436         * darwin-nat.c (darwin_check_new_threads): Adjust.
1437         (find_inferior_task_it): Adjust.
1438         (darwin_find_thread); Adjust.
1439         (darwin_suspend_inferior): Adjust.
1440         (darwin_resume_inferior): Adjust.
1441         (darwin_find_new_inferior): Adjust.
1442         (darwin_decode_notify_message): Adjust.
1443         (darwin_send_reply): Adjust.
1444         (darwin_resume_inferior_threads): Adjust.
1445         (darwin_suspend_inferior_threads): Adjust.
1446         (darwin_decode_message): Adjust.
1447         (darwin_wait): Adjust.
1448         (darwin_interrupt): Adjust.
1449         (darwin_deallocate_threads): Adjust.
1450         (darwin_mourn_inferior): Adjust, don't free private data.
1451         (darwin_reply_to_all_pending_messages): Adjust.
1452         (darwin_stop_inferior): Adjust.
1453         (darwin_setup_exceptions): Adjust.
1454         (darwin_kill_inferior): Adjust.
1455         (darwin_setup_request_notification): Adjust.
1456         (darwin_attach_pid): Adjust.
1457         (darwin_init_thread_list): Adjust.
1458         (darwin_setup_fake_stop_event): Adjust.
1459         (darwin_attach): Adjust.
1460         (darwin_detach): Adjust.
1461         (darwin_xfer_partial): Adjust.
1462         (set_enable_mach_exceptions): Adjust.
1463         (darwin_pid_to_exec_file): Adjust.
1464         (darwin_get_ada_task_ptid): Adjust.
1465         * darwin-nat-info.c (get_task_from_args): Adjust.
1466         (info_mach_ports_command): Adjust.
1467         (info_mach_region_command): Adjust.
1468         (info_mach_exceptions_command): Adjust.
1469         * remote.c (private_inferior): Rename to ...
1470         (remote_private_inferior): ... this, initialize fields.
1471         (get_remote_inferior); New.
1472         (remote_commit_resume): Use get_remote_inferior.
1473         (check_pending_event_prevents_wildcard_vcont_callback): Likewise.
1474
1475 2017-11-24  Pedro Alves  <palves@redhat.com>
1476
1477         * NEWS: Mention linespecs and explicit locations, and completion
1478         improvements.
1479
1480 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1481
1482         * regcache.c (regcache::dump): Remove footnote_register_size.
1483
1484 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1485
1486         * regcache.c (cooked_read_test): Add more test for readonly
1487         regcache.
1488
1489 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1490
1491         * gdbarch-selftests.c (test_target_has_registers): Move it to
1492         target.c.
1493         (test_target_has_stack): Likewise.
1494         (test_target_has_memory): Likewise.
1495         (test_target_prepare_to_store): Likewise.
1496         (test_target_store_registers): Likewise.
1497         (test_target_ops): Likewise.
1498         * regcache.c: Include selftest-arch.h and gdbthread.h.
1499         (target_ops_no_register): New class.
1500         (test_target_fetch_registers): New.
1501         (test_target_store_registers): New.
1502         (test_target_xfer_partial): New.
1503         (readwrite_regcache): New.
1504         (cooked_read_test): New.
1505         (_initialize_regcache): Register the test.
1506         * target.c: (test_target_has_registers): Moved from
1507         gdbarch-selftests.c.
1508         (test_target_has_stack): Likewise.
1509         (test_target_has_memory): Likewise.
1510         (test_target_prepare_to_store): Likewise.
1511         (test_target_store_registers): Likewise.
1512         * target.h (test_target_ops): New class.
1513
1514 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1515
1516         * aarch64-tdep.c (_initialize_aarch64_tdep): Add target desc
1517         selftest.
1518
1519 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1520
1521         * aarch64-tdep.c (_initialize_aarch64_tdep): Remove init.
1522         * arch/aarch64.c (aarch64_create_target_description): Create
1523         new target description.
1524         * features/Makefile: Add new files.
1525         * features/aarch64.c: Remove file.
1526         * features/aarch64-core.c: New autogenerated file.
1527         * features/aarch64-fpu.c: New autogenerated file.
1528         * target-descriptions.c (maint_print_c_tdesc_cmd): Check for aarch64.
1529
1530 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1531
1532         * Makefile.in: Add new files.
1533         * aarch64-linux-nat.c (aarch64_linux_read_description): Call
1534         aarch64_read_description.
1535         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
1536         Call aarch64_read_description.
1537         * aarch64-tdep.c (aarch64_read_description): New function.
1538         (aarch64_gdbarch_init): Call aarch64_read_description.
1539         * aarch64-tdep.h (aarch64_read_description): New function.
1540         * arch/aarch64.c: New file.
1541         * configure.tgt: Add new files.
1542
1543 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1544
1545         * mi/mi-main.c (register_changed_p): Update.
1546         * value.c (value_contents_bits_eq): Change return type.
1547         (value_contents_eq): Likewise.
1548         * value.h: Update comments.
1549
1550 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1551
1552         * mi/mi-main.c (mi_cmd_data_list_changed_registers): Remove
1553         local 'changed'.  Remove error.
1554         (register_changed_p): Change return type to bool.
1555
1556 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1557
1558         * arch/tic6x.c: New file.
1559         * arch/tic6x.h: New file.
1560         * features/Makefile (FEATURE_XMLFILES): Add tic6x-c6xp.xml,
1561         tic6x-core.xml and tic6x-gp.xml.
1562         * features/tic6x-c6xp.c: Generated.
1563         * features/tic6x-core.c: Generated.
1564         * features/tic6x-gp.c: Generated.
1565         * target-descriptions.c (maint_print_c_tdesc_cmd): Match
1566         "tic6x-".
1567
1568 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1569
1570         * mi/mi-main.c (list_available_thread_groups): Change map value
1571         type to std::vector.
1572
1573 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1574
1575         * osdata.c (osdata_end_column, get_osdata): Remove std::move.
1576
1577 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1578
1579         * varobj.c (struct varobj_dynamic) <children_requested_>: Rename
1580         back to...
1581         <children_requested>: ... this.
1582         (varobj_get_num_children, varobj_update): Adjust.
1583
1584 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1585
1586         * ada-varobj.c (ada_value_is_changeable_p): Change int to bool where applicable.
1587         (ada_value_has_mutated): Likewise.
1588         * c-varobj.c (varobj_is_anonymous_child): Likewise.
1589         (c_is_path_expr_parent): Likewise.
1590         * mi/mi-cmd-var.c (varobj_update_one): Likewise.
1591         (mi_cmd_var_set_frozen): Likewise.
1592         (mi_cmd_var_update_iter): Likewise.
1593         (mi_cmd_var_update): Likewise.
1594         * varobj.c (pretty_printing): Likewise.
1595         (varobj_enable_pretty_printing): Likewise.
1596         (struct varobj_root) <floating, is_valid>: Likewise.
1597         (struct varobj_dynamic) <children_requested>: Likewise.
1598         (delete_variable): Likewise.
1599         (delete_variable_1): Likewise.
1600         (install_variable): Likewise.
1601         (update_type_if_necessary): Likewise.
1602         (install_new_value): Likewise.
1603         (value_of_root): Likewise.
1604         (is_root_p): Likewise.
1605         (varobj_create): Likewise.
1606         (varobj_delete): Likewise.
1607         (varobj_has_more): Likewise.
1608         (varobj_set_frozen): Likewise.
1609         (varobj_get_frozen): Likewise.
1610         (install_dynamic_child): Likewise.
1611         (dynamic_varobj_has_child_method): Likewise.
1612         (update_dynamic_varobj_children): Likewise.
1613         (varobj_get_num_children): Likewise.
1614         (varobj_list_children): Likewise.
1615         (is_path_expr_parent): Likewise.
1616         (varobj_default_is_path_expr_parent): Likewise.
1617         (varobj_is_dynamic_p): Likewise.
1618         (varobj_set_value): Likewise.
1619         (varobj_value_has_mutated): Likewise.
1620         (varobj_update): Likewise.
1621         (check_scope): Likewise.
1622         (value_of_root_1): Likewise.
1623         (varobj_value_get_print_value): Likewise.
1624         (varobj_editable_p): Likewise.
1625         (varobj_value_is_changeable_p): Likewise.
1626         (varobj_floating_p): Likewise.
1627         (varobj_default_value_is_changeable_p): Likewise.
1628         (varobj_invalidate_iter): Likewise.
1629         * varobj.h (struct varobj_update_result) <type_changed,
1630         children_changed, changed, value_installed>: Likewise.
1631         (struct varobj) <updated, frozen, not_fetched>: Likewise.
1632         (struct lang_varobj_ops) <value_is_changeable_p,
1633         value_has_mutated, is_path_expr_parent>: Likewise.
1634         (varobj_delete): Likewise.
1635         (varobj_set_frozen): Likewise.
1636         (varobj_get_frozen): Likewise.
1637         (varobj_set_value): Likewise.
1638         (varobj_update): Likewise.
1639         (varobj_editable_p): Likewise.
1640         (varobj_floating_p): Likewise.
1641         (varobj_has_more): Likewise.
1642         (varobj_is_dynamic_p): Likewise.
1643         (varobj_default_value_is_changeable_p): Likewise.
1644         (varobj_value_is_changeable_p): Likewise.
1645         (varobj_is_anonymous_child): Likewise.
1646         (varobj_default_is_path_expr_parent): Likewise.
1647
1648 2017-11-22  Sergio Durigan Junior  <sergiodj@redhat.com>
1649
1650         * dtrace-probe.c (struct probe_ops dtrace_probe_ops): Delete.
1651         (struct dtrace_probe_arg) <dtrace_probe_arg>: New constructor.
1652         <type_str>: Convert to 'std::string'.
1653         <expr>: Convert to 'expression_up'.
1654         (dtrace_probe_arg_s): Delete type and VEC.
1655         (dtrace_probe_enabler_s): Likewise.
1656         (struct dtrace_probe): Replace by...
1657         (class dtrace_static_probe_ops): ...this and...
1658         (class dtrace_probe): ...this.
1659         (dtrace_probe_is_linespec): Rename to...
1660         (dtrace_static_probe_ops::is_linespec): ...this.  Adjust code
1661         to reflect change.
1662         (dtrace_process_dof_probe): Use 'std::vector' instead of VEC.
1663         Adjust code.  Create new instance of 'dtrace_probe'.
1664         (dtrace_build_arg_exprs): Rename to...
1665         (dtrace_probe::build_arg_exprs): ...this.  Adjust code to
1666         reflect change.
1667         (dtrace_get_probes): Rename to...
1668         (dtrace_static_probe_ops::get_probes): ...this.  Adjust code
1669         to reflect change.
1670         (dtrace_get_arg): Rename to...
1671         (dtrace_probe::get_arg_by_number): ...this.  Adjust code to
1672         reflect change.
1673         (dtrace_probe_is_enabled): Rename to...
1674         (dtrace_probe::is_enabled): ...this.  Adjust code to reflect
1675         change.
1676         (dtrace_get_probe_address): Rename to...
1677         (dtrace_probe::get_relocated_address): ...this.  Adjust code
1678         to reflect change.
1679         (dtrace_get_probe_argument_count): Rename to...
1680         (dtrace_probe::get_argument_count): ...this.  Adjust code to
1681         reflect change.
1682         (dtrace_can_evaluate_probe_arguments): Rename to...
1683         (dtrace_probe::can_evaluate_arguments): ...this.  Adjust code
1684         to reflect change.
1685         (dtrace_evaluate_probe_argument): Rename to...
1686         (dtrace_probe::evaluate_argument): ...this.  Adjust code to
1687         reflect change.
1688         (dtrace_compile_to_ax): Rename to...
1689         (dtrace_probe::compile_to_ax): ...this.  Adjust code to
1690         reflect change.
1691         (dtrace_probe_destroy): Delete.
1692         (dtrace_type_name): Rename to...
1693         (dtrace_static_probe_ops::type_name): ...this.  Adjust code to
1694         reflect change.
1695         (dtrace_probe::get_static_ops): New method.
1696         (dtrace_gen_info_probes_table_header): Rename to...
1697         (dtrace_static_probe_ops::gen_info_probes_table_header):
1698         ...this.  Adjust code to reflect change.
1699         (dtrace_gen_info_probes_table_values): Rename to...
1700         (dtrace_probe::gen_info_probes_table_values): ...this.  Adjust
1701         code to reflect change.
1702         (dtrace_enable_probe): Rename to...
1703         (dtrace_probe::enable_probe): ...this.  Adjust code to reflect
1704         change.
1705         (dtrace_disable_probe): Rename to...
1706         (dtrace_probe::disable_probe): ...this.  Adjust code to reflect
1707         change.
1708         (struct probe_ops dtrace_probe_ops): Delete.
1709         (info_probes_dtrace_command): Call 'info_probes_for_spops'
1710         instead of 'info_probes_for_ops'.
1711         (_initialize_dtrace_probe): Use 'all_static_probe_ops' instead
1712         of 'all_probe_ops'.
1713
1714 2017-11-22  Sergio Durigan Junior  <sergiodj@redhat.com>
1715             Simon Marchi  <simark@simark.ca>
1716
1717         * stap-probe.c (struct probe_ops stap_probe_ops): Delete
1718         variable.
1719         (struct stap_probe_arg) <stap_probe_arg>: New constructor.
1720         <aexpr>: Change type to 'expression_up'.
1721         (stap_probe_arg_s): Delete type and VEC.
1722         (struct stap_probe): Delete.  Replace by...
1723         (class stap_static_probe_ops): ...this and...
1724         (class stap_probe): ...this.  Rename variables to add 'm_'
1725         prefix.  Do not use 'union' for arguments anymore.
1726         (stap_get_expected_argument_type): Receive probe name instead
1727         of 'struct stap_probe'.  Adjust code.
1728         (stap_parse_probe_arguments): Rename to...
1729         (stap_probe::parse_arguments): ...this.  Adjust code to
1730         reflect change.
1731         (stap_get_probe_address): Rename to...
1732         (stap_probe::get_relocated_address): ...this.  Adjust code
1733         to reflect change.
1734         (stap_get_probe_argument_count): Rename to...
1735         (stap_probe::get_argument_count): ...this.  Adjust code
1736         to reflect change.
1737         (stap_get_arg): Rename to...
1738         (stap_probe::get_arg_by_number'): ...this. Adjust code to
1739         reflect change.
1740         (can_evaluate_probe_arguments): Rename to...
1741         (stap_probe::can_evaluate_arguments): ...this.  Adjust code
1742         to reflect change.
1743         (stap_evaluate_probe_argument): Rename to...
1744         (stap_probe::evaluate_argument): ...this.  Adjust code
1745         to reflect change.
1746         (stap_compile_to_ax): Rename to...
1747         (stap_probe::compile_to_ax): ...this.  Adjust code to
1748         reflect change.
1749         (stap_probe_destroy): Delete.
1750         (stap_modify_semaphore): Adjust comment.
1751         (stap_set_semaphore): Rename to...
1752         (stap_probe::set_semaphore): ...this.  Adjust code to reflect
1753         change.
1754         (stap_clear_semaphore): Rename to...
1755         (stap_probe::clear_semaphore): ...this.  Adjust code to
1756         reflect change.
1757         (stap_probe::get_static_ops): New method.
1758         (handle_stap_probe): Adjust code to create instance of
1759         'stap_probe'.
1760         (stap_get_probes): Rename to...
1761         (stap_static_probe_ops::get_probes): ...this.  Adjust code to
1762         reflect change.
1763         (stap_probe_is_linespec): Rename to...
1764         (stap_static_probe_ops::is_linespec): ...this.  Adjust code to
1765         reflect change.
1766         (stap_type_name): Rename to...
1767         (stap_static_probe_ops::type_name): ...this.  Adjust code to
1768         reflect change.
1769         (stap_gen_info_probes_table_header): Rename to...
1770         (stap_static_probe_ops::gen_info_probes_table_header):
1771         ...this.  Adjust code to reflect change.
1772         (stap_gen_info_probes_table_values): Rename to...
1773         (stap_probe::gen_info_probes_table_values): ...this.  Adjust
1774         code to reflect change.
1775         (struct probe_ops stap_probe_ops): Delete.
1776         (info_probes_stap_command): Use 'info_probes_for_spops'
1777         instead of 'info_probes_for_ops'.
1778         (_initialize_stap_probe): Use 'all_static_probe_ops' instead
1779         of 'all_probe_ops'.
1780
1781 2017-11-22  Sergio Durigan Junior  <sergiodj@redhat.com>
1782
1783         * break-catch-throw.c (fetch_probe_arguments): Use
1784         'probe.prob' instead of 'probe.probe'.
1785         * breakpoint.c (create_longjmp_master_breakpoint): Call
1786         'can_evaluate_arguments' and 'get_relocated_address' methods
1787         from probe.
1788         (create_exception_master_breakpoint): Likewise.
1789         (add_location_to_breakpoint): Use 'sal->prob' instead of
1790         'sal->probe'.
1791         (bkpt_probe_insert_location): Call 'set_semaphore' method from
1792         probe.
1793         (bkpt_probe_remove_location): Likewise, for 'clear_semaphore'.
1794         * elfread.c (elf_get_probes): Use 'static_probe_ops' instead
1795         of 'probe_ops'.
1796         (probe_key_free): Call 'delete' on probe.
1797         (check_exception_resume): Use 'probe.prob' instead of
1798         'probe.probe'.
1799         * location.c (string_to_event_location_basic): Call
1800         'probe_linespec_to_static_ops'.
1801         * probe.c (class any_static_probe_ops): New class.
1802         (any_static_probe_ops any_static_probe_ops): New variable.
1803         (parse_probes_in_pspace): Receive 'static_probe_ops' as
1804         argument.  Adjust code to reflect change.
1805         (parse_probes): Use 'static_probe_ops' instead of
1806         'probe_ops'.  Adjust code to reflect change.
1807         (find_probes_in_objfile): Call methods to get name and
1808         provider from probe.
1809         (find_probe_by_pc): Use 'result.prob' instead of
1810         'result.probe'.  Call 'get_relocated_address' method from
1811         probe.
1812         (collect_probes): Adjust comment and argument list to receive
1813         'static_probe_ops' instead of 'probe_ops'.  Adjust code to
1814         reflect change.  Call necessary methods from probe.
1815         (compare_probes): Call methods to get name and provider from
1816         probes.
1817         (gen_ui_out_table_header_info): Receive 'static_probe_ops'
1818         instead of 'probe_ops'.  Use 'std::vector' instead of VEC,
1819         adjust code accordingly.
1820         (print_ui_out_not_applicables): Likewise.
1821         (info_probes_for_ops): Rename to...
1822         (info_probes_for_spops): ...this.  Receive 'static_probe_ops'
1823         as argument instead of 'probe_ops'.  Adjust code.  Call
1824         necessary methods from probe.
1825         (info_probes_command): Use 'info_probes_for_spops'.
1826         (enable_probes_command): Pass correct argument to
1827         'collect_probes'.  Call methods from probe.
1828         (disable_probes_command): Likewise.
1829         (get_probe_address): Move to 'any_static_probe_ops::get_address'.
1830         (get_probe_argument_count): Move to
1831         'any_static_probe_ops::get_argument_count'.
1832         (can_evaluate_probe_arguments): Move to
1833         'any_static_probe_ops::can_evaluate_arguments'.
1834         (evaluate_probe_argument): Move to
1835         'any_static_probe_ops::evaluate_argument'.
1836         (probe_safe_evaluate_at_pc): Use 'probe.prob' instead of
1837         'probe.probe'.
1838         (probe_linespec_to_ops): Rename to...
1839         (probe_linespec_to_static_ops): ...this.  Adjust code.
1840         (probe_any_is_linespec): Rename to...
1841         (any_static_probe_ops::is_linespec): ...this.
1842         (probe_any_get_probes): Rename to...
1843         (any_static_probe_ops::get_probes): ...this.
1844         (any_static_probe_ops::type_name): New method.
1845         (any_static_probe_ops::gen_info_probes_table_header): New
1846         method.
1847         (compute_probe_arg): Use 'pc_probe.prob' instead of
1848         'pc_probe.probe'.  Call methods from probe.
1849         (compile_probe_arg): Likewise.
1850         (std::vector<const probe_ops *> all_probe_ops): Delete.
1851         (std::vector<const static_probe_ops *> all_static_probe_ops):
1852         New variable.
1853         (_initialize_probe): Use 'all_static_probe_ops' instead of
1854         'all_probe_ops'.
1855         * probe.h (struct info_probe_column) <field_name>: Delete
1856         extraneous newline
1857         (info_probe_column_s): Delete type and VEC.
1858         (struct probe_ops): Delete.  Replace with...
1859         (class static_probe_ops): ...this and...
1860         (clas probe): ...this.
1861         (struct bound_probe) <bound_probe>: Delete extraneous
1862         newline.  Adjust constructor to receive 'probe' instead of
1863         'struct probe'.
1864         <probe>: Rename to...
1865         <prob>: ...this.  Delete extraneous newline.
1866         <objfile>: Delete extraneous newline.
1867         (register_probe_ops): Delete unused prototype.
1868         (info_probes_for_ops): Rename to...
1869         (info_probes_for_spops): ...this.  Adjust comment.
1870         (get_probe_address): Move to 'probe::get_address'.
1871         (get_probe_argument_count): Move to
1872         'probe::get_argument_count'.
1873         (can_evaluate_probe_arguments): Move to
1874         'probe::can_evaluate_arguments'.
1875         (evaluate_probe_argument): Move to 'probe::evaluate_argument'.
1876         * solib-svr4.c (struct svr4_info): Adjust comment.
1877         (struct probe_and_action) <probe>: Rename to...
1878         <prob>: ...this.
1879         (register_solib_event_probe): Receive 'probe' instead of
1880         'struct probe' as argument.  Use 'prob' instead of 'probe'
1881         when applicable.
1882         (solib_event_probe_action): Call 'get_argument_count' method
1883         from probe.  Adjust comment.
1884         (svr4_handle_solib_event): Adjust comment.  Call
1885         'evaluate_argument' method from probe.
1886         (svr4_create_probe_breakpoints): Call 'get_relocated_address'
1887         from probe.
1888         (svr4_create_solib_event_breakpoints): Use 'probe' instead of
1889         'struct probe'.  Call 'can_evaluate_arguments' from probe.
1890         * symfile.h: Forward declare 'class probe' instead of 'struct
1891         probe'.
1892         * symtab.h: Likewise.
1893         (struct symtab_and_line) <probe>: Rename to...
1894         <prob>: ...this.
1895         * tracepoint.c (start_tracing): Use 'prob' when applicable.
1896         Call probe methods.
1897         (stop_tracing): Likewise.
1898
1899 2017-11-22  Joel Brobecker  <brobecker@adacore.com>
1900
1901         * ravenscar-thread.c (ravenscar_inferior_created): Remove
1902         trailing newline at end of string in call to warning.
1903
1904 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
1905
1906         * osdata.h: Include vector isntead of vec.h.
1907         (osdata_column_s): Remove typedef.
1908         (struct osdata_column): Add constructor.
1909         <name, value>: Change type to std::string.
1910         (DEF_VEC_O (osdata_column_s)): Remove.
1911         (osdata_item_s): Remove typedef.
1912         (struct osdata_item) <columns>: Change type to std::vector.
1913         (DEF_VEC_O (osdata_item_s)): Remove.
1914         (struct osdata): Add constructor.
1915         <type>: Change type to std::string.
1916         <items>: Change type to std::vector.
1917         (osdata_p): Remove typedef.
1918         (DEF_VEC_P (osdata_p)): Remove.
1919         (osdata_parse): Return a unique_ptr.
1920         (osdata_free): Remove.
1921         (make_cleanup_osdata_free): Remove.
1922         (get_osdata): Return a unique_ptr.
1923         (get_osdata_column): Return pointer to std::string, take a
1924         reference to osdata_item as parameter.
1925         * osdata.c (struct osdata_parsing_data) <osdata>: Change type to
1926         unique_ptr.
1927         <property_name>: Change type to std::string.
1928         (osdata_start_osdata): Allocate osdata with new and adjust.
1929         (osdata_start_item): Adjust.
1930         (osdata_start_column): Adjust.
1931         (osdata_end_column): Adjust.
1932         (clear_parsing_data): Remove.
1933         (osdata_parse): Return a unique_ptr and adjust, remove cleanup.
1934         (osdata_item_clear): Remove.
1935         (get_osdata): return a unique_ptr and adjust.
1936         (get_osdata_column): Return a pointer to std::string and adjust.
1937         (info_osdata): Adjust.
1938         * mi/mi-main.c: Include <map>.
1939         (free_vector_of_osdata_items): Remove.
1940         (list_available_thread_groups): Adjust, use std::map instead of
1941         splay tree.
1942
1943 2017-11-22  Simon Marchi  <simon.marchi@ericsson.com>
1944
1945         * stack.c (iterate_over_block_locals): Add LOC_OPTIMIZED_OUT
1946         case in switch.
1947
1948 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
1949
1950         * varobj.h (DEF_VEC_P (varobj_p)): Remove.
1951
1952 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
1953
1954         * varobj.h (struct varobj_update_result): Add constructor, add
1955         move constructor, disable copy and assign, initialize fields.
1956         <newobj>: Change type to std::vector.
1957         (varobj_update): Return std::vector.
1958         * varobj.c (install_dynamic_child): Change VEC parameters to
1959         std::vector and adjust.
1960         (update_dynamic_varobj_children): Likewise.
1961         (varobj_update): Return std::vector and adjust.
1962         * mi/mi-cmd-var.c (varobj_update_one): Adjust to vector changes.
1963
1964 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
1965
1966         * varobj.h (struct varobj) <parent>: Remove const.
1967         <children>: Change type to std::vector.
1968         (varobj_list_children): Return std::vector const reference.
1969         (varobj_restrict_range): Change parameter type to std::vector
1970         const reference.
1971         * varobj.c (varobj_has_more): Adjust.
1972         (varobj_restrict_range): Change parameter type to std::vector
1973         const reference and adjust.
1974         (install_dynamic_child): Adjust.
1975         (update_dynamic_varobj_children): Adjust.
1976         (varobj_list_children): Return std::vector const reference and
1977         adjust.
1978         (varobj_add_child): Adjust.
1979         (update_type_if_necessary): Adjust.
1980         (varobj_update): Adjust.
1981         (delete_variable_1): Adjust.
1982         * ada-varobj.c (ada_value_has_mutated): Adjust.
1983         * mi/mi-cmd-var.c (mi_cmd_var_list_children): Adjust.
1984
1985 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
1986
1987         * varobj.h (struct varobj): Add constructor and destructor,
1988         initialize fields.
1989         * varobj.c (struct varobj_root): Initialize fields.
1990         (struct varobj_dynamic): Initialize fields.
1991         (varobj_create): Use unique_ptr instead of cleanup.  Create
1992         varobj with new instead of new_root_variable.
1993         (delete_variable_1): Free variable with delete instead of
1994         free_variable.
1995         (create_child_with_value): Create variable with new instead of
1996         new_variable.
1997         (varobj::varobj): New.
1998         (varobj::~varobj): New (body mostly coming from free_variable).
1999         (new_variable): Remove.
2000         (free_variable): Remove.
2001         (do_free_variable_cleanup): Remove.
2002         (make_cleanup_free_variable): Remove.
2003
2004 2017-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
2005
2006         * core-regset.c: Remove file.
2007         * Makefile.in (ALLDEPFILES): Remove core-regset.c.
2008
2009 2017-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
2010
2011         * NEWS: Document use of GNU MPFR.
2012         * README: Likewise.
2013
2014         * Makefile.in (LIBMPFR): Add define.
2015         (CLIBS): Add $(LIBMPFR).
2016         * configure.ac: Add --with-mpfr configure option.
2017         * configure: Regenerate.
2018         * config.in: Regenerate.
2019
2020         * target-float.c [HAVE_LIBMPFR]: Include <mpfr.h>.
2021         (class mpfr_float_ops): New type.
2022         (mpfr_float_ops::from_target): Two new overloaded functions.
2023         (mpfr_float_ops::to_target): Likewise.
2024         (mpfr_float_ops::to_string): New function.
2025         (mpfr_float_ops::from_string): Likewise.
2026         (mpfr_float_ops::to_longest): Likewise.
2027         (mpfr_float_ops::from_longest): Likewise.
2028         (mpfr_float_ops::from_ulongest): Likewise.
2029         (mpfr_float_ops::to_host_double): Likewise.
2030         (mpfr_float_ops::from_host_double): Likewise.
2031         (mpfr_float_ops::convert): Likewise.
2032         (mpfr_float_ops::binop): Likewise.
2033         (mpfr_float_ops::compare): Likewise.
2034         (get_target_float_ops): Use mpfr_float_ops if available.
2035
2036 2017-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
2037
2038         * target-float.c: Do not include <math.h>.
2039         Include <cmath> and <limits>.
2040         (DOUBLEST): Do not define.
2041         (class target_float_ops): New type.
2042         (class host_float_ops): New templated type.
2043         (class decimal_float_ops): New type.
2044
2045         (floatformat_to_doublest): Rename to ...
2046         (host_float_ops<T>::from_target): ... this.  Use template type T
2047         instead of DOUBLEST.  Use C++ math routines.  Update recursive calls.
2048         (host_float_ops<T>::from_target): New overload using a type argument.
2049         (floatformat_from_doublest): Rename to ...
2050         (host_float_ops<T>::to_target): ... this.  Use template type T
2051         instead of DOUBLEST.  Use C++ math routines.  Update recursive calls.
2052         (host_float_ops<T>::to_target): New overload using a type argument.
2053         (floatformat_printf_format): New function.
2054         (struct printf_length_modifier): New templated type.
2055         (floatformat_to_string): Rename to ...
2056         (host_float_ops<T>::to_string): ... this.  Use type instead of
2057         floatformat argument.  Use floatformat_printf_format and
2058         printf_length_modifier.  Remove special handling of invalid numbers,
2059         infinities and NaN (moved to target_float_to_string).
2060         (struct scanf_length_modifier): New templated type.
2061         (floatformat_from_string): Rename to ...
2062         (host_float_ops<T>::from_string): ... this.  Use type instead of
2063         floatformat argument.  Use scanf_length_modifier.
2064         (floatformat_to_longest): Rename to ...
2065         (host_float_ops<T>::to_longest): ... this.  Use type instead of
2066         floatformat argument.  Handle out-of-range values deterministically.
2067         (floatformat_from_longest): Rename to ...
2068         (host_float_ops<T>::from_longest): ... this.  Use type instead of
2069         floatformat argument.
2070         (floatformat_from_ulongest): Rename to ...
2071         (host_float_ops<T>::from_ulongest): ... this.  Use type instead of
2072         floatformat argument.
2073         (floatformat_to_host_double): Rename to ...
2074         (host_float_ops<T>::to_host_double): ... this.  Use type instead of
2075         floatformat argument.
2076         (floatformat_from_host_double): Rename to ...
2077         (host_float_ops<T>::from_host_double): ... this.  Use type instead of
2078         floatformat argument.
2079         (floatformat_convert): Rename to ...
2080         (host_float_ops<T>::convert): ... this.  Use type instead of
2081         floatformat arguments.  Remove handling of no-op conversions.
2082         (floatformat_binop): Rename to ...
2083         (host_float_ops<T>::binop): ... this.  Use type instead of
2084         floatformat arguments.
2085         (floatformat_compare): Rename to ...
2086         (host_float_ops<T>::compare): ... this.  Use type instead of
2087         floatformat arguments.
2088
2089         (match_endianness): Use type instead of length/byte_order arguments.
2090         (set_decnumber_context): Likewise.
2091         (decimal_from_number): Likewise.  Update calls.
2092         (decimal_to_number): Likewise.
2093         (decimal_is_zero): Likewise.  Update calls.  Move to earlier in file.
2094         (decimal_float_ops::to_host_double): New dummy function.
2095         (decimal_float_ops::from_host_double): Likewise.
2096         (decimal_to_string): Rename to ...
2097         (decimal_float_ops::to_string): ... this.  Use type instead of
2098         length/byte_order arguments.  Update calls.
2099         (decimal_from_string): Rename to ...
2100         (decimal_float_ops::from_string): ... this.  Use type instead of
2101         length/byte_order arguments.  Update calls.
2102         (decimal_from_longest): Rename to ...
2103         (decimal_float_ops::from_longest): ... this.  Use type instead of
2104         length/byte_order arguments.  Update calls.
2105         (decimal_from_ulongest): Rename to ...
2106         (decimal_float_ops::from_ulongest): ... this.  Use type instead of
2107         length/byte_order arguments.  Update calls.
2108         (decimal_to_longest): Rename to ...
2109         (decimal_float_ops::to_longest): ... this.  Use type instead of
2110         length/byte_order arguments.  Update calls.
2111         (decimal_binop): Rename to ...
2112         (decimal_float_ops::binop): ... this.  Use type instead of
2113         length/byte_order arguments.  Update calls.
2114         (decimal_compare): Rename to ...
2115         (decimal_float_ops::compare): ... this.  Use type instead of
2116         length/byte_order arguments.  Update calls.
2117         (decimal_convert): Rename to ...
2118         (decimal_float_ops::convert): ... this.  Use type instead of
2119         length/byte_order arguments.  Update calls.
2120
2121         (target_float_same_category_p): New function.
2122         (target_float_same_format_p): Likewise.
2123         (target_float_format_length): Likewise.
2124         (enum target_float_ops_kind): New type.
2125         (get_target_float_ops_kind): New function.
2126         (get_target_float_ops): Three new overloaded functions.
2127
2128         (target_float_is_zero): Update call.
2129         (target_float_to_string): Add special handling of invalid numbers,
2130         infinities and NaN (moved from floatformat_to_string).  Use
2131         target_float_ops callback.
2132         (target_float_from_string): Use target_float_ops callback.
2133         (target_float_to_longest): Likewise.
2134         (target_float_from_longest): Likewise.
2135         (target_float_from_ulongest): Likewise.
2136         (target_float_to_host_double): Likewise.
2137         (target_float_from_host_double): Likewise.
2138         (target_float_convert): Add special case for no-op conversions.
2139         Use target_float_ops callback.
2140         (target_float_binop): Use target_float_ops callback.
2141         (target_float_compare): Likewise.
2142
2143 2017-11-22  Yao Qi  <yao.qi@linaro.org>
2144
2145         * python/py-gdb-readline.c (gdbpy_readline_wrapper): Use strcpy.
2146
2147 2017-11-22  Yao Qi  <yao.qi@linaro.org>
2148
2149         * cli/cli-decode.c (help_list): Use memcpy instead of strncpy.
2150         * cp-namespace.c (cp_lookup_transparent_type_loop): Likewise.
2151
2152 2017-11-21  Jerome Guitton  <guitton@adacore.com>
2153
2154         * ravenscar-thread.c (ravenscar_wait): Update inferior ptid
2155         with event ptid from the lower layer before doing the
2156         ravenscar-specific update.
2157
2158 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2159
2160         * ravenscar-thread.c (is_ravenscar_task): Also verify that
2161         the ptid's TID is nonzero.
2162
2163 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2164
2165         * ada-lang.h (ada_get_tcb_types_info): Add declaration.
2166         * ada-tasks.c (ada_get_tcb_types_info): Renames get_tcb_types_info.
2167         Make non-static.  Change return type to char *.  Adjust code
2168         accordingly.  Rewrite the function's documentation.
2169         (read_atcb): Adjust call to get_tcb_types_info accordingly.
2170         * ravenscar-thread.c (ravenscar_inferior_created): Check that
2171         we have enough debugging information in the runtime to support
2172         Ada task debugging before we enable the ravenscar-thread layer.
2173
2174 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2175
2176         * ada-lang.h (ada_get_task_info_from_ptid): Add declaration.
2177         * ada-tasks.c (ada_get_task_info_from_ptid): New function.
2178         * ravenscar-thread.c: Add into comment.
2179         (base_magic_null_ptid): Delete.
2180         (base_ptid): Change documentation.
2181         (ravenscar_active_task): Renames ravenscar_running_thread.
2182         All callers updated throughout.
2183         (is_ravenscar_task, ravenscar_get_thread_base_cpu): New function.
2184         (ravenscar_task_is_currently_active): Likewise.
2185         (get_base_thread_from_ravenscar_task): Ditto.
2186         (ravenscar_update_inferior_ptid): Adjust to handle multiple CPUs.
2187         (ravenscar_runtime_initialized): Likewise.
2188         (get_running_thread_id): Add new parameter "cpu".  Adjust
2189         implementation to handle this new parameter.
2190         (ravenscar_fetch_registers): Small adjustment to use
2191         is_ravenscar_task and ravenscar_task_is_currently_active in
2192         order to decide whether to use the target beneath or this
2193         module's arch_ops.
2194         (ravenscar_store_registers, ravenscar_prepare_to_store): Likewise.
2195         (ravenscar_stopped_by_sw_breakpoint): Use
2196         get_base_thread_from_ravenscar_task to get the underlying
2197         thread, rather than using base_ptid.
2198         (ravenscar_stopped_by_hw_breakpoint, ravenscar_stopped_by_watchpoint)
2199         (ravenscar_stopped_data_address, ravenscar_core_of_thread):
2200         Likewise.
2201         (ravenscar_inferior_created): Do not set base_magic_null_ptid.
2202
2203 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2204
2205         * ada-lang.h (struct ada_task_info) <base_cpu>: New field.
2206         * ada-lang.c (struct atcb_fieldno) <base_cpu>: New field.
2207         (get_tcb_types_info): Set fieldnos.base_cpu.
2208         (read_atcb): Set task_info->base_cpu.
2209         (info_task): Print "Base CPU" info if set by runtime.
2210
2211 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2212
2213         * ravenscar-thread.c (ravenscar_stopped_by_sw_breakpoint)
2214         (ravenscar_stopped_by_hw_breakpoint, ravenscar_stopped_by_watchpoint)
2215         (ravenscar_stopped_data_address, ravenscar_core_of_thread):
2216         New functions.
2217         (init_ravenscar_thread_ops): Set the to_stopped_by_sw_breakpoint,
2218         to_stopped_by_hw_breakpoint, to_stopped_by_watchpoint,
2219         to_stopped_data_address and to_core_of_thread fields of
2220         ravenscar_ops.
2221
2222 2017-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
2223
2224         * ppc-tdep.h (enum powerpc_long_double_abi): New data type.
2225         (struct gdbarch_tdep): New member long_double_abi.
2226         * rs6000-tdep.c (rs6000_gdbarch_init): Initialize long_double_abi
2227         member of tdep struct based on Tag_GNU_Power_ABI_FP attribute.
2228         * ppc-linux-tdep.c (ppc_linux_init_abi): Install long double data
2229         format depending on long_double_abi tdep member.
2230         (ppc_floatformat_for_type): Handle __ibm128 type.
2231
2232 2017-11-20  Simon Marchi  <simon.marchi@polymtl.ca>
2233
2234         * darwin-nat.c (set_enable_mach_exceptions): Constify parameter.
2235
2236 2017-11-21  Pedro Alves  <palves@redhat.com>
2237
2238         * dwarf2read.c (mapped_index::find_name_components_bounds)
2239         <completion mode, upper bound>: Use std::lower_bound instead of
2240         std::upper_bound.
2241         (test_mapped_index_find_name_component_bounds): Remove incorrect
2242         "t1_fund" from expected symbols.
2243
2244 2017-11-21  Pedro Alves  <palves@redhat.com>
2245
2246         * dwarf2read.c (mapped_index::name_components_casing): New field.
2247         (mapped_index) <build_name_components,
2248         find_name_components_bounds): Declare new methods.
2249         (mapped_index::find_name_components_bounds)
2250         (mapped_index::build_name_components): New methods, factored out
2251         from dw2_expand_symtabs_matching_symbol.
2252         (check_find_bounds_finds)
2253         (test_mapped_index_find_name_component_bounds): New.
2254         (run_test): Rename to ...
2255         (test_dw2_expand_symtabs_matching_symbol): ... this.
2256         (run_test): Reimplement.
2257
2258 2017-11-21  Pedro Alves  <palves@redhat.com>
2259
2260         * cp-name-parser.y (cp_ident_is_alpha, cp_ident_is_alnum): New.
2261         (symbol_end): Use cp_ident_is_alnum.
2262         (yylex): Use cp_ident_is_alpha and cp_ident_is_alnum.
2263         * dwarf2read.c (make_sort_after_prefix_name): New function.
2264         (dw2_expand_symtabs_matching_symbol): Use it.
2265         (test_symbols): Add more symbols.
2266         (run_test): Add tests.
2267
2268 2017-11-17  Tom Tromey  <tom@tromey.com>
2269
2270         * symtab.h (enum symbol_subclass_kind): New.
2271         (struct symbol) <is_cplus_template_function, is_rust_vtable>:
2272         Remove.
2273         <subclass>: New member.
2274         (SYMBOL_IS_CPLUS_TEMPLATE_FUNCTION): Update.
2275         * rust-lang.c (rust_get_trait_object_pointer): Update.
2276         * dwarf2read.c (read_func_scope): Update.
2277         (read_variable): Update.
2278
2279 2017-11-17  Tom Tromey  <tom@tromey.com>
2280
2281         * dwarf2read.c (read_func_scope): Update.
2282         * symtab.h (struct template_symbol): Derive from symbol.
2283         <base>: Remove.
2284
2285 2017-11-17  Tom Tromey  <tom@tromey.com>
2286
2287         * symtab.h (struct symbol) <is_rust_vtable>: New member.
2288         (struct rust_vtable_symbol): New.
2289         (find_symbol_at_address): Declare.
2290         * symtab.c (find_symbol_at_address): New function.
2291         * symfile.h (struct quick_symbol_functions)
2292         <find_compunit_symtab_by_address>: New member.
2293         * symfile-debug.c (debug_qf_find_compunit_symtab_by_address): New
2294         function.
2295         (debug_sym_quick_functions): Link to
2296         debug_qf_find_compunit_symtab_by_address.
2297         * rust-lang.c (rust_get_trait_object_pointer): New function.
2298         (rust_evaluate_subexp) <case UNOP_IND>: New case.  Call
2299         rust_get_trait_object_pointer.
2300         * psymtab.c (psym_relocate): Clear psymbol_map.
2301         (psym_fill_psymbol_map, psym_find_compunit_symtab_by_address): New
2302         functions.
2303         (psym_functions): Link to psym_find_compunit_symtab_by_address.
2304         * objfiles.h (struct objfile) <psymbol_map>: New member.
2305         * dwarf2read.c (dwarf2_gdb_index_functions): Update.
2306         (process_die) <DW_TAG_variable>: New case.  Call read_variable.
2307         (rust_containing_type, read_variable): New functions.
2308
2309 2017-11-17  Simon Marchi  <simon.marchi@polymtl.ca>
2310
2311         * common/gdb_vecs.h (DEF_VEC_I (int)): Remove.
2312
2313 2017-11-17  Simon Marchi  <simon.marchi@polymtl.ca>
2314
2315         * common/filestuff.c: Include <algorithm>.
2316         (open_fds): Change type to std::vector<int>.
2317         (do_mark_open_fd): Adjust.
2318         (unmark_fd_no_cloexec): Adjust.
2319         (do_close): Adjust.
2320
2321 2017-11-17  Simon Marchi  <simon.marchi@polymtl.ca>
2322
2323         * breakpoint.c (output_thread_groups): Take an std::vector.
2324         (print_one_breakpoint_location): Adjust.
2325
2326 2017-11-17  Joel Brobecker  <brobecker@adacore.com>
2327
2328         * ada-lang.c (resolve_subexp): Add handling of OP_VAR_MSYM_VALUE.
2329         (ada_evaluate_subexp_for_cast): New function.
2330         (ada_evaluate_subexp) <UNOP_CAST>: Replace code by call to
2331         ada_evaluate_subexp_for_cast.
2332         (ada_evaluate_subexp) <nosideret>: Replace code by call to
2333         eval_skip_value.
2334         * eval.c (evaluate_var_value): Make non-static.
2335         (evaluate_var_msym_value, eval_skip_value): Likewise.
2336         * value.h (evaluate_var_value, evaluate_var_msym_value)
2337         (eval_skip_value): Declare.
2338
2339 2017-11-16  Joel Brobecker  <brobecker@adacore.com>
2340
2341         * ada-lang.c (ada_value_cast): Remove parameter "noside".
2342         Update all callers.
2343
2344 2017-11-16  Pedro Alves  <palves@redhat.com>
2345
2346         * python/py-unwind.c (pyuw_sniffer): Translate
2347         PyExc_KeyboardInterrupt to a GDB Quit exception.
2348
2349 2017-11-16  Pedro Alves  <palves@redhat.com>
2350
2351         * infrun.c (resume_cleanups): Delete.
2352         (resume): No longer install a resume_cleanups cleanup nor call
2353         QUIT.
2354         (proceed): Pass the terminal to the inferior.
2355         (keep_going_pass_signal): No longer install a resume_cleanups
2356         cleanup.
2357
2358 2017-11-16  Pedro Alves  <palves@redhat.com>
2359
2360         * inf-loop.c (inferior_event_handler): Don't swallow the exception
2361         if the prompt is blocked.
2362
2363 2017-11-16  Pedro Alves  <palves@redhat.com>
2364
2365         * breakpoint.c (insert_bp_location): Replace bp_err and
2366         bp_err_message locals by a gdb_exception local.
2367
2368 2017-11-16  Pedro Alves  <palves@redhat.com>
2369
2370         * inflow.c (scoped_ignore_sigttou): New class.
2371         (child_terminal_ours_1, new_tty): Use it.
2372
2373 2017-11-16  Ulrich Weigand  <uweigand@de.ibm.com>
2374
2375         * target-float.c (decimal_from_number): Add byte_order argument and
2376         call match_endianness.  Error if unknown floating-point type.
2377         (decimal_to_number): Add byte_order argument and call match_endianness.
2378         (decimal_from_longest): Update call.  Do not call match_endianness.
2379         (decimal_from_ulongest): Likewise.
2380         (decimal_binop): Likewise.
2381         (decimal_is_zero): Likewise.
2382         (decimal_compare): Likewise.
2383         (decimal_convert): Likewise.
2384
2385 2017-11-16  Phil Muldoon  <pmuldoon@redhat.com>
2386
2387         * python/python.c (gdbpy_rbreak): New function.
2388         * NEWS: Document Python rbreak feature.
2389
2390 2017-11-16  Yao Qi  <yao.qi@linaro.org>
2391
2392         * features/tic6x-c62x.xml: Remove.
2393         * features/tic6x-c64x.xml: Remove.
2394         * features/tic6x-c64xp.xml: Remove.
2395
2396 2017-11-15  John Baldwin  <jhb@FreeBSD.org>
2397
2398         * symtab.h: Include <array>.
2399
2400 2017-11-15  John Baldwin  <jhb@FreeBSD.org>
2401
2402         * bsd-kvm.c (bsd_kvm_cmd): Constify 'arg'.
2403         (bsd_kvm_proc_cmd): Likewise.
2404
2405 2017-11-15  Simon Marchi  <simon.marchi@ericsson.com>
2406
2407         * tui/tui-win.c (window_name_completer): Replace VEC with
2408         std::vector.
2409
2410 2017-11-15  Andrew Cagney  <cagney@gnu.org>
2411
2412         * MAINTAINERS: Remove no-longer applicable entries.
2413
2414 2017-11-15  Andrew Cagney  <cagney@gnu.org>
2415
2416         * MAINTAINERS: Move self to Past Maintainers.
2417
2418 2017-11-15  Yao Qi  <yao.qi@linaro.org>
2419
2420         * features/Makefile (XMLTOC): Remove nios2-linux.xml.
2421         * features/nios2-linux.c: Remove.
2422         * nios2-linux-tdep.c (_initialize_nios2_linux_tdep): Don't call
2423         initialize_tdesc_nios2_linux.
2424
2425 2017-11-15  Yao Qi  <yao.qi@linaro.org>
2426
2427         * m68hc11-tdep.c (M68HC11_NUM_REGS): Change it to
2428         M68HC11_LAST_HARD_REG + 1.
2429
2430 2017-11-14  Paul Carroll  <pcarroll@codesourcery.com>
2431
2432         PR gdb/22388
2433         * remote.c (remote_write_bytes_aux, remote_read_bytes_1,
2434         remote_read_bytes, remote_write_qxfer, remote_xfer_partial):
2435         Return TARGET_XFER_EOF if size of returned data is 0.
2436
2437 2017-11-14  Simon Marchi  <simon.marchi@ericsson.com>
2438
2439         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
2440         memory-map-selftests.c.
2441         (SUBDIR_UNITTESTS_OBS): Add memory-map-selftests.o.
2442         * memory-map.c (memory_map_start_memory): Fix computation of hi
2443         address.
2444         * unittests/memory-map-selftests.c: New file.
2445
2446 2017-11-09  Joel Brobecker  <brobecker@adacore.com>
2447
2448         * ada-lang.c: Fix some typos in the general command documenting
2449         how Ada expressions are being evaluated and how their result
2450         is printed.
2451
2452 2017-11-09  Tom Tromey  <tom@tromey.com>
2453
2454         * psymtab.c (psymbol_hash): Do not hash string contents.
2455         (psymbol_compare): Add comment.
2456
2457 2017-11-09  Tom Tromey  <tom@tromey.com>
2458
2459         * dictionary.c (dict_hash): Move "TKB" check into the "switch".
2460
2461 2017-11-08  Joel Brobecker  <brobecker@adacore.com>
2462
2463         * ada-exp.y (write_var_from_sym): Remove parameter
2464         "orig_left_context".  Update all callers.
2465
2466 2017-11-08  Simon Marchi  <simon.marchi@ericsson.com>
2467
2468         * tracepoint.h (class collection_list) <stringify>: Return
2469         std::vector<std::string>.
2470         (encode_actions_rsp): Change parameters to
2471         std::vector<std::string> *.
2472         * tracepoint.c (collection_list::stringify): Return
2473         std::vector<std::string> and adjust accordingly.
2474         (encode_actions_rsp): Changee parameters to
2475         std::vector<std::string> and adjust accordingly.
2476         * remote.c (free_actions_list),
2477         free_actions_list_cleanup_wrapper): Remove.
2478         (remote_download_tracepoint): Adjust to std::vector.
2479
2480 2017-11-08  Tom Tromey  <tom@tromey.com>
2481
2482         * dwarf2read.c (symbolp): Remove typedef.
2483         (read_func_scope): Use std::vector.
2484         (process_structure_scope): Use std::vector.
2485
2486 2017-11-08  Pedro Alves  <palves@redhat.com>
2487
2488         * ada-lang.c (ada_make_symbol_completion_list): Use
2489         completion_skip_symbol.
2490         * symtab.c (symbol_is_function_or_method(minimal_symbol*)): New.
2491         (symbol_is_function_or_method(symbol*)): New.
2492         (add_symtab_completions): Add complete_symbol_mode parameter.  Use
2493         completion_skip_symbol.
2494         (default_collect_symbol_completion_matches_break_on): Use
2495         completion_skip_symbol.  Pass down mode.
2496         (collect_file_symbol_completion_matches): Pass down mode.
2497         * symtab.h (symbol_is_function_or_method): New declarations.
2498         (completion_skip_symbol): New template function.
2499
2500 2017-11-08  Pedro Alves  <palves@redhat.com>
2501
2502         * linespec.c (iterate_over_all_matching_symtabs): Add
2503         search_domain parameter.  Pass it down to expand_symtabs_matching.
2504         (decode_objc): Request FUNCTIONS_DOMAIN symbols only.
2505         (lookup_prefix_sym): Adjust by passing ALL_DOMAIN as
2506         search_domain.
2507         (add_all_symbol_names_from_pspace): Add search_domain parameter.
2508         Pass it down.
2509         (find_method, find_function_symbols): Request FUNCTIONS_DOMAIN
2510         symbols.
2511         (add_matching_symbols_to_info): Add search_domain parameter.  Pass
2512         it down.
2513
2514 2017-11-08  Pedro Alves  <palves@redhat.com>
2515
2516         * ada-lang.c (ada_make_symbol_completion_list): Remove text and
2517         text_len locals and don't pass them down.
2518         * symtab.c (completion_list_add_name): Remove
2519         sym_text/sym_text_len parameters and adjust.
2520         (completion_list_add_symbol, completion_list_add_msymbol)
2521         (completion_list_objc_symbol, completion_list_add_fields)
2522         (add_symtab_completions): Likewise.
2523         (default_collect_symbol_completion_matches_break_on)
2524         (collect_file_symbol_completion_matches): Remove sym_text_len
2525         local and don't pass it down.
2526         * symtab.h (completion_list_add_name): Remove
2527         sym_text/sym_text_len parameters.
2528
2529 2017-11-08  Pedro Alves  <palves@redhat.com>
2530
2531         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
2532         unittests/lookup_name_info-selftests.c.
2533         (SUBDIR_UNITTESTS_OBS): Add lookup_name_info-selftests.o.
2534         * cp-support.c: Include "selftest.h".
2535         (cp_remove_params_1): Rename from cp_remove_params.  Add
2536         'require_param' parameter, and handle it.
2537         (cp_remove_params): Reimplement.
2538         (cp_remove_params_if_any): New.
2539         (selftests::quote): New.
2540         (selftests::check_remove_params): New.
2541         (selftests::test_cp_remove_params): New.
2542         (_initialize_cp_support): Install
2543         selftests::test_cp_remove_params.
2544         * cp-support.h (cp_remove_params_if_any): Declare.
2545         * dwarf2read.c :Include "selftest.h".
2546         (dw2_expand_symtabs_matching_symbol): Use
2547         lookup_name_info::make_ignore_params.
2548         (selftests::dw2_expand_symtabs_matching::mock_mapped_index)
2549         (selftests::dw2_expand_symtabs_matching::string_or_null)
2550         (selftests::dw2_expand_symtabs_matching::check_match)
2551         (selftests::dw2_expand_symtabs_matching::test_symbols)
2552         (selftests::dw2_expand_symtabs_matching::run_test): New.
2553         (_initialize_dwarf2_read): Register
2554         selftests::dw2_expand_symtabs_matching::run_test.
2555         * psymtab.c (psym_expand_symtabs_matching): Use
2556         lookup_name_info::make_ignore_params.
2557         * symtab.c (demangle_for_lookup_info::demangle_for_lookup_info):
2558         If the lookup name wants to ignore parameters, strip them.
2559         (compare_symbol_name): Remove sym_text/sym_text_len parameters and
2560         code handling '('.
2561         (completion_list_add_name): Don't pass down sym_text/sym_text_len.
2562         (default_collect_symbol_completion_matches_break_on): Don't try to
2563         strip parameters.
2564         * symtab.h (lookup_name_info::lookup_name_info): Add
2565         'ignore_parameters' parameter.
2566         (lookup_name_info::ignore_parameters)
2567         (lookup_name_info::make_ignore_params): New methods.
2568         (lookup_name_info::m_ignore_parameters): New field.
2569         * unittests/lookup_name_info-selftests.c: New file.
2570
2571 2017-11-08  Pedro Alves  <palves@redhat.com>
2572
2573         * dwarf2read.c (dw2_expand_marked_cus)
2574         (dw2_expand_symtabs_matching_symbol): Remove forward declarations.
2575         (dw2_expand_symtabs_matching): Move further below.
2576         (dw2_expand_marked_cus): Reindent.
2577
2578 2017-11-08  Pedro Alves  <palves@redhat.com>
2579
2580         * dwarf2read.c (byte_swap, MAYBE_SWAP): Move higher up in file.
2581         (struct name_component): New.
2582         (mapped_index::name_components): New field.
2583         (mapped_index::symbol_name_at): New method.
2584         (dwarf2_read_index): Call mapped_index ctor.
2585         (dw2_map_matching_symbols): Add comment about name_components
2586         table.
2587         (dw2_expand_symtabs_matching): Factor part to...
2588         (dw2_expand_symtabs_matching_symbol): ... this new function.
2589         Build name components table, and lookup symbols in it before
2590         calling the name matcher.
2591         (dw2_expand_marked_cus): New, factored out from
2592         dw2_expand_symtabs_matching.
2593         (dwarf2_per_objfile_free): Call the mapped_index's dtor.
2594
2595 2017-11-08   Pedro Alves  <palves@redhat.com>
2596
2597         * ada-lang.c (ada_encode): Rename to ..
2598         (ada_encode_1): ... this.  Add throw_errors parameter and handle
2599         it.
2600         (ada_encode): Reimplement.
2601         (match_name): Delete, folded into full_name.
2602         (resolve_subexp): No longer pass the encoded name to
2603         ada_lookup_symbol_list.
2604         (should_use_wild_match): Delete.
2605         (name_match_type_from_name): New.
2606         (ada_lookup_simple_minsym): Use lookup_name_info and the
2607         language's symbol_name_matcher_ftype.
2608         (add_symbols_from_enclosing_procs, ada_add_local_symbols)
2609         (ada_add_block_renamings): Adjust to use lookup_name_info.
2610         (ada_lookup_name): New.
2611         (add_nonlocal_symbols, ada_add_all_symbols)
2612         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list)
2613         (ada_iterate_over_symbols): Adjust to use lookup_name_info.
2614         (ada_name_for_lookup): Delete.
2615         (ada_lookup_encoded_symbol): Construct a verbatim name.
2616         (wild_match): Reverse sense of return type.  Use bool.
2617         (full_match): Reverse sense of return type.  Inline bits of old
2618         match_name here.
2619         (ada_add_block_symbols): Adjust to use lookup_name_info.
2620         (symbol_completion_match): Delete, folded into...
2621         (ada_lookup_name_info::matches): ... .this new method.
2622         (symbol_completion_add): Delete.
2623         (ada_collect_symbol_completion_matches): Add name_match_type
2624         parameter.  Adjust to use lookup_name_info and
2625         completion_list_add_name.
2626         (get_var_value, ada_add_global_exceptions): Adjust to use
2627         lookup_name_info.
2628         (ada_get_symbol_name_cmp): Delete.
2629         (do_wild_match, do_full_match): New functions.
2630         (ada_lookup_name_info::ada_lookup_name_info): New method.
2631         (ada_symbol_name_matches, ada_get_symbol_name_matcher): New
2632         functions.
2633         (ada_language_defn): Install ada_get_symbol_name_matcher.
2634         * ada-lex.l (processId): If name starts with '<', copy it
2635         verbatim.
2636         * block.c (block_iter_match_step, block_iter_match_first)
2637         (block_iter_match_next, block_lookup_symbol)
2638         (block_lookup_symbol_primary, block_find_symbol): Adjust to use
2639         lookup_name_info.
2640         * block.h (block_iter_match_first, block_iter_match_next)
2641         (ALL_BLOCK_SYMBOLS_WITH_NAME): Adjust to use lookup_name_info.
2642         * c-lang.c (c_language_defn, cplus_language_defn)
2643         (asm_language_defn, minimal_language_defn): Adjust comments to
2644         refer to la_get_symbol_name_matcher.
2645         * completer.c (complete_files_symbols)
2646         (collect_explicit_location_matches, symbol_completer): Pass a
2647         symbol_name_match_type down.
2648         * completer.h (class completion_match, completion_match_result):
2649         New classes.
2650         (completion_tracker::reset_completion_match_result): New method.
2651         (completion_tracker::m_completion_match_result): New field.
2652         * cp-support.c (make_symbol_overload_list_block): Adjust to use
2653         lookup_name_info.
2654         (cp_fq_symbol_name_matches, cp_get_symbol_name_matcher): New
2655         functions.
2656         * cp-support.h (cp_get_symbol_name_matcher): New declaration.
2657         * d-lang.c: Adjust comments to refer to
2658         la_get_symbol_name_matcher.
2659         * dictionary.c (dict_vector) <iter_match_first, iter_match_next>:
2660         Adjust to use lookup_name_info.
2661         (dict_iter_match_first, dict_iter_match_next)
2662         (iter_match_first_hashed, iter_match_next_hashed)
2663         (iter_match_first_linear, iter_match_next_linear): Adjust to work
2664         with a lookup_name_info.
2665         * dictionary.h (dict_iter_match_first, dict_iter_match_next):
2666         Likewise.
2667         * dwarf2read.c (dw2_lookup_symbol): Adjust to use lookup_name_info.
2668         (dw2_map_matching_symbols): Adjust to use symbol_name_match_type.
2669         (gdb_index_symbol_name_matcher): New class.
2670         (dw2_expand_symtabs_matching) Adjust to use lookup_name_info and
2671         gdb_index_symbol_name_matcher.  Accept a NULL symbol_matcher.
2672         * f-lang.c (f_collect_symbol_completion_matches): Adjust to work
2673         with a symbol_name_match_type.
2674         (f_language_defn): Adjust comments to refer to
2675         la_get_symbol_name_matcher.
2676         * go-lang.c (go_language_defn): Adjust comments to refer to
2677         la_get_symbol_name_matcher.
2678         * language.c (default_symbol_name_matcher)
2679         (language_get_symbol_name_matcher): New functions.
2680         (unknown_language_defn, auto_language_defn): Adjust comments to
2681         refer to la_get_symbol_name_matcher.
2682         * language.h (symbol_name_cmp_ftype): Delete.
2683         (language_defn) <la_collect_symbol_completion_matches>: Add match
2684         type parameter.
2685         <la_get_symbol_name_cmp>: Delete field.
2686         <la_get_symbol_name_matcher>: New field.
2687         <la_iterate_over_symbols>: Adjust to use lookup_name_info.
2688         (default_symbol_name_matcher, language_get_symbol_name_matcher):
2689         Declare.
2690         * linespec.c (iterate_over_all_matching_symtabs)
2691         (iterate_over_file_blocks): Adjust to use lookup_name_info.
2692         (find_methods): Add language parameter, and use lookup_name_info
2693         and the language's symbol_name_matcher_ftype.
2694         (linespec_complete_function): Adjust.
2695         (lookup_prefix_sym): Use lookup_name_info.
2696         (add_all_symbol_names_from_pspace): Adjust.
2697         (find_superclass_methods): Add language parameter and pass it
2698         down.
2699         (find_method): Pass symbol language down.
2700         (find_linespec_symbols): Don't demangle or Ada encode here.
2701         (search_minsyms_for_name): Add lookup_name_info parameter.
2702         (add_matching_symbols_to_info): Add name_match_type parameter.
2703         Use lookup_name_info.
2704         * m2-lang.c (m2_language_defn): Adjust comments to refer to
2705         la_get_symbol_name_matcher.
2706         * minsyms.c: Include <algorithm>.
2707         (add_minsym_to_demangled_hash_table): Remove table parameter and
2708         add objfile parameter.  Use search_name_hash, and add language to
2709         demangled languages vector.
2710         (struct found_minimal_symbols): New struct.
2711         (lookup_minimal_symbol_mangled, lookup_minimal_symbol_demangled):
2712         New functions.
2713         (lookup_minimal_symbol): Adjust to use them.  Don't canonicalize
2714         input names here.  Use lookup_name_info instead.  Lookup up
2715         demangled names once for each language in the demangled names
2716         vector.
2717         (iterate_over_minimal_symbols): Use lookup_name_info.  Lookup up
2718         demangled names once for each language in the demangled names
2719         vector.
2720         (build_minimal_symbol_hash_tables): Adjust.
2721         * minsyms.h (iterate_over_minimal_symbols): Adjust to pass down a
2722         lookup_name_info.
2723         * objc-lang.c (objc_language_defn): Adjust comment to refer to
2724         la_get_symbol_name_matcher.
2725         * objfiles.h: Include <vector>.
2726         (objfile_per_bfd_storage) <demangled_hash_languages>: New field.
2727         * opencl-lang.c (opencl_language_defn): Adjust comment to refer to
2728         la_get_symbol_name_matcher.
2729         * p-lang.c (pascal_language_defn): Adjust comment to refer to
2730         la_get_symbol_name_matcher.
2731         * psymtab.c (psym_lookup_symbol): Use lookup_name_info.
2732         (match_partial_symbol): Use symbol_name_match_type,
2733         lookup_name_info and psymbol_name_matches.
2734         (lookup_partial_symbol): Use lookup_name_info.
2735         (map_block): Use symbol_name_match_type and lookup_name_info.
2736         (psym_map_matching_symbols): Use symbol_name_match_type.
2737         (psymbol_name_matches): New.
2738         (recursively_search_psymtabs): Use lookup_name_info and
2739         psymbol_name_matches.  Rename 'kind' parameter to 'domain'.
2740         (psym_expand_symtabs_matching): Use lookup_name_info.  Rename
2741         'kind' parameter to 'domain'.
2742         * rust-lang.c (rust_language_defn): Adjust comment to refer to
2743         la_get_symbol_name_matcher.
2744         * symfile-debug.c (debug_qf_map_matching_symbols)
2745         (debug_qf_map_matching_symbols): Use symbol_name_match_type.
2746         (debug_qf_expand_symtabs_matching): Use lookup_name_info.
2747         * symfile.c (expand_symtabs_matching): Use lookup_name_info.
2748         * symfile.h (quick_symbol_functions) <map_matching_symbols>:
2749         Adjust to use symbol_name_match_type.
2750         <expand_symtabs_matching>: Adjust to use lookup_name_info.
2751         (expand_symtabs_matching): Adjust to use lookup_name_info.
2752         * symmisc.c (maintenance_expand_symtabs): Use
2753         lookup_name_info::match_any ().
2754         * symtab.c (symbol_matches_search_name): New.
2755         (eq_symbol_entry): Adjust to use lookup_name_info and the
2756         language's matcher.
2757         (demangle_for_lookup_info::demangle_for_lookup_info): New.
2758         (lookup_name_info::match_any): New.
2759         (iterate_over_symbols, search_symbols): Use lookup_name_info.
2760         (compare_symbol_name): Add language, lookup_name_info and
2761         completion_match_result parameters, and use them.
2762         (completion_list_add_name): Make extern.  Add language and
2763         lookup_name_info parameters.  Use them.
2764         (completion_list_add_symbol, completion_list_add_msymbol)
2765         (completion_list_objc_symbol): Add lookup_name_info parameters and
2766         adjust.  Pass down language.
2767         (completion_list_add_fields): Add lookup_name_info parameters and
2768         adjust.  Pass down language.
2769         (add_symtab_completions): Add lookup_name_info parameters and
2770         adjust.
2771         (default_collect_symbol_completion_matches_break_on): Add
2772         name_match_type parameter, and use it.  Use lookup_name_info.
2773         (default_collect_symbol_completion_matches)
2774         (collect_symbol_completion_matches): Add name_match_type
2775         parameter, and pass it down.
2776         (collect_symbol_completion_matches_type): Adjust.
2777         (collect_file_symbol_completion_matches): Add name_match_type
2778         parameter, and use lookup_name_info.
2779         * symtab.h: Include <string> and "common/gdb_optional.h".
2780         (enum class symbol_name_match_type): New.
2781         (class ada_lookup_name_info): New.
2782         (struct demangle_for_lookup_info): New.
2783         (class lookup_name_info): New.
2784         (symbol_name_matcher_ftype): New.
2785         (SYMBOL_MATCHES_SEARCH_NAME): Use symbol_matches_search_name.
2786         (symbol_matches_search_name): Declare.
2787         (MSYMBOL_MATCHES_SEARCH_NAME): Delete.
2788         (default_collect_symbol_completion_matches)
2789         (collect_symbol_completion_matches)
2790         (collect_file_symbol_completion_matches): Add name_match_type
2791         parameter.
2792         (iterate_over_symbols): Use lookup_name_info.
2793         (completion_list_add_name): Declare.
2794         * utils.c (enum class strncmp_iw_mode): Moved to utils.h.
2795         (strncmp_iw_with_mode): Now extern.
2796         * utils.h (enum class strncmp_iw_mode): Moved from utils.c.
2797         (strncmp_iw_with_mode): Declare.
2798
2799 2017-11-08  Keith Seitz  <keiths@redhat.com>
2800             Pedro Alves  <palves@redhat.com>
2801
2802         * ada-lang.c (ada_language_defn): Install
2803         default_search_name_hash.
2804         * buildsym.c (struct buildsym_compunit): <language>: New field.
2805         (finish_block_internal): Pass language when creating dictionaries.
2806         (start_buildsym_compunit, start_symtab): New language parameters.
2807         Use them.
2808         (restart_symtab): Pass down compilation unit's language.
2809         * buildsym.h (enum language): Forward declare.
2810         (start_symtab): New 'language' parameter.
2811         * c-lang.c (c_language_defn, cplus_language_defn)
2812         (asm_language_defn, minimal_language_defn): Install
2813         default_search_name_hash.
2814         * coffread.c (coff_start_symtab): Adjust.
2815         * d-lang.c (d_language_defn): Install default_search_name_hash.
2816         * dbxread.c (struct symloc): Add 'pst_language' field.
2817         (PST_LANGUAGE): Define.
2818         (start_psymtab, read_ofile_symtab): Use it.
2819         (process_one_symbol): New 'language' parameter.  Pass it down.
2820         * dictionary.c (struct dictionary) <language>: New field.
2821         (DICT_LANGUAGE): Define.
2822         (dict_create_hashed, dict_create_hashed_expandable)
2823         (dict_create_linear, dict_create_linear_expandable): New parameter
2824         'language'.  Set the dictionary's language.
2825         (iter_match_first_hashed): Adjust to rename.
2826         (insert_symbol_hashed): Assert we don't see mismatching
2827         languages.  Adjust to rename.
2828         (dict_hash): Rename to ...
2829         (default_search_name_hash): ... this and make extern.
2830         * dictionary.h (struct language_defn): Forward declare.
2831         (dict_create_hashed): New parameter 'language'.
2832         * dwarf2read.c (dwarf2_start_symtab): Pass down language.
2833         * f-lang.c (f_language_defn): Install default_search_name_hash.
2834         * go-lang.c (go_language_defn): Install default_search_name_hash.
2835         * jit.c (finalize_symtab): Pass compunit's language to dictionary
2836         creation.
2837         * language.c (unknown_language_defn, auto_language_defn):
2838         * language.h (language_defn::la_search_name_hash): New field.
2839         (default_search_name_hash): Declare.
2840         * m2-lang.c (m2_language_defn): Install default_search_name_hash.
2841         * mdebugread.c (new_block): New parameter 'language'.
2842         * mdebugread.c (parse_symbol): Pass symbol language to block
2843         allocation.
2844         (psymtab_to_symtab_1): Pass down language.
2845         (new_symtab): Pass compunit's language to block allocation.
2846         * objc-lang.c (objc_language_defn): Install
2847         default_search_name_hash.
2848         * opencl-lang.c (opencl_language_defn):
2849         * p-lang.c (pascal_language_defn): Install
2850         default_search_name_hash.
2851         * rust-lang.c (rust_language_defn): Install
2852         default_search_name_hash.
2853         * stabsread.h (enum language): Forward declare.
2854         (process_one_symbol): Add 'language' parameter.
2855         * symtab.c (search_name_hash): New function.
2856         * symtab.h (search_name_hash): Declare.
2857         * xcoffread.c (read_xcoff_symtab): Pass language to start_symtab.
2858
2859 2017-11-08  Pedro Alves  <palves@redhat.com>
2860
2861         * cp-name-parser.y (main): Don't initialize extra_chars.
2862
2863 2017-11-07  Tom Tromey  <tom@tromey.com>
2864
2865         * event-top.h (command_handler): Constify.
2866         * record-full.c (cmd_record_full_start): Update.
2867         * thread.c (thread_apply_all_command): Update.
2868         * printcmd.c (eval_command): Update.
2869         * mi/mi-main.c (mi_execute_cli_command): Update.
2870         (mi_execute_async_cli_command): Update.
2871         * tui/tui-stack.c (tui_update_command): Update.
2872         * cli/cli-interp.c (safe_execute_command): Constify.
2873         * record.c (record_start): Update.
2874         (record_start, record_stop, cmd_record_start): Update.
2875         * record-btrace.c (cmd_record_btrace_bts_start): Update.
2876         (cmd_record_btrace_pt_start): Update.
2877         (cmd_record_btrace_start): Update.
2878         (cmd_record_btrace_start): Update.
2879         * reverse.c (exec_reverse_once): Update.
2880         * python/python.c (execute_gdb_command): Don't copy the command.
2881         * event-top.c (command_line_handler): Update.
2882         (command_handler): Constify.
2883         * defs.h (deprecated_call_command_hook): Constify.
2884         * cli/cli-script.h (execute_user_command): Constify.
2885         * cli/cli-script.c (execute_user_command): Constify.
2886         (execute_cmd_pre_hook, execute_cmd_post_hook): Constify.
2887         (enum command_control_type): Update.
2888         * main.c (catch_command_errors): Remove non-const overload.
2889         (catch_command_errors_ftype): Remove.
2890         * python/py-cmd.c (cmdpy_function): Constify.
2891         * guile/scm-cmd.c (cmdscm_function): Constify.
2892         * cli/cli-dump.c (call_dump_func): Constify.
2893         * cli/cli-decode.c (do_const_cfunc): Constify.
2894         (do_sfunc): Constify.
2895         (cmd_func): Constify.
2896         * gdbcmd.h (execute_command, execute_command_to_string): Constify.
2897         * top.h (execute_command): Constify.
2898         * top.c (execute_command): Constify.
2899         (execute_command_to_string): Constify.
2900         (deprecated_call_command_hook): Constify.
2901         * command.h (cmd_func): Constify.
2902         * cli/cli-decode.h (struct cmd_list_element) <func>: Constify.
2903
2904 2017-11-07  Tom Tromey  <tom@tromey.com>
2905
2906         * ada-lang.c (catch_ada_exception_command): Constify.
2907         (catch_assert_command): Constify.
2908         * break-catch-throw.c (catch_catch_command, catch_throw_command)
2909         (catch_rethrow_command): Constify.
2910         (catch_exception_command_1): Constify.
2911         * breakpoint.h (add_catch_command): Constify.
2912         * break-catch-syscall.c (catch_syscall_command_1): Constify.
2913         (catch_syscall_split_args): Constify.
2914         * break-catch-sig.c (catch_signal_command): Constify.
2915         (catch_signal_split_args): Constify.
2916         * cli/cli-decode.h (struct cmd_list_element) <function>: Use
2917         cmd_const_sfunc_ftype.
2918         * cli/cli-decode.c (add_setshow_cmd_full): Constify.
2919         (add_setshow_enum_cmd, add_setshow_auto_boolean_cmd)
2920         (add_setshow_boolean_cmd, add_setshow_filename_cmd)
2921         (add_setshow_string_cmd, struct cmd_list_element)
2922         (add_setshow_optional_filename_cmd, add_setshow_integer_cmd)
2923         (add_setshow_uinteger_cmd, add_setshow_zinteger_cmd)
2924         (add_setshow_zuinteger_unlimited_cmd, add_setshow_zuinteger_cmd):
2925         Constify.
2926         (set_cmd_sfunc): Constify.
2927         (empty_sfunc): Constify.
2928         * command.h (add_setshow_enum_cmd, add_setshow_auto_boolean_cmd)
2929         (add_setshow_boolean_cmd, add_setshow_filename_cmd)
2930         (add_setshow_string_cmd, add_setshow_string_noescape_cmd)
2931         (add_setshow_optional_filename_cmd, add_setshow_integer_cmd)
2932         (add_setshow_uinteger_cmd, add_setshow_zinteger_cmd)
2933         (add_setshow_zuinteger_cmd, add_setshow_zuinteger_unlimited_cmd):
2934         Constify.
2935         (set_cmd_sfunc): Constify.
2936         (cmd_sfunc_ftype): Remove.
2937         * compile/compile.c (set_compile_args): Constify.
2938         * infrun.c (set_disable_randomization): Constify.
2939         * infcmd.c (set_args_command, set_cwd_command): Constify.
2940         * breakpoint.c (set_condition_evaluation_mode): Constify.
2941         (add_catch_command): Constify.
2942         (catch_fork_command_1, catch_exec_command_1)
2943         (catch_load_command_1, catch_unload_command_1): Constify.
2944         (catch_load_or_unload): Constify.
2945         * guile/scm-param.c (pascm_set_func): Constify.
2946         (add_setshow_generic): Constify.
2947         * python/py-param.c (get_set_value): Constify.
2948         * top.h (set_verbose): Constify.
2949         * tui/tui-win.c (tui_set_var_cmd): Constify.
2950         * mi/mi-main.c (set_mi_async_command): Constify.
2951         * cli/cli-logging.c (set_logging_overwrite)
2952         (set_logging_redirect): Constify.
2953         * value.c (set_max_value_size): Constify.
2954         * valprint.c (set_input_radix, set_output_radix): Constify.
2955         * utils.c (set_width_command, set_height_command): Constify.
2956         * typeprint.c (set_print_type_methods, set_print_type_typedefs): Constify.
2957         * tracepoint.c (set_disconnected_tracing)
2958         (set_circular_trace_buffer, set_trace_buffer_size)
2959         (set_trace_user, set_trace_notes, set_trace_stop_notes): Constify.
2960         * top.c (set_history_size_command, set_verbose, set_editing)
2961         (set_gdb_datadir, set_history_filename): Constify.
2962         * target.c (set_targetdebug, maint_set_target_async_command)
2963         (maint_set_target_non_stop_command, set_target_permissions)
2964         (set_write_memory_permission): Constify.
2965         (open_target): Constify.
2966         * target-descriptions.c (set_tdesc_filename_cmd): Constify.
2967         * target-dcache.c (set_stack_cache, set_code_cache): Constify.
2968         * symtab.c (set_symbol_cache_size_handler): Constify.
2969         * symfile.c (set_ext_lang_command): Constify.
2970         * symfile-debug.c (set_debug_symfile): Constify.
2971         * source.c (set_directories_command): Constify.
2972         * solib.c (reload_shared_libraries, gdb_sysroot_changed): Constify.
2973         * serial.c (set_parity): Constify.
2974         * rs6000-tdep.c (powerpc_set_soft_float, powerpc_set_vector_abi): Constify.
2975         * remote.c (set_remote_exec_file, set_remotebreak)
2976         (set_remote_protocol_Z_packet_cmd, set_range_stepping): Constify.
2977         * record.c (set_record_insn_history_size)
2978         (set_record_call_history_size): Constify.
2979         * record-full.c (set_record_full_insn_max_num): Constify.
2980         * proc-api.c (set_procfs_trace_cmd, set_procfs_file_cmd): Constify.
2981         * osabi.c (set_osabi): Constify.
2982         * mips-tdep.c (set_mips64_transfers_32bit_regs)
2983         (reinit_frame_cache_sfunc, mips_abi_update): Constify.
2984         * maint.c (maintenance_set_profile_cmd): Constify.
2985         * linux-thread-db.c (set_libthread_db_search_path): Constify.
2986         * language.c (set_language_command, set_range_command)
2987         (set_case_command): Constify.
2988         * infrun.c (set_non_stop, set_observer_mode)
2989         (set_stop_on_solib_events, set_schedlock_func)
2990         (set_exec_direction_func): Constify.
2991         * infcmd.c (set_inferior_tty_command): Constify.
2992         * disasm.c (set_disassembler_options_sfunc): Constify.
2993         * demangle.c (set_demangling_command): Constify.
2994         * dcache.c (set_dcache_size, set_dcache_line_size): Constify.
2995         * cris-tdep.c (set_cris_version, set_cris_mode)
2996         (set_cris_dwarf2_cfi): Constify.
2997         * corefile.c (set_gnutarget_command): Constify.
2998         * charset.c (set_host_charset_sfunc, set_target_charset_sfunc)
2999         (set_target_wide_charset_sfunc): Constify.
3000         * breakpoint.c (update_dprintf_commands): Constify.
3001         * auto-load.c (set_auto_load_dir, set_auto_load_safe_path): Constify.
3002         * arm-tdep.c (set_fp_model_sfunc, arm_set_abi)
3003         (set_disassembly_style_sfunc): Constify.
3004         * arch-utils.c (set_endian, set_architecture): Constify.
3005         * alpha-tdep.c (reinit_frame_cache_sfunc): Constify.
3006         * agent.c (set_can_use_agent): Constify.
3007
3008 2017-11-07  Tom Tromey  <tom@tromey.com>
3009
3010         * go32-nat.c (go32_sysinfo, go32_sldt, go32_sgdt, go32_sidt)
3011         (go32_pde, go32_pte, go32_pte_for_address): Constify.
3012         * gnu-nat.c (_parse_bool_arg, show_thread_default_pause_cmd)
3013         (set_thread_default_pause_cmd, set_thread_default_run_cmd)
3014         (show_thread_default_run_cmd, set_thread_default_detach_sc_cmd)
3015         (parse_int_arg, show_thread_default_detach_sc_cmd)
3016         (set_signals_cmd, show_signals_cmd, set_sig_thread_cmd)
3017         (show_sig_thread_cmd, set_stopped_cmd, show_stopped_cmd)
3018         (set_exceptions_cmd, show_exceptions_cmd, set_task_pause_cmd)
3019         (show_task_pause_cmd, set_task_detach_sc_cmd)
3020         (show_task_detach_sc_cmd, set_task_exc_port_cmd)
3021         (set_noninvasive_cmd, set_thread_pause_cmd)
3022         (show_thread_pause_cmd, set_thread_run_cmd, show_thread_run_cmd)
3023         (set_thread_detach_sc_cmd, show_thread_detach_sc_cmd)
3024         (set_thread_exc_port_cmd, thread_takeover_sc_cmd): Constify.
3025         * windows-nat.c (display_selectors): Constify.
3026         * cli/cli-decode.h (struct cmd_list_element) <function>: Remove
3027         non-const "cfunc".
3028         * cli/cli-decode.c (set_cmd_cfunc): Remove non-const overload.
3029         (cmd_cfunc_eq): Likewise.
3030         (struct cmd_list_element): Likewise.
3031         (do_cfunc): Remove.
3032         (cli_user_command_p): Update.
3033         * command.h (add_cmd): Remove non-const overload.
3034         (cmd_cfunc_ftype): Remove typedef.
3035         (cmd_cfunc_eq): Remove non-const overload.
3036         * value.c (show_values): Constify.
3037         * thread.c (thread_apply_all_command): Constify.
3038         * symfile.c (load_command): Constify.
3039         * source.c (directory_command): Constify.
3040         * maint.c (maintenance_internal_error)
3041         (maintenance_demangler_warning, maintenance_space_display)
3042         (maintenance_print_architecture, maintenance_translate_address)
3043         (maintenance_info_selftests, maintenance_internal_warning):
3044         Constify.
3045         * breakpoint.c (disable_trace_command, enable_trace_command):
3046         Constify.
3047         * auto-load.c (info_auto_load_local_gdbinit, add_auto_load_dir):
3048         Constify.
3049         (add_auto_load_safe_path): Constify.
3050         * guile/scm-auto-load.c (info_auto_load_guile_scripts): Constify.
3051         * top.h (show_commands): Constify.
3052         * linux-thread-db.c (info_auto_load_libthread_db): Constify.
3053         * sparc64-tdep.c (adi_examine_command): Constify.
3054         (adi_assign_command): Constify.
3055
3056 2017-11-07  Tom Tromey  <tom@tromey.com>
3057
3058         * frame.h (info_locals_command, info_args_command): Constify.
3059         * auto-load.h (auto_load_info_scripts): Constify.
3060         * inferior.h (registers_info): Constify.
3061         * copying.c: Rebuild.
3062         * copying.awk: Constify generated commands.
3063         * auto-load.c (auto_load_info_scripts)
3064         (info_auto_load_gdb_scripts): Constify.
3065         * cli/cli-decode.c (struct cmd_list_element): Take a
3066         cmd_const_cfunc_ftype.
3067         * command.h (add_info): Take a cmd_const_cfunc_ftype.
3068         * tui/tui-win.c (tui_all_windows_info): Constify.
3069         * python/py-auto-load.c (info_auto_load_python_scripts):
3070         Constify.
3071         * cli/cli-cmds.c (show_command): Remove non-const overload.
3072         * tracepoint.c (info_tvariables_command, info_scope_command):
3073         Constify.
3074         (info_static_tracepoint_markers_command): Constify.
3075         * thread.c (info_threads_command): Constify.
3076         (print_thread_info_1): Constify.
3077         * target.c (info_target_command): Constify.
3078         * symtab.c (info_sources_command, info_functions_command)
3079         (info_types_command): Constify.
3080         (info_variables_command): Remove non-const overload.
3081         * symfile.c (info_ext_lang_command): Constify.
3082         * stack.c (info_frame_command, info_locals_command)
3083         (info_args_command): Constify.
3084         (backtrace_command): Remove non-const overload.
3085         * source.c (info_source_command, info_line_command): Constify.
3086         * solib.c (info_sharedlibrary_command): Constify.
3087         * skip.c (info_skip_command): Constify.
3088         * ser-go32.c (info_serial_command): Constify.
3089         * reverse.c (info_bookmarks_command): Constify.
3090         * printcmd.c (info_symbol_command, info_address_command)
3091         (info_display_command): Constify.
3092         * osdata.c (info_osdata_command): Constify.
3093         * objc-lang.c (info_selectors_command, info_classes_command):
3094         Constify.
3095         * nto-procfs.c (procfs_pidlist, procfs_meminfo): Constify.
3096         * memattr.c (info_mem_command): Constify.
3097         * macrocmd.c (info_macro_command, info_macros_command): Constify.
3098         * linux-fork.c (info_checkpoints_command): Constify.
3099         * infrun.c (info_signals_command): Constify.
3100         * inflow.c (info_terminal_command): Constify.
3101         * inferior.c (info_inferiors_command): Constify.
3102         (print_inferior): Constify.
3103         * infcmd.c (info_program_command, info_all_registers_command)
3104         (info_registers_command, info_vector_command)
3105         (info_float_command): Constify.
3106         (registers_info): Constify.
3107         * gnu-nat.c (info_send_rights_cmd, info_recv_rights_cmd)
3108         (info_port_sets_cmd, info_dead_names_cmd, info_port_rights_cmd):
3109         Constify.
3110         * f-valprint.c (info_common_command): Constify.
3111         * dcache.c (info_dcache_command): Constify.
3112         (dcache_info_1): Constify.
3113         * darwin-nat-info.c (info_mach_tasks_command)
3114         (info_mach_task_command, info_mach_ports_command)
3115         (info_mach_port_command, info_mach_threads_command)
3116         (info_mach_thread_command, info_mach_regions_command)
3117         (info_mach_regions_recurse_command, info_mach_region_command)
3118         (info_mach_exceptions_command): Constify.
3119         (get_task_from_args): Constify.
3120         * cp-support.c (info_vtbl_command): Constify.
3121         * breakpoint.c (info_watchpoints_command)
3122         (info_tracepoints_command): Constify.
3123         (info_breakpoints_command): Remove non-const overload.
3124         * avr-tdep.c (avr_io_reg_read_command): Constify.
3125         * auxv.c (info_auxv_command): Constify.
3126         * ada-tasks.c (info_tasks_command): Constify.
3127         (info_task): Constify.
3128         * ada-lang.c (info_exceptions_command): Constify.
3129
3130 2017-11-07  Tom Tromey  <tom@tromey.com>
3131
3132         * solib.h (no_shared_libraries): Constify.
3133         * frame.h (return_command): Constify.
3134         * cli/cli-cmds.h (quit_command): Constify.
3135         * top.h (quit_command, execute_command): Constify.
3136         * target.h (flash_erase_command): Constify.
3137         * inferior.h (set_inferior_args, attach_command): Constify.
3138         * tracepoint.h (start_tracing, stop_tracing): Constify.
3139         * breakpoint.h (break_command, tbreak_command)
3140         (hbreak_command_wrapper, thbreak_command_wrapper)
3141         (rbreak_command_wrapper, watch_command_wrapper)
3142         (awatch_command_wrapper, rwatch_command_wrapper)
3143         (get_tracepoint_by_number): Constify.
3144         * symtab.c (info_variables_command, rbreak_command)
3145         (symtab_symbol_info): Constify.
3146         (info_variables_command): Add non-const overload.
3147         * top.c (dont_repeat_command): Constify.
3148         * breakpoint.c (ignore_command, commands_command)
3149         (condition_command, tbreak_command, hbreak_command)
3150         (thbreak_command, clear_command, break_command)
3151         (info_breakpoints_command, watch_command, rwatch_command)
3152         (awatch_command, trace_command, ftrace_command, strace_command)
3153         (trace_pass_command, break_range_command, dprintf_command)
3154         (agent_printf_command, get_tracepoint_by_number)
3155         (watch_maybe_just_location, trace_pass_command): Constify.
3156         (info_breakpoints_command): Add non-const overload.
3157         * tracefile.c (tsave_command): Constify.
3158         * infcmd.c (attach_command, disconnect_command, signal_command)
3159         (queue_signal_command, stepi_command, nexti_command)
3160         (finish_command, next_command, step_command, until_command)
3161         (advance_command, jump_command, continue_command, run_command)
3162         (start_command, starti_command, interrupt_command)
3163         (run_command_1, set_inferior_args, step_1): Constify.
3164         * inferior.c (add_inferior_command, remove_inferior_command)
3165         (clone_inferior_command): Constify.
3166         * linux-fork.c (checkpoint_command, restart_command): Constify.
3167         * windows-nat.c (signal_event_command): Constify.
3168         * guile/guile.c (guile_repl_command, guile_command): Constify.
3169         * printcmd.c (x_command, display_command, printf_command)
3170         (output_command, set_command, call_command, print_command)
3171         (eval_command): Constify.
3172         (non_const_set_command): Remove.
3173         (_initialize_printcmd): Update.
3174         * source.c (forward_search_command, reverse_search_command):
3175         Constify.
3176         * jit.c (jit_reader_load_command, jit_reader_unload_command):
3177         Constify.
3178         * infrun.c (handle_command): Constify.
3179         * memattr.c (mem_command): Constify.
3180         * stack.c (return_command, up_command, up_silently_command)
3181         (down_command, down_silently_command, frame_command)
3182         (backtrace_command, func_command, backtrace_command_1): Constify.
3183         (backtrace_command): Add non-const overload.
3184         * remote-sim.c (simulator_command): Constify.
3185         * exec.c (set_section_command): Constify.
3186         * tracepoint.c (tdump_command, trace_variable_command)
3187         (tstatus_command, tstop_command, tstart_command)
3188         (end_actions_pseudocommand, while_stepping_pseudocommand)
3189         (collect_pseudocommand, teval_pseudocommand, actions_command)
3190         (start_tracing, stop_tracing): Constify.
3191         * value.c (init_if_undefined_command): Constify.
3192         * tui/tui-stack.c (tui_update_command): Constify.
3193         * tui/tui-win.c (tui_refresh_all_command)
3194         (tui_set_tab_width_command, tui_set_win_height_command)
3195         (tui_set_focus_command, tui_scroll_forward_command)
3196         (tui_scroll_backward_command, tui_scroll_left_command)
3197         (tui_scroll_right_command, parse_scrolling_args, tui_set_focus)
3198         (tui_set_win_height): Constify.
3199         * tui/tui-layout.c (tui_layout_command): Constify.
3200         * procfs.c (proc_trace_syscalls, proc_trace_sysentry_cmd)
3201         (proc_trace_sysexit_cmd, proc_untrace_sysentry_cmd)
3202         (proc_untrace_sysexit_cmd): Constify.
3203         * remote.c (threadlist_test_cmd, threadinfo_test_cmd)
3204         (threadset_test_cmd, threadlist_update_test_cmd)
3205         (threadalive_test): Constify.
3206         * objc-lang.c (print_object_command): Constify.
3207         * command.h (add_com): Constify.
3208         * cli/cli-dump.c (restore_command): Constify.
3209         * cli/cli-cmds.c (pwd_command, echo_command, quit_command)
3210         (help_command, complete_command, shell_command, edit_command)
3211         (list_command, disassemble_command, make_command)
3212         (apropos_command, alias_command): Constify.
3213         * cli/cli-script.c (document_command, define_command)
3214         (while_command, if_command, validate_comname): Constify.
3215         * cli/cli-decode.c (struct cmd_list_element): Change type of
3216         "fun".
3217         * target.c (do_monitor_command, flash_erase_command): Constify.
3218         * regcache.c (reg_flush_command): Constify.
3219         * reverse.c (reverse_step, reverse_next, reverse_stepi)
3220         (reverse_nexti, reverse_continue, reverse_finish)
3221         (save_bookmark_command, goto_bookmark_command)
3222         (exec_reverse_once): Constify.
3223         * python/python.c (python_interactive_command, python_command):
3224         Constify.
3225         * typeprint.c (ptype_command, whatis_command, whatis_exp):
3226         Constify.
3227         * solib.c (sharedlibrary_command, no_shared_libraries): Constify.
3228         * gcore.c (gcore_command): Constify.
3229
3230 2017-11-07  Tom Tromey  <tom@tromey.com>
3231
3232         * printcmd.c (x_command): Call set_repeat_arguments.
3233         * cli/cli-cmds.c (list_command): Call set_repeat_arguments.
3234         * top.c (repeat_arguments): New global.
3235         (set_repeat_arguments): New function.
3236         (execute_command): Handle repeat_arguments.
3237         (show_commands): Calls set_repeat_arguments.
3238         * command.h (set_repeat_arguments): Declare.
3239
3240 2017-11-07  Tom Tromey  <tom@tromey.com>
3241
3242         * stack.c (backtrace_command): Use std::string.
3243         (backtrace_command_1): Make "count_exp" const.
3244
3245 2017-11-07  Tom Tromey  <tom@tromey.com>
3246
3247         * source.c (directory_switch, mod_path, add_path): Constify.
3248         * defs.h (add_path, mod_path, directory_switch): Constify.
3249         * mi/mi-cmd-env.c (env_mod_path): Constify.
3250
3251 2017-11-07  Tom Tromey  <tom@tromey.com>
3252
3253         * infcmd.c (strip_bg_char): Return gdb::unique_xmalloc_ptr.
3254         (run_command_1, continue_command, step_1, jump_command)
3255         (signal_command, until_command, advance_command, finish_command)
3256         (attach_command): Update.
3257
3258 2017-11-07  Tom Tromey  <tom@tromey.com>
3259
3260         * command.h (set_cmd_cfunc): Don't declare.
3261         * cli/cli-decode.c (set_cmd_cfunc): Now static.
3262
3263 2017-11-07  Tom Tromey  <tom@tromey.com>
3264
3265         * stack.c (select_frame_command): Constify.
3266         * cli/cli-decode.c (add_com_suppress_notification): Constify.
3267         * command.h (add_com_suppress_notification): Constify.
3268
3269 2017-11-07  Tom Tromey  <tom@tromey.com>
3270
3271         * breakpoint.c (stop_command): Constify.
3272         * cli/cli-decode.c (struct cmd_list_element): Constify.
3273         * command.h (add_abbrev_prefix_cmd): Constify.
3274
3275 2017-11-07  Pedro Alves  <palves@redhat.com>
3276
3277         * breakpoint.c (extract_bp_kind): New enum.
3278         (extract_bp_num, extract_bp_or_bp_range): New functions, partially
3279         factored out from ...
3280         (extract_bp_number_and_location): ... here.
3281         * cli/cli-utils.c (get_number_trailer): Handle '-$variable'.
3282
3283 2017-11-07  Pedro Alves  <palves@redhat.com>
3284
3285         * breakpoint.c (extract_bp_number_and_location): Change return
3286         type to void.  Throw error instead of warning.
3287         (enable_disable_command): Adjust.
3288
3289 2017-11-07  Xavier Roirand  <roirand@adacore.com>
3290             Pedro Alves  <palves@redhat.com>
3291
3292         * breakpoint.c (map_breakpoint_number_range): New, factored out
3293         from ...
3294         (map_breakpoint_numbers): ... here.
3295         (find_location_by_number): Change parameters from string to
3296         breakpoint number and location.
3297         (extract_bp_number_and_location): New function.
3298         (enable_disable_bp_num_loc)
3299         (enable_disable_breakpoint_location_range)
3300         (enable_disable_command): New functions, factored out ...
3301         (enable_command, disable_command): ... these functions, and
3302         adjusted to support ranges.
3303         * NEWS: Document enable/disable breakpoint location range feature.
3304
3305 2017-11-06  Luis Machado  <luis.machado@linaro.org>
3306
3307         * MAINTAINERS (Write After Approval): Update my e-mail address.
3308
3309 2017-11-06  Pedro Alves  <palves@redhat.com>
3310
3311         * gnu-nat.c (gnu_terminal_init): Delete.
3312         (gnu_target): Don't install gnu_terminal_init.
3313         * inflow.c (child_terminal_init_with_pgrp): Delete, merged with ...
3314         (child_terminal_init): ... this function.
3315
3316 2017-11-06  Pedro Alves  <palves@redhat.com>
3317
3318         * common/common.m4 (GDB_AC_COMMON): No longer check termio.h nor
3319         sgtty.h.
3320         * config.in, configure: Regenerate.
3321
3322 2017-11-06  Pedro Alves  <palves@redhat.com>
3323
3324         * event-top.c: Check SIGTSTP instead of STOP_SIGNAL thoughout.
3325         (async_init_signals): Adjust.
3326         (handle_stop_sig): Rename to ...
3327         (handle_sigtstp): ... this.
3328         (async_stop_sig): Rename to ...
3329         (async_sigtstp_handler): ... this, and delete STOP_SIGNAL !=
3330         SIGTSTP path.
3331         * event-top.h: Move signal.h include to the top.  Check SIGTSTP
3332         instead of STOP_SIGNAL thoughout.
3333         (handle_stop_sig): Rename to ...
3334         (handle_sigtstp): ... this.
3335         * top.c (command_line_input): Replace STOP_SIGNAL -> SIGTSTP.
3336
3337 2017-11-06  Pedro Alves  <palves@redhat.com>
3338
3339         * inflow.c (child_terminal_inferior, child_terminal_ours_1): No
3340         longer set flags twice in row.
3341
3342 2017-11-06  Pedro Alves  <palves@redhat.com>
3343
3344         * Makefile.in (SER_HARDWIRE): Update comment.
3345         (HFILES_NO_SRCDIR): Remove gdb_termios.h.
3346         * common/gdb_termios.h: Delete file.
3347         * common/job-control.c: Include termios.h and unistd.h instead of
3348         gdb_termios.h.
3349         (gdb_setpgid): Remove HAVE_TERMIOS || TIOCGPGRP preprocessor
3350         check.
3351         (have_job_control): Check HAVE_TERMIOS_H instead of HAVE_TERMIOS.
3352         Remove sgtty code.
3353         * configure.ac: No longer check for termio.h and sgtty.h.
3354         * configure: Regenerate.
3355         * inflow.c: Include termios.h instead of gdb_termios.h.  Replace
3356         PROCESS_GROUP_TYPE checks with HAVE_TERMIOS_H checks throughout.
3357         Replace PROCESS_GROUP_TYPE references with pid_t references
3358         throughout.
3359         (gdb_getpgrp): Delete.
3360         (set_initial_gdb_ttystate): Use tcgetpgrp instead of gdb_getpgrp.
3361         (child_terminal_inferior): Remove comment.  Remove sgtty code.
3362         (child_terminal_ours_1): Use tcgetpgrp directly instead of
3363         gdb_getpgrp.  Use serial_set_tty_state instead aof
3364         serial_noflush_set_tty_state.  Remove sgtty code.
3365         * inflow.h: Include unistd.h instead of gdb_termios.h.  Replace
3366         PROCESS_GROUP_TYPE check with HAVE_TERMIOS_H check.
3367         (inferior_process_group): Now returns pid_t.
3368         * ser-base.c (ser_base_noflush_set_tty_state): Delete.
3369         * ser-base.h (ser_base_noflush_set_tty_state): Delete.
3370         * ser-event.c (serial_event_ops): Update.
3371         * ser-go32.c (dos_noflush_set_tty_state): Delete.
3372         (dos_ops): Update.
3373         * ser-mingw.c (hardwire_ops, tty_ops, pipe_ops, tcp_ops): Update.
3374         * ser-pipe.c (pipe_ops): Update.
3375         * ser-tcp.c (tcp_ops): Update.
3376         * ser-unix.c: Include termios.h instead of gdb_termios.h.  Remove
3377         HAVE_TERMIOS checks.
3378         [HAVE_TERMIO] (struct hardwire_ttystate): Delete.
3379         [HAVE_SGTTY] (struct hardwire_ttystate): Delete.
3380         (get_tty_state, set_tty_state): Drop termio and sgtty code, and
3381         assume termios.
3382         (hardwire_noflush_set_tty_state): Delete.
3383         (hardwire_print_tty_state, hardwire_drain_output)
3384         (hardwire_flush_output, hardwire_flush_input)
3385         (hardwire_send_break, hardwire_raw, hardwire_setbaudrate)
3386         (hardwire_setstopbits, hardwire_setparity): Drop termio and sgtty
3387         code, and assume termios.
3388         (hardwire_ops): Update.
3389         (_initialize_ser_hardwire): Remove HAVE_TERMIOS check.
3390         * serial.c (serial_noflush_set_tty_state): Delete.
3391         * serial.h (serial_noflush_set_tty_state): Delete.
3392         (serial_ops::noflush_set_tty_state): Delete.
3393
3394 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3395
3396         * Makefile.in (SFILES): Remove doublest.c and dfp.c.
3397         (HFILES_NO_SRCDIR): Remove doublest.h and dfp.h.
3398         (COMMON_OBS): Remove doublest.o and dfp.o.
3399         Do not build target-float.c (instead of doublest.c)
3400         with -Wformat-nonliteral.
3401
3402         * doublest.c: Remove file.
3403         * doublest.h: Remove file.
3404         * dfp.c: Remove file.
3405         * dfp.h: Remove file.
3406
3407         * target-float.c: Do not include "doublest.h" and "dfp.h".
3408         (DOUBLEST): Move here from doublest.h.
3409         (enum float_kind): Likewise.
3410         (FLOATFORMAT_CHAR_BIT): Likewise.
3411         (FLOATFORMAT_LARGEST_BYTES): Likewise.
3412         (floatformat_totalsize_bytes): Move here from doublest.c.  Make static.
3413         (floatformat_precision): Likewise.
3414         (floatformat_normalize_byteorder, get_field, put_field): Likewise.
3415         (floatformat_is_negative, floatformat_classify, floatformat_mantissa):
3416         Likewise.
3417         (host_float_format, host_double_format, host_long_double_format):
3418         Likewise.
3419         (floatformat_to_string, floatformat_from_string): Likewise.
3420         (floatformat_to_doublest): Likewise.  Also, inline the original
3421         convert_floatformat_to_doublest.
3422         (floatformat_from_doublest): Likewise.  Also, inline the original
3423         convert_floatformat_from_doublest.
3424
3425         Include "dpd/decimal128.h", "dpd/decimal64.h", and "dpd/decimal32.h".
3426         (MAX_DECIMAL_STRING): Move here from dfp.c.
3427         (match_endianness): Likewise.
3428         (set_decnumber_context, decimal_check_errors): Likewise.
3429         (decimal_from_number, decimal_to_number): Likewise.
3430         (decimal_to_string, decimal_from_string): Likewise.  Make static.
3431         (decimal_from_longest, decimal_from_ulongest): Likewise.
3432         (decimal_to_longest): Likewise.
3433         (decimal_binop, decimal_is_zero, decimal_compare): Likewise.
3434         (decimal_convert): Likewise.
3435
3436 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3437
3438         * doublest.c: Do not include "gdbtypes.h".
3439         (extract_typed_floating): Remove.
3440         (store_typed_floating): Remove.
3441         (convert_typed_floating): Remove.
3442         * doublest.h (struct type): Remove.
3443         (DOUBLEST_PRINT_FORMAT): Remove.
3444         (DOUBLEST_SCAN_FORMAT): Remove.
3445         (extract_typed_floating): Remove.
3446         (store_typed_floating): Remove.
3447         (convert_typed_floating): Remove.
3448
3449         * dfp.c (decimal_from_doublest): Remove.
3450         (decimal_to_doublest): Remove.
3451         * dfp.h: Do not include "doublest.h".
3452         (decimal_from_doublest): Remove.
3453         (decimal_to_doublest): Remove.
3454
3455         * value.c: Do not include "doublest.h" and "dfp.h".
3456         (value_as_double): Remove.
3457         (unpack_double): Remove.
3458         (value_from_double): Remove.
3459         (value_from_decfloat): Remove.
3460         * value.h: Do not include "doublest.h".
3461         (value_as_double): Remove.
3462         (unpack_double): Remove.
3463         (value_from_double): Remove.
3464         (value_from_decfloat): Remove.
3465
3466 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3467
3468         * i386-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3469         (i386_extract_return_value): Use target_float_convert.
3470         (i386_store_return_value): Likewise.
3471         * i387-tdep.c (i387_register_to_value): Use target_float_convert.
3472         (i387_value_to_register): Likewise.
3473         * ia64-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3474         (ia64_register_to_value): Use target_float_convert.
3475         (ia64_value_to_register): Likewise.
3476         (ia64_extract_return_value): Likewise.
3477         (ia64_store_return_value): Likewise.
3478         (ia64_push_dummy_call): Likewise.
3479         * m68k-tdep.c: Include "target-float.h".
3480         (m68k_register_to_value): Use target_float_convert.
3481         (m68k_value_to_register): Likewise.
3482         (m68k_svr4_extract_return_value): Likewise.
3483         (m68k_svr4_store_return_value): Likewise.
3484         * ppc-sysv-tdep.c: Include "target-float.h".
3485         (ppc_sysv_abi_push_dummy_call): Use target_float_convert.
3486         (do_ppc_sysv_return_value): Likewise.
3487         (ppc64_sysv_abi_push_freg): Likewise.
3488         (ppc64_sysv_abi_return_value_base): Likewise.
3489         * rs6000-aix-tdep.c: Include "target-float.h".
3490         (rs6000_push_dummy_call): Use target_float_convert.
3491         (rs6000_return_value): Likewise.
3492         * rs6000-lynx178-tdep.c: Include "target-float.h".
3493         (rs6000_lynx178_push_dummy_call): Use target_float_convert.
3494         (rs6000_lynx178_return_value): Likewise.
3495         * rs6000-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3496         (rs6000_register_to_value): Use target_float_convert.
3497         (rs6000_value_to_register): Likewise.
3498         * arm-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3499         (arm_extract_return_value): Use target_float_convert.
3500         (arm_store_return_value): Likewise.
3501         * sh-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3502         (sh_register_convert_to_virtual): Use target_float_convert.
3503         (sh_register_convert_to_raw): Likewise.
3504         * sh64-tdep.c: Include "target-float.h".
3505         (sh64_extract_return_value): Use target_float_convert.
3506         (sh64_register_convert_to_virtual): Likewise.
3507         (sh64_register_convert_to_raw): Likewise.  Fix argument types.
3508
3509 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3510
3511         * target-float.c (floatformat_to_host_double): New function.
3512         (floatformat_from_host_double): Likewise.
3513         (target_float_to_host_double): Likewise.
3514         (target_float_from_host_double): Likewise.
3515         * target-float.h (target_float_to_host_double): Add prototype.
3516         (target_float_from_host_double): Likewise.
3517
3518         * guile/scm-value.c: Include "target-float.h".
3519         (gdbscm_value_to_real): Use target_float_to_host_double.
3520         Handle integer source values via value_as_long.
3521         * guile/scm-math.c: Include "target-float.h".  Do not include
3522         "doublest.h", "dfp.h", and "expression.h".
3523         (vlscm_convert_typed_number): Use target_float_from_host_double.
3524         (vlscm_convert_number): Likewise.
3525
3526         * python/py-value.c (valpy_float): Use target_float_to_host_double.
3527         (convert_value_from_python): Use target_float_from_host_double.
3528
3529 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3530
3531         * ada-lang.c (cast_to_fixed): Reimplement in target arithmetic.
3532         (cast_from_fixed): Likewise.
3533         (ada_scaling_type): New function.
3534         (ada_delta): Return value instead of DOUBLEST.  Perform target
3535         arithmetic instead of host arithmetic.
3536         (scaling_factor): Rename to ...
3537         (ada_scaling_factor) ... this.  Make non-static.  Return value instead
3538         of DOUBLEST.  Perform target arithmetic instead of host arithmetic.
3539         (ada_fixed_to_float): Remove.
3540         (ada_float_to_fixed): Remove.
3541         * ada-lang.h (ada_fixed_to_float): Remove.
3542         (ada_float_to_fixed): Remove.
3543         (ada_delta): Return value instead of DOUBLEST.
3544         (ada_scaling_factor): Add prototype.
3545
3546         * ada-typeprint.c: Include "target-float.h".
3547         (print_fixed_point_type): Perform target arithmetic instead of
3548         host arithmetic.
3549         * ada-valprint.c: Include "target-float.h".
3550         (ada_val_print_num): Perform target arithmetic instead of
3551         host arithmetic for fixed-point types.
3552
3553 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3554
3555         * target-float.c: Include <math.h>.
3556         (floatformat_binop): New function.
3557         (floatformat_compare): Likewise.
3558         (target_float_binop): Likewise.
3559         (target_float_compare): Likewise.
3560         * target-float.h: Include "expression.h".
3561         (target_float_binop): Add prototype.
3562         (target_float_compare): Likewise.
3563
3564         * valarith.c: Do not include "doublest.h" and "dfp.h".
3565         Include "common/byte-vector.h".
3566         (value_args_as_decimal): Remove, replace by ...
3567         (value_args_as_target_float): ... this function.  Handle both
3568         binary and decimal target floating-point formats.
3569         (scalar_binop): Handle both binary and decimal FP using
3570         value_args_as_target_float and target_float_binop.
3571         (value_equal): Handle both binary and decimal FP using
3572         value_args_as_target_float and target_float_compare.
3573         (value_less): Likewise.
3574         (value_pos): Handle all scalar types as simple copy.
3575         (value_neg): Handle all scalar types via BINOP_SUB from 0.
3576         * dfp.c (decimal_binop): Throw error instead of internal_error
3577         when called with an unsupported operation code.
3578
3579 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3580
3581         * target-float.c (target_float_to_string): New function.
3582         (target_float_from_string): New function.
3583         * target-float.h (target_float_to_string): Add prototype.
3584         (target_float_from_string): Add prototype.
3585
3586         * valprint.c: Include "target-float.h".  Do not include
3587         "doublest.h" and "dfp.h".
3588         (print_floating): Use target_float_to_string.
3589         * printcmd.c: Include "target-float.h".  Do not include "dfp.h".
3590         (printf_floating): Use target_float_to_string.
3591         * i387-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3592         (print_i387_value): Use target_float_to_string.
3593         * mips-tdep.c: Include "target-float.h".
3594         (mips_print_fp_register): Use target_float_to_string.
3595         * sh64-tdep.c: Include "target-float.h".
3596         (sh64_do_fp_register): Use target_float_to_string.
3597
3598         * parse.c: Include "target-float.h".  Do not include
3599         "doublest.h" and "dfp.h".
3600         (parse_float): Use target_float_from_string.
3601         * stabsread.c: Include "target-float.h".  Do not include "doublest.h".
3602         (define_symbol): Use target_float_from_string.
3603         * gdbarch-selftests.c: Include "target-float.h".
3604         (register_to_value_test): Use target_float_from_string.
3605
3606 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3607
3608         * Makefile.c (SFILES): Add target-float.c.
3609         (HFILES_NO_SRCDIR): Add target-float.h.
3610         (COMMON_OBS): Add target-float.o.
3611         * target-float.h: New file.
3612         * target-float.c: New file.
3613
3614         * doublest.c (floatformat_classify): Fix detection of float_zero.
3615
3616         * gdbtypes.c (is_floating_type): New function.
3617         * gdbtypes.h (is_floating_type): Add prototype.
3618
3619         * value.c: Do not include "floatformat.h".
3620         (unpack_double): Use target_float_is_valid.
3621         (is_floating_value): New function.
3622         * value.h (is_floating_value): Add prototype-
3623
3624         * valarith.c: Include "target-float.h".
3625         (value_logical_not): Use target_float_is_zero.
3626
3627         * python/py-value.c: Include "target-float.h".
3628         (valpy_nonzero): Use target_float_is_zero.
3629
3630 2017-11-04  Tom Tromey  <tom@tromey.com>
3631
3632         * h8300-tdep.c (h8300_push_dummy_call): Use std::vector.
3633
3634 2017-11-04  Tom Tromey  <tom@tromey.com>
3635
3636         * breakpoint.c (set_momentary_breakpoint): Return
3637         breakpoint_up.
3638         (until_break_command): Update.
3639         (new_until_break_fsm): Change argument types to
3640         breakpoint_up.
3641         (set_momentary_breakpoint_at_pc): Return breakpoint_up.
3642         (do_delete_breakpoint_cleanup, make_cleanup_delete_breakpoint):
3643         Remove.
3644         * infcmd.c (finish_forward): Update.
3645         * breakpoint.h (set_momentary_breakpoint)
3646         (set_momentary_breakpoint_at_pc): Return breakpoint_up.
3647         (make_cleanup_delete_breakpoint): Remove.
3648         (struct breakpoint_deleter): New.
3649         (breakpoint_up): New typedef.
3650         * infrun.c (insert_step_resume_breakpoint_at_sal_1): Update.
3651         (insert_exception_resume_breakpoint): Update.
3652         (insert_exception_resume_from_probe): Update.
3653         (insert_longjmp_resume_breakpoint): Update.
3654         * arm-linux-tdep.c (arm_linux_copy_svc): Update.
3655         * elfread.c (elf_gnu_ifunc_resolver_stop): Update.
3656         * infcall.c (call_function_by_hand_dummy): Update
3657
3658 2017-11-04  Tom Tromey  <tom@tromey.com>
3659
3660         * c-typeprint.c (c_type_print_base): Use gdb::unique_xmalloc_ptr.
3661
3662 2017-11-04  Tom Tromey  <tom@tromey.com>
3663
3664         * linux-tdep.c (linux_core_info_proc_mappings): Use
3665         gdb::def_vector.
3666         (linux_get_siginfo_data): Return gdb::byte_vector.  Remove
3667         "size" argument.
3668         (linux_corefile_thread): Update.
3669         (linux_make_corefile_notes): Remove unused variable.
3670
3671 2017-11-04  Tom Tromey  <tom@tromey.com>
3672
3673         * ppc-linux-tdep.c (ppc_linux_get_syscall_number): Use
3674         gdb::byte_vector.
3675
3676 2017-11-04  Tom Tromey  <tom@tromey.com>
3677
3678         * objfiles.c (do_free_objfile_cleanup): Remove.
3679         * compile/compile-object-load.c (compile_object_load): Update.
3680         * objfiles.h (make_cleanup_free_objfile): Remove.
3681
3682 2017-11-04  Tom Tromey  <tom@tromey.com>
3683
3684         * sparc64-tdep.c (do_examine): Use gdb::def_vector.
3685         (adi_read_versions): Change "tags" to "gdb_byte *".
3686         (adi_print_versions): Likewise.
3687
3688 2017-11-04  Tom Tromey  <tom@tromey.com>
3689
3690         * breakpoint.c
3691         (scoped_rbreak_breakpoints::scoped_rbreak_breakpoints): Rename
3692         from start_rbreak_breakpoints.
3693         (scoped_rbreak_breakpoints): Rename from end_rbreak_breakpoints.
3694         * breakpoint.h (class scoped_rbreak_breakpoints): New.
3695         (start_rbreak_breakpoints, end_rbreak_breakpoints): Remove.
3696         * symtab.c (do_end_rbreak_breakpoints): Remove.
3697         (rbreak_command): Use scoped_rbreak_breakpoints, std::string.
3698
3699 2017-11-04  Tom Tromey  <tom@tromey.com>
3700
3701         * cp-namespace.c (reset_directive_searched): Remove.
3702         (cp_lookup_symbol_via_imports): Use scoped_restore.
3703         * cp-support.c (reset_directive_searched): Remove.
3704         (make_symbol_overload_list_using): Use scoped_restore.
3705         * d-namespace.c (d_lookup_symbol_imports): Use scoped_restore.
3706         (reset_directive_searched): Remove.
3707
3708 2017-11-04  Tom Tromey  <tom@tromey.com>
3709
3710         * symfile.c (find_separate_debug_file_by_debuglink): Use
3711         unique_xmalloc_ptr.
3712
3713 2017-11-04  Tom Tromey  <tom@tromey.com>
3714
3715         * compile/compile-loc2c.c (compute_stack_depth_worker): Change
3716         type of "info".
3717         (compute_stack_depth): Likewise.
3718         (do_compile_dwarf_expr_to_c): Use std::vector.
3719
3720 2017-11-04  Tom Tromey  <tom@tromey.com>
3721
3722         * compile/compile-object-load.c (link_callbacks_einfo): Use
3723         std::string.
3724
3725 2017-11-04  Tom Tromey  <tom@tromey.com>
3726
3727         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
3728         Use scoped_free_pendings.
3729         * dbxread.c (dbx_symfile_read, dbx_psymtab_to_symtab_1): Use
3730         scoped_free_pendings.
3731         * xcoffread.c (xcoff_psymtab_to_symtab_1): Use scoped_free_pendings.
3732         (xcoff_initial_scan): Likewise.
3733         * buildsym.c (reset_symtab_globals): Update comment.
3734         (scoped_free_pendings): Rename from really_free_pendings.
3735         (prepare_for_building): Update comment.
3736         (buildsym_init): Likewise.
3737         * buildsym.h (class scoped_free_pendings): New class.
3738         (really_free_pendings): Don't declare.
3739
3740 2017-11-03  Ulrich Weigand  <uweigand@de.ibm.com>
3741
3742         * doublest.c (convert_doublest_to_floatformat): Fix uninitialized
3743         output when converting a zero value to a special byteorder format.
3744
3745 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3746
3747         * frame.c (do_frame_register_read): Remove aspace.
3748         * jit.c (jit_frame_sniffer): Likwise.
3749         * ppc-linux-tdep.c (ppu2spu_sniffer): Likewise.
3750         * regcache.c (regcache::regcache): Pass nullptr.
3751         (regcache_print): Caller updated.
3752         * regcache.h (regcache::regcache): Remove one constructor
3753         parameter aspace.
3754
3755 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3756
3757         * regcache.h (regcache) <m_readonly_p>: Change it to const bool.
3758
3759 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3760
3761         * breakpoint.c (insert_single_step_breakpoints): Update.
3762         * frame.c (struct frame_info) <aspace>: Add const.
3763         (frame_save_as_regcache): Add const.
3764         (get_frame_address_space): Return const address_space *.
3765         * frame.h (get_frame_address_space): Update declaration.
3766         * infrun.c (struct step_over_info) <aspace>: Add const.
3767         (set_step_over_info): Make aspace const.
3768         (displaced_step_prepare_throw): Change variable const.
3769         (resume): Likewise.
3770         (proceed): Likewise.
3771         (adjust_pc_after_break): Likewise.
3772         (save_waitstatus): Likewise.
3773         (handle_signal_stop): Likewise.
3774         (keep_going_pass_signal): Likewise.
3775         * jit.c (jit_frame_sniffer): Add const.
3776         * mips-tdep.c (mips_single_step_through_delay): Likewise.
3777         * ppc-linux-tdep.c (ppu2spu_sniffer): Likewise.
3778         * record-full.c (record_full_wait_1): Likewise.
3779         * regcache.c (regcache::regcache): Change parameter to const.
3780         * regcache.h (regcache::regcache): Likewise.
3781         (regcache::aspace): Return const address_space *.
3782         (regcache) <m_aspace>: Add const.
3783
3784 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3785
3786         * darwin-nat.c (cancel_breakpoint): Use regcache->aspace ().
3787         * frame.c (create_sentinel_frame): Likewise.
3788         * infrun.c (displaced_step_prepare_throw): Likewise.
3789         (resume): Likewise.
3790         (thread_still_needs_step_over_bp): Likewise.
3791         (proceed): Likewise.
3792         (do_target_wait): Likewise.
3793         (adjust_pc_after_break): Likewise.
3794         (handle_syscall_event): Likewise.
3795         (save_waitstatus): Likewise.
3796         (handle_inferior_event_1): Likewise.
3797         (handle_signal_stop): Likewise.
3798         (keep_going_pass_signal): Likewise.
3799         * linux-nat.c (status_callback): Likewise.
3800         (save_stop_reason): Likewise.
3801         (resume_stopped_resumed_lwps): Likewise.
3802         * record-full.c (record_full_exec_insn): Likewise.
3803         (record_full_wait_1): Likewise.
3804         * regcache.c (get_regcache_aspace): Remove.
3805         * regcache.h (get_regcache_aspace): Remove.
3806
3807 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3808
3809         * regcache.c (struct regcache_descr) <nr_raw_registers>: Remove.
3810         (init_regcache_descr): Use gdbarch_num_regs.
3811         (regcache::regcache): Likewise.
3812         (regcache::get_register_status): Likewise.
3813         (regcache::assert_raw_regnum): Likewise.
3814         (regcache::cooked_read): Likewise.
3815         (regcache::cooked_read_value): Likewise.
3816         (regcache::cooked_write): Likewise.
3817         (regcache::dump): Likewise.
3818         (regcache::num_raw_registers): New method.
3819         * regcache.h (class regcache) <num_raw_registers>: New.
3820
3821 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3822
3823         * regcache.c (regcache::assert_regnum): New method.
3824         (regcache::invalidate): Call assert_regnum.
3825         (regcache::raw_update): Likewise.
3826         (regcache::raw_write): Likewise.
3827         (regcache::raw_read_part): Likewise.
3828         (regcache::raw_write_part): Likewise.
3829         (regcache::raw_supply): Likewise.
3830         (regcache::raw_supply_integer): Likewise.
3831         (regcache::raw_supply_zeroed): Likewise.
3832         (regcache::raw_collect): Likewise.
3833         (regcache::raw_collect_integer): Likewise.
3834         * regcache.h (regcache::assert_regnum): Declare.
3835
3836 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3837
3838         * regcache.c (regcache::dump): Remove code.
3839
3840 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3841
3842         * regcache.c (struct regcache_descr) <sizeof_raw_register_status>:
3843         Remove.
3844         <sizeof_cooked_register_status>: Remove.
3845         (init_regcache_descr): Update.
3846         (regcache::regcache): Use nr_cooked_registers and nr_raw_registers.
3847         (regcache::save): Likewise.
3848         (regcache::dump): Likewise.
3849
3850 2017-11-01  James Bowman  <james.bowman@ftdichip.com>
3851
3852         * ft32-tdep.c (ft32_fetch_instruction): New function.
3853         (ft32_analyze_prologue): Use ft32_fetch_instruction().
3854
3855 2017-10-31  Simon Marchi  <simon.marchi@polymtl.ca>
3856
3857         * cli/cli-script.c (execute_control_command): Rename to ...
3858         (execute_control_command_1): ... this.
3859         (execute_control_command): New function.
3860
3861 2017-10-31  Simon Marchi  <simon.marchi@ericsson.com>
3862
3863         * tracepoint.c (tfind_command): Remove const_cast.
3864
3865 2017-10-30  Mike Gulick  <mgulick@mathworks.com>
3866
3867         * Makefile.in (HFILES_NO_SRCDIR): Remove reference to gdb.h.
3868
3869 2017-10-30  Simon Marchi  <simon.marchi@ericsson.com>
3870
3871         * common/common-utils.h (in_inclusive_range): New function.
3872         * arm-tdep.c (arm_record_extension_space): Use
3873         in_inclusive_range.
3874         (thumb_record_ld_st_reg_offset): Use in_inclusive_range.
3875         * cris-tdep.c (cris_spec_reg_applicable): Use
3876         in_inclusive_range.
3877
3878 2017-10-30  Pedro Alves  <palves@redhat.com>
3879             Simon Marchi <simon.marchi@ericsson.com>
3880
3881         * remote.c (remote_set_syscall_catchpoint): Build a std::string
3882         instead of a gdb::unique_xmalloc_ptr, using string_appendf.
3883
3884 2017-10-30  Pedro Alves  <palves@redhat.com>
3885
3886         * common/common-utils.c (string_appendf, string_vappendf): New
3887         functions.
3888         * common/common-utils.h (string_appendf, string_vappendf): New
3889         declarations.
3890         * unittests/common-utils-selftests.c (string_appendf_func)
3891         (test_appendf_func, string_vappendf_wrapper, string_appendf_tests)
3892         (string_vappendf_tests): New functions.
3893         (_initialize_common_utils_selftests): Register "string_appendf" and
3894         "string_vappendf tests".
3895
3896 2017-10-30  Pedro Alves  <palves@redhat.com>
3897
3898         * unittests/common-utils-selftests.c (format_func): New typedef.
3899         (string_printf_tests, string_vprintf_tests): Tests factored out
3900         and merged to ...
3901         (test_format_func): ... this new function.
3902         (string_printf_tests, string_vprintf_tests): Reimplement on top of
3903         test_format_func.
3904
3905 2017-10-29  Simon Marchi  <simon.marchi@ericsson.com>
3906
3907         * darwin-nat.c: Remove include of gdb.h.
3908
3909 2017-10-29  Simon Marchi  <simon.marchi@ericsson.com>
3910
3911         * xtensa-xtregs.c: Fix formatting issues.
3912
3913 2017-10-29  Simon Marchi  <simon.marchi@ericsson.com>
3914
3915         * xtensa-xtregs.c (xtensa_regtable_t) <name>: Constify.
3916
3917 2017-10-28  Maksim Dzabraev  <dzabraew@gmail.com>
3918
3919         PR python/21213
3920         * python/py-infthread.c (thpy_get_inferior): Increment reference
3921         of inferior before returning it.
3922
3923 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
3924
3925         * unittests/common-utils-selftests.c (format): Add
3926         ATTRIBUTE_PRINTF.
3927
3928 2017-10-27  Simon Marchi  <simon.marchi@polymtl.ca>
3929
3930         * xml-syscall.c (struct syscall_desc): Add constructor.
3931         <name>: Change type to std::string.
3932         (syscall_desc_up): New typedef.
3933         (syscall_desc_p): Remove typeder.
3934         (DEF_VEC_P(syscall_desc_p)): Remove.
3935         (struct syscall_group_desc): Add constructor.
3936         <name>: Change type to std::string.
3937         <syscalls>: Change type to std::vector.
3938         (syscall_group_desc_up): New typedef.
3939         (syscall_group_desc_p): Remove typedef.
3940         (DEF_VEC_P(syscall_group_desc_p)): Remove.
3941         (struct syscalls_info) <syscalls>: Change type to std::vector of
3942         unique_ptr.
3943         <groups>: Likewise.
3944         <my_gdb_datadir>: Change type to std::string.
3945         (syscalls_info_up): New typedef.
3946         (allocate_syscalls_info): Remove.
3947         (syscalls_info_free_syscalls_desc): Remove.
3948         (syscalls_info_free_syscall_group_desc): Remove.
3949         (free_syscalls_info): Remove.
3950         (make_cleanup_free_syscalls_info): Remove.
3951         (syscall_group_create_syscall_group_desc): Adjust.
3952         (syscall_group_add_syscall): Adjust.
3953         (syscall_create_syscall_desc): Adjust.
3954         (syscall_parse_xml): Adjust, use unique_ptr instead of cleanup.
3955         (init_syscalls_info): Adjust.
3956         (syscall_group_get_group_by_name): Adjust.
3957         (xml_get_syscall_number): Adjust.
3958         (xml_get_syscall_name): Adjust.
3959         (xml_list_of_syscalls): Adjust.
3960         (xml_list_syscalls_by_group): Adjust.
3961         (xml_list_of_groups): Adjust.
3962
3963 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
3964
3965         * probe.h: Don't include gdb_vecs.h.
3966         (DEF_VEC_P (probe_p)): Remove.
3967         (find_probes_in_objfile): Return an std::vector.
3968         * probe.c (find_probes_in_objfile): Likewise.
3969         * breakpoint.c (breakpoint_objfile_data)
3970         <longjmp_probes>: Change type to std::vector.
3971         <exception_probes>: Likewise.
3972         (free_breakpoint_probes): Don't manually free vectors.
3973         (create_longjmp_master_breakpoint): Adjust.
3974         (create_exception_master_breakpoint): Adjust.
3975         * solib-svr4.c (svr4_create_probe_breakpoints): Change
3976         parameter type, adjust.
3977         (svr4_create_solib_event_breakpoints): Adjust.
3978
3979 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
3980
3981         * breakpoint.c (breakpoint_objfile_data): Initialize fields.
3982         (get_breakpoint_objfile_data): Allocate breakpoint_objfile_data
3983         with new.
3984         (free_breakpoint_probes): Rename to ...
3985         (free_breakpoint_objfile_data): ... this, and call delete on
3986         bp_objfile_data..
3987
3988 2017-10-27  Simon Marchi  <simon.marchi@polymtl.ca>
3989
3990         * auto-load.c: Don't include gdb_vecs.h, include algorithm.
3991         (loaded_script_ptr): Remove typedef.
3992         (DEF_VEC_P (loaded_script_ptr)): Remove.
3993         (struct collect_matching_scripts_data): Add constructor.
3994         <scripts_p>: Change type to (pointer to) std::vector.
3995         (collect_matching_scripts_data): Adjust.
3996         (sort_scripts_by_name): Make suitable for std::sort.
3997         (print_scripts): Don't sort vector, adjust to std::vector.
3998         (auto_load_info_scripts): Sort vectors, adjust to std::vector.
3999
4000 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4001
4002         * symfile.c (filename_language): Make struct, not typedef.  Add
4003         constructor.
4004         <ext>: Change type to std::string.
4005         (DEF_VEC_O (filename_language)): Remove.
4006         (filename_language_table): Change type to std::vector.
4007         (add_filename_language): Adjust.
4008         (set_ext_lang_command): Adjust.
4009         (info_ext_lang_command): Adjust.
4010         (deduce_language_from_filename): Adjust.
4011         (class scoped_restore_filename_language_table): Remove.
4012         (test_filename_language): Use scoped_restore.
4013         (test_set_ext_lang_command): Use scoped_restore, adjust to
4014         std::vector change.
4015
4016 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4017
4018         * symfile.c: Include selftest.h.
4019         (class scoped_restore_filename_language_table): New.
4020         (test_filename_language): New test.
4021         (test_set_ext_lang_command): New test.
4022         (_initialize_symfile): Register tests.
4023
4024 2017-10-27  Keith Seitz  <keiths@redhat.com>
4025
4026         * breakpoint.c (print_breakpoint_location): Use the symbol saved
4027         in the bp_location, falling back to find_pc_sect_function when
4028         needed.
4029         (add_location_to_breakpoint): Save sal->symbol.
4030         * breakpoint.h (struct bp_location) <symbol>: New field.
4031         * symtab.c (find_function_start_sal): Save the symbol into the SaL.
4032         * symtab.h (struct symtab_and_line) <symbol>: New field.
4033
4034 2017-10-26  Patrick Frants  <osscontribute@gmail.com>
4035
4036         PR gdb/13669
4037         * cp-valprint.c (cp_print_value_fields): Use obstack_blank_fast
4038         to rewind obstack.
4039
4040 2017-10-26  Pedro Alves  <palves@redhat.com>
4041
4042         * remote.c (remote_async_terminal_ours_p): Delete.
4043         (remote_open_1, remote_terminal_inferior, remote_terminal_ours):
4044         Remove references to 'remote_async_terminal_ours_p'.
4045
4046 2017-10-26  Yao Qi  <yao.qi@linaro.org>
4047
4048         * breakpoint.h (regular_breakpoint_inserted_here_p): Remove.
4049
4050 2017-10-26  Yao Qi  <yao.qi@linaro.org>
4051
4052         * break-catch-sig.c (signal_catchpoint_breakpoint_hit): Make
4053         aspace const.
4054         * break-catch-syscall.c (breakpoint_hit_catch_syscall):
4055         Likewise.
4056         * breakpoint.c (bpstat_check_location): Remove cast.
4057         (breakpoint_hit_catch_fork): Make aspce const.
4058         (breakpoint_hit_catch_solib): Likewise.
4059         (breakpoint_hit_catch_exec): Likewise.
4060         (breakpoint_hit_ranged_breakpoint): Likewise.
4061         (breakpoint_hit_watchpoint): Likewise.
4062         (base_breakpoint_breakpoint_hit): Likewise.
4063         (bkpt_breakpoint_hit): Likewise.
4064         (dprintf_breakpoint_hit): Likewise.
4065         (tracepoint_breakpoint_hit): Likewise.
4066         * breakpoint.h (breakpoint_ops) <breakpoint_hit>: Likewise.
4067
4068 2017-10-26  Yao Qi  <yao.qi@linaro.org>
4069
4070         * breakpoint.c (breakpoint_location_address_match): Change
4071         "struct address_space *" to "const address_space".
4072         (breakpoint_location_address_range_overlap): Likewise.
4073         (breakpoint_here_p): Likewise.
4074         (breakpoint_in_range_p): Likewise.
4075         (moribund_breakpoint_here_p): Likewise.
4076         (bp_location_inserted_here_p): Likewise.
4077         (software_breakpoint_inserted_here_p): Likewise.
4078         (hardware_breakpoint_inserted_here_p): Likewise.
4079         (hardware_watchpoint_inserted_in_range): Likewise.
4080         (bpstat_check_location): Likewise.
4081         (bpstat_stop_status): Likewise.
4082         (breakpoint_address_match): Likewise.
4083         (breakpoint_address_match_range): Likewise.
4084         (breakpoint_location_address_match): Likewise.
4085         (breakpoint_location_address_range_overlap): Likewise.
4086         (insert_single_step_breakpoint): Likewise.
4087         (breakpoint_has_location_inserted_here): Likewise.
4088         (single_step_breakpoint_inserted_here_p): Likewise.
4089         (pc_at_non_inline_function): Likewise.
4090         * breakpoint.h (bpstat_stop_status): Update declaration.
4091         (breakpoint_here_p): Likewise.
4092         (breakpoint_in_range_p): Likewise.
4093         (moribund_breakpoint_here_p): Likewise.
4094         (breakpoint_inserted_here_p): Likewise.
4095         (software_breakpoint_inserted_here_p): Likewise.
4096         (hardware_breakpoint_inserted_here_p): Likewise.
4097         (breakpoint_has_location_inserted_here): Likewise.
4098         (single_step_breakpoint_inserted_here_p): Likewise.
4099         (hardware_watchpoint_inserted_in_range): Likewise.
4100         (breakpoint_address_match): Likewise.
4101         (insert_single_step_breakpoint): Likewise.
4102         (pc_at_non_inline_function): Likewise.
4103         * gdbthread.h (thread_has_single_step_breakpoint_here): Likewise.
4104         * record.c (record_check_stopped_by_breakpoint): Likewise.
4105         * record.h (record_check_stopped_by_breakpoint): Likewise.
4106         * thread.c (thread_has_single_step_breakpoint_here): Likewise.
4107
4108 2017-10-25  Yao Qi  <yao.qi@linaro.org>
4109
4110         * aarch32-linux-nat.c (aarch32_gp_regcache_supply): Use
4111         regcache->arch () instead get_regcache_arch.
4112         * aarch64-fbsd-nat.c (aarch64_fbsd_fetch_inferior_registers):
4113         Likewise.
4114         (aarch64_fbsd_store_inferior_registers): Likewise.
4115         * aarch64-linux-nat.c (fetch_gregs_from_thread): Likewise.
4116         (store_gregs_to_thread): Likewise.
4117         (fetch_fpregs_from_thread): Likewise.
4118         (store_fpregs_to_thread): Likewise.
4119         * aarch64-tdep.c (aarch64_extract_return_value): Likewise.
4120         (aarch64_store_return_value): Likewise.
4121         (aarch64_software_single_step): Likewise.
4122         * aix-thread.c (aix_thread_wait): Likewise.
4123         (supply_reg32): Likewise.
4124         (supply_sprs64): Likewise.
4125         (supply_sprs32): Likewise.
4126         (fill_gprs64): Likewise.
4127         (fill_gprs32): Likewise.
4128         (fill_sprs64): Likewise.
4129         (fill_sprs32): Likewise.
4130         (store_regs_user_thread): Likewise.
4131         (store_regs_kernel_thread): Likewise.
4132         * alpha-bsd-nat.c (alphabsd_fetch_inferior_registers): Likewise.
4133         (alphabsd_store_inferior_registers): Likewise.
4134         * alpha-tdep.c (alpha_extract_return_value): Likewise.
4135         (alpha_store_return_value): Likewise.
4136         (alpha_deal_with_atomic_sequence): Likewise.
4137         (alpha_next_pc): Likewise.
4138         (alpha_software_single_step): Likewise.
4139         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers): Likewise.
4140         (amd64bsd_store_inferior_registers): Likewise.
4141         * amd64-linux-nat.c (amd64_linux_fetch_inferior_registers):
4142         Likewise.
4143         (amd64_linux_store_inferior_registers): Likewise.
4144         * amd64-nat.c (amd64_supply_native_gregset): Likewise.
4145         (amd64_collect_native_gregset): Likewise.
4146         * amd64-obsd-tdep.c (amd64obsd_supply_uthread): Likewise.
4147         (amd64obsd_collect_uthread): Likewise.
4148         * amd64-tdep.c (amd64_supply_fpregset): Likewise.
4149         (amd64_collect_fpregset): Likewise.
4150         (amd64_supply_fxsave): Likewise.
4151         (amd64_supply_xsave): Likewise.
4152         (amd64_collect_fxsave): Likewise.
4153         (amd64_collect_xsave): Likewise.
4154         * arc-tdep.c (arc_write_pc): Likewise.
4155         * arch-utils.c (default_skip_permanent_breakpoint): Likewise.
4156         * arm-fbsd-nat.c (arm_fbsd_fetch_inferior_registers): Likewise.
4157         (arm_fbsd_store_inferior_registers): Likewise.
4158         * arm-linux-nat.c (fetch_vfp_regs): Likewise.
4159         (store_vfp_regs): Likewise.
4160         (arm_linux_fetch_inferior_registers): Likewise.
4161         (arm_linux_store_inferior_registers): Likewise.
4162         * arm-linux-tdep.c (arm_linux_supply_gregset): Likewise.
4163         (arm_linux_sigreturn_next_pc): Likewise.
4164         (arm_linux_get_next_pcs_syscall_next_pc): Likewise.
4165         * arm-nbsd-nat.c (arm_supply_gregset): Likewise.
4166         (fetch_register): Likewise.
4167         (store_register): Likewise.
4168         * arm-tdep.c (arm_is_thumb): Likewise.
4169         (displaced_in_arm_mode): Likewise.
4170         (bx_write_pc): Likewise.
4171         (arm_get_next_pcs_addr_bits_remove): Likewise.
4172         (arm_software_single_step): Likewise.
4173         (arm_extract_return_value): Likewise.
4174         (arm_store_return_value): Likewise.
4175         (arm_write_pc): Likewise.
4176         * bfin-tdep.c (bfin_extract_return_value): Likewise.
4177         * bsd-uthread.c (bsd_uthread_fetch_registers): Likewise.
4178         (bsd_uthread_store_registers): Likewise.
4179         * core-regset.c (fetch_core_registers): Likewise.
4180         * corelow.c (get_core_registers): Likewise.
4181         * cris-tdep.c (cris_store_return_value): Likewise.
4182         (cris_extract_return_value): Likewise.
4183         (find_step_target): Likewise.
4184         (find_step_target): Likewise.
4185         (cris_software_single_step): Likewise.
4186         * ctf.c (ctf_fetch_registers): Likewise.
4187         * darwin-nat.c (cancel_breakpoint): Likewise.
4188         * fbsd-tdep.c (fbsd_collect_thread_registers): Likewise.
4189         * frv-tdep.c (frv_extract_return_value): Likewise.
4190         * ft32-tdep.c (ft32_store_return_value): Likewise.
4191         (ft32_extract_return_value): Likewise.
4192         * go32-nat.c (fetch_register): Likewise.
4193         (go32_fetch_registers): Likewise.
4194         (go32_store_registers): Likewise.
4195         (store_register): Likewise.
4196         * h8300-tdep.c (h8300_extract_return_value): Likewise.
4197         (h8300_store_return_value): Likewise.
4198         * hppa-linux-nat.c (fetch_register): Likewise.
4199         (store_register): Likewise.
4200         (hppa_linux_fetch_inferior_registers): Likewise.
4201         (hppa_linux_store_inferior_registers): Likewise.
4202         * i386-darwin-nat.c (i386_darwin_fetch_inferior_registers): Likewise.
4203         (i386_darwin_store_inferior_registers): Likewise.
4204         * i386-gnu-nat.c (gnu_fetch_registers): Likewise.
4205         (gnu_store_registers): Likewise.
4206         * i386-linux-nat.c (fetch_register): Likewise.
4207         (store_register): Likewise.
4208         (supply_gregset): Likewise.
4209         (fill_gregset): Likewise.
4210         (i386_linux_fetch_inferior_registers): Likewise.
4211         (i386_linux_store_inferior_registers): Likewise.
4212         (i386_linux_resume): Likewise.
4213         * i386-linux-tdep.c (i386_linux_get_syscall_number_from_regcache):
4214         Likewise.
4215         * i386-nto-tdep.c (i386nto_supply_gregset): Likewise.
4216         * i386-obsd-nat.c (i386obsd_supply_pcb): Likewise.
4217         * i386-obsd-tdep.c (i386obsd_supply_uthread): Likewise.
4218         (i386obsd_collect_uthread): Likewise.
4219         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
4220         (i386_supply_gregset): Likewise.
4221         (i386_collect_gregset): Likewise.
4222         (i386_supply_fpregset): Likewise.
4223         (i386_collect_fpregset): Likewise.
4224         (i386_mpx_bd_base): Likewise.
4225         * i386-v4-nat.c (supply_fpregset): Likewise.
4226         (fill_fpregset): Likewise.
4227         * i387-tdep.c (i387_supply_fsave): Likewise.
4228         (i387_collect_fsave): Likewise.
4229         (i387_supply_fxsave): Likewise.
4230         (i387_collect_fxsave): Likewise.
4231         (i387_supply_xsave): Likewise.
4232         (i387_collect_xsave): Likewise.
4233         * ia64-linux-nat.c (ia64_linux_fetch_registers): Likewise.
4234         (ia64_linux_store_registers): Likewise.
4235         * ia64-tdep.c (ia64_access_rse_reg): Likewise.
4236         (ia64_extract_return_value): Likewise.
4237         (ia64_store_return_value): Likewise.
4238         (find_func_descr): Likewise.
4239         * inf-child.c (inf_child_fetch_inferior_registers): Likewise.
4240         * inf-ptrace.c (inf_ptrace_fetch_registers): Likewise.
4241         (inf_ptrace_store_registers): Likewise.
4242         * infrun.c (use_displaced_stepping): Likewise.
4243         (displaced_step_prepare_throw): Likewise.
4244         (resume): Likewise.
4245         (proceed): Likewise.
4246         (do_target_wait): Likewise.
4247         (adjust_pc_after_break): Likewise.
4248         (handle_inferior_event_1): Likewise.
4249         (handle_signal_stop): Likewise.
4250         (save_infcall_suspend_state): Likewise.
4251         (restore_infcall_suspend_state): Likewise.
4252         * iq2000-tdep.c (iq2000_extract_return_value): Likewise.
4253         * jit.c (jit_frame_prev_register): Likewise.
4254         * linux-nat.c (save_stop_reason): Likewise.
4255         (linux_nat_wait_1): Likewise.
4256         (resume_stopped_resumed_lwps): Likewise.
4257         * linux-record.c (record_linux_sockaddr): Likewise.
4258         (record_linux_msghdr): Likewise.
4259         (record_linux_system_call): Likewise.
4260         * linux-tdep.c (linux_collect_thread_registers): Likewise.
4261         * lm32-tdep.c (lm32_extract_return_value): Likewise.
4262         (lm32_store_return_value): Likewise.
4263         * m32c-tdep.c (m32c_read_flg): Likewise.
4264         (m32c_pseudo_register_read): Likewise.
4265         (m32c_pseudo_register_write): Likewise.
4266         * m32r-linux-tdep.c (m32r_linux_supply_gregset): Likewise.
4267         (m32r_linux_collect_gregset): Likewise.
4268         * m32r-tdep.c (m32r_store_return_value): Likewise.
4269         (m32r_extract_return_value): Likewise.
4270         * m68k-bsd-nat.c (m68kbsd_supply_fpregset): Likewise.
4271         (m68kbsd_collect_fpregset): Likewise.
4272         * m68k-bsd-tdep.c (m68kbsd_supply_fpregset): Likewise.
4273         * m68k-linux-nat.c (fetch_register): Likewise.
4274         (old_fetch_inferior_registers): Likewise.
4275         (old_store_inferior_registers): Likewise.
4276         (store_regs): Likewise.
4277         * m68k-tdep.c (m68k_svr4_extract_return_value): Likewise.
4278         (m68k_svr4_store_return_value): Likewise.
4279         * m88k-tdep.c (m88k_store_arguments): Likewise.
4280         * mi/mi-main.c (mi_cmd_data_list_changed_registers): Likewise.
4281         (mi_cmd_data_write_register_values): Likewise.
4282         * mips-fbsd-nat.c (mips_fbsd_fetch_inferior_registers): Likewise.
4283         (mips_fbsd_store_inferior_registers): Likewise.
4284         * mips-fbsd-tdep.c (mips_fbsd_supply_fpregs): Likewise.
4285         (mips_fbsd_supply_gregs): Likewise.
4286         (mips_fbsd_collect_fpregs): Likewise.
4287         (mips_fbsd_collect_gregs): Likewise.
4288         (mips_fbsd_supply_fpregset): Likewise.
4289         (mips_fbsd_collect_fpregset): Likewise.
4290         (mips_fbsd_supply_gregset): Likewise.
4291         (mips_fbsd_collect_gregset): Likewise.
4292         * mips-linux-nat.c (supply_gregset): Likewise.
4293         (fill_gregset): Likewise.
4294         (supply_fpregset): Likewise.
4295         (fill_fpregset): Likewise.
4296         * mips-linux-tdep.c (mips_supply_gregset): Likewise.
4297         (mips_fill_gregset): Likewise.
4298         (mips_supply_fpregset): Likewise.
4299         (mips_fill_fpregset): Likewise.
4300         (mips64_supply_gregset): Likewise.
4301         (micromips_linux_sigframe_validate): Likewise.
4302         * mips-nbsd-nat.c (mipsnbsd_fetch_inferior_registers): Likewise.
4303         (mipsnbsd_fetch_inferior_registers): Likewise.
4304         (mipsnbsd_store_inferior_registers): Likewise.
4305         * mips-nbsd-tdep.c (mipsnbsd_supply_fpregset): Likewise.
4306         (mipsnbsd_supply_gregset): Likewise.
4307         (mipsnbsd_iterate_over_regset_sections): Likewise.
4308         (mipsnbsd_supply_reg): Likewise.
4309         (mipsnbsd_supply_fpreg): Likewise.
4310         * mips-tdep.c (mips_in_frame_stub): Likewise.
4311         (mips_dummy_id): Likewise.
4312         (is_octeon_bbit_op): Likewise.
4313         (micromips_bc1_pc): Likewise.
4314         (extended_mips16_next_pc): Likewise.
4315         (mips16_next_pc): Likewise.
4316         (deal_with_atomic_sequence): Likewise.
4317         * moxie-tdep.c (moxie_process_readu): Likewise.
4318         * nios2-tdep.c (nios2_get_next_pc): Likewise.
4319         * nto-procfs.c (procfs_store_registers): Likewise.
4320         * ppc-fbsd-nat.c (ppcfbsd_fetch_inferior_registers): Likewise.
4321         (ppcfbsd_store_inferior_registers): Likewise.
4322         * ppc-linux-nat.c (fetch_vsx_register): Likewise.
4323         (fetch_altivec_register): Likewise.
4324         (get_spe_registers): Likewise.
4325         (fetch_spe_register): Likewise.
4326         (fetch_altivec_registers): Likewise.
4327         (fetch_all_gp_regs): Likewise.
4328         (fetch_all_fp_regs): Likewise.
4329         (store_vsx_register): Likewise.
4330         (store_altivec_register): Likewise.
4331         (set_spe_registers): Likewise.
4332         (store_spe_register): Likewise.
4333         (store_altivec_registers): Likewise.
4334         (store_all_gp_regs): Likewise.
4335         (store_all_fp_regs): Likewise.
4336         * ppc-linux-tdep.c (ppc_linux_supply_gregset): Likewise.
4337         (ppc_linux_collect_gregset): Likewise.
4338         (ppc_canonicalize_syscall): Likewise.
4339         (ppc_linux_record_signal): Likewise.
4340         (ppu2spu_prev_register): Likewise.
4341         * ppc-nbsd-nat.c (ppcnbsd_supply_pcb): Likewise.
4342         * ppc-obsd-nat.c (ppcobsd_fetch_registers): Likewise.
4343         (ppcobsd_store_registers): Likewise.
4344         * ppc-ravenscar-thread.c (ppc_ravenscar_generic_fetch_registers):
4345         Likewise.
4346         (ppc_ravenscar_generic_store_registers): Likewise.
4347         * procfs.c (procfs_fetch_registers): Likewise.
4348         (procfs_store_registers): Likewise.
4349         * ravenscar-thread.c (ravenscar_fetch_registers): Likewise.
4350         (ravenscar_store_registers): Likewise.
4351         (ravenscar_prepare_to_store): Likewise.
4352         * record-btrace.c (record_btrace_fetch_registers): Likewise.
4353         * record-full.c (record_full_wait_1): Likewise.
4354         (record_full_registers_change): Likewise.
4355         (record_full_store_registers): Likewise.
4356         (record_full_core_fetch_registers): Likewise.
4357         (record_full_save): Likewise.
4358         (record_full_goto_insn): Likewise.
4359         * regcache.c (regcache_register_size): Likewise.
4360         (get_regcache_arch): Remove.
4361         (regcache_read_pc): Likewise.
4362         * regcache.h (get_regcache_arch): Remove.
4363         * remote-sim.c (gdbsim_fetch_register): Likewise.
4364         (gdbsim_store_register): Likewise.
4365         * remote.c (fetch_register_using_p): Likewise.
4366         (send_g_packet): Likewise.
4367         (remote_prepare_to_store): Likewise.
4368         (store_registers_using_G): Likewise.
4369         * reverse.c (save_bookmark_command): Likewise.
4370         (goto_bookmark_command): Likewise.
4371         * rs6000-aix-tdep.c (branch_dest): Likewise.
4372         * rs6000-nat.c (rs6000_ptrace64): Likewise.
4373         (fetch_register): Likewise.
4374         * rs6000-tdep.c (ppc_supply_reg): Likewise.
4375         (ppc_collect_reg): Likewise.
4376         (ppc_collect_gregset): Likewise.
4377         (ppc_collect_fpregset): Likewise.
4378         (ppc_collect_vsxregset): Likewise.
4379         (ppc_collect_vrregset): Likewise.
4380         (ppc_displaced_step_hw_singlestep): Likewise.
4381         (rs6000_pseudo_register_read): Likewise.
4382         (rs6000_pseudo_register_write): Likewise.
4383         * s390-linux-nat.c (supply_gregset): Likewise.
4384         (fill_gregset): Likewise.
4385         (s390_linux_fetch_inferior_registers): Likewise.
4386         * s390-linux-tdep.c (s390_write_pc): Likewise.
4387         (s390_software_single_step): Likewise.
4388         (s390_all_but_pc_registers_record): Likewise.
4389         (s390_linux_syscall_record): Likewise.
4390         * sentinel-frame.c (sentinel_frame_prev_arch): Likewise.
4391         * sh-nbsd-nat.c (shnbsd_fetch_inferior_registers): Likewise.
4392         (shnbsd_store_inferior_registers): Likewise.
4393         * sh-tdep.c (sh_extract_return_value_nofpu): Likewise.
4394         (sh_extract_return_value_fpu): Likewise.
4395         (sh_store_return_value_nofpu): Likewise.
4396         (sh_corefile_supply_regset): Likewise.
4397         (sh_corefile_collect_regset): Likewise.
4398         * sh64-tdep.c (sh64_extract_return_value): Likewise.
4399         (sh64_store_return_value): Likewise.
4400         * sparc-linux-tdep.c (sparc32_linux_collect_core_fpregset): Likewise.
4401         * sparc-nat.c (sparc_fetch_inferior_registers): Likewise.
4402         (sparc_store_inferior_registers): Likewise.
4403         * sparc-ravenscar-thread.c (register_in_thread_descriptor_p): Likewise.
4404         (sparc_ravenscar_prepare_to_store): Likewise.
4405         * sparc-tdep.c (sparc32_store_arguments): Likewise.
4406         (sparc_analyze_control_transfer): Likewise.
4407         (sparc_step_trap): Likewise.
4408         (sparc_software_single_step): Likewise.
4409         (sparc32_gdbarch_init): Likewise.
4410         (sparc_supply_rwindow): Likewise.
4411         (sparc_collect_rwindow): Likewise.
4412         * sparc64-linux-tdep.c (sparc64_linux_collect_core_fpregset): Likewise.
4413         * sparc64-nbsd-nat.c (sparc64nbsd_supply_gregset): Likewise.
4414         (sparc64nbsd_collect_gregset): Likewise.
4415         (sparc64nbsd_supply_fpregset): Likewise.
4416         (sparc64nbsd_collect_fpregset): Likewise.
4417         * sparc64-tdep.c (sparc64_store_arguments): Likewise.
4418         (sparc64_supply_gregset): Likewise.
4419         (sparc64_collect_gregset): Likewise.
4420         (sparc64_supply_fpregset): Likewise.
4421         (sparc64_collect_fpregset): Likewise.
4422         * spu-linux-nat.c (spu_fetch_inferior_registers): Likewise.
4423         * spu-tdep.c (spu_unwind_sp): Likewise.
4424         (spu2ppu_prev_register): Likewise.
4425         (spu_memory_remove_breakpoint): Likewise.
4426         * stack.c (return_command): Likewise.
4427         * tic6x-tdep.c (tic6x_extract_signed_field): Likewise.
4428         * tracefile-tfile.c (tfile_fetch_registers): Likewise.
4429         * tracefile.c (trace_save_ctf): Likewise.
4430         * windows-nat.c (do_windows_fetch_inferior_registers): Likewise.
4431         (do_windows_store_inferior_registers): Likewise.
4432         (windows_resume): Likewise.
4433         * xtensa-linux-nat.c (fill_gregset): Likewise.
4434         (supply_gregset_reg): Likewise.
4435         * xtensa-tdep.c (xtensa_register_write_masked): Likewise.
4436         (xtensa_register_read_masked): Likewise.
4437         (xtensa_supply_gregset): Likewise.
4438         (xtensa_extract_return_value): Likewise.
4439         (xtensa_store_return_value): Likewise.
4440
4441 2017-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
4442
4443         * doublest.c (floatformat_from_string): New function.
4444         * doublest.h (floatformat_from_string): Add prototype.
4445
4446         * std-operator.def (OP_DOUBLE, OP_DECFLOAT): Remove, replace by ...
4447         (OP_FLOAT): ... this.
4448         * expression.h: Do not include "doublest.h".
4449         (union exp_element): Replace doubleconst and decfloatconst by
4450         new element floatconst.
4451         * ada-lang.c (resolve_subexp): Handle OP_FLOAT instead of OP_DOUBLE.
4452         (ada_evaluate_subexp): Likewise.
4453         * eval.c (evaluate_subexp_standard): Handle OP_FLOAT instead of
4454         OP_DOUBLE and OP_DECFLOAT.
4455         * expprint.c (print_subexp_standard): Likewise.
4456         (dump_subexp_body_standard): Likewise.
4457         * breakpoint.c (watchpoint_exp_is_const): Likewise.
4458
4459         * parse.c: Include "dfp.h".
4460         (write_exp_elt_dblcst, write_exp_elt_decfloatcst): Remove.
4461         (write_exp_elt_floatcst): New function.
4462         (operator_length_standard): Handle OP_FLOAT instead of OP_DOUBLE
4463         and OP_DECFLOAT.
4464         (operator_check_standard): Likewise.
4465         (parse_float): Do not accept suffix.  Take type as input.  Return bool.
4466         Return target format buffer instead of host DOUBLEST.
4467         Use floatformat_from_string and decimal_from_string to parse
4468         either binary or decimal floating-point types.
4469         (parse_c_float): Remove.
4470         * parser-defs.h: Do not include "doublest.h".
4471         (write_exp_elt_dblcst, write_exp_elt_decfloatcst): Remove.
4472         (write_exp_elt_floatcst): Add prototype.
4473         (parse_float): Update prototype.
4474         (parse_c_float): Remove.
4475
4476         * c-exp.y: Do not include "dfp.h".
4477         (typed_val_float): Use byte buffer instead of DOUBLEST.
4478         (typed_val_decfloat): Remove.
4479         (DECFLOAT): Remove.
4480         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4481         (parse_number): Update to new parse_float interface.
4482         Parse suffixes and determine type before calling parse_float.
4483         Handle decimal and binary FP types the same way.
4484
4485         * d-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4486         (FLOAT_LITERAL): Use OP_FLOAT and write_exp_elt_floatcst.
4487         (parse_number): Update to new parse_float interface.
4488         Parse suffixes and determine type before calling parse_float.
4489
4490         * f-exp.y: Replace dval by typed_val_float.
4491         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4492         (parse_number): Use parse_float instead of atof.
4493
4494         * go-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4495         (parse_go_float): Remove.
4496         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4497         (parse_number): Call parse_float instead of parse_go_float.
4498         Parse suffixes and determine type before calling parse_float.
4499
4500         * p-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4501         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4502         (parse_number): Update to new parse_float interface.
4503         Parse suffixes and determine type before calling parse_float.
4504
4505         * m2-exp.y: Replace dval by byte buffer val.
4506         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4507         (parse_number): Call parse_float instead of atof.
4508
4509         * rust-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4510         (lex_number): Call parse_float instead of strtod.
4511         (ast_dliteral): Use OP_FLOAT instead of OP_DOUBLE.
4512         (convert_ast_to_expression): Handle OP_FLOAT instead of OP_DOUBLE.
4513         Use write_exp_elt_floatcst.
4514         (unit_testing): Remove static variable.
4515         (rust_type): Do not check unit_testing.
4516         (rust_lex_tests): Do not set uint_testing.  Set up dummy rust_parser.
4517
4518         * ada-exp.y (type_float, type_double): Remove.
4519         (typed_val_float): Use byte buffer instead of DOUBLEST.
4520         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4521         * ada-lex.l (processReal): Use parse_float instead of sscanf.
4522
4523 2017-10-25  Alan Hayward  <alan.hayward@arm.com>
4524
4525         * aarch64-tdep.h (enum aarch64_regnum): Remove.
4526         * arch/aarch64.h: New file.
4527
4528 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4529
4530         * dfp.h (decimal_from_string): Use const reference for argument.
4531         * dfp.c (decimal_from_string): Likewise.
4532
4533 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4534
4535         * i387-tdep.c (print_i387_value): Use floatformat_to_string.
4536         * sh64-tdep.c (sh64_do_fp_register): Likewise.
4537         * mips-tdep.c (mips_print_fp_register): Likewise.
4538
4539 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4540
4541         * common/format.h (enum argclass): Replace decfloat_arg by
4542         dec32float_arg, dec64float_arg, and dec128float_arg.
4543         * common/format.c (parse_format_string): Update to return
4544         new decimal float argument classes.
4545
4546         * printcmd.c (printf_decfloat): Rename to ...
4547         (printf_floating): ... this.  Add argclass argument, and use it
4548         instead of parsing the format string again.  Add support for
4549         binary floating-point values, using floatformat_to_string.
4550         Convert value to the target format if it doesn't already match.
4551         (ui_printf): Call printf_floating instead of printf_decfloat,
4552         also for double_arg / long_double_arg.  Pass argclass.
4553
4554         * dfp.c (decimal_to_string): Add format string argument.
4555         * dfp.h (decimal_to_string): Likewise.
4556
4557         * doublest.c (floatformat_to_string): Add format string argument.
4558         * doublest.h (floatformat_to_string): Likewise.
4559
4560 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4561
4562         * doublest.c (floatformat_precision): New routine.
4563         (floatformat_to_string): Likewise.
4564         * doublest.c (floatformat_to_string): Add prototype.
4565
4566         * printcmd.c (print_scalar_formatted): Only call print_floating
4567         on floating-point types.
4568         * valprint.c: Do not include "floatformat.h".
4569         (generic_val_print_decfloat): Remove.
4570         (generic_val_print): Call generic_val_print_float for both
4571         TYPE_CODE_FLT and TYPE_CODE_DECFLOAT.
4572         (print_floating): Use floatformat_to_string.  Handle decimal float.
4573         (print_decimal_floating): Remove, merge into floatformat_to_string.
4574         * value.h (print_decimal_floating): Remove.
4575
4576         * Makefile.in: Do not build doublest.c with -Wformat-nonliteral.
4577
4578 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4579
4580         * buildsym.c (end_symtab_get_static_block): Use std::stable_sort.
4581
4582 2017-10-21  Simon Marchi  <simon.marchi@ericsson.com>
4583
4584         * memattr.h: Don't include vec.h.
4585         (struct mem_attrib): Initialize fields.
4586         <unknown>: New static method.
4587         (struct mem_region): Add constructors, operator<, initialize
4588         fields.
4589         * memattr.c: Include algorithm.
4590         (default_mem_attrib, unknown_mem_attrib): Remove.
4591         (user_mem_region_list): New global.
4592         (target_mem_region_list, mem_region_list): Change type to
4593         std::vector<mem_region>.
4594         (mem_use_target): Now a function.
4595         (target_mem_regions_valid): Change type to bool.
4596         (mem_region_lessthan, mem_region_cmp, mem_region_init): Remove.
4597         (require_user_regions): Adjust.
4598         (require_target_regions): Adjust.
4599         (create_mem_region): Adjust.
4600         (lookup_mem_region): Adjust.
4601         (invalidate_target_mem_regions): Adjust.
4602         (mem_clear): Rename to...
4603         (user_mem_clear): ... this, and adjust.
4604         (mem_command): Adjust.
4605         (info_mem_command): Adjust.
4606         (mem_enable, enable_mem_command, mem_disable,
4607         disable_mem_command): Adjust.
4608         (mem_delete): Adjust.
4609         (delete_mem_command): Adjust.
4610         * memory-map.h (parse_memory_map): Return an std::vector.
4611         * memory-map.c (parse_memory_map): Likewise.
4612         (struct memory_map_parsing_data): Add constructor.
4613         <memory_map>: Point to std::vector.
4614         (memory_map_start_memory): Adjust.
4615         (memory_map_end_memory): Adjust.
4616         (memory_map_end_property): Adjust.
4617         (clear_result): Remove.
4618         * remote.c (remote_memory_map): Return an std::vector.
4619         * target-debug.h (target_debug_print_VEC_mem_region_s__p):
4620         Remove.
4621         (target_debug_print_mem_region_vector): New.
4622         * target-delegates.c: Regenerate.
4623         * target.h (mem_region_vector): New typedef.
4624         (to_memory_map): Return mem_region_vector.
4625         (target_memory_map): Return an std::vector.
4626         * target.c (target_memory_map): Return an std::vector.
4627         (flash_erase_command): Adjust.
4628
4629 2017-10-21  Simon Marchi  <simon.marchi@ericsson.com>
4630
4631         * memory-map.c (struct memory_map_parsing_data) <property_name>:
4632         Change type to std::string.
4633         (memory_map_start_property): Adjust.
4634         (memory_map_end_property): Adjust.
4635
4636 2017-10-21  Simon Marchi  <simon.marchi@polymtl.ca>
4637
4638         * infrun.h: Include common/byte-vector.h.
4639         (struct displaced_step_closure): New struct.
4640         (struct buf_displaced_step_closure): New struct.
4641         * infrun.c (displaced_step_closure::~displaced_step_closure):
4642         Provide default implementation.
4643         (displaced_step_clear): Deallocate step closure with delete.
4644         * aarch64-tdep.c (displaced_step_closure): Rename to ...
4645         (aarch64_displaced_step_closure): ... this, extend
4646         displaced_step_closure.
4647         (aarch64_displaced_step_data) <dsc>: Change type to
4648         aarch64_displaced_step_closure.
4649         (aarch64_displaced_step_copy_insn): Adjust to type change, use
4650         unique_ptr.
4651         (aarch64_displaced_step_fixup): Add cast for displaced step
4652         closure.
4653         * amd64-tdep.c (displaced_step_closure): Rename to ...
4654         (amd64_displaced_step_closure): ... this, extend
4655         displaced_step_closure.
4656         <insn_buf>: Change type to std::vector<gdb_byte>.
4657         <max_len>: Remove.
4658         (fixup_riprel): Change type of DSC parameter, adjust to type
4659         change of insn_buf.
4660         (fixup_displaced_copy): Change type of DSC parameter.
4661         (amd64_displaced_step_copy_insn): Instantiate
4662         amd64_displaced_step_closure.
4663         (amd64_displaced_step_fixup): Add cast for closure type, adjust
4664         to type change of insn_buf.
4665         * arm-linux-tdep.c (arm_linux_cleanup_svc): Change type of
4666         parameter DSC.
4667         (arm_linux_copy_svc): Likewise.
4668         (cleanup_kernel_helper_return): Likewise.
4669         (arm_catch_kernel_helper_return): Likewise.
4670         (arm_linux_displaced_step_copy_insn): Instantiate
4671         arm_displaced_step_closure.
4672         * arm-tdep.c (arm_pc_is_thumb): Add cast for closure.
4673         (displaced_read_reg): Change type of parameter DSC.
4674         (branch_write_pc): Likewise.
4675         (load_write_pc): Likewise.
4676         (alu_write_pc): Likewise.
4677         (displaced_write_reg): Likewise.
4678         (arm_copy_unmodified): Likewise.
4679         (thumb_copy_unmodified_32bit): Likewise.
4680         (thumb_copy_unmodified_16bit): Likewise.
4681         (cleanup_preload): Likewise.
4682         (install_preload): Likewise.
4683         (arm_copy_preload): Likewise.
4684         (thumb2_copy_preload): Likewise.
4685         (install_preload_reg): Likewise.
4686         (arm_copy_preload_reg): Likewise.
4687         (cleanup_copro_load_store): Likewise.
4688         (install_copro_load_store): Likewise.
4689         (arm_copy_copro_load_store) Likewise.
4690         (thumb2_copy_copro_load_store): Likewise.
4691         (cleanup_branch): Likewise.
4692         (install_b_bl_blx): Likewise.
4693         (arm_copy_b_bl_blx): Likewise.
4694         (thumb2_copy_b_bl_blx): Likewise.
4695         (thumb_copy_b): Likewise.
4696         (install_bx_blx_reg): Likewise.
4697         (arm_copy_bx_blx_reg): Likewise.
4698         (thumb_copy_bx_blx_reg): Likewise.
4699         (cleanup_alu_imm): Likewise.
4700         (arm_copy_alu_imm): Likewise.
4701         (thumb2_copy_alu_imm): Likewise.
4702         (cleanup_alu_reg): Likewise.
4703         (install_alu_reg): Likewise.
4704         (arm_copy_alu_reg): Likewise.
4705         (thumb_copy_alu_reg): Likewise.
4706         (cleanup_alu_shifted_reg): Likewise.
4707         (install_alu_shifted_reg): Likewise.
4708         (arm_copy_alu_shifted_reg): Likewise.
4709         (cleanup_load): Likewise.
4710         (cleanup_store): Likewise.
4711         (arm_copy_extra_ld_st): Likewise.
4712         (install_load_store): Likewise.
4713         (thumb2_copy_load_literal): Likewise.
4714         (thumb2_copy_load_reg_imm): Likewise.
4715         (arm_copy_ldr_str_ldrb_strb): Likewise.
4716         (cleanup_block_load_all): Likewise.
4717         (cleanup_block_store_pc): Likewise.
4718         (cleanup_block_load_pc): Likewise.
4719         (arm_copy_block_xfer): Likewise.
4720         (thumb2_copy_block_xfer): Likewise.
4721         (cleanup_svc): Likewise.
4722         (install_svc): Likewise.
4723         (arm_copy_svc): Likewise.
4724         (thumb_copy_svc): Likewise.
4725         (arm_copy_undef): Likewise.
4726         (thumb_32bit_copy_undef): Likewise.
4727         (arm_copy_unpred): Likewise.
4728         (arm_decode_misc_memhint_neon): Likewise.
4729         (arm_decode_unconditional): Likewise.
4730         (arm_decode_miscellaneous): Likewise.
4731         (arm_decode_dp_misc): Likewise.
4732         (arm_decode_ld_st_word_ubyte): Likewise.
4733         (arm_decode_media): Likewise.
4734         (arm_decode_b_bl_ldmstm): Likewise.
4735         (arm_decode_ext_reg_ld_st): Likewise.
4736         (thumb2_decode_dp_shift_reg): Likewise.
4737         (thumb2_decode_ext_reg_ld_st): Likewise.
4738         (arm_decode_svc_copro): Likewise.
4739         (thumb2_decode_svc_copro): Likewise.
4740         (install_pc_relative): Likewise.
4741         (thumb_copy_pc_relative_16bit): Likewise.
4742         (thumb_decode_pc_relative_16bit): Likewise.
4743         (thumb_copy_pc_relative_32bit): Likewise.
4744         (thumb_copy_16bit_ldr_literal): Likewise.
4745         (thumb_copy_cbnz_cbz): Likewise.
4746         (thumb2_copy_table_branch): Likewise.
4747         (cleanup_pop_pc_16bit_all): Likewise.
4748         (thumb_copy_pop_pc_16bit): Likewise.
4749         (thumb_process_displaced_16bit_insn): Likewise.
4750         (decode_thumb_32bit_ld_mem_hints): Likewise.
4751         (thumb_process_displaced_32bit_insn): Likewise.
4752         (thumb_process_displaced_insn): Likewise.
4753         (arm_process_displaced_insn): Likewise.
4754         (arm_displaced_init_closure): Likewise.
4755         (arm_displaced_step_fixup): Add cast for closure.
4756         * arm-tdep.h: Include infrun.h.
4757         (displaced_step_closure): Rename to ...
4758         (arm_displaced_step_closure): ... this, extend
4759         displaced_step_closure.
4760         <u::svc::copy_svc_os>: Change type of parameter DSC.
4761         <cleanup>: Likewise.
4762         (arm_process_displaced_insn): Likewise.
4763         (arm_displaced_init_closure): Likewise.
4764         (displaced_read_reg): Likewise.
4765         (displaced_write_reg): Likewise.
4766         * i386-linux-tdep.c (i386_linux_displaced_step_copy_insn):
4767         Adjust.
4768         * i386-tdep.h: Include infrun.h.
4769         (i386_displaced_step_closure): New typedef.
4770         * i386-tdep.c (i386_displaced_step_copy_insn): Use
4771         i386_displaced_step_closure.
4772         (i386_displaced_step_fixup): Adjust.
4773         * rs6000-tdep.c (ppc_displaced_step_closure): New typedef.
4774         (ppc_displaced_step_copy_insn): Use ppc_displaced_step_closure
4775         and unique_ptr.
4776         (ppc_displaced_step_fixup): Adjust.
4777         * s390-linux-tdep.c (s390_displaced_step_closure): New typedef.
4778         (s390_displaced_step_copy_insn): Use s390_displaced_step_closure
4779         and unique_ptr.
4780         (s390_displaced_step_fixup): Adjust.
4781
4782 2017-10-21  Simon Marchi  <simon.marchi@polymtl.ca>
4783
4784         * interps.h (interp_resume, interp_suspend, interp_set_temp):
4785         Remove declarations.
4786
4787 2017-10-20  Tom Tromey  <tom@tromey.com>
4788
4789         * gdb_bfd.c (struct gdb_bfd_data) <included_bfds>: Now a
4790         std::vector.
4791         (gdb_bfd_record_inclusion): Update.
4792         (bfdp): Remove typedef.
4793
4794 2017-10-20  Tom Tromey  <tom@tromey.com>
4795
4796         * gdb_bfd.c (gdb_bfd_ref): Use new.
4797         (struct gdb_bfd_data): Add constructor, destructor, and member
4798         initializers.
4799         (gdb_bfd_unref): Use delete.
4800
4801 2017-10-20  Tom Tromey  <tom@tromey.com>
4802
4803         * exec.c (exec_file_attach): Use new_bfd_ref.
4804         * symfile-mem.c (symbol_file_add_from_memory): Use new_bfd_ref.
4805         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
4806         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_fdopenr): Use
4807         new_bfd_ref.
4808         * gdb_bfd.h (new_bfd_ref): New function.
4809
4810 2017-10-20  Pedro Alves  <palves@redhat.com>
4811
4812         * main.c (captured_command_loop): Add attribute noinline.
4813
4814 2017-10-19  Simon Marchi  <simon.marchi@ericsson.com>
4815
4816         * interps.c (struct interp_factory): Add constructor.
4817         (interp_factory_p): Remove typedef.
4818         (DEF_VEC_P(interp_factory_p)): Remove.
4819         (interpreter_factories): Change type to std::vector.
4820         (interp_factory_register): Adjust.
4821         (interp_lookup): Adjust.
4822         (interpreter_completer): Adjust.
4823
4824 2017-10-19  Tom Tromey  <tom@tromey.com>
4825
4826         * break-catch-syscall.c (catch_syscall_completer): Use
4827         std::string, gdb::unique_xmalloc_ptr.
4828
4829 2017-10-19  Tom Tromey  <tom@tromey.com>
4830
4831         * infcall.c (call_function_by_hand_dummy): Use std::string.
4832
4833 2017-10-19  Tom Tromey  <tom@tromey.com>
4834
4835         * mi/mi-main.c (mi_cmd_execute): Update.
4836         * top.h (prepare_execute_command): Return scoped_value_mark.
4837         * value.h (class scoped_value_mark): Use DISABLE_COPY_AND_ASSIGN.
4838         Add move constructor.
4839         * top.c (prepare_execute_command): Return scoped_value_mark.
4840         (execute_command): Update.
4841
4842 2017-10-19  Pedro Alves  <palves@redhat.com>
4843
4844         * xml-support.c (xml_fetch_content_from_file): Check fread's
4845         return.
4846
4847 2017-10-19  Pedro Alves  <palves@redhat.com>
4848
4849         * ser-base.c (ser_base_read_error_fd): Delete the file handler if
4850         async.
4851         (handle_error_fd): New function.
4852         (ser_base_async): Add/delete an event loop file handler for
4853         error_fd.
4854
4855 2017-10-19  Pedro Alves  <palves@redhat.com>
4856
4857         * xml-support.c (xml_fetch_content_from_file): Don't read in
4858         chunks.  Instead use fseek to determine the file's size, and read
4859         it in one go.
4860
4861 2017-11-18  Keith Seitz  <keiths@redhat.com>
4862
4863         * c-exp.y (oper): Canonicalize conversion operators of user-defined
4864         types.
4865         Add whitespace to front of type name.
4866
4867 2017-10-18  Keith Seitz  <keiths@redhat.com>
4868
4869         * dwarf2read.c (dwarf2_add_typedef): Issue a complaint on unhandled
4870         DW_AT_accessibility.
4871
4872 2017-10-18  Yao Qi  <yao.qi@linaro.org>
4873
4874         * features/tic6x-c62x-linux.c: Remove.
4875
4876 2017-10-17  Tom Tromey  <tom@tromey.com>
4877
4878         * disasm.c (do_mixed_source_and_assembly_deprecated): Use
4879         gdb::optional, ui_out_emit_list, ui_out_emit_tuple.
4880         (do_mixed_source_and_assembly): Likewise.
4881
4882 2017-10-17  Tom Tromey  <tom@tromey.com>
4883
4884         * regcache.c (regcache::xfer_part): Remove assertion.
4885
4886 2017-10-17  Pedro Alves  <palves@redhat.com>
4887
4888         * xml-support.c (xml_fetch_content_from_file): Call
4889         unique_ptr::release() instead unique_ptr::get() when passing
4890         through xrealloc.
4891
4892 2017-10-17  Yao Qi  <yao.qi@linaro.org>
4893
4894         * regcache.c (regcache::xfer_part): Remove parameters read and
4895         write, add parameter is_raw.  All callers are updated.
4896
4897 2017-10-16  Keith Seitz  <keiths@redhat.com>
4898
4899         * c-typeprint.c (enum access_specifier): Moved here from
4900         c_type_print_base.
4901         (output_access_specifier): New function.
4902         (c_type_print_base): Consider typedefs when assessing
4903         whether access labels are needed.
4904         Use output_access_specifier as needed.
4905         Output access specifier for typedefs, if needed.
4906         * dwarf2read.c (dwarf2_add_typedef): Record DW_AT_accessibility.
4907         * gdbtypes.h (struct typedef_field) <is_protected, is_private>: New
4908         fields.
4909         (TYPE_TYPEDEF_FIELD_PROTECTED, TYPE_TYPEDEF_FIELD_PRIVATE): New
4910         accessor macros.
4911
4912 2017-10-16  Tom Tromey  <tom@tromey.com>
4913
4914         * linux-tdep.c (linux_info_proc, linux_find_memory_regions_full)
4915         (linux_fill_prpsinfo, linux_vsyscall_range_raw): Update.
4916         * target.c (target_fileio_read_stralloc): Update.
4917         * sparc64-tdep.c (adi_is_addr_mapped): Update.
4918         * target.h (target_fileio_read_stralloc): Return
4919         unique_xmalloc_ptr.
4920
4921 2017-10-16  Tom Tromey  <tom@tromey.com>
4922
4923         * xml-syscall.c (xml_init_syscalls_info): Update.
4924         * xml-support.c (xinclude_start_include): Update.
4925         (xml_fetch_content_from_file): Return unique_xmalloc_ptr.
4926         * xml-support.h (xml_fetch_another): Return unique_xmalloc_ptr.
4927         (xml_fetch_content_from_file): Likewise.
4928         * osdata.c (get_osdata): Update.
4929         * target.h (target_read_stralloc, target_get_osdata): Return
4930         unique_xmalloc_ptr.
4931         * solib-aix.c (solib_aix_get_library_list): Update.
4932         * solib-target.c (solib_target_current_sos): Update.
4933         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Update.
4934         * xml-tdesc.c (fetch_available_features_from_target): Update.
4935         (target_fetch_description_xml): Update.
4936         (file_read_description_xml): Update.
4937         * remote.c (remote_get_threads_with_qxfer, remote_memory_map)
4938         (remote_traceframe_info, btrace_read_config, remote_read_btrace)
4939         (remote_pid_to_exec_file): Update.
4940         * target.c (target_read_stralloc): Return unique_xmalloc_ptr.
4941         (target_get_osdata): Likewise.
4942
4943 2017-10-16  Tom Tromey  <tom@tromey.com>
4944
4945         * remote.c (remote_register_number_and_offset): Use std::vector.
4946         (remote_set_syscall_catchpoint): Use gdb::unique_xmalloc_ptr.
4947         (putpkt_binary): Use gdb::def_vector.
4948         (compare_sections_command): Use gdb::byte_vector.
4949
4950 2017-10-16  Tom Tromey  <tom@tromey.com>
4951
4952         * ppc-linux-nat.c (hwdebug_insert_point): Use
4953         gdb::unique_xmalloc_ptr, XDUP.
4954
4955 2017-10-16  Tom Tromey  <tom@tromey.com>
4956
4957         * probe.c (parse_probes): Use std::string.
4958         (info_probes_for_ops, enable_probes_command)
4959         (disable_probes_command): Remove cleanups.
4960
4961 2017-10-16  Tom Tromey  <tom@tromey.com>
4962
4963         * buildsym.c (block_compar): Remove.
4964         (end_symtab_get_static_block): Use std::vector.
4965
4966 2017-10-16  Simon Marchi  <simon.marchi@ericsson.com>
4967
4968         * memrange.h (struct mem_range): Define operator< and operator==.
4969         (mem_range_s): Remove.
4970         (DEF_VEC_O (mem_range_s)): Remove.
4971         (normalize_mem_ranges): Change parameter type to std::vector.
4972         * memrange.c (compare_mem_ranges): Remove.
4973         (normalize_mem_ranges): Change parameter type to std::vector,
4974         adjust to vector change.
4975         * exec.c (section_table_available_memory): Return vector, remove
4976         parameter.
4977         (section_table_read_available_memory): Adjust to std::vector
4978         change.
4979         * remote.c (remote_read_bytes): Adjust to std::vector
4980         change.
4981         * tracepoint.h (traceframe_available_memory): Change parameter
4982         type to std::vector.
4983         * tracepoint.c (traceframe_available_memory): Change parameter
4984         type to std::vector, adjust.
4985         * gdb/mi/mi-main.c (mi_cmd_trace_frame_collected): Adjust to
4986         std::vector change.
4987         * gdb/Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
4988         unittests/memrange-selftests.c.
4989         (SUBDIR_UNITTESTS_OBS): Add memrange-selftests.o.
4990         * gdb/unittests/memrange-selftests.c: New file.
4991
4992 2017-10-16  Pedro Alves  <palves@redhat.com>
4993
4994         * elfread.c (probe_key_free): Rename range-for variable.
4995         * probe.c (parse_probes_in_pspace, find_probes_in_objfile)
4996         (find_probe_by_pc, collect_probes): Rename range-for variable.
4997
4998 2017-10-16  Yao Qi  <yao.qi@linaro.org>
4999
5000         * features/Makefile (XMLTOC): Remove tic6x-*.xml.
5001         * features/tic6x-c62x.c: Remove.
5002         * features/tic6x-c64x-linux.c: Remove.
5003         * features/tic6x-c64x.c: Remove.
5004         * features/tic6x-c64xp-linux.c: Remove.
5005         * features/tic6x-c64xp.c: Remove.
5006         * tic6x-linux-tdep.c (_initialize_tic6x_linux_tdep): Don't call
5007         initialize_tdesc_tic6x_*_linux functions.
5008         * tic6x-tdep.c (_initialize_tic6x_tdep): Don't call
5009         initialize_tdesc_tic6x_* functions.
5010
5011 2017-10-16  Yao Qi  <yao.qi@linaro.org>
5012
5013         * features/Makefile (WHICH): Remove tic6x-c64xp, tic6x-c64x
5014         tic6x-c62x.
5015         * regformats/tic6x-c62x.dat: Remove.
5016         * regformats/tic6x-c64x.dat: Remove.
5017         * regformats/tic6x-c64xp.dat: Remove.
5018
5019 2017-10-15  Simon Marchi  <simon.marchi@ericsson.com>
5020
5021         * tracepoint.c (parse_traceframe_info): Return a unique_ptr
5022         (the !HAVE_LIBEXPAT version).
5023
5024 2017-10-14  Simon Marchi  <simon.marchi@ericsson.com>
5025
5026         * nat/linux-osdata.c (struct pid_pgid_entry) <operator<>: Make
5027         const.
5028
5029 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5030
5031         * target.h: Include tracepoint.h.
5032         (enum trace_find_type): Move to tracepoint.h.
5033         (struct target_ops) <to_traceframe_info>: Return a unique ptr.
5034         * tracepoint.h: Don't include target.h
5035         (enum trace_find_type): Move from target.h.
5036         (parse_traceframe_info): Return a unique ptr.
5037         * tracepoint.c (current_traceframe_info): Change type to unique
5038         ptr.
5039         (free_traceframe_info): Remove.
5040         (clear_traceframe_info): Don't manually free
5041         current_traceframe_info.
5042         (free_result): Remove.
5043         (parse_traceframe_info): Return a unique ptr.
5044         (get_traceframe_info): Adjust to unique ptr.
5045         * ctf.c (ctf_traceframe_info): Return a unique ptr.
5046         * remote.c (remote_traceframe_info): Return a unique ptr.
5047         * tracefile-tfile.c (tfile_traceframe_info): Return a unique
5048         ptr.
5049         * target-debug.h (target_debug_print_traceframe_info_up): New
5050         macro.
5051         * target-delegates.c: Regenerate.
5052
5053 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5054
5055         * memrange.h (struct mem_range): Add constructors.
5056         * tracepoint.h (struct traceframe_info) <memory>: Change type to
5057         std::vector<mem_range>.
5058         * tracepoint.c (free_traceframe_info): Don't manually free
5059         vector.
5060         (traceframe_info_start_memory): Adjust to vector change.
5061         (traceframe_available_memory): Likewise.
5062         * tracefile-tfile.c (build_traceframe_info): Likewise.
5063         * ctf.c (ctf_traceframe_info): Likewise.
5064
5065 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5066
5067         * tracepoint.h (struct traceframe_info) <tvars>: Change type to
5068         std::vector<int>.
5069         * tracepoint.c (free_traceframe_info): Deallocate with delete.
5070         (traceframe_info_start_tvar): Adjust to vector change.
5071         (parse_traceframe_info): Allocate with new.
5072         * ctf.c (ctf_traceframe_info): Allocate with new, adjust to
5073         vector change.
5074         * tracefile-tfile.c (build_traceframe_info): Adjust to vector
5075         change.
5076         tfile_traceframe_info): Allocate with new.
5077         * mi/mi-main.c (mi_cmd_trace_frame_collected): Adjust to vector
5078         change.
5079
5080 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5081
5082         * tracepoint.c (traceframe_info): Rename to...
5083         (current_traceframe_info): ...this.
5084         (clear_traceframe_info): Adjust.
5085         (get_traceframe_info): Adjust.
5086
5087 2017-10-14  Simon Marchi  <simon.marchi@ericsson.com>
5088
5089         * nat/linux-osdata.c: Include algorithm.
5090         (compare_processes): Remove.
5091         (struct pid_pgid_entry): New struct.
5092         (linux_xfer_osdata_processgroups): Use std::vector instead of
5093         XNEWVEC.
5094
5095 2017-10-14  Simon Marchi  <simon.marchi@ericsson.com>
5096
5097         * objfiles.h: Don't include symfile.h.
5098         (struct partial_symbol): Remove forward-declaration.
5099         (struct objfile) <global_psymbols, static_psymbols>: Change type
5100         to std::vector<partial_symbol *>.
5101         * objfiles.c (objfile::objfile): Don't memset those fields.
5102         (objfile::~objfile): Don't free those fields.
5103         * psympriv.h (struct psymbol_allocation_list): Remove
5104         forward-declaration.
5105         (add_psymbol_to_list): Change psymbol_allocation_list parameter
5106         to std::vector.
5107         (start_psymtab_common): Change parameters to std::vector.
5108         * psymtab.c: Include algorithm.
5109         (require_partial_symbols): Call shrink_to_fit.
5110         (find_pc_sect_psymbol): Adjust to vector change.
5111         (match_partial_symbol): Likewise.
5112         (lookup_partial_symbol): Likewise.
5113         (psym_relocate): Likewise.
5114         (dump_psymtab): Likewise.
5115         (recursively_search_psymtabs): Likewise.
5116         (compare_psymbols): Remove.
5117         (sort_pst_symbols): Adjust to vector change.
5118         (start_psymtab_common): Likewise.
5119         (end_psymtab_common): Likewise.
5120         (psymbol_bcache_full): De-constify return value.
5121         (add_psymbol_to_bcache): Likewise.
5122         (extend_psymbol_list): Remove.
5123         (append_psymbol_to_list): Adjust to vector change.
5124         (add_psymbol_to_list): Likewise.
5125         (init_psymbol_list): Likewise.
5126         (maintenance_info_psymtabs): Likewise.
5127         (maintenance_check_psymtabs): Likewise.
5128         * symfile.h (struct psymbol_allocation_list): Remove.
5129         * symfile.c (reread_symbols): Adjust to vector change.
5130         * dbxread.c (start_psymtab): Change type of parameters.
5131         (dbx_symfile_read): Adjust to vector change.
5132         (read_dbx_symtab): Likewise.
5133         (start_psymtab): Change type of parameters.
5134         * dwarf2read.c (dwarf2_build_psymtabs): Adjust to vector change.
5135         (create_partial_symtab): Likewise.
5136         (add_partial_symbol): Likewise.
5137         (write_one_signatured_type): Likewise.
5138         (recursively_write_psymbols): Likewise.
5139         * mdebugread.c (parse_partial_symbols): Likewise.
5140         * xcoffread.c (xcoff_start_psymtab): Change type of parameters.
5141         (scan_xcoff_symtab): Adjust to vector change.
5142         (xcoff_initial_scan): Likewise.
5143
5144 2017-10-13  Simon Marchi  <simon.marchi@ericsson.com>
5145
5146         * ada-typeprint.c (print_dynamic_range_bound): Use std::string.
5147
5148 2017-10-13  Yao Qi  <yao.qi@linaro.org>
5149
5150         * features/Makefile: Remove tic6x-*-expedite, add tic6x-expedite.
5151         Remove s390x-*-expedite, add s390x-expedite.
5152
5153 2017-10-13  Yao Qi  <yao.qi@linaro.org>
5154
5155         * features/s390-gs-linux64.c: Regenerated.
5156         * features/s390x-gs-linux64.c: Regenerated.
5157
5158 2017-10-13  Tom Tromey  <tom@tromey.com>
5159
5160         * compile/compile-object-run.c (do_module_cleanup): Use delete.
5161         * solib.c (update_solib_list, reload_shared_libraries_1): Use
5162         delete.
5163         * symfile.c (symbol_file_add_with_addrs): Use new.
5164         (symbol_file_add_separate): Update comment.
5165         (syms_from_objfile_1, remove_symbol_file_command): Use delete.
5166         * jit.c (jit_object_close_impl): Use new.
5167         (jit_unregister_code): Use delete.
5168         * objfiles.c (objfile::objfile): Rename from allocate_objfile.
5169         (~objfile): Rename from free_objfile.
5170         (free_objfile_separate_debug, do_free_objfile_cleanup)
5171         (free_all_objfiles, objfile_purge_solibs): Use delete.
5172         * objfiles.h (struct objfile): Add constructor and destructor.
5173         Use DISABLE_COPY_AND_ASSIGN.  Add initializers to data members.
5174         (allocate_objfile, free_objfile): Don't declare.
5175         (struct objstats): Add initializers.
5176
5177 2017-10-12  Simon Marchi  <simon.marchi@ericsson.com>
5178
5179         * arch-utils.h (simple_displaced_step_copy_insn): Remove.
5180         * arch-utils.c (simple_displaced_step_copy_insn): Remove.
5181         * gdbarch.sh (displaced_step_copy_insn): Adjust comment.
5182         * gdbarch.h: Regenerate.
5183         * i386-linux-tdep.c (i386_linux_displaced_step_copy_insn):
5184         Adjust comment.
5185         * i386-tdep.c (i386_displaced_step_copy_insn): Adjust comment.
5186         (i386_displaced_step_fixup): Adjust comment.
5187         * rs6000-tdep.c (ppc_displaced_step_copy_insn): Adjust comment.
5188
5189 2017-10-12  Tom Tromey  <tom@tromey.com>
5190
5191         * prologue-value.h (pv_area::store_would_trash): Return bool.
5192         (pv_area::find_reg): Likewise.
5193         * prologue-value.c (pv_area::store_would_trash): Return bool.
5194         (pv_area::find_reg): Likewise.
5195
5196 2017-10-12  Tom Tromey  <tom@tromey.com>
5197
5198         * s390-linux-tdep.c (s390_store, s390_load)
5199         (s390_check_for_saved, s390_analyze_prologue): Update.
5200         * rx-tdep.c (check_for_saved, rx_analyze_prologue): Update.
5201         * rl78-tdep.c (rl78_analyze_prologue, check_for_saved): Update.
5202         * prologue-value.h (class pv_area): Move from prologue-value.c.
5203         Change names of members.  Add constructor, destructor, member
5204         functions.
5205         (make_pv_area, free_pv_area, make_cleanup_free_pv_area)
5206         (pv_area_store, pv_area_fetch, pv_area_store_would_trash)
5207         (pv_area_fetch, pv_area_scan): Don't declare.
5208         * prologue-value.c (struct pv_area::area_entry): Now member of
5209         pv_area.
5210         (struct pv_area): Move to prologue-value.h.
5211         (pv_area::pv_area): Rename from make_pv_area.
5212         (pv_area::~pv_area): Rename from free_pv_area.
5213         (do_free_pv_area_cleanup, make_cleanup_free_pv_area): Remove.
5214         (clear_entries, find_entry, overlaps, store_would_trash, store)
5215         (fetch, find_reg, scan): Now member of pv_area.
5216         Remove "area" argument.  Update.
5217         * msp430-tdep.c (check_for_saved, msp430_analyze_prologue):
5218         Update.
5219         * mn10300-tdep.c (push_reg, check_for_saved)
5220         (mn10300_analyze_prologue): Update.
5221         * mep-tdep.c (is_arg_spill, check_for_saved)
5222         (mep_analyze_prologue): Update.
5223         * m32c-tdep.c (m32c_pv_push, m32c_srcdest_fetch)
5224         (m32c_srcdest_store, m32c_pv_enter, m32c_is_arg_spill)
5225         (m32c_is_struct_return, m32c_analyze_prologue): Update.
5226         * arm-tdep.c (thumb_analyze_prologue, arm_analyze_prologue):
5227         Update.
5228         * arc-tdep.c (arc_is_in_prologue, arc_analyze_prologue): Update.
5229         * aarch64-tdep.c (aarch64_analyze_prologue): Update.
5230
5231 2017-10-12  Simon Marchi  <simon.marchi@ericsson.com>
5232
5233         * linux-nat.h (linux_nat_set_delete_thread): New declaration.
5234         * linux-nat.c (linux_nat_delete_thread): New variable.
5235         (lwp_free): Invoke linux_nat_delete_thread if set.
5236         (linux_nat_set_delete_thread): New function.
5237         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Assign
5238         thread delete callback.
5239         * arm-linux-nat.c (arm_linux_delete_thread): New function.
5240         (_initialize_arm_linux_nat): Assign thread delete callback.
5241         * s390-linux-nat.c (s390_delete_thread): New function.
5242         (_initialize_s390_nat): Assign thread delete callback.
5243         * x86-linux-nat.c (x86_linux_add_target): Likewise.
5244         * nat/aarch64-linux.c (aarch64_linux_delete_thread): New
5245         function.
5246         * nat/aarch64-linux.h (aarch64_linux_delete_thread): New
5247         declaration.
5248         * nat/x86-linux.c (x86_linux_delete_thread): New function.
5249         * nat/x86-linux.h (x86_linux_delete_thread): New declaration.
5250
5251 2017-10-09  Tom Tromey  <tom@tromey.com>
5252
5253         * tui/tui-win.c (tui_set_win_height, parse_scrolling_args): Use
5254         std::string.
5255         * tui/tui-layout.c (enum tui_status): Use std::string.
5256
5257 2017-10-11  Tom Tromey  <tom@tromey.com>
5258
5259         * gdbthread.h (thread_command): Constify.
5260         * inferior.h (detach_command): Constify.
5261         * top.h (set_history, show_history): Constify.
5262         * arm-tdep.c (set_arm_command, show_arm_command): Constify.
5263         * serial.c (serial_set_cmd, serial_show_cmd): Constify.
5264         * bsd-kvm.c (bsd_kvm_cmd): Constify.
5265         * printcmd.c (set_command): Constify.
5266         (non_const_set_command): New function.
5267         * dcache.c (set_dcache_command, show_dcache_command): Constify.
5268         * breakpoint.c (enable_command, disable_command, delete_command)
5269         (catch_command, tcatch_command, set_breakpoint_cmd)
5270         (show_breakpoint_cmd): Constify.
5271         * macrocmd.c (macro_command): Constify.
5272         * infcmd.c (unset_command, kill_command, detach_command)
5273         (info_proc_cmd): Constify.
5274         * i386-tdep.c (set_mpx_cmd, show_mpx_cmd): Constify.
5275         * auto-load.c (show_auto_load_cmd, set_auto_load_cmd)
5276         (info_auto_load_cmd): Constify.
5277         * target-descriptions.c (set_tdesc_cmd, show_tdesc_cmd)
5278         (unset_tdesc_cmd): Constify.
5279         * ada-lang.c (set_ada_command, show_ada_command)
5280         (maint_set_ada_cmd, maint_show_ada_cmd): Constify.
5281         * guile/guile.c (set_guile_command, show_guile_command)
5282         (info_guile_command): Constify.
5283         * tui/tui-win.c (tui_command, set_tui_cmd, show_tui_cmd):
5284         Constify.
5285         * skip.c (skip_command): Constify.
5286         * compile/compile.c (_initialize_compile): Constify.
5287         * dwarf2read.c (set_dwarf_cmd, show_dwarf_cmd): Constify.
5288         * btrace.c (maint_btrace_cmd, maint_btrace_set_cmd)
5289         (maint_btrace_show_cmd, maint_btrace_pt_set_cmd)
5290         (maint_btrace_pt_show_cmd): Constify.
5291         * remote.c (set_remote_cmd, show_remote_cmd, remote_command):
5292         Constify.
5293         * python/python.c (user_show_python, user_set_python): Constify.
5294         * mips-tdep.c (set_mips_command, show_mips_command)
5295         (set_mipsfpu_command): Constify.
5296         * record-btrace.c (cmd_record_btrace_start)
5297         (cmd_set_record_btrace, cmd_show_record_btrace)
5298         (cmd_set_record_btrace_bts, cmd_show_record_btrace_bts)
5299         (cmd_set_record_btrace_pt, cmd_show_record_btrace_pt): Constify.
5300         * rs6000-tdep.c (set_powerpc_command, show_powerpc_command):
5301         Constify.
5302         * symfile.c (overlay_command): Constify.
5303         * spu-tdep.c (set_spu_command, show_spu_command): Constify.
5304         * cli/cli-logging.c (set_logging_command, show_logging_command):
5305         Constify.
5306         * cli/cli-dump.c (dump_command, append_command)
5307         (srec_dump_command, ihex_dump_command, verilog_dump_command)
5308         (tekhex_dump_command, binary_dump_command)
5309         (binary_append_command): Constify.
5310         * cli/cli-decode.c (struct cmd_list_element): Change type of
5311         "fun".
5312         * cli/cli-cmds.c (info_command, show_command, set_debug)
5313         (show_debug): Constify.
5314         (show_command): Add non-const overload.
5315         * top.c (set_history, show_history): Constify.
5316         * sh-tdep.c (set_sh_command, show_sh_command): Constify.
5317         * command.h (add_prefix_cmd): Accept a cmd_const_cfunc_ftype.
5318         * target.c (target_command): Constify.
5319         * sparc64-tdep.c (info_adi_command): Constify.
5320         * record-full.c (cmd_record_full_start): Constify.
5321         (set_record_full_command): Constify.  Fix typo.
5322         (show_record_full_command): Constify.
5323         * thread.c (thread_command, thread_apply_command): Constify.
5324         * memattr.c (dummy_cmd): Constify.
5325         * value.c (function_command): Constify.
5326         * frame.c (set_backtrace_cmd, show_backtrace_cmd): Constify.
5327         * probe.c (info_probes_command): Constify.
5328         * ser-tcp.c (set_tcp_cmd, show_tcp_cmd): Constify.
5329         * gnu-nat.c (set_task_cmd, show_task_cmd, set_thread_cmd)
5330         (show_thread_cmd, set_thread_default_cmd)
5331         (show_thread_default_cmd): Constify.
5332         (check_empty): Constify.
5333         * tracepoint.c (tfind_command): Constify.
5334         * cp-support.c (maint_cplus_command): Constify.
5335         * windows-tdep.c (info_w32_command): Constify.
5336         * record.c (cmd_record_start, set_record_command)
5337         (show_record_command, info_record_command, cmd_record_goto):
5338         Constify.
5339         * ravenscar-thread.c (set_ravenscar_command)
5340         (show_ravenscar_command): Constify.
5341         * utils.c (set_internal_problem_cmd, show_internal_problem_cmd):
5342         Constify.
5343         (add_internal_problem_command): Remove casts.
5344         * arc-tdep.c (maintenance_print_arc_command): Constify.
5345         * valprint.c (set_print, show_print, set_print_raw)
5346         (show_print_raw): Constify.
5347         * maint.c (maintenance_command, maintenance_info_command)
5348         (maintenance_print_command, maintenance_set_cmd)
5349         (maintenance_show_cmd, set_per_command_cmd)
5350         (show_per_command_cmd, maintenance_check_command): Constify.
5351         * language.c (set_check, show_check): Constify.
5352         * typeprint.c (show_print_type, set_print_type): Constify.
5353         * go32-nat.c (go32_info_dos_command): Constify.
5354
5355 2017-10-11  Tom Tromey  <tom@tromey.com>
5356
5357         * breakpoint.c (prepare_re_set_context): Remove.
5358         (breakpoint_re_set_one): Update.  Don't use cleanups.
5359         (breakpoint_re_set): Use scoped_restore, std::string, and
5360         scoped_restore_current_language.
5361
5362 2017-10-11  Tom Tromey  <tom@tromey.com>
5363
5364         * breakpoint.c (commands_command_1): Use std::string.
5365         (cleanup_executing_breakpoints): Remove.
5366         (bpstat_do_actions_1): Use scoped_restore.
5367         (bpstat_check_watchpoint): Use std::string.
5368         (decode_static_tracepoint_spec): Likewise.
5369         (break_range_command): Likewise.
5370         (watch_command_1): Likewise.
5371         (compare_breakpoints): Change argument types.
5372         (clear_command): Use std::vector.
5373         (cleanup_executing_breakpoints): Remove.
5374         (update_global_location_list): Use unique_xmalloc_ptr.
5375         (strace_command): Remove unused declaration.
5376
5377 2017-10-11  John Baldwin  <jhb@FreeBSD.org>
5378
5379         * Makefile.in (ALLDEPFILES): Add arm-fbsd-nat.c.
5380         * NEWS: Mention new FreeBSD/arm native configuration.
5381         * configure.host: Add arm*-*-freebsd*.
5382         * configure.nat: Likewise.
5383         * arm-fbsd-nat.c: New file.
5384
5385 2017-10-11  John Baldwin  <jhb@FreeBSD.org>
5386
5387         * Makefile.in (ALL_TARGET_OBS): Add arm-fbsd-tdep.o.
5388         (ALLDEPFILES): Add arm-fbsd-tdep.c.
5389         * NEWS: Mention new FreeBSD/arm target.
5390         * configure.tgt: Add arm*-*-freebsd*.
5391         * arm-fbsd-tdep.c: New file.
5392         * arm-fbsd-tdep.h: New file.
5393
5394 2017-10-11  Maciej W. Rozycki  <macro@imgtec.com>
5395
5396         * linux-tdep.c (linux_make_corefile_notes): Remove call to
5397         `gdbarch_elfcore_write_linux_prpsinfo'.
5398         * gdbarch.sh (elfcore_write_linux_prpsinfo): Remove architecture
5399         method.
5400         (elf_internal_linux_prpsinfo): Remove declaration.
5401         * gdbarch.h: Regenerate.
5402         * gdbarch.c: Regenerate.
5403
5404 2017-10-11  Maciej W. Rozycki  <macro@imgtec.com>
5405
5406         * ppc-linux-tdep.c (ppc_linux_init_abi): Remove call to
5407         `set_gdbarch_elfcore_write_linux_prpsinfo'.
5408
5409 2017-10-11  Pedro Alves  <palves@redhat.com>
5410
5411         * breakpoint.c (reattach_breakpoints): Delete.
5412         * breakpoint.h (reattach_breakpoints): Delete.
5413
5414 2017-10-11  Simon Marchi  <simon.marchi@ericsson.com>
5415
5416         * symfile.c (registered_sym_fns): Make struct, not typedef.
5417         (DEF_VEC_O (registered_sym_fns)): Remove.
5418         (symtab_fns): Change type to std::vector.
5419         (add_symtab_fns): Adjust.
5420         (find_sym_fns): Adjust.
5421
5422 2017-10-11  Anton Kolesov  <Anton.Kolesov@synopsys.com>
5423
5424         * arc-tdep.c (arc_gdbarch_init): Pass proper cpu value to disassembler.
5425         * arc-tdep.h (arc_arch_is_em): New function.
5426         (arc_arch_is_hs): Likewise.
5427
5428 2017-10-11  Egeyar Bagcioglu  <egeyar.bagcioglu@oracle.com>
5429
5430         * macrotab.h (macro_lookup_inclusion): Remove unnecessary
5431         parentheses in the declaration.
5432         (macro_lookup_inclusion): Likewise.
5433         (macro_lookup_definition): Likewise.
5434         * p-lang.h (pascal_builtin_types): Likewise.
5435         * tui/tui-data.c (tui_win_list): Likewise.
5436         * tui/tui-data.h (tui_win_list): Likewise.
5437         * utils.h (make_cleanup_free_section_addr_info): Likewise.
5438
5439 2017-10-11  Mark Rages  <markrages@gmail.com>
5440
5441         * target-memory.c (block_boundaries): Fix for block address not
5442         aligned on block size.
5443
5444 2017-10-10  Pedro Alves <palves@redhat.com>
5445             Tom Tromey  <tom@tromey.com>
5446
5447         * breakpoint.c (struct captured_breakpoint_query_args)
5448         (do_captured_breakpoint_query, gdb_breakpoint_query): Delete.
5449         (print_breakpoint): New.
5450         * breakpoint.h (print_breakpoint): Declare.
5451         * common/common-exceptions.h (enum return_reason): Remove
5452         references to catch_exceptions.
5453         * exceptions.c (catch_exceptions, catch_exceptions_with_msg):
5454         Delete.
5455         * exceptions.h (catch_exceptions_ftype, catch_exceptions)
5456         (catch_exception_ftype, catch_exceptions_with_msg): Delete.
5457         * gdb.h: Delete.
5458         * gdbthread.h (thread_select): Declare.
5459         * mi/mi-cmd-break.c: Don't include gdb.h.
5460         (breakpoint_notify): Use print_breakpoint.
5461         * mi/mi-cmd-catch.c: Don't include gdb.h.
5462         * mi/mi-interp.c: Don't include gdb.h.
5463         (mi_print_breakpoint_for_event): New.
5464         (mi_breakpoint_created, mi_breakpoint_modified): Use
5465         mi_print_breakpoint_for_event.
5466         * mi/mi-main.c: Don't include gdb.h.
5467         (mi_cmd_thread_select): Parse the global thread ID here.  Use
5468         thread_select instead of gdb_thread_select.
5469         (mi_cmd_thread_list_ids): Output "thread-ids" tuple here instead
5470         of using gdb_list_thread_ids.
5471         * remote-fileio.c (do_remote_fileio_request): Change type.  Reply
5472         FILEIO_ENOSYS here.
5473         (remote_fileio_request): Use TRY/CATCH instead of
5474         catch_exceptions.
5475         * symfile-mem.c (struct symbol_file_add_from_memory_args)
5476         (symbol_file_add_from_memory_wrapper): Delete.
5477         (add_vsyscall_page): Use TRY/CATCH instead of catch_exceptions.
5478         * thread.c: Don't include gdb.h.
5479         (do_captured_list_thread_ids, gdb_list_thread_ids): Delete.
5480         (thread_alive): Use thread_select.
5481         (do_captured_thread_select): Delete, parts salvaged as ...
5482         (thread_select): ... this new function.
5483         (gdb_thread_select): Delete.
5484
5485 2017-10-10  Pedro Alves  <palves@redhat.com>
5486             Tom Tromey  <tom@tromey.com>
5487
5488         * breakpoint.c (breakpoint_cond_eval): Change return type to bool
5489         and reverse logic.
5490         (WP_DELETED, WP_VALUE_CHANGED, WP_VALUE_NOT_CHANGED, WP_IGNORE):
5491         No longer macros.  Instead ...
5492         (enum wp_check_result): They're now values of this new
5493         enumeration.
5494         (watchpoint_check): Change return type to wp_check_result and
5495         parameter type to bpstat.
5496         (bpstat_check_watchpoint): Use TRY/CATCH instead of catch_errors.
5497         (bpstat_check_breakpoint_conditions): Use TRY/CATCH instead of
5498         catch_errors.  Reverse logic of watchpoint_check call.
5499         (breakpoint_re_set_one): Now returns void and takes a breakpoint
5500         pointer as parameter.
5501         (breakpoint_re_set): Use TRY/CATCH instead of catch_errors.
5502         * common/common-exceptions.c (throw_exception_sjlj): Update
5503         comments to avoid mentioning catch_errors.
5504         * exceptions.c (catch_errors): Delete.
5505         * exceptions.h: Update comments to avoid mentioning catch_errors.
5506         (catch_errors_ftype, catch_errors): Delete.
5507         * infrun.c (normal_stop): Use TRY/CATCH instead of catch_errors.
5508         (hook_stop_stub): Delete.
5509         (restore_selected_frame): Change return type to void, and
5510         parameter type to const frame_id &.
5511         (restore_infcall_control_state): Use TRY/CATCH instead of
5512         catch_errors.
5513         * main.c (captured_command_loop): Return void and remove
5514         parameter.  Remove references to catch_errors.
5515         (captured_main): Use TRY/CATCH instead of catch_errors.
5516         * objc-lang.c (objc_submethod_helper_data)
5517         (find_objc_msgcall_submethod_helper): Delete.
5518         (find_objc_msgcall_submethod): Use TRY/CATCH instead of
5519         catch_errors.
5520         * record-full.c (record_full_message): Return void.
5521         (record_full_message_args, record_full_message_wrapper): Delete.
5522         (record_full_message_wrapper_safe): Return bool and use TRY/CATCH
5523         instead of catch_errors.
5524         * solib-aix.c (solib_aix_open_symbol_file_object): Change
5525         parameter type to int.
5526         * solib-darwin.c (open_symbol_file_object): Ditto.
5527         * solib-dsbt.c (open_symbol_file_object): Ditto.
5528         * solib-frv.c (open_symbol_file_object): Ditto.
5529         * solib-svr4.c (open_symbol_file_object): Ditto.
5530         * solib-target.c (solib_target_open_symbol_file_object): Ditto.
5531         * solib.c (update_solib_list): Use TRY/CATCH instead of
5532         catch_errors.
5533         * solist.h (struct target_so_ops) <open_symbol_file_object>:
5534         Change type.
5535         * symmisc.c (struct print_symbol_args): Remove.
5536         (dump_symtab_1): Use TRY/CATCH instead of catch_errors.
5537         (print_symbol): Change type.
5538         * windows-nat.c (handle_load_dll, handle_unload_dll): Return void
5539         and remove parameters.
5540         (catch_errors): New.
5541         (get_windows_debug_event): Adjust.
5542
5543 2017-10-09  Tom Tromey  <tom@tromey.com>
5544
5545         * mi/mi-main.c (free_splay_tree): Remove.
5546         (list_available_thread_groups): Use splay_tree_up.
5547         * common/gdb_splay_tree.h: New file.
5548
5549 2017-10-09  Tom Tromey  <tom@tromey.com>
5550
5551         * mi/mi-main.c (do_nothing): Remove.
5552         (list_available_thread_groups): Update.
5553
5554 2017-10-09  Pedro Alves  <palves@redhat.com>
5555
5556         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>: Skip
5557         reading registers when switching context.
5558
5559 2017-10-09  John Baldwin  <jhb@FreeBSD.org>
5560
5561         * fbsd-nat.c (fbsd_siginfo_size): Use gdbarch_long_bit.
5562         (fbsd_convert_siginfo): Likewise.
5563         * fbsd-tdep.c (fbsd_core_xfer_siginfo): Likewise.
5564
5565 2017-10-09  Simon Marchi  <simon.marchi@polymtl.ca>
5566
5567         * configure.ac (try_guile_versions): Remove guile-2.2.
5568         * configure: Regenerate.
5569
5570 2017-10-09  Tom Tromey  <tom@tromey.com>
5571
5572         * Makefile.in (COMPILE.post, POSTCOMPILE): Restore $(basename).
5573         (COMPILE.pre): Use $(CXX).
5574
5575 2017-10-09  Pedro Alves  <palves@redhat.com>
5576
5577         * cp-support.c (cp_remove_params): Return a gdb::unique_xmalloc_ptr.
5578         Use bool.
5579         (overload_list_add_symbol): Adjust to use gdb::unique_xmalloc_ptr.
5580         * cp-support.h (cp_remove_params): Now returns a
5581         gdb::unique_xmalloc_ptr.
5582         * dwarf2read.c (find_slot_in_mapped_hash): Now returns bool.
5583         Adjust to cp_remove_params returning a gdb::unique_xmalloc_ptr.
5584         * psymtab.c (psymtab_search_name): Adjust to cp_remove_params
5585         returning a gdb::unique_xmalloc_ptr.
5586         (lookup_partial_symbol): Adjust to use gdb::unique_xmalloc_ptr.
5587         * stack.c (find_frame_funname): Adjust to cp_remove_params
5588         returning a gdb::unique_xmalloc_ptr.
5589
5590 2017-10-08  Tom Tromey  <tom@tromey.com>
5591
5592         * dwarf2read.c (dwarf2_get_dwz_file): Use
5593         gdb::unique_xmalloc_ptr.
5594         (find_slot_in_mapped_hash): Likewise.
5595         (dwarf2_physname): Likewise.
5596         (create_dwo_unit_in_dwp_v1): Use std::string.
5597         (create_dwo_unit_in_dwp_v2): Likewise.
5598         (lookup_dwo_cutu): Likewise.
5599         (inherit_abstract_dies): Use std::vector.
5600         (read_array_type): Likewise.
5601         (dwarf_decode_macros): Remove unused declaration.
5602         (unsigned_int_compar): Remove.
5603         (dwarf2_build_psymtabs_hard): Use scoped_restore.
5604         (psymtabs_addrmap_cleanup): Remove.
5605
5606 2017-10-08  Tom Tromey  <tom@tromey.com>
5607
5608         * frame-unwind.c (frame_unwind_try_unwinder): Update.
5609         * frame.h (frame_cleanup_after_sniffer): Declare.
5610         (frame_prepare_for_sniffer): Return void.
5611         * frame.c (frame_cleanup_after_sniffer): No longer static.  Change
5612         type of argument.
5613         (frame_prepare_for_sniffer): Return void.
5614
5615 2017-10-08  Tom Tromey  <tom@tromey.com>
5616
5617         * utils.h (make_cleanup_value_free): Remove.
5618         * utils.c (do_value_free, struct cleanup): Remove.
5619         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full) <DWARF_VALUE_STACK>:
5620         Use gdb_value_up.
5621         * value.h (struct value_deleter): New.
5622         (gdb_value_up): New typedef.
5623
5624 2017-10-08  Tom Tromey  <tom@tromey.com>
5625
5626         * symtab.c (free_search_symbols, do_free_search_symbols_cleanup)
5627         (make_cleanup_free_search_symbols): Remove.
5628         (search_symbols): Return std::vector.
5629         (symbol_search::compare_search_syms): Now member of
5630         symbol_search.  Change arguments.
5631         (sort_search_symbols_remove_dups): Change arguments.  Rewrite.
5632         (symtab_symbol_info, rbreak_command): Update.
5633         * symtab.h (struct symbol_search) <next>: Remove.
5634         Add constructors.
5635         (symbol_search::operator<): New function.
5636         (symbol_search::operator==): New function.
5637         (search_symbols): Remove std::vector.
5638         (free_search_symbols, make_cleanup_free_search_symbols): Remove.
5639         (symbol_search::compare_search_syms): Declare.
5640
5641 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5642
5643         * Makefile.in (ALL_64_TARGET_OBS): Replace aarch64-insn.o with
5644         arch/aarch64-insn.o.
5645         Remove one rule.
5646         * configure.tgt: Replace aarch64-insn.o with arch/aarch64-insn.o.
5647
5648 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5649
5650         * Makefile.in (ALL_TARGET_OBS): Replace arm.o, arm-get-next-pcs.o,
5651         and arm-linux.o with arch/arm.o, arch/arm-get-next-pcs.o and
5652         arch/arm-linux.o respectively.
5653         * configure.tgt: Likewise.
5654
5655 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5656
5657         * Makefile.in (ALL_TARGET_OBS): Rename i386.o to arch/i386.o.
5658         * configure.tgt (i386_tobjs): Replace i386.o with arch/i386.o.
5659
5660 2017-10-06  Pedro Alves  <palves@redhat.com>
5661
5662         * windows-nat.c: Include <algorithm>.
5663
5664 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5665
5666         * configure.tgt (i386_tobjs): New variable.
5667         (amd64_tobjs): New variable.
5668         Set $cpu_obs and $os_obs.
5669
5670 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5671
5672         * Makefile.in (CONFIG_SRC_SUBDIR): New.
5673         (ALL_64_TARGET_OBS): Replace amd64.o with arch/amd64.o.
5674         (clean): Remove object files and dependency files.
5675         (distclean): Remove the directory.
5676         * configure.ac: Invoke AC_CONFIG_COMMANDS.
5677         * configure: Re-generated.
5678         * configure.tgt: Replace amd64.o with arch/amd64.o.
5679
5680 2017-10-05  Jose E. Marchesi  <jose.marchesi@oracle.com>
5681
5682         PR build/22188
5683         * arm-tdep.c (arm_decode_misc_memhint_neon): Fix decoding of CPS
5684         and SETEND.
5685
5686 2017-10-05  Pedro Alves  <palves@redhat.com>
5687
5688         * linux-nat.c (linux_child_follow_fork): When following the parent
5689         and detaching the child, consult the parent thread's architecture
5690         instead of the child's.
5691
5692 2017-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
5693
5694         * ax.h: Do not include "doublest.h".
5695         (union agent_val): Remove.
5696
5697 2017-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
5698
5699         * dfp.h (MAX_DECIMAL_STRING): Move to dfp.c.
5700         (decimal_to_string): Return std::string object.
5701         (decimal_from_string): Accept std::string object.  Return bool.
5702         (decimal_from_integral, decimal_from_doublest): Remove.
5703         (decimal_from_longest): Add prototype.
5704         (decimal_from_ulongest): Likewise.
5705         (decimal_to_longest): Likewise.
5706         (decimal_from_doublest): Likewise.
5707         * dfp.c: Do not include "gdbtypes.h" or "value.h".
5708         (MAX_DECIMAL_STRING): Move here.
5709         (decimal_to_string): Return std::string object.
5710         (decimal_from_string): Accept std::string object.  Return bool.
5711         (decimal_from_integral): Remove, replace by ...
5712         (decimal_from_longest, decimal_from_ulongest): ... these new functions.
5713         (decimal_to_longest): New function.
5714         (decimal_from_floating): Remove, replace by ...
5715         (decimal_from_doublest): ... this new function.
5716         (decimal_to_doublest): Update to new decimal_to_string interface.
5717
5718         * value.c (unpack_long): Use decimal_to_longest.
5719         * valops.c (value_cast): Use decimal_from_doublest instead of
5720         decimal_from_floating.  Use decimal_from_[u]longest isntead of
5721         decimal_from_integral.
5722         * valarith.c (value_args_as_decimal): Likewise.
5723         * valprint.c (print_decimal_floating): Update to new
5724         decimal_to_string interface.
5725         * printcmd.c (printf_decfloat): Likewise.
5726         * c-exp.y (parse_number): Update to new decimal_from_string interface.
5727
5728 2017-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
5729
5730         * doublest.h: Do not include "floatformat.h".  Remove stale comments.
5731         * gdbtypes.c: Include "floatformat.h".
5732         * value.c: Likewise.
5733         * m68k-tdep.c: Likewise.
5734
5735         * findvar.c: Do not include "floatformat.h".
5736         * amd64-darwin-tdep.c: Likewise.
5737         * arm-linux-tdep.c: Likewise.
5738         * i386-darwin-tdep.c: Likewise.
5739         * i387-tdep.c: Likewise.
5740         * m68k-linux-tdep.c: Likewise.
5741         * mep-tdep.c: Likewise.
5742         * mips-tdep.c: Likewise.
5743         * nios2-tdep.c: Likewise.
5744         * s390-linux-tdep.c: Likewise.
5745         * sparc-obsd-tdep.c: Likewise.
5746         * sparc-tdep.c: Likewise.
5747         * sparc64-tdep.c: Likewise.
5748         * spu-tdep.c: Likewise.
5749         * tic6x-tdep.c: Likewise.
5750         * tilegx-tdep.c: Likewise.
5751         * vax-tdep.c: Likewise.
5752         * xstormy16-tdep.c: Likewise.
5753         * xtensa-tdep.c: Likewise.
5754
5755         * top.c: Do not include "doublest.h".
5756         * aarch64-tdep.c: Likewise.
5757         * alpha-tdep.c: Likewise.
5758         * arm-linux-tdep.c: Likewise.
5759         * m68k-linux-tdep.c: Likewise.
5760         * tilegx-tdep.c: Likewise.
5761         * xstormy16-tdep.c: Likewise.
5762
5763 2017-10-05  John Baldwin  <jhb@FreeBSD.org>
5764
5765         * mips-fbsd-tdep.c (MIPS_INST_ADDIU_A0_SP_N32): Define.
5766         (mipsn32_fbsd_sigframe): Define.
5767         (mips_fbsd_init_abi): Install mipsn32_fbsd_sigframe unwinder
5768         for FreeBSD/mipsn32.
5769
5770 2017-10-05  John Baldwin  <jhb@FreeBSD.org>
5771
5772         * fbsd-tdep.c (fbsd_print_auxv_entry): Handle AT_EHDRFLAGS and
5773         AT_HWCAP.
5774
5775 2017-10-05  Tristan Gingold  <tgingold@free.fr>
5776
5777         * MAINTAINERS (Misc): Update my email address.
5778
5779 2017-10-04  Pedro Alves  <palves@redhat.com>
5780
5781         * remote.c (get_remote_arch_state): New 'gdbarch' parameter.  Use
5782         it instead of target_gdbarch.
5783         (get_remote_state, get_remote_packet_size): Adjust
5784         get_remote_arch_state calls, passing down target_gdbarch
5785         explicitly.
5786         (packet_reg_from_regnum, packet_reg_from_pnum): New parameter
5787         'gdbarch' and use it instead of target_gdbarch.
5788         (get_memory_packet_size): Adjust get_remote_arch_state calls,
5789         passing down target_gdbarch explicitly.
5790         (struct stop_reply) <arch>: New field.
5791         (remote_parse_stop_reply): Use the stopped thread's architecture,
5792         not the current inferior's.  Save the architecture in the
5793         stop_reply.
5794         (process_stop_reply): Use the stop reply's architecture.
5795         (process_g_packet, remote_fetch_registers)
5796         (remote_prepare_to_store, store_registers_using_G)
5797         (remote_store_registers): Adjust get_remote_arch_state calls,
5798         using the regcache's architecture.
5799         (remote_get_trace_status): Adjust get_remote_arch_state calls,
5800         passing down target_gdbarch explicitly.
5801         * spu-multiarch.c (spu_thread_architecture): Defer to the target
5802         beneath instead of calling target_gdbarch.
5803         * target.c (default_thread_architecture): Use the specified
5804         inferior's architecture, instead of the current inferior's
5805         architecture (via target_gdbarch).
5806
5807 2017-10-04  Pedro Alves  <palves@redhat.com>
5808
5809         * regcache.c (get_thread_arch_regcache): Remove null_ptid special
5810         case.
5811         (regcache_print): Handle !target_has_registers here instead.
5812
5813 2017-10-04  Pedro Alves  <palves@redhat.com>
5814
5815         * frame.c (create_test_frame): Delete.
5816         * frame.h (create_test_frame): Delete.
5817         * gdbarch-selftests.c: Include gdbthread.h and target.h.
5818         (class regcache_test): Delete.
5819         (test_target_has_registers, test_target_has_stack)
5820         (test_target_has_memory, test_target_prepare_to_store)
5821         (test_target_store_registers): New functions.
5822         (test_target_ops): New class.
5823         (register_to_value_test): Error out if there's already a
5824         process_stratum (or higher) target pushed.  Create a fuller mock
5825         environment, with mock target_ops, inferior, address space, thread
5826         and inferior_ptid.
5827         * progspace.c (struct address_space): Move to ...
5828         * progspace.h (struct address_space): ... here.
5829         * regcache.h (regcache::~regcache, regcache::raw_write)
5830         [GDB_SELF_TEST]: No longer virtual.
5831
5832 2017-10-04  Simon Marchi  <simon.marchi@ericsson.com>
5833
5834         * mi/mi-main.c (list_available_thread_groups): Reverse filter logic.
5835
5836 2017-10-04  Pedro Alves  <palves@redhat.com>
5837
5838         * guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Move code
5839         out of 'between TRY and CATCH'.
5840
5841 2017-10-04  Pedro Alves  <palves@redhat.com>
5842
5843         * cli/cli-cmds.c (complete_command): Add missing END_CATCH.
5844         * common/common-exceptions.h (TRY): Open an outermost scope.
5845         Expand intro comment.
5846         (CATCH): Reindent.
5847         (END_CATCH): Close the outermost scope.
5848         * completer.c (complete_line_internal): Add missing END_CATCH.
5849
5850 2017-10-04  Sergio Durigan Junior  <sergiodj@redhat.com>
5851
5852         * NEWS (Changes since GDB 8.0): Add entry about new
5853         'set-cwd-on-gdbserver' feature.
5854         (New remote packets): Add entry for QSetWorkingDir.
5855         * common/common-inferior.h (set_inferior_cwd): New prototype.
5856         * infcmd.c (set_inferior_cwd): Remove "static".
5857         (show_cwd_command): Expand text to include remote debugging.
5858         * remote.c: Add PACKET_QSetWorkingDir.
5859         (remote_protocol_features) <QSetWorkingDir>: New entry for
5860         PACKET_QSetWorkingDir.
5861         (extended_remote_set_inferior_cwd): New function.
5862         (extended_remote_create_inferior): Call
5863         "extended_remote_set_inferior_cwd".
5864         (_initialize_remote): Call "add_packet_config_cmd" for
5865         QSetWorkingDir.
5866
5867 2017-10-04  Sergio Durigan Junior  <sergiodj@redhat.com>
5868
5869         * NEWS (New commands): Mention "set/show cwd".
5870         * cli/cli-cmds.c (_initialize_cli_cmds): Mention "set cwd" on
5871         "cd" command's help text.
5872         * common/common-inferior.h (get_inferior_cwd): New prototype.
5873         * infcmd.c (inferior_cwd_scratch): New global variable.
5874         (set_inferior_cwd): New function.
5875         (get_inferior_cwd): Likewise.
5876         (set_cwd_command): Likewise.
5877         (show_cwd_command): Likewise.
5878         (_initialize_infcmd): Add "set/show cwd" commands.
5879         * inferior.h (class inferior) <cwd>: New field.
5880         * nat/fork-inferior.c: Include "gdb_tilde_expand.h".
5881         (fork_inferior): Change inferior's cwd before its execution.
5882         * windows-nat.c (windows_create_inferior): Pass inferior's cwd
5883         to CreateProcess.
5884
5885 2017-10-04  Sergio Durigan Junior  <sergiodj@redhat.com>
5886
5887         * Makefile.in (SFILES): Add gdb_tilde_expand.c.
5888         (HFILES_NO_SRCDIR): Add gdb_tilde_expand.h.
5889         (COMMON_OBS): Add gdb_tilde_expand.o.
5890         * common/gdb_tilde_expand.c: New file.
5891         * common/gdb_tilde_expand.h: Likewise.
5892
5893 2017-10-03  Maciej W. Rozycki  <macro@imgtec.com>
5894
5895         * gdbarch.sh (objfile): Remove duplicate declaration.
5896         * gdbarch.h: Regenerate.
5897
5898 2017-10-03  Tom Tromey  <tom@tromey.com>
5899
5900         * utils.c (internal_vproblem): Use string_vprintf.
5901
5902 2017-10-03  Tom Tromey  <tom@tromey.com>
5903
5904         * printcmd.c (info_symbol_command): Use std::string.
5905
5906 2017-10-03  Tom Tromey  <tom@tromey.com>
5907
5908         * top.c (gdb_safe_append_history): Use std::string.
5909
5910 2017-10-03  Tom Tromey  <tom@tromey.com>
5911
5912         * event-top.c (stdin_event_handler): Update.
5913         * main.c (captured_main_1): Update.
5914         * top.h (make_delete_ui_cleanup): Remove.
5915         (struct ui): Add constructor and destructor.
5916         (new_ui, delete_ui): Remove.
5917         * top.c (make_delete_ui_cleanup): Remove.
5918         (new_ui_command): Use std::unique_ptr.
5919         (delete_ui_cleanup): Remove.
5920         (ui::ui): Rename from new_ui.  Update.
5921         (free_ui): Remove.
5922         (ui::~ui): Rename from delete_ui.  Update.
5923
5924 2017-10-03  Tom Tromey  <tom@tromey.com>
5925
5926         * symfile.c (load_progress): Use gdb::byte_vector.
5927
5928 2017-10-03  Tom Tromey  <tom@tromey.com>
5929
5930         * mi/mi-main.c (mi_cmd_trace_frame_collected): Remove unused
5931         declaration.
5932         * printcmd.c (x_command): Remove unused declaration.
5933         * symfile.c (symbol_file_command): Remove unused declaration.
5934
5935 2017-10-03  Tom Tromey  <tom@tromey.com>
5936
5937         * utils.c (internal_vproblem): Use std::string.
5938         (defaulted_query): Likewise.
5939
5940 2017-10-03  Tom Tromey  <tom@tromey.com>
5941
5942         * guile/scm-ports.c (ioscm_with_output_to_port_worker): Update.
5943         * top.c (execute_command_to_string): Update.
5944         * utils.c (make_cleanup_restore_page_info): Remove.
5945         (do_restore_page_info_cleanup): Remove.
5946         (set_batch_flag_and_restore_page_info):
5947         New.
5948         (make_cleanup_restore_page_info): Remove.
5949         (set_batch_flag_and_make_cleanup_restore_page_info): Remove.
5950         (~set_batch_flag_and_restore_page_info): New
5951         (make_cleanup_restore_uinteger): Remove.
5952         (make_cleanup_restore_integer): Remove.
5953         (struct restore_integer_closure): Remove.
5954         (restore_integer): Remove.
5955         * utils.h (struct set_batch_flag_and_restore_page_info): New
5956         class.
5957         (set_batch_flag_and_make_cleanup_restore_page_info): Remove.
5958         (make_cleanup_restore_page_info): Remove.
5959         (make_cleanup_restore_uinteger) Remove.
5960         (make_cleanup_restore_integer) Remove.
5961
5962 2017-10-03  Tom Tromey  <tom@tromey.com>
5963
5964         * record-full.h (record_full_gdb_operation_disable_set): Return
5965         scoped_restore_tmpl<int>.
5966         * infrun.c (adjust_pc_after_break): Update.
5967         (handle_signal_stop): Update.
5968         * record-full.c (record_full_gdb_operation_disable_set): Return
5969         scoped_restore_tmpl<int>.
5970         (record_full_wait_1, record_full_insert_breakpoint)
5971         (record_full_remove_breakpoint, record_full_save)
5972         (record_full_goto_insn): Update.
5973
5974 2017-10-02  Tom Tromey  <tom@tromey.com>
5975
5976         PR rust/22236:
5977         * rust-lang.c (rust_val_print_str): New function.
5978         (val_print_struct): Call it.
5979         (rust_subscript): Preserve name of slice type.
5980
5981 2017-10-02  Tom Tromey  <tom@tromey.com>
5982
5983         * rust-lang.c (rust_subscript): Handle slices in
5984         EVAL_AVOID_SIDE_EFFECTS case.
5985
5986 2017-10-02  Tom Tromey  <tom@tromey.com>
5987
5988         * rust-lang.c (rust_slice_type_p): Recognize &str as a slice type.
5989
5990 2017-10-02  Tom Tromey  <tom@tromey.com>
5991
5992         * rust-lang.h (rust_slice_type): Add "extern".
5993
5994 2017-10-02  Tom Tromey  <tom@tromey.com>
5995             Pedro Alves  <palves@redhat.com>
5996
5997         * ada-lang.h (ada_exc_info::operator<): Make const.
5998         (ada_exc_info::operator==): Make const.
5999         * ada-lang.c (ada_exc_info::operator<, ada_exc_info::operator==):
6000         Make const.
6001
6002 2017-09-29  Tom Tromey  <tom@tromey.com>
6003
6004         * target.c (read_whatever_is_readable): Change type of "result".
6005         Update.
6006         (free_memory_read_result_vector): Remove.
6007         (read_memory_robust): Change return type.  Update.
6008         * mi/mi-main.c (mi_cmd_data_read_memory_bytes): Update.  Use
6009         bin2hex, std::string.
6010         * target.h (memory_read_result_s): Remove typedef.
6011         (free_memory_read_result_vector): Remove.
6012         (read_memory_robust): Return std::vector.
6013
6014 2017-09-29  Tom Tromey  <tom@tromey.com>
6015
6016         * mi/mi-main.c (captured_mi_execute_command): Use scope_restore.
6017
6018 2017-09-29  Tom Tromey  <tom@tromey.com>
6019
6020         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions): Update.
6021         * ada-lang.h (struct ada_exc_info): Remove typedef.  Declare
6022         operator< and operator==.
6023         (ada_exceptions_list): Return a std::vector.
6024         * ada-lang.c (ada_exc_info::operator<): Rename from
6025         compare_ada_exception_info.
6026         (ada_exc_info::operator==): New.
6027         (sort_remove_dups_ada_exceptions_list): Change type of
6028         "exceptions".
6029         (ada_add_standard_exceptions, ada_add_exceptions_from_frame)
6030         (ada_add_global_exceptions): Likewise.
6031         (ada_exceptions_list_1): Return a std::vector.
6032         (ada_exceptions_list): Likewise.
6033
6034 2017-09-29  Tom Tromey  <tom@tromey.com>
6035
6036         * mi/mi-main.c (struct print_one_inferior_data) <inferiors>: Now a
6037         'std::set *'.
6038         (print_one_inferior): Update.
6039         (free_vector_of_ints): Remove.
6040         (list_available_thread_groups): Change "ids" to std::set.
6041         (mi_cmd_list_thread_groups): Update.
6042         (struct collect_cores_data) <core>: Now a std::set.
6043         (collect_cores): Update.
6044         (unique): Remove.
6045         (print_one_inferior): Update.
6046
6047 2017-09-29  Tom Tromey  <tom@tromey.com>
6048
6049         * mi/mi-main.c (mi_execute_cli_command): Use std::string.
6050         (mi_execute_async_cli_command): Likewise.
6051         (mi_cmd_trace_frame_collected): Use field_fmt.
6052
6053 2017-09-29  Tom Tromey  <tom@tromey.com>
6054
6055         * mi/mi-main.c (mi_cmd_data_write_memory_bytes): Use
6056         gdb::byte_vector.
6057
6058 2017-09-29  Tom Tromey  <tom@tromey.com>
6059
6060         * mi/mi-parse.c (mi_parse): Remove unused declaration.
6061
6062 2017-09-29  Tom Tromey  <tom@tromey.com>
6063
6064         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Don't copy "oarg".
6065
6066 2017-09-29  Tom Tromey  <tom@tromey.com>
6067
6068         * varobj.h (varobj_gen_name): Return std::string.
6069         * varobj.c (varobj_gen_name): Return std::string.
6070         * mi/mi-cmd-var.c (mi_cmd_var_create): Use std::string.
6071         (mi_cmd_var_delete): Don't copy "name".
6072
6073 2017-09-29  Tom Tromey  <tom@tromey.com>
6074
6075         * mi/mi-cmd-break.c (mi_argv_to_format): Return std::string.
6076         (mi_cmd_break_insert_1): Update.
6077
6078 2017-09-29  Tom Tromey  <tom@tromey.com>
6079
6080         * target.h (make_scoped_defer_target_commit_resume): Update.
6081         * target.c (make_scoped_defer_target_commit_resume): Rename from
6082         make_cleanup_defer_target_commit_resume.  Return a
6083         scoped_restore.
6084         * infrun.c (proceed): Use make_scoped_defer_target_commit_resume.
6085
6086 2017-09-29  Tom Tromey  <tom@tromey.com>
6087
6088         * main.c (captured_main_1): Remove unused declaration.
6089         * spu-multiarch.c (parse_spufs_run): Remove unused declaration.
6090
6091 2017-09-29  Tom Tromey  <tom@tromey.com>
6092
6093         * symtab.c (search_symbols): Remove unused outer cleanup.
6094         (make_source_files_completion_list): Remove unused declaration.
6095
6096 2017-09-29  Tom Tromey  <tom@tromey.com>
6097
6098         * mt-tdep.c (mt_push_dummy_call): Use gdb::byte_vector.
6099
6100 2017-09-29  Tom Tromey  <tom@tromey.com>
6101
6102         * xstormy16-tdep.c (xstormy16_push_dummy_call): Use
6103         gdb::byte_vector.
6104
6105 2017-09-29  Tom Tromey  <tom@tromey.com>
6106
6107         * complaints.c (vcomplaint): Use std::string.
6108
6109 2017-09-29  Tom Tromey  <tom@tromey.com>
6110
6111         * tracepoint.c (trace_variable_command): Use std::string.
6112         (encode_actions_1): Remove unused declarations.
6113         (create_tsv_from_upload): Use std::string.
6114
6115 2017-09-29  Tom Tromey  <tom@tromey.com>
6116
6117         * cp-support.c (gdb_demangle): Use std::string.
6118
6119 2017-09-29  Tom Tromey  <tom@tromey.com>
6120
6121         * stack.c (parse_frame_specification): Use std::string
6122         (info_frame_command): Use gdb::unique_xmalloc_ptr.
6123
6124 2017-09-29  Tom Tromey  <tom@tromey.com>
6125
6126         * tilegx-tdep.c (tilegx_push_dummy_call): Use gdb::byte_vector.
6127
6128 2017-09-29  Tom Tromey  <tom@tromey.com>
6129
6130         * utils.c (vfprintf_maybe_filtered): Use std::string.
6131         (vfprintf_unfiltered): Likewise.
6132
6133 2017-09-29  Tom Tromey  <tom@tromey.com>
6134
6135         * event-top.c (top_level_prompt): Return std::string.
6136         (display_gdb_prompt): Update.
6137
6138 2017-09-29  Tom Tromey  <tom@tromey.com>
6139
6140         * unittests/common-utils-selftests.c (format): New function.
6141         (string_vprintf_tests): New function.
6142         (_initialize_common_utils_selftests): Register new tests.
6143         * common/common-utils.c (string_vprintf): New function.
6144         * common/common-utils.h (string_vprintf): Declare.
6145
6146 2017-09-29  Pedro Alves  <palves@redhat.com>
6147
6148         * common/rsp-low.c (unpack_varlen_hex): Constify.
6149         * common/rsp-low.h (unpack_varlen_hex): Constify.
6150         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
6151         Constify.
6152         * remote.c (remote_set_permissions, read_ptid)
6153         (remote_current_thread, remote_get_threads_with_qthreadinfo)
6154         (remote_static_tracepoint_marker_at)
6155         (remote_static_tracepoint_markers_by_strid)
6156         (stop_reply_extract_thread, remote_parse_stop_reply): Constify.
6157         * tracepoint.c (parse_trace_status, parse_tracepoint_status)
6158         (parse_tracepoint_definition, parse_tsv_definition)
6159         (parse_static_tracepoint_marker_definition): Constify.
6160         * tracepoint.h (parse_static_tracepoint_marker_definition)
6161         (parse_trace_status, parse_tracepoint_status)
6162         (parse_tracepoint_definition, parse_tsv_definition): Constify.
6163
6164 2017-09-29  Pedro Alves  <palves@redhat.com>
6165
6166         * remote.c (target_buf, target_buf_size): Delete.
6167         (remote_get_noisy_reply): Remove buf_p and sizeof_buf parameters.
6168         Use the connection's packet buffer instead.
6169         All callers adjusted.
6170         (_initialize_remote): Remove references to target_buf and
6171         target_buf_size.
6172
6173 2017-09-28  Pedro Alves  <palves@redhat.com>
6174
6175         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
6176         unittests/common-utils-selftests.c.
6177         (SUBDIR_UNITTESTS_OBS): Add common-utils-selftests.o.
6178         (COMMON_OBS): Remove utils-selftests.o.
6179         * utils-selftests.c: Move to ...
6180         * unittests/common-utils-selftests.c: ... here and rename self
6181         test to "string_printf".
6182
6183 2017-09-28  Alexander Shaposhnikov <alexander.v.shaposhnikov@gmail.com> (tiny patch)
6184
6185         * dwarf2read.c (open_and_init_dwp_file): Protect against dwp_file
6186         having NULL cus or tus.
6187
6188 2017-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
6189
6190         * arm-tdep.c: (convert_from_extended): Remove.
6191         (convert_to_extended): Likewise.
6192         (arm_extract_return_value): Use convert_typed_floating.
6193         (arm_store_return_value): Likewise.
6194
6195         * sh-tdep.h (struct gdbarch_tdep): Add sh_littlebyte_bigword_type.
6196         * sh-tdep.c: Do not include "floatformat.h".
6197         (sh_littlebyte_bigword_type): New function.
6198         (sh_register_convert_to_virtual): Use convert_typed_floating.
6199         (sh_register_convert_to_raw): Likewise.
6200         * sh64-tdep.c: (struct gdbarch_tdep): Add sh_littlebyte_bigword_type.
6201         (sh64_littlebyte_bigword_type): New function.
6202         (sh64_extract_return_value): Use convert_typed_floating.
6203         (sh64_register_convert_to_virtual): Likewise.
6204         (sh64_register_convert_to_raw): Likewise.
6205
6206 2017-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
6207
6208         * doublest.h (floatformat_from_type): Move to gdbtypes.h.
6209         * doublest.c (floatformat_from_type): Move to gdbtypes.c.
6210
6211         * gdbtypes.h (union type_specific): Make field floatformat hold
6212         just a single struct floatformat, not an array.
6213         (floatformat_from_type): Move here.
6214         * gdbtypes.c (floatformat_from_type): Move here.  Update to
6215         changed TYPE_FLOATFORMAT definition.
6216         (verify_floatformat): Update to changed TYPE_FLOATFORMAT.
6217         (recursive_dump_type): Likewise.
6218         (init_float_type): Install correct floatformat for byte order.
6219         (arch_float_type): Likewise.
6220
6221 2017-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
6222
6223         * gdbtypes.c (init_type): Change incoming argument from
6224         length-in-bytes to length-in-bits.  Assert length is a
6225         multiple of TARGET_CHAR_BITS.
6226         (arch_type, arch_flags_type): Likewise.
6227         (init_integer_type): Update call to init_type.
6228         (init_character_type): Likewise.
6229         (init_boolean_type): Likewise.
6230         (init_float_type): Likewise.
6231         (init_decfloat_type): Likewise.
6232         (init_complex_type): Likewise.
6233         (init_pointer_type): Likewise.
6234         (objfile_type): Likewise.
6235         (arch_integer_type): Update call to arch_type.
6236         (arch_character_type): Likewise.
6237         (arch_boolean_type): Likewise.
6238         (arch_float_type): Likewise.
6239         (arch_decfloat_type): Likewise.
6240         (arch_complex_type): Likewise.
6241         (arch_pointer_type): Likewise.
6242         (gdbtypes_post_init): Likewise.
6243
6244         * dwarf2read.c (dwarf2_init_float_type): Update call to init_type.
6245         (read_base_type): Likewise.
6246         * mdebugread.c (basic_type): Likewise.
6247         * stabsread.c (dbx_init_float_type): Likewise.
6248         (rs6000_builtin_type): Likewise.
6249         (read_range_type): Likewise.  Also, fix call to init_integer_type
6250         with erroneous length argument.
6251
6252         * ada-lang.c (ada_language_arch_info): Update call to arch_type.
6253         * d-lang.c (build_d_types): Likewise.
6254         * f-lang.c (build_fortran_types): Likewise.
6255         * go-lang.c (build_go_types): Likewise.
6256         * opencl-lang.c (build_opencl_types): Likewise.
6257         * jit.c (finalize_symtab): Likewise.
6258         * gnu-v3-abi.c (build_gdb_vtable_type): Likewise.
6259         (build_std_type_info_type): Likewise.
6260         * target-descriptions.c (tdesc_gdb_type): Likewise.  Also,
6261         update call to arch_flags_type.
6262
6263         * linux-tdep.c (linux_get_siginfo_type_with_fields): Update call to
6264         arch_type.
6265         * fbsd-tdep.c (fbsd_get_siginfo_type): Likewise.
6266         * windows-tdep.c (windows_get_tlb_type): Likewise.
6267
6268         * avr-tdep.c (avr_gdbarch_init): Update call to arch_type.
6269         * ft32-tdep.c (ft32_gdbarch_init): Likewise.
6270         * m32c-tdep.c (make_types): Likewise.
6271         * rl78-tdep.c (rl78_gdbarch_init): Likewise.
6272         (rl78_psw_type): Update call to arch_flags_type.
6273         * m68k-tdep.c (m68k_ps_type): Update call to arch_flags_type.
6274         * rx-tdep.c (rx_psw_type): Likewise.
6275         (rx_fpsw_type): Likewise.
6276         * sparc-tdep.c (sparc_psr_type): Likewise.
6277         (sparc_fsr_type): Likewise.
6278         * sparc64-tdep.c (sparc64_pstate_type): Likewise.
6279         (sparc64_ccr_type): Likewise.
6280         (sparc64_fsr_type): Likewise.
6281         (sparc64_fprs_type): Likewise.
6282
6283 2017-09-27  Tom Tromey  <tom@tromey.com>
6284
6285         * findcmd.c (find_command): Constify.
6286
6287 2017-09-27  Tom Tromey  <tom@tromey.com>
6288
6289         * ada-tasks.c (task_command_1, task_command): Constify.
6290
6291 2017-09-27  Tom Tromey  <tom@tromey.com>
6292
6293         * symtab.c (maintenance_print_symbol_cache)
6294         (maintenance_flush_symbol_cache)
6295         (maintenance_print_symbol_cache_statistics): Constify.
6296
6297 2017-09-27  Tom Tromey  <tom@tromey.com>
6298
6299         * inferior.c (detach_inferior_command, kill_inferior_command)
6300         (inferior_command): Constify.
6301
6302 2017-09-27  Tom Tromey  <tom@tromey.com>
6303
6304         * regcache.c (regcache_print, maintenance_print_registers)
6305         (maintenance_print_raw_registers)
6306         (maintenance_print_cooked_registers)
6307         (maintenance_print_register_groups)
6308         (maintenance_print_remote_registers): Constify.
6309
6310 2017-09-27  Tom Tromey  <tom@tromey.com>
6311
6312         * printcmd.c (map_display_numbers, undisplay_command)
6313         (enable_disable_display_command, enable_display_command)
6314         (disable_display_command): Constify.
6315
6316 2017-09-27  Tom Tromey  <tom@tromey.com>
6317
6318         * breakpoint.h (delete_command): Don't declare.
6319         * breakpoint.c (delete_command, enable_once_command)
6320         (enable_count_command, enable_delete_command, breakpoint_1)
6321         (maintenance_info_breakpoints, stopin_command, stopat_command)
6322         (delete_command, delete_trace_command, save_breakpoints)
6323         (save_breakpoints_command, save_tracepoints_command): Constify.
6324
6325 2017-09-27  Tom Tromey  <tom@tromey.com>
6326
6327         * macrocmd.c (macro_expand_command, macro_expand_once_command)
6328         (skip_ws, extract_identifier, macro_define_command)
6329         (macro_undef_command, macro_list_command): Constify.
6330
6331 2017-09-27  Tom Tromey  <tom@tromey.com>
6332
6333         * infcmd.c (environment_info, set_environment_command)
6334         (unset_environment_command, path_info, info_proc_cmd_1)
6335         (info_proc_cmd_mappings, info_proc_cmd_stat)
6336         (info_proc_cmd_status, info_proc_cmd_cwd, info_proc_cmd_cmdline)
6337         (info_proc_cmd_exe, info_proc_cmd_all): Constify.
6338
6339 2017-09-27  Tom Tromey  <tom@tromey.com>
6340
6341         * i386-tdep.c (i386_mpx_info_bounds, i386_mpx_set_bounds):
6342         Constify.
6343
6344 2017-09-27  Tom Tromey  <tom@tromey.com>
6345
6346         * symfile-mem.c (add_symbol_file_from_memory_command): Constify.
6347
6348 2017-09-27  Tom Tromey  <tom@tromey.com>
6349
6350         * demangle.c (demangle_command): Constify.
6351
6352 2017-09-27  Tom Tromey  <tom@tromey.com>
6353
6354         * progspace.c (maintenance_info_program_spaces_command):
6355         Constify.
6356
6357 2017-09-27  Tom Tromey  <tom@tromey.com>
6358
6359         * compile/compile.c (check_raw_argument, compile_file_command)
6360         (compile_code_command, compile_print_command): Constify.
6361
6362 2017-09-27  Tom Tromey  <tom@tromey.com>
6363
6364         * reggroups.c (maintenance_print_reggroups): Constify.
6365
6366 2017-09-27  Tom Tromey  <tom@tromey.com>
6367
6368         * dwarf2read.c (save_gdb_index_command): Constify.
6369
6370 2017-09-27  Tom Tromey  <tom@tromey.com>
6371
6372         * stap-probe.c (info_probes_stap_command): Constify.
6373
6374 2017-09-27  Tom Tromey  <tom@tromey.com>
6375
6376         * fork-child.c (unset_exec_wrapper_command): Constify.
6377
6378 2017-09-27  Tom Tromey  <tom@tromey.com>
6379
6380         * btrace.c (get_uint, get_context_size, no_chunk)
6381         (maint_btrace_packet_history_cmd)
6382         (maint_btrace_clear_packet_history_cmd, maint_btrace_clear_cmd)
6383         (maint_info_btrace_cmd): Constify.
6384
6385 2017-09-27  Tom Tromey  <tom@tromey.com>
6386
6387         * reverse.c (delete_bookmark_command): Constify.
6388
6389 2017-09-27  Tom Tromey  <tom@tromey.com>
6390
6391         * remote.c (set_memory_packet_size)
6392         (set_memory_write_packet_size, show_memory_write_packet_size)
6393         (set_memory_read_packet_size, show_memory_read_packet_size)
6394         (compare_sections_command, packet_command, remote_put_command)
6395         (remote_get_command, remote_delete_command): Constify.
6396
6397 2017-09-27  Tom Tromey  <tom@tromey.com>
6398
6399         * mips-tdep.c (show_mipsfpu_command, set_mipsfpu_single_command)
6400         (set_mipsfpu_double_command, set_mipsfpu_none_command)
6401         (set_mipsfpu_auto_command): Constify.
6402
6403 2017-09-27  Tom Tromey  <tom@tromey.com>
6404
6405         * cli/cli-cmds.h (cd_command): Constify.
6406         * cli/cli-cmds.c (cd_command): Constify.
6407
6408 2017-09-27  Tom Tromey  <tom@tromey.com>
6409
6410         * thread.c (thread_name_command, thread_find_command): Constify.
6411
6412 2017-09-27  Tom Tromey  <tom@tromey.com>
6413
6414         * probe.c (enable_probes_command, disable_probes_command):
6415         Constify.
6416
6417 2017-09-27  Tom Tromey  <tom@tromey.com>
6418
6419         * symfile.c (symbol_file_command): Constify.
6420         * gdbcore.h (deprecated_file_changed_hook): Constify.
6421         * exec.c (deprecated_file_changed_hook, exec_file_command)
6422         (file_command): Constify.
6423         * defs.h (symbol_file_command): Constify.
6424
6425 2017-09-27  Tom Tromey  <tom@tromey.com>
6426
6427         * remote-fileio.c (set_system_call_allowed)
6428         (show_system_call_allowed): Constify.
6429
6430 2017-09-27  Tom Tromey  <tom@tromey.com>
6431
6432         * tracepoint.c (delete_trace_variable_command)
6433         (tfind_end_command, tfind_start_command, tfind_pc_command)
6434         (tfind_tracepoint_command, tfind_line_command)
6435         (tfind_range_command, tfind_outside_command): Constify.
6436
6437 2017-09-27  Tom Tromey  <tom@tromey.com>
6438
6439         * ax-gdb.c (maint_agent_printf_command, agent_command)
6440         (agent_eval_command): Constify.
6441
6442 2017-09-27  Tom Tromey  <tom@tromey.com>
6443
6444         * tracepoint.c (info_scope_command): Constify.
6445         * python/python.c (gdbpy_decode_line): Constify.
6446         * python/py-breakpoint.c (bppy_init): Constify.
6447         * mi/mi-cmd-break.c (mi_cmd_break_insert_1): Constify.
6448         * location.h: (new_linespec_location)
6449         (string_to_event_location_basic, string_to_event_location):
6450         Constify.
6451         * location.c (new_linespec_location)
6452         (string_to_event_location_basic, string_to_event_location):
6453         Constify.
6454         * linespec.h (decode_line_with_current_source)
6455         (decode_line_with_last_displayed, linespec_lex_to_end): Constify.
6456         * linespec.c (linespec_lex_to_end)
6457         (decode_line_with_current_source)
6458         (decode_line_with_last_displayed): Constify.
6459         * guile/scm-breakpoint.c (gdbscm_register_breakpoint_x):
6460         Constify.
6461         * cli/cli-cmds.c (edit_command, list_command): Constify.
6462         * breakpoint.h (until_break_command, watch_command_wrapper)
6463         (awatch_command_wrapper, rwatch_command_wrapper)
6464         (init_ada_exception_breakpoint): Constify.
6465         * breakpoint.c (break_command_1, dprintf_command)
6466         (break_range_command, watch_command_wrapper)
6467         (rwatch_command_wrapper, awatch_command_wrapper)
6468         (until_break_command, init_ada_exception_breakpoint)
6469         (strace_marker_create_sals_from_location, trace_command)
6470         (ftrace_command, strace_command, struct tracepoint): Constify.
6471         * ax-gdb.c (agent_command_1): Constify.
6472         * ada-lang.c (ada_exception_sal): Constify.
6473
6474 2017-09-27  Tom Tromey  <tom@tromey.com>
6475
6476         * record.c (cmd_record_delete, cmd_record_stop, cmd_record_save)
6477         (cmd_record_goto_begin, cmd_record_goto_end, get_insn_number)
6478         (get_context_size, no_chunk, get_insn_history_modifiers)
6479         (cmd_record_insn_history, get_call_history_modifiers)
6480         (cmd_record_call_history): Constify.
6481
6482 2017-09-27  Tom Tromey  <tom@tromey.com>
6483
6484         * source.c (show_substitute_path_command)
6485         (unset_substitute_path_command, set_substitute_path_command):
6486         Constify.
6487
6488 2017-09-27  Tom Tromey  <tom@tromey.com>
6489
6490         * typeprint.c (maintenance_print_type): Constify.
6491         * maint.c (maintenance_dump_me, maintenance_demangle)
6492         (maintenance_time_display, maintenance_info_sections)
6493         (maintenance_print_statistics, maintenance_deprecate)
6494         (maintenance_undeprecate): Constify.
6495         (maintenance_do_deprecate): Constify.  Use std::string.
6496         (maintenance_selftest): Constify.
6497         * gdbtypes.h (maintenance_print_type): Constify.
6498
6499 2017-09-27  Tom Tromey  <tom@tromey.com>
6500
6501         * hppa-tdep.c (unwind_command): Constify.
6502
6503 2017-09-27  Tom Tromey  <tom@tromey.com>
6504
6505         * target-descriptions.c (unset_tdesc_filename_cmd)
6506         (maint_print_c_tdesc_cmd, maintenance_check_xml_descriptions):
6507         Constify.
6508
6509 2017-09-27  Tom Tromey  <tom@tromey.com>
6510
6511         * dummy-frame.c (maintenance_print_dummy_frames): Constify.
6512
6513 2017-09-27  Tom Tromey  <tom@tromey.com>
6514
6515         * tui/tui.c (tui_enable_command, tui_disable_command): Constify.
6516
6517 2017-09-27  Tom Tromey  <tom@tromey.com>
6518
6519         * tui/tui-regs.c (tui_reg_command): Constify.
6520
6521 2017-09-27  Tom Tromey  <tom@tromey.com>
6522
6523         * skip.c (skip_file_command, skip_function_command)
6524         (skip_enable_command, skip_disable_command, skip_delete_command):
6525         Constify.
6526
6527 2017-09-27  Tom Tromey  <tom@tromey.com>
6528
6529         * record-btrace.c (cmd_record_btrace_bts_start)
6530         (cmd_record_btrace_pt_start): Constify.
6531
6532 2017-09-27  Tom Tromey  <tom@tromey.com>
6533
6534         * symmisc.c (maintenance_print_symbols)
6535         (maintenance_print_msymbols, maintenance_print_objfiles)
6536         (maintenance_info_symtabs, maintenance_check_symtabs)
6537         (maintenance_expand_symtabs, maintenance_info_line_tables):
6538         Constify.
6539
6540 2017-09-27  Tom Tromey  <tom@tromey.com>
6541
6542         * top.c (new_ui_command): Constify.
6543
6544 2017-09-27  Tom Tromey  <tom@tromey.com>
6545
6546         * symfile.c (add_symbol_file_command)
6547         (remove_symbol_file_command, list_overlays_command)
6548         (map_overlay_command, unmap_overlay_command)
6549         (overlay_auto_command, overlay_manual_command)
6550         (overlay_off_command, overlay_load_command): Constify.
6551
6552 2017-09-27  Tom Tromey  <tom@tromey.com>
6553
6554         * spu-tdep.c (info_spu_event_command, info_spu_signal_command)
6555         (info_spu_mailbox_command, info_spu_dma_command)
6556         (info_spu_proxydma_command): Constify.
6557
6558 2017-09-27  Tom Tromey  <tom@tromey.com>
6559
6560         * cli/cli-logging.c (set_logging_on, set_logging_off): Constify.
6561
6562 2017-09-27  Tom Tromey  <tom@tromey.com>
6563
6564         * cli/cli-script.c (user_defined_command): Constify.
6565
6566 2017-09-27  Tom Tromey  <tom@tromey.com>
6567
6568         * cli/cli-dump.c (dump_memory_command, dump_value_command)
6569         (dump_srec_memory, dump_srec_value, dump_ihex_memory)
6570         (dump_ihex_value, dump_verilog_memory, dump_verilog_value)
6571         (dump_tekhex_memory, dump_tekhex_value, dump_binary_memory)
6572         (dump_binary_value, append_binary_memory, append_binary_value):
6573         Constify.
6574         (struct dump_context) <func>: Constify.
6575         (add_dump_command): Update.
6576
6577 2017-09-27  Tom Tromey  <tom@tromey.com>
6578
6579         * cli/cli-cmds.c (show_version, show_configuration)
6580         (source_command, show_user): Constify.
6581
6582 2017-09-27  Tom Tromey  <tom@tromey.com>
6583
6584         * target.c (maintenance_print_target_stack): Constify.
6585
6586 2017-09-27  Tom Tromey  <tom@tromey.com>
6587
6588         * interps.c (interpreter_exec_cmd): Constify.
6589
6590 2017-09-27  Tom Tromey  <tom@tromey.com>
6591
6592         * record-full.c (cmd_record_full_restore): Constify.
6593
6594 2017-09-27  Tom Tromey  <tom@tromey.com>
6595
6596         * memattr.c (enable_mem_command, disable_mem_command)
6597         (delete_mem_command): Constify.
6598
6599 2017-09-27  Tom Tromey  <tom@tromey.com>
6600
6601         * value.c (show_convenience): Constify.
6602
6603 2017-09-27  Tom Tromey  <tom@tromey.com>
6604
6605         * gdbcore.h (core_file_command): Update.
6606         * corefile.c (core_file_command): Constify.
6607
6608 2017-09-27  Tom Tromey  <tom@tromey.com>
6609
6610         * user-regs.c (maintenance_print_user_registers): Constify.
6611
6612 2017-09-27  Tom Tromey  <tom@tromey.com>
6613
6614         * cp-namespace.c (maintenance_cplus_namespace): Constify.
6615
6616 2017-09-27  Tom Tromey  <tom@tromey.com>
6617
6618         * cp-support.c (first_component_command): Constify.
6619
6620 2017-09-27  Tom Tromey  <tom@tromey.com>
6621
6622         * psymtab.c (maintenance_print_psymbols)
6623         (maintenance_info_psymtabs, maintenance_check_psymtabs):
6624         Constify.
6625
6626 2017-09-27  Tom Tromey  <tom@tromey.com>
6627
6628         * windows-tdep.c (display_tib): Constify.
6629
6630 2017-09-27  Tom Tromey  <tom@tromey.com>
6631
6632         * linux-fork.c (delete_checkpoint_command)
6633         (detach_checkpoint_command): Constify.
6634
6635 2017-09-27  Tom Tromey  <tom@tromey.com>
6636
6637         * cp-abi.c (set_cp_abi_cmd, show_cp_abi_cmd): Constify.
6638
6639 2017-09-27  Tom Tromey  <tom@tromey.com>
6640
6641         * arc-tdep.c (dump_arc_instruction_command): Constify.
6642
6643 2017-09-27  Tom Tromey  <tom@tromey.com>
6644
6645         * valprint.c (set_radix, show_radix): Constify.
6646
6647 2017-09-27  Tom Tromey  <tom@tromey.com>
6648
6649         * dtrace-probe.c (info_probes_dtrace_command): Constify.
6650
6651 2017-09-27  Tom Tromey  <tom@tromey.com>
6652
6653         * command.h (not_just_help_class_command): Update.
6654         * cli/cli-decode.h (not_just_help_class_command): Update.
6655         * cli/cli-decode.c (not_just_help_class_command): Constify.
6656
6657 2017-09-27  Tom Tromey  <tom@tromey.com>
6658
6659         * gdb_bfd.c (maintenance_info_bfds): Constify.
6660
6661 2017-09-27  Tom Tromey  <tom@tromey.com>
6662
6663         * cli/cli-decode.c (add_cmd, set_cmd_cfunc): New function
6664         overloads.
6665         (do_add_cmd): Rename from add_cmd.  Don't call set_cmd_cfunc.
6666         (do_const_cfunc): New function.
6667         (cmd_cfunc_eq): New overload.
6668         (cli_user_command_p): Check do_const_cfunc.
6669         * cli/cli-decode.h (struct cmd_list_element) <function>: New field
6670         const_cfunc.
6671         * command.h (add_cmd): Add const overload and no-function
6672         overload.
6673         (set_cmd_cfunc): Add const overload.
6674         (cmd_const_cfunc_ftype): Declare.
6675         (cmd_cfunc_eq): Add const overload.
6676         * breakpoint.c, cli-cmds.c, cli-dump.c, guile/scm-cmd.c,
6677         python/py-cmd.c, target.c, tracepoint.c: Use no-function add_cmd
6678         overload.
6679
6680 2017-09-27  Tom Tromey  <tom@tromey.com>
6681
6682         * macroexp.c (get_next_token_for_substitution): New function.
6683         (substitute_args): Call it.  Check for __VA_OPT__.
6684
6685 2017-09-26  Walfred Tedeschi  <walfred.tedeschi@intel.com>
6686             Pedro Alves <palves@redhat.com>
6687
6688         * dwarf2read.c (dwarf2_cu): Remove field producer_is_icc and add
6689         producer_is_icc_lt_14.
6690         (producer_is_icc_lt_14): New function.
6691         (check_producer): Add code for checking version of ICC.
6692         (producer_is_icc): Move to producer.c.
6693         (read_structure_type): Restrict ICC workaround to ICC<14.
6694         * producer.c: Include selftest.h.
6695         (producer_is_icc, producer_parsing_tests, _initialize_producer):
6696         New functions.
6697         * producer.h (producer_is_icc): New declaration.
6698
6699 2017-09-26  Walfred Tedeschi  <walfred.tedeschi@intel.com>
6700
6701         * Makefile.in (SFILES): Add producer.c.
6702         (COMMON_OBS): Add producer.o
6703         * amd64-tdep.c (producer.h): Add new include.
6704         * dwarf2read.c (producer.h): Add new include.
6705         * producer.c: New file.
6706         * producer.h: New file.
6707         * utils.c (producer_is_gcc, producer_is_gcc_ge_4): Move to
6708         producer.c.
6709         * utils.h (producer_is_gcc, producer_is_gcc_ge_4): Move to
6710         producer.h.
6711
6712 2017-09-26  Matthias Klose  <doko@ubuntu.com>
6713
6714         * configure.ac: Search ncursesw before ncurses.
6715         Check ncursesw/ncurses.h before ncurses/ncurses.h.
6716         * gdb_curses.h: Include <ncursesw/ncurses.h>
6717         * config.in, configure: Regenerate.
6718
6719 2017-09-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6720
6721         PR gdb/22185
6722         * configure.host <*-*-solaris2.[01], *-*-solaris2.[2-9]*>: Mark as
6723         obsolete.
6724         Use gdb_host sol2 for i[34567]86-*-solaris2*, x86_64-*-solaris2*.
6725         Remove i386sol2 support.
6726         * configure.nat <i386sol2>: Remove.
6727         <sol2-64>: Fold into ...
6728         <sol2>: ... this.
6729         Move common settings to default section.
6730         Add sol-thread.o.
6731         * configure.tgt <i[34567]86-*-solaris2.1[0-9]*,
6732         x86_64-*-solaris2.1[0-9]*>: Rename to ...
6733         <i[34567]86-*-solaris2*, x86_64-*-solaris2*>: ... this.
6734         <i[34567]86-*-solaris*>: Remove.
6735         <sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*>: Remove.
6736
6737         * configure.ac: Remove wctype in libw check.
6738         (_MSE_INT_H): Don't define on Solaris 7-9.
6739         <solaris*>: Remove libthread_db.so.1 check.
6740         * configure: Regenerate.
6741         * config.in: Regenerate.
6742
6743         * proc-service.c: Remove PROC_SERVICE_IS_OLD handling.
6744         (gdb_ps_prochandle_t, gdb_ps_read_buf_t, gdb_ps_write_buf_t)
6745         (gdb_ps_size_t): Remove.
6746         Use base types in users.
6747         * sol-thread.c: Likewise, also for gdb_ps_addr_t.
6748
6749         * NEWS (Changes since GDB 8.0): Document Solaris 2.0-9 removal.
6750
6751 2017-09-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6752
6753         PR build/22206
6754         * sparc64-tdep.c (adi_tag_fd): Print pid as long.
6755         (adi_is_addr_mapped): Likewise.
6756         (PSR_ICC): Don't redefine.
6757         (PSR_IMPL): Likewise.
6758
6759 2017-09-25  Tom Tromey  <tom@tromey.com>
6760
6761         * regcache.c (regcache::dump): Use string_printf.
6762
6763 2017-09-25  Tom Tromey  <tom@tromey.com>
6764
6765         * regcache.c (class regcache_invalidator): New.
6766         (struct register_to_invalidate): Remove.
6767         (make_cleanup_regcache_invalidate): Remove.
6768         (regcache::raw_write): Use regcache_invalidator.
6769
6770 2017-09-25  Tom Tromey  <tom@tromey.com>
6771
6772         * spu-tdep.c (spu2ppu_sniffer): Update.
6773         * regcache.h (make_cleanup_regcache_xfree): Don't declare.
6774         * regcache.c (do_regcache_xfree, make_cleanup_regcache_xfree):
6775         Remove.
6776         * ppc-linux-tdep.c (ppu2spu_sniffer): Update.
6777         * mi/mi-main.c (mi_cmd_data_list_changed_registers): Update.
6778         * frame.h (frame_save_as_regcache): Return std::unique_ptr.
6779         * frame.c (frame_save_as_regcache): Return std::unique_ptr.
6780         (frame_pop): Update.
6781
6782 2017-09-25  Tom Tromey  <tom@tromey.com>
6783
6784         * spu-tdep.c (spu2ppu_dealloc_cache): Use delete.
6785         * regcache.h (regcache_xfree): Don't declare.
6786         * regcache.c (regcache_xfree): Remove.
6787         (do_regcache_xfree): Use delete.
6788         * ppc-linux-tdep.c (ppu2spu_dealloc_cache): Use delete.
6789         * linux-fork.c (free_fork): Use delete.
6790         (fork_save_infrun_state): Likewise.
6791         * jit.c (jit_dealloc_cache): Use delete.
6792         * infrun.c (discard_infcall_suspend_state): Use delete.
6793
6794 2017-09-25  Tom Tromey  <tom@tromey.com>
6795
6796         * regcache.h (regcache_xmalloc): Don't declare.
6797         (regcache_raw_set_cached_value): Update comment.
6798         * regcache.c (regcache_xmalloc): Remove.
6799         * ppc-linux-tdep.c (ppu2spu_sniffer): Use new.
6800         * jit.c (jit_frame_sniffer): Use new.
6801         * frame.c (frame_save_as_regcache): Use new.
6802
6803 2017-09-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6804
6805         * NEWS: Advertise support for guarded-storage registers on IBM z.
6806
6807 2017-09-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6808
6809         * s390-linux-nat.c (have_regset_gs): New static variable.
6810         (s390_linux_fetch_inferior_registers): Handle guarded-storage
6811         control block and guarded-storage broadcast control regsets.
6812         (s390_read_description): Detect whether the target has
6813         guarded-storage support, return appropriate tdesc.
6814         * s390-linux-tdep.c (features/s390-gs-linux64.c): New include.
6815         (features/s390x-gs-linux64.c): Likewise.
6816         (struct gdbarch_tdep) <have_gs>: New field.
6817         (s390_regmap_gs, s390_regmap_gsbc, s390_gs_regset)
6818         (s390_gsbc_regset): New variables.
6819         (s390_iterate_over_regset_sections): Iterate over s390_gs_regset
6820         and s390_gsbc_regset, if applicable.
6821         (s390_core_read_description): Check whether core file was from a
6822         target with guarded-storage support; include appropriate regsets.
6823         (s390_gdbarch_init): Add registers for guarded-storage support.
6824         (_initialize_s390_tdep): Initialize new target descriptions that
6825         include registers for guarded-storage support.
6826         * s390-linux-tdep.h (HWCAP_S390_GS, S390_GSD_REGNUM)
6827         (S390_GSSM_REGNUM, S390_GSEPLA_REGNUM)
6828         (S390_BC_GSD_REGNUM, S390_BC_GSSM_REGNUM): New defines.
6829         (S390_NUM_REGS): Adjust macro definition.
6830         (s390_gs_regset, s390_gsbc_regset, tdesc_s390_gs_linux64)
6831         (tdesc_s390x_gs_linux64): New declarations.
6832
6833 2017-09-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6834
6835         * features/s390-gs-linux64.xml: New file.
6836         * features/s390-gs.xml: New file.
6837         * features/s390-gsbc.xml: New file.
6838         * features/s390x-gs-linux64.xml: New file.
6839         * features/Makefile (WHICH): Add s390-gs-linux64 and
6840         s390x-gs-linux64.
6841         (s390-gs-linux64-expedite, s390x-gs-linux64-expedite): New macros.
6842         (XMLTOC): Add s390-gs-linux64.xml and s390x-linux64.xml.
6843         * features/s390-gs-linux64.c: New generated file.
6844         * features/s390x-gs-linux64.c: New file.
6845         * regformats/s390-gs-linux64.dat: New file.
6846         * regformats/s390x-gs-linux64.dat: New file.
6847
6848 2017-09-23  Tom Tromey  <tom@tromey.com>
6849
6850         * defs.h (make_cleanup_override_quit_handler): Don't declare.
6851
6852 2017-09-22  Tom Tromey  <tom@tromey.com>
6853
6854         * utils.c (class scoped_input_handler) <m_quit_handler>: Change
6855         type to scoped_restore_tmpl.
6856         <scoped_input_handler>: Initialize m_quit_handler directly.
6857
6858 2017-09-22  Sergio Durigan Junior  <sergiodj@redhat.com>
6859
6860         * cli/cli-cmds.c (pwd_command): Use "getcwd (NULL, 0)".
6861         (cd_command): Likewise.  Free "current_directory" before
6862         assigning to it.
6863         * main.c (captured_main_1): Use "getcwd (NULL, 0)".
6864         * mi/mi-cmd-env.c (mi_cmd_env_pwd): Likewise.
6865         * top.c (gdb_dirbuf): Remove global declaration.
6866         * top.h (gdb_dirbuf): Likewise.
6867
6868 2017-09-22  Sergio Durigan Junior  <sergiodj@redhat.com>
6869
6870         * gnulib/aclocal.m4: Regenerate.
6871         * gnulib/config.in: Regenerate.
6872         * gnulib/configure: Regenerate.
6873         * gnulib/import/Makefile.am: Regenerate.
6874         * gnulib/import/Makefile.in: Regenerate.
6875         * gnulib/import/assure.h: New file.
6876         * gnulib/import/at-func.c: Likewise
6877         * gnulib/import/chdir-long.c: New file.
6878         * gnulib/import/chdir-long.h: New file.
6879         * gnulib/import/cloexec.c: New file.
6880         * gnulib/import/cloexec.h: New file.
6881         * gnulib/import/close.c: New file.
6882         * gnulib/import/closedir.c: New file.
6883         * gnulib/import/dirent-private.h: New file.
6884         * gnulib/import/dup-safer.c: New file.
6885         * gnulib/import/dup.c: New file.
6886         * gnulib/import/dup2.c: New file.
6887         * gnulib/import/error.c: New file.
6888         * gnulib/import/error.h: New file.
6889         * gnulib/import/exitfail.c: New file.
6890         * gnulib/import/exitfail.h: New file.
6891         * gnulib/import/fchdir.c: New file.
6892         * gnulib/import/fcntl.c: New file.
6893         * gnulib/import/fcntl.in.h: New file.
6894         * gnulib/import/fd-hook.c: New file.
6895         * gnulib/import/fd-hook.h: New file.
6896         * gnulib/import/fd-safer.c: New file.
6897         * gnulib/import/fdopendir.c: New file.
6898         * gnulib/import/filename.h: New file.
6899         * gnulib/import/filenamecat-lgpl.c: New file.
6900         * gnulib/import/filenamecat.h: New file.
6901         * gnulib/import/fstat.c: New file.
6902         * gnulib/import/fstatat.c: New file.
6903         * gnulib/import/getcwd-lgpl.c: New file.
6904         * gnulib/import/getcwd.c: New file.
6905         * gnulib/import/getdtablesize.c: New file.
6906         * gnulib/import/getlogin_r.c: New file.
6907         * gnulib/import/getprogname.c: New file.
6908         * gnulib/import/getprogname.h: New file.
6909         * gnulib/import/gettext.h: New file.
6910         * gnulib/import/glob-libc.h: New file.
6911         * gnulib/import/glob.c: New file.
6912         * gnulib/import/glob.in.h: New file.
6913         * gnulib/import/intprops.h: New file.
6914         * gnulib/import/m4/chdir-long.m4: New file.
6915         * gnulib/import/m4/close.m4: New file.
6916         * gnulib/import/m4/closedir.m4: New file.
6917         * gnulib/import/m4/d-ino.m4: New file.
6918         * gnulib/import/m4/d-type.m4: New file.
6919         * gnulib/import/m4/dup.m4: New file.
6920         * gnulib/import/m4/dup2.m4: New file.
6921         * gnulib/import/m4/error.m4: New file.
6922         * gnulib/import/m4/fchdir.m4: New file.
6923         * gnulib/import/m4/fcntl.m4: New file.
6924         * gnulib/import/m4/fcntl_h.m4: New file.
6925         * gnulib/import/m4/fdopendir.m4: New file.
6926         * gnulib/import/m4/filenamecat.m4: New file.
6927         * gnulib/import/m4/fstat.m4: New file.
6928         * gnulib/import/m4/fstatat.m4: New file.
6929         * gnulib/import/m4/getcwd-abort-bug.m4: New file.
6930         * gnulib/import/m4/getcwd-path-max.m4: New file.
6931         * gnulib/import/m4/getcwd.m4: New file.
6932         * gnulib/import/m4/getdtablesize.m4: New file.
6933         * gnulib/import/m4/getlogin_r.m4: New file.
6934         * gnulib/import/m4/getprogname.m4: New file.
6935         * gnulib/import/m4/glob.m4: New file.
6936         * gnulib/import/m4/gnulib-cache.m4: Regenerate.
6937         * gnulib/import/m4/gnulib-comp.m4: Regenerate.
6938         * gnulib/import/m4/mempcpy.m4: New file.
6939         * gnulib/import/m4/memrchr.m4: New file.
6940         * gnulib/import/m4/mode_t.m4: New file.
6941         * gnulib/import/m4/msvc-inval.m4: New file.
6942         * gnulib/import/m4/msvc-nothrow.m4: New file.
6943         * gnulib/import/m4/open.m4: New file.
6944         * gnulib/import/m4/openat.m4: New file.
6945         * gnulib/import/m4/opendir.m4: New file.
6946         * gnulib/import/m4/readdir.m4: New file.
6947         * gnulib/import/m4/realloc.m4: New file.
6948         * gnulib/import/m4/rewinddir.m4: New file.
6949         * gnulib/import/m4/save-cwd.m4: New file.
6950         * gnulib/import/m4/strdup.m4: New file.
6951         * gnulib/import/m4/strerror.m4: New file.
6952         * gnulib/import/m4/unistd-safer.m4: New file.
6953         * gnulib/import/mempcpy.c: New file.
6954         * gnulib/import/memrchr.c: New file.
6955         * gnulib/import/msvc-inval.c: New file.
6956         * gnulib/import/msvc-inval.h: New file.
6957         * gnulib/import/msvc-nothrow.c: New file.
6958         * gnulib/import/msvc-nothrow.h: New file.
6959         * gnulib/import/open.c: New file.
6960         * gnulib/import/openat-die.c: New file.
6961         * gnulib/import/openat-priv.h: New file.
6962         * gnulib/import/openat-proc.c: New file.
6963         * gnulib/import/openat.c: New file.
6964         * gnulib/import/openat.h: New file.
6965         * gnulib/import/opendir.c: New file.
6966         * gnulib/import/pipe-safer.c: New file.
6967         * gnulib/import/readdir.c: New file.
6968         * gnulib/import/realloc.c: New file.
6969         * gnulib/import/rewinddir.c: New file.
6970         * gnulib/import/save-cwd.c: New file.
6971         * gnulib/import/save-cwd.h: New file.
6972         * gnulib/import/strdup.c: New file.
6973         * gnulib/import/strerror-override.c: New file.
6974         * gnulib/import/strerror-override.h: New file.
6975         * gnulib/import/strerror.c: New file.
6976         * gnulib/import/unistd--.h: New file.
6977         * gnulib/import/unistd-safer.h: New file.
6978         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add
6979         "getcwd" and "glob".
6980         * ser-tcp.c: Undefine "close" before redefining it.
6981
6982 2017-09-21  Simon Marchi  <simon.marchi@ericsson.com>
6983
6984         * guile/scm-value.c (gdbscm_value_address): Initialize address,
6985         get rid of res_val.
6986
6987 2017-09-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6988
6989         * configure.nat <i386sol2,i386>: Add fork-inferior.o to NATDEPFILES.
6990         <sol2,sparc>: Likewise.
6991         <sol2-64,i386>: Likewise.
6992
6993         * warning.m4 (AM_GDB_WARNINGS): Disable -Wunknown-pragmas,
6994         -Wdeprecated-declarations on *-*-solaris*.
6995         * configure: Regenerate.
6996
6997         * procfs.c: Include "nat/inferior.h".
6998         (procfs_info_proc): Fix typo.
6999
7000 2017-09-21  Kevin Buettner  <kevinb@redhat.com>
7001
7002         * remote.c (vector): Include.
7003         (struct private_thread_info): Add field, thread_handle.
7004         (free_private_thread_info): Deallocate storage associated with
7005         thread handle.
7006         (get_private_info_thread): Initialize `thread_handle' field.
7007         (struct thread_item): Add field, thread_handle.
7008         (clear_threads_listing_context): Deallocate storage associated
7009         with thread handle.
7010         (start_thread): Add support for "handle" attribute.
7011         (thread_attributes): Add "handle".
7012         (remote_get_threads_with_qthreadinfo): Initialize thread_handle
7013         field.
7014         (remote_update_thread_list): Update thread_handle.
7015         (remote_thread_handle_to_thread_info): New function.
7016         (init_remote_ops): Initialize to_thread_handle_to_thread_info.
7017
7018 2017-09-21  Kevin Buettner  <kevinb@redhat.com>
7019
7020         * python/py-inferior.c (gdbpy_thread_from_thread_handle): New
7021         function.
7022         (inferior_object_methods): Add gdbpy_thread_from_thread_handle.
7023         * python/python-internal.h (thread_object_type): Declare.
7024
7025 2017-09-21  Kevin Buettner  <kevinb@redhat.com>
7026
7027         * target.h (struct target_ops): Add to_thread_handle_to_thread_info.
7028         (target_thread_handle_to_thread_info): Declare.
7029         * target.c (target_thread_handle_to_thread_info): New function.
7030         * target-delegates.c: Regenerate.
7031         * gdbthread.h (find_thread_by_handle): Declare.
7032         * thread.c (find_thread_by_handle): New function.
7033         * linux-thread-db.c (thread_db_thread_handle_to_thread_info): New
7034         function.
7035         (init_thread_db_ops): Register thread_db_thread_handle_to_thread_info.
7036
7037 2017-09-21  Simon Marchi  <simon.marchi@ericsson.com>
7038
7039         * nat/linux-waitpid.c (linux_debug): Add ATTRIBUTE_PRINTF.
7040
7041 2017-09-21  Simon Marchi  <simon.marchi@ericsson.com>
7042
7043         * microblaze-tdep.c (microblaze_debug): Add ATTRIBUTE_PRINTF.
7044
7045 2017-09-21  Yao Qi  <yao.qi@linaro.org>
7046
7047         * configure.tgt (aarch64*-*-freebsd*): Add fbsd-tdep.o solib-svr4.o
7048         to gdb_target_obs.
7049
7050 2017-09-20  Tom Tromey  <tom@tromey.com>
7051
7052         * breakpoint.c (struct counted_command_line): Remove.
7053         (breakpoint_commands): Update.
7054         (alloc_counted_command_line, incref_counted_command_line)
7055         (decref_counted_command_line, do_cleanup_counted_command_line)
7056         (make_cleanup_decref_counted_command_line): Remove.
7057         (breakpoint_set_commands, commands_command_1, ~bpstats, bpstats)
7058         (bpstat_clear_actions, bpstat_do_actions_1, watchpoint_check)
7059         (bpstat_stop_status, print_one_breakpoint_location, ~breakpoint)
7060         (save_breakpoints): Update.
7061         * breakpoint.h (counted_command_line): Now a typedef to
7062         shared_ptr.
7063         (struct breakpoint) <commands>: Now a counted_command_line.
7064         (struct bpstats) <command>: Likewise.
7065
7066 2017-09-20  Tom Tromey  <tom@tromey.com>
7067
7068         * breakpoint.c (struct commands_info, do_map_commands_command):
7069         Remove.
7070         (commands_command_1): Update.
7071         (iterate_over_related_breakpoints): Take a function_view.
7072         (do_delete_breakpoint, do_map_delete_breakpoint): Remove.
7073         (delete_command): Update.
7074         (map_breakpoint_numbers): Take a function_view.
7075         (do_disable_breakpoint, do_map_delete_breakpoint): Remove.
7076         (disable_command): Update.
7077         (do_enable_breakpoint, do_map_enable_breakpoint): Remove.
7078         (enable_command): Update.
7079         (struct disp_data, do_enable_breakpoint_disp)
7080         (do_map_enable_once_breakpoint, do_map_enable_count_breakpoint)
7081         (do_map_enable_delete_breakpoint): Remove.
7082         (enable_once_command, enable_count_command, enable_delete_command)
7083         (delete_trace_variable_command): Update.
7084
7085 2017-09-20  Tom Tromey  <tom@tromey.com>
7086
7087         * breakpoint.c (~bpstats): Rename from bpstat_free.  Update.
7088         (bpstat_clear): Use delete.
7089         (bpstats): New constructors.
7090         (bpstat_copy, bpstat_stop_status): Use new.
7091         (dprintf_after_condition_true): Update.
7092         * breakpoint.h (bpstats::bpstats): Add constructors.
7093         (bpstats::~bpstats): Add destructor.
7094
7095 2017-09-20  Pedro Alves  <palves@redhat.com>
7096
7097         * eval.c (make_params): Delete, refactored as ...
7098         (class fake_method): ... this new type's ctor.
7099         (fake_method::~fake_method): New.
7100         (evaluate_subexp_standard): Use 'fake_method'.
7101
7102 2017-09-20  Tom Tromey  <tom@tromey.com>
7103
7104         * windows-nat.c (get_windows_debug_event, windows_wait)
7105         (do_initial_windows_stuff, windows_attach): Update.
7106         * utils.c (vwarning, internal_vproblem): Update.
7107         (ui_unregister_input_event_handler_cleanup)
7108         (prepare_to_handle_input): Remove.
7109         (class scoped_input_handler): New.
7110         (defaulted_query, prompt_for_continue): Update.
7111         * tui/tui-hooks.c (tui_refresh_frame_and_register_information):
7112         Update.
7113         * top.c (undo_terminal_modifications_before_exit): Update.
7114         * target/target.h (target_terminal_init, target_terminal_inferior)
7115         (target_terminal_ours): Don't declare.
7116         (class target_terminal): New.
7117         * target.h (target_terminal_is_inferior, target_terminal_is_ours)
7118         (target_terminal_ours_for_output)
7119         (make_cleanup_restore_target_terminal): Don't declare.
7120         (target_terminal_info): Remove.
7121         * target.c (enum terminal_state, terminal_state): Remove.
7122         (target_terminal::terminal_state): Define.
7123         (target_terminal::init): Rename from target_terminal_init.
7124         (target_terminal::inferior): Rename from
7125         target_terminal_inferior.
7126         (target_terminal::ours): Rename from target_terminal_ours.
7127         (target_terminal::ours_for_output): Rename from
7128         target_terminal_ours_for_output.
7129         (target_terminal::info): New method.
7130         (cleanup_restore_target_terminal)
7131         (make_cleanup_restore_target_terminal): Remove.
7132         * solib.c (handle_solib_event): Update.
7133         * remote.c (remote_serial_quit_handler): Update.
7134         (remote_terminal_inferior, remote_wait_as): Update.
7135         * record-full.c (record_full_wait_1): Update.
7136         * nto-procfs.c (procfs_create_inferior): Update.
7137         * nat/fork-inferior.c (startup_inferior): Update.
7138         * mi/mi-interp.c (mi_new_thread, mi_thread_exit)
7139         (mi_record_changed, mi_inferior_added, mi_inferior_appeared)
7140         (mi_inferior_exit, mi_inferior_removed, mi_traceframe_changed)
7141         (mi_tsv_created, mi_tsv_deleted, mi_tsv_modified)
7142         (mi_breakpoint_created, mi_breakpoint_deleted)
7143         (mi_breakpoint_modified, mi_on_resume, mi_solib_loaded)
7144         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
7145         (mi_user_selected_context_changed, report_initial_inferior):
7146         Update.
7147         * linux-nat.c (linux_nat_attach, linux_nat_terminal_ours)
7148         (linux_nat_terminal_inferior): Update.
7149         * infrun.c (follow_fork_inferior)
7150         (handle_vfork_child_exec_or_exit, do_target_resume)
7151         (check_curr_ui_sync_execution_done, handle_inferior_event_1)
7152         (handle_signal_stop, maybe_remove_breakpoints, normal_stop):
7153         Update.
7154         * inflow.c (child_terminal_init, info_terminal_command): Update.
7155         * infcmd.c (post_create_inferior, continue_1, prepare_one_step)
7156         (attach_command): Update.
7157         * infcall.c (call_thread_fsm_should_stop): Update.
7158         * gnu-nat.c (gnu_attach): Update.
7159         * extension.c (struct active_ext_lang_state)
7160         (restore_active_ext_lang): Update.
7161         * exceptions.c (print_flush): Update.
7162         * event-top.c (async_enable_stdin, default_quit_handler): Update.
7163         (struct quit_handler_cleanup_data, restore_quit_handler)
7164         (restore_quit_handler_dtor, make_cleanup_override_quit_handler):
7165         Remove.
7166         * cp-support.c (gdb_demangle): Update.
7167         * breakpoint.c (update_inserted_breakpoint_locations)
7168         (insert_breakpoint_locations, handle_jit_event)
7169         (disable_breakpoints_in_unloaded_shlib): Update.
7170         * annotate.c (annotate_breakpoints_invalid)
7171         (annotate_frames_invalid): Update.
7172
7173 2017-09-20  Tom Tromey  <tom@tromey.com>
7174
7175         * main.c (catch_command_errors): Rename from
7176         catch_command_errors_const.
7177         (captured_main_1): Update.
7178
7179 2017-09-20  Pedro Alves  <palves@redhat.com>
7180
7181         * cli/cli-cmds.c (list_command): Use print_sal_location.
7182         (print_sal_location): New function.
7183         (ambiguous_line_spec): Use print_sal_location.
7184         * linespec.c (symbol_to_sal): Record the symbol in the sal.
7185         * symtab.c (find_function_start_sal): Likewise.
7186         * symtab.h (symtab_and_line::symbol): New field.
7187
7188 2017-09-20  Pedro Alves  <palves@redhat.com>
7189
7190         * linespec.c (minsym_found): Handle non-text minsyms.
7191         (symbol_to_sal): Record a sal.pc for non-block, non-label symbols.
7192
7193 2017-09-20  Walfred Tedeschi  <walfred.tedeschi@intel.com>
7194
7195         * features/Makefile (i386-avx-mpx-avx512-pku.dat): Add missing
7196         backslash.
7197
7198 2017-09-20  Walfred Tedeschi  <walfred.tedeschi@intel.com>
7199
7200         * gdb.arch/i386-avx512.c (move_zmm_data_to_reg): Use
7201         vmovups instead vmovaps.
7202         (move_zmm_data_to_memory): Use vmovups instead vmovaps.
7203
7204 2017-09-19  John Baldwin  <jhb@FreeBSD.org>
7205
7206         * NEWS (Changes since GDB 8.0): Add starti.
7207         * infcmd.c (enum run_break): New.
7208         (run_command_1): Queue pending event for RUN_STOP_AT_FIRST_INSN
7209         case.
7210         (run_command): Use enum run_how.
7211         (start_command): Likewise.
7212         (starti_command): New function.
7213         (RUN_ARGS_HELP): New macro.
7214         (_initialize_infcmd): Use RUN_ARGS_HELP for run and start
7215         commands.  Add starti command.
7216
7217 2017-09-19  Yao Qi  <yao.qi@linaro.org>
7218
7219         * Makefile.in (monitor.o): Remove the rule.
7220
7221 2017-09-19  Yao Qi  <yao.qi@linaro.org>
7222
7223         * annotate.h (struct annotate_arg_emitter): Use
7224         DISABLE_COPY_AND_ASSIGN.
7225         * common/refcounted-object.h (refcounted_object): Likewise.
7226         * completer.h (struct completion_result): Likewise.
7227         * dwarf2read.c (struct dwarf2_per_objfile): Likewise.
7228         * filename-seen-cache.h (filename_seen_cache): Likewise.
7229         * gdbcore.h (thread_section_name): Likewise.
7230         * gdb_regex.h (compiled_regex): Likewise.
7231         * gdbthread.h (scoped_restore_current_thread): Likewise.
7232         * inferior.h (scoped_restore_current_inferior): Likewise.
7233         * jit.c (jit_reader): Likewise.
7234         * linespec.h (struct linespec_result): Likewise.
7235         * mi/mi-parse.h (struct mi_parse): Likewise.
7236         * nat/fork-inferior.c (execv_argv): Likewise.
7237         * progspace.h (scoped_restore_current_program_space): Likewise.
7238         * python/python-internal.h (class gdbpy_enter): Likewise.
7239         * regcache.h (regcache): Likewise.
7240         * target-descriptions.c (struct tdesc_reg): Likewise.
7241         (struct tdesc_type): Likewise.
7242         (struct tdesc_feature): Likewise.
7243         * ui-out.h (ui_out_emit_type): Likewise.
7244
7245 2017-09-18  Simon Marchi  <simon.marchi@ericsson.com>
7246
7247         * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Remove
7248         label abort_expression.
7249
7250 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7251
7252         * common/buffer.c (buffer_xml_printf): Adjust.
7253         * common/xml-utils.c (xml_escape_text): Change return type to
7254         std::string, update code accordingly.
7255         * common/xml-utils.h (xml_escape_text): Change return type to
7256         std::string.
7257         * rs6000-aix-tdep.c (rs6000_aix_shared_library_to_xml): Adjust.
7258         * windows-tdep.c (windows_xfer_shared_library): Adjust.
7259         * unittests/xml-utils-selftests.c (test_xml_escape_text):
7260         Adjust.
7261
7262 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7263
7264         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add new source file.
7265         (SUBDIR_UNITTESTS_OBS): Add new object file.
7266         * unittests/xml-utils-selftests.c: New file.
7267
7268 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7269
7270         * common/selftest.h (selftest): New struct/interface.
7271         (register_test): Add name parameter, add new overload.
7272         (run_tests): Add filter parameter.
7273         (for_each_selftest_ftype): New typedef.
7274         (for_each_selftest): New declaration.
7275         * common/selftest.c (tests): Change type to
7276         map<string, unique_ptr<selftest>>.
7277         (simple_selftest): New struct.
7278         (register_test): New function.
7279         (register_test): Add name parameter and use it.
7280         (run_tests): Add filter parameter and use it.  Add prints.
7281         Adjust to vector -> map change.
7282         * aarch64-tdep.c (_initialize_aarch64_tdep): Add names when
7283         registering selftests.
7284         * arm-tdep.c (_initialize_arm_tdep): Likewise.
7285         * disasm-selftests.c (_initialize_disasm_selftests): Likewise.
7286         * dwarf2-frame.c (_initialize_dwarf2_frame): Likewise.
7287         * dwarf2loc.c (_initialize_dwarf2loc): Likewise.
7288         * findvar.c (_initialize_findvar): Likewise.
7289         * gdbarch-selftests.c (_initialize_gdbarch_selftests): Likewise.
7290         * maint.c (maintenance_selftest): Update call to run_tests.
7291         (maintenance_info_selftests): New function.
7292         (_initialize_maint_cmds): Register "maintenance info selftests"
7293         command.  Update "maintenance selftest" doc.
7294         * regcache.c (_initialize_regcache): Add names when registering
7295         selftests.
7296         * rust-exp.y (_initialize_rust_exp): Likewise.
7297         * selftest-arch.c (gdbarch_selftest): New struct.
7298         (gdbarch_tests): Remove.
7299         (register_test_foreach_arch): Add name parameter.  Call
7300         register_test.
7301         (tests_with_arch): Remove, move most content to
7302         gdbarch_selftest::operator().
7303         (_initialize_selftests_foreach_arch): Remove.
7304         * selftest-arch.h (register_test_foreach_arch): Add name
7305         parameter.
7306         (run_tests_with_arch): New declaration.
7307         * utils-selftests.c (_initialize_utils_selftests): Add names
7308         when registering selftests.
7309         * utils.c (_initialize_utils): Likewise.
7310         * unittests/array-view-selftests.c
7311         (_initialize_array_view_selftests): Likewise.
7312         * unittests/environ-selftests.c (_initialize_environ_selftests):
7313         Likewise.
7314         * unittests/function-view-selftests.c
7315         (_initialize_function_view_selftests): Likewise.
7316         * unittests/offset-type-selftests.c
7317         (_initialize_offset_type_selftests): Likewise.
7318         * unittests/optional-selftests.c
7319         (_initialize_optional_selftests): Likewise.
7320         * unittests/scoped_restore-selftests.c
7321         (_initialize_scoped_restore_selftests): Likewise.
7322         * NEWS: Document "maintenance selftest" and "maint info
7323         selftests".
7324
7325 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7326
7327         * mi/mi-main.c (mi_load_progress): Restore current_uiout using a
7328         scoped_restore.
7329
7330 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7331
7332         * mi/mi-main.c (mi_load_progress): Make uiout variable
7333         a unique_ptr.
7334
7335 2017-09-15  Pedro Alves  <palves@redhat.com>
7336
7337         * compile/compile-c-types.c (convert_enum, convert_int)
7338         (convert_float): Adjust to refer to int_type_v0 and float_type_v0.
7339
7340 2017-09-15  Simon Marchi  <simon.marchi@ericsson.com>
7341
7342         * dwarf2read.c (copy_string): Remove.
7343         (parse_macro_definition): Replace copy_string with savestring.
7344
7345 2017-09-15  Yao Qi  <yao.qi@linaro.org>
7346
7347         * configure.tgt (i[34567]86-*-darwin*): Append amd64.o to
7348         gdb_target_obs.
7349         (i[34567]86-*-solaris2.1[0-9]* | x86_64-*-solaris2.1[0-9]*):
7350         Likewise.
7351         (i[34567]86-*-linux*): Likewise.
7352
7353 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7354
7355         * dwarf2expr.h (dwarf_stack_value): Add constructor.
7356         (dwarf_expr_context) <~dwarf_expr_context>: Define as default.
7357         <stack>: Change type to std::vector.
7358         <stack_len, stack_allocated>: Remove.
7359         <grow_stack>: Remove.
7360         * dwarf2expr.c (dwarf_expr_context::dwarf_expr_context): Adjust.
7361         (dwarf_expr_context::~dwarf_expr_context): Remove.
7362         (dwarf_expr_context::grow_stack): Remove.
7363         (dwarf_expr_context::push): Adjust.
7364         (dwarf_expr_context::pop): Adjust.
7365         (dwarf_expr_context::fetch): Adjust.
7366         (dwarf_expr_context::fetch_in_stack_memory): Adjust.
7367         (dwarf_expr_context::stack_empty_p): Adjust.
7368         (dwarf_expr_context::execute_stack_op): Adjust.
7369
7370 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7371
7372         * dwarf2expr.h (dwarf_expr_context) <stack_empty_p>: Change
7373         return type to bool.
7374         * dwarf2expr.c (dwarf_expr_context::stack_empty_p): Likewise.
7375
7376 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7377
7378         * dwarf2expr.h (dwarf_expr_piece) <v.mem.in_stack_memory>:
7379         Change type to bool.
7380         (dwarf_stack_value) <in_stack_memory>: Likewise.
7381         (dwarf_expr_context) <push_address>: Change parameter type to
7382         bool.
7383         <fetch_in_stack_memory>: Change return type to bool.
7384         <push>: Change parameter type to bool.
7385         * dwarf2expr.c (dwarf_expr_context::push): Change parameter type
7386         to bool.
7387         (dwarf_expr_context::push_address): Likewise.
7388         (dwarf_expr_context::fetch_in_stack_memory): Change return type
7389         to bool.
7390         (dwarf_expr_context::execute_stack_op): Adjust.
7391         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Adjust.
7392
7393 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7394
7395         * dwarf2expr.h (struct dwarf_expr_piece): Move up.
7396         (struct dwarf_expr_context) <n_pieces>: Remove.
7397         <pieces>: Change type to std::vector.
7398         * dwarf2expr.c (dwarf_expr_context::dwarf_expr_context): Adjust.
7399         (dwarf_expr_context::~dwarf_expr_context): Don't manually free
7400         pieces.
7401         (dwarf_expr_context::add_piece): Adjust.
7402         * dwarf2loc.c (struct piece_closure): Initialize fields.
7403         <n_pieces>: Remove.
7404         <pieces>: Change type to std::vector.
7405         (allocate_piece_closure): Adjust, change parameter to
7406         std::vector rvalue and std::move it to piece_closure.
7407         (rw_pieced_value): Adjust.
7408         (check_pieced_synthetic_pointer): Adjust.
7409         (indirect_synthetic_pointer): Adjust.
7410         (coerce_pieced_ref): Adjust.
7411         (free_pieced_value_closure):  Adjust.  Use delete to free
7412         piece_closure.
7413         (dwarf2_evaluate_loc_desc_full): Adjust.  std::move ctx.pieces
7414         to allocate_piece_closure.
7415         (dwarf2_loc_desc_get_symbol_read_needs): Adjust.
7416
7417 2017-09-12  Simon Marchi  <simon.marchi@ericsson.com>
7418
7419         * probe.h (probe_ops_cp): Remove typedef.
7420         (DEF_VEC_P (probe_ops_cp)): Remove.
7421         (all_probe_ops): Change type to std::vector.
7422         * probe.c (info_probes_for_ops): Adjust to vector change.
7423         (probe_linespec_to_ops): Likewise.
7424         (all_probe_ops): Change type to std::vector.
7425         (_initialize_probe): Adjust to vector change.
7426         * dtrace-probe.c (_initialize_dtrace_probe): Likewise.
7427         * elfread.c (elf_get_probes): Likewise.
7428         * stap-probe.c (_initialize_stap_probe): Likewise.
7429
7430 2017-09-12  Simon Marchi  <simon.marchi@ericsson.com>
7431
7432         * probe.h (struct bound_probe): Define constructors.
7433         * probe.c (bound_probe_s): Remove typedef.
7434         (DEF_VEC_O (bound_probe_s)): Remove VEC.
7435         (collect_probes): Change return type to std::vector, remove
7436         cleanup.
7437         (compare_probes): Return bool, change parameter type.  Change
7438         semantic to "less than".
7439         (gen_ui_out_table_header_info): Change parameter to std::vector
7440         and update.
7441         (exists_probe_with_pops): Likewise.
7442         (info_probes_for_ops): Update to std::vector change.
7443         (enable_probes_command): Likewise.
7444         (disable_probes_command): Likewise.
7445
7446 2017-09-12  Simon Marchi  <simon.marchi@ericsson.com>
7447
7448         * probe.h (struct probe_ops) <get_probes>: Change parameter from
7449         vec to std::vector.
7450         * probe.c (parse_probes_in_pspace): Update.
7451         (find_probes_in_objfile): Update.
7452         (find_probe_by_pc): Update.
7453         (collect_probes): Update.
7454         (probe_any_get_probes): Update.
7455         * symfile.h (struct sym_probe_fns) <sym_get_probes> Change
7456         return type to reference to std::vector.
7457         * dtrace-probe.c (dtrace_process_dof_probe): Change parameter to
7458         std::vector and update.
7459         (dtrace_process_dof): Likewise.
7460         (dtrace_get_probes): Likewise.
7461         * elfread.c (elf_get_probes): Change return type to std::vector,
7462         store an std::vector in bfd_data.
7463         (probe_key_free): Update to std::vector.
7464         * stap-probe.c (handle_stap_probe): Change parameter to
7465         std::vector and update.
7466         (stap_get_probes): Likewise.
7467         * symfile-debug.c (debug_sym_get_probes): Change return type to
7468         std::vector and update.
7469
7470 2017-09-11  Tom Tromey  <tom@tromey.com>
7471
7472         * breakpoint.c (program_breakpoint_here_p): Update.
7473         * target.c (make_scoped_restore_show_memory_breakpoints): Rename
7474         from make_show_memory_breakpoints_cleanup.  Return a
7475         scoped_restore_tmpl<int>.
7476         (restore_show_memory_breakpoints): Remove.
7477         * ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint): Update.
7478         * mem-break.c (memory_validate_breakpoint): Update.
7479         * ia64-tdep.c (ia64_memory_insert_breakpoint): Update.
7480         (ia64_memory_remove_breakpoint): Update.
7481         (ia64_breakpoint_from_pc): Update.
7482         * target.h (make_scoped_restore_show_memory_breakpoints): Rename
7483         from make_show_memory_breakpoints_cleanup.
7484
7485 2017-09-11  Tom Tromey  <tom@tromey.com>
7486
7487         * d-namespace.c (d_lookup_symbol): Use std::string.
7488         (find_symbol_in_baseclass): Likewise.
7489
7490 2017-09-11  Tom Tromey  <tom@tromey.com>
7491
7492         * ctf.c (ctf_start): Use std::string.
7493
7494 2017-09-11  Tom Tromey  <tom@tromey.com>
7495
7496         * ada-lang.c (is_known_support_routine): Update.
7497         (ada_unhandled_exception_name_addr_from_raise): Update.
7498         * guile/scm-frame.c (gdbscm_frame_name): Update.
7499         * python/py-frame.c (frapy_name): Update.
7500         (frapy_function): Update.
7501         * stack.h (find_frame_funname): Update.
7502         * stack.c (find_frame_funname): Return unique_xmalloc_ptr.
7503         (print_frame): Update.
7504
7505 2017-09-11  Tom Tromey  <tom@tromey.com>
7506
7507         * findcmd.c (put_bits): Take a gdb::byte_vector.
7508         (parse_find_args): Return gdb::byte_vector.  "args" now const.
7509         Remove "pattern_bufp" and "pattern_lenp" parameters.  Remove
7510         cleanups.
7511         (find_command): Update.
7512
7513 2017-09-11  Tom Tromey  <tom@tromey.com>
7514
7515         * cli/cli-script.c (class scoped_restore_hook_in): New.
7516         (clear_hook_in_cleanup): Remove.
7517         (execute_cmd_pre_hook, execute_cmd_post_hook): Use
7518         scoped_restore_hook_in.
7519
7520 2017-09-11  Tom Tromey  <tom@tromey.com>
7521
7522         * cli/cli-script.c (restore_interp): Remove.
7523         (read_command_lines): Use scoped_restore_interp.
7524         * interps.c (scoped_restore_interp::set_temp): Rename from
7525         interp_set_temp.
7526         * interps.h (class scoped_restore_interp): New.
7527         (interp_set_temp): Remove.
7528
7529 2017-09-11  Tom Tromey  <tom@tromey.com>
7530
7531         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
7532         (mi_cmd_catch_exception, mi_catch_load_unload): Update.
7533         * mi/mi-cmd-break.c (setup_breakpoint_reporting): Return a
7534         scoped_restore.
7535         (mi_cmd_break_insert_1): Update.
7536         * mi/mi-cmd-break.h (setup_breakpoint_reporting): Return a
7537         scoped_restore.
7538
7539 2017-09-11  Tom Tromey  <tom@tromey.com>
7540
7541         * demangle.c (demangle_command): Update.
7542         * breakpoint.c (disable_command): Update.
7543         (enable_command): Update.
7544         (find_location_by_number): Make "number" const.  Use
7545         get_number_trailer.
7546         * cli/cli-utils.c (extract_arg): Return std::string.
7547         * probe.c (parse_probe_linespec): Update.  Change types.
7548         (collect_probes): Take string arguments.
7549         (parse_probe_linespec): Likewise.
7550         (info_probes_for_ops): Update.
7551         (enable_probes_command): Update.
7552         (disable_probes_command): Update.
7553         * break-catch-sig.c (catch_signal_split_args): Update.
7554         * mi/mi-parse.c (mi_parse): Update.
7555
7556 2017-09-11  Tom Tromey  <tom@tromey.com>
7557
7558         * language.h (language_enum): Make argument const.
7559         * language.c (language_enum): Make argument const.
7560
7561 2017-09-11  Tom Tromey  <tom@tromey.com>
7562
7563         * common/common-utils.h (skip_to_space): Remove macro, redeclare
7564         as function.
7565         (skip_to_space): Rename from skip_to_space_const.
7566         * common/common-utils.c (skip_to_space): New function.
7567         (skip_to_space): Rename from skip_to_space_const.
7568         * cli/cli-utils.h (get_number): Rename from get_number_const.
7569         (extract_arg): Rename from extract_arg_const.
7570         * cli/cli-utils.c (get_number): Rename from get_number_const.
7571         (extract_arg): Rename from extract_arg_const.
7572         (number_or_range_parser::get_number): Use ::get_number.
7573         * aarch64-linux-tdep.c, ada-lang.c, arm-linux-tdep.c, ax-gdb.c,
7574         break-catch-throw.c, breakpoint.c, cli/cli-cmds.c, cli/cli-dump.c,
7575         cli/cli-script.c, cli/cli-setshow.c, compile/compile.c,
7576         completer.c, demangle.c, disasm.c, findcmd.c, linespec.c,
7577         linux-tdep.c, linux-thread-db.c, location.c, mi/mi-parse.c,
7578         minsyms.c, nat/linux-procfs.c, printcmd.c, probe.c,
7579         python/py-breakpoint.c, record.c, rust-exp.y, serial.c, stack.c,
7580         stap-probe.c, tid-parse.c, tracepoint.c: Update all callers.
7581
7582 2017-09-11  Tom Tromey  <tom@tromey.com>
7583
7584         * python/python.c (do_start_initialization): Use
7585         py-event-types.def to initialize types.
7586         Define all object type structures.
7587         * python/python-internal.h: Don't declare event initialization
7588         functions.
7589         * python/py-threadevent.c (thread_event_object_type): Don't
7590         define.
7591         * python/py-stopevent.c (stop_event_object_type): Don't define.
7592         * python/py-signalevent.c (signal_event_object_type): Don't
7593         declare or define.
7594         * python/py-newobjfileevent.c (new_objfile_event_object_type)
7595         (clear_objfiles_event_object_type): Don't declare or define.
7596         * python/py-infevents.c (inferior_call_pre_event_object_type)
7597         (inferior_call_post_event_object_type)
7598         (register_changed_event_object_type)
7599         (memory_changed_event_object_type): Don't declare or define.
7600         * python/py-inferior.c (new_thread_event_object_type)
7601         (new_inferior_event_object_type)
7602         (inferior_deleted_event_object_type): Don't declare or define.
7603         * python/py-exitedevent.c (exited_event_object_type): Don't
7604         declare or define.
7605         * python/py-evts.c (gdbpy_initialize_py_events): Use
7606         py-all-events.def.
7607         * python/py-events.h (thread_event_object_type): Don't declare.
7608         (events_object): Use py-all-events.def.
7609         * python/py-event.h (GDBPY_NEW_EVENT_TYPE): Remove.  Use
7610         py-event-types.def.
7611         * python/py-event-types.def: New file.
7612         * python/py-continueevent.c (create_continue_event_object): Don't
7613         declare or define.
7614         * python/py-bpevent.c (breakpoint_event_object_type): Don't
7615         declare or define.
7616         * python/py-all-events.def: New file.
7617
7618 2017-09-11  Tom Tromey  <tom@tromey.com>
7619
7620         * python/py-threadevent.c (create_thread_event_object): Return
7621         gdbpy_ref.
7622         * python/py-stopevent.h (create_stop_event_object)
7623         (create_breakpoint_event_object, create_signal_event_object):
7624         Update.
7625         * python/py-stopevent.c (create_stop_event_object): Return
7626         gdbpy_ref.
7627         (emit_stop_event): Update.
7628         * python/py-signalevent.c (create_signal_event_object): Return
7629         gdbpy_ref.
7630         * python/py-infevents.c (create_inferior_call_event_object):
7631         Update.
7632         * python/py-event.h (create_event_object)
7633         (create_thread_event_object): Update.
7634         * python/py-event.c (create_event_object): Return gdbpy_ref.
7635         * python/py-continueevent.c: Return gdbpy_ref.
7636         * python/py-bpevent.c (create_breakpoint_event_object): Return
7637         gdbpy_ref.
7638
7639 2017-09-11  Tom Tromey  <tom@tromey.com>
7640
7641         PR python/15622:
7642         * NEWS: Add entry.
7643         * python/python.c (do_start_initialization): Initialize new event
7644         types.
7645         * python/python-internal.h (gdbpy_initialize_new_inferior_event)
7646         (gdbpy_initialize_inferior_deleted_event)
7647         (gdbpy_initialize_new_thread_event): Declare.
7648         * python/py-threadevent.c (create_thread_event_object): Add option
7649         "thread" parameter.
7650         * python/py-inferior.c (new_thread_event_object_type)
7651         (new_inferior_event_object_type)
7652         (inferior_deleted_event_object_type): Declare.
7653         (python_new_inferior, python_inferior_deleted): New functions.
7654         (add_thread_object): Emit new_thread event.
7655         (gdbpy_initialize_inferior): Attach new functions to corresponding
7656         observers.
7657         (new_thread, new_inferior, inferior_deleted): Define new event
7658         types.
7659         * python/py-evts.c (gdbpy_initialize_py_events): Add new
7660         registries.
7661         * python/py-events.h (events_object) <new_inferior,
7662         inferior_deleted, new_thread>: New fields.
7663         * python/py-event.h (create_thread_event_breakpoint): Add optional
7664         "thread" parameter.
7665
7666 2017-09-10  Andrew Burgess  <andrew.burgess@embecosm.com>
7667
7668         * utils.c (abort_with_message): Don't compare gdb_stderr to NULL,
7669         check current_ui instead.
7670         (internal_vproblem): Likewise.
7671
7672 2017-09-09  Simon Marchi  <simon.marchi@ericsson.com>
7673
7674         * thread.c (print_thread_info_1): Remove unnecessary calls to
7675         uiout->is_mi_like_p.
7676
7677 2017-09-09  Tom Tromey  <tom@tromey.com>
7678
7679         * namespace.h (add_using_directive): Update.
7680         * namespace.c (add_using_directive): Change type of excludes to
7681         std::vector.
7682         * dwarf2read.c (read_import_statement): Use std::vector.
7683         (read_namespace): Update.
7684         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
7685
7686 2017-09-09  Tom Tromey  <tom@tromey.com>
7687
7688         * linespec.c (create_sals_line_offset): Use gdb::def_vector.
7689
7690 2017-09-09  Tom Tromey  <tom@tromey.com>
7691
7692         * p-valprint.c (pascal_object_print_value): Use gdb::byte_vector.
7693
7694 2017-09-09  Tom Tromey  <tom@tromey.com>
7695
7696         * stack.c (func_command): Use gdb::def_vector.
7697
7698 2017-09-09  Tom Tromey  <tom@tromey.com>
7699
7700         * mi/mi-cmd-var.c (mi_cmd_var_list_children): Use gdb::optional,
7701         ui_out_emit_list, ui_out_emit_tuple.
7702         (mi_cmd_var_update): Likewise.
7703
7704 2017-09-09  Tom Tromey  <tom@tromey.com>
7705
7706         * mi/mi-interp.c (mi_user_selected_context_changed): Use
7707         ui_out_redirect_pop.
7708         * guile/scm-ports.c (ioscm_with_output_to_port_worker): Use
7709         ui_out_redirect_pop.
7710         * utils.c (do_ui_out_redirect_pop)
7711         (make_cleanup_ui_out_redirect_pop): Remove.
7712         * top.c (execute_command_to_string): Use ui_out_redirect_pop.
7713         * utils.h (make_cleanup_ui_out_redirect_pop): Remove.
7714         * ui-out.h (ui_out_redirect_pop): New class.
7715
7716 2017-09-09  Tom Tromey  <tom@tromey.com>
7717
7718         * mi/mi-main.c (output_cores): Use ui_out_emit_list.
7719         (list_available_thread_groups, mi_cmd_list_thread_groups)
7720         (mi_cmd_data_list_changed_registers, mi_cmd_data_read_memory)
7721         (mi_cmd_data_read_memory_bytes, mi_cmd_trace_frame_collected):
7722         Likewise.
7723
7724 2017-09-09  Tom Tromey  <tom@tromey.com>
7725
7726         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn): Use
7727         ui_out_emit_tuple.
7728
7729 2017-09-09  Tom Tromey  <tom@tromey.com>
7730
7731         * target.c (flash_erase_command): Use ui_out_emit_tuple.
7732         * stack.c (print_frame): Use ui_out_emit_tuple.
7733         * spu-tdep.c (info_spu_event_command): Use ui_out_emit_tuple.
7734         (info_spu_mailbox_command, info_spu_dma_command)
7735         (info_spu_proxydma_command): Likewise.
7736         * mi/mi-main.c (mi_cmd_trace_frame_collected): Use
7737         ui_out_emit_tuple, gdb::byte_vector, bin2hex.
7738         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Use
7739         ui_out_emit_tuple.
7740         * breakpoint.c (print_it_watchpoint): Use ui_out_emit_tuple.
7741
7742 2017-09-09  Tom Tromey  <tom@tromey.com>
7743
7744         * ui-out.h (make_cleanup_ui_out_table_begin_end): Remove.
7745         (class ui_out_emit_table): Update comment.
7746         * ui-out.c (do_cleanup_table_end)
7747         (make_cleanup_ui_out_table_begin_end): Remove.
7748         * spu-tdep.c (info_spu_mailbox_list): Use ui_out_emit_table.
7749         (info_spu_dma_cmdlist): Likewise.
7750         * probe.c (info_probes_for_ops): Use ui_out_emit_table.
7751         * darwin-nat-info.c (darwin_debug_regions_recurse): Use
7752         ui_out_emit_table.
7753
7754 2017-09-09  Tom Tromey  <tom@tromey.com>
7755
7756         * thread.c (print_thread_info_1): Use ui_out_emit_table,
7757         ui_out_emit_list, gdb::optional.
7758
7759 2017-09-09  John Baldwin  <jhb@FreeBSD.org>
7760
7761         * aarch64-linux-nat.c: Remove _initialize_aarch64_linux_nat
7762         prototype.
7763         * aarch64-linux-tdep.c: Remove _initialize_aarch64_linux_tdep
7764         prototype.
7765         * aarch64-newlib-tdep.c: Remove _initialize_aarch64_newlib_tdep
7766         prototype.
7767         * aarch64-tdep.c: Remove _initialize_aarch64_tdep prototype.
7768         * ada-exp.y: Remove _initialize_ada_exp prototype.
7769         * ada-lang.c: Remove _initialize_ada_language prototype.
7770         * ada-tasks.c: Remove _initialize_tasks prototype.
7771         * addrmap.c: Remove _initialize_addrmap prototype.
7772         * agent.c: Remove _initialize_agent prototype.
7773         * aix-thread.c: Remove _initialize_aix_thread prototype.
7774         * alpha-bsd-nat.c: Remove _initialize_alphabsd_nat prototype.
7775         * alpha-linux-nat.c: Remove _initialize_alpha_linux_nat prototype.
7776         * alpha-linux-tdep.c: Remove _initialize_alpha_linux_tdep
7777         prototype.
7778         * alpha-nbsd-tdep.c: Remove _initialize_alphanbsd_tdep prototype.
7779         * alpha-obsd-tdep.c: Remove _initialize_alphaobsd_tdep prototype.
7780         * alpha-tdep.c: Remove _initialize_alpha_tdep prototype.
7781         * amd64-darwin-tdep.c: Remove _initialize_amd64_darwin_tdep
7782         prototype.
7783         * amd64-dicos-tdep.c: Remove _initialize_amd64_dicos_tdep
7784         prototype.
7785         * amd64-fbsd-nat.c: Remove _initialize_amd64fbsd_nat prototype.
7786         * amd64-fbsd-tdep.c: Remove _initialize_amd64fbsd_tdep prototype.
7787         * amd64-linux-nat.c: Remove _initialize_amd64_linux_nat prototype.
7788         * amd64-linux-tdep.c: Remove _initialize_amd64_linux_tdep
7789         prototype.
7790         * amd64-nbsd-nat.c: Remove _initialize_amd64nbsd_nat prototype.
7791         * amd64-nbsd-tdep.c: Remove _initialize_amd64nbsd_tdep prototype.
7792         * amd64-obsd-nat.c: Remove _initialize_amd64obsd_nat prototype.
7793         * amd64-obsd-tdep.c: Remove _initialize_amd64obsd_tdep prototype.
7794         * amd64-sol2-tdep.c: Remove _initialize_amd64_sol2_tdep prototype.
7795         * amd64-tdep.c: Remove _initialize_amd64_tdep prototype.
7796         * amd64-windows-nat.c: Remove _initialize_amd64_windows_nat
7797         prototype.
7798         * amd64-windows-tdep.c: Remove _initialize_amd64_windows_tdep
7799         prototype.
7800         * annotate.c: Remove _initialize_annotate prototype.
7801         * arc-newlib-tdep.c: Remove _initialize_arc_newlib_tdep prototype.
7802         * arc-tdep.c: Remove _initialize_arc_tdep prototype.
7803         * arch-utils.c: Remove _initialize_gdbarch_utils prototype.
7804         * arm-linux-nat.c: Remove _initialize_arm_linux_nat prototype.
7805         * arm-linux-tdep.c: Remove _initialize_arm_linux_tdep prototype.
7806         * arm-nbsd-tdep.c: Remove _initialize_arm_netbsd_tdep prototype.
7807         * arm-obsd-tdep.c: Remove _initialize_armobsd_tdep prototype.
7808         * arm-symbian-tdep.c: Remove _initialize_arm_symbian_tdep
7809         prototype.
7810         * arm-tdep.c: Remove _initialize_arm_tdep prototype.
7811         * arm-wince-tdep.c: Remove _initialize_arm_wince_tdep prototype.
7812         * auto-load.c: Remove _initialize_auto_load prototype.
7813         * auxv.c: Remove _initialize_auxv prototype.
7814         * avr-tdep.c: Remove _initialize_avr_tdep prototype.
7815         * ax-gdb.c: Remove _initialize_ax_gdb prototype.
7816         * bfin-linux-tdep.c: Remove _initialize_bfin_linux_tdep prototype.
7817         * bfin-tdep.c: Remove _initialize_bfin_tdep prototype.
7818         * break-catch-sig.c: Remove _initialize_break_catch_sig prototype.
7819         * break-catch-syscall.c: Remove _initialize_break_catch_syscall
7820         prototype.
7821         * break-catch-throw.c: Remove _initialize_break_catch_throw
7822         prototype.
7823         * breakpoint.c: Remove _initialize_breakpoint prototype.
7824         * bsd-uthread.c: Remove _initialize_bsd_uthread prototype.
7825         * btrace.c: Remove _initialize_btrace prototype.
7826         * charset.c: Remove _initialize_charset prototype.
7827         * cli/cli-cmds.c: Remove _initialize_cli_cmds prototype.
7828         * cli/cli-dump.c: Remove _initialize_cli_dump prototype.
7829         * cli/cli-interp.c: Remove _initialize_cli_interp prototype.
7830         * cli/cli-logging.c: Remove _initialize_cli_logging prototype.
7831         * cli/cli-script.c: Remove _initialize_cli_script prototype.
7832         * coff-pe-read.c: Remove _initialize_coff_pe_read prototype.
7833         * coffread.c: Remove _initialize_coffread prototype.
7834         * compile/compile.c: Remove _initialize_compile prototype.
7835         * complaints.c: Remove _initialize_complaints prototype.
7836         * completer.c: Remove _initialize_completer prototype.
7837         * copying.awk: Remove _initialize_copying prototype.
7838         * copying.c: Regenerate.
7839         * core-regset.c: Remove _initialize_core_regset prototype.
7840         * corefile.c: Remove _initialize_core prototype.
7841         * corelow.c: Remove _initialize_corelow prototype.
7842         * cp-abi.c: Remove _initialize_cp_abi prototype.
7843         * cp-namespace.c: Remove _initialize_cp_namespace prototype.
7844         * cp-support.c: Remove _initialize_cp_support prototype.
7845         * cp-valprint.c: Remove _initialize_cp_valprint prototype.
7846         * cris-linux-tdep.c: Remove _initialize_cris_linux_tdep prototype.
7847         * cris-tdep.c: Remove _initialize_cris_tdep prototype.
7848         * ctf.c: Remove _initialize_ctf prototype.
7849         * d-lang.c: Remove _initialize_d_language prototype.
7850         * darwin-nat-info.c: Remove _initialize_darwin_info_commands
7851         prototype.
7852         * darwin-nat.c: Remove _initialize_darwin_inferior prototype.
7853         * dbxread.c: Remove _initialize_dbxread prototype.
7854         * dcache.c: Remove _initialize_dcache prototype.
7855         * demangle.c: Remove _initialize_demangler prototype.
7856         * disasm-selftests.c: Remove _initialize_disasm_selftests
7857         prototype.
7858         * disasm.c: Remove _initialize_disasm prototype.
7859         * dtrace-probe.c: Remove _initialize_dtrace_probe prototype.
7860         * dummy-frame.c: Remove _initialize_dummy_frame prototype.
7861         * dwarf2-frame-tailcall.c: Remove _initialize_tailcall_frame
7862         prototype.
7863         * dwarf2-frame.c: Remove _initialize_dwarf2_frame prototype.
7864         * dwarf2expr.c: Remove _initialize_dwarf2expr prototype.
7865         * dwarf2loc.c: Remove _initialize_dwarf2loc prototype.
7866         * dwarf2read.c: Remove _initialize_dwarf2_read prototype.
7867         * elfread.c: Remove _initialize_elfread prototype.
7868         * exec.c: Remove _initialize_exec prototype.
7869         * extension.c: Remove _initialize_extension prototype.
7870         * f-lang.c: Remove _initialize_f_language prototype.
7871         * f-valprint.c: Remove _initialize_f_valprint prototype.
7872         * fbsd-nat.c: Remove _initialize_fbsd_nat prototype.
7873         * fbsd-tdep.c: Remove _initialize_fbsd_tdep prototype.
7874         * filesystem.c: Remove _initialize_filesystem prototype.
7875         * findcmd.c: Remove _initialize_mem_search prototype.
7876         * fork-child.c: Remove _initialize_fork_child prototype.
7877         * frame-base.c: Remove _initialize_frame_base prototype.
7878         * frame-unwind.c: Remove _initialize_frame_unwind prototype.
7879         * frame.c: Remove _initialize_frame prototype.
7880         * frv-linux-tdep.c: Remove _initialize_frv_linux_tdep prototype.
7881         * frv-tdep.c: Remove _initialize_frv_tdep prototype.
7882         * ft32-tdep.c: Remove _initialize_ft32_tdep prototype.
7883         * gcore.c: Remove _initialize_gcore prototype.
7884         * gdb_bfd.c: Remove _initialize_gdb_bfd prototype.
7885         * gdbarch.c: Regenerate.
7886         * gdbarch.sh: Remove _initialize_gdbarch prototype.
7887         * gdbtypes.c: Remove _initialize_gdbtypes prototype.
7888         * gnu-nat.c: Remove _initialize_gnu_nat prototype.
7889         * gnu-v2-abi.c: Remove _initialize_gnu_v2_abi prototype.
7890         * gnu-v3-abi.c: Remove _initialize_gnu_v3_abi prototype.
7891         * go-lang.c: Remove _initialize_go_language prototype.
7892         * go32-nat.c: Remove _initialize_go32_nat prototype.
7893         * guile/guile.c: Remove _initialize_guile prototype.
7894         * h8300-tdep.c: Remove _initialize_h8300_tdep prototype.
7895         * hppa-linux-nat.c: Remove _initialize_hppa_linux_nat prototype.
7896         * hppa-linux-tdep.c: Remove _initialize_hppa_linux_tdep prototype.
7897         * hppa-nbsd-nat.c: Remove _initialize_hppanbsd_nat prototype.
7898         * hppa-nbsd-tdep.c: Remove _initialize_hppanbsd_tdep prototype.
7899         * hppa-obsd-nat.c: Remove _initialize_hppaobsd_nat prototype.
7900         * hppa-obsd-tdep.c: Remove _initialize_hppaobsd_tdep prototype.
7901         * hppa-tdep.c: Remove _initialize_hppa_tdep prototype.
7902         * i386-bsd-nat.c: Remove _initialize_i386bsd_nat prototype.
7903         * i386-cygwin-tdep.c: Remove _initialize_i386_cygwin_tdep
7904         prototype.
7905         * i386-darwin-tdep.c: Remove _initialize_i386_darwin_tdep
7906         prototype.
7907         * i386-dicos-tdep.c: Remove _initialize_i386_dicos_tdep prototype.
7908         * i386-fbsd-nat.c: Remove _initialize_i386fbsd_nat prototype.
7909         * i386-fbsd-tdep.c: Remove _initialize_i386fbsd_tdep prototype.
7910         * i386-gnu-nat.c: Remove _initialize_i386gnu_nat prototype.
7911         * i386-gnu-tdep.c: Remove _initialize_i386gnu_tdep prototype.
7912         * i386-linux-nat.c: Remove _initialize_i386_linux_nat prototype.
7913         * i386-linux-tdep.c: Remove _initialize_i386_linux_tdep prototype.
7914         * i386-nbsd-nat.c: Remove _initialize_i386nbsd_nat prototype.
7915         * i386-nbsd-tdep.c: Remove _initialize_i386nbsd_tdep prototype.
7916         * i386-nto-tdep.c: Remove _initialize_i386nto_tdep prototype.
7917         * i386-obsd-nat.c: Remove _initialize_i386obsd_nat prototype.
7918         * i386-obsd-tdep.c: Remove _initialize_i386obsd_tdep prototype.
7919         * i386-sol2-nat.c: Remove _initialize_amd64_sol2_nat prototype.
7920         * i386-sol2-tdep.c: Remove _initialize_amd64_sol2_tdep prototype.
7921         * i386-tdep.c: Remove _initialize_i386_tdep prototype.
7922         * i386-windows-nat.c: Remove _initialize_i386_windows_nat
7923         prototype.
7924         * ia64-libunwind-tdep.c: Remove _initialize_libunwind_frame
7925         prototype.
7926         * ia64-linux-nat.c: Remove _initialize_ia64_linux_nat prototype.
7927         * ia64-linux-tdep.c: Remove _initialize_ia64_linux_tdep prototype.
7928         * ia64-tdep.c: Remove _initialize_ia64_tdep prototype.
7929         * ia64-vms-tdep.c: Remove _initialize_ia64_vms_tdep prototype.
7930         * infcall.c: Remove _initialize_infcall prototype.
7931         * infcmd.c: Remove _initialize_infcmd prototype.
7932         * inferior.c: Remove _initialize_inferiors prototype.
7933         * inflow.c: Remove _initialize_inflow prototype.
7934         * infrun.c: Remove _initialize_infrun prototype.
7935         * interps.c: Remove _initialize_interpreter prototype.
7936         * iq2000-tdep.c: Remove _initialize_iq2000_tdep prototype.
7937         * jit.c: Remove _initialize_jit prototype.
7938         * language.c: Remove _initialize_language prototype.
7939         * linux-fork.c: Remove _initialize_linux_fork prototype.
7940         * linux-nat.c: Remove _initialize_linux_nat prototype.
7941         * linux-tdep.c: Remove _initialize_linux_tdep prototype.
7942         * linux-thread-db.c: Remove _initialize_thread_db prototype.
7943         * lm32-tdep.c: Remove _initialize_lm32_tdep prototype.
7944         * m2-lang.c: Remove _initialize_m2_language prototype.
7945         * m32c-tdep.c: Remove _initialize_m32c_tdep prototype.
7946         * m32r-linux-nat.c: Remove _initialize_m32r_linux_nat prototype.
7947         * m32r-linux-tdep.c: Remove _initialize_m32r_linux_tdep prototype.
7948         * m32r-tdep.c: Remove _initialize_m32r_tdep prototype.
7949         * m68hc11-tdep.c: Remove _initialize_m68hc11_tdep prototype.
7950         * m68k-bsd-nat.c: Remove _initialize_m68kbsd_nat prototype.
7951         * m68k-bsd-tdep.c: Remove _initialize_m68kbsd_tdep prototype.
7952         * m68k-linux-nat.c: Remove _initialize_m68k_linux_tdep prototype.
7953         * m68k-linux-tdep.c: Remove _initialize_m68k_linux_tdep prototype.
7954         * m68k-tdep.c: Remove _initialize_m68k_tdep prototype.
7955         * m88k-bsd-nat.c: Remove _initialize_m68kbsd_nat prototype.
7956         * m88k-tdep.c: Remove _initialize_m68kbsd_tdep prototype.
7957         * machoread.c: Remove _initialize_machoread prototype.
7958         * macrocmd.c: Remove _initialize_macrocmd prototype.
7959         * macroscope.c: Remove _initialize_macroscope prototype.
7960         * maint.c: Remove _initialize_maint_cmds prototype.
7961         * mdebugread.c: Remove _initialize_mdebugread prototype.
7962         * memattr.c: Remove _initialize_mem prototype.
7963         * mep-tdep.c: Remove _initialize_mep_tdep prototype.
7964         * mi/mi-cmd-env.c: Remove _initialize_mi_cmd_env prototype.
7965         * mi/mi-cmds.c: Remove _initialize_mi_cmds prototype.
7966         * mi/mi-interp.c: Remove _initialize_mi_interp prototype.
7967         * mi/mi-main.c: Remove _initialize_mi_main prototype.
7968         * microblaze-linux-tdep.c: Remove
7969         _initialize_microblaze_linux_tdep prototype.
7970         * microblaze-tdep.c: Remove _initialize_microblaze_tdep prototype.
7971         * mips-fbsd-nat.c: Remove _initialize_mips_fbsd_nat prototype.
7972         * mips-fbsd-tdep.c: Remove _initialize_mips_fbsd_tdep prototype.
7973         * mips-linux-nat.c: Remove _initialize_mips_linux_nat prototype.
7974         * mips-linux-tdep.c: Remove _initialize_mips_linux_tdep prototype.
7975         * mips-nbsd-nat.c: Remove _initialize_mipsnbsd_nat prototype.
7976         * mips-nbsd-tdep.c: Remove _initialize_mipsnbsd_tdep prototype.
7977         * mips-sde-tdep.c: Remove _initialize_mips_sde_tdep prototype.
7978         * mips-tdep.c: Remove _initialize_mips_tdep prototype.
7979         * mips64-obsd-nat.c: Remove _initialize_mips64obsd_nat prototype.
7980         * mips64-obsd-tdep.c: Remove _initialize_mips64obsd_tdep
7981         prototype.
7982         * mipsread.c: Remove _initialize_mipsread prototype.
7983         * mn10300-linux-tdep.c: Remove _initialize_mn10300_linux_tdep
7984         prototype.
7985         * mn10300-tdep.c: Remove _initialize_mn10300_tdep prototype.
7986         * moxie-tdep.c: Remove _initialize_moxie_tdep prototype.
7987         * msp430-tdep.c: Remove _initialize_msp430_tdep prototype.
7988         * mt-tdep.c: Remove _initialize_mt_tdep prototype.
7989         * nds32-tdep.c: Remove _initialize_nds32_tdep prototype.
7990         * nios2-linux-tdep.c: Remove _initialize_nios2_linux_tdep
7991         prototype.
7992         * nios2-tdep.c: Remove _initialize_nios2_tdep prototype.
7993         * nto-procfs.c: Remove _initialize_procfs prototype.
7994         * nto-tdep.c: Remove _initialize_nto_tdep prototype.
7995         * objc-lang.c: Remove _initialize_objc_language prototype.
7996         * objfiles.c: Remove _initialize_objfiles prototype.
7997         * observer.c: Remove observer_test_first_notification_function,
7998         observer_test_second_notification_function,
7999         observer_test_third_notification_function, and
8000         _initialize_observer prototypes.
8001         * opencl-lang.c: Remove _initialize_opencl_language prototypes.
8002         * osabi.c: Remove _initialize_gdb_osabi prototype.
8003         * osdata.c: Remove _initialize_osdata prototype.
8004         * p-valprint.c: Remove _initialize_pascal_valprint prototype.
8005         * parse.c: Remove _initialize_parse prototype.
8006         * ppc-fbsd-nat.c: Remove _initialize_ppcfbsd_nat prototype.
8007         * ppc-fbsd-tdep.c: Remove _initialize_ppcfbsd_tdep prototype.
8008         * ppc-linux-nat.c: Remove _initialize_ppc_linux_nat prototype.
8009         * ppc-linux-tdep.c: Remove _initialize_ppc_linux_tdep prototype.
8010         * ppc-nbsd-nat.c: Remove _initialize_ppcnbsd_nat prototype.
8011         * ppc-nbsd-tdep.c: Remove _initialize_ppcnbsd_tdep prototype.
8012         * ppc-obsd-nat.c: Remove _initialize_ppcobsd_nat prototype.
8013         * ppc-obsd-tdep.c: Remove _initialize_ppcobsd_tdep prototype.
8014         * printcmd.c: Remove _initialize_printcmd prototype.
8015         * probe.c: Remove _initialize_probe prototype.
8016         * proc-api.c: Remove _initialize_proc_api prototype.
8017         * proc-events.c: Remove _initialize_proc_events prototype.
8018         * proc-service.c: Remove _initialize_proc_service prototype.
8019         * procfs.c: Remove _initialize_procfs prototype.
8020         * psymtab.c: Remove _initialize_psymtab prototype.
8021         * python/python.c: Remove _initialize_python prototype.
8022         * ravenscar-thread.c: Remove _initialize_ravenscar prototype.
8023         * record-btrace.c: Remove _initialize_record_btrace prototype.
8024         * record-full.c: Remove _initialize_record_full prototype.
8025         * record.c: Remove _initialize_record prototype.
8026         * regcache.c: Remove _initialize_regcache prototype.
8027         * reggroups.c: Remove _initialize_reggroup prototype.
8028         * remote-notif.c: Remove _initialize_notif prototype.
8029         * remote-sim.c: Remove _initialize_remote_sim prototype.
8030         * remote.c: Remove _initialize_remote prototype.
8031         * reverse.c: Remove _initialize_reverse prototype.
8032         * rl78-tdep.c: Remove _initialize_rl78_tdep prototype.
8033         * rs6000-aix-tdep.c: Remove _initialize_rs6000_aix_tdep prototype.
8034         * rs6000-lynx178-tdep.c: Remove _initialize_rs6000_lynx178_tdep
8035         prototype.
8036         * rs6000-nat.c: Remove _initialize_rs6000_nat prototype.
8037         * rs6000-tdep.c: Remove _initialize_rs6000_tdep prototype.
8038         * rust-exp.y: Remove _initialize_rust_exp prototype.
8039         * rx-tdep.c: Remove _initialize_rx_tdep prototype.
8040         * s390-linux-nat.c: Remove _initialize_s390_nat prototype.
8041         * s390-linux-tdep.c: Remove _initialize_s390_tdep prototype.
8042         * score-tdep.c: Remove _initialize_score_tdep prototype.
8043         * selftest-arch.c: Remove _initialize_selftests_foreach_arch
8044         prototype.
8045         * ser-go32.c: Remove _initialize_ser_dos prototype.
8046         * ser-mingw.c: Remove _initialize_ser_windows prototype.
8047         * ser-pipe.c: Remove _initialize_ser_pipe prototype.
8048         * ser-tcp.c: Remove _initialize_ser_tcp prototype.
8049         * ser-unix.c: Remove _initialize_ser_hardwire prototype.
8050         * serial.c: Remove _initialize_serial prototype.
8051         * sh-linux-tdep.c: Remove _initialize_sh_linux_tdep prototype.
8052         * sh-nbsd-nat.c: Remove _initialize_shnbsd_nat prototype.
8053         * sh-nbsd-tdep.c: Remove _initialize_shnbsd_tdep prototype.
8054         * sh-tdep.c: Remove _initialize_sh_tdep prototype.
8055         * skip.c: Remove _initialize_step_skip prototype.
8056         * sol-thread.c: Remove _initialize_sol_thread prototype.
8057         * solib-aix.c: Remove _initialize_solib_aix prototype.
8058         * solib-darwin.c: Remove _initialize_darwin_solib prototype.
8059         * solib-dsbt.c: Remove _initialize_dsbt_solib prototype.
8060         * solib-frv.c: Remove _initialize_frv_solib prototype.
8061         * solib-spu.c: Remove _initialize_spu_solib prototype.
8062         * solib-svr4.c: Remove _initialize_svr4_solib prototype.
8063         * solib-target.c: Remove _initialize_solib_target prototype.
8064         * solib.c: Remove _initialize_solib prototype.
8065         * source.c: Remove _initialize_source prototype.
8066         * sparc-linux-nat.c: Remove _initialize_sparc_linux_nat prototype.
8067         * sparc-linux-tdep.c: Remove _initialize_sparc_linux_tdep
8068         prototype.
8069         * sparc-nat.c: Remove _initialize_sparc_nat prototype.
8070         * sparc-nbsd-nat.c: Remove _initialize_sparcnbsd_nat prototype.
8071         * sparc-nbsd-tdep.c: Remove _initialize_sparcnbsd_tdep prototype.
8072         * sparc-obsd-tdep.c: Remove _initialize_sparc32obsd_tdep
8073         prototype.
8074         * sparc-sol2-nat.c: Remove _initialize_sparc_sol2_nat prototype.
8075         * sparc-sol2-tdep.c: Remove _initialize_sparc_sol2_tdep prototype.
8076         * sparc-tdep.c: Remove _initialize_sparc_tdep prototype.
8077         * sparc64-fbsd-nat.c: Remove _initialize_sparc64fbsd_nat
8078         prototype.
8079         * sparc64-fbsd-tdep.c: Remove _initialize_sparc64fbsd_tdep
8080         prototype.
8081         * sparc64-linux-nat.c: Remove _initialize_sparc64_linux_nat
8082         prototype.
8083         * sparc64-linux-tdep.c: Remove _initialize_sparc64_linux_tdep
8084         prototype.
8085         * sparc64-nat.c: Remove _initialize_sparc64_nat prototype.
8086         * sparc64-nbsd-nat.c: Remove _initialize_sparc64nbsd_nat
8087         prototype.
8088         * sparc64-nbsd-tdep.c: Remove _initialize_sparc64nbsd_tdep
8089         prototype.
8090         * sparc64-obsd-nat.c: Remove _initialize_sparc64obsd_nat
8091         prototype.
8092         * sparc64-obsd-tdep.c: Remove _initialize_sparc64obsd_tdep
8093         prototype.
8094         * sparc64-sol2-tdep.c: Remove _initialize_sparc64_sol2_tdep
8095         prototype.
8096         * spu-linux-nat.c: Remove _initialize_spu_nat prototype.
8097         * spu-multiarch.c: Remove _initialize_spu_multiarch prototype.
8098         * spu-tdep.c: Remove _initialize_spu_tdep prototype.
8099         * stabsread.c: Remove _initialize_stabsread prototype.
8100         * stack.c: Remove _initialize_stack prototype.
8101         * stap-probe.c: Remove _initialize_stap_probe prototype.
8102         * std-regs.c: Remove _initialize_frame_reg prototype.
8103         * symfile-debug.c: Remove _initialize_symfile_debug prototype.
8104         * symfile-mem.c: Remove _initialize_symfile_mem prototype.
8105         * symfile.c: Remove _initialize_symfile prototype.
8106         * symmisc.c: Remove _initialize_symmisc prototype.
8107         * symtab.c: Remove _initialize_symtab prototype.
8108         * target-dcache.c: Remove _initialize_target_dcache prototype.
8109         * target-descriptions.c: Remove _initialize_target_descriptions
8110         prototype.
8111         * thread.c: Remove _initialize_thread prototype.
8112         * tic6x-linux-tdep.c: Remove _initialize_tic6x_linux_tdep
8113         prototype.
8114         * tic6x-tdep.c: Remove _initialize_tic6x_tdep prototype.
8115         * tilegx-linux-nat.c: Remove _initialize_tile_linux_nat prototype.
8116         * tilegx-linux-tdep.c: Remove _initialize_tilegx_linux_tdep
8117         prototype.
8118         * tilegx-tdep.c: Remove _initialize_tilegx_tdep prototype.
8119         * tracefile-tfile.c: Remove _initialize_tracefile_tfile prototype.
8120         * tracefile.c: Remove _initialize_tracefile prototype.
8121         * tracepoint.c: Remove _initialize_tracepoint prototype.
8122         * tui/tui-hooks.c: Remove _initialize_tui_hooks prototype.
8123         * tui/tui-interp.c: Remove _initialize_tui_interp prototype.
8124         * tui/tui-layout.c: Remove _initialize_tui_layout prototype.
8125         * tui/tui-regs.c: Remove _initialize_tui_regs prototype.
8126         * tui/tui-stack.c: Remove _initialize_tui_stack prototype.
8127         * tui/tui-win.c: Remove _initialize_tui_win prototype.
8128         * tui/tui.c: Remove _initialize_tui prototype.
8129         * typeprint.c: Remove _initialize_typeprint prototype.
8130         * user-regs.c: Remove _initialize_user_regs prototype.
8131         * utils.c: Remove _initialize_utils prototype.
8132         * v850-tdep.c: Remove _initialize_v850_tdep prototype.
8133         * valarith.c: Remove _initialize_valarith prototype.
8134         * valops.c: Remove _initialize_valops prototype.
8135         * valprint.c: Remove _initialize_valprint prototype.
8136         * value.c: Remove _initialize_values prototype.
8137         * varobj.c: Remove _initialize_varobj prototype.
8138         * vax-bsd-nat.c: Remove _initialize_vaxbsd_nat prototype.
8139         * vax-nbsd-tdep.c: Remove _initialize_vaxnbsd_tdep prototype.
8140         * vax-tdep.c: Remove _initialize_vax_tdep prototype.
8141         * windows-nat.c: Remove _initialize_windows_nat,
8142         _initialize_check_for_gdb_ini, and _initialize_loadable
8143         prototypes.
8144         * windows-tdep.c: Remove _initialize_windows_tdep prototype.
8145         * xcoffread.c: Remove _initialize_xcoffread prototype.
8146         * xml-support.c: Remove _initialize_xml_support prototype.
8147         * xstormy16-tdep.c: Remove _initialize_xstormy16_tdep prototype.
8148         * xtensa-linux-nat.c: Remove _initialize_xtensa_linux_nat
8149         prototype.
8150         * xtensa-linux-tdep.c: Remove _initialize_xtensa_linux_tdep
8151         prototype.
8152         * xtensa-tdep.c: Remove _initialize_xtensa_tdep prototype.
8153
8154 2017-09-08  Keith Seitz  <keiths@redhat.com>
8155
8156         * dwarf2read.c (struct field_info) <fnfields>: Remove unused
8157         field.
8158
8159 2017-09-08  Christoph Weinmann  <christoph.t.weinmann@intel.com>
8160
8161         * f-valprint.c (f_val_print): Remove check for one byte
8162         sized integers. Remove printing of character type.
8163
8164 2017-09-08  Frank Penczek  <frank.penczek@intel.com>
8165             Christoph Weinmann  <christoph.t.weinmann@intel.com>
8166             Bernhard Heckel  <bernhard.heckel@intel.com>
8167
8168         * f-typeprint.c (f_type_print_base): Use fprintfi_filtered
8169         to maintain proper indentation when printing pointers/refs.
8170
8171 2017-09-07  Joel Brobecker  <brobecker@adacore.com>
8172
8173         GDB 8.0.1 released.
8174
8175 2017-09-07  Joel Brobecker  <brobecker@adacore.com>
8176
8177         * NEWS (Changes in GDB 7.11): Remove entry for QStartupWithShell.
8178
8179 2017-09-05  Tom Tromey  <tom@tromey.com>
8180
8181         * parse.c (funcall_chain): Now a std::vector.
8182         (start_arglist, end_arglist): Simplify.
8183         (free_funcalls): Remove.
8184         (parse_exp_in_context_1): Remove cleanup.
8185
8186 2017-09-05  Tom Tromey  <tom@tromey.com>
8187
8188         * go-exp.y (go_parse): Don't create a cleanup.
8189
8190 2017-09-05  Tom Tromey  <tom@tromey.com>
8191
8192         * d-exp.y (PrimaryExpression): Use std::string.
8193         (d_parse): Don't create a cleanup.
8194
8195 2017-09-05  Tom Tromey  <tom@tromey.com>
8196
8197         * utils.c (do_clear_parser_state): Remove.
8198         (make_cleanup_clear_parser_state): Remove.
8199         * p-exp.y (pascal_parse): Use scoped_restore.
8200         * m2-exp.y (m2_parse): Use scoped_restore.
8201         * f-exp.y (f_parse): Use scoped_restore.
8202         * d-exp.y (d_parse): Use scoped_restore.
8203         * c-exp.y (c_parse): Use scoped_restore.
8204         * ada-exp.y (ada_parse): Use scoped_restore.
8205         * utils.h (make_cleanup_clear_parser_state): Remove.
8206
8207 2017-09-06  Keith Seitz  <keiths@redhat.com>
8208
8209         * dwarf2read.c (dw2_linkage_name_attr): New function.
8210         (dw2_linkage_name): New function.
8211         (dwarf2_compute_name, dwarf2_physname, read_call_site_scope)
8212         (guess_full_die_structure_name, dwarf2_name): Use dw2_linkage_name.
8213         (anonymous_struct_prefix, dwarf2_name): Use dw2_linkage_name_attr.
8214
8215 2017-09-06  Kamil Rytarowski  <n54@gmx.com>
8216
8217         * config/djgpp/djconfig.sh: Correct shell portability issue.
8218
8219 2017-09-06  Kamil Rytarowski  <n54@gmx.com>
8220
8221         * configure.nat: Define HAVE_NATIVE_GCORE_HOST on NetBSD.
8222
8223 2017-09-06  John Baldwin  <jhb@FreeBSD.org>
8224
8225         * Makefile.in (ALLDEPFILES): Add mips-fbsd-nat.c.
8226         * NEWS: Mention new FreeBSD/mips native configuration.
8227         * configure.host: Add aarch64*-*-freebsd*.
8228         * configure.nat: Likewise.
8229         * aarch64-fbsd-nat.c: New file.
8230
8231 2017-09-06  John Baldwin  <jhb@FreeBSD.org>
8232
8233         * Makefile.in (ALL_64_TARGET_OBS): Add aarch64-fbsd-tdep.o.
8234         (ALLDEPFILES): Add aarch64-fbsd-tdep.c.
8235         * NEWS: Mention new FreeBSD/aarch64 target.
8236         * configure.tgt: Add aarch64*-*-freebsd*.
8237         * aarch64-fbsd-tdep.c: New file.
8238         * aarch64-fbsd-tdep.h: New file.
8239
8240 2017-09-06  Kamil Rytarowski  <n54@gmx.com>
8241
8242         * MAINTAINERS (Write After Approval): Add Kamil Rytarowski.
8243
8244 2017-09-06  Jan Kratochvil  <jan.kratochvil@redhat.com>
8245
8246         * parse.c (find_minsym_type_and_address): Don't relocate addresses
8247         of TLS symbols.
8248
8249 2017-09-05  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
8250
8251         * objfiles.c (get_objfile_bfd_data): Remove useless obstack_init
8252         call.
8253
8254 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8255
8256         * infrun.c (follow_exec): Call add_thread after
8257         target_find_description.
8258
8259 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8260
8261         * infrun.c (handle_inferior_event_1): When exec'ing, read
8262         stop_pc after follow_exec.
8263
8264 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8265
8266         * remote.c (process_g_packet): Update error message.
8267
8268 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8269
8270         * configure.tgt (gdb_target_obs): Add i386.o for x86_64-*
8271         targets.
8272
8273 2017-09-05  Pedro Alves  <palves@redhat.com>
8274
8275         * eval.c (eval_call, evaluate_funcall): New functions, factored
8276         out from ...
8277         (evaluate_subexp_standard): ... this.
8278
8279 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8280
8281         * amd64-tdep.c (amd64_target_description): Create target
8282         descriptions.
8283         (_initialize_amd64_tdep): Don't call functions
8284         initialize_tdesc_amd64_*.  Add self tests.
8285         * arch/amd64.c (amd64_create_target_description): Add parameter
8286         is_linux.  Call set_tdesc_osabi if is_linux is true.
8287         * arch/amd64.h (amd64_create_target_description): Update the
8288         declaration.
8289         * arch/i386.c (i386_create_target_description): Add parameter
8290         is_linux.  Call set_tdesc_osabi if is_linux is true.
8291         * arch/i386.h (i386_create_target_description): Update
8292         declaration.
8293         * configure.tgt: Add i386.o to gdb_target_obs.
8294         * features/Makefile (XMLTOC): Remove i386/*.xml.
8295         * features/i386/amd64-avx-avx512.c: Remove.
8296         * features/i386/amd64-avx-mpx-avx512-pku.c: Remove.
8297         * features/i386/amd64-avx-mpx.c: Remove.
8298         * features/i386/amd64-avx.c: Remove.
8299         * features/i386/amd64-mpx.c: Remove.
8300         * features/i386/amd64.c: Remove.
8301         * features/i386/i386-avx-avx512.c: Remove.
8302         * features/i386/i386-avx-mpx-avx512-pku.c: Remove.
8303         * features/i386/i386-avx-mpx.c: Remove.
8304         * features/i386/i386-avx.c: Remove.
8305         * features/i386/i386-mmx.c: Remove.
8306         * features/i386/i386-mpx.c: Remove.
8307         * features/i386/i386.c: Remove.
8308         * i386-tdep.c: Don't include features/i386/i386*.c., include
8309         target-descriptions.h and arch/i386.h.
8310         (i386_target_description): Create target descriptions.
8311         (i386_gdbarch_init): Don't call initialize_tdesc_i386_*
8312         functions.  Do self tests.
8313
8314 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8315
8316         * features/Makefile (XMLTOC): Remove i386/amd64XXX-linux.xml.
8317         * features/i386/amd64-avx-avx512-linux.c: Removed.
8318         * features/i386/amd64-avx-linux.c: Removed.
8319         * features/i386/amd64-avx-mpx-avx512-pku-linux.c: Removed.
8320         * features/i386/amd64-avx-mpx-linux.c: Removed.
8321         * features/i386/amd64-linux.c: Removed.
8322         * features/i386/amd64-mpx-linux.c: Removed.
8323         * features/i386/x32-avx-avx512-linux.c: Removed.
8324         * features/i386/x32-avx-linux.c: Removed.
8325         * features/i386/x32-linux.c: Removed.
8326
8327 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8328
8329         * amd64-linux-tdep.c: Include arch/amd64.h.  Don't include
8330         features/i386/*.c.
8331         (amd64_linux_read_description): Call
8332         amd64_create_target_description.
8333         * arch/amd64.c: New file.
8334         * arch/amd64.h: New file.
8335         * configure.tgt (x86_64-*-linux*): Append amd64.o.
8336         * Makefile.in (ALL_64_TARGET_OBS): Append amd64.o.
8337
8338 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8339
8340         * amd64-linux-tdep.c: Don't include amd64-XXX-linux and
8341         x32-XXX-linux.c.  Include 64bit-XX.c and x32-XX.c.
8342         (amd64_linux_read_description): Create target descriptions.
8343         (_initialize_amd64_linux_tdep): Don't call initialize_tdesc_XXX
8344         functions.  Add unit tests.
8345         * features/Makefile (FEATURE_XMLFILES): Append 64bit-XXX.xml and
8346         x32-core.xml.
8347         * features/i386/64bit-avx.c: Generated.
8348         * features/i386/64bit-avx512.c: Generated.
8349         * features/i386/64bit-core.c: Generated.
8350         * features/i386/64bit-linux.c: Generated.
8351         * features/i386/64bit-mpx.c: Generated.
8352         * features/i386/64bit-pkeys.c: Generated.
8353         * features/i386/64bit-segments.c: Generated.
8354         * features/i386/64bit-sse.c: Generated.
8355         * features/i386/x32-core.c: Generated.
8356         * target-descriptions.c (maint_print_c_tdesc_cmd): Print feature
8357         c files for amd64-linux and x32-linux.
8358
8359 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8360
8361         * amd64-linux-tdep.c (amd64_linux_read_description): New
8362         function.
8363         (amd64_linux_core_read_description): Call
8364         amd64_linux_read_description.
8365         (amd64_linux_init_abi): Likewise.
8366         (amd64_x32_linux_init_abi): Likewise.
8367         * amd64-linux-tdep.h (amd64_linux_read_description): Declare.
8368         * x86-linux-nat.c (x86_linux_read_description): Call
8369         amd64_linux_read_description.
8370
8371 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8372
8373         * amd64-linux-tdep.c (amd64_linux_core_read_description): Update
8374         comments.
8375
8376 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8377
8378         * features/Makefile (XMLTOC): Remove i386/i386-XX-linux.xml.
8379         * features/i386/i386-avx-avx512-linux.c: Remove.
8380         * features/i386/i386-avx-linux.c: Remove.
8381         * features/i386/i386-avx-mpx-avx512-pku-linux.c: Remove.
8382         * features/i386/i386-avx-mpx-linux.c: Remove.
8383         * features/i386/i386-linux.c: Remove.
8384         * features/i386/i386-mmx-linux.c: Remove.
8385         * features/i386/i386-mpx-linux.c: Remove.
8386
8387 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8388
8389         * Makefile.in (ALL_TARGET_OBS): Add i386.o.
8390         (SFILES): Add arch/i386.c.
8391         (HFILES_NO_SRCDIR): Add arch/i386.h.
8392         * arch/i386.c: New file.
8393         * arch/i386.h: New file.
8394         * arch/tdesc.h (allocate_target_description): Declare.
8395         (set_tdesc_architecture): Declare.
8396         (set_tdesc_osabi): Declare.
8397         * configure.tgt (i[34567]86-*-linux*): Add i386.o.
8398         * i386-linux-tdep.c: Don't include ../features/i386/32bit-XXX.c.
8399         include arch/i386.h.
8400         (i386_linux_read_description): Remove code and call
8401         i386_create_target_description.
8402         (set_tdesc_architecture): New function.
8403         (set_tdesc_osabi): New function.
8404         * target-descriptions.h (allocate_target_description): Remove.
8405
8406 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8407
8408         * arch/tdesc.h (tdesc_create_feature): Add an argument xml.
8409         * target-descriptions.c (tdesc_create_feature): Likewise, and
8410         adjust code.
8411         * features/i386/32bit-avx.c: Re-generated.
8412         * features/i386/32bit-avx512.c: Re-generated.
8413         * features/i386/32bit-core.c: Re-generated.
8414         * features/i386/32bit-linux.c: Re-generated.
8415         * features/i386/32bit-mpx.c: Re-generated.
8416         * features/i386/32bit-pkeys.c: Re-generated.
8417         * features/i386/32bit-sse.c: Re-generated.
8418
8419 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8420
8421         * regformats/regdef.h (struct reg): Override operator == and !=.
8422
8423 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8424
8425         * arch/tdesc.h: New file.
8426         * regformats/regdat.sh: Generate code using tdesc_create_reg.
8427         * target-descriptions.c: Update comments.
8428         * target-descriptions.h: Include "arch/tdesc.h".  Remove the
8429         declarations.
8430         * features/i386/32bit-avx.c: Re-generated.
8431         * features/i386/32bit-avx512.c: Re-generated.
8432         * features/i386/32bit-core.c: Re-generated.
8433         * features/i386/32bit-linux.c: Re-generated.
8434         * features/i386/32bit-mpx.c: Re-generated.
8435         * features/i386/32bit-pkeys.c: Re-generated.
8436         * features/i386/32bit-sse.c: Re-generated.
8437
8438 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8439
8440         * regformats/regdat.sh: Update generated code.
8441
8442 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8443
8444         * regformats/regdat.sh: Adjust code order.
8445
8446 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8447
8448         * expprint.c (dump_subexp_body_standard): Use constant format
8449         string in fprintf_filtered call.
8450
8451 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8452
8453         * configure.nat: Add "x86-nat.o x86-dregs.o" for NetBSD/amd64 and
8454         NetBSD/i386.
8455         * x86-bsd-nat.c [!DBREG_DRX && __NetBSD__]: Define DBREG_DRX.
8456
8457 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8458
8459         * bsd-kvm.o: Make <sys/user.h> conditional on HAVE_SYS_USER_H.
8460
8461 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8462
8463         * bsd-kvm.o: Define _KMEMUSER.
8464         * configure.ac: Define _KMEMUSER when checking for "struct lwp".
8465         * configure: Regenerate.
8466
8467 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8468
8469         * amd64-fbsd-nat.c: Add include of "x86-xstate.h".
8470         * i386-fbsd-nat.c: Likewise.
8471
8472 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8473
8474         * unittests/array-view-selftests.c: Add include of <array>.
8475
8476 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8477
8478         * spu-tdep.c (flush_ea_cache): Add missing argument to
8479         call_function_by_hand.
8480
8481 2017-09-04  Pedro Alves  <palves@redhat.com>
8482
8483         * NEWS (Safer support for debugging with no debug info): New.
8484
8485 2017-09-04  Pedro Alves  <palves@redhat.com>
8486
8487         * c-exp.y (function_method, function_method_void): Add current
8488         instance flags to TYPE_INSTANCE.
8489         * dwarf2read.c (check_modifier): New.
8490         (compute_delayed_physnames): Assert that only C++ adds delayed
8491         physnames.  Mark fn_fields as const/volatile depending on
8492         physname.
8493         * eval.c (make_params): New type_instance_flags parameter.  Use
8494         it as the new type's instance flags.
8495         (evaluate_subexp_standard) <TYPE_INSTANCE>: Extract the instance
8496         flags element and pass it to make_params.
8497         * expprint.c (print_subexp_standard) <TYPE_INSTANCE>: Handle
8498         instance flags element.
8499         (dump_subexp_body_standard) <TYPE_INSTANCE>: Likewise.
8500         * gdbtypes.h: Include "enum-flags.h".
8501         (type_instance_flags): New enum-flags type.
8502         (TYPE_CONST, TYPE_VOLATILE, TYPE_RESTRICT, TYPE_ATOMIC)
8503         (TYPE_CODE_SPACE, TYPE_DATA_SPACE): Return boolean.
8504         * parse.c (operator_length_standard) <TYPE_INSTANCE>: Adjust.
8505         (follow_type_instance_flags): New function.
8506         (operator_check_standard) <TYPE_INSTANCE>: Adjust.
8507         * parser-defs.h (follow_type_instance_flags): Declare.
8508         * valops.c (value_struct_elt_for_reference): const/volatile must
8509         match too.
8510
8511 2017-09-04  Pedro Alves  <palves@redhat.com>
8512
8513         * cp-namespace.c (cp_search_static_and_baseclasses): Handle
8514         function/method scopes; lookup the nested name as a function local
8515         static variable.
8516
8517 2017-09-04  Pedro Alves  <palves@redhat.com>
8518
8519         (%type <voidval>): Add function_method.
8520         * c-exp.y (exp): New production for calls with no arguments.
8521         (function_method, function_method_void_or_typelist): New
8522         productions.
8523         (exp): New production for "method()::static_var".
8524         * eval.c (evaluate_subexp_standard): Handle OP_FUNC_STATIC_VAR.
8525         * expprint.c (print_subexp_standard, dump_subexp_body_standard):
8526         Handle OP_FUNC_STATIC_VAR.
8527         * parse.c (operator_length_standard):
8528         Handle OP_FUNC_STATIC_VAR.
8529
8530 2017-09-04  Pedro Alves  <palves@redhat.com>
8531
8532         * eval.c (evaluate_subexp_standard): Remove UNOP_MEMVAL_TLS
8533         handling.
8534         * expprint.c (print_subexp_standard, dump_subexp_body_standard):
8535         Ditto.
8536         * parse.c (operator_length_standard, operator_check_standard):
8537         Ditto.
8538         * std-operator.def (UNOP_MEMVAL_TLS): Delete.
8539
8540 2017-09-04  Pedro Alves  <palves@redhat.com>
8541
8542         * ax-gdb.c: Include "typeprint.h".
8543         (gen_expr_for_cast): New function.
8544         (gen_expr) <OP_CAST, OP_CAST_TYPE>: Use it.
8545         <OP_VAR_VALUE, OP_MSYM_VAR_VALUE>: Error out if the variable's
8546         type is unknown.
8547         * dwarf2read.c (new_symbol_full): Fallback to int instead of
8548         nodebug_data_symbol.
8549         * eval.c: Include "typeprint.h".
8550         (evaluate_subexp_standard) <OP_VAR_VALUE, OP_VAR_MSYM_VALUE>:
8551         Error out if symbol has unknown type.
8552         <UNOP_CAST, UNOP_CAST_TYPE>: Common bits factored out to
8553         evaluate_subexp_for_cast.
8554         (evaluate_subexp_for_address, evaluate_subexp_for_sizeof): Handle
8555         OP_VAR_MSYM_VALUE.
8556         (evaluate_subexp_for_cast): New function.
8557         * gdbtypes.c (init_nodebug_var_type): New function.
8558         (objfile_type): Use it to initialize types of variables with no
8559         debug info.
8560         * typeprint.c (error_unknown_type): New.
8561         * typeprint.h (error_unknown_type): New declaration.
8562         * compile/compile-c-types.c (convert_type_basic): Handle
8563         TYPE_CODE_ERROR; warn and fallback to int for variables with
8564         unknown type.
8565
8566 2017-09-04  Pedro Alves  <palves@redhat.com>
8567
8568         * eval.c (evaluate_var_value): New function, factored out from ...
8569         (evaluate_subexp_standard): ... here.
8570
8571 2017-09-04  Pedro Alves  <palves@redhat.com>
8572
8573         * eval.c (evaluate_subexp_standard) <UNOP_COMPLEMENT, UNOP_ADDR>:
8574         Remove useless assignments to 'op'.
8575
8576 2017-09-04  Pedro Alves  <palves@redhat.com>
8577
8578         * eval.c (eval_skip_value): New function.
8579         (evaluate_subexp_standard): Use it.
8580
8581 2017-09-04  Pedro Alves  <palves@redhat.com>
8582
8583         * eval.c (evaluate_subexp_standard): <OP_FUNCALL>: Extract
8584         function name from symbol/minsym and pass it to
8585         error_call_unknown_return_type.
8586
8587 2017-09-04  Pedro Alves  <palves@redhat.com>
8588
8589         * ada-lang.c (resolve_subexp): Handle OP_VAR_MSYM_VALUE.
8590         * ax-gdb.c (gen_msym_var_ref): New function.
8591         (gen_expr): Handle OP_VAR_MSYM_VALUE.
8592         * eval.c (evaluate_var_msym_value): New function.
8593         * eval.c (evaluate_subexp_standard): Handle OP_VAR_MSYM_VALUE.
8594         <OP_FUNCALL>: Extract function name from symbol/minsym and pass it
8595         to call_function_by_hand.
8596         * expprint.c (print_subexp_standard, dump_subexp_body_standard):
8597         Handle OP_VAR_MSYM_VALUE.
8598         (union exp_element) <msymbol>: New field.
8599         * minsyms.h (struct type): Forward declare.
8600         (find_minsym_type_and_address): Declare.
8601         * parse.c (write_exp_elt_msym): New function.
8602         (write_exp_msymbol): Delete, refactored as ...
8603         (find_minsym_type_and_address): ... this new function.
8604         (write_exp_msymbol): Reimplement using OP_VAR_MSYM_VALUE.
8605         (operator_length_standard, operator_check_standard): Handle
8606         OP_VAR_MSYM_VALUE.
8607         * std-operator.def (OP_VAR_MSYM_VALUE): New.
8608
8609 2017-09-04  Pedro Alves  <palves@redhat.com>
8610
8611         * ada-lang.c (ada_evaluate_subexp) <TYPE_CODE_FUNC>: Don't handle
8612         TYPE_GNU_IFUNC specially here.  Throw error if return type is
8613         unknown.
8614         * ada-typeprint.c (print_func_type): Handle functions with unknown
8615         return type.
8616         * c-typeprint.c (c_type_print_base): Handle functions and methods
8617         with unknown return type.
8618         * compile/compile-c-symbols.c (convert_symbol_bmsym)
8619         <mst_text_gnu_ifunc>: Use nodebug_text_gnu_ifunc_symbol.
8620         * compile/compile-c-types.c: Include "objfiles.h".
8621         (convert_func): For functions with unknown return type, warn and
8622         default to int.
8623         * compile/compile-object-run.c (compile_object_run): Adjust call
8624         to call_function_by_hand_dummy.
8625         * elfread.c (elf_gnu_ifunc_resolve_addr): Adjust call to
8626         call_function_by_hand.
8627         * eval.c (evaluate_subexp_standard): Adjust calls to
8628         call_function_by_hand.  Handle functions and methods with unknown
8629         return type.  Pass expect_type to call_function_by_hand.
8630         * f-typeprint.c (f_type_print_base): Handle functions with unknown
8631         return type.
8632         * gcore.c (call_target_sbrk): Adjust call to
8633         call_function_by_hand.
8634         * gdbtypes.c (objfile_type): Leave nodebug text symbol with NULL
8635         return type instead of int.  Make nodebug_text_gnu_ifunc_symbol be
8636         an integer address type instead of nodebug.
8637         * guile/scm-value.c (gdbscm_value_call): Adjust call to
8638         call_function_by_hand.
8639         * infcall.c (error_call_unknown_return_type): New function.
8640         (call_function_by_hand): New "default_return_type" parameter.
8641         Pass it down.
8642         (call_function_by_hand_dummy): New "default_return_type"
8643         parameter.  Use it instead of defaulting to int.  If there's no
8644         default and the return type is unknown, throw an error.  If
8645         there's a default return type, and the called function has no
8646         debug info, then assume the function is prototyped.
8647         * infcall.h (call_function_by_hand, call_function_by_hand_dummy):
8648         New "default_return_type" parameter.
8649         (error_call_unknown_return_type): New declaration.
8650         * linux-fork.c (call_lseek): Cast return type of lseek.
8651         (inferior_call_waitpid, checkpoint_command): Adjust calls to
8652         call_function_by_hand.
8653         * linux-tdep.c (linux_infcall_mmap, linux_infcall_munmap): Adjust
8654         calls to call_function_by_hand.
8655         * m2-typeprint.c (m2_procedure): Handle functions with unknown
8656         return type.
8657         * objc-lang.c (lookup_objc_class, lookup_child_selector)
8658         (value_nsstring, print_object_command): Adjust calls to
8659         call_function_by_hand.
8660         * p-typeprint.c (pascal_type_print_varspec_prefix): Handle
8661         functions with unknown return type.
8662         (pascal_type_print_func_varspec_suffix): New function.
8663         (pascal_type_print_varspec_suffix) <TYPE_CODE_FUNC,
8664         TYPE_CODE_METHOD>: Use it.
8665         * python/py-value.c (valpy_call): Adjust call to
8666         call_function_by_hand.
8667         * rust-lang.c (rust_evaluate_funcall): Adjust call to
8668         call_function_by_hand.
8669         * valarith.c (value_x_binop, value_x_unop): Adjust calls to
8670         call_function_by_hand.
8671         * valops.c (value_allocate_space_in_inferior): Adjust call to
8672         call_function_by_hand.
8673         * typeprint.c (type_print_unknown_return_type): New function.
8674         * typeprint.h (type_print_unknown_return_type): New declaration.
8675
8676 2017-09-04  Pedro Alves  <palves@redhat.com>
8677
8678         * gdbtypes.c (lookup_function_type_with_arguments): Mark function
8679         types with more than one parameter as prototyped.
8680
8681 2017-09-04  Pedro Alves  <palves@redhat.com>
8682
8683         * cli/cli-cmds.c (print_disassembly, disassemble_current_function)
8684         (disassemble_command): Use gdb_disassembly_flags instead of bare
8685         int.
8686         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn)
8687         (dump_insns, do_mixed_source_and_assembly_deprecated)
8688         (do_mixed_source_and_assembly, do_assembly_only, gdb_disassembly):
8689         Use gdb_disassembly_flags instead of bare int.
8690         * disasm.h (DISASSEMBLY_SOURCE_DEPRECATED, DISASSEMBLY_RAW_INSN)
8691         (DISASSEMBLY_OMIT_FNAME, DISASSEMBLY_FILENAME)
8692         (DISASSEMBLY_OMIT_PC, DISASSEMBLY_SOURCE)
8693         (DISASSEMBLY_SPECULATIVE): No longer macros.  Instead they're...
8694         (enum gdb_disassembly_flag): ... values of this new enumeration.
8695         (gdb_disassembly_flags): Define.
8696         (gdb_disassembly)
8697         (gdb_pretty_print_disassembler::pretty_print_insn): Use it.
8698         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Use
8699         gdb_disassembly_flags instead of bare int.
8700         * record-btrace.c (btrace_insn_history)
8701         (record_btrace_insn_history, record_btrace_insn_history_range)
8702         (record_btrace_insn_history_from): Use gdb_disassembly_flags
8703         instead of bare int.
8704         * record.c (get_insn_history_modifiers, cmd_record_insn_history):
8705         Use gdb_disassembly_flags instead of bare int.
8706         * target-debug.h (target_debug_print_gdb_disassembly_flags):
8707         Define.
8708         * target-delegates.c: Regenerate.
8709         * target.c (target_insn_history, target_insn_history_from)
8710         (target_insn_history_range): Use gdb_disassembly_flags instead of
8711         bare int.
8712         * target.h: Include "disasm.h".
8713         (struct target_ops) <to_insn_history, to_insn_history_from,
8714         to_insn_history_range>: Use gdb_disassembly_flags instead of bare
8715         int.
8716         (target_insn_history, target_insn_history_from)
8717         (target_insn_history_range): Use gdb_disassembly_flags instead of
8718         bare int.
8719
8720 2017-09-04  Simon Marchi  <simon.marchi@ericsson.com>
8721
8722         * cli/cli-script.c (build_command_line): For if/while commands,
8723         check whether args is empty.
8724
8725 2017-09-04  Simon Marchi  <simon.marchi@ericsson.com>
8726
8727         * cli/cli-script.h (enum misc_command_type): Move from defs.h.
8728         (enum command_control_type): Likewise.
8729         (struct command_line): Likewise.
8730         (free_command_lines): Likewise.
8731         (struct command_lines_deleter): Likewise.
8732         (command_line_up): Likewise.
8733         (read_command_lines): Likewise.
8734         (read_command_lines_1): Likewise.
8735         * defs.h (enum misc_command_type): Move to cli/cli-script.h.
8736         (enum command_control_type): Likewise.
8737         (struct command_line): Likewise.
8738         (free_command_lines): Likewise.
8739         (struct command_lines_deleter): Likewise.
8740         (command_line_up): Likewise.
8741         (read_command_lines): Likewise.
8742         (read_command_lines_1): Likewise.
8743         * breakpoint.h: Include cli/cli-script.h.
8744         * extension-priv.h: Likewise.
8745         * gdbcmd.h: Likewise.
8746
8747 2017-09-04  Pedro Alves  <palves@redhat.com>
8748
8749         * ada-lang.c (is_known_support_routine): Move sal declaration to
8750         where it is initialized.
8751         * breakpoint.c (create_internal_breakpoint, init_catchpoint)
8752         (parse_breakpoint_sals, decode_static_tracepoint_spec)
8753         (clear_command, update_static_tracepoint): Remove init_sal
8754         references.  Move declarations closer to initializations.
8755         * cli/cli-cmds.c (list_command): Move sal declarations closer to
8756         initializations.
8757         * elfread.c (elf_gnu_ifunc_resolver_stop): Remove init_sal
8758         references.  Move sal declarations closer to initializations.
8759         * frame.c (find_frame_sal): Return a symtab_and_line via function
8760         return instead of output parameter.  Remove init_sal references.
8761         * frame.h (find_frame_sal): Return a symtab_and_line via function
8762         return instead of output parameter.
8763         * guile/scm-frame.c (gdbscm_frame_sal): Adjust.
8764         * guile/scm-symtab.c (stscm_make_sal_smob): Use in-place new
8765         instead of memset.
8766         (gdbscm_find_pc_line): Remove init_sal reference.
8767         * infcall.c (call_function_by_hand_dummy): Remove init_sal
8768         references.  Move declarations closer to initializations.
8769         * infcmd.c (set_step_frame): Update.  Move declarations closer to
8770         initializations.
8771         (finish_backward): Remove init_sal references.  Move declarations
8772         closer to initializations.
8773         * infrun.c (process_event_stop_test, handle_step_into_function)
8774         (insert_hp_step_resume_breakpoint_at_frame)
8775         (insert_step_resume_breakpoint_at_caller): Likewise.
8776         * linespec.c (create_sals_line_offset, decode_digits_ordinary)
8777         (symbol_to_sal): Likewise.
8778         * probe.c (parse_probes_in_pspace): Remove init_sal reference.
8779         * python/py-frame.c (frapy_find_sal): Move sal declaration closer
8780         to its initialization.
8781         * reverse.c (save_bookmark_command): Use new/delete.  Remove
8782         init_sal references.  Move declarations closer to initializations.
8783         * source.c (get_current_source_symtab_and_line): Remove brace
8784         initialization.
8785         (set_current_source_symtab_and_line): Now takes the sal by const
8786         reference.  Remove brace initialization.
8787         (line_info): Remove init_sal reference.
8788         * source.h (set_current_source_symtab_and_line): Now takes a
8789         symtab_and_line via const reference.
8790         * stack.c (set_current_sal_from_frame): Adjust.
8791         (print_frame_info): Adjust.
8792         (get_last_displayed_sal): Return the sal via function return
8793         instead of via output parameter.  Simplify.
8794         (frame_info): Adjust.
8795         * stack.h (get_last_displayed_sal): Return the sal via function
8796         return instead of via output parameter.
8797         * symtab.c (init_sal): Delete.
8798         (find_pc_sect_line): Remove init_sal references.  Move
8799         declarations closer to initializations.
8800         (find_function_start_sal): Remove init_sal references.  Move
8801         declarations closer to initializations.
8802         * symtab.h (struct symtab_and_line): In-class initialize all
8803         fields.
8804         * tracepoint.c (set_traceframe_context)
8805         (print_one_static_tracepoint_marker): Remove init_sal references.
8806         Move declarations closer to initializations.
8807         * tui/tui-disasm.c (tui_show_disassem_and_update_source): Adjust.
8808         * tui/tui-stack.c (tui_show_frame_info): Adjust.  Move
8809         declarations closer to initializations.
8810         * tui/tui-winsource.c (tui_update_source_window_as_is): Remove
8811         init_sal references.  Adjust.
8812
8813 2017-09-04  Pedro Alves  <palves@redhat.com>
8814
8815         * ax-gdb.c (agent_command_1): Use range-for.
8816         * break-catch-throw.c (re_set_exception_catchpoint): Update.
8817         * breakpoint.c: Include "common/array-view.h".
8818         (init_breakpoint_sal, create_breakpoint_sal): Change sals
8819         parameter from struct symtabs_and_lines to
8820         array_view<symtab_and_line>.  Adjust.  Use range-for.  Update.
8821         (breakpoint_sals_to_pc): Change sals parameter from struct
8822         symtabs_and_lines to std::vector reference.
8823         (check_fast_tracepoint_sals): Change sals parameter from struct
8824         symtabs_and_lines to std::array_view.  Use range-for.
8825         (decode_static_tracepoint_spec): Return a std::vector instead of
8826         symtabs_and_lines.  Update.
8827         (create_breakpoint): Update.
8828         (break_range_command, until_break_command, clear_command): Update.
8829         (base_breakpoint_decode_location, bkpt_decode_location)
8830         (bkpt_probe_create_sals_from_location)
8831         (bkpt_probe_decode_location, tracepoint_decode_location)
8832         (tracepoint_probe_decode_location)
8833         (strace_marker_create_sals_from_location): Return a std::vector
8834         instead of symtabs_and_lines.
8835         (strace_marker_create_breakpoints_sal): Update.
8836         (strace_marker_decode_location): Return a std::vector instead of
8837         symtabs_and_lines.  Update.
8838         (update_breakpoint_locations): Change struct symtabs_and_lines
8839         parameters to gdb::array_view.  Adjust.
8840         (location_to_sals): Return a std::vector instead of
8841         symtabs_and_lines.  Update.
8842         (breakpoint_re_set_default): Use std::vector instead of struct
8843         symtabs_and_lines.
8844         (decode_location_default): Return a std::vector instead of
8845         symtabs_and_lines.  Update.
8846         * breakpoint.h: Include "common/array-view.h".
8847         (struct breakpoint_ops) <decode_location>: Now returns a
8848         std::vector instead of returning a symtabs_and_lines via output
8849         parameter.
8850         (update_breakpoint_locations): Change sals parameters to use
8851         gdb::array_view.
8852         * cli/cli-cmds.c (edit_command, list_command): Update to use
8853         std::vector and gdb::array_view.
8854         (ambiguous_line_spec): Adjust to use gdb::array_view and
8855         range-for.
8856         (compare_symtabs): Rename to ...
8857         (cmp_symtabs): ... this.  Change parameters to symtab_and_line
8858         const reference and adjust.
8859         (filter_sals): Rewrite using std::vector and standard algorithms.
8860         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Simplify.
8861         (jump_command): Update to use std::vector.
8862         * linespec.c (struct linespec_state) <canonical_names>: Update
8863         comment.
8864         (add_sal_to_sals_basic): Delete.
8865         (add_sal_to_sals, filter_results, convert_results_to_lsals)
8866         (decode_line_2, create_sals_line_offset)
8867         (convert_address_location_to_sals, convert_linespec_to_sals)
8868         (convert_explicit_location_to_sals, parse_linespec)
8869         (event_location_to_sals, decode_line_full, decode_line_1)
8870         (decode_line_with_current_source)
8871         (decode_line_with_last_displayed, decode_objc)
8872         (decode_digits_list_mode, decode_digits_ordinary, minsym_found)
8873         (linespec_result::~linespec_result): Adjust to use std::vector
8874         instead of symtabs_and_lines.
8875         * linespec.h (linespec_sals::sals): Now a std::vector.
8876         (struct linespec_result): Use std::vector, bool, and in-class
8877         initialization.
8878         (decode_line_1, decode_line_with_current_source)
8879         (decode_line_with_last_displayed): Return std::vector.
8880         * macrocmd.c (info_macros_command): Use std::vector.
8881         * mi/mi-main.c (mi_cmd_trace_find): Use std::vector.
8882         * probe.c (parse_probes_in_pspace, parse_probes): Adjust to use
8883         std::vector.
8884         * probe.h (parse_probes): Return a std::vector.
8885         * python/python.c (gdbpy_decode_line): Use std::vector and
8886         gdb::array_view.
8887         * source.c (select_source_symtab, line_info): Use std::vector.
8888         * stack.c (func_command): Use std::vector.
8889         * symtab.h (struct symtabs_and_lines): Delete.
8890         * tracepoint.c (tfind_line_command, scope_info): Use std::vector.
8891
8892 2017-09-04  Pedro Alves  <palves@redhat.com>
8893
8894         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8895         unittests/array-view-selftests.c.
8896         (SUBDIR_UNITTESTS_OBS): Add array-view-selftests.o.
8897         * common/array-view.h: New file.
8898         * unittests/array-view-selftests.c: New file.
8899
8900 2017-09-04  Pedro Alves  <palves@redhat.com>
8901
8902         * cli/cli-cmds.c (edit_command): Pass message to
8903         ambiguous_line_spec.
8904         (list_command): Pass message to ambiguous_line_spec.  Say
8905         "first"/"last" instead of "start" and "end" to be consistent with
8906         the manual.
8907         (ambiguous_line_spec): Add 'format' and vararg parameters.  Use
8908         them to print formatted message.
8909
8910 2017-09-04  Pedro Alves  <palves@redhat.com>
8911
8912         * btrace.c (ftrace_add_pt): Pass btrace_insn to
8913         ftrace_update_insns by reference instead of pointer.
8914
8915 2017-09-04  Yao Qi  <yao.qi@linaro.org>
8916
8917         * i386-go32-tdep.c: Include x86-xstate.h.
8918         (i386_go32_init_abi): Call i386_target_description.
8919         * i386-tdep.c (i386_target_description): Return tdesc_i386_mmx
8920         if xcr0 is X86_XSTATE_X87_MASK.
8921         * i386-tdep.h (tdesc_i386): Remove the declaration.
8922         (tdesc_i386_mmx): Likewise.
8923
8924 2017-09-04  Yao Qi  <yao.qi@linaro.org>
8925
8926         * i386-fbsd-tdep.c (i386fbsd_core_read_xcr0): Return
8927         X86_XSTATE_SSE_MASK instead of 0.
8928
8929 2017-09-04  Yao Qi  <yao.qi@linaro.org>
8930
8931         * amd64-fbsd-nat.c (amd64fbsd_read_description): Call
8932         i386_target_description.
8933         * i386-fbsd-nat.c (i386fbsd_read_description): Call
8934         i386_target_description.
8935         * i386-tdep.c (i386_gdbarch_init): Likewise.
8936
8937 2017-09-04  Yao Qi  <yao.qi@linaro.org>
8938
8939         * amd64-darwin-tdep.c: Include "x86-xstate.h".
8940         (x86_darwin_init_abi_64): Call amd64_target_description.
8941         * amd64-dicos-tdep.c: Likewise.
8942         * amd64-fbsd-nat.c: Likewise.
8943         * amd64-fbsd-tdep.c: Likewise.
8944         * amd64-nbsd-tdep.c: Likewise.
8945         * amd64-obsd-tdep.c: Likewise.
8946         * amd64-sol2-tdep.c: Likewise.
8947         * amd64-windows-tdep.c: Likewise.
8948         * amd64-tdep.h (tdesc_amd64): Remove the declaration.
8949
8950 2017-09-04  Simon Marchi  <simon.marchi@ericsson.com>
8951
8952         * btrace.h (btrace_insn_s, DEF_VEC_O (btrace_insn_s)): Remove.
8953         (btrace_function) <insn>: Change type to use std::vector.
8954         * btrace.c (ftrace_debug, ftrace_call_num_insn,
8955         ftrace_find_call, ftrace_new_gap, ftrace_update_function,
8956         ftrace_update_insns, ftrace_compute_global_level_offset,
8957         btrace_stitch_bts, btrace_clear, btrace_insn_get,
8958         btrace_insn_end, btrace_insn_next, btrace_insn_prev): Adjust to
8959         change to std::vector.
8960         (ftrace_update_insns): Adjust to change to std::vector, change
8961         type of INSN parameter.
8962         (btrace_compute_ftrace_bts): Adjust call to ftrace_update_insns.
8963         * record-btrace.c (btrace_call_history_insn_range,
8964         btrace_compute_src_line_range,
8965         record_btrace_frame_prev_register): Adjust to change to
8966         std::vector.
8967         * python/py-record-btrace.c (recpy_bt_func_instructions): Adjust
8968         to change to std::vector.
8969
8970 2017-09-03  Tom Tromey  <tom@tromey.com>
8971
8972         * corefile.c (reopen_exec_file): Use std::string.
8973
8974 2017-09-03  Tom Tromey  <tom@tromey.com>
8975
8976         * compile/compile.c (compile_register_name_mangled): Return
8977         std::string.
8978         * compile/compile-loc2c.c (pushf_register_address): Update.
8979         (pushf_register): Update.
8980         * compile/compile-c-types.c (convert_array): Update.
8981         * compile/compile-c-symbols.c (generate_vla_size): Update.
8982         (error_symbol_once): Use a gdb::unique_xmalloc_ptr.
8983         (symbol_substitution_name): Return a gdb::unique_xmalloc_ptr.
8984         (convert_one_symbol): Update.
8985         (generate_c_for_for_one_variable): Update.
8986         * compile/compile-c-support.c (c_get_range_decl_name): Return a
8987         std::string.
8988         (generate_register_struct): Update.
8989         * compile/compile-internal.h (c_get_range_decl_name): Return a
8990         std::string.
8991         (compile_register_name_mangled): Return std::string.
8992
8993 2017-09-03  Tom Tromey  <tom@tromey.com>
8994
8995         * utils.c (perror_string): Return a std::string.
8996         (throw_perror_with_name, perror_warning_with_name): Update.
8997
8998 2017-09-03  Tom Tromey  <tom@tromey.com>
8999
9000         * demangle.c (demangle_command): Use std::string,
9001         unique_xmalloc_ptr.
9002
9003 2017-09-03  Tom Tromey  <tom@tromey.com>
9004
9005         * cli/cli-setshow.c (do_set_command): Use std::string.
9006
9007 2017-09-03  Tom Tromey  <tom@tromey.com>
9008
9009         * cli/cli-cmds.c (cd_command): Use gdb::unique_xmalloc_ptr.
9010
9011 2017-09-03  Tom Tromey  <tom@tromey.com>
9012
9013         * mi/mi-interp.c (mi_cmd_interpreter_exec): Use std::string.
9014
9015 2017-09-03  Tom Tromey  <tom@tromey.com>
9016
9017         * mi/mi-cmd-env.c (env_execute_cli_command): Use
9018         gdb::unique_xmalloc_ptr.
9019
9020 2017-09-03  Tom Tromey  <tom@tromey.com>
9021
9022         * thread.c (print_thread_info_1): Use string_printf.
9023         (thread_apply_command, thread_apply_all_command): Use
9024         std::string.
9025
9026 2017-09-03  Tom Tromey  <tom@tromey.com>
9027
9028         * valprint.c (val_print_string): Update.
9029         * gdbcore.h (memory_error_message): Return std::string.
9030         * corefile.c (memory_error_message): Return std::string.
9031         (memory_error): Update.
9032         * breakpoint.c (insert_bp_location): Update.
9033
9034 2017-09-03  Simon Marchi  <simon.marchi@ericsson.com>
9035
9036         * target/waitstatus.h (target_waitstatus_to_string): Change
9037         return type to std::string.
9038         * target/waitstatus.c (target_waitstatus_to_string): Return
9039         std::string.
9040         * target.h (target_waitstatus_to_string): Remove declaration.
9041         * infrun.c (resume, clear_proceed_status_thread,
9042         print_target_wait_results, do_target_wait, save_waitstatus,
9043         stop_all_threads): Adjust.
9044         * record-btrace.c (record_btrace_wait): Adjust.
9045         * target-debug.h
9046         (target_debug_print_struct_target_waitstatus_p): Adjust.
9047
9048 2017-09-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
9049
9050         PR gdb/22046
9051         * nat/linux-procfs.c (parse_proc_status_state): Fix PROC_STATE_STOPPED
9052         detection.
9053
9054 2017-08-31  Sergio Durigan Junior  <sergiodj@redhat.com>
9055
9056         * NEWS (Changes since GDB 8.0): Add entry mentioning new support
9057         for setting/unsetting environment variables on the remote target.
9058         (New remote packets): Add entries for QEnvironmentHexEncoded,
9059         QEnvironmentUnset and QEnvironmentReset.
9060         * common/environ.c (gdb_environ::operator=): Extend method to
9061         handle m_user_set_env_list and m_user_unset_env_list.
9062         (gdb_environ::clear): Likewise.
9063         (match_var_in_string): Change type of first parameter from 'char
9064         *' to 'const char *'.
9065         (gdb_environ::set): Extend method to handle
9066         m_user_set_env_list and m_user_unset_env_list.
9067         (gdb_environ::unset): Likewise.
9068         (gdb_environ::clear_user_set_env): New method.
9069         (gdb_environ::user_set_envp): Likewise.
9070         (gdb_environ::user_unset_envp): Likewise.
9071         * common/environ.h (gdb_environ): Handle m_user_set_env_list and
9072         m_user_unset_env_list on move constructor/assignment.
9073         (unset): Add new default parameter 'update_unset_list = true'.
9074         (clear_user_set_env): New method.
9075         (user_set_envp): Likewise.
9076         (user_unset_envp): Likewise.
9077         (m_user_set_env_list): New std::set.
9078         (m_user_unset_env_list): Likewise.
9079         * common/rsp-low.c (hex2str): New function.
9080         (bin2hex): New overload for bin2hex function.
9081         * common/rsp-low.c (hex2str): New prototype.
9082         (str2hex): New overload prototype.
9083         * remote.c: Include "environ.h". Add QEnvironmentHexEncoded,
9084         QEnvironmentUnset and QEnvironmentReset.
9085         (remote_protocol_features): Add QEnvironmentHexEncoded,
9086         QEnvironmentUnset and QEnvironmentReset packets.
9087         (send_environment_packet): New function.
9088         (extended_remote_environment_support): Likewise.
9089         (extended_remote_create_inferior): Call
9090         extended_remote_environment_support.
9091         (_initialize_remote): Add QEnvironmentHexEncoded,
9092         QEnvironmentUnset and QEnvironmentReset packet configs.
9093         * unittests/environ-selftests.c (gdb_selftest_env_var):
9094         New variable.
9095         (test_vector_initialization): New function.
9096         (test_init_from_host_environ): Likewise.
9097         (test_reinit_from_host_environ): Likewise.
9098         (test_set_A_unset_B_unset_A_cannot_find_A_can_find_B):
9099         Likewise.
9100         (test_unset_set_empty_vector): Likewise.
9101         (test_vector_clear): Likewise.
9102         (test_std_move): Likewise.
9103         (test_move_constructor):
9104         (test_self_move): Likewise.
9105         (test_set_unset_reset): Likewise.
9106         (run_tests): Rewrite in terms of the functions above.
9107
9108 2017-08-31  Weimin Pan  <weimin.pan@oracle.com>
9109
9110         * sparc64-tdep.c (adi_stat_t): Fix comment formatting.
9111         (adi_available): Use a temp variable of type CORE_ADDR as argument
9112         3 when calling target_auxv_search.
9113         (adi_normalize_address): Use masks and xor operators to calculate
9114         normalized address.
9115         (adi_read_versions, adi_write_versions, adi_print_versions)
9116         (do_examine, do_assign): Use paddress.
9117
9118 2017-08-29  John Baldwin  <jhb@FreeBSD.org>
9119
9120         * mips-fbsd-nat.c (getfpregs_supplies): Return true for FIR.
9121         * mips-fbsd-tdep.c (mips_fbsd_supply_fpregs): Split supply of FSR
9122         out of loop and add supply of FIR.
9123         (mips_fbsd_collect_fpregs): Split collect of FSR out of loop and
9124         add collect of FIR.
9125
9126 2017-08-28  Simon Marchi  <simon.marchi@ericsson.com>
9127
9128         PR gdb/21827
9129         * cli/cli-script.c (define_command): Don't convert command name
9130         to lower case.
9131
9132 2017-08-25  Joel Brobecker  <brobecker@adacore.com>
9133
9134         * ada-lang.c (ada_lookup_struct_elt_type): Remove parameter "dispp".
9135         Update all callers accordingly. Remove all code blocks handling
9136         the case where DISPP is not NULL.
9137
9138 2017-08-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
9139
9140         PR symtab/22003
9141         * dwarf2read.c (dwarf2_const_value_attr, dump_die_shallow)
9142         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
9143         (skip_form_bytes, attr_form_is_constant): Handle DW_FORM_implicit_const.
9144
9145 2017-08-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
9146
9147         * dwarf2read.c (build_type_psymtabs_reader): New prototype.
9148         (process_psymtab_comp_unit): Accept IS_DEBUG_TYPES.
9149         (read_comp_units_from_section): New parameter abbrev_section, use
9150         read_and_check_comp_unit_head, allocate signatured_type if needed.
9151         (create_all_comp_units): Update read_comp_units_from_section caller.
9152
9153 2017-08-23  Pedro Alves  <palves@redhat.com>
9154
9155         PR remote/21852
9156         * remote.c (add_current_inferior_and_thread): Set inferior_ptid
9157         to null_ptid and switch to thread without reading the registers
9158         after adding the inferior.
9159
9160 2017-08-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
9161
9162         * NEWS (Changes since GDB 8.0): Add set compile-gcc and show
9163         compile-gcc.
9164         * compile/compile.c (compile_gcc, show_compile_gcc): New.
9165         (compile_to_object): Implement compile_gcc.
9166         (_initialize_compile): Install "set compile-gcc".  Initialize
9167         compile_gcc.
9168
9169 2017-08-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
9170
9171         * compile/compile.c (compile_to_object): Conditionally call
9172         set_verbose.  Conditionally call compile or compile_v0.
9173
9174 2017-08-07  Weimin Pan  <weimin.pan@oracle.com>
9175
9176         * sparc64-tdep.h: (adi_normalize_address): New export.
9177         * sparc-nat.h: (open_adi_tag_fd): New export.
9178         * sparc64-linux-nat.c: (open_adi_tag_fd): New function.
9179         * sparc64-linux-tdep.c:
9180         (SEGV_ACCADI, SEGV_ADIDERR, SEGV_ADIPERR) New defines.
9181         (sparc64_linux_handle_segmentation_fault): New function.
9182         (sparc64_linux_init_abi): Register
9183         sparc64_linux_handle_segmentation_fault
9184         * sparc64-tdep.c: Include cli-utils.h,gdbcmd.h,auxv.h.
9185         (sparc64_addr_bits_remove): New function.
9186         (sparc64_init_abi): Register sparc64_addr_bits_remove.
9187         (MAX_PROC_NAME_SIZE): New macro.
9188         (AT_ADI_BLKSZ, AT_ADI_NBITS, AT_ADI_UEONADI) New defines.
9189         (sparc64adilist): New variable.
9190         (adi_proc_list): New variable.
9191         (find_adi_info): New function.
9192         (add_adi_info): New function.
9193         (get_adi_info_proc): New function.
9194         (get_adi_info): New function.
9195         (info_adi_command): New function.
9196         (read_maps_entry): New function.
9197         (adi_available): New function.
9198         (adi_normalize_address): New function.
9199         (adi_align_address): New function.
9200         (adi_convert_byte_count): New function.
9201         (adi_tag_fd): New function.
9202         (adi_is_addr_mapped): New function.
9203         (adi_read_versions): New function.
9204         (adi_write_versions): New function.
9205         (adi_print_versions): New function.
9206         (do_examine): New function.
9207         (do_assign): New function.
9208         (adi_examine_command): New function.
9209         (adi_assign_command): New function.
9210         (_initialize_sparc64_adi_tdep): New function.
9211
9212 2017-08-22  Simon Marchi  <simon.marchi@ericsson.com>
9213
9214         * breakpoint.c (breakpoints_info): Rename to ...
9215         (info_breakpoints_command): ... this.
9216         (watchpoints_info): Rename to ...
9217         (info_watchpoints_command): ... this.
9218         (tracepoints_info): Rename to ...
9219         (info_tracepoints_command): ... this.
9220         (_initialize_breakpoint): Adjust.
9221         * dcache.c (dcache_info): Rename to ...
9222         (info_display_command): ... this.
9223         (_initialize_dcache): Adjust.
9224         * frame.h (args_info): Rename to ...
9225         (info_args_command): ... this.
9226         (locals_info): Rename to ...
9227         (info_locals_command): ... this.
9228         * infcmd.c (nofp_registers_info): Rename to ...
9229         (info_registers_command): ... this.
9230         (float_info): Rename to ...
9231         (info_float_command): ... this.
9232         (program_info): Rename to ...
9233         (info_program_command): ... this.
9234         (all_registers_info): Rename to ...
9235         (info_all_registers_command): ... this.
9236         (vector_info): Rename to ...
9237         (info_vector_command): ... this.
9238         (float_info): Rename to ...
9239         (info_float_command): ... this.
9240         (_initialize_infcmd): Adjust.
9241         * inferior.h (term_info): Rename to ...
9242         (info_terminal_command): ... this.
9243         * inflow.c (term_info): Rename to ...
9244         (info_terminal_command): ... this.
9245         (_initialize_inflow): Adjust.
9246         * infrun.c (signals_info): Rename to ...
9247         (info_signals_command): ... this.
9248         (_initialize_infrun): Adjust.
9249         * objc-lang.c (classes_info): Rename to ...
9250         (info_classes_command): ... this.
9251         (selectors_info): Rename to ...
9252         (info_selectors_command): ... this.
9253         (_initialize_objc_language): Adjust.
9254         * printcmd.c (sym_info): Rename to ...
9255         (info_symbol_command): ... this.
9256         (address_info): Rename to ...
9257         (info_address_command): ... this.
9258         (display_info): Rename to ...
9259         (info_display_command): ... this.
9260         (_initialize_printcmd): Adjust.
9261         * reverse.c (bookmarks_info): Rename to ...
9262         (info_breakpoints_command): ... this.
9263         (_initialize_reverse): Adjust.
9264         * ser-go32.c (dos_info): Rename to ...
9265         (info_serial_command): ... this.
9266         (_initialize_ser_dos): Adjust.
9267         * skip.c (skip_info): Rename to ...
9268         (info_skip_command): ... this.
9269         (_initialize_step_skip): Adjust.
9270         * source.c (line_info): Rename to ...
9271         (info_line_command): ... this.
9272         (source_info): Rename to ...
9273         (info_source_command)
9274         * stack.c (frame_info): Rename to ...
9275         (info_frame_command): ... this.
9276         (locals_info): Rename to ...
9277         (info_locals_command): ... this.
9278         (args_info): Rename to ...
9279         (info_args_command): ... this.
9280         (_initialize_stack): Adjust.
9281         * symtab.c (sources_info): Rename to ...
9282         (info_sources_command): ... this.
9283         (variables_info): Rename to ...
9284         (info_variables_command): ... this.
9285         (functions_info): Rename to ...
9286         (info_functions_command): ... this.
9287         (types_info): Rename to ...
9288         (info_types_command): ... this.
9289         (_initialize_symtab): Adjust.
9290         * target.c (target_info): Rename to ...
9291         (info_target_command): ... this.
9292         (initialize_targets): Adjust.
9293         * tracepoint.c (tvariables_info): Rename to ...
9294         (info_tvariables_command): ... this.
9295         (scope_info): Rename to ...
9296         (info_scope_command): ... this.
9297         (trace_dump_actions): Adjust.
9298         (_initialize_tracepoint): Adjust.
9299
9300 2017-08-22  Tom Tromey  <tom@tromey.com>
9301
9302         * breakpoint.h (install_breakpoint): Update.
9303         * breakpoint.c (add_solib_catchpoint): Update.
9304         (install_breakpoint): Change argument to a std::unique_ptr.
9305         (create_fork_vfork_event_catchpoint): Use std::unique_ptr.
9306         (create_breakpoint_sal, create_breakpoint): Update.
9307         (watch_command_1, catch_exec_command_1)
9308         (strace_marker_create_breakpoints_sal): Use std::unique_ptr.
9309         (add_to_breakpoint_chain): Change argument to a std::unique_ptr.
9310         Return the breakpoint.
9311         (set_raw_breakpoint_without_location, set_raw_breakpoint)
9312         (new_single_step_breakpoint): Update.
9313         * break-catch-throw.c (handle_gnu_v3_exceptions): Use
9314         std::unique_ptr.
9315         * break-catch-syscall.c (create_syscall_event_catchpoint): Use
9316         std::unique_ptr.
9317         * break-catch-sig.c (create_signal_catchpoint): Use
9318         std::unique_ptr.
9319         * ada-lang.c (create_ada_exception_catchpoint): Use
9320         std::unique_ptr.
9321
9322 2017-08-22  Tom Tromey  <tom@tromey.com>
9323
9324         * breakpoint.c (add_solib_catchpoint): Use std::unique_ptr.
9325
9326 2017-08-22  Tom Tromey  <tom@tromey.com>
9327
9328         * psymtab.c (psymtab_search_name): Return a unique_xmalloc_ptr.
9329         (lookup_partial_symbol): Update.
9330
9331 2017-08-22  Tom Tromey  <tom@tromey.com>
9332
9333         * source.h (rewrite_source_path): Return a unique_xmalloc_ptr.
9334         * source.c (rewrite_source_path): Return a unique_xmalloc_ptr.
9335         (find_and_open_source, symtab_to_fullname): Update.
9336         * psymtab.c (psymtab_to_fullname): Update.
9337
9338 2017-08-22  Tom Tromey  <tom@tromey.com>
9339
9340         * exec.c (exec_file_attach): Update.
9341         * linux-thread-db.c (try_thread_db_load): Update.
9342         * guile/scm-safe-call.c (gdbscm_safe_source_script): Update.
9343         * utils.c (gdb_realpath): Change return type.
9344         (gdb_realpath_keepfile): Update.
9345         (gdb_realpath_check_trailer, gdb_realpath_tests): New functions.
9346         (_initialize_utils): Register the new self test.
9347         * source.c (openp): Update.
9348         (find_and_open_source): Update.
9349         * nto-tdep.c (nto_find_and_open_solib): Update.
9350         * main.c (set_gdb_data_directory): Update.
9351         (captured_main_1): Update.
9352         * dwarf2read.c (dwarf2_get_dwz_file): Update
9353         (dw2_map_symbol_filenames): Update.
9354         * auto-load.c (auto_load_safe_path_vec_update): Update.
9355         (filename_is_in_auto_load_safe_path_vec): Change type of
9356         "filename_realp".
9357         (auto_load_objfile_script): Update.
9358         (file_is_auto_load_safe): Update.  Use std::string.
9359         * utils.h (gdb_realpath): Return a gdb::unique_xmalloc_ptr.
9360
9361 2017-08-22  Tom Tromey  <tom@tromey.com>
9362
9363         * utils.c (gdb_realpath_keepfile): Return a
9364         gdb::unique_xmalloc_ptr.
9365         * exec.c (exec_file_attach): Update.
9366         * utils.h (gdb_realpath_keepfile): Return a
9367         gdb::unique_xmalloc_ptr.
9368
9369 2017-08-22  Tom Tromey  <tom@tromey.com>
9370
9371         * compile/compile.c (compile_file_command): Use
9372         gdb::unique_xmalloc_ptr, std::string.
9373         * utils.c (gdb_abspath): Change return type.
9374         * source.c (openp): Update.
9375         * objfiles.c (allocate_objfile): Update.
9376         * main.c (set_gdb_data_directory): Update.
9377         * utils.h (gdb_abspath): Return a gdb::unique_xmalloc_ptr.
9378
9379 2017-08-22  Zhouyi Zhou  <zhouzhouyi@gmail.com>
9380
9381         * cli-cmds.c (list_commands): List actual code around more than
9382         one location.
9383
9384 2017-08-21  John Baldwin  <jhb@FreeBSD.org>
9385
9386         * fbsd-nat.c (fbsd_add_threads): Use array type for `lwps'.
9387
9388 2017-08-21  Pedro Alves  <palves@redhat.com>
9389
9390         PR gdb/19487
9391         * c-exp.y (variable production): Handle function aliases.
9392         * minsyms.c (msymbol_is_text): New function.
9393         * minsyms.h (msymbol_is_text): Declare.
9394         * symtab.c (find_function_alias_target): New function.
9395         * symtab.h (find_function_alias_target): Declare.
9396
9397 2017-08-21  Pedro Alves  <palves@redhat.com>
9398
9399         * eval.c (evaluate_subexp_standard) <OP_TYPE>: Don't dig past
9400         typedefs.
9401         * typeprint.c (whatis_exp): If handling "whatis", and expression
9402         is OP_TYPE, strip one typedef level.  Otherwise don't strip
9403         typedefs here.
9404         * valops.c (value_cast): Save "to" type before resolving
9405         stubs/typedefs.  Use that type as resulting value's type.
9406
9407 2017-08-18  Tom Tromey  <tom@tromey.com>
9408             Pedro Alves  <palves@redhat.com>
9409
9410         * spu-multiarch.c (parse_spufs_run): Use scoped_restore.
9411         * sol-thread.c (sol_thread_resume, sol_thread_wait)
9412         (sol_thread_xfer_partial, rw_common): Use scoped_restore.
9413         * procfs.c (procfs_do_thread_registers): Use scoped_restore.
9414         * proc-service.c (ps_xfer_memory): Use scoped_restore.
9415         * linux-tdep.c (linux_corefile_thread): Remove a cleanup.
9416         (linux_get_siginfo_data): Add "thread" argument.  Use
9417         scoped_restore.
9418         * linux-nat.c (linux_child_follow_fork)
9419         (check_stopped_by_watchpoint): Use scoped_restore.
9420         * infrun.c (displaced_step_prepare_throw, write_memory_ptid)
9421         (THREAD_STOPPED_BY, handle_signal_stop): Use scoped_restore.
9422         (restore_inferior_ptid, save_inferior_ptid): Remove.
9423         * btrace.c (btrace_fetch): Use scoped_restore.
9424         * bsd-uthread.c (bsd_uthread_fetch_registers)
9425         (bsd_uthread_store_registers): Use scoped_restore.
9426         * breakpoint.c (reattach_breakpoints, detach_breakpoints): Use
9427         scoped_restore.
9428         * aix-thread.c (aix_thread_resume, aix_thread_wait)
9429         (aix_thread_xfer_partial): Use scoped_restore.
9430         * inferior.h (save_inferior_ptid): Remove.
9431
9432 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9433
9434         PR tdep/21818
9435         * arm-tdep.c (gdb_print_insn_arm): Mark
9436         USER_SPECIFIED_MACHINE_TYPE if exec_bfd isn't NULL.
9437
9438 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9439
9440         * NEWS: Mention GDBserver's new option "--selftest".
9441         * Makefile.in (SFILES): Remove selftest.c, add common/selftest.c.
9442         * selftest.c: Move it to common/selftest.c.
9443         * selftest.h: Move it to common/selftest.h.
9444         * selftest-arch.c (reset): New function.
9445         (tests_with_arch): Call reset.
9446
9447 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9448
9449         * selftest.c (run_tests): Don't call QUIT.  Call debug_printf
9450         instead of exception_fprintf and printf_filtered.
9451
9452 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9453
9454         * selftest.c (register_self_test): Rename it to
9455         selftests::register_test.
9456         (run_self_tests): selftest::run_tests.
9457         * selftest.h: Update declarations.
9458         * selftest-arch.c (register_self_test_foreach_arch): Rename it to
9459         selftests::register_test_foreach_arch.
9460         * selftest-arch.h: Update declaration.
9461         * aarch64-tdep.c: Update.
9462         * arm-tdep.c: Likewise.
9463         * disasm-selftests.c: Likewise.
9464         * dwarf2loc.c: Likewise.
9465         * dwarf2-frame.c: Likewise.
9466         * findvar.c: Likewise.
9467         * gdbarch-selftests.c: Likewise.
9468         * maint.c (maintenance_selftest): Likewise.
9469         * regcache.c: Likewise.
9470         * rust-exp.y: Likewise.
9471         * selftest-arch.c: Likewise.
9472         * unittests/environ-selftests.c: Likewise.
9473         * unittests/function-view-selftests.c: Likewise.
9474         * unittests/offset-type-selftests.c: Likewise.
9475         * unittests/optional-selftests.c: Likewise.
9476         * unittests/scoped_restore-selftests.c: Likewise.
9477         * utils-selftests.c: Likewise.
9478
9479 2017-08-17  Pedro Alves  <palves@redhat.com>
9480
9481         * cli/cli-cmds.c (source_command): Delete 'old_source_verbose'
9482         local.
9483
9484 2017-08-17  Pedro Alves  <palves@redhat.com>
9485
9486         * dwarf2read.c (struct dwarf2_cu) <line_header_die_owner>: New
9487         field.
9488         (reset_die_in_process): Delete, replaced by ...
9489         (process_die_scope): ... this new class.  Make it responsible for
9490         freeing cu->line_header too.
9491         (process_die): Use process_die_scope.
9492         (handle_DW_AT_stmt_list): Record the line header's owner CU/DIE in
9493         cu->line_header_die_owner.  Don't release the line header if it's
9494         owned by the CU.
9495         (setup_type_unit_groups): Make the CU/DIE own the line header.
9496         Don't release the line header here.
9497
9498 2017-08-17  Alex Lindsay  <alexlindsay239@gmail.com>  (tiny change)
9499
9500         * elfread.c (elf_read_minimal_symbols): xfree synthsyms.
9501
9502 2017-08-17  Ruslan Kabatsayev  <b7.10110111@gmail.com>
9503
9504         * NEWS: Mention new shortcuts for nexti and stepi in TUI
9505         Single-Key mode
9506
9507 2017-08-16  Ruslan Kabatsayev  <b7.10110111@gmail.com>
9508
9509         * tui/tui.c (tui_commands): Add "nexti" and "stepi" to the Single-Key
9510         mode command list.
9511
9512 2017-08-15  Stafford Horne  <shorne@gmail.com>
9513
9514         * MAINTAINERS (Write After Approval): Add Stafford Horne.
9515
9516 2017-08-15  Stafford Horne  <shorne@gmail.com>
9517
9518         * xtensa-tdep.c (xtensa_init_reggroups): Use xstrdup for cpname.
9519
9520 2017-08-15  Sergio Durigan Junior  <sergiodj@redhat.com>
9521
9522         PR gdb/21954
9523         * infcmd.c (unset_environment_command): Use the 'clear' method on
9524         the environment instead of resetting it.
9525
9526 2017-08-15  John Baldwin  <jhb@FreeBSD.org>
9527
9528         * fbsd-nat.c (fbsd_convert_siginfo): Fix compile on big-endian
9529         platforms.
9530
9531 2017-08-14  Tom Tromey  <tom@tromey.com>
9532
9533         * valprint.c (print_octal_chars): Use HOST_CHAR_BIT.
9534         (print_binary_chars): Likewise.
9535         (BITS_IN_BYTES): Remove.
9536
9537 2017-08-14  Tom Tromey  <tom@tromey.com>
9538
9539         PR gdb/21675
9540         * valprint.c (LOW_ZERO): Change value to 034.
9541         (print_octal_chars): Add static_asserts for octal constants.
9542         * printcmd.c (print_scalar_formatted): Add 'd' case.
9543
9544 2017-08-11  Tom Tromey  <tom@tromey.com>
9545
9546         * symfile.c (add_symbol_file_command): Use std::vector.
9547
9548 2017-08-14  Tom Tromey  <tom@tromey.com>
9549
9550         * break-catch-throw.c (handle_gnu_v3_exceptions): Use std::move.
9551         * break-catch-syscall.c (create_syscall_event_catchpoint): Use
9552         std::move.
9553         * break-catch-sig.c (create_signal_catchpoint): Use std::move.
9554
9555 2017-08-11  Pedro Alves  <palves@redhat.com>
9556
9557         * infrun.c (process_event_stop_test): Adjust
9558         function_name_is_marked_for_skip call.
9559         * skip.c: Include <list>.
9560         (skiplist_entry): Make it a class with private fields, and
9561         getters/setters.
9562         (skiplist_entry_chain): Delete.
9563         (skiplist_entries): New.
9564         (skiplist_entry_count): Delete.
9565         (highest_skiplist_entry_num): New.
9566         (ALL_SKIPLIST_ENTRIES, ALL_SKIPLIST_ENTRIES_SAFE): Delete.
9567         (add_skiplist_entry): Delete.
9568         (skiplist_entry::skiplist_entry): New.
9569         (skiplist_entry::add_entry): New.
9570         (skip_file_command, skip_function): Adjust.
9571         (compile_skip_regexp): Delete.
9572         (skip_command): Don't compile regexp here.  Adjust to use
9573         skiplist_entry::add_entry.
9574         (skip_info): Adjust to use range-for and getters.
9575         (skip_enable_command, skip_disable_command): Adjust to use
9576         range-for and setters.
9577         (skip_delete_command): Adjust to use std::list.
9578         (add_skiplist_entry): Delete.
9579         (skip_file_p): Delete, refactored as ...
9580         (skiplist_entry::do_skip_file_p): ... this new method.
9581         (skip_gfile_p): Delete, refactored as ...
9582         (skiplist_entry::do_gskip_file_p): ... this new method.
9583         (skip_function_p, skip_rfunction_p): Delete, refactored as ...
9584         (skiplist_entry::skip_function_p): ... this new method.
9585         (function_name_is_marked_for_skip): Now returns bool, and takes
9586         the function sal by const reference.  Adjust to use range-for and
9587         skiplist_entry methods.
9588         (_initialize_step_skip): Remove references to
9589         skiplist_entry_chain, skiplist_entry_count.
9590         * skip.h (function_name_is_marked_for_skip): Now returns bool, and
9591         takes the function sal by const reference.
9592
9593 2017-08-11  Yao Qi  <yao.qi@linaro.org>
9594
9595         * dwarf2-frame.c (clear_pointer_cleanup): Remove.
9596         (dwarf2_frame_cache): Remove reset_cache_cleanup.
9597         (dwarf2_frame_cache):
9598         * frame-unwind.c (frame_unwind_try_unwinder): Catch
9599         RETURN_MASK_ALL and set *this_case to NULL.
9600         * frame-unwind.h: Update comments.
9601
9602 2017-08-11  Yao Qi  <yao.qi@linaro.org>
9603
9604         * dwarf2-frame.c (dwarf2_frame_state_alloc_regs): Remove.
9605         (dwarf2_frame_state_copy_regs): Remove.
9606         (dwarf2_frame_state_free_regs): Remove.
9607         (dwarf2_frame_state::~dwarf2_frame_state): Remove.
9608         (dwarf2_restore_rule): Call method .alloc_regs instead of
9609         dwarf2_frame_state_alloc_regs.
9610         (execute_cfa_program): Likewise.  Call dwarf2_frame_state_reg_info
9611         constructor.  Call std::move.
9612         (dwarf2_fetch_cfa_info): Don't call dwarf2_frame_state_copy_regs.
9613         (dwarf2_frame_cache): Likewise.
9614
9615         [GDB_SELF_TEST]: Include selftest.h and
9616         selftest-arch.h.
9617         [GDB_SELF_TEST] (execute_cfa_program_test): New function.
9618         (_initialize_dwarf2_frame) [GDB_SELF_TEST]: Register
9619         execute_cfa_program_test.
9620
9621         * dwarf2-frame.h (dwarf2_frame_state_reg_info): Add ctor, dtor,
9622         copy ctor, assignment operator, move assignment.
9623         <alloc_regs>: New method.
9624         <swap>: New method.
9625         (struct dwarf2_frame_state): Delete dtor.
9626         (dwarf2_frame_state_alloc_regs): Remove declaration.
9627         * sparc-tdep.c (sparc_execute_dwarf_cfa_vendor_op): Don't call
9628         dwarf2_frame_state_alloc_regs, use .alloc_regs instead.
9629
9630 2017-08-11  Yao Qi  <yao.qi@linaro.org>
9631
9632         * dwarf2-frame.c (dwarf2_frame_state_free): Remove.
9633         (dwarf2_frame_state::dwarf2_frame_state): New.
9634         (dwarf2_frame_state::~dwarf2_frame_state): New.
9635         (dwarf2_fetch_cfa_info): Update.
9636         (dwarf2_frame_cache): Remove old_chain.  Change 'fs' to an object
9637         rather than a pointer.  Update code.
9638         * dwarf2-frame.h (struct dwarf2_frame_state): Declare ctor and
9639         dtor.
9640         <data_align, code_align, retaddr_column>: Change them to const.
9641         <armcc_cfa_offsets_sf, armcc_cfa_offsets_reversed>: Change them
9642         to bool.
9643
9644 2017-08-11  Yao Qi  <yao.qi@linaro.org>
9645
9646         * dwarf2-frame.h (struct dwarf2_frame_state_reg) <exp_len>: Remove.
9647         <loc.exp>: New field.
9648         * dwarf2-frame.c (execute_cfa_program): Update.
9649         (dwarf2_frame_prev_register): Update.
9650
9651 2017-08-10  Pedro Alves  <palves@redhat.com>
9652
9653         * common/gdb_unique_ptr.h (xfree_deleter<T[]>): Define.
9654
9655 2017-08-09  John Baldwin  <jhb@FreeBSD.org>
9656
9657         * fbsd-nat.c (struct fbsd_fork_info): Remove.
9658         (fbsd_pending_children): Use std::list.
9659         (fbsd_remember_child): Likewise.
9660         (fbsd_is_child_pending): Likewise.
9661         (fbsd_pending_vfork_done): Use std::forward_list.
9662         (fbsd_add_vfork_done): Likewise.
9663         (fbsd_is_vfork_done_pending): Likewise.
9664         (fbsd_next_vfork_done): Likewise.
9665
9666 2017-08-09  John Baldwin  <jhb@FreeBSD.org>
9667
9668         * fbsd-nat.c [HAVE_KINFO_GETVMMAP] (struct free_deleter): New.
9669         (fbsd_find_memory_regions): Use free_deleter with std::unique_ptr.
9670         [!HAVE_KINFO_GETVMMAP] (fbsd_find_memory_regions): Use std::string
9671         for `mapfilename'.
9672         (fbsd_xfer_partial): Use gdb::byte_vector.
9673         (fbsd_add_threads): Use gdb::unique_xmalloc_ptr.
9674
9675 2017-08-09  John Baldwin  <jhb@FreeBSD.org>
9676
9677         * fbsd-nat.c: [!HAVE_KINFO_GETVMMAP]: Include <sys/user.h> and
9678         "filestuff.h".
9679         (fbsd_find_memory_regions): Fix `mapfile' initialization.
9680
9681 2017-08-09  Tom Tromey  <tom@tromey.com>
9682
9683         * skip.c (skiplist_entry): New constructor.
9684         (skiplist_entry::enabled, skiplist_entry::function_is_regexp)
9685         (skiplist_entry::file_is_glob): Now bool.
9686         (skiplist_entry::file, skiplist_entry::function): Now
9687         std::string.
9688         (make_skip_entry): Return a unique_ptr.  Use new.
9689         (free_skiplist_entry, free_skiplist_entry_cleanup)
9690         (make_free_skiplist_entry_cleanup): Remove.
9691         (skip_command, skip_disable_command, add_skiplist_entry)
9692         (skip_form_bytes, compile_skip_regexp, skip_command, skip_info)
9693         (skip_file_p, skip_gfile_p, skip_function_p, skip_rfunction_p)
9694         (function_name_is_marked_for_skip): Update.
9695         (skip_delete_command): Update.  Use delete.
9696
9697 2017-08-09  Jiong Wang  <jiong.wang@arm.com>
9698
9699         * aarch64-linux-tdep.c: Include "auxv.h" and "elf/common.h".
9700         (aarch64_linux_core_read_description): New function.
9701         (aarch64_linux_init_abi): Register gdbarch_core_read_description.
9702
9703 2017-08-09  Pedro Alves  <palves@redhat.com>
9704
9705         * cp-name-parser.y (cp_comp_to_string): Return a
9706         gdb::unique_xmalloc_ptr<char>.
9707         * cp-support.c (replace_typedefs_qualified_name)
9708         (replace_typedefs): Adjust to use gdb::unique_xmalloc_ptr<char>.
9709         (cp_canonicalize_string_full): Use op= instead of explicit
9710         convertion.
9711         (cp_class_name_from_physname, method_name_from_physname)
9712         (cp_func_name, cp_remove_params): Adjust to use
9713         gdb::unique_xmalloc_ptr<char>.
9714         * cp-support.h (cp_comp_to_string): Return a
9715         gdb::unique_xmalloc_ptr<char>.
9716         * python/py-type.c (typy_lookup_type): Adjust to use
9717         gdb::unique_xmalloc_ptr<char>.
9718
9719 2017-08-09  H.J. Lu  <hongjiu.lu@intel.com>
9720
9721         * dwarf2read.c (dwarf2_string_attr): Fix a typo.
9722
9723 2017-08-09  Alex Lindsay  <alexlindsay239@gmail.com>
9724             Yao Qi  <yao.qi@linaro.org>
9725
9726         * cp-support.c (cp_canonicalize_string_full): Use
9727         gdb::unique_xmalloc_ptr<char>.
9728         (cp_canonicalize_string): Likewise.
9729
9730 2017-08-09  Yao Qi  <yao.qi@linaro.org>
9731
9732         * features/Makefile (WHICH): Remove i386/ non-linux stuff.
9733         * regformats/i386/amd64-avx-avx512.dat: Remove.
9734         * regformats/i386/amd64-avx-mpx-avx512-pku.dat: Remove.
9735         * regformats/i386/amd64-avx-mpx.dat:Remove.
9736         * regformats/i386/amd64-avx.dat: Remove.
9737         * regformats/i386/amd64-mpx.dat: Remove.
9738         * regformats/i386/i386-avx-avx512.dat: Remove.
9739         * regformats/i386/i386-avx-mpx-avx512-pku.dat: Remove.
9740         * regformats/i386/i386-avx-mpx.dat: Remove.
9741         * regformats/i386/i386-mmx.dat: Remove.
9742         * regformats/i386/i386-mpx.dat: Remove.
9743
9744 2017-08-09  Yao Qi  <yao.qi@linaro.org>
9745
9746         * amd64-tdep.h (tdesc_x32): Remove the declaration.
9747         * amd64-tdep.c: Don't include features/i386/x32*.c.
9748         (_initialize_amd64_tdep): Don't call initialize_tdesc_x32*
9749         functions.
9750         * features/Makefile (WHICH): Remove i386/x32, i386/x32-avx,
9751         and i386/x32-avx-avx512.
9752         (XMLTOC): Remove i386/x32-avx.xml, i386/x32-avx-avx512.xml,
9753         and i386/x32.xml.
9754         * features/i386/x32-avx-avx512.c: Removed.
9755         * features/i386/x32-avx-avx512.xml: Removed.
9756         * features/i386/x32-avx.c: Removed.
9757         * features/i386/x32-avx.xml: Removed.
9758         * features/i386/x32.c: Removed.
9759         * features/i386/x32.xml: Removed.
9760         * regformats/i386/x32-avx-avx512.dat: Removed.
9761         * regformats/i386/x32-avx.dat: Removed.
9762         * regformats/i386/x32.dat: Removed.
9763
9764 2017-08-07  Maciej W. Rozycki  <macro@imgtec.com>
9765
9766         PR breakpoints/21886
9767         * mem-break.c (default_memory_insert_breakpoint): Use
9768         `->placed_address' rather than `->reqstd_address' for the
9769         breakpoint location.
9770
9771 2017-08-07  Maciej W. Rozycki  <macro@imgtec.com>
9772
9773         * arch-utils.c (default_print_insn): Remove arch/mach/endian
9774         assertions.
9775
9776 2017-08-07  Maciej W. Rozycki  <macro@imgtec.com>
9777
9778         * gdbarch.sh (gdbarch_info): Replace the `tdep_info' member with
9779         a union of `tdep_info', `tdesc_data' and `id'.
9780         * aarch64-tdep.c (aarch64_gdbarch_init): Use `info.tdesc_data'
9781         rather than `info.tdep_info'.
9782         * amd64-linux-tdep.c (amd64_linux_init_abi): Likewise.
9783         * i386-linux-tdep.c (i386_linux_init_abi): Likewise.
9784         * i386-tdep.c (i386_gdbarch_init): Likewise.
9785         * mips-linux-tdep.c (mips_linux_init_abi): Likewise.
9786         * mips-tdep.c (mips_gdbarch_init): Likewise.
9787         * nds32-tdep.c (nds32_gdbarch_init): Likewise.
9788         * rs6000-tdep.c (rs6000_gdbarch_init): Likewise.
9789         * ppc-linux-tdep.c (ppu2spu_sniffer): Use `info.id' rather than
9790         `info.tdep_info'.
9791         (ppc_linux_init_abi): Use `info.tdesc_data' rather than
9792         `info.tdep_info'.
9793         * sparc-tdep.c (sparc32_gdbarch_init): Likewise.
9794         * spu-multiarch.c (spu_gdbarch): Use `info.id' rather than
9795         `info.tdep_info'.
9796         * spu-tdep.c (spu_gdbarch_init): Likewise.
9797         * gdbarch.h: Regenerate.
9798
9799 2017-08-07  Leszek Swirski  <leszeks@google.com>
9800
9801         PR symtab/20899
9802         * dwarf2read.c (dwarf2_string_attr): Allow DW_FORM_GNU_strp_alt.
9803
9804 2017-08-07  Simon Marchi  <simon.marchi@ericsson.com>
9805
9806         * remote-sim.c (gdbsim_load): Remove char **argv local variable.
9807         (gdbsim_open): Rename gdb_argv args object to argv.
9808
9809 2017-08-05  Tom Tromey  <tom@tromey.com>
9810
9811         * compile/compile-object-load.c (compile_object_load): Use
9812         gdb::unique_xmalloc_ptr.
9813         * cli/cli-dump.c (scan_filename): Rename from
9814         scan_filename_with_cleanup.  Change return type.
9815         (scan_expression): Rename from scan_expression_with_cleanup.
9816         Change return type.
9817         (dump_memory_to_file, dump_value_to_file, restore_command):
9818         Use gdb::unique_xmalloc_ptr.  Update.
9819         * cli/cli-cmds.c (find_and_open_script): Use
9820         gdb::unique_xmalloc_ptr.
9821         * tracefile-tfile.c (tfile_open): Use gdb::unique_xmalloc_ptr.
9822         * symmisc.c (maintenance_print_symbols)
9823         (maintenance_print_msymbols): Use gdb::unique_xmalloc_ptr.
9824         * symfile.c (symfile_bfd_open, generic_load)
9825         (add_symbol_file_command, remove_symbol_file_command): Use
9826         gdb::unique_xmalloc_ptr.
9827         * source.c (openp): Use gdb::unique_xmalloc_ptr.
9828         * psymtab.c (maintenance_print_psymbols): Use
9829         gdb::unique_xmalloc_ptr.
9830         * corelow.c (core_open): Use gdb::unique_xmalloc_ptr.
9831         * breakpoint.c (save_breakpoints): Use gdb::unique_xmalloc_ptr.
9832         * solib.c (solib_map_sections): Use gdb::unique_xmalloc_ptr.
9833         (reload_shared_libraries_1): Likewise.
9834
9835 2017-08-05  Tom Tromey  <tom@tromey.com>
9836
9837         * rust-exp.y (rust_op_ptr, set_field): Remove typedefs.
9838         (rust_op_vector, rust_set_vector): New typedefs.
9839         (current_parser): New global.
9840         (work_obstack): Change to pointer type.  Update all users.
9841         (rust_ast, pstate): Remove globals.
9842         (struct rust_parser): New.
9843         (%union) <params, field_inits>: Change type.
9844         (start, tuple_expr, unit_expr, struct_expr_list, literal)
9845         (field_expr, expr_list, maybe_expr_list, type_list): Update.
9846         (ast_call_ish, ast_path, ast_function_type, ast_tuple_type)
9847         (convert_params_to_types, convert_params_to_expression): Change
9848         type of "params".
9849         (ast_string): Change type of "fields".
9850         (rust_parse): Make a rust_parser.  Remove cleanups.
9851         (rust_lex_tests): Make and install an auto_obstack.
9852
9853 2017-08-04  Yao Qi  <yao.qi@linaro.org>
9854
9855         * configure.srv (ipa_x32_linux_regobj): New.
9856         * linux-amd64-ipa.c (get_ipa_tdesc): Use X86_TDESC_AVX_AVX512
9857         instead of X86_TDESC_AVX512.
9858         (initialize_low_tracepoint): Call
9859         init_registers_x32_avx_avx512_linux.
9860
9861 2017-08-04  Yao Qi  <yao.qi@linaro.org>
9862
9863         * utils.h (gdb_argv): Add namespace std for nullptr_t.
9864
9865 2017-08-03  Ruslan Kabatsayev  <b7.10110111@gmail.com>
9866
9867         * MAINTAINERS (Write After Approval): Add Ruslan Kabatsayev.
9868
9869 2017-08-03  Tom Tromey  <tom@tromey.com>
9870
9871         * utils.c (make_cleanup_freeargv, do_freeargv, gdb_buildargv):
9872         Remove.
9873         * utils.h (make_cleanup_freeargv, gdb_buildargv): Remove.
9874
9875 2017-08-03  Tom Tromey  <tom@tromey.com>
9876
9877         * python/py-param.c (compute_enum_values): Use gdb_argv.
9878
9879 2017-08-03  Tom Tromey  <tom@tromey.com>
9880
9881         * utils.h (struct gdb_argv_deleter): New.
9882         (gdb_argv): New class.
9883         * utils.c (gdb_argv::reset): New method.
9884         * tracepoint.c (delete_trace_variable_command): Use gdb_argv.
9885         * tracefile.c (tsave_command): Use gdb_argv.
9886         * top.c (new_ui_command): Use gdb_argv.
9887         * symmisc.c (maintenance_print_symbols)
9888         (maintenance_print_msymbols, maintenance_expand_symtabs): Use gdb_argv.
9889         * symfile.c (symbol_file_command, generic_load)
9890         (remove_symbol_file_command): Use gdb_argv.
9891         * stack.c (backtrace_command): Use gdb_argv.
9892         * source.c (add_path, show_substitute_path_command)
9893         (unset_substitute_path_command, set_substitute_path_command):
9894         Use gdb_argv.
9895         * skip.c (skip_command): Use gdb_argv.  Use gdb_buildargv.
9896         * ser-mingw.c (pipe_windows_open): Use gdb_argv.
9897         * remote.c (extended_remote_run, remote_put_command)
9898         (remote_get_command, remote_delete_command): Use gdb_argv.
9899         * remote-sim.c (gdbsim_load, gdbsim_create_inferior)
9900         (gdbsim_open): Use gdb_argv.
9901         * python/py-cmd.c (gdbpy_string_to_argv): Use gdb_argv.
9902         * psymtab.c (maintenance_print_psymbols): Use gdb_argv.
9903         * procfs.c (procfs_info_proc): Use gdb_argv.
9904         * interps.c (interpreter_exec_cmd): Use gdb_argv.
9905         * infrun.c (handle_command): Use gdb_argv.
9906         * inferior.c (add_inferior_command, clone_inferior_command):
9907         Use gdb_argv.
9908         * guile/scm-string.c (gdbscm_string_to_argv): Use gdb_argv.
9909         * exec.c (exec_file_command): Use gdb_argv.
9910         * cli/cli-cmds.c (alias_command): Use gdb_argv.
9911         * compile/compile.c (build_argc_argv): Use gdb_argv.
9912
9913 2017-08-03  Tom Tromey  <tom@tromey.com>
9914
9915         * python/python.c (gdbpy_decode_line): Use unique_xmalloc_ptr.
9916
9917 2017-08-03  Tom Tromey  <tom@tromey.com>
9918
9919         * python/python.c (compute_python_string): Return std::string.
9920         (gdbpy_eval_from_control_command): Update.
9921         (do_start_initialization): Use std::string.
9922         * python/py-varobj.c (py_varobj_iter_next): Use string_printf, not
9923         xstrprintf.
9924         * python/py-breakpoint.c (local_setattro): Use string_printf, not
9925         xstrprintf.
9926
9927 2017-08-03  Tom Tromey  <tom@tromey.com>
9928
9929         * top.h (do_restore_instream_cleanup): Remove.
9930         * top.c (do_restore_instream_cleanup): Remove.
9931         (read_command_file): Use scoped_restore.
9932         * cli/cli-script.c (execute_user_command): Use scoped_restore.
9933
9934 2017-08-03  Tom Tromey  <tom@tromey.com>
9935
9936         * cli/cli-script.c (execute_user_command)
9937         (execute_control_command): Use scoped_restore.
9938
9939 2017-08-03  Tom Tromey  <tom@tromey.com>
9940
9941         * cli/cli-script.c (do_restore_user_call_depth): Remove.
9942         (execute_user_command): Remove user_call_depth; use
9943         user_args_stack's size instead.
9944
9945 2017-08-03  Tom Tromey  <tom@tromey.com>
9946
9947         * top.h (in_user_command): Remove.
9948         * top.c (in_user_command): Remove.
9949         * cli/cli-script.c (do_restore_user_call_depth)
9950         (execute_user_command): Update.
9951
9952 2017-08-03  Tom Tromey  <tom@tromey.com>
9953
9954         * valops.c (search_struct_method): Use gdb::byte_vector.
9955         * valarith.c (value_concat): Use std::vector.
9956         * target.c (memory_xfer_partial): Use gdb::byte_vector.
9957         (simple_search_memory): Likewise.
9958         * printcmd.c (find_string_backward): Use gdb::byte_vector.
9959         * mi/mi-main.c (mi_cmd_data_write_memory): Use gdb::byte_vector.
9960         * gcore.c (gcore_copy_callback): Use gdb::byte_vector.
9961         * elfread.c (elf_rel_plt_read): Use std::string.
9962         * cp-valprint.c (cp_print_value): Use gdb::byte_vector.
9963         * cli/cli-dump.c (restore_section_callback): Use
9964         gdb::byte_vector.
9965
9966 2017-08-03  Tom Tromey  <tom@tromey.com>
9967
9968         * jit.c (jit_reader_load_command): Use unique_xmalloc_ptr.
9969
9970 2017-08-03  Tom Tromey  <tom@tromey.com>
9971
9972         * tui/tui-regs.c (tui_restore_gdbout): Remove.
9973         (tui_register_format): Use scoped_restore.
9974
9975 2017-08-03  Tom Tromey  <tom@tromey.com>
9976
9977         * reverse.c (exec_direction_default): Remove.
9978         (exec_reverse_once): Use scoped_restore.
9979         * remote.c (restore_remote_timeout): Remove.
9980         (remote_flash_erase, remote_flash_write, remote_flash_done)
9981         (readchar, remote_serial_write): Use scoped_restore.
9982         * cli/cli-script.c (struct source_cleanup_lines_args)
9983         (source_cleanup_lines): Remove.
9984         (script_from_file): Use scoped_restore.
9985         * cli/cli-cmds.c (source_verbose_cleanup): Remove.
9986         (source_command): Use scoped_restore.
9987
9988 2017-08-03  Tom Tromey  <tom@tromey.com>
9989
9990         * utils.h (make_cleanup_free_so): Remove.
9991         * utils.c (do_free_so, make_cleanup_free_so): Remove.
9992         * solist.h (struct so_deleter): New.
9993         (so_list_up): New typedef.
9994         * solib-svr4.c (svr4_read_so_list): Use so_list_up.
9995
9996 2017-08-03  Tom Tromey  <tom@tromey.com>
9997
9998         * utils.h (make_cleanup_restore_current_language): Remove.
9999         * utils.c (do_restore_current_language)
10000         (make_cleanup_restore_current_language): Remove.
10001         * parse.c (parse_exp_in_context_1)
10002         (parse_expression_with_language): Use
10003         scoped_restore_current_language.
10004         * mi/mi-main.c (mi_cmd_execute): Use
10005         scoped_restore_current_language.
10006         * language.h (scoped_restore_current_language): New class.
10007
10008 2017-08-03  Tom Tromey  <tom@tromey.com>
10009
10010         * compile/compile.c (cleanup_unlink_file): Remove.
10011         (compile_to_object): Use gdb::unlinker.
10012         (eval_compile_command): Likewise.
10013
10014 2017-08-03  Tom Tromey  <tom@tromey.com>
10015
10016         * utils.h (make_cleanup_fclose): Remove.
10017         * utils.c (do_fclose_cleanup, make_cleanup_fclose): Remove.
10018
10019 2017-08-03  Tom Tromey  <tom@tromey.com>
10020
10021         * top.c (open_terminal_stream): Return gdb_file_up.
10022         (new_ui_command): Update.
10023
10024 2017-08-03  Tom Tromey  <tom@tromey.com>
10025
10026         * source.c (print_source_lines_base, forward_search_command)
10027         (reverse_search_command): Use gdb_file_up.
10028
10029 2017-08-03  Tom Tromey  <tom@tromey.com>
10030
10031         * fbsd-nat.c (fbsd_find_memory_regions): Update.
10032
10033 2017-08-03  Tom Tromey  <tom@tromey.com>
10034
10035         * cli/cli-cmds.c (find_and_open_script): Change return type.
10036         Remove "streamp" and "full_path" parameters.
10037         (source_script_with_search): Update.
10038         * auto-load.c (source_script_file): Update.
10039         * cli/cli-cmds.h (find_and_open_script): Change type.
10040         (open_script): New struct.
10041
10042 2017-08-03  Tom Tromey  <tom@tromey.com>
10043
10044         * xml-support.c (xml_fetch_content_from_file): Update.
10045         * ui-file.c (stdio_file::open): Update.
10046         * tracefile-tfile.c (tfile_start): Update.
10047         * remote.c (remote_file_put, remote_file_get): Update.
10048         * nat/linux-procfs.c (linux_proc_get_int)
10049         (linux_proc_pid_get_state, linux_proc_tid_get_name): Update.
10050         * nat/linux-osdata.c (linux_common_core_of_thread): Update.
10051         (command_from_pid, commandline_from_pid, linux_xfer_osdata_cpus)
10052         (print_sockets, linux_xfer_osdata_shm, linux_xfer_osdata_sem)
10053         (linux_xfer_osdata_msg, linux_xfer_osdata_modules): Update.
10054         * nat/linux-btrace.c (linux_determine_kernel_start): Update.
10055         * linux-nat.c (linux_proc_pending_signals): Update.
10056         * dwarf2read.c (write_psymtabs_to_index): Use gdb_file_up.
10057         (file_closer): Remove.
10058         * compile/compile.c (compile_to_object): Update.
10059         * common/filestuff.h (struct gdb_file_deleter): New.
10060         (gdb_file_up): New typedef.
10061         (gdb_fopen_cloexec): Change return type.
10062         * common/filestuff.c (gdb_fopen_cloexec): Return gdb_file_up.
10063         * cli/cli-dump.c (fopen_with_cleanup): Remove.
10064         (dump_binary_file, restore_binary_file): Update.
10065         * auto-load.c (auto_load_objfile_script_1): Update.
10066
10067 2017-08-03  Tom Tromey  <tom@tromey.com>
10068
10069         * tracepoint.c (tvariables_info_1): Use ui_out_emit_table.
10070         (info_static_tracepoint_markers_command): Likewise.
10071         * solib.c (info_sharedlibrary_command): Use ui_out_emit_table.
10072         * skip.c (skip_info): Use ui_out_emit_table.
10073         * progspace.c (print_program_space): Use ui_out_emit_table.
10074         * osdata.c (info_osdata): Use ui_out_emit_table.
10075         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions): Use
10076         ui_out_emit_table.
10077         * linux-thread-db.c (info_auto_load_libthread_db): Use
10078         ui_out_emit_table.
10079         * inferior.c (print_inferior): Use ui_out_emit_table.
10080         * gdb_bfd.c (maintenance_info_bfds): Use ui_out_emit_table.
10081         * breakpoint.c (breakpoint_1): Use ui_out_emit_table.
10082         * auto-load.c (auto_load_info_scripts): Use ui_out_emit_table.
10083         * ada-tasks.c (print_ada_task_info): Use ui_out_emit_table.
10084         * ui-out.h (class ui_out_emit_table): New.
10085
10086 2017-08-02  Maciej W. Rozycki  <macro@imgtec.com>
10087
10088         * mips-tdep.c (mips_fpu_type_str): New function.
10089         (mips_dump_tdep): Call it.
10090
10091 2017-08-01  Maciej W. Rozycki  <macro@imgtec.com>
10092
10093         * mips-tdep.c (mips_gdbarch_init): Use MIPS_FPU_TYPE to access
10094         `->mips_fpu_type'.
10095
10096 2017-07-31  Xavier Roirand  <roirand@adacore.com>
10097
10098         * solib-darwin.c (DYLD_VERSION_MAX): Increase value.
10099
10100 2017-07-27  Xavier Roirand  <roirand@adacore.com>
10101
10102         * MAINTAINERS (Write After Approval): Add Xavier Roirand.
10103
10104 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10105
10106         * cli/cli-cmds.c (maintenancechecklist): New variable.
10107         * gdbcmd.h (maintenancechecklist): Declare it.
10108         * i386-linux-tdep.c (_initialize_i386_linux_tdep) [GDB_SELF_TEST]:
10109         Call i386_linux_read_description with different masks.
10110         * maint.c (maintenance_check_command): New function.
10111         (_initialize_maint_cmds): Call add_prefix_cmd.
10112         * target-descriptions.c (tdesc_reg): override operator != and ==.
10113         (tdesc_type): Likewise.
10114         (tdesc_feature): Likewise.
10115         (target_desc): Likewise.
10116         [GDB_SELF_TEST] (selftests::record_xml_tdesc): New function.
10117         (maintenance_check_xml_descriptions): New function.
10118         (_initialize_target_descriptions) Add command "xml-descriptions".
10119         * target-descriptions.h (selftests::record_xml_tdesc): Declare.
10120
10121 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10122
10123         * i386-linux-tdep.c: Don't include features/i386/i386-*linux.c.
10124         Include features/i386/32bit-*.c.
10125         (i386_linux_read_description): Generate target description if it
10126         doesn't exist.
10127         (_initialize_i386_linux_tdep): Don't call _initialize_tdesc_i386
10128         functions.
10129         * features/i386/32bit-linux.c: Re-generated.
10130         * features/i386/32bit-sse.c: Likewise.
10131         * target-descriptions.c (print_c_feature::visit): Print code to
10132         set register number if needed.
10133         (print_c_feature) <m_next_regnum>: New field.
10134
10135 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10136
10137         * features/Makefile (CFILES): Rename with TDESC_CFILES.
10138         (FEATURE_XMLFILES): New.
10139         (FEATURE_CFILES): New.
10140         New rules.
10141         (clean-cfiles): Remove generated c files.
10142         * features/i386/32bit-avx.c: Generated.
10143         * features/i386/32bit-avx512.c: Generated.
10144         * features/i386/32bit-core.c: Generated.
10145         * features/i386/32bit-linux.c: Generated.
10146         * features/i386/32bit-mpx.c: Generated.
10147         * features/i386/32bit-pkeys.c: Generated.
10148         * features/i386/32bit-sse.c: Generated.
10149         * target-descriptions.c: Include algorithm.
10150         (tdesc_element_visitor): Add method visit_end.
10151         (print_c_tdesc): Implement visit_end.
10152         (print_c_tdesc:: m_filename_after_features): Move it to
10153         protected.
10154         (print_c_feature): New class.
10155         (maint_print_c_tdesc_cmd): Use print_c_feature if XML file
10156         name starts with "i386/32bit-".
10157
10158 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10159
10160         * target-descriptions.c (tdesc_element_visitor): New class.
10161         (tdesc_element): New class.
10162         (tdesc_reg): Inherit from tdesc_element.
10163         (tdesc_reg::accept): New function.
10164         (tdesc_type): Inherit from tdesc_element.
10165         (tdesc_type::accept): New function.
10166         (tdesc_feature): Inherit from tdesc_element.
10167         (tdesc_feature::accept): New function.
10168         (target_desc): Inherit from tdesc_element.
10169         (target_desc::target_desc): New.
10170         (target_desc::~target_desc): New.
10171         (target_desc::accept): New.
10172         (allocate_target_description): Use new.
10173         (free_target_description): Use delete.
10174         (print_c_tdesc): New class.
10175         (maint_print_c_tdesc_cmd): Adjust.
10176
10177         * features/aarch64.c: Re-generated.
10178         * features/arc-arcompact.c: Re-generated.
10179         * features/arc-v2.c: Re-generated.
10180         * features/arm/arm-with-iwmmxt.c: Re-generated.
10181         * features/arm/arm-with-m.c: Re-generated.
10182         * features/arm/arm-with-m-fpa-layout.c: Re-generated.
10183         * features/arm/arm-with-m-vfp-d16.c: Re-generated.
10184         * features/arm/arm-with-neon.c: Re-generated.
10185         * features/arm/arm-with-vfpv2.c: Re-generated.
10186         * features/arm/arm-with-vfpv3.c: Re-generated.
10187         * features/i386/amd64-avx-avx512.c: Re-generated.
10188         * features/i386/amd64-avx-avx512-linux.c: Re-generated.
10189         * features/i386/amd64-avx.c: Re-generated.
10190         * features/i386/amd64-avx-linux.c: Re-generated.
10191         * features/i386/amd64-avx-mpx-avx512-pku.c: Re-generated.
10192         * features/i386/amd64-avx-mpx-avx512-pku-linux.c: Re-generated.
10193         * features/i386/amd64-avx-mpx.c: Re-generated.
10194         * features/i386/amd64-avx-mpx-linux.c: Re-generated.
10195         * features/i386/amd64.c: Re-generated.
10196         * features/i386/amd64-linux.c: Re-generated.
10197         * features/i386/amd64-mpx.c: Re-generated.
10198         * features/i386/amd64-mpx-linux.c: Re-generated.
10199         * features/i386/i386-avx-avx512.c: Re-generated.
10200         * features/i386/i386-avx-avx512-linux.c: Re-generated.
10201         * features/i386/i386-avx.c: Re-generated.
10202         * features/i386/i386-avx-linux.c: Re-generated.
10203         * features/i386/i386-avx-mpx-avx512-pku.c: Re-generated.
10204         * features/i386/i386-avx-mpx-avx512-pku-linux.c: Re-generated.
10205         * features/i386/i386-avx-mpx.c: Re-generated.
10206         * features/i386/i386-avx-mpx-linux.c: Re-generated.
10207         * features/i386/i386.c: Re-generated.
10208         * features/i386/i386-linux.c: Re-generated.
10209         * features/i386/i386-mmx.c: Re-generated.
10210         * features/i386/i386-mmx-linux.c: Re-generated.
10211         * features/i386/i386-mpx.c: Re-generated.
10212         * features/i386/i386-mpx-linux.c: Re-generated.
10213         * features/i386/x32-avx-avx512.c: Re-generated.
10214         * features/i386/x32-avx-avx512-linux.c: Re-generated.
10215         * features/i386/x32-avx.c: Re-generated.
10216         * features/i386/x32-avx-linux.c: Re-generated.
10217         * features/i386/x32.c: Re-generated.
10218         * features/i386/x32-linux.c: Re-generated.
10219         * features/microblaze.c: Re-generated.
10220         * features/microblaze-with-stack-protect.c: Re-generated.
10221         * features/mips64-dsp-linux.c: Re-generated.
10222         * features/mips64-linux.c: Re-generated.
10223         * features/mips-dsp-linux.c: Re-generated.
10224         * features/mips-linux.c: Re-generated.
10225         * features/nds32.c: Re-generated.
10226         * features/nios2.c: Re-generated.
10227         * features/nios2-linux.c: Re-generated.
10228         * features/rs6000/powerpc-32.c: Re-generated.
10229         * features/rs6000/powerpc-32l.c: Re-generated.
10230         * features/rs6000/powerpc-403.c: Re-generated.
10231         * features/rs6000/powerpc-403gc.c : Re-generated.
10232         * features/rs6000/powerpc-405.c: Re-generated.
10233         * features/rs6000/powerpc-505.c: Re-generated.
10234         * features/rs6000/powerpc-601.c: Re-generated.
10235         * features/rs6000/powerpc-602.c: Re-generated.
10236         * features/rs6000/powerpc-603.c: Re-generated.
10237         * features/rs6000/powerpc-604.c: Re-generated.
10238         * features/rs6000/powerpc-64.c: Re-generated.
10239         * features/rs6000/powerpc-64l.c: Re-generated.
10240         * features/rs6000/powerpc-7400.c: Re-generated.
10241         * features/rs6000/powerpc-750.c: Re-generated.
10242         * features/rs6000/powerpc-860.c: Re-generated.
10243         * features/rs6000/powerpc-altivec32.c: Re-generated.
10244         * features/rs6000/powerpc-altivec32l.c: Re-generated.
10245         * features/rs6000/powerpc-altivec64.c: Re-generated.
10246         * features/rs6000/powerpc-altivec64l.c: Re-generated.
10247         * features/rs6000/powerpc-cell32l.c: Re-generated.
10248         * features/rs6000/powerpc-cell64l.c: Re-generated.
10249         * features/rs6000/powerpc-e500.c: Re-generated.
10250         * features/rs6000/powerpc-e500l.c: Re-generated.
10251         * features/rs6000/powerpc-isa205-32l.c: Re-generated.
10252         * features/rs6000/powerpc-isa205-64l.c: Re-generated.
10253         * features/rs6000/powerpc-isa205-altivec32l.c: Re-generated.
10254         * features/rs6000/powerpc-isa205-altivec64l.c: Re-generated.
10255         * features/rs6000/powerpc-isa205-vsx32l.c: Re-generated.
10256         * features/rs6000/powerpc-isa205-vsx64l.c: Re-generated.
10257         * features/rs6000/powerpc-vsx32.c: Re-generated.
10258         * features/rs6000/powerpc-vsx32l.c: Re-generated.
10259         * features/rs6000/powerpc-vsx64.c: Re-generated.
10260         * features/rs6000/powerpc-vsx64l.c: Re-generated.
10261         * features/rs6000/rs6000.c: Re-generated.
10262         * features/s390-linux32.c: Re-generated.
10263         * features/s390-linux32v1.c: Re-generated.
10264         * features/s390-linux32v2.c: Re-generated.
10265         * features/s390-linux64.c: Re-generated.
10266         * features/s390-linux64v1.c: Re-generated.
10267         * features/s390-linux64v2.c: Re-generated.
10268         * features/s390-te-linux64.c: Re-generated.
10269         * features/s390-tevx-linux64.c: Re-generated.
10270         * features/s390-vx-linux64.c: Re-generated.
10271         * features/s390x-linux64.c: Re-generated.
10272         * features/s390x-linux64v1.c: Re-generated.
10273         * features/s390x-linux64v2.c: Re-generated.
10274         * features/s390x-te-linux64.c: Re-generated.
10275         * features/s390x-tevx-linux64.c: Re-generated.
10276         * features/s390x-vx-linux64.c: Re-generated.
10277         * features/sparc/sparc32-solaris.c: Re-generated.
10278         * features/sparc/sparc64-solaris.c: Re-generated.
10279         * features/tic6x-c62x.c: Re-generated.
10280         * features/tic6x-c62x-linux.c: Re-generated.
10281         * features/tic6x-c64x.c: Re-generated.
10282         * features/tic6x-c64x-linux.c: Re-generated.
10283         * features/tic6x-c64xp.c: Re-generated.
10284         * features/tic6x-c64xp-linux.c: Re-generated.
10285
10286 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10287
10288         * i386-linux-tdep.c (i386_linux_read_description): New function.
10289         (i386_linux_core_read_description): Call
10290         i386_linux_read_description.
10291         * i386-linux-tdep.h (i386_linux_read_description): Declare.
10292         (tdesc_i386_linux, tdesc_i386_mmx_linux): Remove declarations.
10293         (tdesc_i386_avx_linux, tdesc_i386_mpx_linux): Likewise
10294         (tdesc_i386_avx_mpx_linux, tdesc_i386_avx_avx512_linux): Likewise.
10295         (tdesc_i386_avx_mpx_avx512_pku_linux): Likewise.
10296         * x86-linux-nat.c (x86_linux_read_description): Call
10297         i386_linux_read_description.
10298
10299 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10300
10301         * NEWS: Mention it.
10302         * features/Makefile (%.c: %.xml): Pass the xml file name to
10303         command "maint print c-tdesc".
10304         * target-descriptions.c (maint_print_c_tdesc_cmd): Get file
10305         name from 'arg'.
10306
10307 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10308
10309         * target-descriptions.c (target_desc): Add ctor and dtor.  Do
10310         in-class initialization.
10311         (tdesc_create_feature): Call new instead of XCNEW.
10312         (free_target_description): Ue delete.
10313
10314 2017-07-25  John Baldwin  <jhb@FreeBSD.org>
10315
10316         * configure.nat: Add "-lkvm" for NetBSD/sparc64 and fix typo.
10317
10318 2017-07-25  Yao Qi  <yao.qi@linaro.org>
10319
10320         * amd64-tdep.c (amd64_init_abi): Make argument default_tdesc
10321         constant.
10322         (amd64_x32_init_abi): Likewise.
10323         * amd64-tdep.h (amd64_init_abi): Update declaration.
10324         (amd64_x32_init_abi): Likewise.
10325
10326 2017-07-25  Yao Qi  <yao.qi@linaro.org>
10327
10328         PR tdep/21717
10329         * arm-linux-nat.c (arm_linux_fetch_inferior_registers): Update
10330         condition for FPSCR.
10331         (arm_linux_store_inferior_registers): Likewise.
10332
10333 2017-07-22  Tom Tromey  <tom@tromey.com>
10334
10335         * break-catch-syscall.c (struct catch_syscall_inferior_data)
10336         <syscalls_counts>: Now a std::vector.
10337         (get_catch_syscall_inferior_data): Use "new".
10338         (catch_syscall_inferior_data_cleanup): Use "delete".
10339         (insert_catch_syscall, remove_catch_syscall)
10340         (clear_syscall_counts): Update.
10341
10342 2017-07-22  Tom Tromey  <tom@tromey.com>
10343
10344         * break-catch-syscall.c (syscall_catchpoint)
10345         <syscalls_to_be_caught>: Now a std::vector<int>
10346         (~syscall_catchpoint): Remove.
10347         (insert_catch_syscall, remove_catch_syscall)
10348         (breakpoint_hit_catch_syscall, print_one_catch_syscall)
10349         (print_mention_catch_syscall, print_recreate_catch_syscall):
10350         Update.
10351         (create_syscall_event_catchpoint): Change type of "filter"
10352         parameter.
10353         (catch_syscall_split_args): Return a std::vector.
10354         (catch_syscall_command_1, catching_syscall_number_1): Update.
10355
10356 2017-07-22  Tom Tromey  <tom@tromey.com>
10357
10358         * break-catch-throw.c (struct exception_catchpoint)
10359         <exception_rx>: Now a std::string.
10360         (~exception_catchpoint): Remove.
10361         (print_one_detail_exception_catchpoint): Update.
10362         (handle_gnu_v3_exceptions): Change type of except_rx.
10363         (extract_exception_regexp): Return a std::string.
10364         (catch_exception_command_1): Update.
10365
10366 2017-07-22  Tom Tromey  <tom@tromey.com>
10367
10368         * break-catch-sig.c (gdb_signal_type): Remove typedef.
10369         (struct signal_catchpoint) <signals_to_be_caught>: Now a
10370         std::vector.
10371         <catch_all>: Now a bool.
10372         (~signal_catchpoint): Remove.
10373         (signal_catchpoint_insert_location)
10374         (signal_catchpoint_remove_location)
10375         (signal_catchpoint_breakpoint_hit, signal_catchpoint_print_one)
10376         (signal_catchpoint_print_mention)
10377         (signal_catchpoint_print_recreate)
10378         (signal_catchpoint_explains_signal): Update.
10379         (create_signal_catchpoint): Change type of "filter" and
10380         "catch_all".
10381         (catch_signal_split_args): Return a std::vector.  Change type of
10382         "catch_all".
10383         (catch_signal_command): Update.
10384
10385 2017-07-20  Pedro Alves  <palves@redhat.com>
10386
10387         * ada-lang.c (ada_language_defn): Make extern.
10388         (_initialize_ada_language): Remove add_language call.
10389         * c-lang.c (c_language_defn, cplus_language_defn)
10390         (asm_language_defn, minimal_language_defn): Make extern.
10391         (_initialize_c_language): Delete.
10392         * completer.c (compare_cstrings): Delete, moved to utils.h.
10393         * d-lang.c (d_language_defn): Make extern.
10394         (_initialize_d_language): Remove add_language calls.
10395         * defs.h (enum language): Add comment.
10396         * f-lang.c (f_language_defn): Make extern.
10397         (_initialize_f_language): Remove add_language call.
10398         * go-lang.c (go_language_defn): Make extern.
10399         (_initialize_go_language): Remove add_language call.
10400         * language.c: Include <algorithm>.
10401         (languages): Redefine as const array.
10402         (languages_size, languages_allocsize, DEFAULT_ALLOCSIZE): Delete.
10403         (set_language_command): Handle "local".  Use for-range loop.
10404         (set_language): Remove loop.
10405         (language_enum): Rewrite.
10406         (language_def, language_str): Remove loops.
10407         (add_language): Delete.
10408         (add_set_language_command): New, based on add_languages.
10409         (skip_language_trampoline): Adjust.
10410         (local_language_defn): Delete.
10411         (language_gdbarch_post_init): Adjust.
10412         (_initialize_language): Remove add_language calls.  Call
10413         add_set_language_command.
10414         * language.h (add_language): Delete.
10415         (auto_language_defn)
10416         (unknown_language_defn, minimal_language_defn, ada_language_defn)
10417         (asm_language_defn, c_language_defn, cplus_language_defn)
10418         (d_language_defn, f_language_defn, go_language_defn)
10419         (m2_language_defn, objc_language_defn, opencl_language_defn)
10420         (pascal_language_defn, rust_language_defn): Declare.
10421         * m2-lang.c (m2_language_defn): Make extern.
10422         (_initialize_m2_language): Remove add_language call.
10423         * objc-lang.c (objc_language_defn): Make extern.
10424         (_initialize_objc_language): Remove add_language call.
10425         * opencl-lang.c (opencl_language_defn): Make extern.
10426         (_initialize_opencl_language): Remove add_language call.
10427         * p-lang.c (pascal_language_defn): Make extern.
10428         (_initialize_pascal_language): Delete.
10429         * rust-lang.c (rust_language_defn): Make extern.
10430         (_initialize_rust_language): Delete.
10431         * utils.h (compare_cstrings): New static inline function.
10432
10433 2017-07-20  Pedro Alves  <palves@redhat.com>
10434
10435         * ada-lang.c (ada_to_fixed_type_1): Adjust.
10436         (get_var_value): Constify parameters.
10437         (get_int_var_value): Change prototype.
10438         (to_fixed_range_type): Adjust.
10439         * ada-lang.h (get_int_var_value): Change prototype.
10440
10441 2017-07-20  Pedro Alves  <palves@redhat.com>
10442
10443         * dwarf2read.c (dw2_lookup_symbol): Use
10444         SYMBOL_MATCHES_SEARCH_NAME.
10445         * psymtab.c (psym_lookup_symbol): Use SYMBOL_MATCHES_SEARCH_NAME.
10446
10447 2017-07-20  Pedro Alves  <palves@redhat.com>
10448
10449         * block.c (block_iter_name_step, block_iter_name_first)
10450         (block_iter_name_next): Delete.
10451         (block_lookup_symbol_primary): Adjust to use
10452         dict_iter_match_first/dict_iter_match_next.
10453         * block.h (block_iter_name_first, block_iter_name_next): Delete
10454         declarations.
10455         (ALL_BLOCK_SYMBOLS_WITH_NAME): Adjust to use
10456         dict_iter_match_first/dict_iter_match_next.
10457
10458 2017-07-20  Pedro Alves  <palves@redhat.com>
10459
10460         * cp-support.c (cp_find_first_component_aux): Add missing case for
10461         end of string.
10462
10463 2017-07-18  David Blaikie  <dblaikie@gmail.com>
10464
10465         * dwarf2read.c (create_cus_hash_table): Re-add lost initialization
10466         of dwo_cu's dwo_file.
10467
10468 2017-07-18  Yao Qi  <yao.qi@linaro.org>
10469
10470         * remote.c (store_registers_using_G): Remove one line comment.
10471
10472 2017-07-18  Yao Qi  <yao.qi@linaro.org>
10473
10474         * regcache.c (regcache_cpy): Simplify it.
10475         (regcache::cpy_no_passthrough): Remove it.
10476         * regcache.h (cpy_no_passthrough): Remove it.
10477         (regcache_dup, regcache_cpy): Update comments.
10478
10479 2017-07-18  Pedro Alves  <palves@redhat.com>
10480
10481         * remote-sim.c (sim_command_completer): Adjust to work with a
10482         completion_tracker instead of a VEC.
10483
10484 2017-07-17  Pedro Alves  <palves@redhat.com>
10485
10486         * completer.c (complete_source_filenames): New function.
10487         (complete_address_and_linespec_locations): New function.
10488         (location_completer): Use complete_address_and_linespec_locations.
10489         (completion_tracker::build_completion_result): Honor the tracker's
10490         request to suppress append.
10491         * completer.h (completion_tracker::suppress_append_ws)
10492         (completion_tracker::set_suppress_append_ws): New methods.
10493         (completion_tracker::m_suppress_append_ws): New field.
10494         (complete_source_filenames): New declaration.
10495         * linespec.c (linespec_complete_what): New.
10496         (struct ls_parser) <complete_what, completion_word,
10497         completion_quote_char, completion_quote_end, completion_tracker>:
10498         New fields.
10499         (string_find_incomplete_keyword_at_end): New.
10500         (linespec_lexer_lex_string): Record quote char.  If in completion
10501         mode, don't throw.
10502         (linespec_lexer_consume_token): Advance the completion word point.
10503         (linespec_lexer_peek_token): Save/restore completion info.
10504         (save_stream_and_consume_token): New.
10505         (set_completion_after_number): New.
10506         (linespec_parse_basic): Set what to complete next depending on
10507         token.  Handle function and label completions specially.
10508         (parse_linespec): Disable objc shortcut in completion mode.  Set
10509         what to complete next depending on token type.  Skip keyword if in
10510         completion mode.
10511         (complete_linespec_component, linespec_complete): New.
10512         * linespec.h (linespec_complete): Declare.
10513
10514 2017-07-17  Pedro Alves  <palves@redhat.com>
10515
10516         * linespec.c (linespec_lexer_lex_string, find_toplevel_char):
10517         Handle 'operator<' / 'operator<<'.
10518
10519 2017-07-17  Pedro Alves  <palves@redhat.com>
10520
10521         * completer.c (collect_explicit_location_matches): Handle
10522         MATCH_LABEL.
10523         (convert_explicit_location_to_linespec): New, factored out from
10524         ...
10525         (convert_explicit_location_to_sals): ... this.
10526         (complete_label): New.
10527         (linespec_complete_label, find_label_symbols_in_block): New.
10528         (find_label_symbols): Add completion_mode parameter and adjust to
10529         call find_label_symbols_in_block.
10530         * linespec.h (linespec_complete_label): Declare.
10531
10532 2017-07-17  Pedro Alves  <palves@redhat.com>
10533
10534         * ada-lang.c (ada_collect_symbol_completion_matches): Add
10535         complete_symbol_mode parameter.
10536         * cli/cli-cmds.c (complete_command): Get the completion result out
10537         of the handle_brkchars tracker if used a custom word point.
10538         * completer.c: Include "linespec.h".
10539         (enum explicit_location_match_type) <MATCH_LINE>: New enumerator.
10540         (advance_to_expression_complete_word_point): New.
10541         (completion_tracker::completes_to_completion_word): New.
10542         (complete_files_symbols): Pass down
10543         complete_symbol_mode::EXPRESSION.
10544         (explicit_options, probe_options): New.
10545         (collect_explicit_location_matches): Complete on the
10546         explictit_loc->foo instead of word.  Use
10547         linespec_complete_function.  Handle MATCH_LINE.  Handle offering
10548         keyword and options completions.
10549         (backup_text_ptr): Delete.
10550         (skip_keyword): New.
10551         (complete_explicit_location): Remove 'word' parameter.  Add
10552         language, quoted_arg_start and quoted_arg_end parameters.
10553         Rewrite, parsing left to right.
10554         (location_completer): Rewrite.
10555         (location_completer_handle_brkchars): New function.
10556         (symbol_completer): Pass down complete_symbol_mode::EXPRESSION.
10557         (enum complete_line_internal_reason): Adjust comments.
10558         (completion_tracker::discard_completions): New.
10559         (completer_handle_brkchars_func_for_completer): Handle
10560         location_completer.
10561         (gdb_custom_word_point_brkchars)
10562         (gdb_org_rl_basic_quote_characters): New.
10563         (gdb_completion_word_break_characters_throw)
10564         (completion_find_completion_word): Handle trackers that use a
10565         custom word point.
10566         (completion_tracker::advance_custom_word_point_by): New.
10567         (completion_tracker::build_completion_result): Don't rely on
10568         readline appending the quote char.
10569         (gdb_rl_attempted_completion_function_throw): Handle trackers that
10570         use a custom word point.
10571         (gdb_rl_attempted_completion_function): Restore
10572         rl_basic_quote_characters.
10573         * completer.h (class completion_tracker): Extend intro comment.
10574         (completion_tracker::set_quote_char)
10575         (completion_tracker::quote_char)
10576         (completion_tracker::set_use_custom_word_point)
10577         (completion_tracker::use_custom_word_point)
10578         (completion_tracker::custom_word_point)
10579         (completion_tracker::set_custom_word_point)
10580         (completion_tracker::advance_custom_word_point_by)
10581         (completion_tracker::completes_to_completion_word)
10582         (completion_tracker::discard_completions): New methods.
10583         (completion_tracker::m_quote_char)
10584         (completion_tracker::m_use_custom_word_point)
10585         (completion_tracker::m_custom_word_point): New fields.
10586         (advance_to_expression_complete_word_point): Declare.
10587         * f-lang.c (f_collect_symbol_completion_matches): Add
10588         complete_symbol_mode parameter.
10589         * language.h (struct language_defn)
10590         <la_collect_symbol_completion_matches>: Add complete_symbol_mode
10591         parameter.
10592         * linespec.c (linespec_keywords): Add NULL terminator.  Make extern.
10593         (linespec_complete_function): New function.
10594         (linespec_lexer_lex_keyword): Adjust.
10595         * linespec.h (linespec_keywords, linespec_complete_function): New
10596         declarations.
10597         * location.c (find_end_quote): New function.
10598         (explicit_location_lex_one): Add explicit_completion_info
10599         parameter.  Save quoting info.  Don't throw if being called for
10600         completion.  Don't handle Ada operators here.
10601         (is_cp_operator, skip_op_false_positives, first_of)
10602         (explicit_location_lex_one_function): New function.
10603         (string_to_explicit_location): Replace 'dont_throw' parameter with
10604         an explicit_completion_info pointer parameter.  Handle it.  Don't
10605         use explicit_location_lex_one to lex function names.  Use
10606         explicit_location_lex_one_function instead.
10607         * location.h (struct explicit_completion_info): New.
10608         (string_to_explicit_location): Replace 'dont_throw' parameter with
10609         an explicit_completion_info pointer parameter.
10610         * symtab.c (default_collect_symbol_completion_matches_break_on):
10611         Add complete_symbol_mode parameter.  Handle LINESPEC mode.
10612         (default_collect_symbol_completion_matches)
10613         (collect_symbol_completion_matches): Add complete_symbol_mode
10614         parameter.
10615         (collect_symbol_completion_matches_type): Pass down
10616         complete_symbol_mode::EXPRESSION.
10617         (collect_file_symbol_completion_matches): Add complete_symbol_mode
10618         parameter.  Handle LINESPEC mode.
10619         * symtab.h (complete_symbol_mode): New.
10620         (default_collect_symbol_completion_matches_break_on)
10621         (default_collect_symbol_completion_matches)
10622         (collect_symbol_completion_matches)
10623         (collect_file_symbol_completion_matches): Add complete_symbol_mode
10624         parameter.
10625
10626 2017-07-17  Pedro Alves  <palves@redhat.com>
10627
10628         * utils.c (enum class strncmp_iw_mode): New.
10629         (strcmp_iw): Rename to ...
10630         (strncmp_iw_with_mode): ... this.  Add string2_len and mode
10631         parameters.  Handle them.
10632         (strncmp_iw): New.
10633         (strcmp_iw): Reimplement as wrapper around strncmp_iw_with_mode.
10634         * utils.h (strncmp_iw): Declare.
10635         (strcmp_iw): Move describing comments here.
10636
10637 2017-07-17  Pedro Alves  <palves@redhat.com>
10638
10639         * c-exp.y (operator_stoken): Use CP_OPERATOR_LEN and
10640         CP_OPERATOR_STR.
10641         * c-typeprint.c (is_type_conversion_operator): Use
10642         CP_OPERATOR_STR.
10643         * cp-support.c (LENGTH_OF_OPERATOR): Delete.
10644         (cp_find_first_component_aux): Use CP_OPERATOR_STR and
10645         CP_OPERATOR_LEN.
10646         * cp-support.h (CP_OPERATOR_STR, CP_OPERATOR_LEN): New.
10647         * gnu-v2-abi.c (gnuv2_is_operator_name): Use CP_OPERATOR_STR.
10648         * gnu-v3-abi.c (gnuv3_is_operator_name): Use CP_OPERATOR_STR.
10649         * linespec.c (linespec_lexer_lex_string): Use CP_OPERATOR_LEN and
10650         CP_OPERATOR_STR.
10651         * location.c: Include "cp-support.h".
10652         (explicit_location_lex_one): Use CP_OPERATOR_LEN and
10653         CP_OPERATOR_STR.
10654         * symtab.c (operator_chars): Use CP_OPERATOR_STR and
10655         CP_OPERATOR_LEN.
10656
10657 2017-07-17  Pedro Alves  <palves@redhat.com>
10658
10659         * cli/cli-cmds.c (complete_command): Use a completion tracker
10660         along with completion_find_completion_word for handle_brkchars
10661         phase.
10662         * completer.c (RL_QF_SINGLE_QUOTE, RL_QF_DOUBLE_QUOTE)
10663         (RL_QF_BACKSLASH, RL_QF_OTHER_QUOTE): New.
10664         (struct gdb_rl_completion_word_info): New.
10665         (gdb_rl_find_completion_word): New.
10666         (completion_find_completion_word): New.
10667         * completer.h (completion_find_completion_word): Declare.
10668
10669 2017-07-17  Pedro Alves  <palves@redhat.com>
10670
10671         * ada-lang.c (symbol_completion_match): Adjust comments.
10672         (symbol_completion_add): Replace vector parameter with
10673         completion_tracker parameter.  Use it.
10674         (ada_make_symbol_completion_list): Rename to...
10675         (ada_collect_symbol_completion_matches): ... this.  Add
10676         completion_tracker parameter and use it.
10677         (ada_language_defn): Adjust.
10678         * break-catch-syscall.c (catch_syscall_completer): Adjust
10679         prototype and work with completion_tracker instead of VEC.
10680         * breakpoint.c (condition_completer): Adjust prototype and work
10681         with completion_tracker instead of VEC.
10682         * c-lang.c (c_language_defn, cplus_language_defn)
10683         (asm_language_defn, minimal_language_defn): Adjust to renames.
10684         * cli/cli-cmds.c (complete_command): Rework using
10685         completion_tracker.  Catch exceptions when completing.
10686         * cli/cli-decode.c (integer_unlimited_completer)
10687         (complete_on_cmdlist, complete_on_enum): Adjust prototype and work
10688         with completion_tracker instead of VEC.
10689         * command.h (struct completion_tracker): Forward declare.
10690         (completer_ftype, completer_handle_brkchars_ftype): Change
10691         types.
10692         (complete_on_cmdlist, complete_on_enum): Adjust.
10693         * completer.c: Include <algorithm>.
10694         (struct gdb_completer_state): New.
10695         (current_completion): New global.
10696         (readline_line_completion_function): Delete.
10697         (noop_completer, filename_completer)
10698         (filename_completer_handle_brkchars, complete_files_symbols)
10699         (linespec_location_completer): Adjust to work with a
10700         completion_tracker instead of a VEC.
10701         (string_or_empty): New.
10702         (collect_explicit_location_matches): Adjust to work with a
10703         completion_tracker instead of a VEC.
10704         (explicit_location_completer): Rename to ...
10705         (complete_explicit_location): ... this and adjust to work with a
10706         completion_tracker instead of a VEC.
10707         (location_completer): Adjust to work with a completion_tracker
10708         instead of a VEC.
10709         (add_struct_fields): Adjust to work with a completion_list instead
10710         of VEC.
10711         (expression_completer): Rename to ...
10712         (complete_expression): ... this and adjust to work with a
10713         completion_tracker instead of a VEC.  Use complete_files_symbols.
10714         (expression_completer): Reimplement on top of complete_expression.
10715         (symbol_completer): Adjust to work with a completion_tracker
10716         instead of a VEC.
10717         (enum complete_line_internal_reason): Add describing comments.
10718         (complete_line_internal_normal_command): Adjust to work with a
10719         completion_tracker instead of a VEC.
10720         (complete_line_internal): Rename to ...
10721         (complete_line_internal_1): ... this and adjust to work with a
10722         completion_tracker instead of a VEC.  Assert TEXT is NULL in the
10723         handle_brkchars phase.
10724         (new_completion_tracker): Delete.
10725         (complete_line_internal): Reimplement as TRY/CATCH wrapper around
10726         complete_line_internal_1.
10727         (free_completion_tracker): Delete.
10728         (INITIAL_COMPLETION_HTAB_SIZE): New.
10729         (completion_tracker::completion_tracker)
10730         (completion_tracker::~completion_tracker): New.
10731         (maybe_add_completion): Delete.
10732         (completion_tracker::maybe_add_completion)
10733         (completion_tracker::add_completion)
10734         (completion_tracker::add_completions): New.
10735         (throw_max_completions_reached_error): Delete.
10736         (complete_line): Adjust to work with a completion_tracker instead
10737         of a VEC.  Don't create a completion_tracker_t or check for max
10738         completions here.
10739         (command_completer, command_completer_handle_brkchars)
10740         (signal_completer, reg_or_group_completer_1)
10741         (reg_or_group_completer, default_completer_handle_brkchars):
10742         Adjust to work with a completion_tracker.
10743         (gdb_completion_word_break_characters_throw): New.
10744         (gdb_completion_word_break_characters): Reimplement.
10745         (line_completion_function): Delete.
10746         (completion_tracker::recompute_lowest_common_denominator)
10747         (expand_preserving_ws)
10748         (completion_tracker::build_completion_result)
10749         (completion_result::completion_result)
10750         (completion_result::completion_result)
10751         (completion_result::~completion_result)
10752         (completion_result::completion_result)
10753         (completion_result::release_match_list, compare_cstrings)
10754         (completion_result::sort_match_list)
10755         (completion_result::reset_match_list)
10756         (gdb_rl_attempted_completion_function_throw)
10757         (gdb_rl_attempted_completion_function): New.
10758         * completer.h (completion_list, struct completion_result)
10759         (class completion_tracker): New.
10760         (complete_line): Add completion_tracker parameter.
10761         (readline_line_completion_function): Delete.
10762         (gdb_rl_attempted_completion_function): New.
10763         (noop_completer, filename_completer, expression_completer)
10764         (location_completer, symbol_completer, command_completer)
10765         (signal_completer, reg_or_group_completer): Update prototypes.
10766         (completion_tracker_t, new_completion_tracker)
10767         (make_cleanup_free_completion_tracker): Delete.
10768         (enum maybe_add_completion_enum): Delete.
10769         (maybe_add_completion): Delete.
10770         (throw_max_completions_reached_error): Delete.
10771         * corefile.c (complete_set_gnutarget): Adjust to work with a
10772         completion_tracker instead of a VEC.
10773         * cp-abi.c (cp_abi_completer): Adjust to work with a
10774         completion_tracker instead of a VEC.
10775         * d-lang.c (d_language_defn): Adjust.
10776         * disasm.c (disassembler_options_completer): Adjust to work with a
10777         completion_tracker instead of a VEC.
10778         * f-lang.c (f_make_symbol_completion_list): Rename to ...
10779         (f_collect_symbol_completion_matches): ... this.  Adjust to work
10780         with a completion_tracker instead of a VEC.
10781         (f_language_defn): Adjust.
10782         * go-lang.c (go_language_defn): Adjust.
10783         * guile/scm-cmd.c (cmdscm_add_completion, cmdscm_completer):
10784         Adjust to work with a completion_tracker instead of a VEC.
10785         * infrun.c (handle_completer): Likewise.
10786         * interps.c (interpreter_completer): Likewise.
10787         * interps.h (interpreter_completer): Likewise.
10788         * language.c (unknown_language_defn, auto_language_defn)
10789         (local_language_defn): Adjust.
10790         * language.h (language_defn::la_make_symbol_completion_list):
10791         Rename to ...
10792         (language_defn::la_collect_symbol_completion_matches): ... this
10793         and adjust to work with a completion_tracker instead of a VEC.
10794         * m2-lang.c (m2_language_defn): Adjust.
10795         * objc-lang.c (objc_language_defn): Adjust.
10796         * opencl-lang.c (opencl_language_defn): Adjust.
10797         * p-lang.c (pascal_language_defn): Adjust.
10798         * python/py-cmd.c (cmdpy_completer_helper): Handle NULL word.
10799         (cmdpy_completer_handle_brkchars, cmdpy_completer): Adjust to work
10800         with a completion_tracker.
10801         * rust-lang.c (rust_language_defn): Adjust.
10802         * symtab.c (free_completion_list, do_free_completion_list)
10803         (return_val, completion_tracker): Delete.
10804         (completion_list_add_name, completion_list_add_symbol)
10805         (completion_list_add_msymbol, completion_list_objc_symbol)
10806         (completion_list_add_fields, add_symtab_completions): Add
10807         completion_tracker parameter and use it.
10808         (default_make_symbol_completion_list_break_on_1): Rename to...
10809         (default_collect_symbol_completion_matches_break_on): ... this.
10810         Add completion_tracker parameter and use it instead of allocating
10811         a completion tracker here.
10812         (default_make_symbol_completion_list_break_on): Delete old
10813         implementation.
10814         (default_make_symbol_completion_list): Delete.
10815         (default_collect_symbol_completion_matches): New.
10816         (make_symbol_completion_list): Delete.
10817         (collect_symbol_completion_matches): New.
10818         (make_symbol_completion_type): Rename to ...
10819         (collect_symbol_completion_matches_type): ... this.  Add
10820         completion_tracker parameter and use it instead of VEC.
10821         (make_file_symbol_completion_list_1): Rename to...
10822         (collect_file_symbol_completion_matches): ... this.  Add
10823         completion_tracker parameter and use it instead of VEC.
10824         (make_file_symbol_completion_list): Delete.
10825         (add_filename_to_list): Use completion_list instead of a VEC.
10826         (add_partial_filename_data::list): Now a completion_list.
10827         (make_source_files_completion_list): Work with a completion_list
10828         instead of a VEC.
10829         * symtab.h: Include "completer.h".
10830         (default_make_symbol_completion_list_break_on)
10831         (default_make_symbol_completion_list, make_symbol_completion_list)
10832         (make_symbol_completion_type, make_file_symbol_completion_list)
10833         (make_source_files_completion_list): Delete.
10834         (default_collect_symbol_completion_matches_break_on)
10835         (default_collect_symbol_completion_matches)
10836         (collect_symbol_completion_matches)
10837         (collect_symbol_completion_matches_type)
10838         (collect_file_symbol_completion_matches)
10839         (make_source_files_completion_list): New.
10840         * top.c (init_main): Don't install a rl_completion_entry_function
10841         hook.  Install a rl_attempted_completion_function hook instead.
10842         * tui/tui-layout.c (layout_completer): Adjust to work with a
10843         completion_tracker.
10844         * tui/tui-regs.c (tui_reggroup_completer):
10845         * tui/tui-win.c (window_name_completer, focus_completer)
10846         (winheight_completer): Adjust to work with a completion_tracker.
10847         * value.c: Include "completer.h".
10848         (complete_internalvar): Adjust to work with a completion_tracker.
10849         * value.h (complete_internalvar): Likewise.
10850
10851 2017-07-17  Pedro Alves  <palves@redhat.com>
10852
10853         * cli/cli-decode.c (set_cmd_completer_handle_brkchars): Adjust to
10854         renames.
10855         * cli/cli-decode.h (struct cmd_list_element) <completer>: Move
10856         comments to completer_ftype's declaration.
10857         <completer_handle_brkchars>: Change type to
10858         completer_handle_brkchars_ftype.
10859         * command.h (completer_ftype): Add describing comment and give
10860         names to parameters.
10861         (completer_ftype_void): Rename to ...
10862         (completer_handle_brkchars_ftype) ... this.  Add describing comment.
10863         (set_cmd_completer_handle_brkchars): Adjust.
10864         * completer.c (filename_completer_handle_brkchars): New function.
10865         (complete_line_internal_normal_command): New function, factored
10866         out from ...
10867         (complete_line_internal): ... here.
10868         (command_completer_handle_brkchars)
10869         (default_completer_handle_brkchars)
10870         (completer_handle_brkchars_func_for_completer): New functions.
10871         * completer.h (set_gdb_completion_word_break_characters): Delete
10872         declaration.
10873         (completer_handle_brkchars_func_for_completer): New declaration.
10874         * python/py-cmd.c (cmdpy_completer_handle_brkchars): Adjust to use
10875         completer_handle_brkchars_func_for_completer.
10876
10877 2017-07-17  Pedro Alves  <palves@redhat.com>
10878
10879         * completer.c (symbol_completer): New function, based on
10880         make_symbol_completion_list_fn.
10881         * completer.h (symbol_completer): New declaration.
10882         * guile/scm-cmd.c (cmdscm_completers): Adjust.
10883         * python/py-cmd.c (completers): Adjust.
10884         * symtab.c (make_symbol_completion_list_fn): Delete.
10885         * symtab.h (make_symbol_completion_list_fn): Delete.
10886         * cli/cli-decode.c (add_cmd): Adjust.
10887
10888 2017-07-17  Pedro Alves  <palves@redhat.com>
10889
10890         * Makefile.in (COMMON_OBS): Add filename-seen-cache.o.
10891         * dwarf2read.c: Include "filename-seen-cache.h".
10892         * dwarf2read.c (dwarf2_per_objfile) <filenames_cache>: New field.
10893         (dw2_map_symbol_filenames): Build and use a filenames_seen_cache.
10894         * filename-seen-cache.c: New file.
10895         * filename-seen-cache.h: New file.
10896         * symtab.c: Include "filename-seen-cache.h".
10897         (struct filename_seen_cache, INITIAL_FILENAME_SEEN_CACHE_SIZE)
10898         (create_filename_seen_cache, clear_filename_seen_cache)
10899         (delete_filename_seen_cache, filename_seen): Delete, parts moved
10900         to filename-seen-cache.h/filename-seen-cache.c.
10901         (output_source_filename, sources_info)
10902         (maybe_add_partial_symtab_filename)
10903         (make_source_files_completion_list): Adjust to use
10904         filename_seen_cache.
10905
10906 2017-07-17  Pedro Alves  <palves@redhat.com>
10907
10908         * dwarf2read.c (dwarf2_per_objfile): In-class initialize all
10909         fields.
10910         (dwarf2_per_objfile::dwarf2_per_objfile(objfile*, const
10911         dwarf2_debug_sections*)): New.
10912         (dwarf2_per_objfile::dwarf2_per_objfile(const
10913         dwarf2_per_objfile&)): Declare as deleted.
10914         (dwarf2_per_objfile::operator=): Declare as deleted.
10915         (dwarf2_per_objfile::dwarf2_per_objfile)
10916         (dwarf2_per_objfile::~dwarf2_per_objfile)
10917         (dwarf2_per_objfile::free_cached_comp_units): New.
10918         (dwarf2_has_info): dwarf2_per_objfile initialization code moved to
10919         ctor.  Call dwarf2_per_objfile's ctor manually.
10920         (dwarf2_locate_sections): Deleted/refactored as ...
10921         (dwarf2_per_objfile::locate_sections): ... this new method.
10922         (free_cached_comp_units): Defer to
10923         dwarf2_per_objfile::free_cached_comp_units.
10924         (dwarf2_free_objfile): Call dwarf2_per_objfile's dtor manually.
10925
10926 2017-07-14  Tom Tromey  <tom@tromey.com>
10927
10928         PR rust/21764:
10929         * rust-exp.y (convert_ast_to_expression): Add "want_type"
10930         parameter.
10931         <UNOP_SIZEOF>: Split into separate case.
10932         <UNOP_VAR_VALUE>: Handle want_type.  Add error case.
10933
10934 2017-07-14  Tom Tromey  <tom@tromey.com>
10935
10936         PR rust/21763:
10937         * symtab.c (symbol_matches_domain): Add language_rust to special
10938         case.
10939         * rust-exp.y (convert_ast_to_expression) <OP_VAR_VALUE>: Don't
10940         treat LOC_TYPEDEF symbols as variables.
10941
10942 2017-07-14  Pedro Alves  <palves@redhat.com>
10943
10944         * symtab.c (make_file_symbol_completion_list_1): Iterate over
10945         symtabs matching all symtabs with SRCFILE as file name instead of
10946         only considering the first hit, with lookup_symtab.
10947
10948 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
10949
10950         * ax-gdb.c (gen_aggregate_elt_ref): Remove operand_name and
10951         operator_name parameters.
10952         (gen_expr): Update function call.
10953
10954 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
10955
10956         * dwarf2loc.h (dwarf2_compile_expr_to_ax): Remove gdbarch
10957         parameter.
10958         * symtab.h (struct symbol_computed_ops::tracepoint_var_ref):
10959         Likewise.
10960         * dwarf2loc.c (dwarf2_compile_expr_to_ax): Remove gdbarch
10961         parameter, use agent_expr::gdbarch instead, update function
10962         calls.
10963         (locexpr_tracepoint_var_ref): Likewise.
10964         (loclist_tracepoint_var_ref): Likewise.
10965         * ax-gdb.c (gen_trace_static_fields): Likewise.
10966         (gen_traced_pop): Likewise.
10967         (gen_frame_args_address): Likewise.
10968         (gen_frame_locals_address): Likewise.
10969         (gen_var_ref): Likewise.
10970         (gen_struct_ref_recursive): Likewise.
10971         (gen_static_field): Likewise.
10972         (gen_maybe_namespace_elt): Likewise.
10973         (gen_expr): Likewise.
10974         (gen_trace_for_var): Likewise.
10975         (gen_trace_for_expr): Likewise.
10976         (gen_trace_for_return_address): Likewise.
10977
10978 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
10979
10980         * ax-gdb.c (gen_deref, gen_address_of): Remove unused ax
10981         parameter.
10982         (gen_struct_ref, gen_expr, gen_expr_binop_rest): Update call.
10983
10984 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
10985
10986         * ax-gdb.c (gen_usual_unary): Remove exp parameter, get gdbarch
10987         from ax, update calls.
10988         (gen_usual_arithmetic): Likewise.
10989         (gen_integral_promotions): Likewise.
10990         (gen_bitfield_ref): Likewise.
10991         (gen_primitive_field): Likewise.
10992         (gen_struct_ref_recursive): Likewise.
10993         (gen_struct_ref): Likewise.
10994         (gen_maybe_namespace_elt): Likewise.
10995         (gen_struct_elt_for_reference): Likewise.
10996         (gen_namespace_elt): Likewise.
10997         (gen_aggregate_elt_ref): Likewise.
10998         (gen_expr): Get gdbarch from ax, update calls.
10999         (gen_expr_binop_rest): Likewise.
11000
11001 2017-07-13  Pedro Alves  <palves@redhat.com>
11002
11003         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Pass tdesc_amd64
11004         as default tdesc.
11005         * amd64-dicos-tdep.c (amd64_dicos_init_abi):
11006         * amd64-fbsd-tdep.c (amd64fbsd_init_abi):
11007         * amd64-linux-tdep.c (amd64_linux_init_abi): Pass
11008         tdesc_amd64_linux as default tdesc.  Get final tdesc from the
11009         tdep.
11010         (amd64_x32_linux_init_abi): Pass tdesc_x32_linux as default tdesc.
11011         Get final tdesc from the tdep.
11012         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Pass tdesc_amd64 as
11013         default tdesc.
11014         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
11015         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
11016         * amd64-tdep.c (amd64_init_abi): Add 'default_tdesc' parameter.
11017         Use it as default tdesc.
11018         (amd64_x32_init_abi): Add 'default_tdesc' parameter, and pass it
11019         down to amd_init_abi.  No longer handle fallback tdesc here.
11020         * amd64-tdep.h (tdesc_x32): Declare.
11021         (amd64_init_abi, amd64_x32_init_abi): Add 'default_tdesc'
11022         parameter.
11023         * amd64-windows-tdep.c (amd64_windows_init_abi): Pass tdesc_amd64
11024         as default tdesc.
11025
11026 2017-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11027
11028         * s390-linux-tdep.c (s390_process_record): Add support for
11029         instructions new in arch12.
11030
11031 2017-07-11  John Baldwin  <jhb@FreeBSD.org>
11032
11033         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers): Use
11034         PT_GETFSBASE and PT_GETGSBASE.
11035         (amd64bsd_store_inferior_registers): Use PT_SETFSBASE and
11036         PT_SETGSBASE.
11037
11038 2017-07-11  John Baldwin  <jhb@FreeBSD.org>
11039
11040         * features/Makefile (amd64.dat, amd64-avx.dat, amd64-mpx.dat)
11041         (amd64-avx-mpx.dat, amd64-avx-avx512.dat)
11042         (amd64-avx-mpx-avx512-pku.dat): Add i386/64bit-segments.xml in
11043         those rules.
11044         * features/i386/amd64-avx-avx512.xml: Add 64bit-segments.xml.
11045         * features/i386/amd64-avx-mpx-avx512-pku.xml: Add 64bit-segments.xml.
11046         * features/i386/amd64-avx-mpx.xml: Add 64bit-segments.xml.
11047         * features/i386/amd64-avx.xml: Add 64bit-segments.xml.
11048         * features/i386/amd64-mpx.xml: Add 64bit-segments.xml.
11049         * features/i386/amd64.xml: Add 64bit-segments.xml.
11050         * features/i386/amd64-avx-avx512.c: Regenerated.
11051         * features/i386/amd64-avx-mpx-avx512-pku.c: Regenerated.
11052         * features/i386/amd64-avx-mpx.c: Regenerated.
11053         * features/i386/amd64-avx.c: Regenerated.
11054         * features/i386/amd64-mpx.c: Regenerated.
11055         * features/i386/amd64.c: Regenerated.
11056         * regformats/i386/amd64-avx-avx512.dat: Regenerated.
11057         * regformats/i386/amd64-avx-mpx-avx512-pku.dat: Regenerated.
11058         * regformats/i386/amd64-avx-mpx.dat: Regenerated.
11059         * regformats/i386/amd64-avx.dat: Regenerated.
11060         * regformats/i386/amd64-mpx.dat: Regenerated.
11061         * regformats/i386/amd64.dat: Regenerated.
11062
11063 2017-07-10  Yao Qi  <yao.qi@linaro.org>
11064
11065         * features/i386/amd64-avx-avx512-linux.c: Re-generated.
11066         * features/i386/amd64-avx-mpx-avx512-pku-linux.c: Re-generated.
11067
11068 2017-07-10  Anton Kolesov  <Anton.Kolesov@synopsys.com>
11069
11070         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add setenv and
11071         unsetenv.
11072         * gnulib/aclocal.m4: Regenerate.
11073         * gnulib/config.in: Regenerate.
11074         * gnulib/configure: Regenerate.
11075         * gnulib/import/Makefile.am: Regenerate.
11076         * gnulib/import/Makefile.in: Regenerate.
11077         * gnulib/import/m4/gnulib-cache.m4: Regenerate.
11078         * gnulib/import/m4/gnulib-comp.m4: Regenerate.
11079         * gnulib/import/m4/environ.m4: New file.
11080         * gnulib/import/m4/setenv.m4: New file.
11081         * gnulib/import/setenv.c: New file.
11082         * gnulib/import/unsetenv.c: New file.
11083
11084 2017-07-09  Simon Marchi  <simon.marchi@ericsson.com>
11085
11086         * compile/compile-loc2c.c (do_compile_dwarf_expr_to_c): Read
11087         address when op is DW_OP_addr.
11088
11089 2017-07-09  Tom Tromey  <tom@tromey.com>
11090
11091         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Reverse size
11092         check and apply to outer type.
11093
11094 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11095
11096         * fbsd-tdep.c (LWPINFO_OFFSET, LWPINFO_PL_FLAGS)
11097         (LWPINFO64_PL_SIGINFO, LWPINFO32_PL_SIGINFO, PL_FLAG_SI)
11098         (SIZE64_SIGINFO_T, SIZE32_SIGINFO_T, fbsd_core_xfer_siginfo): New.
11099         (fbsd_init_abi): Install gdbarch "core_xfer_siginfo" method.
11100
11101 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11102
11103         * fbsd-tdep.c (fbsd_core_thread_name): Use thread_section_name.
11104
11105 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11106
11107         * corelow.c (get_core_siginfo): Remove.
11108         (core_xfer_partial): Use the gdbarch "core_xfer_siginfo" method
11109         instead of get_core_siginfo.
11110         * gdbarch.sh (core_xfer_siginfo): New gdbarch callback.
11111         * gdbarch.h: Re-generate.
11112         * gdbarch.c: Re-generate.
11113         * linux-tdep.c (linux_core_xfer_siginfo): New.
11114         (linux_init_abi): Install gdbarch "core_xfer_siginfo" method.
11115
11116 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11117
11118         * corelow.c (thread_section_name): Move to ...
11119         * gdbcore.h (thread_section_name): ... here.
11120
11121 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11122
11123         * fbsd-nat.c [PT_LWPINFO && __LP64__] (union sigval32)
11124         (struct siginfo32): New.
11125         [PT_LWPINFO] (fbsd_siginfo_size, fbsd_convert_siginfo): New.
11126         (fbsd_xfer_partial) [PT_LWPINFO]: Handle TARGET_OBJECT_SIGNAL_INFO
11127         via ptrace(PT_LWPINFO).
11128
11129 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11130
11131         * fbsd-tdep.c (fbsd_gdbarch_data_handle, struct fbsd_gdbarch_data)
11132         (init_fbsd_gdbarch_data, get_fbsd_gdbarch_data)
11133         (fbsd_get_siginfo_type): New.
11134         (fbsd_init_abi): Install gdbarch "get_siginfo_type" method.
11135         (_initialize_fbsd_tdep): New.
11136
11137 2017-07-06  David Blaikie  <dblaikie@gmail.com>
11138
11139         * dwarf2read.c (struct dwo_file): Use a htab of dwo_unit* (rather than
11140         a singular dwo_unit*) to support multiple CUs in the same way that
11141         multiple TUs are supported.
11142         (create_cus_hash_table): Replace create_dwo_cu with a function for
11143         parsing multiple CUs from a DWO file.
11144         (open_and_init_dwo_file): Use create_cus_hash_table rather than
11145         create_dwo_cu.
11146         (lookup_dwo_cutu): Lookup CU in the hash table in the dwo_file with
11147         htab_find, rather than comparing the signature to a singleton CU in
11148         the dwo_file.
11149
11150 2017-07-06  Pedro Alves  <palves@redhat.com>
11151
11152         * python/py-unwind.c (pyuw_dealloc_cache): Fix for loop condition.
11153
11154 2017-07-04  Pedro Alves  <palves@redhat.com>
11155
11156         * gdbtypes.c (recursive_dump_type): Don't reference TYPE_STATIC.
11157         * gdbtypes.h (TYPE_STATIC): Delete.
11158         (struct fn_field) <is_public, is_abstract, is_static, is_final,
11159         is_synchronized, is_native>: Delete.
11160         <dummy>: Bump.
11161         (TYPE_FN_FIELD_PUBLIC, TYPE_FN_FIELD_STATIC, TYPE_FN_FIELD_FINAL)
11162         (TYPE_FN_FIELD_SYNCHRONIZED, TYPE_FN_FIELD_NATIVE)
11163         (TYPE_FN_FIELD_ABSTRACT): Delete.
11164
11165 2017-07-03  Simon Marchi  <simon.marchi@ericsson.com>
11166
11167         * buffer.h (buffer_finish): Fix spelling mistakes.
11168
11169 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
11170
11171         * .dir-locals.el: Automatically switch to C-style comments in
11172         versions of Emacs that support the feature.
11173
11174 2017-06-30  Sergio Durigan Junior  <sergiodj@redhat.com>
11175             Pedro Alves  <palves@redhat.com>
11176
11177         PR cli/21688
11178         * cli/cli-script.c (command_name_equals_not_inline): Remove function.
11179         (process_next_line): New variable 'inline_cmd'.
11180         Adjust 'if' clauses for "python", "compile" and "guile" to use
11181         'command_name_equals' and check for '!inline_cmd'.
11182
11183 2017-06-30  Sergio Durigan Junior  <sergiodj@redhat.com>
11184
11185         PR cli/21688
11186         * cli/cli-script.c (command_name_equals_not_inline): New function.
11187         (process_next_line): Adjust 'if' clauses for "python", "compile"
11188         and "guile" to use command_name_equals_not_inline.
11189
11190 2017-06-29  Pedro Alves  <palves@redhat.com>
11191
11192         * completer.c (expression_completer): Call
11193         linespec_location_completer instead of location_completer.
11194
11195 2017-06-29  Pedro Alves  <palves@redhat.com>
11196
11197         * completer.c (expression_completer): Remove code that recomputes
11198         'text' from 'word'.
11199
11200 2017-06-29  Yao Qi  <yao.qi@linaro.org>
11201
11202         * regformats/regdat.sh: Generate code with
11203         "ifndef IN_PROCESS_AGENT".
11204
11205 2017-06-28  Pedro Alves  <palves@redhat.com>
11206
11207         * command.h: Include "common/scoped_restore.h".
11208
11209 2017-06-28  Yao Qi  <yao.qi@linaro.org>
11210
11211         * mi/mi-cmd-break.c (mi_argv_to_format): Use obstack_grow_str
11212         instead of obstack_grow.
11213
11214 2017-06-28  Doug Gilmore  <Doug.Gilmore@imgtec.com>
11215
11216         PR gdb/21337
11217         * symfile.c (reread_symbols): Call objfiles_changed just before
11218         read_symbols.
11219
11220 2017-06-27  Pedro Alves  <palves@redhat.com>
11221
11222         * symtab.c (COMPLETION_LIST_ADD_SYMBOL)
11223         (MCOMPLETION_LIST_ADD_SYMBOL): Delete macros, replace with ...
11224         (completion_list_add_symbol, completion_list_add_msymbol):
11225         ... these new functions.
11226         (add_symtab_completions)
11227         (default_make_symbol_completion_list_break_on_1): Adjust.
11228
11229 2017-06-27  Pedro Alves  <palves@redhat.com>
11230
11231         * objfiles.c (get_objfile_bfd_data): Call bfd_alloc instead of
11232         bfd_zalloc.  Call objfile_per_bfd_storage's ctor.
11233         (free_objfile_per_bfd_storage): Call objfile_per_bfd_storage's
11234         dtor.
11235         * objfiles.h (objfile_per_bfd_storage): Add ctor.  Make
11236         'storage_obstack' field an auto_obstack.  In-class initialize all
11237         non-bitfield fields.  Make minsyms_read bool.
11238         * symfile.c (read_symbols): Adjust.
11239
11240 2017-06-27  Alan Hayward  <alan.hayward@arm.com>
11241
11242         * remote-sim.c (gdbsim_fetch_register): Use byte_vector.
11243         (gdbsim_store_register): Likewise.
11244
11245 2017-06-27  Pedro Alves  <palves@redhat.com>
11246
11247         * c-exp.y (name_obstack): Now an auto_obstack.
11248         (yylex): Use auto_obstack::clear.
11249         (c_parse): Use auto_obstack::clear instead of reinitializing and
11250         freeing the obstack.
11251         * c-lang.c (evaluate_subexp_c): Use auto_obstack.
11252         * d-exp.y (name_obstack): Now an auto_obstack.
11253         (yylex): Use auto_obstack::clear.
11254         (d_parse): Use auto_obstack::clear instead of reinitializing and
11255         freeing the obstack.
11256         * dwarf2loc.c (fetch_const_value_from_synthetic_pointer): Use
11257         auto_obstack.
11258         * dwarf2read.c (create_addrmap_from_index)
11259         (dwarf2_build_psymtabs_hard)
11260         (update_enumeration_type_from_children): Likewise.
11261         * gdb_obstack.h (auto_obstack): New type.
11262         * go-exp.y (name_obstack): Now an auto_obstack.
11263         (build_packaged_name): Use auto_obstack::clear.
11264         (go_parse): Use auto_obstack::clear instead of reinitializing and
11265         freeing the obstack.
11266         * linux-tdep.c (linux_make_mappings_corefile_notes): Use
11267         auto_obstack.
11268         * printcmd.c (printf_wide_c_string, ui_printf): Use auto_obstack.
11269         * rust-exp.y (work_obstack): Now an auto_obstack.
11270         (rust_parse, rust_lex_tests): Use auto_obstack::clear instead of
11271         reinitializing and freeing the obstack.
11272         * utils.c (do_obstack_free, make_cleanup_obstack_free): Delete.
11273         (host_char_to_target): Use auto_obstack.
11274         * utils.h (make_cleanup_obstack_free): Delete declaration.
11275         * valprint.c (generic_emit_char, generic_printstr): Use
11276         auto_obstack.
11277
11278 2017-06-27  Simon Marchi  <simon.marchi@ericsson.com>
11279
11280         * darwin-nat.c (darwin_check_new_threads): Don't handle dummy
11281         thread.
11282         (darwin_init_thread_list): Don't update dummy thread.
11283         (darwin_create_inferior, darwin_attach): Don't add a dummy thread.
11284
11285 2017-06-26  Simon Marchi  <simon.marchi@ericsson.com>
11286
11287         * record-full.c (netorder16): Remove.
11288
11289 2017-06-26  Simon Marchi  <simon.marchi@ericsson.com>
11290
11291         * common/diagnostics.h: Define macros for GCC.
11292         (DIAGNOSTIC_IGNORE_UNUSED_FUNCTION): New macro.
11293         * common/vec.h: Include diagnostics.h.
11294         (DIAGNOSTIC_IGNORE_UNUSED_VEC_FUNCTION): New macro.
11295         (DEF_VEC_I, DEF_VEC_P, DEF_VEC_O): Ignore -Wunused-function
11296         warning.
11297
11298 2017-06-26  Simon Marchi  <simon.marchi@ericsson.com>
11299
11300         * common/diagnostics.h (DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER):
11301         New macro.
11302         * ada-lex.l: Ignore deprecated register warnings.
11303
11304 2017-06-25  Simon Marchi  <simon.marchi@ericsson.com>
11305
11306         * main.c (get_init_files): Replace "SYSTEM_GDBINIT +
11307         datadir_len" with "&SYSTEM_GDBINIT[datadir_len]".
11308
11309 2017-06-25  Simon Marchi  <simon.marchi@ericsson.com>
11310
11311         * dtrace-probe.c (dtrace_process_dof_probe): Put semi-colon on
11312         its own line.
11313
11314 2017-06-25  Simon Marchi  <simon.marchi@ericsson.com>
11315
11316         * nat/x86-dregs.c (x86_show_dr): Print registers one per line.
11317
11318 2017-06-23  Alan Hayward  <alan.hayward@arm.com>
11319
11320         * xtensa-tdep.c (XTENSA_MAX_REGISTER_SIZE): Add.
11321         (xtensa_register_write_masked): Use XTENSA_MAX_REGISTER_SIZE.
11322         (xtensa_register_read_masked): Likewise.
11323
11324 2017-06-22  Sergio Durigan Junior  <sergiodj@redhat.com>
11325
11326         * common/environ.c (gdb_environ::unset): Update comment.
11327
11328 2017-06-22  Alan Hayward  <alan.hayward@arm.com>
11329
11330         * python/py-unwind.c (pyuw_sniffer): Allocate space for
11331         registers.
11332
11333 2017-06-22  Alan Hayward  <alan.hayward@arm.com>
11334
11335         * record-full.c (record_full_exec_insn): Use byte_vector.
11336
11337 2017-06-22  Yao Qi  <yao.qi@linaro.org>
11338
11339         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Regenerated.
11340         * regformats/i386/amd64-avx-mpx-avx512-pku.dat: Regenerated.
11341
11342 2017-06-22  Alan Hayward  <alan.hayward@arm.com>
11343
11344         * remote.c (cached_reg): Move from here...
11345         * regcache.h (cached_reg): ...to here.
11346         * python/py-unwind.c (struct reg_info): Remove.
11347         (cached_frame_info): Use cached_reg_t.
11348         (pyuw_prev_register): Likewise.
11349         (pyuw_sniffer): Use cached_reg_t and allocate registers.
11350         (pyuw_dealloc_cache): Free all registers.
11351
11352 2017-06-22  Pedro Alves  <palves@redhat.com>
11353             Simon Marchi  <simon.marchi@ericsson.com>
11354
11355         * unittests/environ-selftests.c (run_tests): Ignore -Wself-move
11356         warning.
11357         * common/diagnostics.h: New file.
11358
11359 2017-06-22  Pedro Alves  <palves@redhat.com>
11360
11361         * common/agent.h: Add include guards.
11362
11363 2017-06-21  Simon Marchi  <simon.marchi@ericsson.com>
11364
11365         * target.h (struct target_ops) <to_xfer_partial>: Update doc to
11366         talk about addressable units instead of bytes.
11367
11368 2017-06-20  Sergio Durigan Junior  <sergiodj@redhat.com>
11369
11370         * common/environ.c (gdb_environ::unset): Use '::iterator' instead
11371         of '::const_iterator'.
11372
11373 2017-06-20  Sergio Durigan Junior  <sergiodj@redhat.com>
11374
11375         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11376         'unittests/environ-selftests.c'.
11377         (SUBDIR_UNITTESTS_OBS): Add 'environ-selftests.o'.
11378         * charset.c (find_charset_names): Declare object 'iconv_env'.
11379         Update code to use 'iconv_env' object.  Remove call to
11380         'free_environ'.
11381         * common/environ.c: Include <utility>.
11382         (make_environ): Delete function.
11383         (free_environ): Delete function.
11384         (gdb_environ::clear): New function.
11385         (gdb_environ::operator=): New function.
11386         (gdb_environ::get): Likewise.
11387         (environ_vector): Delete function.
11388         (set_in_environ): Delete function.
11389         (gdb_environ::set): New function.
11390         (unset_in_environ): Delete function.
11391         (gdb_environ::unset): New function.
11392         (gdb_environ::envp): Likewise.
11393         * common/environ.h: Include <vector>.
11394         (struct gdb_environ): Delete; transform into...
11395         (class gdb_environ): ... this class.
11396         (free_environ): Delete prototype.
11397         (init_environ, get_in_environ, set_in_environ, unset_in_environ,
11398         environ_vector): Likewise.
11399         * infcmd.c (run_command_1): Update code to call
11400         'envp' from 'gdb_environ' class.
11401         (environment_info): Update code to call methods from 'gdb_environ'
11402         class.
11403         (unset_environment_command): Likewise.
11404         (path_info): Likewise.
11405         (path_command): Likewise.
11406         * inferior.c (inferior::~inferior): Delete call to 'free_environ'.
11407         (inferior::inferior): Initialize 'environment' using the host's
11408         information.
11409         * inferior.h: Remove forward declaration of 'struct gdb_environ'.
11410         Include "environ.h".
11411         (class inferior) <environment>: Change type from 'struct
11412         gdb_environ' to 'gdb_environ'.
11413         * mi/mi-cmd-env.c (mi_cmd_env_path): Update code to call
11414         methods from 'gdb_environ' class.
11415         * solib.c (solib_find_1): Likewise
11416         * unittests/environ-selftests.c: New file.
11417
11418 2017-06-20  Yao Qi  <yao.qi@linaro.org>
11419
11420         * features/i386/i386-linux.xml: Exchange the order of including
11421         32bit-linux.xml and 32bit-sse.xml.
11422         * features/i386/i386-linux.c: Regenerated.
11423
11424 2017-06-20  Yao Qi  <yao.qi@linaro.org>
11425
11426         * target-descriptions.c (tdesc_reg): Add ctor, dtor.
11427         Delete copy ctor and assignment operator.
11428         (tdesc_type): Likewise.
11429         (tdesc_feature): Likewise.
11430         (tdesc_free_reg): Remove.
11431         (tdesc_create_reg): Use new.
11432         (tdesc_free_type): Remove.
11433         (tdesc_create_vector): Use new.
11434         (tdesc_create_union): Likewise.
11435         (tdesc_create_flags): Likewise.
11436         (tdesc_create_enum): Likewise.
11437         (tdesc_free_feature): Delete.
11438         (free_target_description): Use delete.
11439
11440 2017-06-19  John Baldwin  <jhb@FreeBSD.org>
11441
11442         * mips-tdep.c (print_gp_register_row): Don't error for unavailable
11443         registers.
11444
11445 2017-06-19  Pedro Alves  <palves@redhat.com>
11446
11447         * dwarf2read.c (write_psymtabs_to_index): Construct file_closer
11448         after gdb::unlinker.
11449
11450 2017-06-19  Sergio Durigan Junior  <sergiodj@redhat.com>
11451
11452         * mi/mi-cm-env.c (_initialize_mi_cmd_env): Use getenv instead of
11453         gdb_environ to access an environment variable.
11454
11455 2017-06-18  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>
11456
11457         * nat/linux-ptrace.c (linux_fork_to_function): Add cast to
11458         gdb_byte*.
11459
11460 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11461
11462         * nat/fork-inferior.h (trace_start_error): Add ATTRIBUTE_PRINTF.
11463
11464 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11465
11466         * configure: Re-generate.
11467         * warning.m4 (build_warnings): Add -Wno-mismatched-tags.
11468
11469 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11470
11471         * configure: Re-generate.
11472         * warning.m4: Pass -Werror to compiler when checking for
11473         supported warning flags.
11474
11475 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11476
11477         * Makefile.in (COMPILE.pre): Add "-x c++".
11478
11479 2017-06-16  Alan Hayward  <alan.hayward@arm.com>
11480             Pedro Alves  <palves@redhat.com>
11481             Yao Qi  <yao.qi@linaro.org>
11482
11483         * defs.h (RequireLongest): New.
11484         (extract_integer): Declare function template.
11485         (extract_signed_integer): Remove the declaration, but define it
11486         static inline.
11487         (extract_unsigned_integer): Likewise.
11488         (store_integer): Declare function template.
11489         (store_signed_integer): Remove the declaration, but define it
11490         static inline.
11491         (store_unsigned_integer): Likewise.
11492         * findvar.c (extract_integer): New function template.
11493         (extract_signed_integer): Remove.
11494         (extract_unsigned_integer): Remove.
11495         (extract_integer<LONGEST>, extract_integer<ULONGEST>): Explicit
11496         instantiations.
11497         (store_integer): New function template.
11498         (store_signed_integer): Remove.
11499         (store_unsigned_integer): Remove.
11500         (store_integer): Explicit instantiations.
11501         * regcache.c (regcache_raw_read_signed): Update.
11502         (regcache::raw_read): New function.
11503         (regcache::raw_read_signed): Remove.
11504         (regcache::raw_read_unsigned): Remove.
11505         (regcache_raw_read_unsigned): Update.
11506         (regcache_raw_write_unsigned): Update.
11507         (regcache::raw_write_signed): Remove.
11508         (regcache::raw_write): New function.
11509         (regcache_cooked_read_signed): Update.
11510         (regcache::raw_write_unsigned): Remove.
11511         (regcache::cooked_read_signed): Remove.
11512         (regcache_cooked_read_unsigned): Update.
11513         (regcache::cooked_read_unsigned): Remove.
11514         (regcache_cooked_write_signed): Update.
11515         (regcache_cooked_write_unsigned): Update.
11516         * regcache.h (regcache) <raw_read_signed>: Remove.
11517         <raw_write_signed, raw_read_unsigned, raw_write_unsigned>: Remove.
11518         <raw_read, raw_write>: New.
11519         <cooked_read_signed, cooked_write_signed>: Remove.
11520         <cooked_write_unsigned, cooked_read_unsigned>: Remove.
11521         <cooked_read, cooked_write>: New.
11522         * sh64-tdep.c (sh64_pseudo_register_read): Update.
11523         (sh64_pseudo_register_write): Update.
11524
11525 2017-06-16  Anton Kolesov  <anton.kolesov@synopsys.com>
11526
11527         * arc-tdep.c (arc_disassembler_options): New variable.
11528         (arc_gdbarch_init): Set and use it. Use arc_delayed_print_insn instead
11529         of default_print_insn.
11530         (arc_delayed_print_insn): Set info->section when needed,
11531         use default_print_insn to retrieve a disassembler.
11532
11533 2017-06-14  Sergio Durigan Junior  <sergiodj@redhat.com>
11534
11535         PR gdb/21574
11536         * infcmd.c (_initialize_infcmd): Expand "help run" documentation
11537         to mention $SHELL and startup-with-shell.
11538
11539 2017-06-14  Max Filippov  <jcmvbkbc@gmail.com>
11540
11541         * MAINTAINERS: Move Maxim Grigoriev to the Past Maintainers.
11542
11543 2017-06-14  Yao Qi  <yao.qi@linaro.org>
11544
11545         * aarch64-tdep.c (aarch64_gdb_print_insn): Call
11546         default_print_insn instead of print_insn_aarch64.
11547         * arm-tdep.c (gdb_print_insn_arm): Call
11548         default_print_insn instead of print_insn_big_arm
11549         and print_insn_little_arm.
11550         * i386-tdep.c (i386_print_insn): Call default_print_insn
11551         instead of print_insn_i386.
11552         * ia64-tdep.c (ia64_print_insn): Call
11553         default_print_insn instead of print_insn_ia64.
11554         * mips-tdep.c (gdb_print_insn_mips): Call
11555         default_print_insn instead of print_insn_big_mips
11556         and print_insn_little_mips.
11557         * spu-tdep.c (gdb_print_insn_spu): Call default_print_insn
11558         instead of print_insn_spu.
11559
11560 2017-06-14  Pedro Alves  <palves@redhat.com>
11561
11562         * ada-lang.c: Include "common/byte-vector.h".
11563         (ada_value_primitive_packed_val): Use gdb::byte_vector.
11564         * charset.c (wchar_iterator::iterate): Resize the vector instead
11565         of reserving it.
11566         * common/byte-vector.h: Include "common/def-vector.h".
11567         (wchar_iterator::m_out): Now a gdb::def_vector<gdb_wchar_t>.
11568         * cli/cli-dump.c: Include "common/byte-vector.h".
11569         (dump_memory_to_file, restore_binary_file): Use gdb::byte_vector.
11570         * common/byte-vector.h: New file.
11571         * common/def-vector.h: New file.
11572         * common/default-init-alloc.h: New file.
11573         * dwarf2loc.c: Include "common/byte-vector.h".
11574         (rw_pieced_value): Use gdb::byte_vector, and resize the vector
11575         instead of reserving it.
11576         * dwarf2read.c: Include "common/byte-vector.h".
11577         (data_buf::m_vec): Now a gdb::byte_vector.
11578         * gdb_regex.c: Include "common/def-vector.h".
11579         (compiled_regex::compiled_regex): Use gdb::def_vector<char>.
11580         * mi/mi-main.c: Include "common/byte-vector.h".
11581         (mi_cmd_data_read_memory): Use gdb::byte_vector.
11582         * printcmd.c: Include "common/byte-vector.h".
11583         (print_scalar_formatted): Use gdb::byte_vector.
11584         * valprint.c: Include "common/byte-vector.h".
11585         (maybe_negate_by_bytes, print_decimal_chars): Use
11586         gdb::byte_vector.
11587
11588 2017-06-13  Simon Marchi  <simon.marchi@ericsson.com>
11589
11590         * darwin-nat.c: Include "nat/fork-inferior.h".
11591
11592 2017-06-13  Simon Marchi  <simon.marchi@ericsson.com>
11593
11594         * configure.nat: Factor out Darwin bits that are not
11595         architecture-specific.  Add fork-inferior.o.
11596
11597 2017-06-13  Simon Marchi  <simon.marchi@ericsson.com>
11598
11599         * configure.nat: Factor out AIX bits that are not
11600         architecture-specific.  Add fork-inferior.o.
11601
11602 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11603
11604         * dwarf2loc.c (rw_pieced_value): New.  Merge logic from...
11605         (read_pieced_value, write_pieced_value): ...here.  Reduce to
11606         wrappers that just call rw_pieced_value.
11607
11608 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11609
11610         * dwarf2loc.c (write_pieced_value): When writing the data for a
11611         memory piece, use write_memory_with_notification instead of
11612         write_memory.
11613
11614 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11615
11616         * valops.c (read_value_memory): Change embedded_offset to
11617         represent a bit offset instead of a byte offset.
11618         * value.h (read_value_memory): Adjust comment.
11619
11620 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11621
11622         * dwarf2loc.c (read_pieced_value): Remove unnecessary variables
11623         dest_offset_bits and source_offset_bits.
11624         (write_pieced_value): Likewise.
11625
11626 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11627
11628         * dwarf2loc.c (read_pieced_value): Respect the piece offset, as
11629         given by DW_OP_bit_piece.
11630         (write_pieced_value): Likewise.
11631
11632 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11633
11634         * dwarf2loc.c (read_pieced_value): Move the buffer allocation and
11635         some other preparations to the places where sufficient information
11636         is available.
11637         (write_pieced_value): Likewise.
11638
11639 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11640
11641         * dwarf2loc.c (bits_to_bytes): New function.
11642         (read_pieced_value): Fix offset calculations for register pieces
11643         on big-endian targets.
11644         (write_pieced_value): Likewise.
11645
11646 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11647
11648         * dwarf2loc.c (read_pieced_value): Remove buffer_size variable.
11649         (write_pieced_value): Likewise.
11650
11651 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11652
11653         * dwarf2loc.c (write_pieced_value): When writing to a bit-field,
11654         transfer the source value's least significant bits, instead of its
11655         lowest-addressed ones.  Rename type_len to max_offset.
11656         (read_pieced_value): Mirror above changes to write_pieced_value as
11657         applicable.
11658
11659 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11660
11661         * dwarf2loc.c (write_pieced_value): In DWARF_VALUE_MEMORY,
11662         truncate full bytes from dest_offset_bits before using it as an
11663         offset into the buffer.
11664
11665 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11666
11667         * dwarf2loc.c (write_pieced_value): Include transfer size in
11668         byte-wise check.
11669
11670 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11671
11672         * dwarf2loc.c (write_pieced_value): Fix copy/paste error in the
11673         calculation of this_size.
11674
11675 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11676
11677         * dwarf2loc.c (read_pieced_value): Respect parent value's offset
11678         when targeting a bit-field.
11679         (write_pieced_value): Likewise.
11680
11681 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11682
11683         * dwarf2loc.c (struct piece_closure) <addr_size>: Remove field.
11684         (allocate_piece_closure): Drop addr_size parameter.
11685         (dwarf2_evaluate_loc_desc_full): Adjust call to
11686         allocate_piece_closure.
11687
11688 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11689
11690         PR gdb/21226
11691         * dwarf2loc.c (read_pieced_value): Anchor stack value pieces at
11692         the LSB end, independent of endianness.
11693
11694 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11695
11696         * dwarf2loc.c (write_pieced_value): Fix order of calculations for
11697         size capping.
11698
11699 2017-06-13  Yao Qi  <yao.qi@linaro.org>
11700
11701         * mips-linux-nat.c: Move include features/mips*-linux.c to
11702         mips-linux-tdep.c.
11703         (_initialize_mips_linux_nat): Move initialize_tdesc_mips* calls
11704         to mips-linux-tdep.c.
11705         * mips-linux-tdep.c: Include features/mips*-linux.c
11706         (_initialize_mips_linux_tdep): Call initialize_tdesc_mips*
11707         functions.
11708         * mips-linux-tdep.h (tdesc_mips_linux): Declare.
11709         (tdesc_mips_dsp_linux, tdesc_mips64_linux): Declare.
11710         (tdesc_mips64_dsp_linux): Declare.
11711
11712 2017-06-12  Tom Tromey  <tom@tromey.com>
11713
11714         * valprint.h (val_print_type_code_int): Remove.
11715         * valprint.c (generic_val_print_int): Always call
11716         val_print_scalar_formatted.
11717         (val_print_type_code_int): Remove.
11718         * printcmd.c (print_scalar_formatted): Handle options->format==0.
11719         * f-valprint.c (f_val_print): Use val_print_scalar_formatted.
11720         * c-valprint.c (c_val_print_int): Use val_print_scalar_formatted.
11721         * ada-valprint.c (ada_val_print_num): Use
11722         val_print_scalar_formatted.
11723
11724 2017-06-12  Tom Tromey  <tom@tromey.com>
11725
11726         * printcmd.c (print_scalar_formatted): Unify the two switches.
11727         Don't convert scalars to LONGEST.
11728
11729 2017-06-12  Tom Tromey  <tom@tromey.com>
11730
11731         PR exp/16225:
11732         * valprint.h (print_decimal_chars): Update.
11733         * valprint.c (maybe_negate_by_bytes): New function.
11734         (print_decimal_chars): Add "is_signed" argument.
11735         * printcmd.c (print_scalar_formatted): Update.
11736
11737 2017-06-12  Tom Tromey  <tom@tromey.com>
11738
11739         PR exp/16225:
11740         * valprint.h (print_binary_chars, print_hex_chars): Update.
11741         * valprint.c (val_print_type_code_int): Update.
11742         (print_binary_chars): Add "zero_pad" argument.
11743         (emit_octal_digit): New function.
11744         (print_octal_chars): Don't zero-pad.
11745         (print_decimal_chars): Likewise.
11746         (print_hex_chars): Add "zero_pad" argument.
11747         * sh64-tdep.c (sh64_do_fp_register): Update.
11748         * regcache.c (regcache::dump): Update.
11749         * printcmd.c (print_scalar_formatted): Update.
11750         * infcmd.c (default_print_one_register_info): Update.
11751
11752 2017-06-12  Pedro Alves  <palves@redhat.com>
11753             Alan Hayward  <alan.hayward@arm.com>
11754
11755         * mips-tdep.c (MAX_MIPS_ABI_REGSIZE): New.
11756         (mips_eabi_push_dummy_call): Rename local 'regsize' to
11757         'abi_regsize'.  Rename local array 'valbuf' to 'ref_valbuf', and
11758         use MAX_MIPS_ABI_REGSIZE instead of MAX_REGISTER_SIZE to size it.
11759         Assert that abi_regsize bytes fit in 'ref_valbuf'.
11760
11761 2017-06-12  Pedro Alves  <palves@redhat.com>
11762
11763         * dwarf2read.c (mapped_symtab::data): Now a vector of
11764         symtab_index_entry instead of vector of
11765         std::unique_ptr<symtab_index_entry>.  All users adjusted to check
11766         whether an element's name is NULL instead of checking whether the
11767         element itself is NULL.
11768         (find_slot): Change return type.  Adjust.
11769         (hash_expand, , add_index_entry, uniquify_cu_indices)
11770         (write_hash_table): Adjust.
11771
11772 2017-06-12  Pedro Alves  <palves@redhat.com>
11773
11774         * dwarf2read.c (recursively_count_psymbols): New function.
11775         (write_psymtabs_to_index): Call it to compute number of psyms and
11776         pass estimate size of psyms_seen to unordered_set's ctor.
11777
11778 2017-06-12  Pedro Alves  <palves@redhat.com>
11779
11780         * dwarf2read.c (write_hash_table): Check if key already exists
11781         before emplacing.
11782
11783 2017-06-12  Pedro Alves  <palves@redhat.com>
11784
11785         * dwarf2read.c (data_buf::append_space): Rename to...
11786         (data_buf::grow): ... this, and make private.  Adjust all callers.
11787         (data_buf::append_uint): New method.
11788         (add_address_entry, write_one_signatured_type)
11789         (write_psymtabs_to_index): Use it.
11790
11791 2017-06-12  Pedro Alves  <palves@redhat.com>
11792
11793         * dwarf2read.c (file_write(FILE *, const void *, size_t)): Delete.
11794         (file_write (FILE *, const std::vector<Elem>&)): Delete.
11795         (data_buf::file_write): Call ::fwrite directly.
11796
11797 2017-06-12  Pedro Alves  <palves@redhat.com>
11798
11799         * dwarf2read.c (uniquify_cu_indices): Use std::unique and
11800         std::vector::erase.
11801
11802 2017-06-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
11803
11804         Code cleanup: C++ify .gdb_index producer.
11805         * dwarf2read.c: Include <unordered_set> and <unordered_map>.
11806         (MAYBE_SWAP) [WORDS_BIGENDIAN]: Cast to offset_type.
11807         (struct strtab_entry, hash_strtab_entry, eq_strtab_entry)
11808         (create_strtab, add_string): Remove.
11809         (file_write, data_buf): New.
11810         (struct symtab_index_entry): Use std::vector for cu_indices.
11811         (struct mapped_symtab): Use std::vector for data.
11812         (hash_symtab_entry, eq_symtab_entry, delete_symtab_entry)
11813         (create_symbol_hash_table, create_mapped_symtab, cleanup_mapped_symtab):
11814         Remove.
11815         (find_slot): Change return type.  Update it to the new data structures.
11816         (hash_expand, add_index_entry): Update it to the new data structures.
11817         (offset_type_compare): Remove.
11818         (uniquify_cu_indices): Update it to the new data structures.
11819         (c_str_view, c_str_view_hasher, vector_hasher): New.
11820         (add_indices_to_cpool): Remove.
11821         (write_hash_table): Update it to the new data structures.
11822         (struct psymtab_cu_index_map, hash_psymtab_cu_index)
11823         (eq_psymtab_cu_index): Remove.
11824         (psym_index_map): New typedef.
11825         (struct addrmap_index_data): Change addr_obstack pointer to data_buf
11826         reference and std::unordered_map for cu_index_htab.
11827         (add_address_entry, add_address_entry_worker, write_address_map)
11828         (write_psymbols): Update it to the new data structures.
11829         (write_obstack): Remove.
11830         (struct signatured_type_index_data): Change types_list to a data_buf
11831         reference and psyms_seen to a std::unordered_set reference.
11832         (write_one_signatured_type, recursively_write_psymbols)
11833         (write_psymtabs_to_index): Update it to the new data structures.
11834
11835 2017-06-11  Simon Marchi  <simon.marchi@ericsson.com>
11836
11837         * NEWS (Changes since GDB 8.0): Announce {set,show} debug
11838         separate-debug-file commands.
11839         * symfile.h (separate_debug_file_debug): New global.
11840         * symfile.c (separate_debug_file_debug): New global.
11841         (separate_debug_file_exists, find_separate_debug_file): Add
11842         debug output.
11843         (_initialize_symfile): Add "set debug separate-debug-file"
11844         command.
11845         * build-id.c (build_id_to_debug_bfd,
11846         find_separate_debug_file_by_buildid): Add debug output.
11847
11848 2017-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
11849
11850         * gdbarch.sh (displaced_step_free_closure): Remove.
11851         * gdbarch.h, gdbarch.c: Re-generate.
11852         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Don't set
11853         displaced_step_free_closure.
11854         * amd64-linux-tdep.c (amd64_linux_init_abi_common): Likewise.
11855         * arm-linux-tdep.c (arm_linux_init_abi): Likewise.
11856         * i386-linux-tdep.c (i386_linux_init_abi): Likewise.
11857         * rs6000-aix-tdep.c (rs6000_aix_init_osabi): Likewise.
11858         * rs6000-tdep.c (rs6000_gdbarch_init): Likewise.
11859         * s390-linux-tdep.c (s390_gdbarch_init): Likewise.
11860         * arch-utils.h (simple_displaced_step_free_closure): Remove.
11861         * arch-utils.c (simple_displaced_step_free_closure): Remove.
11862         * infrun.c (displaced_step_clear): Call xfree instead of
11863         gdbarch_displaced_step_free_closure.
11864
11865 2017-06-08  Sergio Durigan Junior  <sergiodj@redhat.com>
11866
11867         * common/common-utils.c (stringify_argv): Check for "arg[0] !=
11868         NULL".
11869
11870 2017-06-08 Alan Hayward  <alan.hayward@arm.com>
11871
11872         * mn10300-tdep.c (MN10300_MAX_REGISTER_SIZE): Add.
11873         (mn10300_extract_return_value): Use MN10300_MAX_REGISTER_SIZE.
11874         (mn10300_push_dummy_call): Likewise.
11875
11876 2017-06-08  Alan Hayward  <alan.hayward@arm.com>
11877
11878         * mi/mi-main.c (register_changed_p): Use value_contents_eq.
11879
11880 2017-06-08  Alan Hayward  <alan.hayward@arm.com>
11881
11882         * mi/mi-main.c (register_changed_p): Use cooked_read_value.
11883
11884 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
11885
11886         * NEWS (Changes since GDB 8.0): Announce that GDBserver is now
11887         able to start inferiors using a shell.
11888         (New remote packets): Announce new packet "QStartupWithShell".
11889         * remote.c: Add PACKET_QStartupWithShell.
11890         (extended_remote_create_inferior): Handle new
11891         PACKET_QStartupWithShell.
11892         (remote_protocol_features) <QStartupWithShell>: New entry for
11893         PACKET_QStartupWithShell.
11894         (_initialize_remote): Call "add_packet_config_cmd" for
11895         QStartupShell.
11896
11897 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
11898             Pedro Alves  <palves@redhat.com>
11899
11900         * Makefile.in (HFILES_NO_SRCDIR): Add "common/common-inferior.h"
11901         and "nat/fork-inferior.h".
11902         * common/common-inferior.h: New file, with contents from
11903         "gdb/inferior.h".
11904         * commom/common-utils.c: Include "common-utils.h".
11905         (stringify_argv): New function.
11906         * common/common-utils.h (stringify_argv): New prototype.
11907         * configure.nat: Add "fork-inferior.o" as a dependency for
11908         "*linux*", "fbsd*" and "nbsd*" hosts.
11909         * corefile.c (get_exec_file): Update comment.
11910         * darwin-nat.c (darwin_ptrace_him): Call "gdb_startup_inferior"
11911         instead of "startup_inferior".
11912         (darwin_create_inferior): Call "add_thread_silent" after
11913         "fork_inferior".
11914         * fork-child.c: Cleanup unnecessary includes.
11915         (SHELL_FILE): Move to "common/common-fork-child.c".
11916         (environ): Likewise.
11917         (exec_wrapper): Initialize.
11918         (get_exec_wrapper): New function.
11919         (breakup_args): Move to "common/common-fork-child.c"; rename to
11920         "breakup_args_for_exec".
11921         (escape_bang_in_quoted_argument): Move to
11922         "common/common-fork-child.c".
11923         (saved_ui): New variable.
11924         (prefork_hook): New function.
11925         (postfork_hook): Likewise.
11926         (postfork_child_hook): Likewise.
11927         (gdb_startup_inferior): Likewise.
11928         (fork_inferior): Move to "common/common-fork-child.c".  Update
11929         function to support gdbserver.
11930         (startup_inferior): Likewise.
11931         * gdbcore.h (get_exec_file): Remove declaration.
11932         * gnu-nat.c (gnu_create_inferior): Call "gdb_startup_inferior"
11933         instead of "startup_inferior".  Call "add_thread_silent" after
11934         "fork_inferior".
11935         * inf-ptrace.c: Include "nat/fork-inferior.h" and "utils.h".
11936         (inf_ptrace_create_inferior): Call "gdb_startup_inferior"
11937         instead of "startup_inferior".  Call "add_thread_silent" after
11938         "fork_inferior".
11939         * inferior.h: Include "common-inferior.h".
11940         (trace_start_error): Move to "common/common-utils.h".
11941         (trace_start_error_with_name): Likewise.
11942         (fork_inferior): Move prototype to "nat/fork-inferior.h".
11943         (startup_inferior): Likewise.
11944         (gdb_startup_inferior): New prototype.
11945         * nat/fork-inferior.c: New file, with contents from "fork-child.c".
11946         * nat/fork-inferior.h: New file.
11947         * procfs.c (procfs_init_inferior): Call "gdb_startup_inferior"
11948         instead of "startup_inferior".  Call "add_thread_silent" after
11949         "fork_inferior".
11950         * target.h (target_terminal_init): Move prototype to
11951         "target/target.h".
11952         (target_terminal_inferior): Likewise.
11953         (target_terminal_ours): Likewise.
11954         * target/target.h (target_terminal_init): New prototype, moved
11955         from "target.h".
11956         (target_terminal_inferior): Likewise.
11957         (target_terminal_ours): Likewise.
11958         * utils.c (gdb_flush_out_err): New function.
11959
11960 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
11961
11962         * Makefile.in (HFILES_NO_SRCDIR): Add "common/common-gdbthread.h".
11963         * common/common-gdbthread.h: New file, with parts from
11964         "gdb/gdbthread.h".
11965         * gdbthread.h: Include "common-gdbthread.h".
11966         (switch_to_thread): Moved to "common/common-gdbthread.h".
11967
11968 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
11969
11970         * Makefile.in (SFILES): Add "common/job-control.c".
11971         (HFILES_NO_SRCDIR): Add "common/job-control.h".
11972         (COMMON_OBS): Add "job-control.o".
11973         * common/job-control.c: New file, with contents from
11974         "gdb/inflow.c".
11975         * common/job-control.h: New file, with contents from "terminal.h".
11976         * fork-child.c: Include "job-control.h".
11977         * inflow.c: Include "job-control.h".
11978         (gdb_setpgid): Move to "common/common-inflow.c".
11979         (_initialize_inflow): Move setting of "job_control" to
11980         "handle_job_control".
11981         * terminal.h (job_control): Moved to "common/common-terminal.h".
11982         (gdb_setpgid): Likewise.
11983         * top.c: Include "job_control.h".
11984         * utils.c: Likewise.
11985         (job_control): Moved to "job-control.c".
11986
11987 2017-06-07  Pedro Alves  <palves@redhat.com>
11988
11989         * Makefile.in (SFILES): Add gdb_regex.c.
11990         (COMMON_OBS): Add gdb_regex.o.
11991         * ada-lang.c (ada_add_standard_exceptions)
11992         (ada_add_exceptions_from_frame, name_matches_regex)
11993         (ada_add_global_exceptions, ada_exceptions_list_1): Change regex
11994         parameter type to compiled_regex.  Adjust.
11995         (ada_exceptions_list): Use compiled_regex.
11996         * break-catch-throw.c (exception_catchpoint::pattern): Now a
11997         std::unique_ptr<compiled_regex>.
11998         (exception_catchpoint::~exception_catchpoint): Remove regfree
11999         call.
12000         (check_status_exception_catchpoint): Adjust to use compiled_regex.
12001         (handle_gnu_v3_exceptions): Adjust to use compiled_regex.
12002         * breakpoint.c (solib_catchpoint::compiled): Now a
12003         std::unique_ptr<compiled_regex>.
12004         (solib_catchpoint::~solib_catchpoint): Remove regfree call.
12005         (check_status_catch_solib): Adjust to use compiled_regex.
12006         (add_solib_catchpoint): Adjust to use compiled_regex.
12007         * cli/cli-cmds.c (apropos_command): Use compiled_regex.
12008         * cli/cli-decode.c (apropos_cmd): Change regex parameter to
12009         compiled_regex reference.  Adjust to use it.
12010         * cli/cli-decode.h: Remove struct re_pattern_buffer forward
12011         declaration.  Include "gdb_regex.h".
12012         (apropos_cmd): Change regex parameter to compiled_regex reference.
12013         * gdb_regex.c: New file.
12014         * gdb_regex.h (make_regfree_cleanup, get_regcomp_error): Delete
12015         declarations.
12016         (class compiled_regex): New.
12017         * linux-tdep.c: Include "common/gdb_optional.h".
12018         (struct mapping_regexes): New, factored out from
12019         mapping_is_anonymous_p, and adjusted to use compiled_regex.
12020         (mapping_is_anonymous_p): Use mapping_regexes wrapped in a
12021         gdb::optional and remove cleanups.  Adjust to compiled_regex.
12022         * probe.c: Include "common/gdb_optional.h".
12023         (collect_probes): Use compiled_regex and gdb::optional and remove
12024         cleanups.
12025         * skip.c: Include "common/gdb_optional.h".
12026         (skiplist_entry::compiled_function_regexp): Now a
12027         gdb::optional<compiled_regex>.
12028         (skiplist_entry::compiled_function_regexp_is_valid): Delete field.
12029         (free_skiplist_entry): Remove regfree call.
12030         (compile_skip_regexp, skip_rfunction_p): Adjust to use
12031         compiled_regex and gdb::optional.
12032         * symtab.c: Include "common/gdb_optional.h".
12033         (search_symbols): Use compiled_regex and gdb::optional.
12034         * utils.c (do_regfree_cleanup, make_regfree_cleanup)
12035         (get_regcomp_error, compile_rx_or_error): Delete.  Some bits moved
12036         to gdb_regex.c.
12037
12038 2017-06-07  Alan Hayward  <alan.hayward@arm.com>
12039
12040         * regcache.c (regcache::save): Avoid buffer use.
12041         (regcache::dump): Likewise.
12042
12043 2017-06-07  Alan Hayward  <alan.hayward@arm.com>
12044
12045         * sh-tdep.c (sh_pseudo_register_read): Remove
12046         MAX_REGISTER_SIZE.
12047         (sh_pseudo_register_write): Likewise.
12048         * sh64-tdep.c (sh64_pseudo_register_read): Likewise.
12049         (sh64_pseudo_register_write): Likewise
12050
12051 2017-06-07  Alan Hayward  <alan.hayward@arm.com>
12052
12053         * aarch64-tdep.c (aarch64_store_return_value): Use
12054         V_REGISTER_SIZE.
12055         (aarch64_pseudo_read_value): Likewise.
12056         (aarch64_pseudo_write): Likewise.
12057
12058 2017-06-06  Yao Qi  <yao.qi@linaro.org>
12059
12060         * regformats/regdef.h (set_register_cache): Remove the
12061         declaration.
12062
12063 2017-06-06 Alan Hayward  <alan.hayward@arm.com>
12064
12065         * frame.c (frame_unwind_register_signed): Use
12066         frame_unwind_register_value.
12067
12068 2017-06-06  Pedro Alves  <palves@redhat.com>
12069
12070         PR breakpoints/21553
12071         * breakpoint.c (create_breakpoints_sal_default)
12072         (init_breakpoint_sal, create_breakpoint_sal): Use
12073         gdb::unique_xmalloc_ptr for string parameters.
12074         (create_breakpoint): Constify 'extra_string' and 'cond_string'
12075         parameters.  Replace cleanups with gdb::unique_xmalloc_ptr.
12076         (base_breakpoint_create_breakpoints_sal)
12077         (bkpt_create_breakpoints_sal, tracepoint_create_breakpoints_sal)
12078         (strace_marker_create_breakpoints_sal)
12079         (create_breakpoints_sal_default): Use gdb::unique_xmalloc_ptr for
12080         string parameters.
12081         * breakpoint.h (breakpoint_ops::create_breakpoints_sal): Use
12082         gdb::unique_xmalloc_ptr for string parameters.
12083         (create_breakpoint): Constify 'extra_string' and 'cond_string'
12084         parameters.
12085
12086 2017-06-06  Alan Hayward  <alan.hayward@arm.com>
12087
12088         * alpha-tdep.c (alpha_register_to_value): Use
12089         get_frame_register_value.
12090         (alpha_value_to_register): Use ALPHA_REGISTER_SIZE.
12091
12092 2017-06-06  Alan Hayward  <alan.hayward@arm.com>
12093
12094         * ia64-tdep.c (IA64_MAX_FP_REGISTER_SIZE) Add.
12095         (ia64_register_to_value): Use IA64_MAX_FP_REGISTER_SIZE.
12096         (ia64_value_to_register): Likewise.
12097         (ia64_extract_return_value): Likewise.
12098         (ia64_store_return_value): Likewise.
12099         (ia64_push_dummy_call): Likewise.
12100
12101 2017-06-04  Joel Brobecker  <brobecker@adacore.com>
12102
12103         GDB 8.0 released.
12104
12105 2017-06-03  Simon Marchi  <simon.marchi@ericsson.com>
12106
12107         * x86-linux-nat.c (struct arch_lwp_info): Remove.
12108
12109 2017-06-03  Simon Marchi  <simon.marchi@polymtl.ca>
12110
12111         * linux-nat.c (linux_nat_post_attach_wait): Remove FIRST
12112         parameter.
12113         (linux_nat_attach): Adjust call to linux_nat_post_attach_wait.
12114
12115 2017-06-02  Simon Marchi  <simon.marchi@ericsson.com>
12116
12117         * event-loop.c (poll_timers): Unallocate timer using delete
12118         instead of xfree.
12119
12120 2017-06-02  Simon Marchi  <simon.marchi@polymtl.ca>
12121
12122         * breakpoint.h (struct breakpoint_ops) <dtor>: Remove.
12123         (struct breakpoint) <~breakpoint>: New.
12124         (struct watchpoint): Inherit from breakpoint.
12125         <~watchpoint>: New.
12126         <base>: Remove.
12127         (struct tracepoint): Inherit from breakpoint.
12128         <base>: Remove.
12129         * breakpoint.c (longjmp_breakpoint_ops): Remove.
12130         (struct longjmp_breakpoint): Inherit from breakpoint.
12131         <~longjmp_breakpoint>: New.
12132         <base>: Remove.
12133         (new_breakpoint_from_type): Remove casts.
12134         (watchpoint_in_thread_scope): Remove reference to base field.
12135         (watchpoint_del_at_next_stop): Likewise.
12136         (update_watchpoint): Likewise.
12137         (watchpoint_check): Likewise.
12138         (bpstat_check_watchpoint): Likewise.
12139         (set_longjmp_breakpoint): Likewise.
12140         (struct fork_catchpoint): Inherit from breakpoint.
12141         <base>: Remove.
12142         (struct solib_catchpoint): Inherit from breakpoint.
12143         <~solib_catchpoint>: New.
12144         <base>: Remove.
12145         (dtor_catch_solib): Change to ...
12146         (solib_catchpoint::~solib_catchpoint): ... this.
12147         (breakpoint_hit_catch_solib): Remove reference to base field.
12148         (add_solib_catchpoint): Likewise.
12149         (create_fork_vfork_event_catchpoint): Likewise.
12150         (struct exec_catchpoint): Inherit from breakpoint.
12151         <~exec_catchpoint>: New.
12152         <base>: Remove.
12153         (dtor_catch_exec): Change to ...
12154         (exec_catchpoint::~exec_catchpoint): ... this.
12155         (dtor_watchpoint): Change to ...
12156         (watchpoint::~watchpoint): ... this.
12157         (watch_command_1): Remove reference to base field.
12158         (catch_exec_command_1): Likewise.
12159         (base_breakpoint_dtor): Change to ...
12160         (breakpoint::~breakpoint): ... this.
12161         (base_breakpoint_ops): Remove dtor field value.
12162         (longjmp_bkpt_dtor): Change to ...
12163         (longjmp_breakpoint::~longjmp_breakpoint): ... this.
12164         (strace_marker_create_breakpoints_sal): Remove reference to base
12165         field.
12166         (delete_breakpoint): Don't manually call breakpoint destructor.
12167         (create_tracepoint_from_upload): Remove reference to base field.
12168         (trace_pass_set_count): Likewise.
12169         (initialize_breakpoint_ops): Don't initialize
12170         momentary_breakpoint_ops, don't set dtors.
12171         * ada-lang.c (struct ada_catchpoint): Inherit from breakpoint.
12172         <~ada_catchpoint>: New.
12173         <base>: Remove.
12174         (create_excep_cond_exprs): Remove reference to base field.
12175         (dtor_exception): Change to ...
12176         (ada_catchpoint::~ada_catchpoint): ... this.
12177         (dtor_catch_exception): Remove.
12178         (dtor_catch_exception_unhandled): Remove.
12179         (dtor_catch_assert): Remove.
12180         (create_ada_exception_catchpoint): Remove reference to base
12181         field.
12182         (initialize_ada_catchpoint_ops): Don't set dtors.
12183         * break-catch-sig.c (struct signal_catchpoint): Inherit from
12184         breakpoint.
12185         <~signal_catchpoint>: New.
12186         <base>: Remove.
12187         (signal_catchpoint_dtor): Change to ...
12188         (signal_catchpoint::~signal_catchpoint): ... this.
12189         (create_signal_catchpoint): Remove reference to base field.
12190         (initialize_signal_catchpoint_ops): Don't set dtor.
12191         * break-catch-syscall.c (struct syscall_catchpoint): Inherit
12192         from breakpoint.
12193         <~syscall_catchpoint>: New.
12194         <base>: Remove.
12195         (dtor_catch_syscall): Change to ...
12196         (syscall_catchpoint::~syscall_catchpoint): ... this.
12197         (create_syscall_event_catchpoint): Remove reference to base
12198         field.
12199         (initialize_syscall_catchpoint_ops): Don't set dtor.
12200         * break-catch-throw.c (struct exception_catchpoint): Inherit
12201         from breakpoint.
12202         <~exception_catchpoint>: New.
12203         <base>: Remove.
12204         (dtor_exception_catchpoint): Change to ...
12205         (exception_catchpoint::~exception_catchpoint): ... this.
12206         (handle_gnu_v3_exceptions): Remove reference to base field.
12207         (initialize_throw_catchpoint_ops): Don't set dtor.
12208         * ctf.c (ctf_get_traceframe_address): Remove reference to base
12209         field.
12210         * remote.c (remote_get_tracepoint_status): Likewise.
12211         * tracefile-tfile.c (tfile_get_traceframe_address): Likewise.
12212         * tracefile.c (tracefile_fetch_registers): Likewise.
12213         * tracepoint.c (actions_command): Likewise.
12214         (validate_actionline): Likewise.
12215         (tfind_1): Likewise.
12216         (get_traceframe_location): Likewise.
12217         (find_matching_tracepoint_location): Likewise.
12218         (parse_tracepoint_status): Likewise.
12219         * mi/mi-cmd-break.c (mi_cmd_break_passcount): Likewise.
12220
12221 2017-06-02  Simon Marchi  <simon.marchi@polymtl.ca>
12222
12223         * breakpoint.c (struct longjmp_breakpoint): New struct.
12224         (is_tracepoint_type): Change return type to bool.
12225         (is_longjmp_type): New function.
12226         (new_breakpoint_from_type): Handle longjmp kinds of breakpoints.
12227         (set_raw_breakpoint_without_location): Use
12228         new_breakpoint_from_type.
12229         (set_raw_breakpoint): Likewise.
12230
12231 2017-06-02  Simon Marchi  <simon.marchi@polymtl.ca>
12232
12233         * breakpoint.c (new_breakpoint_from_type): New function.
12234         (create_breakpoint_sal): Use new_breakpoint_from_type and
12235         unique_ptr.
12236         (create_breakpoint): Likewise.
12237
12238 2017-05-31  Simon Marchi  <simon.marchi@ericsson.com>
12239
12240         * memattr.c (mem_info_command): Rename to ...
12241         (info_mem_command): ... this.
12242         (mem_enable_command): Rename to ...
12243         (enable_mem_command): ... this.
12244         (mem_disable_command): Rename to ...
12245         (disable_mem_command): ... this.
12246         (mem_delete_command): Rename to ...
12247         (delete_mem_command): ... this.
12248         (_initialize_mem): Adjust function names.
12249
12250 2017-05-31  Markus Metzger  <markus.t.metzger@intel.com>
12251
12252         * btrace.c (handle_pt_insn_events): New.
12253         (ftrace_add_pt): Call handle_pt_insn_events.  Rename ERRCODE into
12254         STATUS.  Split into this and ...
12255         (handle_pt_insn_event_flags): ... this.
12256
12257 2017-05-31  Markus Metzger  <markus.t.metzger@intel.com>
12258
12259         * configure.ac: Check for pt_insn_event, struct pt_insn.enabled,
12260         and struct pt_insn.resynced.
12261         * configure: Regenerated.
12262         * config.in: Regenerated.
12263
12264 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12265
12266         * btrace.c (ftrace_find_call_by_number): New function.
12267         (ftrace_new_function): Store objects, not pointers.
12268         (ftrace_find_call_by_number, ftrace_new_return, ftrace_new_switch,
12269         ftrace_new_gap, ftrace_update_function,
12270         ftrace_compute_global_level_offset, btrace_stich_bts, btrace_clear,
12271         btrace_insn_get, btrace_insn_get_error, btrace_insn_end,
12272         btrace_insn_next, btrace_insn_prev, ptrace_find_insn_by_number,
12273         btrace_ends_with_single_insn, btrace_call_get): Account for
12274         btrace_thread_info::functions now storing objects.
12275         * btrace.h (struct btrace_thread_info): Add constructor.
12276         (struct btrace_thread_info) <functions>: Make std::vector.
12277         (struct btrace_thread_info) <prev, next, up, insn, errcode, flags):
12278         Initialize with default values.
12279         * record-btrace.c (record_btrace_frame_sniffer): Account for
12280         btrace_thread_info::functions now storing objects.
12281
12282 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12283
12284         * btrace.c: Remove typedef bfun_s.
12285         (ftrace_new_gap): Directly add gaps to the list of gaps.
12286         (btrace_bridge_gaps, btrace_compute_ftrace_bts, pt_btrace_insn_flags,
12287         ftrace_add_pt, btrace_compute_ftrace_pt, btrace_compute_ftrace_1,
12288         btrace_finalize_ftrace, btrace_compute_ftrace): Use std::vector
12289         instead of gdb VEC.
12290
12291 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12292
12293         * btrace.c (ftrace_fixup_caller, ftrace_new_return, ftrace_connect_bfun,
12294         ftrace_bridge_gap): Replace references to btrace_thread_info::segment
12295         with btrace_thread_info::next_segment and
12296         btrace_thread_info::prev_segment.
12297         * btrace.h: Remove struct btrace_func_link.
12298         (struct btrace_function): Replace pair of function segment pointers
12299         with pair of indices.
12300         * python/py-record-btrace.c (btpy_call_prev_sibling,
12301         btpy_call_next_sibling): Replace references to
12302         btrace_thread_info::segment with btrace_thread_info::next_segment and
12303         btrace_thread_info::prev_segment.
12304         * record-btrace.c (record_btrace_frame_this_id): Use
12305         btrace_find_call_by_number.
12306
12307 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12308
12309         * btrace.c (ftrace_new_function, ftrace_fixup_level,
12310         ftrace_connect_bfun, ftrace_bridge_gap, btrace_bridge_gaps,
12311         btrace_insn_next, btrace_insn_prev): Remove references to
12312         btrace_thread_info::flow.
12313         * btrace.h (struct btrace_function): Remove FLOW.
12314
12315 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12316
12317         * btrace.c (ftrace_find_call_by_number): New function.
12318         (ftrace_update_caller, ftrace_new_call, ftrace_new_tailcall,
12319         ftrace_get_caller, ftrace_find_call, ftrace_new_return,
12320         ftrace_match_backtrace, ftrace_connect_bfun, ftrace_connect_backtrace,
12321         ftrace_bridge_gap, btrace_bridge_gaps): Use btrace_function::up as an
12322         index.
12323         * btrace.h (struct btrace_function): Turn UP into an index.
12324         * python/py-record-btrace.c (btpy_call_up): Use btrace_function::up
12325         as an index.
12326         * record-btrace.c (record_btrace_frame_unwind_stop_reason,
12327         record_btrace_frame_prev_register, record_btrace_frame_sniffer,
12328         record_btrace_tailcall_frame_sniffe): Use btrace_find_call_by_number.
12329
12330 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12331
12332         * btrace.c (ftrace_new_function, ftrace_new_call, ftrace_new_tailcall,
12333         ftrace_new_return, ftrace_new_switch, ftrace_new_gap,
12334         ftrace_update_function, ftrace_compute_global_level_offset,
12335         btrace_compute_ftrace_bts, ftrace_add_pt, btrace_compute_ftrace_pt,
12336         btrace_stitch_bts, btrace_fetch, btrace_clear, btrace_insn_number,
12337         btrace_insn_end, btrace_is_empty): Remove references to
12338         btrace_thread_info::begin and btrace_thread_info::end.
12339         * btrace.h (struct btrace_thread_info): Remove BEGIN and END.
12340         (struct btrace_thread_info) <functions>: Adjust comment.
12341         * record-btrace.c (record_btrace_start_replaying): Remove reference to
12342         btrace_thread_info::begin.
12343
12344 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12345
12346         * btrace.c (ftrace_new_function, ftrace_new_call, ftrace_new_tailcall,
12347         ftrace_new_return, ftrace_new_switch, ftrace_new_gap,
12348         ftrace_update_function): Remove arguments that implicitly were always
12349         BTINFO->END.
12350         (btrace_compute_ftrace_bts, ftrace_add_pt, btrace_compute_ftrace_pt):
12351         Don't pass BTINFO->END.
12352
12353 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12354
12355         * btrace.c: (btrace_insn_get, btrace_insn_get_error, btrace_insn_number,
12356         btrace_insn_begin, btrace_insn_end, btrace_insn_next, btrace_insn_prev,
12357         btrace_find_insn_by_number): Replace function segment pointer with
12358         index.
12359         (btrace_insn_cmp): Simplify.
12360         * btrace.h: (struct btrace_insn_iterator) Rename index to
12361         insn_index.  Replace function segment pointer with index into function
12362         segment vector.
12363         * record-btrace.c (record_btrace_call_history): Replace function
12364         segment pointer use with index.
12365         (record_btrace_frame_sniffer): Retrieve function call segment through
12366         vector.
12367         (record_btrace_set_replay): Remove defunc't safety check.
12368
12369 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12370
12371         * btrace.c (btrace_ends_with_single_insn): New function.
12372         (btrace_call_get, btrace_call_number, btrace_call_begin,
12373         btrace_call_end, btrace_call_next, btrace_call_prev,
12374         btrace_find_call_by_number): Use index into call segment vector
12375         instead of pointer.
12376         (btrace_call_cmp): Simplify.
12377         * btrace.h (struct btrace_call_iterator): Replace function call segment
12378         pointer with index into vector.
12379         * record-btrace.c (record_btrace_call_history): Use index instead of
12380         pointer.
12381
12382 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12383
12384         * btrace.c (btrace_insn_begin, btrace_insn_end,
12385         btrace_find_insn_by_number): Add btinfo to iterator.
12386         * btrace.h (struct btrace_insn_iterator): Add btinfo.
12387
12388 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12389
12390         * btrace.c (ftrace_new_function): Add btrace_thread_info to arguments
12391         and save pointers directly.
12392         (ftrace_new_call, ftrace_new_tailcall, ftrace_new_return,
12393         ftrace_new_switch, ftrace_new_gap, ftrace_update_function,
12394         ftrace_add_pt): Add btrace_thread_info to arguments.  Adjust for
12395         changed signature of functions.
12396         (btrace_compute_ftrace_pt): Adjust for changed signature of functions.
12397         (btrace_fetch): Remove code that adds btrace_function pointers to
12398         vector of btrace_functions.
12399         (btrace_clear): Simplify freeing vector of btrace_functions.
12400
12401 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12402
12403         * btrace.c (btrace_fetch, btrace_clear, btrace_find_insn_by_number):
12404         Replace VEC_* with std::vector functions.
12405         * btrace.h: Add include: vector. Remove typedef for DEF_VEC_P.
12406         (struct btrace_thread_info)<functions>: Change type to std::vector.
12407
12408 2017-05-30  Simon Marchi  <simon.marchi@ericsson.com>
12409
12410         * NEWS (Changes in GDB 8.0): Remove extra empty line.  Move
12411         "Removed targets and native configurations" up.  Merge duplicate
12412         "New commands" sub-sections.  Add "New options" sub-sections.
12413
12414 2017-05-26  Alan Hayward  <alan.hayward@arm.com>
12415
12416         * defs.h (copy_integer_to_size): New declaration.
12417         * findvar.c (copy_integer_to_size): New function.
12418         (do_cint_test): New selftest function.
12419         (copy_integer_to_size_test): Likewise.
12420         (_initialize_findvar): Likewise.
12421         * mips-fbsd-tdep.c (mips_fbsd_supply_reg): Use raw_supply_integer.
12422         (mips_fbsd_collect_reg): Use raw_collect_integer.
12423         * mips-linux-tdep.c (supply_32bit_reg): Use raw_supply_integer.
12424         (mips64_fill_gregset): Use raw_collect_integer
12425         (mips64_fill_fpregset): Use raw_supply_integer.
12426         * regcache.c (regcache::raw_supply_integer): New function.
12427         (regcache::raw_collect_integer): Likewise.
12428         * regcache.h: (regcache::raw_supply_integer): New declaration.
12429         (regcache::raw_collect_integer): Likewise.
12430
12431 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12432
12433         * Makefile.in (SFILES): Add gdbarch-selftests.c.
12434         (COMMON_OBS): Add gdbarch-selftests.o.
12435         * frame.c [GDB_SELF_TESTS] (create_new_frame): New function.
12436         * frame.h [GDB_SELF_TESTS] (create_new_frame): Declare.
12437         * gdbarch-selftests.c: New file.
12438         * regcache.h (regcache) <~regcache>: Mark it virtual if
12439         GDB_SELF_TEST.
12440         <raw_write>: Likewise.
12441
12442 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12443
12444         * regcache.c (current_regcache): Change it to
12445         regcache::current_regcache.
12446         (regcache_observer_target_changed): Update.
12447         (regcache_thread_ptid_changed): Make it a regcache static
12448         method.
12449         (regcache_thread_ptid_changed): Update.
12450         (class regcache_access): New.
12451         (current_regcache_test): Update.
12452         (_initialize_regcache): Update.
12453         * regcache.h: Include forward_list.
12454         (regcache): Declare regcache_thread_ptid_changed and declare
12455         registers_changed_ptid as friend.
12456
12457 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12458
12459         * i387-tdep.c (i387_register_to_value): Use register_size
12460         instead of TYPE_LENGTH.
12461         * m68k-tdep.c (m68k_register_to_value): Likewise.
12462
12463 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12464
12465         * i387-tdep.c (i387_convert_register_p): Return false if type
12466         code isn't TYPE_CODE_FLT.
12467
12468 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12469
12470         * alpha-tdep.c (alpha_convert_register_p): Return true if type
12471         length is 4.
12472         (alpha_register_to_value): Remove type length check.
12473         (alpha_value_to_register): Likewise.
12474
12475 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12476
12477         * ia64-tdep.c (ia64_convert_register_p): Check type's code is
12478         TYPE_CODE_FLT.
12479
12480 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12481
12482         * m68k-tdep.c (m68k_convert_register_p): Check type's code is
12483         TYPE_CODE_FLT or not.
12484
12485 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12486
12487         * alpha-tdep.c (alpha_gdbarch_init): Use XCNEW instead of XNEW.
12488         * avr-tdep.c (avr_gdbarch_init): Likewise.
12489         * bfin-tdep.c (bfin_gdbarch_init): Likewise.
12490         * cris-tdep.c (cris_gdbarch_init): Likewise.
12491         * ft32-tdep.c (ft32_gdbarch_init): Likewise.
12492         * lm32-tdep.c (lm32_gdbarch_init): Likewise.
12493         * m32r-tdep.c (m32r_gdbarch_init): Likewise.
12494         * m68hc11-tdep.c (m68hc11_gdbarch_init): Likewise.
12495         * mep-tdep.c (mep_gdbarch_init): Likewise.
12496         * microblaze-tdep.c (microblaze_gdbarch_init): Likewise.
12497         * mips-tdep.c (mips_gdbarch_init): Likewise.
12498         * mn10300-tdep.c (mn10300_gdbarch_init): Likewise.
12499         * moxie-tdep.c (moxie_gdbarch_init): Likewise.
12500         * msp430-tdep.c (msp430_gdbarch_init): Likewise.
12501         * sh64-tdep.c (sh64_gdbarch_init): Likewise.
12502         * v850-tdep.c (v850_gdbarch_init): Likewise.
12503
12504 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12505
12506         * selftest-arch.c (tests_with_arch): Call registers_changed
12507         and reinit_frame_cache.
12508         * selftest.c (run_self_tests): Likewise.
12509
12510 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12511
12512         * rs6000-tdep.c (gdb_print_insn_powerpc): Remove.
12513         (rs6000_gdbarch_init): Don't call set_gdbarch_print_insn.
12514
12515 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12516
12517         * rl78-tdep.c (rl78_gdbarch_init): Don't call
12518         set_gdbarch_print_insn.
12519
12520 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12521
12522         * h8300-tdep.c (h8300_gdbarch_init): Don't call
12523         set_gdbarch_print_insn.
12524
12525 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12526
12527         * alpha-tdep.c (alpha_gdbarch_init): Don't call
12528         set_gdbarch_print_insn.
12529         * arc-tdep.c (arc_gdbarch_init): Likewise.
12530         * arch-utils.c: include dis-asm.h.
12531         (default_print_insn): New function.
12532         * arch-utils.h (default_print_insn): Declare.
12533         * avr-tdep.c (avr_gdbarch_init): Don't call set_gdbarch_print_insn.
12534         * bfin-tdep.c (bfin_gdbarch_init): Likewise.
12535         * cris-tdep.c (cris_delayed_get_disassembler): Remove.
12536         (cris_gdbarch_init): Don't call set_gdbarch_print_insn.
12537         * frv-tdep.c (frv_gdbarch_init): Likewise.
12538         * ft32-tdep.c (ft32_gdbarch_init): Likewise.
12539         * gdbarch.sh (print_insn): Use default_print_insn.
12540         * gdbarch.c: Regenerated.
12541         * hppa-tdep.c (hppa_gdbarch_init): Likewise.
12542         * iq2000-tdep.c (iq2000_gdbarch_init): Likewise.
12543         * lm32-tdep.c (lm32_gdbarch_init): Likewise.
12544         * m32c-tdep.c (m32c_gdbarch_init): Likewise.
12545         * m32r-tdep.c (m32r_gdbarch_init): Likewise.
12546         * m68hc11-tdep.c (gdb_print_insn_m68hc11): Remove.
12547         (m68hc11_gdbarch_init): Don't call set_gdbarch_print_insn.
12548         * m68k-tdep.c (m68k_gdbarch_init): Likewise.
12549         * m88k-tdep.c (m88k_gdbarch_init): Likewise.
12550         * microblaze-tdep.c (microblaze_gdbarch_init): Likewise.
12551         * mn10300-tdep.c (mn10300_gdbarch_init): Likewise.
12552         * moxie-tdep.c (moxie_gdbarch_init): Likewise.
12553         * msp430-tdep.c (msp430_gdbarch_init): Likewise.
12554         * mt-tdep.c (mt_gdbarch_init): Likewise.
12555         * nds32-tdep.c (nds32_gdbarch_init): Likewise.
12556         * nios2-tdep.c (nios2_print_insn): Remove.
12557         (nios2_gdbarch_init): Don't call set_gdbarch_print_insn.
12558         * rx-tdep.c (rx_gdbarch_init): Likewise.
12559         * s390-linux-tdep.c (s390_gdbarch_init): Likewise.
12560         * score-tdep.c (score_print_insn): Remove.
12561         (score_gdbarch_init): Don't call set_gdbarch_print_insn.
12562         * sh-tdep.c (sh_gdbarch_init): Likewise.
12563         * sh64-tdep.c (sh64_gdbarch_init): Likewise.
12564         * sparc-tdep.c (sparc32_gdbarch_init): Likewise.
12565         * tic6x-tdep.c (tic6x_print_insn): Remove.
12566         (tic6x_gdbarch_init): Don't call set_gdbarch_print_insn.
12567         * tilegx-tdep.c (tilegx_gdbarch_init): Likewise.
12568         * v850-tdep.c (v850_gdbarch_init): Likewise.
12569         * vax-tdep.c (vax_gdbarch_init): Likewise.
12570         * xstormy16-tdep.c (xstormy16_gdbarch_init): Likewise.
12571         * xtensa-tdep.c (xtensa_gdbarch_init): Likewise.
12572
12573 2017-05-23  John Baldwin  <jhb@FreeBSD.org>
12574
12575         * mips-fbsd-tdep.c (MIPS_PC_REGNUM): Remove.
12576         (MIPS_FP0_REGNUM): Remove.
12577         (MIPS_FSR_REGNUM): Remove.
12578         (mips_fbsd_supply_fpregs): Use mips_regnum.
12579         (mips_fbsd_supply_gregs): Likewise.
12580         (mips_fbsd_collect_fpregs): Likewise.
12581         (mips_fbsd_collect_gregs): Likewise.
12582
12583 2017-05-23  John Baldwin  <jhb@FreeBSD.org>
12584
12585         * mips-fbsd-nat.c (getregs_supplies): Fix upper bound comparison.
12586         (getpfpregs_supplies): New function.
12587         (mips_fbsd_fetch_inferior_registers): Remove early exit and use
12588         getfpregs_supplies.
12589         (mips_fbsd_store_inferior_registers): Likewise.
12590
12591 2017-05-22  Pedro Alves <palves@redhat.com>
12592
12593         * MAINTAINERS (Host/Native): Add John Baldwin as FreeBSD
12594         maintainer.
12595
12596 2017-05-22  Alan Hayward  <alan.hayward@arm.com>
12597
12598         * ppc-linux-nat.c (fetch_register): Use PPC_MAX_REGISTER_SIZE.
12599         (store_register): Likewise.
12600         * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Likewise.
12601         (get_decimal_float_return_value): Likewise.
12602         (do_ppc_sysv_return_value): Likewise.
12603         (ppc64_sysv_abi_push_integer): Likewise.
12604         (ppc64_sysv_abi_push_freg): Likewise.
12605         (ppc64_sysv_abi_return_value_base): Likewise.
12606         (ppc64_sysv_abi_return_value): Likewise.
12607         * rs6000-aix-tdep.c (rs6000_push_dummy_call): Likewise.
12608         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Likewise.
12609         * rs6000-nat.c: Likewise.
12610         * rs6000-tdep.c (rs6000_register_to_value): Likewise.
12611         (rs6000_value_to_register): Likewise.
12612         * ppc-tdep.h (PPC_MAX_REGISTER_SIZE): Add.
12613
12614 2017-05-21  Tom Tromey  <tom@tromey.com>
12615
12616         PR rust/21466:
12617         * rust-lang.c (rust_print_type) <TYPE_CODE_ARRAY>: Print unsized
12618         arrays as "[T]", not "[T; ]".
12619
12620 2017-05-19  Tom Tromey  <tom@tromey.com>
12621
12622         PR rust/21484:
12623         * rust-lang.c (exp_descriptor_rust): New function.
12624         (rust_language_defn): Use it.
12625         * p-lang.c (pascal_language_defn): Update.
12626         * opencl-lang.c (opencl_language_defn): Update.
12627         * objc-lang.c (objc_language_defn): Update.
12628         * m2-lang.c (m2_language_defn): Update.
12629         * language.h (struct language_defn)
12630         <la_watch_location_expression>: New member.
12631         * language.c (unknown_language_defn, auto_language_defn)
12632         (local_language_defn): Update.
12633         * go-lang.c (go_language_defn): Update.
12634         * f-lang.c (f_language_defn): Update.
12635         * d-lang.c (d_language_defn): Update.
12636         * c-lang.h (c_watch_location_expression): Declare.
12637         * c-lang.c (c_watch_location_expression): New function.
12638         (c_language_defn, cplus_language_defn, asm_language_defn)
12639         (minimal_language_defn): Use it.
12640         * breakpoint.c (watch_command_1): Call
12641         la_watch_location_expression.
12642         * ada-lang.c (ada_language_defn): Update.
12643
12644 2017-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12645
12646         PR tui/21482
12647         * gdb_curses.h (NOMACROS): Define.
12648         (NCURSES_NOMACROS): Define.
12649
12650 2017-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12651
12652         PR tui/21482
12653         * tui/tui-windata.c (tui_erase_data_content): Cast last mvwaddstr
12654         arg to char *.
12655         * tui/tui-wingeneral.c (box_win): Likewise.
12656         * tui/tui-winsource.c (tui_erase_source_content): Likewise.
12657         (tui_show_source_line): Likewise.
12658         (tui_show_exec_info_content): Likewise.
12659
12660 2017-05-19  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>
12661
12662         * sparc-tdep.c (sparc_structure_return_p)
12663         (sparc_arg_on_registers_p): New functions.
12664         (sparc32_store_arguments): Use them.
12665         * sparc64-tdep.c (sparc64_16_byte_align_p)
12666         (sparc64_store_floating_fields, sparc64_extract_floating_fields):
12667         Handle TYPE_CODE_ARRAY.
12668
12669 2017-05-17  Yao Qi  <yao.qi@linaro.org>
12670
12671         * cli/cli-decode.c (add_alias_cmd): New function.
12672         * command.h (add_alias_cmd): Declare.
12673         * infcmd.c (_initialize_infcmd): Don't call add_com_alias,
12674         instead call add_alias_cmd.
12675
12676 2017-05-17  Pedro Alves  <palves@redhat.com>
12677
12678         * Makefile.in (nat_extra_makefile_frag): Rename to ...
12679         (nat_makefile_frag): ... this.  All references updated.
12680         * configure.ac: Likewise.
12681         * configure.nat: Likewise.  Enhance comments.
12682         * configure: Regenerate.
12683
12684 2017-05-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12685
12686         * procfs.c (procfs_create_inferior): Change prototype to match
12687         definition.
12688
12689 2017-05-13  Eli Zaretskii  <eliz@gnu.org>
12690
12691         * tui/tui.c (tui_enable): Cast "unknown" to 'char *' to avoid a
12692         C++ compiler warning.
12693
12694 2017-05-12  Tom Tromey  <tom@tromey.com>
12695
12696         PR rust/21483:
12697         * rust-lang.c (rust_evaluate_subexp) <STRUCTOP_STRUCT>: Don't
12698         recurse, just call value_struct_elt directly.
12699
12700 2017-05-12  Tom Tromey  <tom@tromey.com>
12701
12702         * rust-lang.c (rust_dump_subexp_body) <STRUCTOP_ANONYMOUS,
12703         OP_RUST_ARRAY>: Fix.
12704
12705 2017-05-12  Tom Tromey  <tom@tromey.com>
12706
12707         * rust-lang.c (rust_print_subexp): Replace "return" with "break".
12708
12709 2017-05-09  Yao Qi  <yao.qi@linaro.org>
12710
12711         * regcache.c: Include <forward_list>.
12712         (struct regcache_list): Remove.
12713         (current_regcache): Update.
12714         (get_thread_arch_aspace_regcache): Update for std::forward_list.
12715         (regcache_thread_ptid_changed): Likewise.
12716         (registers_changed_ptid): Likewise.
12717         (current_regcache_size): Likewise.
12718
12719 2017-05-09  Yao Qi  <yao.qi@linaro.org>
12720
12721         * regcache.c [GDB_SELF_TEST]: Include selftest.h.
12722         (current_regcache_size): New function.
12723         (current_regcache_test): New function.
12724         (_initialize_regcache) [GDB_SELF_TEST]: Register the unit test.
12725
12726 2017-05-08  Alan Hayward  <alan.hayward@arm.com>
12727
12728         * mips-tdep.c (mips_o32_return_value): Remove unused buffer.
12729         (print_gp_register_row): Use get_frame_register_value.
12730
12731 2017-05-08  Alan Hayward  <alan.hayward@arm.com>
12732
12733         * mips-linux-tdep.c (mips_supply_gregset): Use raw_supply_zeroed.
12734         (mips_supply_fpregset): Likewise.
12735         (mips64_supply_gregset): Likewise.
12736
12737 2017-05-08  Alan Hayward  <alan.hayward@arm.com>
12738
12739         * mn10300-linux-tdep.c (am33_supply_gregset_method): Use 
12740         regcache->raw_supply_zeroed.
12741
12742 2017-05-06  Sergio Durigan Junior  <sergiodj@redhat.com>
12743
12744         * configure.nat: Rearrange 'case' statements to match
12745         host before cpu.
12746
12747 2017-05-06  Sergio Durigan Junior  <sergiodj@redhat.com>
12748
12749         * Makefile.in: Remove "@host_makefile_frag@".  Add variables
12750         NAT_FILE, NATDEPFILES, NAT_CDEPS, LOADLIBES, MH_CFLAGS, XM_CLIBS,
12751         NAT_GENERATED_FILES, HAVE_NATIVE_GCORE_HOST.  Add
12752         "@nat_extra_makefile_frag@".
12753         (Makefile): Remove dependency on "@frags@".
12754         ($(GNULIB_BUILDDIR)/Makefile): Likewise.
12755         (data-directory/Makefile): Likewise.
12756         * config/aarch64/linux.mh: Deleted; moved contents to
12757         "gdb/configure.nat".
12758         * config/alpha/alpha-linux.mh: Likewise.
12759         * config/alpha/nbsd.mh: Likewise.
12760         * config/arm/linux.mh: Likewise.
12761         * config/arm/nbsdelf.mh: Likewise.
12762         * config/i386/cygwin.mh: Likewise.
12763         * config/i386/cygwin64.mh: Likewise.
12764         * config/i386/darwin.mh: Likewise.
12765         * config/i386/fbsd.mh: Likewise.
12766         * config/i386/fbsd64.mh: Likewise.
12767         * config/i386/go32.mh: Likewise.
12768         * config/i386/i386gnu.mh: Likewise.
12769         * config/i386/i386sol2.mh: Likewise.
12770         * config/i386/linux.mh: Likewise.
12771         * config/i386/linux64.mh: Likewise.
12772         * config/i386/mingw.mh: Likewise.
12773         * config/i386/mingw64.mh: Likewise.
12774         * config/i386/nbsd64.mh: Likewise.
12775         * config/i386/nbsdelf.mh: Likewise.
12776         * config/i386/nto.mh: Likewise.
12777         * config/i386/obsd.mh: Likewise.
12778         * config/i386/obsd64.mh: Likewise.
12779         * config/i386/sol2-64.mh: Likewise.
12780         * config/ia64/linux.mh: Likewise.
12781         * config/m32r/linux.mh: Likewise.
12782         * config/m68k/linux.mh: Likewise.
12783         * config/m68k/nbsdelf.mh: Likewise.
12784         * config/m68k/obsd.mh: Likewise.
12785         * config/m88k/obsd.mh: Likewise.
12786         * config/mips/fbsd.mh: Likewise.
12787         * config/mips/linux.mh: Likewise.
12788         * config/mips/nbsd.mh: Likewise.
12789         * config/mips/obsd64.mh: Likewise.
12790         * config/pa/linux.mh: Likewise.
12791         * config/pa/nbsd.mh: Likewise.
12792         * config/pa/obsd.mh: Likewise.
12793         * config/powerpc/aix.mh: Likewise.
12794         * config/powerpc/fbsd.mh: Likewise.
12795         * config/powerpc/linux.mh: Likewise.
12796         * config/powerpc/nbsd.mh: Likewise.
12797         * config/powerpc/obsd.mh: Likewise.
12798         * config/powerpc/ppc64-linux.mh: Likewise.
12799         * config/powerpc/spu-linux.mh: Likewise.
12800         * config/s390/linux.mh: Likewise.
12801         * config/sh/nbsd.mh: Likewise.
12802         * config/sparc/fbsd.mh: Likewise.
12803         * config/sparc/linux.mh: Likewise.
12804         * config/sparc/linux64.mh: Likewise.
12805         * config/sparc/nbsd64.mh: Likewise.
12806         * config/sparc/nbsdelf.mh: Likewise.
12807         * config/sparc/obsd64.mh: Likewise.
12808         * config/sparc/sol2.mh: Likewise.
12809         * config/tilegx/linux.mh: Likewise.
12810         * config/vax/nbsdelf.mh: Likewise.
12811         * config/vax/obsd.mh: Likewise.
12812         * config/xtensa/linux.mh: Likewise.
12813         * config/i386/i386gnu.mn: New file, with excerpts from
12814         "config/i386/i386gnu.mh".
12815         * configure: Regenerate.
12816         * configure.ac: Rewrite code to use "gdb/configure.nat" instead of
12817         *.mh files under "gdb/config".
12818         * configure.nat: New file, with contents from the
12819         "gdb/config/*/*.mh" files.
12820
12821 2017-05-05  Tim Wiederhake  <tim.wiederhake@intel.com>
12822
12823         * btrace.c (btrace_clear): Free insn vector.
12824
12825 2017-05-05  Pedro Alves  <palves@redhat.com>
12826
12827         * warning.m4 (build_warnings): Add -Wno-error=maybe-uninitialized.
12828         * configure: Regenerate.
12829
12830 2017-05-04  Pedro Alves  <palves@redhat.com>
12831
12832         * Makefile.in (SFILES): Add progspace-and-thread.c.
12833         (HFILES_NO_SRCDIR): Add progspace-and-thread.h.
12834         (COMMON_OBS): Add progspace-and-thread.o.
12835         * breakpoint.c: Include "progspace-and-thread.h".
12836         (update_inserted_breakpoint_locations)
12837         (insert_breakpoint_locations, create_longjmp_master_breakpoint):
12838         Use scoped_restore_current_pspace_and_thread.
12839         (create_std_terminate_master_breakpoint): Use
12840         scoped_restore_current_program_space.
12841         (remove_breakpoint): Use scoped_restore_current_pspace_and_thread.
12842         (print_breakpoint_location): Use
12843         scoped_restore_current_program_space.
12844         (bp_loc_is_permanent): Use
12845         scoped_restore_current_pspace_and_thread.
12846         (resolve_sal_pc): Use scoped_restore_current_pspace_and_thread.
12847         (download_tracepoint_locations): Use
12848         scoped_restore_current_pspace_and_thread.
12849         (breakpoint_re_set): Use scoped_restore_current_pspace_and_thread.
12850         * exec.c (exec_close_1): Use scoped_restore_current_program_space.
12851         (enum step_over_calls_kind): Moved from inferior.h.
12852         (class scoped_restore_current_thread): New class.
12853         * gdbthread.h (make_cleanup_restore_current_thread): Delete
12854         declaration.
12855         (scoped_restore_current_thread): New class.
12856         * infcmd.c: Include "common/gdb_optional.h".
12857         (continue_1, proceed_after_attach): Use
12858         scoped_restore_current_thread.
12859         (notice_new_inferior): Use scoped_restore_current_thread.
12860         * inferior.c: Include "progspace-and-thread.h".
12861         (restore_inferior, save_current_inferior): Delete.
12862         (add_inferior_command, clone_inferior_command): Use
12863         scoped_restore_current_pspace_and_thread.
12864         * inferior.h (scoped_restore_current_inferior): New class.
12865         * infrun.c: Include "progspace-and-thread.h" and
12866         "common/gdb_optional.h".
12867         (follow_fork_inferior): Use
12868         scoped_restore_current_pspace_and_thread.
12869         (scoped_restore_exited_inferior): New class.
12870         (handle_vfork_child_exec_or_exit): Use
12871         scoped_restore_exited_inferior,
12872         scoped_restore_current_pspace_and_thread,
12873         scoped_restore_current_thread and scoped_restore.
12874         (fetch_inferior_event): Use scoped_restore_current_thread.
12875         * linespec.c (decode_line_full, decode_line_1): Use
12876         scoped_restore_current_program_space.
12877         * mi/mi-main.c: Include "progspace-and-thread.h".
12878         (exec_continue): Use scoped_restore_current_thread.
12879         (mi_cmd_exec_run): Use scoped_restore_current_pspace_and_thread.
12880         (mi_cmd_trace_frame_collected): Use scoped_restore_current_thread.
12881         * proc-service.c (ps_pglobal_lookup): Use
12882         scoped_restore_current_program_space.
12883         * progspace-and-thread.c: New file.
12884         * progspace-and-thread.h: New file.
12885         * progspace.c (release_program_space, clone_program_space): Use
12886         scoped_restore_current_program_space.
12887         (restore_program_space, save_current_program_space)
12888         (save_current_space_and_thread): Delete.
12889         (switch_to_program_space_and_thread): Moved to
12890         progspace-and-thread.c.
12891         * progspace.h (save_current_program_space)
12892         (save_current_space_and_thread): Delete declarations.
12893         (scoped_restore_current_program_space): New class.
12894         * remote.c (remote_btrace_maybe_reopen): Use
12895         scoped_restore_current_thread.
12896         * symtab.c: Include "progspace-and-thread.h".
12897         (skip_prologue_sal): Use scoped_restore_current_pspace_and_thread.
12898         * thread.c (print_thread_info_1): Use
12899         scoped_restore_current_thread.
12900         (struct current_thread_cleanup): Delete.
12901         (do_restore_current_thread_cleanup)
12902         (restore_current_thread_cleanup_dtor): Rename/convert both to ...
12903         (scoped_restore_current_thread::~scoped_restore_current_thread):
12904         ... this new dtor.
12905         (make_cleanup_restore_current_thread): Rename/convert to ...
12906         (scoped_restore_current_thread::scoped_restore_current_thread):
12907         ... this new ctor.
12908         (thread_apply_all_command): Use scoped_restore_current_thread.
12909         (thread_apply_command): Use scoped_restore_current_thread.
12910         * tracepoint.c (tdump_command): Use scoped_restore_current_thread.
12911         * varobj.c (value_of_root_1): Use scoped_restore_current_thread.
12912
12913 2017-05-04  Pedro Alves  <palves@redhat.com>
12914
12915         * thread.c (make_cleanup_restore_current_thread): Move
12916         find_thread_ptid call before the is_stopped call.  Assert that the
12917         thread is found.  Replace is_stopped call by checking the thread's
12918         state directly.  Remove unnecessary NULL-thread check.
12919
12920 2017-05-04  Pedro Alves  <palves@redhat.com>
12921
12922         * corelow.c (thread_section_name): New class.
12923         (get_core_register_section, get_core_siginfo): Use it.
12924
12925 2017-05-04  Andreas Arnez  <arnez@linux.vnet.ibm.com>
12926
12927         * corelow.c (sniff_core_bfd): Remove extra semicolon.
12928         (get_core_register_section): Remove xfree of NULL pointer.
12929
12930 2017-05-03  Alan Hayward  <alan.hayward@arm.com>
12931
12932         * frv-linux-tdep.c (frv_linux_supply_gregset): Use raw_supply_zeroed.
12933         * regcache.c (regcache::raw_supply_zeroed): New function.
12934         * regcache.h (regcache::raw_supply_zeroed): New declaration.
12935
12936 2017-05-03  Simon Marchi  <simon.marchi@ericsson.com>
12937
12938         * gdbarch.sh: Remove commented out definition of
12939         TARGET_CHAR_BIT.
12940         * gdbarch.h: Re-generate.
12941
12942 2017-05-03  Sergio Durigan Junior  <sergiodj@redhat.com>
12943
12944         * configure: Regenerate.
12945
12946 2017-05-02  Simon Marchi  <simon.marchi@ericsson.com>
12947
12948         * solib-target.c (solib_target_relocate_section_addresses):
12949         Remove num_section_bases, num_bases, segment_bases variables.
12950
12951 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
12952
12953         * common/gdb_vecs.h (DEF_VEC_I (CORE_ADDR)): Remove.
12954
12955 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
12956
12957         * solib-target.c: Include <vector>
12958         (struct lm_info_target) <~lm_info_target>: Remove.
12959         <segment_bases, section_bases>: Change type to
12960         std::vector<CORE_ADDR>.
12961         (library_list_start_segment, library_list_start_section,
12962         library_list_end_library,
12963         solib_target_relocate_section_addresses): Adjust.
12964
12965 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
12966
12967         * gdbarch.sh (software_single_step): Change return type to
12968         std::vector<CORE_ADDR>.
12969         * gdbarch.c, gdbarch.h: Re-generate.
12970         * arch/arm-get-next-pcs.c (thumb_deal_with_atomic_sequence_raw):
12971         Adjust.
12972         (arm_deal_with_atomic_sequence_raw): Adjust.
12973         (thumb_get_next_pcs_raw): Adjust.
12974         (arm_get_next_pcs_raw): Adjust.
12975         (arm_get_next_pcs): Adjust.
12976         * arch/arm-get-next-pcs.h (arm_get_next_pcs): Adjust.
12977         * aarch64-tdep.c (aarch64_software_single_step): Adjust.
12978         * alpha-tdep.c (alpha_deal_with_atomic_sequence): Adjust.
12979         (alpha_software_single_step): Adjust.
12980         * alpha-tdep.h (alpha_software_single_step): Adjust.
12981         * arm-linux-tdep.c (arm_linux_software_single_step): Adjust.
12982         * arm-tdep.c (arm_software_single_step): Adjust.
12983         (arm_breakpoint_kind_from_current_state): Adjust.
12984         * arm-tdep.h (arm_software_single_step): Adjust.
12985         * breakpoint.c (insert_single_step_breakpoint): Adjust.
12986         * cris-tdep.c (cris_software_single_step): Adjust.
12987         * mips-tdep.c (mips_deal_with_atomic_sequence): Adjust.
12988         (micromips_deal_with_atomic_sequence): Adjust.
12989         (deal_with_atomic_sequence): Adjust.
12990         (mips_software_single_step): Adjust.
12991         * mips-tdep.h (mips_software_single_step): Adjust.
12992         * moxie-tdep.c (moxie_software_single_step): Adjust.
12993         * nios2-tdep.c (nios2_software_single_step): Adjust.
12994         * ppc-tdep.h (ppc_deal_with_atomic_sequence): Adjust.
12995         * rs6000-aix-tdep.c (rs6000_software_single_step): Adjust.
12996         * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Adjust.
12997         * s390-linux-tdep.c (s390_software_single_step): Adjust.
12998         * sparc-tdep.c (sparc_software_single_step): Adjust.
12999         * spu-tdep.c (spu_software_single_step): Adjust.
13000         * tic6x-tdep.c (tic6x_software_single_step): Adjust.
13001
13002 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
13003
13004         * gdbarch.sh: Use semi-colon as field separator instead of colon.
13005         * gdbarch.h: Re-generate.
13006
13007 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13008
13009         * Makefile.in (SUBDIR_PYTHON_OBS): Add py-instruction.o.
13010         (SUBDIR_PYTHON_SRCS): Add py-instruction.c.
13011         * python/py-instruction.c, python/py-instruction.h: New file.
13012         * python/py-record.c: Add py-instruction.h include.
13013         (gdbpy_initialize_record): Make gdb.Instruction a super class of
13014         gdb.RecordInstruction.
13015         * python/python-internal.h: Add gdbpy_initialize_instruction
13016         declaration.
13017         * python/python.c (do_start_initialization): Add
13018         gdbpy_initialize_instruction.
13019
13020 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13021
13022         * python/py-record-btrace.c (BTPY_REQUIRE_VALID_CALL, btpy_call_type):
13023         Remove.
13024         (btrace_func_from_recpy_func): New function.
13025         (btpy_call_new, btpy_number, btpy_hash, btpy_richcompare): Remove.
13026         (btpy_call_level, btpy_call_symbol, btpy_call_instructions,
13027         btpy_call_up, btpy_call_prev_sibling, btpy_call_next_sibling): Rename to ...
13028         (recpy_bt_func_level, recpy_bt_func_symbol, recpy_bt_func_instructions,
13029         recpy_bt_func_up, recpy_bt_func_prev, recpy_bt_func_next): This.
13030         Also, use new helper functions.
13031         (btpy_list_item): Use new helper functions.
13032         (recpy_bt_function_call_history): Use new type name.
13033         (btpy_call_getset): Remove.
13034         (gdbpy_initialize_btrace): Remove code to initialize
13035         gdb.BtraceFunctionCall.
13036         * python/py-record-btrace.h (recpy_bt_func_number, recpy_btb_func_level,
13037         recpy_btb_func_symbol, recpy_bt_func_instructions, recpy_bt_func_up,
13038         recpy_bt_func_prev, recpy_bt_func_next): New export.
13039         * python/py-record.c (recpy_func_type): New static object.
13040         (recpy_func_new, recpy_func_level, recpy_func_symbol,
13041         recpy_func_instructions, recpy_func_up, recpy_func_prev,
13042         recpy_func_next): New function.
13043         (recpy_element_hash, recpy_element_richcompare): Updated comment.
13044         (recpy_func_getset): New static object.
13045         (gdbpy_initialize_record): Add code to initialize gdb.RecordInstruction.
13046         * python/py-record.h (recpy_func_type, recpy_func_new): New export.
13047
13048 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13049
13050         * python/py-record-btrace.c (BTPY_REQUIRE_VALID_INSN): Remove.
13051         (btpy_object, btpy_insn_type, btpy_new): Remove.
13052         (btpy_list_object): Use gdb.RecordInstruction type instead of
13053         gdb.BtraceInstruction type.
13054         (btrace_insn_from_recpy_insn): New function.
13055         (btpy_insn_or_gap_new): Adjust comment. Use recpy_insn_new instead of
13056         btpy_new.
13057         (btpy_call_new, btpy_list_item): Do not use btpy_new anymore.
13058         (btpy_number, btpy_hash, btpy_call_level, btpy_call_symbol,
13059         btpy_call_instructions, btpy_call_up, btpy_call_prev_sibling,
13060         btpy_call_next_sibling, btpy_richcompare): Use recpy_element_object
13061         instead of btpy_object.
13062         (btpy_insn_sal, btpy_insn_pc, btpy_insn_size, btpy_insn_is_speculative,
13063         btpy_insn_data, btpy_insn_decode): Rename to ...
13064         (recpy_bt_insn_sal, recpy_bt_insn_pc, recpy_bt_insn_size,
13065         recpy_bt_insn_is_speculative, recpy_bt_insn_data,
13066         recpy_bt_insn_decode): This.  Also, use new helper functions.
13067         (btpy_list_position, recpy_bt_goto): Use recpy_element_object and
13068         recpy_insn_type.
13069         (btpy_insn_getset): Remove.
13070         (gdbpy_initialize_btrace): Remove code to initialize
13071         gdb.BtraceInstruction.  Use recpy_element_object.
13072         * python/py-record-btrace.h (recpy_bt_insn_number, recpy_bt_insn_sal,
13073         recpy_bt_insn_pc, recpy_bt_insn_data, recpy_bt_insn_decoded,
13074         recpy_bt_insn_size, recpy_bt_insn_is_speculative): New export.
13075         * python/py-record.c (recpy_insn_type): New static object.
13076         (recpy_insn_new, recpy_insn_sal, recpy_insn_pc, recpy_insn_data,
13077         recpy_insn_decoded, recpy_insn_size, recpy_insn_is_speculative,
13078         recpy_element_number, recpy_element_hash, recpy_element_richcompare):
13079         New function.
13080         (recpy_insn_getset): New static object.
13081         (gdbpy_initialize_record): Initialize gdb.RecordInstruction.
13082         * python/py-record.h (recpy_element_object): New typedef.
13083         (recpy_insn_type, recpy_insn_new): New export.
13084
13085 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13086
13087         * py-record-btrace.c (btpy_insn_new): Removed.
13088         (btpy_insn_or_gap_new): New function.
13089         (btpy_insn_error): Removed.
13090         (btpy_insn_sal, btpy_insn_pc, btpy_insn_size, btpy_insn_is_speculative,
13091         btpy_insn_data, btpy_insn_decode): Remove code path for gaps.
13092         (recpy_bt_replay_position, recpy_bt_begin, recpy_bt_end): Call
13093         btpy_insn_or_gap_new instead of btpy_insn_new.
13094         (btpy_insn_getset): Remove btpy_insn_error.
13095         * py-record.c (recpy_gap_type): New static object.
13096         (recpy_gap_object): New typedef.
13097         (recpy_gap_new, recpy_gap_number, recpy_gap_reason_code,
13098         recpy_gap_reason_string): New function.
13099         (recpy_gap_getset): New static object.
13100         (gdbpy_initialize_record): Initialize gdb.RecordGap type.
13101         * py-record.h (recpy_gap_new): New export.
13102
13103 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13104
13105         * python/py-record.c (recpy_ptid): Remove.
13106         (recpy_record_getset): Remove recpy_ptid.
13107
13108 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13109
13110         * btrace.c (btrace_fetch): Set inferior_ptid.
13111         * python/py-record-btrace.c: Add "py-record.h" include.
13112         (recpy_bt_format, recpy_bt_replay_position, recpy_bt_begin,
13113         recpy_bt_end, recpy_bt_instruction_history,
13114         recpy_bt_function_call_history, recpy_bt_goto): Use ptid stored
13115         in gdb.Record object instead of current ptid.
13116         * python/py-record.c: Include new "py-record.h" file.
13117         (recpy_record_object): Moved to py-record.h.
13118         * python/py-record.h: New file.
13119
13120 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13121
13122         * python/py-record-btrace.c (BTPY_REQUIRE_VALID_INSN,
13123         BTPY_REQUIRE_VALID_CALL, recpy_bt_function_call_history): Fix
13124         indentation.
13125
13126 2017-05-01  Joel Brobecker  <brobecker@adacore.com>
13127
13128         * MAINTAINERS: Move Daniel Jacobowitz and Mark Kettenis to
13129         the past maintainers section.
13130
13131 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13132
13133         * infcmd.c (get_return_value): Use regcache ctor, and remove
13134         cleanup.
13135
13136 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13137             Pedro Alves  <palves@redhat.com>
13138
13139         * regcache.c (regcache::regcache): New tag dispatch ctor.
13140         (do_cooked_read): Moved above.
13141         (regcache_dup): Use the tag dispatch ctor..
13142         * regcache.h (regcache): Declare ctor, delete copy ctor and
13143         assignment operator, remove friend regcache_dup.
13144
13145 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13146
13147         * regcache.c (regcache_dup): Assert !src->m_readonly_p and
13148         call method save instead of regcache_cpy.
13149         * regcache.h (struct regcache): Make regcache_dup a friend.
13150
13151 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13152
13153         * regcache.c (struct regcache): Move to regcache.h
13154         (regcache::arch): New method.
13155         (regcache_get_ptid): Update.
13156         (get_regcache_arch): Call arch method.
13157         (get_regcache_aspace): Call method aspace.
13158         (register_buffer): Change it to method.
13159         (regcache_save): Change it to regcache::save.
13160         (regcache_restore): Likewise.
13161         (regcache_cpy_no_passthrough): Remove the declaration.
13162         (regcache_cpy): Call methods restore and cpy_no_passthrough.
13163         (regcache_cpy_no_passthrough): Change it to method
13164         cpy_no_passthrough.
13165         (regcache_register_status): Change it to method
13166         get_register_status.
13167         (regcache_invalidate): Change it to method invalidate.
13168         (regcache_thread_ptid_changed): Use methods ptid and set_ptid.
13169         (regcache_raw_update): Change it to method raw_update.
13170         (regcache_raw_read): Likewise.
13171         (regcache_raw_read_signed): Likewise.
13172         (regcache_raw_read_unsigned): Likewise.
13173         (regcache_raw_write_signed): Likewise.
13174         (regcache_raw_write_unsigned): Likewise.
13175         (regcache_cooked_read): Likewise.
13176         (regcache_cooked_read_value): Likewise.
13177         (regcache_cooked_read_signed): Likewise.
13178         (regcache_cooked_read_unsigned): Likewise.
13179         (regcache_cooked_write_signed): Likewise.
13180         (regcache_cooked_write_unsigned): Likewise.
13181         (regcache_raw_set_cached_value): Likewise.
13182         (regcache_raw_write): Likewise.
13183         (regcache_cooked_write): Likewise.
13184         (regcache_xfer_part): Likewise.
13185         (regcache_raw_read_part): Likewise.
13186         (regcache_raw_write_part): Likewise.
13187         (regcache_cooked_read_part): Likewise.
13188         (regcache_cooked_write_part): Likewise.
13189         (regcache_raw_supply): Likewise.
13190         (regcache_raw_collect): Likewise.
13191         (regcache_transfer_regset): Likewise.
13192         (regcache_supply_regset): Likewise.
13193         (regcache_collect_regset): Likewise.
13194         (regcache_debug_print_register): Likewise.
13195         (enum regcache_dump_what): Move it to regcache.h.
13196         (regcache_dump): Change it to method dump.
13197         * regcache.h (enum regcache_dump_what): New.
13198         (class regcache): New.
13199         * target.c (target_fetch_registers): Call method
13200         debug_print_register.
13201         (target_store_registers): Likewise.
13202
13203 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13204
13205         * windows-nat.c (struct lm_info_windows): Initialize field.
13206         (windows_make_so): Allocate lm_info_windows with new.
13207         (windows_free_so): Free lm_info_windows with delete.
13208
13209 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13210
13211         * solib-darwin.c (struct lm_info_darwin): Initialize field.
13212         (darwin_current_sos): Allocate lm_info_darwin with new, remove
13213         cleanup.
13214         (darwin_free_so): Free lm_info_darwin with delete.
13215
13216 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13217
13218         * solib-svr4.h (struct lm_info_svr4): Initialize fields.
13219         <l_addr_p>: Change type to bool.
13220         * solib-svr4.c (lm_info_read): Allocate lm_info_svr4 with new.
13221         (svr4_free_so): Free lm_info_svr4 with delete.
13222         (svr4_copy_library_list): Replace memcpy with call to copy
13223         constructor.
13224         (library_list_start_library, svr4_default_sos): Allocate
13225         lm_info_svr4 with new.
13226
13227 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13228
13229         * solib-target.c (struct lm_info_target): Add destructor,
13230         initialize fields.
13231         <name>: Change type to std::string.
13232         (library_list_start_library): Allocate lm_info_target with new.
13233         (solib_target_free_library_list): Free lm_info_target with
13234         delete.
13235         (solib_target_current_sos): Adapt to std::string.
13236         (solib_target_free_so): Free lm_info_target with delete.
13237
13238 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13239
13240         * solib-frv.c (struct lm_info_frv): Add destructor, initialize
13241         fields.
13242         (frv_current_sos): Allocate lm_info_frv with new.
13243         (frv_relocate_main_executable): Free lm_info_frv with delete,
13244         allocate with new.
13245         (frv_clear_solib, frv_free_so): Free lm_info_frv with delete.
13246
13247 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13248
13249         * solib-frv.c (struct lm_info_frv): Fix indentation.
13250
13251 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13252
13253         * solib-dsbt.c (struct lm_info_dsbt): Add destructor, initialize
13254         map field.
13255         (dsbt_current_sos): Allocate lm_info_dsbt with new.
13256         (dsbt_relocate_main_executable): Free lm_info_dsbt with delete
13257         and allocate with new.
13258         (dsbt_clear_solib, dsbt_free_so): Free lm_info_dsbt with delete.
13259
13260 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13261
13262         * solib-aix.c (struct lm_info_aix): Initialize fields in-class.
13263         <filename, member_name>: Change type to std::string.
13264         (solib_aix_new_lm_info, solib_aix_xfree_lm_info): Remove.
13265         (library_list_start_library): Allocate lm_info_aix with new.
13266         (solib_aix_free_library_list, solib_aix_free_so): Free with delete.
13267         (solib_aix_current_sos): Adapt to std::string, copy lm_info_aix
13268         with copy constructor.
13269
13270 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13271
13272         * solist.h (struct lm_info): Remove.
13273         (struct lm_info_base): New class.
13274         (struct so_list) <lm_info>: Change type to lm_info_base *.
13275         * nto-tdep.c (struct lm_info): Remove.
13276         (lm_addr): Adjust.
13277         * solib-aix.c (struct lm_info): Rename to ...
13278         (struct lm_info_aix): ... this.  Extend lm_info_base.
13279         (lm_info_p): Rename to ...
13280         (lm_info_aix_p): ... this, and adjust.
13281         (solib_aix_new_lm_info, solib_aix_xfree_lm_info,
13282         solib_aix_parse_libraries, library_list_start_library,
13283         solib_aix_free_library_list, solib_aix_parse_libraries,
13284         solib_aix_get_library_list,
13285         solib_aix_relocate_section_addresses, solib_aix_free_so,
13286         solib_aix_get_section_offsets,
13287         solib_aix_solib_create_inferior_hook, solib_aix_current_sos):
13288         Adjust.
13289         (struct solib_aix_inferior_data) <library_list>: Adjust.
13290         * solib-darwin.c (struct lm_info): Rename to ...
13291         (struct lm_info_darwin): ... this.  Extend lm_info_base.
13292         (darwin_current_sos, darwin_relocate_section_addresses): Adjust.
13293         * solib-dsbt.c (struct lm_info): Rename to ...
13294         (struct lm_info_dsbt): ... this.  Extend lm_info_base.
13295         (struct dsbt_info) <main_executable_lm_info): Adjust.
13296         (dsbt_current_sos, dsbt_relocate_main_executable, dsbt_free_so,
13297         dsbt_relocate_section_addresses): Adjust.
13298         * solib-frv.c (struct lm_info): Rename to ...
13299         (struct lm_info_frv): ... this.  Extend lm_info_base.
13300         (main_executable_lm_info): Adjust.
13301         (frv_current_sos, frv_relocate_main_executable, frv_free_so,
13302         frv_relocate_section_addresses, frv_fdpic_find_global_pointer,
13303         find_canonical_descriptor_in_load_object,
13304         frv_fdpic_find_canonical_descriptor): Adjust.
13305         * solib-svr4.c (struct lm_info): Move to solib-svr4.h, renamed
13306         to lm_info_svr4.
13307         (lm_info_read, lm_addr_check, svr4_keep_data_in_core,
13308         svr4_clear_so, svr4_copy_library_list,
13309         library_list_start_library, svr4_default_sos, svr4_read_so_list,
13310         svr4_current_sos, svr4_fetch_objfile_link_map,
13311         solist_update_incremental): Adjust.
13312         * solib-svr4.h (struct lm_info_svr4): Move here from
13313         solib-svr4.c.
13314         * solib-target.c (struct lm_info): Rename to ...
13315         (struct lm_info_target): ... this.  Extend lm_info_base.
13316         (lm_info_p): Rename to ...
13317         (lm_info_target_p): ... this.
13318         (solib_target_parse_libraries, library_list_start_segment,
13319         library_list_start_section, library_list_start_library,
13320         library_list_end_library, solib_target_free_library_list,
13321         solib_target_current_sos, solib_target_free_so,
13322         solib_target_relocate_section_addresses): Adjust.
13323         * windows-nat.c (struct lm_info): Rename to ...
13324         (struct lm_info_windows): ... this.  Extend lm_info_base.
13325         (windows_make_so, handle_load_dll, handle_unload_dll,
13326         windows_xfer_shared_libraries): Adjust.
13327
13328 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13329
13330         * solib-darwin.c (struct darwin_so_list): Remove.
13331         (darwin_current_sos): Allocate an so_list object instead of a
13332         darwin_so_list, separately allocate an lm_info object.
13333         (darwin_free_so): Free lm_info.
13334
13335 2017-04-28  John Baldwin  <jhb@FreeBSD.org>
13336
13337         * mips-tdep.c (print_gp_register_row): Replace printf_filtered
13338         with fprintf_filtered.
13339
13340 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13341
13342         * regcache.c (regcache::regcache): New function.
13343         (regcache::~regcache): New function.
13344         (regcache_xmalloc_1): Remove.
13345         (regcache_xmalloc): Call new regcache.
13346         (regcache_xfree): Call delete regcache.
13347         (get_thread_arch_aspace_regcache): Call new regcache.
13348
13349 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13350
13351         * mips-linux-nat.c (mips_linux_new_thread): Use ptid method
13352         lwp instead of ptid_get_lwp.
13353
13354 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13355
13356         * mips-linux-nat.c (mips_linux_new_thread): Get lwpid from
13357         lwp_info instead of getting from inferior_ptid.
13358
13359 2017-04-27  Keith Seitz  <keiths@redhat.com>
13360
13361         * gdbtypes.c (LVALUE_REFERENCE_TO_RVALUE_BINDING_BADNESS)
13362         DIFFERENT_REFERENCE_TYPE_BADNESS): Remove.
13363         (CV_CONVERSION_BADNESS): Define.
13364         (rank_one_type): Remove overly restrictive rvalue reference
13365         rank checks.
13366         Add cv-qualifier checks and subranks for type equality.
13367         * gdbtypes.h (REFERENCE_CONVERSION_RVALUE,
13368         REFERENCE_CONVERSION_CONST_LVALUE, CV_CONVERSION_BADNESS,
13369         CV_CONVERSION_CONST, CV_CONVERSION_VOLATILE): Declare.
13370
13371 2017-04-27  Simon Marchi  <simon.marchi@ericsson.com>
13372
13373         * python/py-inferior.c (inferior_to_inferior_object): Increment reference
13374         count when creating the object.
13375
13376 2017-04-27  Sangamesh Mallayya  <sangamesh.swamy@in.ibm.com>
13377             Ulrich Weigand  <uweigand@de.ibm.com>
13378
13379         * xcoffread.c (read_xcoff_symtab): Read correct function auxiliary
13380         entry if xlc -qfuncsect or gcc -ffunction-sections compiler option
13381         is used in AIX.
13382         (read_xcoff_symtab): Handle C_WEAKEXT storage class.
13383         (process_xcoff_symbol): Likewise.
13384         (scan_xcoff_symtab): Likewise.
13385
13386 2017-04-26  Alan Hayward  <alan.hayward@arm.com>
13387
13388         * ia64-tdep.c (examine_prologue): Use get_frame_register_unsigned.
13389         (ia64_sigtramp_frame_prev_register): Use read_memory_unsigned_integer.
13390         (ia64_access_reg): Use get_frame_register_unsigned.
13391         (ia64_access_rse_reg): Likewise.
13392         (ia64_libunwind_frame_prev_register): Likewise.
13393
13394 2017-04-26  Jiong Wang  <jiong.wang@arm.com>
13395
13396         * gdbarch.sh: New gdbarch method execute_dwarf_cfa_vendor_op.
13397         * gdbarch.c: Regenerated.
13398         * gdbarch.h: Regenerated.
13399         * dwarf2-frame.c (dwarf2_frame_state_alloc_regs): Made the
13400         visibility external.
13401         (execute_cfa_program): Call execute_dwarf_cfa_vendor_op for CFI
13402         between DW_CFA_lo_user and DW_CFA_high_user inclusive.
13403         (enum cfa_how_kind): Move to ...
13404         (struct dwarf2_frame_state_reg_info): Likewise.
13405         (struct dwarf2_frame_state): Likewise.
13406         * dwarf2-frame.h: ... here.
13407         (dwarf2_frame_state_alloc_regs): New declaration.
13408         * sparc-tdep.c (sparc_execute_dwarf_cfa_vendor_op): New function.
13409         (sparc32_gdbarch_init): Register execute_dwarf_cfa_vendor_op hook.
13410
13411 2017-04-26  Alan Hayward  <alan.hayward@arm.com>
13412
13413         * xtensa-tdep.c (xtensa_pseudo_register_read): Use
13414         regcache_raw_read_unsigned.
13415         (xtensa_pseudo_register_write): Likewise.
13416
13417 2017-04-26  Alan Hayward  <alan.hayward@arm.com>
13418
13419         * nds32-tdep.c (nds32_pseudo_register_read): Abort on errors.
13420         (nds32_pseudo_register_write): Likewise.
13421
13422 2017-04-25  Yao Qi  <yao.qi@linaro.org>
13423
13424         * regcache.c (struct regcache) <readonly_p>: Change its type
13425         to bool.
13426         (regcache_xmalloc_1): Update parameter type and callers update.
13427
13428 2017-04-25  Yao Qi  <yao.qi@linaro.org>
13429
13430         * aarch64-tdep.c (aarch64_gdbarch_init): Don't call
13431         set_gdbarch_wchar_bit.
13432         * arm-tdep.c (arm_gdbarch_init): Likewise.
13433
13434 2017-04-25  Pedro Alves  <palves@redhat.com>
13435
13436         * common/poison.h [!HAVE_IS_TRIVIALLY_COPYABLE] (IsRelocatable)
13437         (BothAreRelocatable, memcopy, memmove): Don't define.
13438         * common/traits.h (__has_feature, HAVE_IS_TRIVIALLY_COPYABLE): New
13439         macros.
13440
13441 2017-04-25  Pedro Alves  <palves@redhat.com>
13442
13443         * common/common-defs.h: Include "common/poison.h".
13444         * common/function-view.h: (Not, Or, Requires): Move to traits.h
13445         and adjust.
13446         * common/poison.h: New file.
13447         * common/traits.h: Include <type_traits>.
13448         (Not, Or, Requires): New, moved from common/function-view.h.
13449
13450 2017-04-25  Pedro Alves  <palves@redhat.com>
13451
13452         * breakpoint.h (struct breakpoint): In-class initialize all
13453         fields.  Make boolean fields "bool".
13454         * breakpoint.c (init_raw_breakpoint_without_location): Remove
13455         memset call and initializations no longer necessary.
13456
13457 2017-04-25  Pedro Alves  <palves@redhat.com>
13458
13459         * btrace.c (pt_btrace_insn_flags): Change parameter type to
13460         reference.
13461         (pt_btrace_insn): New function.
13462         (ftrace_add_pt): Remove memset call and use pt_btrace_insn.
13463
13464 2017-04-25  Pedro Alves  <palves@redhat.com>
13465
13466         * ada-lang.c (ada_catchpoint_location): Now a "class".  Remove
13467         "base" field and inherit from "bp_location" instead.  Add
13468         non-default ctor.
13469         (allocate_location_exception): Use new non-default ctor.
13470         * breakpoint.c (get_first_locp_gte_addr): Remove memset call.
13471         (init_bp_location): Convert to ...
13472         (bp_location::bp_location): ... this new ctor, and remove memset
13473         call.
13474         (base_breakpoint_allocate_location): Use the new non-default ctor.
13475         * breakpoint.h (bp_location): Now a class.  Declare default and
13476         non-default ctors.  In-class initialize all members.
13477         (init_bp_location): Remove declaration.
13478
13479 2017-04-25  Pedro Alves  <palves@redhat.com>
13480
13481         * common/enum-flags.h (enum_flags): Don't implement copy ctor and
13482         assignment operator.
13483
13484 2017-04-24  Yao Qi  <yao.qi@linaro.org>
13485
13486         * doublest.c (convert_doublest_to_floatformat): Call
13487         floatformat_totalsize_bytes.
13488
13489 2017-04-22  Tom Tromey  <tom@tromey.com>
13490
13491         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Use
13492         ui_out_emit_list.
13493         * stack.c (print_frame): Use ui_out_emit_list.
13494         * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Use
13495         ui_out_emit_list.
13496         * mi/mi-main.c (print_one_inferior)
13497         (mi_cmd_data_list_register_names)
13498         (mi_cmd_data_list_register_values, mi_cmd_list_features)
13499         (mi_cmd_list_target_features, mi_cmd_trace_frame_collected): Use
13500         ui_out_emit_list.
13501         * mi/mi-interp.c (mi_on_normal_stop_1): Use ui_out_emit_list.
13502         (mi_output_solib_attribs): Use ui_out_emit_list,
13503         ui_out_emit_tuple.
13504         * mi/mi-cmd-var.c (varobj_update_one): Use ui_out_emit_list.
13505         * mi/mi-cmd-stack.c (mi_cmd_stack_list_frames)
13506         (mi_cmd_stack_list_args, list_args_or_locals): Use
13507         ui_out_emit_list.
13508         * disasm.c (do_assembly_only): Use ui_out_emit_list.
13509         * breakpoint.c (print_solib_event, output_thread_groups): Use
13510         ui_out_emit_list.
13511
13512 2017-04-22  Tom Tromey  <tom@tromey.com>
13513
13514         * mi/mi-main.c (print_variable_or_computed): Use ui_out_emit_tuple.
13515         * mi/mi-cmd-var.c (varobj_update_one): Use ui_out_emit_tuple.
13516         * mi/mi-cmd-stack.c (list_arg_or_local): Use ui_out_emit_tuple.
13517
13518 2017-04-22  Tom Tromey  <tom@tromey.com>
13519
13520         * tracepoint.c (tvariables_info_1)
13521         (print_one_static_tracepoint_marker): Use ui_out_emit_tuple.
13522
13523 2017-04-22  Tom Tromey  <tom@tromey.com>
13524
13525         * stack.c (print_frame_arg): Use ui_out_emit_tuple,
13526         annotate_arg_emitter.
13527         * breakpoint.c (print_mention_watchpoint)
13528         (print_mention_masked_watchpoint): Use ui_out_emit_tuple.
13529         * annotate.h (struct annotate_arg_emitter): New.
13530
13531 2017-04-22  Tom Tromey  <tom@tromey.com>
13532
13533         * record-btrace.c (record_btrace_insn_history)
13534         (record_btrace_insn_history_range, record_btrace_call_history)
13535         (record_btrace_call_history_range): Use ui_out_emit_tuple.
13536         * thread.c (do_captured_list_thread_ids, print_thread_info_1): Use
13537         ui_out_emit_tuple.
13538         * stack.c (print_frame_info): Use ui_out_emit_tuple.
13539         * solib.c (info_sharedlibrary_command): Use ui_out_emit_tuple.
13540         * skip.c (skip_info): Use ui_out_emit_tuple.
13541         * remote.c (show_remote_cmd): Use ui_out_emit_tuple.
13542         * progspace.c (print_program_space): Use ui_out_emit_tuple.
13543         * probe.c (info_probes_for_ops): Use ui_out_emit_tuple.
13544         * osdata.c (info_osdata): Use ui_out_emit_tuple.
13545         * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Use
13546         ui_out_emit_tuple.
13547         * mi/mi-main.c (print_one_inferior, list_available_thread_groups)
13548         (output_register, mi_cmd_data_read_memory)
13549         (mi_cmd_data_read_memory_bytes, mi_load_progress)
13550         (mi_cmd_trace_frame_collected): Use ui_out_emit_tuple.
13551         * mi/mi-cmd-var.c (mi_cmd_var_list_children, varobj_update_one):
13552         Use ui_out_emit_tuple.
13553         * mi/mi-cmd-stack.c (mi_cmd_stack_list_args): Use
13554         ui_out_emit_tuple.
13555         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions)
13556         (mi_cmd_info_gdb_mi_command): Use ui_out_emit_tuple.
13557         * linux-thread-db.c (info_auto_load_libthread_db): Use
13558         ui_out_emit_tuple.
13559         * inferior.c (print_inferior): Use ui_out_emit_tuple.
13560         * gdb_bfd.c (print_one_bfd): Use ui_out_emit_tuple.
13561         * disasm.c (do_mixed_source_and_assembly_deprecated)
13562         (do_mixed_source_and_assembly): Use ui_out_emit_tuple.
13563         * cp-abi.c (list_cp_abis): Use ui_out_emit_tuple.
13564         * cli/cli-setshow.c (cmd_show_list): Use ui_out_emit_tuple.
13565         * breakpoint.c (print_one_breakpoint_location)
13566         (print_one_breakpoint): Use ui_out_emit_tuple.
13567         * auto-load.c (print_script, info_auto_load_cmd): Use
13568         ui_out_emit_tuple.
13569         * ada-tasks.c (print_ada_task_info): Use ui_out_emit_tuple.
13570
13571 2017-04-21  Simon Marchi  <simon.marchi@ericsson.com>
13572
13573         * thread.c (print_thread_info_1): Remove dead code.
13574
13575 2017-04-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
13576
13577         * aarch64-tdep.c (selftests::aarch64_process_record_test): Make it #if
13578         GDB_SELF_TEST.
13579         * arm-tdep.c (selftests::arm_record_test): Likewise.
13580
13581 2017-04-21  Yao Qi  <yao.qi@linaro.org>
13582
13583         * regcache.c (regcache_restore): Remove argument 2.  Replace
13584         argument 3 with regcache.  Get register status from
13585         src->register_status and get register contents from
13586         register_buffer (src, regnum).
13587         (regcache_cpy): Update.
13588
13589 2017-04-19  Pedro Alves  <palves@redhat.com>
13590
13591         * gdbthread.h (thread): Add missing closing parenthesis in
13592         comment.
13593
13594 2017-04-19  Pedro Alves  <palves@redhat.com>
13595
13596         * common/refcounted-object.h: New file.
13597         * gdbthread.h: Include "common/refcounted-object.h".
13598         (thread_info): Inherit from refcounted_object and add comments.
13599         (thread_info::incref, thread_info::decref)
13600         (thread_info::m_refcount): Delete.
13601         (thread_info::deletable): Use the refcounted_object::refcount()
13602         method.
13603         * inferior.c (current_inferior_): Add comment.
13604         (set_current_inferior): Increment/decrement refcounts.
13605         (prune_inferiors, remove_inferior_command): Skip inferiors marked
13606         not-deletable instead of comparing with the current inferior.
13607         (initialize_inferiors): Increment the initial inferior's refcount.
13608         * inferior.h (struct inferior): Forward declare.
13609         Include "common/refcounted-object.h".
13610         (current_inferior, set_current_inferior): Move declaration to
13611         before struct inferior's definition, and fix comment.
13612         (inferior): Inherit from refcounted_object.  Add comments.
13613         * thread.c (switch_to_thread_no_regs): Reference the thread's
13614         inferior pointer directly instead of doing a ptid lookup.
13615         (switch_to_no_thread): New function.
13616         (switch_to_thread(thread_info *)): New function, factored out
13617         from ...
13618         (switch_to_thread(ptid_t)): ... this.
13619         (restore_current_thread): Delete.
13620         (current_thread_cleanup): Remove 'inf_id' and 'was_removable'
13621         fields, and add 'inf' field.
13622         (do_restore_current_thread_cleanup): Check whether old->inf is
13623         alive instead of looking up an inferior by ptid.  Use
13624         switch_to_thread and switch_to_no_thread.
13625         (restore_current_thread_cleanup_dtor): Use old->inf directly
13626         instead of lookup up an inferior by id.  Decref the inferior.
13627         Don't restore 'removable'.
13628         (make_cleanup_restore_current_thread): Same the inferior pointer
13629         in old, instead of the inferior number.  Incref the inferior.
13630         Don't save/clear 'removable'.
13631
13632 2017-04-19  Pedro Alves  <palves@redhat.com>
13633
13634         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
13635         unittests/scoped_restore-selftests.c.
13636         (SUBDIR_UNITTESTS_OBS): Add scoped_restore-selftests.o.
13637         * common/scoped_restore.h (scoped_restore_base): Make "class".
13638         (scoped_restore_base::release): New public method.
13639         (scoped_restore_base::scoped_restore_base): New protected ctor.
13640         (scoped_restore_base::m_saved_var): New protected field.
13641         (scoped_restore_tmpl::scoped_restore_tmpl(T*)): Initialize the
13642         scoped_restore_base base class instead of m_saved_var directly.
13643         (scoped_restore_tmpl::scoped_restore_tmpl(T*, T2)): Likewise.
13644         (scoped_restore_tmpl::scoped_restore_tmpl(const
13645         scoped_restore_tmpl<T>&)): Likewise.
13646         (scoped_restore_tmpl::~scoped_restore_tmpl): Use the saved_var
13647         method.
13648         (scoped_restore_tmpl::saved_var): New method.
13649         (scoped_restore_tmpl::m_saved_var): Delete.
13650         * inferior.h (inferior::detaching): Now a bool.
13651         * infrun.c (prepare_for_detach): Use a scoped_restore instead of a
13652         cleanup.
13653         * unittests/scoped_restore-selftests.c: New file.
13654
13655 2017-04-19  Pedro Alves  <palves@redhat.com>
13656
13657         * Makefile.in (SUBDIR_UNITTESTS_SRCS, SUBDIR_UNITTESTS_OBS):
13658         Re-sort in alphabetic order.
13659
13660 2017-04-18  Pedro Alves  <palves@redhat.com>
13661
13662         * xml-support.c (obstack_xml_printf): Delete.
13663         * xml-support.h (obstack_xml_printf): Delete.
13664
13665 2017-04-18  Pedro Alves  <palves@redhat.com>
13666
13667         * xml-support.c (gdb_xml_parser) <use_dtd, dtd_name, parse,
13668         vdebug, verror, body_text, start_element, end_element, name,
13669         user_data, set_is_xinclude, set_error, expat_parser>: New methods.
13670         <name, user_data, expat_parser, scopes, error, last_line, dtd_name,
13671         is_xinclude>: Make private and add m_ prefix.
13672         (gdb_xml_parser::body_text): New method, based on ...
13673         (gdb_xml_body_text): ... this.  Adjust.
13674         (gdb_xml_parser::vdebug): New method, based on ...
13675         (gdb_xml_debug): ... this.  Adjust.
13676         (gdb_xml_parser::verror): New method, based on ...
13677         (gdb_xml_error): ... this.  Adjust.
13678         (gdb_xml_parser::start_element): New method, based on ...
13679         (gdb_xml_start_element): ... this.  Adjust.
13680         (gdb_xml_start_element_wrapper): Defer to
13681         gdb_xml_parser::start_element and gdb_xml_parser::set_error.
13682         (gdb_xml_parser::end_element): New method, based on ...
13683         (gdb_xml_end_element_wrapper): ... this.  Adjust.
13684         (gdb_xml_parser::~gdb_xml_parser): Adjust.
13685         (gdb_xml_parser::gdb_xml_parser): Adjust to field renames.
13686         (gdb_xml_parser::use_dtd): New method, based on ...
13687         (gdb_xml_use_dtd): ... this.  Adjust.
13688         (gdb_xml_parser::parse): New method, based on ...
13689         (gdb_xml_parse): ... this.  Adjust.
13690         (gdb_xml_parse_quick): Adjust to call the parser's parse method.
13691         (xinclude_start_include): Adjust to call the parser's name method.
13692         (xml_xinclude_default, xml_xinclude_start_doctype)
13693         (xml_xinclude_end_doctype): Adjust to call the parser's user_data
13694         method.
13695         (xml_process_xincludes): Adjust to call parser methods.
13696         * xml-support.h (gdb_xml_use_dtd, gdb_xml_parse): Delete
13697         declarations.
13698
13699 2017-04-18  Pedro Alves  <palves@redhat.com>
13700
13701         * tracefile-tfile.c (tfile_write_tdesc): Adjust to use
13702         gdb::optional<std::string>.
13703         * xml-support.c: Include <string>.
13704         (scope_level::scope_level(scope_level &&))
13705         (scope_level::~scope_level): Delete.
13706         (scope_level::body): Now a std::string.
13707         (gdb_xml_body_text, gdb_xml_end_element): Adjust.
13708         (xinclude_parsing_data::xinclude_parsing_data): Add 'output'
13709         parameter.
13710         (xinclude_parsing_data::~xinclude_parsing_data): Delete.
13711         (xinclude_parsing_data::output): Now a std::string reference.
13712         (xinclude_start_include): Adjust.
13713         (xml_xinclude_default): Adjust.
13714         (xml_process_xincludes): Add 'output' parameter, and return bool.
13715         * xml-support.h (xml_process_xincludes): Add 'output' parameter,
13716         and return bool.
13717         * xml-tdesc.c: Include <unordered_map> and <string>.
13718         (tdesc_xml_cache): Delete.
13719         (tdesc_xml_cache_s): Delete.
13720         (xml_cache): Now an std::unordered_map.
13721         (tdesc_parse_xml): Adjust to use std::string and unordered_map.
13722         (target_fetch_description_xml): Change return type to
13723         gdb::optional<std::string>, and adjust.
13724         * xml-tdesc.h: Include "common/gdb_optional.h" and <string>.
13725         (target_fetch_description_xml): Change return type to
13726         gdb::optional<std::string>.
13727
13728 2017-04-18  Pedro Alves  <palves@redhat.com>
13729
13730         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
13731         unittests/optional-selftests.c.
13732         (SUBDIR_UNITTESTS_OBS): Add optional-selftests.o.
13733         * unittests/optional-selftests.c: New file.
13734         * unittests/optional/assignment/1.cc: New file.
13735         * unittests/optional/assignment/2.cc: New file.
13736         * unittests/optional/assignment/3.cc: New file.
13737         * unittests/optional/assignment/4.cc: New file.
13738         * unittests/optional/assignment/5.cc: New file.
13739         * unittests/optional/assignment/6.cc: New file.
13740         * unittests/optional/assignment/7.cc: New file.
13741         * unittests/optional/cons/copy.cc: New file.
13742         * unittests/optional/cons/default.cc: New file.
13743         * unittests/optional/cons/move.cc: New file.
13744         * unittests/optional/cons/value.cc: New file.
13745         * unittests/optional/in_place.cc: New file.
13746         * unittests/optional/observers/1.cc: New file.
13747         * unittests/optional/observers/2.cc: New file.
13748
13749 2017-04-18  Pedro Alves  <palves@redhat.com>
13750
13751         * common/gdb_optional.h: Include common/traits.h.
13752         (in_place_t): New type.
13753         (in_place): New constexpr variable.
13754         (optional::optional): Remove member initialization of
13755         m_instantiated.
13756         (optional::optional(in_place_t...)): New constructor.
13757         (optional::~optional): Use reset.
13758         (optional::optional(const optional&)): New.
13759         (optional::optional(const optional&&)): New.
13760         (optional::optional(T &)): New.
13761         (optional::optional(T &&)): New.
13762         (operator::operator=(const optional &)): New.
13763         (operator::operator=(optional &&)): New.
13764         (operator::operator= (const T &))
13765         (operator::operator= (T &&))
13766         (operator::emplace (Args &&... args)): Return a T&.  Use reset.
13767         (operator::reset): New.
13768         (operator::m_instantiated):: Add in-class initializer.
13769         * common/traits.h: Include <type_traits>.
13770         (struct And): New types.
13771
13772 2017-04-18  Pedro Alves  <palves@redhat.com>
13773
13774         * xml-support.c: Include <vector>.
13775         (scope_level::scope_level(const gdb_xml_element *))
13776         (scope_level::scope_level(scope_level&&)): New.
13777         (scope_level::~scope_level): New.
13778         (scope_level_s): Delete.
13779         (gdb_xml_parser::scopes): Now a std::vector.
13780         (gdb_xml_body_text, gdb_xml_start_element, gdb_xml_end_element):
13781         Use std::vector.
13782         (gdb_xml_parser::~gdb_xml_parser): Remove now unnecessary
13783         scope cleanup code.
13784         (gdb_xml_parser::gdb_xml_parser): Remove explicit initialization
13785         of the scopes member.  Use std::vector::emplace_back.
13786
13787 2017-04-18  Pedro Alves  <palves@redhat.com>
13788
13789         * xml-support.c (gdb_xml_parser): Add ctor/dtor.  Make is_xinclude
13790         a bool.
13791         (gdb_xml_end_element): Change type of first parameter.
13792         (gdb_xml_cleanup): Rename to ...
13793         (gdb_xml_parser::~gdb_xml_parser): ... this.
13794         (gdb_xml_create_parser_and_cleanup): Delete with ...
13795         (gdb_xml_parser::gdb_xml_parser): ... creation parts factored out
13796         to this new ctor.
13797         (gdb_xml_parse_quick): Create a local gdb_xml_parser instead of
13798         using gdb_xml_create_parser_and_cleanup.
13799         (xinclude_parsing_data): Add ctor/dtor.
13800         (xml_xinclude_cleanup): Delete.
13801         (xml_process_xincludes): Create a local xinclude_parsing_data
13802         instead of heap-allocating one.  Create a local gdb_xml_parser
13803         instead of heap-allocating one with
13804         gdb_xml_create_parser_and_cleanup.
13805
13806 2017-04-18  John Baldwin  <jhb@FreeBSD.org>
13807
13808         PR threads/20743
13809         * fbsd-nat.c (resume_one_thread_cb): Remove.
13810         (resume_all_threads_cb): Remove.
13811         (fbsd_resume): Use ALL_NON_EXITED_THREADS instead of
13812         iterate_over_threads.
13813
13814 2017-04-17  Joel Brobecker  <brobecker@adacore.com>
13815
13816         * NEWS: Create a new section for the next release branch.
13817         Rename the section of the current branch, now that it has
13818         been cut.
13819
13820 2017-04-17  Joel Brobecker  <brobecker@adacore.com>
13821
13822         GDB 8.0 branch created (725bf5cf125783c2a7ca4ab63d3768e220bab2db):
13823         * version.in: Bump version to 8.0.50.DATE-git.
13824
13825 2017-04-13  Sergio Durigan Junior  <sergiodj@redhat.com>
13826
13827         PR gdb/21385
13828         * windows-nat.c (windows_create_inferior): Declare 'allargs'
13829         independently of the host, and fix build breakage on Cygwin.
13830
13831 2017-04-13  Pedro Alves  <palves@redhat.com>
13832
13833         * inferior.c (free_inferior): Convert to ...
13834         (inferior::~inferior): ... this dtor.
13835         (inferior::inferior): New ctor, factored out from ...
13836         (add_inferior_silent): ... here.  Allocate the inferior with a new
13837         expression.
13838         (delete_inferior): Call delete instead of free_inferior.
13839         * inferior.h (gdb_environ, continuation): Forward declare.
13840         (inferior): Now a class.  Add in-class initialization to all
13841         members.  Make boolean fields bool, except 'detaching'.
13842         (inferior::inferior): New explicit ctor.
13843         (inferior::~inferior): New.
13844
13845 2017-04-13  Pedro Alves  <palves@redhat.com>
13846
13847         * inferior.c (init_inferior_list): Delete.
13848         * inferior.h (init_inferior_list): Delete.
13849
13850 2017-04-13  Pedro Alves  <palves@redhat.com>
13851
13852         PR threads/13217
13853         * gdb.threads/threadapply.exp (thr_apply_detach): New procedure.
13854         (top level): Call it twice, with different thread sets.
13855
13856 2017-04-13  Pedro Alves  <palves@redhat.com>
13857
13858         * thread.c: Include <algorithm>.
13859         (thread_array_cleanup): Delete.
13860         (scoped_inc_dec_ref): New class.
13861         (live_threads_count): New function.
13862         (set_thread_refcount): Delete.
13863         (tp_array_compar_ascending): Now a bool.
13864         (tp_array_compar): Convert to a std::sort comparison function.
13865         (thread_apply_all_command): Use std::vector and scoped_inc_dec_ref
13866         and live_threads_count.
13867
13868 2017-04-13  Pedro Alves  <palves@redhat.com>
13869
13870         * infrun.c (follow_fork_inferior): Also switch the current
13871         inferior.
13872
13873 2017-04-13  Pedro Alves  <palves@redhat.com>
13874
13875         * breakpoint.c (watch_command_1): Save watchpoint-frame info
13876         before calling create_internal_breakpoint.
13877
13878 2017-04-13  Pedro Alves  <palves@redhat.com>
13879
13880         * fork-child.c (execv_argv): New class.
13881         (breakup_args): Refactored as ...
13882         (execv_argv::init_for_no_shell): .. this method of execv_argv.
13883         Copy arguments to storage and replace separators with NULL
13884         terminators in place.
13885         (escape_bang_in_quoted_argument): Adjust to return bool.
13886         (execv_argv::execv_argv): New ctor.
13887         (execv_argv::init_for_shell): New method, factored out from
13888         fork_inferior.  Don't strdup strings into the vector.
13889         (fork_inferior): Eliminate "shell" local and use execv_argv.  Use
13890         Remove free_vector_argv call.
13891
13892 2017-04-13  Yao Qi  <yao.qi@linaro.org>
13893
13894         * rx-tdep.c (rx_fpsw_type): Check tdep->rx_fpsw_type instead of
13895         tdep->rx_psw_type.
13896
13897 2017-04-13  Yao Qi  <yao.qi@linaro.org>
13898
13899         * rl78-tdep.c (rl78_gdbarch_init): Use XCNEW instead of XNEW.
13900         * rx-tdep.c (rx_gdbarch_init): Likewise.
13901
13902 2017-04-13  Pedro Alves  <palves@redhat.com>
13903
13904         * breakpoint.h (struct breakpoint): Reindent.
13905
13906 2017-04-13  Pedro Alves  <palves@redhat.com>
13907
13908         * breakpoint.c (bp_location): Rename to ...
13909         (bp_locations): ... this.  All references updated.
13910         (bp_location_count): Rename to ...
13911         (bp_locations_count): ... this.  All references updated.
13912         (bp_location_placed_address_before_address_max): Rename to ...
13913         (bp_locations_placed_address_before_address_max): ... this.  All
13914         references updated.
13915         (bp_location_shadow_len_after_address_max): Rename to ...
13916         (bp_locations_shadow_len_after_address_max): ... this.  All
13917         references updated.
13918         (bp_location_compare_addrs): Rename to ...
13919         (bp_locations_compare_addrs): ... this.  All references updated.
13920         (bp_location_compare):Rename to ...
13921         (bp_locations_compare): ... this.  All references updated.
13922         (bp_location_target_extensions_update): Rename to ...
13923         (bp_locations_target_extensions_update): ... this.  All references
13924         updated.
13925
13926 2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
13927
13928         * Makefile.in (HFILES_NO_SRCDIR): Add "common/gdb_termios.h".
13929         * common/common.m4: Check headers 'termios.h', 'termio.h' and
13930         'sgtty.h'.
13931         * common/gdb_termios.h: New file, with parts of "terminal.h".
13932         * inflow.c: Include "gdb_termios.h".
13933         * ser-unix.c: Include "gdb_termios.h".
13934         * terminal.h: Move terminal-related defines to
13935         "common/gdb_termios.h".
13936
13937 2017-04-12  Tom Tromey  <tom@tromey.com>
13938
13939         * probe.c (parse_probes): Update.
13940         * location.h (delete_event_location): Don't declare.
13941         (event_location_deleter::operator()): Update.
13942         * location.c (event_location_deleter::operator()): Rename from
13943         delete_event_location.
13944         * linespec.h (linespec_result) <location>: Change type to
13945         event_location_up.
13946         * linespec.c (canonicalize_linespec, event_location_to_sals)
13947         (decode_objc): Update.
13948         (linespec_result): Don't call delete_event_location.
13949         * breakpoint.c (create_breakpoints_sal)
13950         (bkpt_probe_create_sals_from_location)
13951         (strace_marker_create_sals_from_location): Update.
13952
13953 2017-04-12  Tom Tromey  <tom@tromey.com>
13954
13955         * linespec.h (struct linespec_result): Add constructor and
13956         destructor.
13957         (init_linespec_result, destroy_linespec_result)
13958         (make_cleanup_destroy_linespec_result): Don't declare.
13959         * linespec.c (init_linespec_result): Remove.
13960         (linespec_result::~linespec_result): Rename from
13961         destroy_linespec_result.  Update.
13962         (cleanup_linespec_result, make_cleanup_destroy_linespec_result):
13963         Remove.
13964         * breakpoint.c (create_breakpoint, break_range_command)
13965         (decode_location_default): Update.
13966         * ax-gdb.c (agent_command_1): Update.
13967
13968 2017-04-12  Tom Tromey  <tom@tromey.com>
13969
13970         * remote.c (remote_download_tracepoint): Update.
13971         * python/py-breakpoint.c (bppy_get_location): Update.
13972         * guile/scm-breakpoint.c (bpscm_print_breakpoint_smob)
13973         (gdbscm_breakpoint_location): Update.
13974         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Update.
13975         * breakpoint.h (struct breakpoint) <location, location_range_end>:
13976         Change type to event_location_up.
13977         * breakpoint.c (create_overlay_event_breakpoint)
13978         (create_longjmp_master_breakpoint)
13979         (create_std_terminate_master_breakpoint)
13980         (create_exception_master_breakpoint)
13981         (breakpoint_event_location_empty_p, print_breakpoint_location)
13982         (print_one_breakpoint_location, create_thread_event_breakpoint)
13983         (init_breakpoint_sal, create_breakpoint)
13984         (print_recreate_ranged_breakpoint, break_range_command)
13985         (init_ada_exception_breakpoint, say_where): Update.
13986         (base_breakpoint_dtor): Don't call delete_event_location.
13987         (bkpt_print_recreate, tracepoint_print_recreate)
13988         (dprintf_print_recreate, update_static_tracepoint)
13989         (breakpoint_re_set_default): Update.
13990
13991 2017-04-12  Tom Tromey  <tom@tromey.com>
13992
13993         * compile/compile-loc2c.c (compute_stack_depth_worker): Change
13994         type of "to_do".  Update.
13995         (compute_stack_depth): Use std::vector.
13996
13997 2017-04-12  Tom Tromey  <tom@tromey.com>
13998
13999         * printcmd.c (find_instruction_backward): Use std::vector.
14000
14001 2017-04-12  Tom Tromey  <tom@tromey.com>
14002
14003         * symfile.c (objfilep): Remove typedef.
14004         (reread_symbols): Use a std::vector.
14005
14006 2017-04-12  Tom Tromey  <tom@tromey.com>
14007
14008         * mi/mi-main.c (exec_direction_forward): Remove.
14009         (exec_reverse_continue, mi_execute_command): Use scoped_restore.
14010         * guile/scm-ports.c (ioscm_with_output_to_port_worker): Use
14011         scoped_restore.
14012         * guile/guile.c (guile_repl_command, guile_command)
14013         (gdbscm_execute_gdb_command): Use scoped_restore.
14014         * go-exp.y (go_parse): Use scoped_restore.
14015         * d-exp.y (d_parse): Use scoped_restore.
14016         * cli/cli-decode.c (cmd_func): Use scoped_restore.
14017         * c-exp.y (c_parse): Use scoped_restore.
14018
14019 2017-04-12  Tom Tromey  <tom@tromey.com>
14020
14021         * mi/mi-parse.h (struct mi_parse): Add constructor, destructor.
14022         (mi_parse): Update return type.
14023         (mi_parse_free): Remove.
14024         * mi/mi-parse.c (mi_parse::mi_parse): New constructor.
14025         (mi_parse::~mi_parse): Rename from mi_parse_free.
14026         (mi_parse_cleanup): Remove.
14027         (mi_parse): Return a unique_ptr.  Use new.
14028         * mi/mi-main.c (mi_execute_command): Update.
14029
14030 2017-04-12  Tom Tromey  <tom@tromey.com>
14031
14032         * location.c (explicit_location_lex_one): Return a
14033         unique_xmalloc_ptr.
14034         (string_to_explicit_location): Update.  Remove cleanups.
14035
14036 2017-04-12  Tom Tromey  <tom@tromey.com>
14037
14038         * gnu-v3-abi.c (value_and_voffset_p): Remove typedef.
14039         (compare_value_and_voffset): Change type.  Update.
14040         (compute_vtable_size): Change type of "offset_vec".
14041         (gnuv3_print_vtable): Use std::vector.  Remove cleanups.
14042         (gnuv3_get_typeid): Remove extraneous declaration.
14043
14044 2017-04-12  Tom Tromey  <tom@tromey.com>
14045
14046         * charset.h (wchar_iterator): Fix comment.
14047
14048 2017-04-12  Tom Tromey  <tom@tromey.com>
14049
14050         * charset.c (iconv_wrapper): New class.
14051         (cleanup_iconv): Remove.
14052         (convert_between_encodings): Use it.
14053
14054 2017-04-12  Tom Tromey  <tom@tromey.com>
14055
14056         * symfile.h (increment_reading_symtab): Update type.
14057         * symfile.c (decrement_reading_symtab): Remove.
14058         (increment_reading_symtab): Return a scoped_restore_tmpl<int>.
14059         * psymtab.c (psymtab_to_symtab): Update.
14060         * dwarf2read.c (dw2_instantiate_symtab): Update.
14061
14062 2017-04-12  Tom Tromey  <tom@tromey.com>
14063
14064         * jit.c (struct jit_reader): Declare separately.  Add constructor
14065         and destructor.  Change type of "handle".
14066         (loaded_jit_reader): Define separately.
14067         (jit_reader_load): Update.  New "new".
14068         (jit_reader_unload_command): Use "delete".
14069         * gdb-dlfcn.h (struct dlclose_deleter): New.
14070         (gdb_dlhandle_up): New typedef.
14071         (gdb_dlopen, gdb_dlsym): Update types.
14072         (gdb_dlclose): Remove.
14073         * gdb-dlfcn.c (gdb_dlopen): Return a gdb_dlhandle_up.
14074         (gdb_dlsym): Change type of "handle".
14075         (make_cleanup_dlclose): Remove.
14076         (dlclose_deleter::operator()): Rename from gdb_dlclose.
14077         * compile/compile-c-support.c (load_libcc): Update.
14078
14079 2017-04-12  Tom Tromey  <tom@tromey.com>
14080
14081         * symtab.h (find_pcs_for_symtab_line): Change return type.
14082         * symtab.c (find_pcs_for_symtab_line): Change return type.
14083         * python/py-linetable.c (build_line_table_tuple_from_pcs): Change
14084         type of "vec".  Update.
14085         (ltpy_get_pcs_for_line): Update.
14086         * linespec.c (decode_digits_ordinary): Update.
14087
14088 2017-04-12  Tom Tromey  <tom@tromey.com>
14089
14090         * tracepoint.c (actions_command): Update.
14091         * python/python.c (python_command, python_interactive_command):
14092         Update.
14093         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
14094         * guile/guile.c (guile_command): Update.
14095         * defs.h (read_command_lines, read_command_lines_1): Return
14096         command_line_up.
14097         (command_lines_deleter): New struct.
14098         (command_line_up): New typedef.
14099         * compile/compile.c (compile_code_command)
14100         (compile_print_command): Update.
14101         * cli/cli-script.h (get_command_line, copy_command_lines): Return
14102         command_line_up.
14103         (make_cleanup_free_command_lines): Remove.
14104         * cli/cli-script.c (get_command_line, read_command_lines_1)
14105         (copy_command_lines): Return command_line_up.
14106         (while_command, if_command, read_command_lines, define_command)
14107         (document_command): Update.
14108         (do_free_command_lines_cleanup, make_cleanup_free_command_lines):
14109         Remove.
14110         * breakpoint.h (breakpoint_set_commands): Change type of
14111         "commands".
14112         * breakpoint.c (breakpoint_set_commands): Change type of
14113         "commands".  Update.
14114         (do_map_commands_command, update_dprintf_command_list)
14115         (create_tracepoint_from_upload): Update.
14116
14117 2017-04-12  Tom Tromey  <tom@tromey.com>
14118
14119         * tracepoint.c (scope_info): Update.
14120         * spu-tdep.c (spu_catch_start): Update.
14121         * python/python.c (gdbpy_decode_line): Update.
14122         * python/py-finishbreakpoint.c (bpfinishpy_init): Update.
14123         * python/py-breakpoint.c (bppy_init): Update.
14124         * probe.c (parse_probes): Update.
14125         * mi/mi-cmd-break.c (mi_cmd_break_insert_1): Update.
14126         * location.h (event_location_deleter): New struct.
14127         (event_location_up): New typedef.
14128         (new_linespec_location, new_address_location, new_probe_location)
14129         (new_explicit_location, copy_event_location)
14130         (string_to_event_location, string_to_event_location_basic)
14131         (string_to_explicit_location): Update return type.
14132         (make_cleanup_delete_event_location): Remove.
14133         * location.c (new_linespec_location, new_address_location)
14134         (new_probe_location, new_explicit_location, copy_event_location):
14135         Return event_location_up.
14136         (delete_event_location_cleanup)
14137         (make_cleanup_delete_event_location): Remove.
14138         (string_to_explicit_location, string_to_event_location_basic)
14139         (string_to_event_location): Return event_location_up.
14140         * linespec.c (canonicalize_linespec, event_location_to_sals)
14141         (decode_line_with_current_source)
14142         (decode_line_with_last_displayed, decode_objc): Update.
14143         * guile/scm-breakpoint.c (gdbscm_register_breakpoint_x): Update.
14144         * completer.c (location_completer): Update.
14145         * cli/cli-cmds.c (edit_command, list_command): Update.
14146         * breakpoint.c (create_overlay_event_breakpoint)
14147         (create_longjmp_master_breakpoint)
14148         (create_std_terminate_master_breakpoint)
14149         (create_exception_master_breakpoint)
14150         (create_thread_event_breakpoint): Update.
14151         (init_breakpoint_sal): Update.  Remove some dead code.
14152         (create_breakpoint_sal): Change type of "location".  Update.
14153         (create_breakpoints_sal, create_breakpoint, break_command_1)
14154         (dprintf_command, break_range_command, until_break_command)
14155         (init_ada_exception_breakpoint)
14156         (strace_marker_create_sals_from_location)
14157         (update_static_tracepoint, trace_command, ftrace_command)
14158         (strace_command, create_tracepoint_from_upload): Update.
14159         * break-catch-throw.c (re_set_exception_catchpoint): Update.
14160         * ax-gdb.c (agent_command_1): Update.
14161
14162 2017-04-12  Pedro Alves  <palves@redhat.com>
14163
14164         * Makefile.in (ALL_TARGET_OBS): Add i386-go32-tdep.o.
14165         * configure.tgt: Handle i[34567]86-*-go32* and
14166         i[34567]86-*-msdosdjgpp*.
14167         * i386-tdep.c (i386_svr4_reg_to_regnum):
14168         Make extern.
14169         (i386_go32_init_abi, i386_coff_osabi_sniffer): Moved to
14170         i386-go32-tdep.c.
14171         (_initialize_i386_tdep): DJGPP bits moved to i386-go32-tdep.c.
14172         * i386-go32-tdep.c: New file.
14173         * i386-tdep.h (tdesc_i386_mmx, i386_svr4_reg_to_regnum): New
14174         declarations.
14175
14176 2017-04-12  Simon Marchi  <simon.marchi@ericsson.com>
14177
14178         * aix-thread.c (pd_status2str): Change return type to const char *.
14179
14180 2017-04-12  Pedro Alves  <palves@redhat.com>
14181
14182         * i386-tdep.c (i386_elf_init_abi, i386_go32_init_abi): Remove
14183         calls to set_gdbarch_gnu_triplet_regexp.
14184
14185 2017-04-12  Pedro Alves  <palves@redhat.com>
14186
14187         PR gdb/21323
14188         * c-lang.c (cplus_primitive_types) <cplus_primitive_type_wchar_t>:
14189         New enum value.
14190         (cplus_language_arch_info): Register cplus_primitive_type_wchar_t.
14191         * gdbtypes.h (struct builtin_type) <builtin_wchar>: New field.
14192         * gdbtypes.c (gdbtypes_post_init): Create the "wchar_t" type.
14193         * gdbarch.sh (wchar_bit, wchar_signed): New per-arch values.
14194         * gdbarch.h, gdbarch.c: Regenerate.
14195         * aarch64-tdep.c (aarch64_gdbarch_init): Override
14196         gdbarch_wchar_bit and gdbarch_wchar_signed.
14197         * alpha-tdep.c (alpha_gdbarch_init): Likewise.
14198         * arm-tdep.c (arm_gdbarch_init): Likewise.
14199         * avr-tdep.c (avr_gdbarch_init): Likewise.
14200         * h8300-tdep.c (h8300_gdbarch_init): Likewise.
14201         * i386-nto-tdep.c (i386nto_init_abi): Likewise.
14202         * i386-tdep.c (i386_go32_init_abi): Likewise.
14203         * m32r-tdep.c (m32r_gdbarch_init): Likewise.
14204         * moxie-tdep.c (moxie_gdbarch_init): Likewise.
14205         * nds32-tdep.c (nds32_gdbarch_init): Likewise.
14206         * rs6000-aix-tdep.c (rs6000_aix_init_osabi): Likewise.
14207         * sh-tdep.c (sh_gdbarch_init): Likewise.
14208         * sparc-tdep.c (sparc32_gdbarch_init): Likewise.
14209         * sparc64-tdep.c (sparc64_init_abi): Likewise.
14210         * windows-tdep.c (windows_init_abi): Likewise.
14211         * xstormy16-tdep.c (xstormy16_gdbarch_init): Likewise.
14212
14213 2017-04-12  Pedro Alves  <palves@redhat.com>
14214
14215         PR c++/21323
14216         * c-lang.c (cplus_primitive_types) <cplus_primitive_type_char16_t,
14217         cplus_primitive_type_char32_t>: New enum values.
14218         (cplus_language_arch_info): Register cplus_primitive_type_char16_t
14219         and cplus_primitive_type_char32_t.
14220         * dwarf2read.c (read_base_type) <DW_ATE_UTF>: If bit size is 16 or
14221         32, use the archtecture's built-in type for char16_t and char32_t,
14222         respectively.  Otherwise, fallback to init_integer_type as before,
14223         but make the type unsigned, and issue a complaint.
14224         * gdbtypes.c (gdbtypes_post_init): Make char16_t and char32_t unsigned.
14225
14226 2017-04-12  Alan Hayward  <alan.hayward@arm.com>
14227
14228         * m32r-tdep.c (M32R_ARG_REGISTER_SIZE): Added.
14229         (m32r_push_dummy_call): Use M32R_ARG_REGISTER_SIZE.
14230
14231 2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
14232
14233         * windows-nat.c (windows_create_inferior): Declare 'toexec' as
14234         'const char *'.
14235
14236 2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
14237
14238         * common/common-utils.c (free_vector_argv): New function.
14239         * common/common-utils.h: Include <vector>.
14240         (free_vector_argv): New prototype.
14241         * darwin-nat.c (darwin_create_inferior): Rewrite function
14242         prototype in order to constify "exec_file" and accept a
14243         "std::string" for "allargs".
14244         * fork-child.c: Include <vector>.
14245         (breakup_args): Rewrite function, using C++.
14246         (fork_inferior): Rewrite function header, constify "exec_file_arg"
14247         and accept "std::string" for "allargs".  Update the code to
14248         calculate "argv" based on "allargs".  Update calls to "exec_fun"
14249         and "execvp".
14250         * gnu-nat.c (gnu_create_inferior): Rewrite function prototype in
14251         order to constify "exec_file" and accept a "std::string" for
14252         "allargs".
14253         * go32-nat.c (go32_create_inferior): Likewise.
14254         * inf-ptrace.c (inf_ptrace_create_inferior): Likewise.
14255         * infcmd.c (run_command_1): Constify "exec_file".  Use
14256         "std::string" for inferior arguments.
14257         * inferior.h (fork_inferior): Update prototype.
14258         * linux-nat.c (linux_nat_create_inferior): Rewrite function
14259         prototype in order to constify "exec_file" and accept a
14260         "std::string" for "allargs".
14261         * nto-procfs.c (procfs_create_inferior): Likewise.
14262         * procfs.c (procfs_create_inferior): Likewise.
14263         * remote-sim.c (gdbsim_create_inferior): Likewise.
14264         * remote.c (extended_remote_run): Update code to accept
14265         "std::string" as argument.
14266         (extended_remote_create_inferior): Rewrite function prototype in
14267         order to constify "exec_file" and accept a "std::string" for
14268         "allargs".
14269         * rs6000-nat.c (super_create_inferior): Likewise.
14270         (rs6000_create_inferior): Likewise.
14271         * target.h (struct target_ops) <to_create_inferior>: Likewise.
14272         * windows-nat.c (windows_create_inferior): Likewise.
14273
14274 2017-04-11  Pedro Alves  <palves@redhat.com>
14275
14276         * thread.c: Fix whitespace throughout.
14277
14278 2017-04-11  Philipp Rudo  <prudo@linux.vnet.ibm.com>
14279
14280         * linux-nat.c (linux_nat_detach): Remove delete_lwp call.
14281
14282 2017-04-11  Alan Hayward  <alan.hayward@arm.com>
14283
14284         * arm-tdep.c (arm_store_return_value): Use FP_REGISTER_SIZE
14285
14286 2017-04-10  Sergio Durigan Junior  <sergiodj@redhat.com>
14287
14288         PR gdb/21364
14289         * osdata.c (info_osdata): Check if 'type' is an empty string
14290         instead of NULL.
14291
14292 2017-04-10  Pedro Alves  <palves@redhat.com>
14293
14294         * thread.c (add_thread_silent, delete_thread_1, find_thread_ptid)
14295         (ptid_to_global_thread_id, in_thread_list)
14296         (do_captured_list_thread_ids, set_resumed, set_running)
14297         (set_executing, set_stop_requested, finish_thread_state)
14298         (validate_registers_access, can_access_registers_ptid)
14299         (print_thread_info_1, switch_to_thread)
14300         (do_restore_current_thread_cleanup)
14301         (make_cleanup_restore_current_thread, thread_command)
14302         (thread_name_command): Use operator== instead of ptid_equal.
14303
14304 2017-04-10  Pedro Alves  <palves@redhat.com>
14305
14306         * thread.c (struct current_thread_cleanup) <next>: Delete field.
14307         (current_thread_cleanup_chain): Delete.
14308         (restore_current_thread_cleanup_dtor)
14309         (make_cleanup_restore_current_thread): Remove references to
14310         current_thread_cleanup_chain.
14311
14312 2017-04-10  Alan Hayward  <alan.hayward@arm.com>
14313
14314         * msp430-tdep.c (msp430_pseudo_register_read): Never return
14315         REG_UNKNOWN.
14316
14317 2017-04-10  Yao Qi  <yao.qi@linaro.org>
14318
14319         PR gdb/19942
14320         * gdbthread.h (thread_info::deletable): New method.
14321         (thread_info::incref): New method.
14322         (thread_info::decref): New method.
14323         (thread_info::refcount): Move it to private.
14324         * infrun.c (save_stop_context): Call inc_refcount.
14325         (release_stop_context_cleanup): Likewise.
14326         * thread.c (set_thread_exited): New function.
14327         (init_thread_list): Delete "tp" only it is deletable, otherwise
14328         call set_thread_exited.
14329         (delete_thread_1): Call set_thread_exited.
14330         (current_thread_cleanup) <inferior_pid>: Remove.
14331         <thread>: New field.
14332         (restore_current_thread_ptid_changed): Removed.
14333         (do_restore_current_thread_cleanup): Adjust.
14334         (restore_current_thread_cleanup_dtor): Don't call
14335         find_thread_ptid.
14336         (set_thread_refcount): Use dec_refcount.
14337         (make_cleanup_restore_current_thread): Adjust.
14338         (thread_apply_all_command): Call inc_refcount.
14339         (_initialize_thread): Don't call
14340         observer_attach_thread_ptid_changed.
14341
14342 2017-04-10  Yao Qi  <yao.qi@linaro.org>
14343
14344         * thread.c (delete_thread_1): Hoist code on marking thread as
14345         exited.
14346
14347 2017-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
14348
14349         * windows-nat.c (windows_detach): Initialize ptid with
14350         minus_one_ptid.
14351
14352 2017-04-07  Simon Marchi  <simon.marchi@ericsson.com>
14353
14354         * unittests/ptid-selftests.c: Fix erroneous assert messages.
14355
14356 2017-04-07  Alan Hayward  <alan.hayward@arm.com>
14357
14358         * bfin-tdep.c (BFIN_MAX_REGISTER_SIZE): Add.
14359         (bfin_pseudo_register_read): Use BFIN_MAX_REGISTER_SIZE.
14360         (bfin_pseudo_register_write): Likewise
14361
14362 2017-04-06  Simon Marchi  <simon.marchi@ericsson.com>
14363
14364         * common/ptid.h (struct ptid): Change to...
14365         (class ptid_t): ... this.
14366         <ptid_t>: New constructors.
14367         <pid, lwp_p, lwp, tid_p, tid, is_pid, operator==, operator!=,
14368         matches>: New methods.
14369         <make_null, make_minus_one>: New static methods.
14370         <pid>: Rename to...
14371         <m_pid>: ...this.
14372         <lwp>: Rename to...
14373         <m_lwp>: ...this.
14374         <tid>: Rename to...
14375         <m_tid>: ...this.
14376         (ptid_build, ptid_get_pid, ptid_get_lwp, ptid_get_tid, ptid_equal,
14377         ptid_is_pid, ptid_lwp_p, ptid_tid_p, ptid_match): Take ptid arguments
14378         as references, move comment to class ptid_t.
14379         * common/ptid.c (null_ptid, minus_one_ptid): Initialize with
14380         ptid_t static methods.
14381         (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_tid,
14382         ptid_equal, ptid_is_pid, ptid_lwp_p, ptid_tid_p, ptid_match):
14383         Take ptid arguments as references, implement using ptid_t methods.
14384         * unittests/ptid-selftests.c: New file.
14385         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
14386         unittests/ptid-selftests.c.
14387         (SUBDIR_UNITTESTS_OBS): Add unittests/ptid-selftests.o.
14388
14389 2017-04-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
14390
14391         * python/python.c (python_run_simple_file): Cast mode literal to
14392         non-const char pointer as expected by PyFile_FromString.
14393
14394 2017-04-05  Simon Marchi  <simon.marchi@ericsson.com>
14395
14396         * common/ptid.c (ptid_lwp_p, ptid_tid_p): Remove comparison with
14397         minus_one_ptid and null_ptid.
14398
14399 2017-04-05  Pedro Alves  <palves@redhat.com>
14400
14401         * warning.m4 (build_warnings): Remove -Wno-write-strings.
14402         * configure: Regenerate.
14403
14404 2017-04-05  Pedro Alves  <palves@redhat.com>
14405
14406         * ada-exp.y (yyerror): Constify.
14407         * ada-lang.c (bound_name, get_selections)
14408         (ada_variant_discrim_type)
14409         (ada_variant_discrim_name, ada_value_struct_elt)
14410         (ada_lookup_struct_elt_type, is_unchecked_variant)
14411         (ada_which_variant_applies, standard_exc, ada_get_next_arg)
14412         (catch_ada_exception_command_split)
14413         (catch_ada_assert_command_split, catch_assert_command)
14414         (ada_op_name): Constify.
14415         * ada-lang.h (ada_yyerror, get_selections)
14416         (ada_variant_discrim_name, ada_value_struct_elt): Constify.
14417         * arc-tdep.c (arc_print_frame_cache): Constify.
14418         * arm-tdep.c (arm_skip_stub): Constify.
14419         * ax-gdb.c (gen_binop, gen_struct_ref_recursive, gen_struct_ref)
14420         (gen_aggregate_elt_ref): Constify.
14421         * bcache.c (print_bcache_statistics): Constify.
14422         * bcache.h (print_bcache_statistics): Constify.
14423         * break-catch-throw.c (catch_exception_command_1):
14424         * breakpoint.c (struct ep_type_description::description):
14425         Constify.
14426         (add_solib_catchpoint): Constify.
14427         (catch_fork_command_1): Add cast.
14428         (add_catch_command): Constify.
14429         * breakpoint.h (add_catch_command, add_solib_catchpoint):
14430         Constify.
14431         * bsd-uthread.c (bsd_uthread_state): Constify.
14432         * buildsym.c (patch_subfile_names): Constify.
14433         * buildsym.h (next_symbol_text_func, patch_subfile_names):
14434         Constify.
14435         * c-exp.y (yyerror): Constify.
14436         (token::oper): Constify.
14437         * c-lang.h (c_yyerror, cp_print_class_member): Constify.
14438         * c-varobj.c (cplus_describe_child): Constify.
14439         * charset.c (find_charset_names): Add cast.
14440         (find_charset_names): Constify array and add const_cast.
14441         * cli/cli-cmds.c (complete_command, cd_command): Constify.
14442         (edit_command): Constify.
14443         * cli/cli-decode.c (lookup_cmd): Constify.
14444         * cli/cli-dump.c (dump_memory_command, dump_value_command):
14445         Constify.
14446         (struct dump_context): Constify.
14447         (add_dump_command, restore_command): Constify.
14448         * cli/cli-script.c (get_command_line): Constify.
14449         * cli/cli-script.h (get_command_line): Constify.
14450         * cli/cli-utils.c (check_for_argument): Constify.
14451         * cli/cli-utils.h (check_for_argument): Constify.
14452         * coff-pe-read.c (struct read_pe_section_data): Constify.
14453         * command.h (lookup_cmd): Constify.
14454         * common/print-utils.c (decimal2str): Constify.
14455         * completer.c (gdb_print_filename): Constify.
14456         * corefile.c (set_gnutarget): Constify.
14457         * cp-name-parser.y (yyerror): Constify.
14458         * cp-valprint.c (cp_print_class_member): Constify.
14459         * cris-tdep.c (cris_register_name, crisv32_register_name):
14460         Constify.
14461         * d-exp.y (yyerror): Constify.
14462         (struct token::oper): Constify.
14463         * d-lang.h (d_yyerror): Constify.
14464         * dbxread.c (struct header_file_location::name): Constify.
14465         (add_old_header_file, add_new_header_file, last_function_name)
14466         (dbx_next_symbol_text, add_bincl_to_list)
14467         (find_corresponding_bincl_psymtab, set_namestring)
14468         (find_stab_function_addr, read_dbx_symtab, start_psymtab)
14469         (dbx_end_psymtab, read_ofile_symtab, process_one_symbol):
14470         * defs.h (command_line_input, print_address_symbolic)
14471         (deprecated_readline_begin_hook): Constify.
14472         * dwarf2read.c (anonymous_struct_prefix, dwarf_bool_name):
14473         Constify.
14474         * event-top.c (handle_line_of_input): Constify and add cast.
14475         * exceptions.c (catch_errors): Constify.
14476         * exceptions.h (catch_errors): Constify.
14477         * expprint.c (print_subexp_standard, op_string, op_name)
14478         (op_name_standard, dump_raw_expression, dump_raw_expression):
14479         * expression.h (op_name, op_string, dump_raw_expression):
14480         Constify.
14481         * f-exp.y (yyerror): Constify.
14482         (struct token::oper): Constify.
14483         (struct f77_boolean_val::name): Constify.
14484         * f-lang.c (f_word_break_characters): Constify.
14485         * f-lang.h (f_yyerror): Constify.
14486         * fork-child.c (fork_inferior): Add cast.
14487         * frv-tdep.c (struct gdbarch_tdep::register_names): Constify.
14488         (new_variant): Constify.
14489         * gdbarch.sh (pstring_ptr, pstring_list): Constify.
14490         * gdbarch.c: Regenerate.
14491         * gdbcore.h (set_gnutarget): Constify.
14492         * go-exp.y (yyerror): Constify.
14493         (token::oper): Constify.
14494         * go-lang.h (go_yyerror): Constify.
14495         * go32-nat.c (go32_sysinfo): Constify.
14496         * guile/scm-breakpoint.c (gdbscm_breakpoint_expression): Constify.
14497         * guile/scm-cmd.c (cmdscm_function): Constify.
14498         * guile/scm-param.c (pascm_param_value): Constify.
14499         * h8300-tdep.c (h8300_register_name, h8300s_register_name)
14500         (h8300sx_register_name): Constify.
14501         * hppa-tdep.c (hppa32_register_name, hppa64_register_name):
14502         Constify.
14503         * ia64-tdep.c (ia64_register_names): Constify.
14504         * infcmd.c (construct_inferior_arguments): Constify.
14505         (path_command, attach_post_wait): Constify.
14506         * language.c (show_range_command, show_case_command)
14507         (unk_lang_error): Constify.
14508         * language.h (language_defn::la_error)
14509         (language_defn::la_name_of_this): Constify.
14510         * linespec.c (decode_line_2): Constify.
14511         * linux-thread-db.c (thread_db_err_str): Constify.
14512         * lm32-tdep.c (lm32_register_name): Constify.
14513         * m2-exp.y (yyerror): Constify.
14514         * m2-lang.h (m2_yyerror): Constify.
14515         * m32r-tdep.c (m32r_register_names): Constify and make static.
14516         * m68hc11-tdep.c (m68hc11_register_names): Constify.
14517         * m88k-tdep.c (m88k_register_name): Constify.
14518         * macroexp.c (appendmem): Constify.
14519         * mdebugread.c (fdr_name, add_data_symbol, parse_type)
14520         (upgrade_type, parse_external, parse_partial_symbols)
14521         (mdebug_next_symbol_text, cross_ref, mylookup_symbol, new_psymtab)
14522         (new_symbol): Constify.
14523         * memattr.c (mem_info_command): Constify.
14524         * mep-tdep.c (register_name_from_keyword): Constify.
14525         * mi/mi-cmd-env.c (mi_cmd_env_path, _initialize_mi_cmd_env):
14526         Constify.
14527         * mi/mi-cmd-stack.c (list_args_or_locals): Constify.
14528         * mi/mi-cmd-var.c (mi_cmd_var_show_attributes): Constify.
14529         * mi/mi-main.c (captured_mi_execute_command): Constify and add
14530         cast.
14531         (mi_execute_async_cli_command): Constify.
14532         * mips-tdep.c (mips_register_name): Constify.
14533         * mn10300-tdep.c (register_name, mn10300_generic_register_name)
14534         (am33_register_name, am33_2_register_name)
14535         * moxie-tdep.c (moxie_register_names): Constify.
14536         * nat/linux-osdata.c (osdata_type): Constify fields.
14537         * nto-tdep.c (nto_parse_redirection): Constify.
14538         * objc-lang.c (lookup_struct_typedef, lookup_objc_class)
14539         (lookup_child_selector): Constify.
14540         (objc_methcall::name): Constify.
14541         * objc-lang.h (lookup_objc_class, lookup_child_selector)
14542         (lookup_struct_typedef): Constify.
14543         * objfiles.c (pc_in_section): Constify.
14544         * objfiles.h (pc_in_section): Constify.
14545         * p-exp.y (struct token::oper): Constify.
14546         (yyerror): Constify.
14547         * p-lang.h (pascal_yyerror): Constify.
14548         * parser-defs.h (op_name_standard): Constify.
14549         (op_print::string): Constify.
14550         (exp_descriptor::op_name): Constify.
14551         * printcmd.c (print_address_symbolic): Constify.
14552         * psymtab.c (print_partial_symbols): Constify.
14553         * python/py-breakpoint.c (stop_func): Constify.
14554         (bppy_get_expression): Constify.
14555         * python/py-cmd.c (cmdpy_completer::name): Constify.
14556         (cmdpy_function): Constify.
14557         * python/py-event.c (evpy_add_attribute)
14558         (gdbpy_initialize_event_generic): Constify.
14559         * python/py-event.h (evpy_add_attribute)
14560         (gdbpy_initialize_event_generic): Constify.
14561         * python/py-evts.c (add_new_registry): Constify.
14562         * python/py-finishbreakpoint.c (outofscope_func): Constify.
14563         * python/py-framefilter.c (get_py_iter_from_func): Constify.
14564         * python/py-inferior.c (get_buffer): Add cast.
14565         * python/py-param.c (parm_constant::name): Constify.
14566         * python/py-unwind.c (fprint_frame_id): Constify.
14567         * python/python.c (gdbpy_parameter_value): Constify.
14568         * remote-fileio.c (remote_fio_func_map): Make 'name' const.
14569         * remote.c (memory_packet_config::name): Constify.
14570         (show_packet_config_cmd, remote_write_bytes)
14571         (remote_buffer_add_string):
14572         * reverse.c (exec_reverse_once): Constify.
14573         * rs6000-tdep.c (variant::name, variant::description): Constify.
14574         * rust-exp.y (rustyyerror): Constify.
14575         * rust-lang.c (rust_op_name): Constify.
14576         * rust-lang.h (rustyyerror): Constify.
14577         * serial.h (serial_ops::name): Constify.
14578         * sh-tdep.c (sh_sh_register_name, sh_sh3_register_name)
14579         (sh_sh3e_register_name, sh_sh2e_register_name)
14580         (sh_sh2a_register_name, sh_sh2a_nofpu_register_name)
14581         (sh_sh_dsp_register_name, sh_sh3_dsp_register_name)
14582         (sh_sh4_register_name, sh_sh4_nofpu_register_name)
14583         (sh_sh4al_dsp_register_name): Constify.
14584         * sh64-tdep.c (sh64_register_name): Constify.
14585         * solib-darwin.c (lookup_symbol_from_bfd): Constify.
14586         * spu-tdep.c (spu_register_name, info_spu_dma_cmdlist): Constify.
14587         * stabsread.c (patch_block_stabs, read_type_number)
14588         (ref_map::stabs, ref_add, process_reference)
14589         (symbol_reference_defined, define_symbol, define_symbol)
14590         (error_type, read_type, read_member_functions, read_cpp_abbrev)
14591         (read_one_struct_field, read_struct_fields, read_baseclasses)
14592         (read_tilde_fields, read_struct_type, read_array_type)
14593         (read_enum_type, read_sun_builtin_type, read_sun_floating_type)
14594         (read_huge_number, read_range_type, read_args, common_block_start)
14595         (find_name_end): Constify.
14596         * stabsread.h (common_block_start, define_symbol)
14597         (process_one_symbol, symbol_reference_defined, ref_add):
14598         * symfile.c (get_section_index, add_symbol_file_command):
14599         * symfile.h (get_section_index): Constify.
14600         * target-descriptions.c (tdesc_type::name): Constify.
14601         (tdesc_free_type): Add cast.
14602         * target.c (find_default_run_target):
14603         (add_deprecated_target_alias, find_default_run_target)
14604         (target_announce_detach): Constify.
14605         (do_option): Constify.
14606         * target.h (add_deprecated_target_alias): Constify.
14607         * thread.c (print_thread_info_1): Constify.
14608         * top.c (deprecated_readline_begin_hook, command_line_input):
14609         Constify.
14610         (init_main): Add casts.
14611         * top.h (handle_line_of_input): Constify.
14612         * tracefile-tfile.c (tfile_write_uploaded_tsv): Constify.
14613         * tracepoint.c (tvariables_info_1, trace_status_mi): Constify.
14614         (tfind_command): Rename to ...
14615         (tfind_command_1): ... this and constify.
14616         (tfind_command): New function.
14617         (tfind_end_command, tfind_start_command): Adjust.
14618         (encode_source_string): Constify.
14619         * tracepoint.h (encode_source_string): Constify.
14620         * tui/tui-data.c (tui_partial_win_by_name): Constify.
14621         * tui/tui-data.h (tui_partial_win_by_name): Constify.
14622         * tui/tui-source.c (tui_set_source_content_nil): Constify.
14623         * tui/tui-source.h (tui_set_source_content_nil): Constify.
14624         * tui/tui-win.c (parse_scrolling_args): Constify.
14625         * tui/tui-windata.c (tui_erase_data_content): Constify.
14626         * tui/tui-windata.h (tui_erase_data_content): Constify.
14627         * tui/tui-winsource.c (tui_erase_source_content): Constify.
14628         * tui/tui.c (tui_enable): Add cast.
14629         * utils.c (defaulted_query): Constify.
14630         (init_page_info): Add cast.
14631         (puts_debug, subset_compare): Constify.
14632         * utils.h (subset_compare): Constify.
14633         * varobj.c (varobj_format_string): Constify.
14634         * varobj.h (varobj_format_string): Constify.
14635         * vax-tdep.c (vax_register_name): Constify.
14636         * windows-nat.c (windows_detach): Constify.
14637         * xcoffread.c (process_linenos, xcoff_next_symbol_text): Constify.
14638         * xml-support.c (gdb_xml_end_element): Constify.
14639         * xml-tdesc.c (tdesc_start_reg): Constify.
14640         * xstormy16-tdep.c (xstormy16_register_name): Constify.
14641         * xtensa-tdep.c (xtensa_find_register_by_name): Constify.
14642         * xtensa-tdep.h (xtensa_register_t::name): Constify.
14643
14644 2017-04-05  Pedro Alves  <palves@redhat.com>
14645
14646         * proc-api.c (struct trans): Constify.
14647         (procfs_note): Constify.
14648         * proc-events.c (struct trans, syscall_table):
14649         * proc-flags.c (struct trans): Constify.
14650         * proc-utils.h (procfs_note): Constify.
14651         * proc-why.c (struct trans): Constify.
14652         * procfs.c (dead_procinfo, find_syscall, proc_warn, proc_error)
14653         (procfs_detach): Constify.
14654         * sol-thread.c (struct string_map): Constify.
14655         (td_err_string, td_state_string): Constify.
14656
14657 2017-04-05  Pedro Alves  <palves@redhat.com>
14658
14659         * proc-api.c (procfs_filename): Don't initialize
14660         procfs_filename.
14661         (prepare_to_trace): Assume procfs_filename is non-NULL.
14662         (_initialize_proc_api): Give procfs_filename a default value here.
14663
14664 2017-04-05  Pedro Alves  <palves@redhat.com>
14665
14666         * break-catch-throw.c (handle_gnu_v3_exceptions): Constify
14667         'cond_string' parameter.
14668         (extract_exception_regexp): Constify 'string' parameter.
14669         (catch_exception_command_1): Constify.
14670         * breakpoint.c (init_catchpoint)
14671         (create_fork_vfork_event_catchpoint): Constify 'cond_string'
14672         parameter.
14673         (ep_parse_optional_if_clause, catch_fork_command_1)
14674         (catch_exec_command_1): Constify.
14675         * breakpoint.h (init_catchpoint): Constify 'cond_string'
14676         parameter.
14677         (ep_parse_optional_if_clause): Constify.
14678         * cli/cli-utils.c (remove_trailing_whitespace)
14679         (check_for_argument): Constify.
14680         * cli/cli-utils.h (remove_trailing_whitespace): Constify and add
14681         non-const overload.
14682         (check_for_argument): Likewise.
14683
14684 2017-04-05  Pedro Alves  <palves@redhat.com>
14685
14686         * event-top.c (command_line_handler): Add cast to execute_command
14687         call.
14688         * record-btrace.c (cmd_record_btrace_bts_start)
14689         (cmd_record_btrace_pt_start, cmd_record_btrace_start)
14690         (cmd_record_btrace_start): Add cast to execute_command call.
14691         * record-full.c (record_full_goto_insn):
14692         * record.c (record_start, record_stop): Add cast to
14693         execute_command_to_string calls.
14694         (cmd_record_start): Add cast to execute_command calls.
14695
14696 2017-04-05  Pedro Alves  <palves@redhat.com>
14697
14698         * python/python-internal.h (gdb_PyArg_ParseTupleAndKeywords): New
14699         static inline function.
14700         * python/py-arch.c (archpy_disassemble): Constify 'keywords'
14701         array and use gdb_PyArg_ParseTupleAndKeywords.
14702         * python/py-cmd.c (cmdpy_init): Likewise.
14703         * python/py-finishbreakpoint.c (bpfinishpy_init): Likewise.
14704         * python/py-inferior.c (infpy_read_memory, infpy_write_memory)
14705         (infpy_search_memory): Likewise.
14706         * python/py-objfile.c (objfpy_add_separate_debug_file)
14707         (gdbpy_lookup_objfile): Likewise.
14708         * python/py-symbol.c (gdbpy_lookup_symbol)
14709         (gdbpy_lookup_global_symbol): Likewise.
14710         * python/py-type.c (gdbpy_lookup_type): Likewise.
14711         * python/py-value.c (valpy_lazy_string, valpy_string): Likewise.
14712         * python/python.c (execute_gdb_command, gdbpy_write, gdbpy_flush):
14713         Likewise.
14714
14715 2017-04-05  Pedro Alves  <palves@redhat.com>
14716
14717         * python/python-internal.h (gdb_PyGetSetDef): New type.
14718         * python/py-block.c (block_object_getset)
14719         (breakpoint_object_getset): Now a gdb_PyGetSetDef array.
14720         * python/py-event.c (event_object_getset)
14721         (finish_breakpoint_object_getset): Likewise.
14722         * python/py-inferior.c (inferior_object_getset): Likewise.
14723         * python/py-infthread.c (thread_object_getset): Likewise.
14724         * python/py-lazy-string.c (lazy_string_object_getset): Likewise.
14725         * python/py-linetable.c (linetable_entry_object_getset): Likewise.
14726         * python/py-objfile.c (objfile_getset): Likewise.
14727         * python/py-progspace.c (pspace_getset): Likewise.
14728         * python/py-record-btrace.c (btpy_insn_getset, btpy_call_getset):
14729         Likewise.
14730         * python/py-record.c (recpy_record_getset): Likewise.
14731         * python/py-symbol.c (symbol_object_getset): Likewise.
14732         * python/py-symtab.c (symtab_object_getset, sal_object_getset):
14733         Likewise.
14734         * python/py-type.c (type_object_getset, field_object_getset):
14735         Likewise.
14736         * python/py-value.c (value_object_getset): Likewise.
14737
14738 2017-04-05  Pedro Alves  <palves@redhat.com>
14739
14740         * python/python-internal.h (gdb_PyObject_CallMethod)
14741         (gdb_PyErr_NewException, gdb_PySys_GetObject, gdb_PySys_SetPath):
14742         New functions.
14743         (GDB_PYSYS_SETPATH_CHAR, PyObject_CallMethod, PyErr_NewException)
14744         (PySys_GetObject, PySys_SetPath): New macros.
14745
14746 2017-04-05  Pedro Alves  <palves@redhat.com>
14747
14748         * mi/mi-cmd-info.c (mi_cmd_info_os): Call info_osdata instead of
14749         info_osdata_command.
14750         * osdata.c (info_osdata_command): Rename to ...
14751         (info_osdata): ... this.  Constify 'type' parameter, and remove
14752         the 'from_tty' parameter.  Accept NULL TYPE.
14753         (info_osdata_command): New function.
14754         * osdata.h (info_osdata_command): Remove declaration.
14755         (info_osdata): New declaration.
14756
14757 2017-04-05  Pedro Alves  <palves@redhat.com>
14758
14759         * mi/mi-cmd-break.c (mi_cmd_break_insert_1, mi_cmd_break_insert)
14760         (mi_cmd_dprintf_insert, mi_cmd_break_passcount)
14761         (mi_cmd_break_watch, mi_cmd_break_commands): Constify 'command'
14762         parameter.
14763         * mi/mi-cmd-catch.c (mi_cmd_catch_assert, mi_cmd_catch_exception)
14764         (mi_cmd_catch_load, mi_cmd_catch_unload): Constify cmd' parameter.
14765         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Constify 'command'
14766         parameter.
14767         * mi/mi-cmd-env.c (mi_cmd_env_pwd, mi_cmd_env_cd, mi_cmd_env_path)
14768         (mi_cmd_env_dir, mi_cmd_inferior_tty_set, _cmd_inferior_tty_show)
14769         * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file)
14770         (mi_cmd_file_list_exec_source_files)
14771         (mi_cmd_file_list_shared_libraries): Constify 'command' parameter.
14772         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions)
14773         (mi_cmd_info_gdb_mi_command, mi_cmd_info_os): Constify 'command'
14774         parameter.
14775         * mi/mi-cmd-stack.c (mi_cmd_enable_frame_filters)
14776         (mi_cmd_stack_list_frames, mi_cmd_stack_info_depth)
14777         (mi_cmd_stack_list_locals, mi_cmd_stack_list_args)
14778         (mi_cmd_stack_list_variables, mi_cmd_stack_select_frame)
14779         (mi_cmd_stack_info_frame): Constify 'command' parameter.
14780         * mi/mi-cmd-target.c (mi_cmd_target_file_get)
14781         (mi_cmd_target_file_put, mi_cmd_target_file_delete): Constify
14782         'command' parameter.
14783         * mi/mi-cmd-var.c (mi_cmd_var_create, mi_cmd_var_delete)
14784         (mi_cmd_var_set_format, mi_cmd_var_set_visualizer)
14785         (mi_cmd_var_set_frozen, mi_cmd_var_show_format)
14786         (mi_cmd_var_info_num_children, mi_cmd_var_list_children)
14787         (mi_cmd_var_info_type, mi_cmd_var_info_path_expression)
14788         (mi_cmd_var_info_expression, mi_cmd_var_show_attributes)
14789         (mi_cmd_var_evaluate_expression, mi_cmd_var_assign)
14790         (mi_cmd_var_update, mi_cmd_enable_pretty_printing)
14791         (mi_cmd_var_set_update_range): Constify 'command' parameter.
14792         * mi/mi-cmds.h (mi_cmd_argv_ftype): Constify 'command' parameter.
14793         * mi/mi-interp.c (mi_cmd_interpreter_exec): Constify 'command'
14794         parameter.
14795         * mi/mi-main.c (mi_cmd_gdb_exit, mi_cmd_exec_next)
14796         (mi_cmd_exec_next_instruction, mi_cmd_exec_step)
14797         (mi_cmd_exec_step_instruction, mi_cmd_exec_finish)
14798         (mi_cmd_exec_return ,mi_cmd_exec_jump, mi_cmd_exec_continue)
14799         (mi_cmd_exec_interrupt, mi_cmd_exec_run, mi_cmd_target_detach)
14800         (mi_cmd_target_flash_erase, mi_cmd_thread_select)
14801         (mi_cmd_thread_list_ids, mi_cmd_thread_info)
14802         (mi_cmd_list_thread_groups, mi_cmd_data_list_register_names)
14803         (mi_cmd_data_list_changed_registers)
14804         (mi_cmd_data_write_register_values)
14805         (mi_cmd_data_evaluate_expression, mi_cmd_data_read_memory)
14806         (mi_cmd_data_read_memory_bytes, mi_cmd_data_write_memory)
14807         (mi_cmd_data_write_memory_bytes, mi_cmd_enable_timings)
14808         (mi_cmd_list_features, mi_cmd_list_target_features)
14809         (mi_cmd_add_inferior, mi_cmd_remove_inferior)
14810         (mi_cmd_trace_define_variable, mi_cmd_trace_list_variables)
14811         (mi_cmd_trace_find, mi_cmd_trace_save, mi_cmd_trace_start)
14812         (mi_cmd_trace_status, mi_cmd_trace_stop, mi_cmd_ada_task_info)
14813         (mi_cmd_trace_frame_collected): Constify 'command'
14814         parameter.
14815         * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Constify
14816         'command' parameter.
14817
14818 2017-04-05  Pedro Alves  <palves@redhat.com>
14819
14820         * ada-lang.c (ada_completer_word_break_characters): Now a const
14821         array.
14822         (ada_get_gdb_completer_word_break_characters): Constify.
14823         * completer.c (gdb_completer_command_word_break_characters)
14824         (gdb_completer_file_name_break_characters)
14825         (gdb_completer_quote_characters): Now const arrays.
14826         (get_gdb_completer_quote_characters): Constify.
14827         (set_rl_completer_word_break_characters): New function.
14828         (set_gdb_completion_word_break_characters)
14829         (complete_line_internal): Use it.
14830         * completer.h (get_gdb_completer_quote_characters): Constify.
14831         (set_rl_completer_word_break_characters): Declare.
14832         * f-lang.c (f_word_break_characters): Constify.
14833         * language.c (default_word_break_characters): Constify.
14834         * language.h (language_defn::la_word_break_characters): Constify.
14835         (default_word_break_characters): Constify.
14836         * top.c (init_main): Use set_rl_completer_word_break_characters.
14837
14838 2017-04-05  Pedro Alves  <palves@redhat.com>
14839
14840         * aix-thread.c (aix_thread_pid_to_str)
14841         (aix_thread_extra_thread_info): Constify.
14842         * bsd-kvm.c (bsd_kvm_pid_to_str): Constify.
14843         * bsd-uthread.c (bsd_uthread_extra_thread_info)
14844         (bsd_uthread_pid_to_str): Constify.
14845         * corelow.c (core_pid_to_str): Constify.
14846         * darwin-nat.c (darwin_pid_to_str): Constify.
14847         * fbsd-nat.c (fbsd_pid_to_str): Constify.
14848         * fbsd-tdep.c (fbsd_core_pid_to_str, gdbarch_core_pid_to_str):
14849         Constify.
14850         * gnu-nat.c (gnu_pid_to_str): Constify.
14851         * go32-nat.c (go32_pid_to_str): Constify.
14852         * i386-cygwin-tdep.c (i386_windows_core_pid_to_str): Constify.
14853         * inf-ptrace.c (inf_ptrace_pid_to_str): Constify.
14854         * inferior.c (inferior_pid_to_str): Constify.
14855         * linux-nat.c (linux_nat_pid_to_str): Constify.
14856         * linux-tdep.c (linux_core_pid_to_str): Constify.
14857         * linux-thread-db.c (thread_db_pid_to_str)
14858         (thread_db_extra_thread_info): Constify.
14859         * nto-tdep.c (nto_extra_thread_info): Constify.
14860         * nto-tdep.h (nto_extra_thread_info): Constify.
14861         * obsd-nat.c (obsd_pid_to_str): Constify.
14862         * procfs.c (procfs_pid_to_str): Constify.
14863         * ravenscar-thread.c (ravenscar_extra_thread_info)
14864         (ravenscar_pid_to_str): Constify.
14865         * remote-sim.c (gdbsim_pid_to_str): Constify.
14866         * remote.c (remote_threads_extra_info, remote_pid_to_str):
14867         Constify.
14868         * sol-thread.c (solaris_pid_to_str): Constify.
14869         * sol2-tdep.c (sol2_core_pid_to_str): Constify.
14870         * sol2-tdep.h (sol2_core_pid_to_str): Constify.
14871         * target.c (default_pid_to_str, target_pid_to_str)
14872         (normal_pid_to_str, default_pid_to_str): Constify.
14873         * target.h (target_ops::to_pid_to_str)
14874         (target_ops::to_extra_thread_info): Constify.
14875         (target_pid_to_str, normal_pid_to_str): Constify.
14876         * windows-nat.c (windows_pid_to_str): Constify.
14877         * gdbarch.sh (core_pid_to_str): Constify.
14878         * target-delegates.c: Regenerate.
14879         * gdbarch.h, gdbarch.c: Regenerate.
14880
14881 2017-04-05  Pedro Alves  <palves@redhat.com>
14882
14883         * main.c (captured_main_1): Use gdb::unique_xmalloc_ptr to manage
14884         the memory of the temporary warning_pre_print override.
14885         * utils.c (warning_pre_print): Constify.
14886         * utils.h (warning_pre_print): Constify.
14887
14888 2017-04-05  Pedro Alves  <palves@redhat.com>
14889
14890         * cli/cli-cmds.c (shell_escape): Constify 'arg' parameter.
14891         (shell_command): New function.
14892         (make_command): Use std::string.
14893         (init_cli_cmds): Register shell_command instead of shell_escape.
14894
14895 2017-04-05  Pedro Alves  <palves@redhat.com>
14896
14897         * breakpoint.c (dprintf_function, dprintf_channel): Don't initialize.
14898         * tracepoint.c (default_collect): Don't initialize.
14899
14900 2017-04-05  Pedro Alves  <palves@redhat.com>
14901
14902         * macroexp.c (macro_buffer::shared): Now a bool.
14903         (init_buffer): Update.
14904         (init_shared_buffer): Constify 'addr' parameter.
14905         (substitute_args, expand, macro_expand, macro_expand_next): Remove
14906         casts.
14907
14908 2017-04-05  Pedro Alves  <palves@redhat.com>
14909
14910         * arm-tdep.c (show_disassembly_style_sfunc): Constify local.
14911         * disasm.c (set_disassembler_options): Constify local.
14912         * i386-tdep.c (i386_print_insn): Remove cast and FIXME comment.
14913
14914 2017-04-05  Sergio Durigan Junior  <sergiodj@redhat.com>
14915
14916         PR gdb/21352
14917         * tracefile.c (tsave_command): Fix argument parsing for '-r'
14918         option.
14919
14920 2017-04-05  Yao Qi  <yao.qi@linaro.org>
14921
14922         * frame.c (frame_unwind_register_unsigned): Call
14923         frame_unwind_register_value.
14924
14925 2017-04-05  Yao Qi  <yao.qi@linaro.org>
14926
14927         * gdb.threads/thread-specific-bp.exp (check_thread_specific_breakpoint):
14928         Use gdb_test_multiple, and don't match anchor.
14929
14930 2017-04-05  Pedro Alves  <palves@redhat.com>
14931
14932         * MAINTAINERS (Global Maintainers): Add Simon Marchi.
14933         (Write After Approval): Remove Simon Marchi.
14934
14935 2017-04-05  Pedro Alves  <palves@redhat.com>
14936
14937         * common/gdb_optional.h (optional::optional): Make constexpr and
14938         initialize m_dummy.
14939
14940 2017-04-04  John Baldwin  <jhb@FreeBSD.org>
14941
14942         * amd64-fbsd-tdep.c: Remove "bsd-uthread.h" include.
14943         (amd64fbsd_jmp_buf_reg_offset): Remove.
14944         (amd64fbsd_supply_uthread): Remove function.
14945         (amd64fbsd_collect_uthread): Remove function.
14946         (amd64fbsd_init_abi): Don't set bsd-uthread callbacks.
14947         * configure.tgt (i[34567]86-*-freebsd*): Remove bsd-uthread.o.
14948         (x86_64-*-freebsd*): Remove bsd-uthread.o.
14949         (fbsd-nat.c): Update comment.
14950         * i386-fbsd-tdep.c: Remove "bsd-uthread.h" include.
14951         (i386fbsd_jmp_buf_reg_offset): Remove.
14952         (i386fbsd_supply_uthread): Remove function.
14953         (i386fbsd_collect_uthread): Remove function.
14954         (i386fbsd_init_abi): Don't set bsd-uthread callbacks.
14955
14956 2017-04-04  John Baldwin  <jhb@FreeBSD.org>
14957
14958         * Makefile.in (ALL_64_TARGET_OBS): Remove alpha-fbsd-tdep.o.
14959         (ALLDEPFILES): Remove alpha-fbsd-tdep.c
14960         * NEWS: Mention that support for FreeBSD/alpha was removed.
14961         * alpha-fbsd-tdep.c: Delete file.
14962         * config/alpha/fbsd.mh: Delete file.
14963         * configure.host: Delete alpha*-*-freebsd* and
14964         alpha*-*-kfreebsd*-gnu.
14965         * configure.tgt: Delete alpha*-*-freebsd* and
14966         alpha*-*-kfreebsd*-gnu.
14967
14968 2017-04-04  John Baldwin  <jhb@FreeBSD.org>
14969
14970         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers,
14971         amd64bsd_store_inferior_registers): Use ptid from regcache.
14972
14973 2017-04-04  Pedro Alves  <palves@redhat.com>
14974
14975         * dwarf2read.c (lnp_state_machine): Now a class.  Initialize all
14976         data fields, make them private and add "m_" prefixes.
14977         (lnp_state_machine::lnp_state_machine): New ctor.
14978         (record_line, check_line_address, handle_set_discriminator)
14979         (handle_set_address, handle_advance_pc, handle_special_opcode)
14980         (handle_advance_line, handle_set_file, handle_negate_stmt)
14981         (handle_const_add_pc, handle_fixed_advance_pc, handle_copy)
14982         (end_sequence, advance_line): New methods.
14983         (m_gdbarch, m_record_lines_p): New fields.
14984         (lnp_reader_state): Delete.
14985         (dwarf_record_line): Rename to ...
14986         (lnp_state_machine::record_line): ... adjust.
14987         (init_lnp_state_machine): Delete.
14988         (lnp_state_machine::lnp_state_machine): New.
14989         (check_line_address): Rename to ...
14990         (lnp_state_machine::check_line_address): This.
14991         (dwarf_decode_lines_1): Remove reference to "reader_state".
14992         Adjust lnp_state_machine having a non-default ctor.  Use bool.
14993         State machine internal state manipulation moved to
14994         lnp_state_machine methods.
14995
14996 2017-04-04  Pedro Alves  <palves@redhat.com>
14997
14998         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
14999         unittests/offset-type-selftests.c.
15000         (SUBDIR_UNITTESTS_OBS): Add offset-type-selftests.o.
15001         * common/offset-type.h: New file.
15002         * common/preprocessor.h: New file.
15003         * common/traits.h: New file.
15004         * common/valid-expr.h: New file.
15005         * dwarf2expr.c: Include "common/underlying.h".  Adjust to use
15006         sect_offset and cu_offset strong typedefs throughout.
15007         * dwarf2expr.h: Adjust to use sect_offset and cu_offset strong
15008         typedefs throughout.
15009         * dwarf2loc.c: Include "common/underlying.h".  Adjust to use
15010         sect_offset and cu_offset strong typedefs throughout.
15011         * dwarf2read.c: Adjust to use sect_offset and cu_offset strong
15012         typedefs throughout.
15013         * gdbtypes.h: Include "common/offset-type.h".
15014         (cu_offset): Now an offset type (strong typedef) instead of a
15015         struct.
15016         (sect_offset): Likewise.
15017         (union call_site_parameter_u): Rename "param_offset" field to
15018         "param_cu_off".
15019         * unittests/offset-type-selftests.c: New file.
15020
15021 2017-04-04  Pedro Alves  <palves@redhat.com>
15022
15023         * common/underlying.h: New file.
15024         * dwarf2read.c: Include "common/gdb_optional.h" and
15025         "common/underlying.h".
15026         (dir_index, file_name_index): New types.
15027         (file_entry): Use them.
15028         (file_entry::include): Use to_underlying.
15029         (line_header::add_file_name): Use dir_index.
15030         (read_formatted_entries): Use gdb::optional.  Read form before
15031         writting to file_entry.
15032         (dwarf_decode_line_header): Use dir_index.
15033         (lnp_state_machine::current_file): Use to_underlying.
15034         (lnp_state_machine::file): Change type to file_name_index.
15035         (dwarf_record_line): Use to_underlying.
15036         (init_lnp_state_machine): Use file_name_index.
15037         (dwarf_decode_lines_1): Use dir_index and file_name_index.
15038
15039 2017-04-04  Pedro Alves  <palves@redhat.com>
15040
15041         * common/gdb_optional.h (gdb::optiona): Add operator->, operator*,
15042         operator bool, has_value and get methods.
15043
15044 2017-04-04  Pedro Alves  <palves@redhat.com>
15045
15046         * dwarf2read.c (struct file_entry): Add ctors, and initialize all
15047         fields.
15048         (line_header): Initialize all data fields.  Change type of
15049         standard_opcode_lengths to std::unique_ptr<unsigned char[]>.
15050         Change type of include_dirs to std::vector<const char *>.  Remove
15051         num_include_dirs, include_dirs_size.  Change type of file_names to
15052         std::vector<file_entry>.  Remove num_file_names, file_names_size.
15053         (line_header::line_header): New.
15054         (line_header::add_include_dir, line_header::add_file_name): New
15055         methods.
15056         (line_header::include_dir_at): Remove NULL check.
15057         (line_header::file_name_at): Add const overload.
15058         (line_header_up): New unique_ptr typedef.
15059         (dw2_get_file_names_reader): Use line_header_up.  Adjust to use
15060         std::vector.  Remove free_line_header call.
15061         (dwarf2_build_include_psymtabs): Use line_header_up.  Remove
15062         free_line_header call.
15063         (free_cu_line_header): Delete.
15064         (handle_DW_AT_stmt_list, handle_DW_AT_stmt_list)
15065         (setup_type_unit_groups): Use line_header_up instead of cleanups.
15066         Adjust to use std::vector.
15067         (free_line_header): Delete.
15068         (free_line_header_voidp): Use delete.
15069         (add_include_dir): Replace with ...
15070         (line_header::add_include_dir): ... this method.  Use std::vector.
15071         (add_file_name): Replace with ...
15072         (line_header::add_file_name): ... this method.  Use std::vector.
15073         (add_include_dir_stub): Delete.
15074         (read_formatted_entries): Remove memset.
15075         (dwarf_decode_line_header): Return a line_header_up instead of a
15076         raw pointer.  Remove cleanup handling.  Pass lambdas to
15077         read_formatted_entries.  Adjust to use line_header methods.
15078         (dwarf_decode_lines_1): Adjust to use line_header methods.
15079         (dwarf_decode_lines, file_file_name, file_full_name): Adjust to
15080         use std::vector.
15081
15082 2017-04-04  Simon Marchi  <simon.marchi@polymtl.ca>
15083
15084         * remote.c (set_general_thread, set_continue_thread): Use ptid_t
15085         instead of struct ptid.
15086
15087 2017-05-04  Alan Hayward  <alan.hayward@arm.com>
15088
15089         * frame.c (get_frame_register_bytes): Unwind using value.
15090         (put_frame_register_bytes): Likewise.
15091
15092 2017-03-30  Iain Buclaw  <ibuclaw@gdcproject.org>
15093
15094         * d-exp.y (type_aggregate_p): Treat TYPE_CODE_MODULE as being
15095         aggregate-like.
15096
15097 2017-03-29  Jan Kratochvil  <jan.kratochvil@redhat.com>
15098
15099         * auto-load.c (auto_load_section_scripts): Check SEC_HAS_CONTENTS.
15100
15101 2017-03-29  Yao Qi  <yao.qi@linaro.org>
15102
15103         * gdbthread.h (struct thread_info): Declare constructor and
15104         destructor.  Add some in-class member initializers.
15105         * thread.c (free_thread): Remove.
15106         (init_thread_list): Call delete instead of free_thread.
15107         (new_thread): Call thread_info constructor.
15108         (thread_info::thread_info): New function.
15109         (thread_info::~thread_info): New function.
15110         (delete_thread_1): Call delete instead of free_thread.
15111         (make_cleanup_restore_current_thread): Move tp and frame to
15112         inner block.
15113
15114 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15115
15116         * arc-tdep.c (arc_frame_cache): Add support for prologue analysis.
15117         (arc_skip_prologue): Likewise.
15118         (arc_make_frame_cache): Likewise.
15119         (arc_pv_get_operand): New function.
15120         (arc_is_in_prologue): Likewise.
15121         (arc_analyze_prologue): Likewise.
15122         (arc_print_frame_cache): Likewise.
15123         (MAX_PROLOGUE_LENGTH): New constant.
15124
15125 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15126
15127         * configure.tgt: Add arc-insn.o.
15128         * arc-tdep.c (arc_delayed_print_insn): Make non-static.
15129         (dump_arc_instruction_command): New function.
15130         (arc_fprintf_disasm): Likewise.
15131         (arc_disassemble_info): Likewise.
15132         (arc_insn_get_operand_value): Likewise.
15133         (arc_insn_get_operand_value_signed): Likewise.
15134         (arc_insn_get_memory_base_reg): Likewise.
15135         (arc_insn_get_memory_offset): Likewise.
15136         (arc_insn_get_branch_target): Likewise.
15137         (arc_insn_dump): Likewise.
15138         (arc_insn_get_linear_next_pc): Likewise.
15139         * arc-tdep.h (arc_delayed_print_insn): Add function declaration.
15140         (arc_disassemble_info): Likewise.
15141         (arc_insn_get_branch_target): Likewise.
15142         (arc_insn_get_linear_next_pc): Likewise.
15143         * NEWS: Mention new "maint print arc arc-instruction".
15144
15145 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15146
15147         * arc-tdep (maintenance_print_arc_list): New variable.
15148         (maintenance_print_arc_command): New function.
15149
15150 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15151
15152         * arc-tdep.c (core_v2_register_names, core_arcompact_register_names)
15153         Add "limm" and "reserved".
15154         (arc_cannot_fetch_register, arc_cannot_store_register): Add
15155         ARC_RESERVED_REGNUM and ARC_LIMM_REGNUM.
15156         * arc-tdep.h (arc_regnum): Likewise.
15157
15158 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15159
15160         * xtensa-linux-nat.c (fill_gregset): Call regcache_raw_collect
15161         for THREADPTR register.
15162         (supply_gregset_reg): Call regcache_raw_supply for THREADPTR
15163         register.
15164         * xtensa-tdep.c (XTENSA_DBREGN_UREG): New definition.
15165         (xtensa_derive_tdep): Initialize tdep->threadptr_regnum.
15166         * xtensa-tdep.h (gdbarch_tdep::threadptr_regnum): New field.
15167
15168 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15169
15170         * xtensa-tdep.c (xtensa_pseudo_register_read): Treat all
15171         registers above gdbarch_num_regs (gdbarch) as privileged in
15172         call0 ABI.
15173
15174 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15175
15176         * xtensa-linux-nat.c (fill_gregset): Call regcache_raw_collect
15177         for a single specified register or for all registers in
15178         a0_base..a0_base + C0_NREGS range.
15179         (supply_gregset_reg): Call regcache_raw_supply for a single
15180         specified register or for all registers in a0_base..a0_base +
15181         C0_NREGS range.
15182
15183 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15184
15185         * arch/xtensa.h (C0_NREGS): Add definition.
15186         * xtensa-tdep.c (C0_NREGS): Remove definition.
15187
15188 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15189
15190         * xtensa-tdep.c (xtensa_scan_prologue, call0_analyze_prologue):
15191         Drop xtensa_default_isa initialization.
15192         (xtensa_gdbarch_init): Initialize xtensa_default_isa.
15193
15194 2017-03-27  Pedro Alves  <palves@redhat.com>
15195
15196         * dwarf2read.c (file_entry) <dir_index>: Add comment.
15197         (file_entry::include_dir): New method.
15198         (line_header::include_dir_at, line_header::file_name_at): New
15199         methods.
15200         (setup_type_unit_groups, setup_type_unit_groups)
15201         (psymtab_include_file_name): Simplify using the new methods.
15202         (lnp_state_machine) <the_line_header>: New field.
15203         <file>: Add comment.
15204         (lnp_state_machine::current_file): New method.
15205         (dwarf_record_line): Simplify using the new methods.
15206         (init_lnp_state_machine): Initialize the "the_line_header" field.
15207         (dwarf_decode_lines_1, dwarf_decode_lines, file_file_name):
15208         Simplify using the new methods.
15209
15210 2017-03-27  Pedro Alves  <palves@redhat.com>
15211
15212         * cp-name-parser.y (make_empty): Delete.
15213         (demangler_special, nested_name, ptr_operator, array_indicator)
15214         (direct_declarator, declarator_1): Use fill_comp instead of
15215         make_empty.
15216
15217 2017-03-27  Pedro Alves  <palves@redhat.com>
15218
15219         * xml-support.h (gdb_xml_debug): Pass a "first-to-check" argument
15220         to ATTRIBUTE_PRINTF.
15221         * solib-target.c (library_list_start_list): Print "string" not
15222         "version".
15223         * xml-tdesc.c (tdesc_start_field): Pass "field_name" to
15224         gdb_xml_error call.
15225
15226 2017-03-27  Pedro Alves  <palves@redhat.com>
15227
15228         * dwarf2read.c (struct file_and_directory): New.
15229         (dwarf2_get_dwz_file): Adjust to use std::string.
15230         (dw2_get_file_names_reader): Adjust to use file_and_directory.
15231         (find_file_and_directory): Adjust to return a file_and_directory
15232         object.
15233         (read_file_scope): Adjust to use file_and_directory.  Remove
15234         make_cleanup/do_cleanups calls.
15235         (open_and_init_dwp_file): Adjust to use std::string.  Remove
15236         make_cleanup/do_cleanups calls.
15237         * python/python.c (do_start_initialization): Adjust to ldirname
15238         returning a std::string.
15239         * utils.c (ldirname): Now returns a std::string.
15240         * utils.h (ldirname): Change return type to std::string.
15241         * xml-syscall.c (xml_init_syscalls_info): Adjust to ldirname
15242         returning a std::string.
15243         * xml-tdesc.c (file_read_description_xml): Likewise.
15244
15245 2017-03-24  Alan Hayward  <alan.hayward@arm.com>
15246
15247         * regcache.c (regcache_debug_print_register): New function.
15248         * regcache.h (regcache_debug_print_register): New declaration.
15249         * target.c (debug_print_register): Remove.
15250         (target_fetch_registers): Call regcache_debug_print_register.
15251         (target_store_registers): Likewise.
15252
15253 2017-03-24  Pádraig Brady  <pbrady@fb.com>
15254
15255         * dwarf2read.c (setup_type_unit_groups): Ensure dir_index doesn't
15256         reference beyond the 'lh->include_dirs' array before accessing to
15257         it.
15258         (psymtab_include_file_name): Likewise.
15259         (dwarf_decode_lines_1): Likewise.
15260         (dwarf_decode_lines): Likewise.
15261         (file_file_name): Likewise.
15262
15263 2017-03-23  Simon Marchi  <simon.marchi@ericsson.com>
15264
15265         * fbsd-tdep.c (fbsd_corefile_thread): Don't set/restore
15266         inferior_ptid.
15267         * proc-service.c (ps_lgetregs, ps_lsetregs, ps_lgetfpregs,
15268         ps_lsetfpregs): Likewise.
15269         * regcache.c (regcache_raw_update, regcache_raw_write): Likewise.
15270         * sol-thread.c (ps_lgetregs, ps_lsetregs, ps_lgetfpregs,
15271         ps_lsetfpregs): Likewise.
15272         * target.c (target_fetch_registers, target_store_registers):
15273         Remove asserts.
15274
15275 2017-03-23  Alan Hayward  <alan.hayward@arm.com>
15276
15277         * sol-thread.c (sol_thread_store_registers): Remove regcache calls.
15278
15279 2017-03-23  Yao Qi  <yao.qi@linaro.org>
15280
15281         * aarch64-tdep.c (aarch64_process_record_test): Declare.
15282         (_initialize_aarch64_tdep): Register it.
15283         (aarch64_record_load_store): Handle PRFM instruction.
15284         (aarch64_process_record_test): New function.
15285
15286 2017-03-23  Yao Qi  <yao.qi@linaro.org>
15287
15288         * aarch64-tdep.c (aarch64_record_load_store): Fix code
15289         indentation.
15290
15291 2017-03-23  Yao Qi  <yao.qi@linaro.org>
15292
15293         * aarch64-tdep.c: Remove AARCH64_RECORD_FAILURE.
15294
15295 2017-03-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
15296
15297         python/python.c (do_start_initialization): Fix memory leak.
15298
15299 2017-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
15300
15301         * inf-ptrace.c (inf_ptrace_xfer_partial): Get pid from ptid
15302         using get_ptrace_pid.
15303         * linux-nat.c (linux_nat_xfer_partial): Don't set/restore
15304         inferior_ptid.
15305         (linux_proc_xfer_partial, linux_proc_xfer_spu): Use lwp of
15306         inferior_ptid instead of pid.
15307
15308 2017-03-22  Yao Qi  <yao.qi@linaro.org>
15309
15310         * aarch64-tdep.c: Wrap locally used classes in anonymous
15311         namespace.
15312         * arm-tdep.c: Likewise.
15313         * linespec.c: Likewise.
15314         * ui-out.c: Likewise.
15315
15316 2017-03-22  Jonah Graham  <jonah@kichwacoders.com>
15317
15318         PR gdb/19637
15319         * python/lib/gdb/printer/bound_registers.py: Import sys.
15320
15321 2017-03-21  Simon Marchi  <simon.marchi@ericsson.com>
15322
15323         * windows-nat.c (do_windows_fetch_inferior_registers): Add
15324         windows_thread_info parameter and use it instead of
15325         current_thread.
15326         (windows_fetch_inferior_registers): Don't set current_thread,
15327         pass the thread to do_windows_fetch_inferior_registers.  Use
15328         ptid from regcache instead of inferior_ptid.
15329         (do_windows_store_inferior_registers): Add windows_thread_info
15330         parameter and use it instead of current_thread.
15331         (windows_store_inferior_registers): Don't set current_thread,
15332         pass the thread to do_windows_store_inferior_registers.  Use
15333         ptid from regcache instead of inferior_ptid.
15334
15335 2017-03-21  Simon Marchi  <simon.marchi@ericsson.com>
15336
15337         * ser-mingw.c (ser_windows_raw): Remove reference to
15338         struct serial::current_timeout.
15339
15340 2017-03-21  Ivo Raisr  <ivo.raisr@oracle.com>
15341
15342         PR tdep/20928
15343         * gdb/sparc-tdep.h (gdbarch_tdep) <sparc64_ccr_type>: New field.
15344         * gdb/sparc64-tdep.c (sparc64_ccr_type): New function.
15345         (sparc64_fsr_type): Fix %fsr decoding.
15346
15347 2017-03-21  Tim Wiederhake  <tim.wiederhake@intel.com>
15348
15349         * python/py-record-btrace.c (btpy_insn_data): Change return type
15350         for Python 2.
15351
15352 2017-03-20  Simon Marchi  <simon.marchi@polymtl.ca>
15353
15354         * spu-linux-nat.c (spu_fetch_inferior_registers,
15355         spu_store_inferior_registers): Use ptid from regcache, set and
15356         restore inferior_ptid.
15357         * spu-multiarch.c (spu_fetch_registers, spu_store_registers):
15358         Likewise.
15359
15360 2017-03-20  Simon Marchi  <simon.marchi@polymtl.ca>
15361
15362         * i386-linux-nat.c (fetch_register, store_register,
15363         i386_linux_fetch_inferior_registers,
15364         i386_linux_store_inferior_registers): Use ptid from regcache.
15365         * ia64-linux-nat.c (ia64_linux_fetch_register,
15366         ia64_linux_store_register): Likewise.
15367         * inf-ptrace.c (inf_ptrace_fetch_register,
15368         inf_ptrace_store_register): Likewise.
15369         * m32r-linux-nat.c (m32r_linux_fetch_inferior_registers,
15370         m32r_linux_store_inferior_registers): Likewise.
15371         * m68k-bsd-nat.c (m68kbsd_fetch_inferior_registers,
15372         m68kbsd_store_inferior_registers): Likewise.
15373         * m68k-linux-nat.c (fetch_register, store_register,
15374         m68k_linux_fetch_inferior_registers,
15375         m68k_linux_store_inferior_registers): Likewise.
15376         * m88k-bsd-nat.c (m88kbsd_fetch_inferior_registers,
15377         m88kbsd_store_inferior_registers): Likewise.
15378         * mips-fbsd-nat.c (mips_fbsd_fetch_inferior_registers,
15379         mips_fbsd_store_inferior_registers): Likewise.
15380         * mips-linux-nat.c (mips64_linux_regsets_fetch_registers,
15381         mips64_linux_regsets_store_registers): Likewise.
15382         * mips-nbsd-nat.c (mipsnbsd_fetch_inferior_registers,
15383         mipsnbsd_store_inferior_registers): Likewise.
15384         * mips-obsd-nat.c (mips64obsd_fetch_inferior_registers,
15385         mips64obsd_store_inferior_registers): Likewise.
15386         * nto-procfs.c (procfs_fetch_registers, procfs_store_registers):
15387         Likewise.
15388         * ppc-fbsd-nat.c (ppcfbsd_fetch_inferior_registers,
15389         ppcfbsd_store_inferior_registers): Likewise.
15390         * ppc-linux-nat.c (ppc_linux_fetch_inferior_registers,
15391         ppc_linux_store_inferior_registers): Likewise.
15392         * ppc-nbsd-nat.c (ppcnbsd_fetch_inferior_registers,
15393         ppcnbsd_store_inferior_registers): Likewise.
15394         * ppc-obsd-nat.c (ppcobsd_fetch_registers,
15395         ppcobsd_store_registers): Likewise.
15396         * procfs.c (procfs_fetch_registers, procfs_store_registers):
15397         Likewise.
15398         * ravenscar-thread.c (ravenscar_fetch_registers,
15399         ravenscar_store_registers, ravenscar_prepare_to_store):
15400         Likewise.
15401         * record-btrace.c (record_btrace_fetch_registers,
15402         record_btrace_store_registers, record_btrace_prepare_to_store):
15403         Likewise.
15404         * remote-sim.c (gdbsim_fetch_register, gdbsim_store_register):
15405         Lookup inferior using ptid from regcache, instead of
15406         current_inferior.
15407         * remote.c (remote_fetch_registers, remote_store_registers): Use
15408         ptid from regcache.
15409         * rs6000-nat.c (fetch_register, store_register): Likewise.
15410         * s390-linux-nat.c (s390_linux_fetch_inferior_registers,
15411         s390_linux_store_inferior_registers): Likewise.
15412         * sh-nbsd-nat.c (shnbsd_fetch_inferior_registers,
15413         shnbsd_store_inferior_registers): Likewise.
15414         * sol-thread.c (sol_thread_fetch_registers,
15415         sol_thread_store_registers): Likewise.
15416         * sparc-nat.c (sparc_fetch_inferior_registers,
15417         sparc_store_inferior_registers): Likewise.
15418         * tilegx-linux-nat.c (fetch_inferior_registers,
15419         store_inferior_registers): Likewise.
15420         * vax-bsd-nat.c (vaxbsd_fetch_inferior_registers,
15421         vaxbsd_store_inferior_registers): Likewise.
15422         * xtensa-linux-nat.c (fetch_gregs, store_gregs, fetch_xtregs,
15423         store_xtregs): Likewise.
15424
15425 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15426
15427         PR gdb/14441
15428         * NEWS: Mention support for rvalue references in GDB and python.
15429         * doc/gdb.texinfo (C Plus Plus Expressions): Mention that GDB
15430         supports both lvalue and rvalue references.
15431
15432 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15433
15434         PR gdb/14441
15435         * gdbtypes.c (rank_one_type): Implement overloading
15436         resolution rules regarding rvalue references.
15437
15438 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15439
15440         PR gdb/14441
15441         * aarch64-tdep.c (aarch64_type_align)
15442         (aarch64_extract_return_value, aarch64_store_return_value): Change
15443         lvalue reference type checks to general reference type checks.
15444         * amd64-tdep.c (amd64_classify): Likewise.
15445         * amd64-windows-tdep.c (amd64_windows_passed_by_integer_register):
15446         Likewise.
15447         * arm-tdep.c (arm_type_align, arm_extract_return_value)
15448         (arm_store_return_value): Likewise.
15449         * ax-gdb.c (gen_fetch, gen_cast): Likewise.
15450         * c-typeprint.c (c_print_type): Likewise.
15451         * c-varobj.c (adjust_value_for_child_access, c_value_of_variable)
15452         (cplus_number_of_children, cplus_describe_child): Likewise.
15453         * compile/compile-c-symbols.c (generate_vla_size): Likewise.
15454         * completer.c (expression_completer): Likewise.
15455         * cp-support.c (make_symbol_overload_list_adl_namespace):
15456         Likewise.
15457         * darwin-nat-info.c (info_mach_region_command): Likewise.
15458         * dwarf2loc.c (entry_data_value_coerce_ref)
15459         (value_of_dwarf_reg_entry): Likewise.
15460         * eval.c (ptrmath_type_p, evaluate_subexp_standard)
15461         (evaluate_subexp_for_address, evaluate_subexp_for_sizeof):
15462         Likewise.
15463         * findvar.c (extract_typed_address, store_typed_address):
15464         Likewise.
15465         * gdbtypes.c (rank_one_type): Likewise.
15466         * hppa-tdep.c (hppa64_integral_or_pointer_p): Likewise.
15467         * infcall.c (value_arg_coerce): Likewise.
15468         * language.c (pointer_type): Likewise.
15469         * m32c-tdep.c (m32c_reg_arg_type, m32c_m16c_address_to_pointer):
15470         Likewise.
15471         * m88k-tdep.c (m88k_integral_or_pointer_p): Likewise.
15472         * mn10300-tdep.c (mn10300_type_align): Likewise.
15473         * msp430-tdep.c (msp430_push_dummy_call): Likewise.
15474         * ppc-sysv-tdep.c (do_ppc_sysv_return_value)
15475         (ppc64_sysv_abi_push_param, ppc64_sysv_abi_return_value):
15476         Likewise.
15477         * printcmd.c (print_formatted, x_command): Likewise.
15478         * python/py-type.c (typy_get_composite, typy_template_argument):
15479         Likewise.
15480         * python/py-value.c (valpy_referenced_value)
15481         (valpy_get_dynamic_type, value_has_field): Likewise.
15482         * s390-linux-tdep.c (s390_function_arg_integer): Likewise.
15483         * sparc-tdep.c (sparc_integral_or_pointer_p): Likewise.
15484         * sparc64-tdep.c (sparc64_integral_or_pointer_p): Likewise.
15485         * spu-tdep.c (spu_scalar_value_p): Likewise.
15486         * symtab.c (lookup_symbol_aux): Likewise.
15487         * typeprint.c (whatis_exp, print_type_scalar): Likewise.
15488         * valarith.c (binop_types_user_defined_p, unop_user_defined_p):
15489         Likewise.
15490         * valops.c (value_cast_pointers, value_cast)
15491         (value_reinterpret_cast, value_dynamic_cast, value_addr, typecmp)
15492         (value_struct_elt, value_struct_elt_bitpos)
15493         (value_find_oload_method_list, find_overload_match)
15494         (value_rtti_indirect_type): Likewise.
15495         * valprint.c (val_print_scalar_type_p, generic_val_print):
15496         Likewise.
15497         * value.c (value_actual_type, value_as_address, unpack_long)
15498         (pack_long, pack_unsigned_long, coerce_ref_if_computed)
15499         (coerce_ref): Likewise.
15500         * varobj.c (varobj_get_value_type): Likewise.
15501
15502 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15503
15504         PR gdb/14441
15505         * doc/python.texi (Types in Python): Add TYPE_CODE_RVALUE_REF to
15506         table of constants.
15507         * python/lib/gdb/command/explore.py: Support exploring values
15508         of rvalue reference types.
15509         * python/lib/gdb/types.py: Implement get_basic_type() for
15510         rvalue reference types.
15511         * python/py-type.c (pyty_codes) <TYPE_CODE_RVALUE_REF>: New
15512         constant.
15513         * python/py-value.c (valpy_getitem): Add an rvalue reference
15514         check.
15515         (valpy_reference_value): Add new parameter "refcode".
15516         (valpy_lvalue_reference_value, valpy_rvalue_reference_value):
15517         New wrappers for valpy_reference_value().
15518         * python/py-xmethods.c (gdbpy_get_xmethod_result_type)
15519         (gdbpy_invoke_xmethod): Likewise.
15520
15521 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15522
15523         PR gdb/14441
15524         * dwarf2read.c (process_die, read_type_die_1): Handle the
15525         DW_TAG_rvalue_reference_type DIE.
15526         (read_tag_reference_type): Add new parameter "refcode".
15527
15528 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15529
15530         PR gdb/14441
15531         * c-typeprint.c (c_print_type, c_type_print_varspec_prefix)
15532         (c_type_print_modifier, c_type_print_varspec_suffix)
15533         (c_type_print_base): Support printing rvalue reference types.
15534         * c-valprint.c (c_val_print, c_value_print): Support printing
15535         rvalue reference values.
15536
15537 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15538
15539         PR gdb/14441
15540         * cp-name-parser.y (ptr_operator): Handle the '&&' token in
15541         typename.
15542         * cp-support.c (replace_typedefs): Handle
15543         DEMANGLE_COMPONENT_RVALUE_REFERENCE.
15544         * python/py-type.c (typy_lookup_type): Likewise.
15545
15546 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15547
15548         PR gdb/14441
15549         * c-exp.y (ptr_operator): Handle the '&&' token in the typename.
15550         * parse.c (insert_type): Change assert statement.
15551         (follow_types): Handle rvalue reference types.
15552         * parser-defs.h (enum type_pieces) <tp_rvalue_reference>: New
15553         constant.
15554
15555 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15556
15557         PR gdb/14441
15558         * ada-lang.c (ada_evaluate_subexp): Adhere to the new
15559         value_ref() interface.
15560         * c-valprint.c (c_value_print): Likewise.
15561         * infcall.c (value_arg_coerce): Likewise.
15562         * python/py-value.c (valpy_reference_value): Likewise.
15563         * valops.c (value_cast, value_reinterpret_cast)
15564         (value_dynamic_cast, typecmp): Likewise.
15565         (value_ref): Parameterize by kind of return value reference type.
15566         * value.h (value_ref): Add new parameter "refcode".
15567
15568 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15569
15570         PR gdb/14441
15571         * dwarf2read.c (read_tag_reference_type): Use
15572         lookup_lvalue_reference_type() instead of lookup_reference_type().
15573         * eval.c (evaluate_subexp_standard): Likewise.
15574         * f-exp.y: Likewise.
15575         * gdbtypes.c (make_reference_type, lookup_reference_type):
15576         Generalize with rvalue reference types.
15577         (lookup_lvalue_reference_type, lookup_rvalue_reference_type): New
15578         convenience wrappers for lookup_reference_type().
15579         * gdbtypes.h (make_reference_type, lookup_reference_type): Add a
15580         reference kind parameter.
15581         (lookup_lvalue_reference_type, lookup_rvalue_reference_type): Add
15582         wrappers for lookup_reference_type().
15583         * guile/scm-type.c (gdbscm_type_reference): Use
15584         lookup_lvalue_reference_type() instead of lookup_reference_type().
15585         * guile/scm-value.c (gdbscm_value_dynamic_type): Likewise.
15586         * parse.c (follow_types): Likewise.
15587         * python/py-type.c (typy_reference, typy_lookup_type): Likewise.
15588         * python/py-value.c (valpy_get_dynamic_type, valpy_getitem):
15589         Likewise.
15590         * python/py-xmethods.c (gdbpy_get_xmethod_result_type)
15591         (gdbpy_invoke_xmethod): Likewise.
15592         * stabsread.c: Provide extra argument to make_reference_type()
15593         call.
15594         * valops.c (value_ref, value_rtti_indirect_type): Use
15595         lookup_lvalue_reference_type() instead of lookup_reference_type().
15596
15597 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15598
15599         PR gdb/14441
15600         * gdbtypes.h (enum type_code) <TYPE_CODE_RVALUE_REF>: New constant.
15601         (TYPE_IS_REFERENCE): New macro.
15602         (struct type): Add rvalue_reference_type field.
15603         (TYPE_RVALUE_REFERENCE_TYPE): New macro.
15604
15605 2017-03-20  Marc-Andre Laperle  <marc-andre.laperle@ericsson.com>
15606
15607         * NEWS: Add an entry about new '-file-list-shared-libraries' command.
15608         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries):
15609         New function definition.
15610         * mi/mi-cmds.c (mi_cmds): Add -file-list-shared-libraries command.
15611         * mi/mi-cmds.h (mi_cmd_file_list_shared_libraries):
15612         New function declaration.
15613         * mi/mi-interp.c (mi_output_solib_attribs): New Function.
15614         * mi/mi-interp.h: New file.
15615         * solib.c (info_sharedlibrary_command): Replace for loop with
15616         ALL_SO_LIBS macro
15617         * solib.h (update_solib_list): New function declaration.
15618         (so_list_head): Move macro.
15619         * solist.h (ALL_SO_LIBS): New macro.
15620
15621 2017-03-20  Marc-Andre Laperle  <marc-andre.laperle@ericsson.com>
15622
15623         * infcmd.c (post_create_inferior): Remove unused argument in
15624         call to solib_add.
15625         * remote.c (remote_start_remote): Likewise.
15626         * solib-frv.c (frv_fetch_objfile_link_map): Likewise.
15627         * solib-svr4.c: (svr4_fetch_objfile_link_map): Likewise.
15628         (enable_break): Likewise.
15629         * solib.c (update_solib_list): Remove unused target argument
15630         and its documentation.
15631         (solib_add): Remove unused target argument.  Remove unused
15632         argument in call to update_solib_list.
15633         (info_sharedlibrary_command): Remove unused argument in call
15634         to update_solib_list.
15635         (sharedlibrary_command): Remove unused argument in call to
15636         solib_add.
15637         (handle_solib_event): Likewise.
15638         (reload_shared_libraries): Likewise.
15639         * solib.h (solib_add): Remove unused target argument.
15640
15641 2017-03-20  Andreas Arnez  <arnez@linux.vnet.ibm.com>
15642
15643         * s390-linux-tdep.c (is_rsi, is_rie): Remove functions.
15644         (s390_displaced_step_fixup): Cover relative branches with the
15645         default fixup handling.  This fixes lack of support for some
15646         relative branch instructions.
15647
15648 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15649
15650         * i386-gnu-nat.c (gnu_fetch_registers, gnu_store_registers): Use
15651         ptid from regcache.
15652
15653 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15654
15655         * i386-darwin-nat.c (i386_darwin_fetch_inferior_registers,
15656         i386_darwin_store_inferior_registers): Use ptid from regcache.
15657
15658 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15659
15660         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers,
15661         i386bsd_store_inferior_registers): Use ptid from regcache.
15662
15663 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15664
15665         * hppa-obsd-nat.c (hppaobsd_fetch_registers,
15666         hppaobsd_store_registers): Use ptid from regcache.
15667
15668 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15669
15670         * hppa-nbsd-nat.c (hppanbsd_fetch_registers,
15671         hppanbsd_store_registers): Use ptid from regcache.
15672
15673 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15674
15675         * hppa-linux-nat.c (fetch_register, store_register): Use ptid
15676         from regcache.  Use get_ptrace_pid.
15677
15678 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15679
15680         * corelow.c (get_core_register_section): Use ptid from regcache,
15681         update doc.
15682
15683 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15684
15685         * bsd-uthread.c (bsd_uthread_fetch_registers,
15686         bsd_uthread_store_registers): Use ptid from regcache, set and
15687         restore inferior_ptid.
15688
15689 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15690
15691         * arm-nbsd-nat.c (fetch_register, fetch_regs, fetch_fp_register,
15692         fetch_fp_regs, store_register, store_regs, store_fp_register,
15693         store_fp_regs): Use ptid from regcache.
15694
15695 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15696
15697         * arm-linux-nat.c (fetch_fpregs, store_fpregs, fetch_regs,
15698         store_regs, fetch_wmmx_regs, store_wmmx_regs, fetch_vfp_regs,
15699         store_vfp_regs): Use ptid from regcache.
15700
15701 2017-03-17  Pedro Alves  <palves@redhat.com>
15702
15703         PR remote/21188
15704         * ser-base.c (ser_base_wait_for): Add comment.
15705         (do_ser_base_readchar): Improve comment based on the ser-unix.c's
15706         version.
15707         * ser-unix.c (hardwire_raw): Remove reference to
15708         scb->current_timeout.
15709         (wait_for, do_hardwire_readchar, hardwire_readchar): Delete.
15710         (hardwire_ops): Install ser_base_readchar instead of
15711         hardwire_readchar.
15712         * serial.h (struct serial) <current_timeout, timeout_remaining>:
15713         Remove fields.
15714
15715 2017-03-17  Jonah Graham  <jonah@kichwacoders.com>
15716
15717         PR gdb/19637
15718         * python/lib/gdb/printer/bound_registers.py: Add support for
15719         Python 3.
15720
15721 2017-03-16  Andreas Arnez  <arnez@linux.vnet.ibm.com>
15722
15723         * dwarf2loc.c (indirect_synthetic_pointer): Get data type of
15724         pointed-to DIE and pass it to dwarf2_evaluate_loc_desc_full.
15725         (dwarf2_evaluate_loc_desc_full): New parameter subobj_type; rename
15726         byte_offset to subobj_byte_offset.  Fix the handling of
15727         DWARF_VALUE_STACK on big-endian targets when coming via an
15728         implicit pointer.
15729         (dwarf2_evaluate_loc_desc): Adjust call to
15730         dwarf2_evaluate_loc_desc_full.
15731         * dwarf2loc.h (dwarf2_fetch_die_type_sect_off): New declaration.
15732         * dwarf2read.c (dwarf2_fetch_die_type_sect_off): New function.
15733
15734 2017-03-16  Yao Qi  <yao.qi@linaro.org>
15735
15736         * arm-tdep.c (thumb_record_misc): Decode CBNZ, CBZ, REV16,
15737         and REVSH instructions.
15738
15739 2017-03-16  Yao Qi  <yao.qi@linaro.org>
15740
15741         * arm-tdep.c [GDB_SELF_TEST]: include "selftests.h".
15742         (arm_record_test): Declare.
15743         (_initialize_arm_tdep) [GDB_SELF_TEST]: call register_self_test.
15744         (thumb_record_ld_st_reg_offset): Rewrite the opcode matching to
15745         align with the manual.
15746         (thumb_record_misc): Adjust the code order to align with the
15747         manual.
15748         (thumb2_record_decode_insn_handler): Fix instruction matching.
15749         (instruction_reader_thumb): New class.
15750         (arm_record_test): New function.
15751
15752 2017-03-16  Yao Qi  <yao.qi@linaro.org>
15753
15754         * arm-tdep.c (abstract_memory_reader): New class.
15755         (instruction_reader): New class.
15756         (extract_arm_insn): Add argument 'reader'.  Callers updated.
15757         (decode_insn): Likewise.
15758
15759 2017-03-16  Doug Evans  <dje@google.com>
15760
15761         * guile/scm-lazy-string.c (lazy_string_smob): Clarify use of LENGTH
15762         member.  Change type of TYPE member to SCM.  All uses updated.
15763         (lsscm_make_lazy_string_smob): Add assert.
15764         (lsscm_make_lazy_string): Flag bad length values.
15765         (lsscm_elt_type): New function.
15766         (gdbscm_lazy_string_to_value): Rewrite to use
15767         lsscm_safe_lazy_string_to_value.
15768         (lsscm_safe_lazy_string_to_value): Fix handling of TYPE_CODE_PTR.
15769         * guile/scm-value.c (gdbscm_value_to_lazy_string): Flag bad length
15770         values.  Fix TYPE_CODE_PTR.  Handle TYPE_CODE_ARRAY.  Handle typedefs
15771         in incoming type.
15772         * guile/guile-internal.h (tyscm_scm_to_type): Declare.
15773         * guile/scm-type.c (tyscm_scm_to_type): New function.
15774
15775 2017-03-15  Doug Evans  <dje@google.com>
15776
15777         PR python/17728, python/18439, python/18779
15778         * python/py-lazy-string.c (lazy_string_object): Clarify use of LENGTH
15779         member.  Change type of TYPE member to PyObject *.  All uses updated.
15780         (stpy_convert_to_value): Fix handling of TYPE_CODE_PTR.
15781         (gdbpy_create_lazy_string_object): Flag bad length values.
15782         Handle TYPE_CODE_ARRAY with possibly different user-provided length.
15783         Handle typedefs in incoming type.
15784         (stpy_lazy_string_elt_type): New function.
15785         (gdbpy_extract_lazy_string): Call it.
15786         * python/py-value.c (valpy_lazy_string): Flag bad length values.
15787         Fix handling of TYPE_CODE_PTR.  Handle TYPE_CODE_ARRAY.  Handle
15788         typedefs in incoming type.
15789
15790 2017-03-16  Doug Evans  <dje@google.com>
15791
15792         * guile/guile-internal.h (tyscm_scm_to_type): Declare.
15793         * guile/scm-type.c (tyscm_scm_to_type): New function.
15794
15795 2017-03-16  Jiong Wang  <jiong.wang@arm.com>
15796
15797         * inf-ptrace.c (inf_ptrace_peek_poke): Change the type to
15798         "ULONGEST" for "skip".
15799
15800 2017-03-14  Andreas Arnez  <arnez@linux.vnet.ibm.com>
15801
15802         PR gdb/21220
15803         * inf-ptrace.c (inf_ptrace_xfer_partial): In "case
15804         TARGET_OBJECT_MEMORY", extract the logic for ptrace peek/poke...
15805         (inf_ptrace_peek_poke): ...here.  New function.  Now also loop
15806         over ptrace peek/poke until end of buffer or error.
15807
15808 2017-03-14  Simon Marchi  <simon.marchi@ericsson.com>
15809
15810         * parse.c (length_of_subexp): Make static.
15811         * parser-defs.h (length_of_subexp): Remove.
15812
15813 2017-03-14  Andreas Arnez  <arnez@linux.vnet.ibm.com>
15814
15815         * linux-nat.c (linux_proc_xfer_partial): Handle write operations
15816         as well.
15817
15818 2017-03-14  Pedro Alves  <palves@redhat.com>
15819
15820         * cp-name-parser.y (cp_demangled_name_to_comp): Update comment.
15821         (main): Use std::unique_ptr.  Remove calls to
15822         cp_demangled_name_parse_free.
15823
15824 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15825
15826         * alpha-bsd-nat.c (alphabsd_fetch_inferior_registers,
15827         alphabsd_store_inferior_registers): Use regcache->ptid instead
15828         of inferior_ptid.
15829
15830 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15831
15832         * aix-thread.c (aix_thread_fetch_registers,
15833         aix_thread_store_registers): Use regcache->ptid instead of
15834         inferior_ptid.
15835
15836 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15837
15838         * aarch64-linux-nat.c (fetch_gregs_from_thread,
15839         store_gregs_to_thread, fetch_fpregs_from_thread,
15840         store_fpregs_to_thread): Use regcache->ptid instead of
15841         inferior_ptid.
15842
15843 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15844
15845         * amd64-linux-nat.c (amd64_linux_fetch_inferior_registers,
15846         amd64_linux_fetch_inferior_registers): Use regcache->ptid
15847         instead of inferior_ptid.
15848
15849 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15850
15851         * target.c (target_fetch_registers, target_store_registers): Add
15852         assert.
15853
15854 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15855
15856         * regcache.h (regcache_get_ptid): New function.
15857         * regcache.c (regcache_get_ptid): New function.
15858
15859 2017-03-13  Mark Wielaard  <mark@klomp.org>
15860
15861         * cp-name-parser.y (make_empty): Initialize d_printing to zero.
15862
15863 2017-03-10  Keith Seitz  <keiths@redhat.com>
15864
15865         PR c++/8218
15866         * c-typeprint.c (cp_type_print_method_args): Skip artificial arguments.
15867
15868 2017-03-08  Pedro Alves  <palves@redhat.com>
15869
15870         PR gdb/18360
15871         * infrun.c (start_step_over, do_target_resume, resume)
15872         (restart_threads): Assert we're not resuming a thread that is
15873         meant to be stopped.
15874         (infrun_thread_stop_requested_callback): Delete.
15875         (infrun_thread_stop_requested): If the thread is internally
15876         stopped, queue a pending stop event and clear the thread's
15877         inline-frame state.
15878         (handle_stop_requested): New function.
15879         (handle_syscall_event, handle_inferior_event_1): Use
15880         handle_stop_requested.
15881         (handle_stop_requested): New function.
15882         (handle_signal_stop): Set the thread's stop_signal here instead of
15883         at caller.
15884         (finish_step_over): Clear step over info unconditionally.
15885         (handle_signal_stop): If the user had interrupted the event
15886         thread, consider the stop a random signal.
15887         (handle_signal_stop) <signal arrived while stepping over
15888         breakpoint>: Don't restart threads here.
15889         (stop_waiting): Don't clear step-over info here.
15890
15891 2017-03-08  Pedro Alves  <palves@redhat.com>
15892
15893         PR 21206
15894         * common/gdb_unlinker.h (unlinker::unlinker): Attribute nonnull
15895         goes to argument 2, not 1.
15896
15897 2017-03-08  Pedro Alves  <palves@redhat.com>
15898
15899         PR cli/21218
15900         * top.c (gdb_readline_wrapper): Avoid passing NULL to
15901         display_gdb_prompt.
15902         (command_line_input): Add comment.
15903
15904 2017-03-08  Pedro Alves  <palves@redhat.com>
15905
15906         PR tui/21216
15907         * tui/tui-file.c (tui_file::write): New.
15908         * tui/tui-file.h (tui_file): Override "write".
15909         * tui/tui-io.c (do_tui_putc, update_start_line): New functions,
15910         factored out from ...
15911         (tui_puts): ... here.
15912         (tui_putc): Use them.
15913         (tui_write): New function.
15914         * tui/tui-io.h (tui_write): Declare.
15915
15916 2017-03-07  Sergio Durigan Junior  <sergiodj@redhat.com>
15917
15918         * Makefile.in (SFILES): Replace "environ.c" with
15919         "common/environ.c".
15920         (HFILES_NO_SRCDIR): Likewise, for "environ.h".
15921         * environ.c: Include "common-defs.h" instead of "defs.h.  Moved
15922         to...
15923         * common/environ.c: ... here.
15924         * environ.h: Moved to...
15925         * common/environ.h: ... here.
15926
15927 2017-03-07  Peter Bergner  <bergner@vnet.ibm.com>
15928
15929         * gdbarch.sh (pstring_ptr): New static function.
15930         (gdbarch_disassembler_options): Use it.
15931         (gdbarch_verify_disassembler_options): Print valid_disassembler_options,
15932         not valid_disassembler_option->name.
15933         * gdbarch.c: Regenerate.
15934
15935 2017-03-07  Peter Bergner  <bergner@vnet.ibm.com>
15936
15937         * config/powerpc/ppc64-linux.mh (MH_CFLAGS): Delete.
15938
15939 2017-03-07  Pedro Alves  <palves@redhat.com>
15940
15941         * tui/tui-regs.c (tui_restore_gdbout): Don't delete gdb_stdout.
15942
15943 2017-03-07  Walfred Tedeschi  <walfred.tedeschi@intel.com>
15944
15945         * i387-tdep.h (i387_reset_bnd_regs): Add function definition.
15946         * i387-tdep.c (i387_reset_bnd_regs): Add function implementation.
15947         * i386-tdep.c (i386_push_dummy_call): Call i387_reset_bnd_regs.
15948         * amd64-tdep.c (amd64_push_dummy_call): Call i387_reset_bnd_regs.
15949
15950 2017-03-06  Simon Marchi  <simon.marchi@ericsson.com>
15951
15952         * xtensa-linux-nat.c (fetch_gregs): Remove const.
15953
15954 2017-03-03  Simon Marchi  <simon.marchi@ericsson.com>
15955
15956         * remote.c (remote_add_target_side_commands): Use range-based
15957         for loop.
15958
15959 2017-03-03  Yao Qi  <yao.qi@linaro.org>
15960
15961         PR gdb/21165
15962         * ada-valprint.c (ada_val_print_ref): Call value_fetch_lazy if
15963         value is lazy.
15964         * valprint.c (common_val_print): Likewise.
15965
15966 2017-02-28  Peter Bergner  <bergner@vnet.ibm.com>
15967
15968         * NEWS: Mention new set/show disassembler-options commands.
15969         * doc/gdb.texinfo: Document new set/show disassembler-options commands.
15970         * disasm.c: Include "arch-utils.h", "gdbcmd.h" and "safe-ctype.h".
15971         (prospective_options): New static variable.
15972         (gdb_disassembler::gdb_disassembler): Initialize
15973         m_di.disassembler_options.
15974         (gdb_buffered_insn_length_init_dis): Initilize di->disassembler_options.
15975         (get_disassembler_options): New function.
15976         (set_disassembler_options): Likewise.
15977         (set_disassembler_options_sfunc): Likewise.
15978         (show_disassembler_options_sfunc): Likewise.
15979         (disassembler_options_completer): Likewise.
15980         (_initialize_disasm): Likewise.
15981         * disasm.h (get_disassembler_options): New prototype.
15982         (set_disassembler_options): Likewise.
15983         * gdbarch.sh (gdbarch_disassembler_options): New variable.
15984         (gdbarch_verify_disassembler_options): Likewise.
15985         * gdbarch.c: Regenerate.
15986         * gdbarch.h: Likewise.
15987         * arm-tdep.c (num_disassembly_options): Delete.
15988         (set_disassembly_style): Likewise.
15989         (arm_disassembler_options): New static variable.
15990         (set_disassembly_style_sfunc): Convert short style name into long
15991         option name.  Call set_disassembler_options.
15992         (show_disassembly_style_sfunc): New function.
15993         (arm_gdbarch_init): Call set_gdbarch_disassembler_options and
15994         set_gdbarch_verify_disassembler_options.
15995         (_initialize_arm_tdep): Delete regnames variable and update callers.
15996         (arm_disassembler_options): Initialize.
15997         (disasm_options): New variable.
15998         (num_disassembly_options): Rename from this...
15999         (num_disassembly_styles): ...to this.  Compute by scanning through
16000         disasm_options.
16001         (valid_disassembly_styles): Initialize using disasm_options.
16002         Remove calls to parse_arm_disassembler_option, get_arm_regnames and
16003         set_arm_regname_option.
16004         Pass show_disassembly_style_sfunc to the "disassembler" setshow command.
16005         * rs6000-tdep.c (powerpc_disassembler_options): New static variable.
16006         (rs6000_gdbarch_init): Call set_gdbarch_disassembler_options and
16007         set_gdbarch_verify_disassembler_options.
16008         * s390-tdep.c (s390_disassembler_options): New static variable.
16009         (s390_gdbarch_init):all set_gdbarch_disassembler_options and
16010         set_gdbarch_verify_disassembler_options.
16011
16012 2017-02-27  Simon Marchi  <simon.marchi@ericsson.com>
16013
16014         * remote.c (remote_add_target_side_condition): Remove "struct"
16015         keyword from range-based for loop.
16016
16017 2017-02-27  Simon Marchi  <simon.marchi@ericsson.com>
16018
16019         * remote.c (remote_add_target_side_condition): Use range-based
16020         for loop.  Update comment.
16021
16022 2017-02-27  Yao Qi  <yao.qi@linaro.org>
16023
16024         * f-typeprint.c (f_print_type): Check "varstring" is empty first.
16025
16026 2017-02-26  Alan Hayward  <alan.hayward@arm.com>
16027
16028         * regcache.c (regcache_raw_update): New function.
16029         (regcache_raw_read): Move code to regcache_raw_update.
16030         * regcache.h (regcache_raw_update): New declaration.
16031         * remote.c (remote_prepare_to_store): Call regcache_raw_update.
16032
16033 2017-02-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
16034
16035         * dwarf2read.c (create_debug_type_hash_table): Initialize
16036         header.signature and header.type_offset_in_tu.
16037
16038 2017-02-24  Pedro Alves  <palves@redhat.com>
16039
16040         * symtab.c (make_file_symbol_completion_list_1): Use
16041         add_symtab_completions.
16042
16043 2017-02-24  Alan Hayward  <alan.hayward@arm.com>
16044
16045         * stack.c (frame_info): Use frame_unwind_register_value to avoid buf.
16046
16047 2017-02-24  Alan Hayward  <alan.hayward@arm.com>
16048
16049         * i386-tdep.c (i386_pseudo_register_read_into_value): Use
16050         I386_MAX_REGISTER_SIZE.
16051         (i386_pseudo_register_write): Likewise.
16052         (i386_process_record): Likewise.
16053         * i387-tdep.c (i387_supply_xsave): Likewise.
16054         * m68k-linux-nat.c (fetch_register): Use M68K_MAX_REGISTER_SIZE.
16055         (store_register): Likewise.
16056
16057 2017-02-23  Pedro Alves  <palves@redhat.com>
16058
16059         * ada-lang.c: Include "common/function-view.h".
16060         (ada_iterate_over_symbols): Adjust to use function_view as
16061         callback type.
16062         (struct add_partial_datum, ada_complete_symbol_matcher): Delete.
16063         (ada_make_symbol_completion_list): Use a lambda.
16064         (ada_exc_search_name_matches): Delete.
16065         (name_matches_regex): New.
16066         (ada_add_global_exceptions): Use a lambda and name_matches_regex.
16067         * compile/compile-c-support.c: Include "common/function-view.h".
16068         (print_one_macro): Change prototype to accept a ui_file pointer.
16069         (write_macro_definitions): Use a lambda.
16070         * dwarf2read.c: Include "common/function-view.h".
16071         (dw2_map_expand_apply, dw2_map_symtabs_matching_filename)
16072         (dw2_expand_symtabs_matching): Adjust to use function_view as
16073         callback type.
16074         * language.h: Include "common/function-view.h".
16075         (struct language_defn) <la_iterate_over_symbols>: Adjust to use
16076         function_view as callback type.
16077         (LA_ITERATE_OVER_SYMBOLS): Remove DATA parameter.
16078         * linespec.c: Include "common/function-view.h".
16079         (collect_info::add_symbol): New method.
16080         (struct symbol_and_data_callback, iterate_inline_only, struct
16081         symbol_matcher_data, iterate_name_matcher): Delete.
16082         (iterate_over_all_matching_symtabs): Adjust to use function_view
16083         as callback type and lambdas.
16084         (iterate_over_file_blocks): Adjust to use function_view as
16085         callback type.
16086         (decode_compound_collector): Now a class with private fields.
16087         (decode_compound_collector::release_symbols): New method.
16088         (collect_one_symbol): Rename to...
16089         (decode_compound_collector::operator()): ... this and adjust.
16090         (lookup_prefix_sym): decode_compound_collector construction bits
16091         move to decode_compound_collector ctor.  Pass the
16092         decode_compound_collector object directly as callback.  Remove
16093         cleanups and use decode_compound_collector::release_symbols
16094         instead.
16095         (symtab_collector): Now a class with private fields.
16096         (symtab_collector::release_symtabs): New method.
16097         (add_symtabs_to_list): Rename to...
16098         (symtab_collector::operator()): ... this and adjust.
16099         (collect_symtabs_from_filename): symtab_collector construction
16100         bits move to symtab_collector ctor.  Pass the symtab_collector
16101         object directly as callback.  Remove cleanups and use
16102         symtab_collector::release_symtabs instead.
16103         (collect_symbols): Delete.
16104         (add_matching_symbols_to_info): Use lambdas.
16105         * macrocmd.c (print_macro_callback): Delete.
16106         (info_macro_command): Use a lambda.
16107         (info_macros_command): Pass print_macro_definition as callable
16108         directly.
16109         (print_one_macro): Remove 'ignore' parameter.
16110         (macro_list_command): Adjust.
16111         * macrotab.c (macro_for_each_data::fn): Now a function_view.
16112         (macro_for_each_data::user_data): Delete field.
16113         (foreach_macro): Adjust to call the function_view.
16114         (macro_for_each): Adjust to use function_view as callback type.
16115         (foreach_macro_in_scope): Adjust to call the function_view.
16116         (macro_for_each_in_scope): Adjust to use function_view as callback
16117         type.
16118         * macrotab.h: Include "common/function-view.h".
16119         (macro_callback_fn): Declare a prototype instead of a pointer.
16120         Remove "user_data" parameter.
16121         (macro_for_each, macro_for_each_in_scope): Adjust to use
16122         function_view as callback type.
16123         * psymtab.c (partial_map_expand_apply)
16124         (psym_map_symtabs_matching_filename, recursively_search_psymtabs):
16125         Adjust to use function_view as callback type and to return bool.
16126         (psym_expand_symtabs_matching): Adjust to use function_view as
16127         callback types.
16128         * symfile-debug.c (debug_qf_map_symtabs_matching_filename): Adjust
16129         to use function_view as callback type and to return bool.
16130         (debug_qf_expand_symtabs_matching): Adjust to use function_view as
16131         callback types.
16132         * symfile.c (expand_symtabs_matching): Adjust to use function_view
16133         as callback types.
16134         * symfile.h: Include "common/function-view.h".
16135         (expand_symtabs_file_matcher_ftype)
16136         (expand_symtabs_symbol_matcher_ftype)
16137         (expand_symtabs_exp_notify_ftype): Remove "data" parameter and
16138         return bool.
16139         (quick_symbol_functions::map_symtabs_matching_filename)
16140         (quick_symbol_functions::expand_symtabs_matching): Adjust to use
16141         function_view as callback type and return bool.
16142         (expand_symtabs_matching): Adjust to use function_view as callback
16143         type.
16144         (maintenance_expand_name_matcher)
16145         (maintenance_expand_file_matcher): Delete.
16146         (maintenance_expand_symtabs): Use lambdas.
16147         * symtab.c (iterate_over_some_symtabs): Adjust to use
16148         function_view as callback types and return bool.
16149         (iterate_over_symtabs): Likewise.  Use unique_xmalloc_ptr instead
16150         of a cleanup.
16151         (lookup_symtab_callback): Delete.
16152         (lookup_symtab): Use a lambda.
16153         (iterate_over_symbols): Adjust to use function_view as callback
16154         type.
16155         (struct search_symbols_data, search_symbols_file_matches)
16156         (search_symbols_name_matches): Delete.
16157         (search_symbols): Use a pair of lambdas.
16158         (struct add_name_data, add_macro_name, symbol_completion_matcher)
16159         (symtab_expansion_callback): Delete.
16160         (default_make_symbol_completion_list_break_on_1): Use lambdas.
16161         * symtab.h: Include "common/function-view.h".
16162         (iterate_over_some_symtabs): Adjust to use function_view as
16163         callback type and return bool.
16164         (iterate_over_symtabs): Adjust to use function_view as callback
16165         type.
16166         (symbol_found_callback_ftype): Remove 'data' parameter and return
16167         bool.
16168         (iterate_over_symbols): Adjust to use function_view as callback
16169         type.
16170
16171 2017-02-23  Pedro Alves  <palves@redhat.com>
16172
16173         * Makefile.in (SUBDIR_UNITTESTS_SRCS, SUBDIR_UNITTESTS_OBS): New.
16174         (%.o) <unittests/%.c>: New pattern.
16175         * configure.ac ($development): Add $(SUBDIR_UNITTESTS_OBS) to
16176         CONFIG_OBS, and $(SUBDIR_UNITTESTS_SRCS) to CONFIG_SRCS.
16177         * common/function-view.h: New file.
16178         * unittests/function-view-selftests.c: New file.
16179         * configure: Regenerate.
16180
16181 2017-02-23  Simon Marchi  <simon.marchi@ericsson.com>
16182
16183         * bsd-uthread.c (bsd_uthread_thread_alive): Use ptid instead of
16184         inferior_ptid.
16185         * go32-nat.c (go32_thread_alive): Likewise.
16186
16187 2017-02-23  Yao Qi  <yao.qi@linaro.org>
16188
16189         * varobj-iter.h (varobj_iter_delete): Call xfree instead of
16190         delete.
16191
16192 2017-02-23  Yao Qi  <yao.qi@linaro.org>
16193
16194         * varobj.c (varobj_clear_saved_item): Use delete instead of
16195         xfree.
16196         (update_dynamic_varobj_children): Likewise.
16197
16198 2017-02-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
16199
16200         * dwarf2read.c (dwarf2_record_block_ranges): Add forgotten BASEADDR.
16201
16202 2017-02-21  Simon Marchi  <simon.marchi@ericsson.com>
16203
16204         * common/enum-flags.h (enum_flags::enum_flags): Initialize
16205         m_enum_value to 0 in default constructor.
16206
16207 2017-02-21  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
16208
16209         * rs6000-tdep.c (LOAD_AND_RESERVE_MASK): Rename from LWARX_MASK.
16210         (STORE_CONDITIONAL_MASK): Rename from STWCX_MASK.
16211         (LBARX_INSTRUCTION, LHARX_INSTRUCTION, LQARX_INSTRUCTION,
16212         STBCX_INSTRUCTION, STHCX_INSTRUCTION, STQCX_INSTRUCTION): New defines.
16213         (IS_LOAD_AND_RESERVE_INSN, IS_STORE_CONDITIONAL_INSN): New macros.
16214         (ppc_displaced_step_copy_insn): Use IS_LOAD_AND_RESERVE_INSN.
16215         (ppc_deal_with_atomic_sequence): Use IS_LOAD_AND_RESERVE_INSN and
16216         IS_STORE_CONDITIONAL_INSN.
16217
16218 2017-02-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
16219
16220         * dwarf2_rnglists_process: Initialize range_beginning and range_end.
16221
16222 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16223
16224         * NEWS (Changes since GDB 7.12): Add DWARF-5.
16225
16226 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16227
16228         * dwarf2read.c (skip_one_die, read_attribute_value)
16229         (dwarf2_const_value_attr, dump_die_shallow)
16230         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
16231         (skip_form_bytes, attr_form_is_constant): Handle DW_FORM_data16.
16232
16233 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16234
16235         * dwarf2read.c (read_file_scope): Rename DW_MACRO_GNU_*.
16236         (dwarf_parse_macro_header): Accept DWARF version 5.
16237         (dwarf_decode_macro_bytes, dwarf_decode_macros): Rename DW_MACRO_GNU_*.
16238
16239 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16240
16241         * block.c (call_site_for_pc): Rename DW_OP_GNU_*, DW_TAG_GNU_* and
16242         DW_AT_GNU_*.
16243         * common/common-exceptions.h (enum errors): Likewise.
16244         * dwarf2-frame.c (class dwarf_expr_executor): Likewise.
16245         * dwarf2expr.c (dwarf_block_to_dwarf_reg)
16246         (dwarf_expr_context::execute_stack_op): Likewise.
16247         * dwarf2expr.h (struct dwarf_expr_context, struct dwarf_expr_piece):
16248         Likewise.
16249         * dwarf2loc.c (dwarf_evaluate_loc_desc::get_base_type)
16250         (dwarf_evaluate_loc_desc::push_dwarf_reg_entry_value)
16251         (show_entry_values_debug, call_site_to_target_addr)
16252         (func_addr_to_tail_call_list, func_verify_no_selftailcall)
16253         (dwarf_expr_reg_to_entry_parameter, dwarf_entry_parameter_to_value)
16254         (entry_data_value_free_closure, value_of_dwarf_reg_entry)
16255         (value_of_dwarf_block_entry, indirect_pieced_value)
16256         (symbol_needs_eval_context::push_dwarf_reg_entry_value):
16257         (disassemble_dwarf_expression): Likewise.
16258         * dwarf2read.c (process_die, inherit_abstract_dies)
16259         (read_call_site_scope): Likewise.
16260         * gdbtypes.h (struct func_type, struct call_site_parameter)
16261         (struct call_site): Likewise.
16262         * stack.c (read_frame_arg): Likewise.
16263         * std-operator.def (OP_VAR_ENTRY_VALUE): Likewise.
16264
16265 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16266
16267         * defs.h (read_unsigned_leb128): New declaration.
16268         * dwarf2loc.c (decode_debug_loclists_addresses): New function.
16269         (decode_debug_loc_dwo_addresses): Update DEBUG_LOC_* to DW_LLE_*.
16270         (dwarf2_find_location_expression): Call also
16271         decode_debug_loclists_addresses.  Handle DWARF-5 ULEB128 length.
16272         * dwarf2loc.h (dwarf2_version): New declaration.
16273         * dwarf2read.c (struct dwarf2_per_objfile): Add loclists, line_str,
16274         rnglists.
16275         (dwarf2_elf_names): Add .debug_loclists, .debug_line_str,
16276         .debug_rnglists.
16277         (struct dwop_section_names): Add loclists_dwo.
16278         (dwop_section_names): Add .debug_loclists.dwo.
16279         (struct comp_unit_head): Add unit_type, signature, type_offset_in_tu.
16280         (struct dwarf2_per_cu_data): Add dwarf_version.
16281         (struct dwo_sections): Add loclists.
16282         (struct attr_abbrev): Add implicit_const.
16283         (read_indirect_line_string): New declaration.
16284         (read_unsigned_leb128): Delete declaration.
16285         (rcuh_kind): New definition.
16286         (read_and_check_comp_unit_head): Change parameter
16287         is_debug_types_section to section_kind.
16288         (dwarf2_locate_sections): Handle loclists, line_str and rnglists.
16289         (read_comp_unit_head): Change parameter abfd to section, add parameter
16290         section_kind.  Handle DWARF-5.
16291         (error_check_comp_unit_head): Accept also DWARF version 5.
16292         (read_and_check_comp_unit_head): Change parameter
16293         is_debug_types_section to section_kind.
16294         (read_and_check_type_unit_head): Delete function.
16295         (read_abbrev_offset): Handle DWARF-5.
16296         (create_debug_type_hash_table): Add parameter section_kind.  Process
16297         only DW_UT_type.  Use signature and type_offset_in_tu from struct
16298         comp_unit_head.
16299         (create_debug_types_hash_table): Update create_debug_type_hash_table
16300         caller.
16301         (create_all_type_units): Call create_debug_type_hash_table.
16302         (read_cutu_die_from_dwo, init_cutu_and_read_dies): Change
16303         read_and_check_type_unit_head caller to read_and_check_comp_unit_head
16304         caller.
16305         (skip_one_die): Handle DW_FORM_implicit_const.
16306         (dwarf2_rnglists_process): New function.
16307         (dwarf2_ranges_process): Call dwarf2_rnglists_process for DWARF-5.
16308         (abbrev_table_read_table): Handle DW_FORM_implicit_const.
16309         (read_attribute_value): Handle DW_FORM_implicit_const,
16310         DW_FORM_line_strp.
16311         (read_attribute): Handle DW_FORM_implicit_const.
16312         (read_indirect_string_at_offset_from): New function from
16313         read_indirect_string_at_offset.
16314         (read_indirect_string_at_offset): Call
16315         read_indirect_string_at_offset_from.
16316         (read_indirect_line_string_at_offset): New function.
16317         (read_indirect_string): New function comment.
16318         (read_indirect_line_string): New function.
16319         (read_unsigned_leb128): Make it global.
16320         (dwarf2_string_attr): Handle DWARF-5.
16321         (add_include_dir_stub, read_formatted_entries): New functions.
16322         (dwarf_decode_line_header, dump_die_shallow, cu_debug_loc_section):
16323         Handle DWARF-5.
16324         (per_cu_header_read_in): Update read_comp_unit_head caller.
16325         (dwarf2_version): New function.
16326         * symfile.h (struct dwarf2_debug_sections): Add loclists, line_str and
16327         rnglists.
16328         * xcoffread.c (dwarf2_xcoff_names): Update struct dwarf2_debug_sections
16329         fields.
16330
16331 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16332
16333         * dwarf2read.c (abbrev_table_read_table): Read the data only once.
16334
16335 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16336
16337         * dwarf2read.c (dwarf2_ranges_process): New function from
16338         dwarf2_ranges_read.
16339         (dwarf2_ranges_read, dwarf2_record_block_ranges): Use
16340         dwarf2_ranges_process.
16341
16342 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16343
16344         * dwarf2read.c (create_debug_type_hash_table): New function from
16345         create_debug_types_hash_table.
16346         (create_debug_types_hash_table): Call create_debug_type_hash_table.
16347         (create_all_type_units, open_and_init_dwo_file): Update
16348         create_debug_types_hash_table callers.
16349
16350 2017-02-20  Sergio Durigan Junior  <sergiodj@redhat.com>
16351
16352         PR gdb/16188
16353         * fork-child.c (trace_start_error): Fix thinko.  va_end should
16354         refer to 'ap', not 'args'.
16355
16356 2017-02-20  Sergio Durigan Junior  <sergiodj@redhat.com>
16357             Pedro Alves  <palves@redhat.com>
16358
16359         PR gdb/16188
16360         * darwin-nat.c (darwin_ptrace_me): Check if calls to system
16361         calls succeeded.
16362         * fork-child.c (trace_start_error): New function.
16363         (trace_start_error_with_name): Likewise.
16364         * gnu-nat.c (gnu_ptrace_me): Check if call to PTRACE succeeded.
16365         * inf-ptrace.c (inf_ptrace_me): Likewise.
16366         * inferior.h (trace_start_error): New prototype.
16367         (trace_start_error_with_name): Likewise.
16368
16369 2017-02-15  Sergio Durigan Junior  <sergiodj@redhat.com>
16370
16371         PR gdb/21164
16372         * psymtab.c (maintenance_print_psymbols): Verify if 'argv' is not
16373         NULL before using it.
16374         * symmisc.c (maintenance_print_symbols): Likewise.
16375         (maintenance_print_msymbols): Likewise.
16376
16377 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16378
16379         * NEWS: Add record Python bindings entry.
16380
16381 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16382
16383         * Makefile.in (SUBDIR_PYTHON_OBS): Add py-record-btrace.o,
16384         py-record-full.o.
16385         (SUBDIR_PYTHON_SRCS): Add py-record-btrace.c, py-record-full.c.
16386         * python/py-record-btrace.c, python/py-record-btrace.h,
16387         python/py-record-full.c, python/py-record-full.h: New file.
16388         * python/py-record.c: Add include for py-record-btrace.h and
16389         py-record-full.h.
16390         (recpy_method, recpy_format, recpy_goto, recpy_replay_position,
16391         recpy_instruction_history, recpy_function_call_history, recpy_begin,
16392         recpy_end): Use functions from py-record-btrace.c and py-record-full.c.
16393         * python/python-internal.h (PyInt_FromSsize_t, PyInt_AsSsize_t):
16394         New definition.
16395         (gdbpy_initialize_btrace): New export.
16396         * python/python.c (_initialize_python): Add gdbpy_initialize_btrace.
16397
16398 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16399
16400         * Makefile.in (SUBDIR_PYTHON_OBS): Add python/py-record.o.
16401         (SUBDIR_PYTHON_SRCS): Add python/py-record.c.
16402         * python/py-record.c: New file.
16403         * python/python-internal.h (gdbpy_start_recording,
16404         gdbpy_current_recording, gdpy_stop_recording,
16405         gdbpy_initialize_record): New export.
16406         * python/python.c (_initialize_python): Add gdbpy_initialize_record.
16407         (python_GdbMethods): Add gdbpy_start_recording,
16408         gdbpy_current_recording and gdbpy_stop_recording.
16409
16410 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16411
16412         * record-btrace.c (record_btrace_record_method): New function.
16413         (init_record_btrace_ops): Initialize to_record_method.
16414         * record-full.c (record_full_record_method): New function.
16415         (init_record_full_ops, init_record_full_core_ops): Add
16416         record_full_record_method.
16417         * record.h (enum record_method): New enum.
16418         * target-debug.h (target_debug_print_enum_record_method: New define.
16419         * target-delegates.c: Regenerate.
16420         * target.c (target_record_method): New function.
16421         * target.h: Include record.h.
16422         (struct target_ops) <to_record_method>: New field.
16423         (target_record_method): New export.
16424
16425 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16426
16427         * record.h (record_start, record_stop): New export.
16428         * record.c (record_start, record_stop): New function.
16429
16430 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16431
16432         * btrace.c (btrace_fetch): Copy function call segments pointer
16433         into a vector.
16434         (btrace_clear): Clear the vector.
16435         (btrace_find_insn_by_number): Use binary search to find the correct
16436         function call segment.
16437         * btrace.h (brace_fun_p): New typedef.
16438         (struct btrace_thread_info) <functions>: New field.
16439
16440 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16441
16442         * record-btrace.c (btrace_ui_out_decode_error): Move most of it ...
16443         * btrace.c (btrace_decode_error): ... here.  New function.
16444         * btrace.h (btrace_decode_error): New export.
16445
16446 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16447
16448         * btrace.c (ftrace_call_num_insn, btrace_insn_get_error): New function.
16449         (ftrace_new_function, btrace_insn_number, btrace_insn_cmp,
16450         btrace_find_insn_by_number): Remove special case for gaps.
16451         * btrace.h (btrace_insn_get_error): New export.
16452         (btrace_insn_number, btrace_find_insn_by_number): Adjust comment.
16453         * record-btrace.c (btrace_insn_history): Print number for gaps.
16454         (record_btrace_info, record_btrace_goto): Handle gaps.
16455
16456 2017-02-14  Tom Tromey  <tom@tromey.com>
16457
16458         PR python/13598:
16459         * python/python.c (gdbpy_before_prompt_hook): Emit before_prompt
16460         event.
16461         * python/py-evts.c (gdbpy_initialize_py_events): Add
16462         before_prompt registry.
16463         * python/py-events.h (events_object) <before_prompt>: New field.
16464
16465 2017-02-14  Markus Metzger  <markus.t.metzger@intel.com>
16466
16467         * btrace.c (ftrace_new_switch): Preserve up link and flags.
16468
16469 2017-02-13  Luis Machado  <lgustavo@codesourcery.com>
16470
16471         * symfile (_initialize_symfile): Add usage text to the load command's
16472         help text.
16473
16474 2017-02-10  Simon Marchi  <simon.marchi@ericsson.com>
16475
16476         * utils.c (defaulted_query): Don't query on secondary UIs.
16477
16478 2017-02-10  Tom Tromey  <tom@tromey.com>
16479
16480         * rust-lang.c (rust_get_disr_info): Remove unused variable.
16481
16482 2017-02-10  Tom Tromey  <tom@tromey.com>
16483
16484         * python/py-value.c (valpy_richcompare_throw): Remove unnecessary
16485         "cleanup" local.
16486         * python/py-type.c (typy_legacy_template_argument): Remove
16487         unnecessary "cleanup" local.
16488
16489 2017-02-10  Tom Tromey  <tom@tromey.com>
16490
16491         * python/python.c (do_start_initialization): New function, from
16492         _initialize_python.
16493         (_initialize_python): Call do_start_initialization.
16494         * python/py-linetable.c (ltpy_iternext): Use explicit returns, not
16495         goto.
16496
16497 2017-02-10  Tom Tromey  <tom@tromey.com>
16498
16499         * python/py-prettyprint.c (pretty_print_one_value): Use
16500         gdbpy_ref.
16501
16502 2017-02-10  Tom Tromey  <tom@tromey.com>
16503
16504         * python/py-cmd.c (cmdpy_destroyer): Use gdbpy_ref.
16505         * python/py-breakpoint.c (gdbpy_breakpoint_deleted): Use
16506         gdbpy_ref.
16507         * python/py-type.c (field_new): Use gdbpy_ref.
16508         * python/py-symtab.c (symtab_and_line_to_sal_object): Use
16509         gdbpy_ref.
16510         * python/py-progspace.c (pspy_new): Use gdbpy_ref.
16511         (py_free_pspace): Likewise.
16512         (pspace_to_pspace_object): Likewise.
16513         * python/py-objfile.c (objfpy_new): Use gdbpy_ref.
16514         (py_free_objfile): Likewise.
16515         (objfile_to_objfile_object): Likewise.
16516         * python/py-inferior.c (delete_thread_object): Use
16517         gdbpy_ref.
16518         (infpy_read_memory): Likewise.
16519         (py_free_inferior): Likewise.
16520         * python/py-evtregistry.c (create_eventregistry_object): Use
16521         gdbpy_ref.
16522         * python/py-event.c (create_event_object): Use gdbpy_ref.
16523
16524 2017-02-10  Tom Tromey  <tom@tromey.com>
16525
16526         * python/py-ref.h (gdbpy_ref_policy): Now a template.
16527         (gdbpy_ref): Now a template; allow subclasses of PyObject to be
16528         used.
16529         * python/py-arch.c, python/py-bpevent.c, python/py-breakpoint.c,
16530         python/py-cmd.c, python/py-continueevent.c, python/py-event.c,
16531         python/py-exitedevent.c, python/py-finishbreakpoint.c,
16532         python/py-framefilter.c, python/py-function.c,
16533         python/py-inferior.c, python/py-infevents.c,
16534         python/py-linetable.c, python/py-newobjfileevent.c,
16535         python/py-param.c, python/py-prettyprint.c, python/py-ref.h,
16536         python/py-signalevent.c, python/py-stopevent.c,
16537         python/py-symbol.c, python/py-threadevent.c, python/py-type.c,
16538         python/py-unwind.c, python/py-utils.c, python/py-value.c,
16539         python/py-varobj.c, python/py-xmethods.c, python/python.c,
16540         varobj.c: Change gdbpy_ref to gdbpy_ref<>.
16541
16542 2017-02-10  Tom Tromey  <tom@tromey.com>
16543
16544         * ui-out.h (ui_out_emit_type): New class.
16545         (ui_out_emit_tuple, ui_out_emit_list): New typedefs.
16546         * python/py-framefilter.c (py_print_single_arg): Use gdb::optional
16547         and ui_out_emit_tuple.
16548         (enumerate_locals): Likewise.
16549         (py_mi_print_variables, py_print_locals, py_print_args): Use
16550         ui_out_emit_list.
16551         (py_print_frame): Use gdb::optional, ui_out_emit_tuple,
16552         ui_out_emit_list.
16553         * common/gdb_optional.h: New file.
16554
16555 2017-02-10  Martin Galvan  <martingalvan@sourceware.org>
16556
16557         * MAINTAINERS (Write After Approval): Update my e-mail address.
16558
16559 2017-02-10  Martin Galvan  <martingalvan@sourceware.org>
16560
16561         PR gdb/21122
16562         * breakpoint.c (_initialize_breakpoint): Update the help description
16563         of the 'commands' command to indicate that it takes a list argument.
16564
16565 2017-02-09  Simon Marchi  <simon.marchi@ericsson.com>
16566
16567         * interps.c (current_interp_set_logging): Remove "return".
16568
16569 2017-02-09  Gary Benson  <gbenson@redhat.com>
16570
16571         * symtab.c (add_symtab_completions): Prevent NULL pointer
16572         dereference.
16573
16574 2017-02-08  Pedro Alves  <palves@redhat.com>
16575
16576         * interps.c (interp::interp): Remove reference to quiet_p.
16577         (interp_set): Make static.  Remove dead "Switching to" output
16578         code.
16579         (interp_quiet_p, interp_set_quiet): Delete.
16580         (interpreter_exec_cmd): Don't set the interpreter quiet.
16581         * interps.h (interp_quiet_p): Make static.
16582         (class interp) <quiet_p>: Remove field
16583
16584 2017-02-08  Jerome Guitton  <guitton@adacore.com>
16585
16586         * cli/cli-decode.c (find_command_name_length): Make it extern.
16587         * cli/cli-decode.h (find_command_name_length): Declare.
16588         * cli/cli-script.c (command_name_equals, line_first_arg):
16589         New functions.
16590         (process_next_line): Use cli-decode to parse command names.
16591         (build_command_line): Make args a constant pointer.
16592
16593 2017-02-08  Jerome Guitton  <guitton@adacore.com>
16594
16595         * cli-decode.c (lookup_cmd_1, lookup_cmd_composition):
16596         Remove case-insensitive search.
16597
16598 2017-02-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
16599
16600         * sparc-tdep.c (sparc32_gdbarch_init): Do not place a + operator
16601         at the end of the line.  Avoids an ARI warning.
16602
16603 2017-02-06  Luis Machado  <lgustavo@codesourcery.com>
16604
16605         * NEWS: Mention support for record/replay of Intel 64 rdrand and
16606         rdseed instructions.
16607         i386-tdep.c (i386_process_record): Handle Intel 64 rdrand and rseed.
16608
16609 2017-02-06  Ivo Raisr  <ivo.raisr@oracle.com>
16610
16611         PR tdep/20936
16612         Provide and use sparc32 and sparc64 target description XML files.
16613         * features/sparc/sparc32-cp0.xml, features/sparc/sparc32-cpu.xml,
16614         features/sparc/sparc32-fpu.xml: New files for sparc 32-bit.
16615         * features/sparc/sparc64-cp0.xml, features/sparc/sparc64-cpu.xml,
16616         features/sparc/sparc64-fpu.xml: New files for sparc 64-bit.
16617         * features/sparc/sparc32-solaris.xml: New file.
16618         * features/sparc/sparc64-solaris.xml: New file.
16619         * features/sparc/sparc32-solaris.c: Generated.
16620         * features/sparc/sparc64-solaris.c: Generated.
16621         * sparc-tdep.h: Account for differences in target descriptions.
16622         * sparc-tdep.c (sparc32_register_name): Use target provided registers.
16623         (sparc32_register_type): Use target provided registers.
16624         (validate_tdesc_registers): New function.
16625         (sparc32_gdbarch_init): Use tdesc_has_registers.
16626         Set pseudoregister functions.
16627         * sparc64-tdep.c (sparc64_register_name): Use target provided registers.
16628         (sparc64_register_type): Use target provided registers.
16629         (sparc64_init_abi): Set pseudoregister functions.
16630
16631 2017-02-03  Tom Tromey  <tom@tromey.com>
16632
16633         PR rust/21097:
16634         * rust-lang.c (rust_print_type) <TYPE_CODE_UNION>: Handle enums
16635         with a single member.
16636
16637 2017-02-03  Pedro Alves  <palves@redhat.com>
16638
16639         * cli/cli-interp.c (cli_interp_base::cli_interp_base)
16640         (cli_interp_base::~cli_interp_base): New.
16641         (cli_interp): New struct.
16642         (as_cli_interp): Cast the interp itself to cli_interp.
16643         (cli_interpreter_pre_command_loop): Rename to ...
16644         (cli_interp_base::pre_command_loop): ... this.  Remove 'self'
16645         parameter.
16646         (cli_interpreter_init): Rename to ...
16647         (cli_interp::init): ... this.  Remove 'self' parameter.  Use
16648         boolean.  Make extern.
16649         (cli_interpreter_resume): Rename to ...
16650         (cli_interp::resume): ... this.  Remove 'data' parameter.  Make
16651         extern.
16652         (cli_interpreter_suspend): Rename to ...
16653         (cli_interp::suspend): ... this.  Remove 'data' parameter.  Make
16654         extern.
16655         (cli_interpreter_exec): Rename to ...
16656         (cli_interp::exec): ... this.  Remove 'data' parameter.  Make
16657         extern.
16658         (cli_interpreter_supports_command_editing): Rename to ...
16659         (cli_interp_base::supports_command_editing): ... this.  Remove
16660         'interp' parameter.  Make extern.
16661         (cli_ui_out): Rename to ...
16662         (cli_interp::interp_ui_out): ... this.  Remove 'interp' parameter.
16663         Make extern.
16664         (cli_set_logging): Rename to ...
16665         (cli_interp_base::set_logging): ... this.  Remove 'interp'
16666         parameter.  Make extern.
16667         (cli_interp_procs): Delete.
16668         (cli_interp_factory): Adjust to use "new".
16669         * cli/cli-interp.h: Include "interps.h".
16670         (struct cli_interp_base): New struct.
16671         * interps.c (struct interp): Delete.  Fields moved to interps.h.
16672         (interp_new): Delete.
16673         (interp::interp, interp::~interp): New.
16674         (interp_set): Use bool, and return void.  Assume the interpreter
16675         has suspend, init and resume methods, and that the all return
16676         void.
16677         (set_top_level_interpreter): interp_set returns void.
16678         (interp_ui_out): Adapt.
16679         (current_interp_set_logging): Adapt.
16680         (interp_data): Delete.
16681         (interp_pre_command_loop, interp_supports_command_editing): Adapt.
16682         (interp_exec): Adapt.
16683         (top_level_interpreter_data): Delete.
16684         * interps.h (interp_init_ftype, interp_resume_ftype)
16685         (interp_suspend_ftype, interp_exec_ftype)
16686         (interp_pre_command_loop_ftype, interp_ui_out_ftype): Delete.
16687         (class interp): New.
16688         (interp_new): Delete.
16689         (interp_set): Now returns void.  Use bool.
16690         (interp_data, top_level_interpreter_data): Delete.
16691         * mi/mi-common.h: Include interps.h.
16692         (class mi_interp): Inherit from interp.  Define a ctor.  Declare
16693         init, resume, suspect, exec, interp_ui_out, set_logging and
16694         pre_command_loop methods.
16695         * mi/mi-interp.c (as_mi_interp): Cast the interp itself.
16696         (mi_interpreter_init): Rename to ...
16697         (mi_interp::init): ... this.  Remove the 'interp' parameter, use
16698         bool, return void and make extern.  Adjust.
16699         (mi_interpreter_resume): ... Rename to ...
16700         (mi_interp::resume): ... this.  Remove the 'data' parameter,
16701         return void and make extern.  Adjust.
16702         (mi_interpreter_suspend): ... Rename to ...
16703         (mi_interp::suspend): ... this.  Remove the 'data' parameter,
16704         return void and make extern.  Adjust.
16705         (mi_interpreter_exec): ... Rename to ...
16706         (mi_interp::exec): ... this.  Remove the 'data' parameter and make
16707         extern.  Adjust.
16708         (mi_interpreter_pre_command_loop): ... Rename to ...
16709         (mi_interp::pre_command_loop): ... this.  Remove the 'self'
16710         parameter and make extern.
16711         (mi_on_normal_stop_1): Adjust.
16712         (mi_ui_out): Rename to ...
16713         (mi_interp::interp_ui_out): ... this.  Remove the 'interp'
16714         parameter and make extern.  Adjust.
16715         (mi_set_logging): Rename to ...
16716         (mi_interp::set_logging): ... this.  Remove the 'interp'
16717         parameter and make extern.  Adjust.
16718         (mi_interp_procs): Delete.
16719         (mi_interp_factory): Adjust to use 'new'.
16720         * mi/mi-main.c (mi_cmd_gdb_exit, captured_mi_execute_command)
16721         (mi_print_exception, mi_execute_command, mi_load_progress):
16722         Adjust.
16723         * tui/tui-interp.c (tui_interp): New class.
16724         (as_tui_interp): Return a tui_interp pointer.
16725         (tui_on_normal_stop, tui_on_signal_received)
16726         (tui_on_end_stepping_range, tui_on_signal_exited, tui_on_exited)
16727         (tui_on_no_history, tui_on_user_selected_context_changed): Adjust
16728         to use interp::interp_ui_out.
16729         (tui_init): Rename to ...
16730         (tui_interp::init): ... this.  Remove the 'self' parameter, use
16731         bool, return void and make extern.  Adjust.
16732         (tui_resume): Rename to ...
16733         (tui_interp::resume): ... this.  Remove the 'data' parameter,
16734         return void and make extern.  Adjust.
16735         (tui_suspend): Rename to ...
16736         (tui_interp::suspend): ... this.  Remove the 'data' parameter,
16737         return void and make extern.  Adjust.
16738         (tui_ui_out): Rename to ...
16739         (tui_interp::interp_ui_out): ... this.  Remove the 'self'
16740         parameter, and make extern.  Adjust.
16741         (tui_exec): Rename to ...
16742         (tui_interp::exec): ... this.  Remove the 'data' parameter and
16743         make extern.
16744         (tui_interp_procs): Delete.
16745         (tui_interp_factory): Use "new".
16746
16747 2017-02-02  Tom Tromey  <tom@tromey.com>
16748
16749         * rust-exp.y (ends_raw_string, space_then_number)
16750         (rust_identifier_start_p): Return bool.
16751         * rust-lang.c (rust_tuple_type_p, rust_underscore_fields)
16752         (rust_tuple_struct_type_p, rust_tuple_variant_type_p)
16753         (rust_slice_type_p, rust_range_type_p, rust_u8_type_p)
16754         (rust_chartype_p): Return bool.
16755         (val_print_struct, rust_print_struct_def, rust_print_type):
16756         Update.
16757         * rust-lang.h (rust_tuple_type_p, rust_tuple_struct_type_p):
16758         Return bool.
16759
16760 2017-02-02  Tom Tromey  <tom@tromey.com>
16761
16762         * rust-lang.c: Reindent.
16763
16764 2017-02-02  Tom Tromey  <tom@tromey.com>
16765
16766         * rust-lang.h (rust_crate_for_block): Update.
16767         * rust-lang.c (rust_crate_for_block): Return std::string.
16768         (rust_get_disr_info): Use std:;string, not
16769         gdb::unique_xmalloc_ptr.
16770         * rust-exp.y (crate_name): Update.
16771
16772 2017-02-02  Pedro Alves  <palves@redhat.com>
16773
16774         * disasm-selftests.c (print_one_insn_test): Move the "verbose"
16775         field out of gdb_disassembler_test and make it static.
16776
16777 2017-02-02  Pedro Alves  <palves@redhat.com>
16778
16779         * mi/mi-common.h (struct mi_interp): Delete the mi2_interp,
16780         mi1_interp and mi_interp fields.
16781
16782 2017-02-02  Pedro Alves  <palves@redhat.com>
16783
16784         * cli/cli-interp.c (struct saved_output_files, saved_output):
16785         Moved from cli/cli-logging.c.
16786         (cli_set_logging): New function.
16787         (cli_interp_procs): Install cli_set_logging.
16788         * cli/cli-interp.h (make_logging_output, cli_set_logging):
16789         Declare.
16790         * cli/cli-logging.c (struct saved_output_files, saved_output):
16791         Moved to cli/cli-interp.c.
16792         (pop_output_files): Don't save outputs here.
16793         (make_logging_output): New function.
16794         (handle_redirections): Don't build tee nor save previous outputs
16795         here.
16796         * interps.c (current_interp_set_logging): Change prototype.
16797         Assume there's always a set_logging_proc method installed.
16798         * interps.h (interp_set_logging_ftype): Change prototype.
16799         (current_interp_set_logging): Change prototype and adjust comment.
16800         * mi/mi-interp.c (mi_set_logging): Change protototype.  Adjust to
16801         use make_logging_output.
16802         * tui/tui-interp.c (tui_interp_procs): Install cli_set_logging.
16803 2017-02-02  Pedro Alves  <palves@redhat.com>
16804
16805         * cli/cli-logging.c (maybe_warn_already_logging): New factored out
16806         from ...
16807         (set_logging_overwrite): ... here.
16808         (logging_no_redirect_file): Delete.
16809         (set_logging_redirect): Don't handle redirection on the fly.
16810         Instead warn that "logging off" / "logging on" is necessary.
16811         (pop_output_files): Delete references to logging_no_redirect_file.
16812         (show_logging_command): Always speak in terms of what will happen
16813         once logging is reenabled.
16814
16815 2017-02-02  Pedro Alves  <palves@redhat.com>
16816
16817         * disasm.h (gdb_pretty_print_disassembler): Tweak intro comment.
16818
16819 2017-02-02  Pedro Alves  <palves@redhat.com>
16820
16821         * disasm.c (gdb_pretty_print_insn): Rename to ...
16822         (gdb_pretty_print_disassembler::pretty_print_insn): ... this.
16823         Remove gdbarch parameter.  Adapt to clear the object's buffers
16824         instead of allocating new buffers, and to print using the object's
16825         gdb_disassembler instead of calling gdb_print_insn.
16826         (dump_insns): Use gdb_pretty_print_disassembler.
16827         * disasm.h (gdb_pretty_print_insn): Delete declaration.
16828         (gdb_pretty_print_disassembler): New class.
16829         * record-btrace.c (btrace_insn_history): Use
16830         gdb_pretty_print_disassembler.
16831
16832 2017-02-02  Pedro Alves  <palves@redhat.com>
16833
16834         * ada-lang.c (type_as_string): Use string_file.
16835         * ada-valprint.c (ada_print_floating): Use string_file.
16836         * ada-varobj.c (ada_varobj_scalar_image)
16837         (ada_varobj_get_value_image): Use string_file.
16838         * aix-thread.c (aix_thread_extra_thread_info): Use string_file.
16839         * arm-tdep.c (_initialize_arm_tdep): Use string_printf.
16840         * breakpoint.c (update_inserted_breakpoint_locations)
16841         (insert_breakpoint_locations, reattach_breakpoints)
16842         (print_breakpoint_location, print_one_detail_ranged_breakpoint)
16843         (print_it_watchpoint): Use string_file.
16844         (save_breakpoints): Use stdio_file.
16845         * c-exp.y (oper): Use string_file.
16846         * cli/cli-logging.c (set_logging_redirect): Use ui_file_up and
16847         tee_file.
16848         (pop_output_files): Use delete.
16849         (handle_redirections): Use stdio_file and tee_file.
16850         * cli/cli-setshow.c (do_show_command): Use string_file.
16851         * compile/compile-c-support.c (c_compute_program): Use
16852         string_file.
16853         * compile/compile-c-symbols.c (generate_vla_size): Take a
16854         'string_file &' instead of a 'ui_file *'.
16855         (generate_c_for_for_one_variable): Take a 'string_file &' instead
16856         of a 'ui_file *'.  Use string_file.
16857         (generate_c_for_variable_locations): Take a 'string_file &'
16858         instead of a 'ui_file *'.
16859         * compile/compile-internal.h (generate_c_for_for_one_variable):
16860         Take a 'string_file &' instead of a 'ui_file *'.
16861         * compile/compile-loc2c.c (push, pushf, unary, binary)
16862         (print_label, pushf_register_address, pushf_register)
16863         (do_compile_dwarf_expr_to_c): Take a 'string_file &' instead of a
16864         'ui_file *'.  Adjust.
16865         * compile/compile.c (compile_to_object): Use string_file.
16866         * compile/compile.h (compile_dwarf_expr_to_c)
16867         (compile_dwarf_bounds_to_c): Take a 'string_file &' instead of a
16868         'ui_file *'.
16869         * cp-support.c (inspect_type): Use string_file and obstack_copy0.
16870         (replace_typedefs_qualified_name): Use string_file and
16871         obstack_copy0.
16872         * disasm.c (gdb_pretty_print_insn): Use string_file.
16873         (gdb_disassembly): Adjust reference the null_stream global.
16874         (do_ui_file_delete): Delete.
16875         (gdb_insn_length): Use null_stream.
16876         * dummy-frame.c (maintenance_print_dummy_frames): Use stdio_file.
16877         * dwarf2loc.c (dwarf2_compile_property_to_c)
16878         (locexpr_generate_c_location, loclist_generate_c_location): Take a
16879         'string_file &' instead of a 'ui_file *'.
16880         * dwarf2loc.h (dwarf2_compile_property_to_c): Likewise.
16881         * dwarf2read.c (do_ui_file_peek_last): Delete.
16882         (dwarf2_compute_name): Use string_file.
16883         * event-top.c (gdb_setup_readline): Use stdio_file.
16884         * gdbarch.sh (verify_gdbarch): Use string_file.
16885         * gdbtypes.c (safe_parse_type): Use null_stream.
16886         * guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Use
16887         string_file.
16888         * guile/scm-disasm.c (gdbscm_print_insn_from_port): Take a
16889         'string_file *' instead of a 'ui_file *'.
16890         (gdbscm_arch_disassemble): Use string_file.
16891         * guile/scm-frame.c (frscm_print_frame_smob): Use string_file.
16892         * guile/scm-ports.c (class ioscm_file_port): Now a class that
16893         inherits from ui_file.
16894         (ioscm_file_port_delete, ioscm_file_port_rewind)
16895         (ioscm_file_port_put): Delete.
16896         (ioscm_file_port_write): Rename to ...
16897         (ioscm_file_port::write): ... this.  Remove file_port_magic
16898         checks.
16899         (ioscm_file_port_new): Delete.
16900         (ioscm_with_output_to_port_worker): Use ioscm_file_port and
16901         ui_file_up.
16902         * guile/scm-type.c (tyscm_type_name): Use string_file.
16903         * guile/scm-value.c (vlscm_print_value_smob, gdbscm_value_print):
16904         Use string_file.
16905         * infcmd.c (print_return_value_1): Use string_file.
16906         * infrun.c (print_target_wait_results): Use string_file.
16907         * language.c (add_language): Use string_file.
16908         * location.c (explicit_to_string_internal): Use string_file.
16909         * main.c (captured_main_1): Use null_file.
16910         * maint.c (maintenance_print_architecture): Use stdio_file.
16911         * mi/mi-cmd-stack.c (list_arg_or_local): Use string_file.
16912         * mi/mi-common.h (struct mi_interp) <out, err, log, targ,
16913         event_channel>: Change type to mi_console_file pointer.
16914         * mi/mi-console.c (mi_console_file_fputs, mi_console_file_flush)
16915         (mi_console_file_delete): Delete.
16916         (struct mi_console_file): Delete.
16917         (mi_console_file_magic): Delete.
16918         (mi_console_file_new): Delete.
16919         (mi_console_file::mi_console_file): New.
16920         (mi_console_file_delete): Delete.
16921         (mi_console_file_fputs): Delete.
16922         (mi_console_file::write): New.
16923         (mi_console_raw_packet): Delete.
16924         (mi_console_file::flush): New.
16925         (mi_console_file_flush): Delete.
16926         (mi_console_set_raw): Rename to ...
16927         (mi_console_file::set_raw): ... this.
16928         * mi/mi-console.h (class mi_console_file): New class.
16929         (mi_console_file_new, mi_console_set_raw): Delete.
16930         * mi/mi-interp.c (mi_interpreter_init): Use mi_console_file.
16931         (mi_set_logging): Use delete and tee_file.  Adjust.
16932         * mi/mi-main.c (output_register): Use string_file.
16933         (mi_cmd_data_evaluate_expression): Use string_file.
16934         (mi_cmd_data_read_memory): Use string_file.
16935         (mi_cmd_execute, print_variable_or_computed): Use string_file.
16936         * mi/mi-out.c (mi_ui_out::main_stream): New.
16937         (mi_ui_out::rewind): Use main_stream and
16938         string_file.
16939         (mi_ui_out::put): Use main_stream and string_file.
16940         (mi_ui_out::mi_ui_out): Remove 'stream' parameter.
16941         Allocate a 'string_file' instead.
16942         (mi_out_new): Don't allocate a mem_fileopen stream here.
16943         * mi/mi-out.h (mi_ui_out::mi_ui_out): Remove 'stream' parameter.
16944         (mi_ui_out::main_stream): Declare method.
16945         * printcmd.c (eval_command): Use string_file.
16946         * psymtab.c (maintenance_print_psymbols): Use stdio_file.
16947         * python/py-arch.c (archpy_disassemble): Use string_file.
16948         * python/py-breakpoint.c (bppy_get_commands): Use string_file.
16949         * python/py-frame.c (frapy_str): Use string_file.
16950         * python/py-framefilter.c (py_print_type, py_print_single_arg):
16951         Use string_file.
16952         * python/py-type.c (typy_str): Use string_file.
16953         * python/py-unwind.c (unwind_infopy_str): Use string_file.
16954         * python/py-value.c (valpy_str): Use string_file.
16955         * record-btrace.c (btrace_insn_history): Use string_file.
16956         * regcache.c (regcache_print): Use stdio_file.
16957         * reggroups.c (maintenance_print_reggroups): Use stdio_file.
16958         * remote.c (escape_buffer): Use string_file.
16959         * rust-lang.c (rust_get_disr_info): Use string_file.
16960         * serial.c (serial_open_ops_1): Use stdio_file.
16961         (do_serial_close): Use delete.
16962         * stack.c (print_frame_arg): Use string_file.
16963         (print_frame_args): Remove local mem_fileopen stream, not used.
16964         (print_frame): Use string_file.
16965         * symmisc.c (maintenance_print_symbols): Use stdio_file.
16966         * symtab.h (struct symbol_computed_ops) <generate_c_location>:
16967         Take a 'string_file *' instead of a 'ui_file *'.
16968         * top.c (new_ui): Use stdio_file and stderr_file.
16969         (free_ui): Use delete.
16970         (execute_command_to_string): Use string_file.
16971         (quit_confirm): Use string_file.
16972         * tracepoint.c (collection_list::append_exp): Use string_file.
16973         * tui/tui-disasm.c (tui_disassemble): Use string_file.
16974         * tui/tui-file.c: Don't include "ui-file.h".
16975         (enum streamtype, struct tui_stream): Delete.
16976         (tui_file_new, tui_file_delete, tui_fileopen, tui_sfileopen)
16977         (tui_file_isatty, tui_file_rewind, tui_file_put): Delete.
16978         (tui_file::tui_file): New method.
16979         (tui_file_fputs): Delete.
16980         (tui_file_get_strbuf): Delete.
16981         (tui_file::puts): New method.
16982         (tui_file_adjust_strbuf): Delete.
16983         (tui_file_flush): Delete.
16984         (tui_file::flush): New method.
16985         * tui/tui-file.h: Tweak intro comment.
16986         Include ui-file.h.
16987         (tui_fileopen, tui_sfileopen, tui_file_get_strbuf)
16988         (tui_file_adjust_strbuf): Delete declarations.
16989         (class tui_file): New class.
16990         * tui/tui-io.c (tui_initialize_io): Use tui_file.
16991         * tui/tui-regs.c (tui_restore_gdbout): Use delete.
16992         (tui_register_format): Use string_stream.
16993         * tui/tui-stack.c (tui_make_status_line): Use string_file.
16994         (tui_get_function_from_frame): Use string_file.
16995         * typeprint.c (type_to_string): Use string_file.
16996         * ui-file.c (struct ui_file, ui_file_magic, ui_file_new): Delete.
16997         (null_stream): New global.
16998         (ui_file_delete): Delete.
16999         (ui_file::ui_file): New.
17000         (null_file_isatty): Delete.
17001         (ui_file::~ui_file): New.
17002         (null_file_rewind): Delete.
17003         (ui_file::printf): New.
17004         (null_file_put): Delete.
17005         (null_file_flush): Delete.
17006         (ui_file::putstr): New.
17007         (null_file_write): Delete.
17008         (ui_file::putstrn): New.
17009         (null_file_read): Delete.
17010         (ui_file::putc): New.
17011         (null_file_fputs): Delete.
17012         (null_file_write_async_safe): Delete.
17013         (ui_file::vprintf): New.
17014         (null_file_delete): Delete.
17015         (null_file::write): New.
17016         (null_file_fseek): Delete.
17017         (null_file::puts): New.
17018         (ui_file_data): Delete.
17019         (null_file::write_async_safe): New.
17020         (gdb_flush, ui_file_isatty): Adjust.
17021         (ui_file_put, ui_file_rewind): Delete.
17022         (ui_file_write): Adjust.
17023         (ui_file_write_for_put): Delete.
17024         (ui_file_write_async_safe, ui_file_read): Adjust.
17025         (ui_file_fseek): Delete.
17026         (fputs_unfiltered): Adjust.
17027         (set_ui_file_flush, set_ui_file_isatty, set_ui_file_rewind)
17028         (set_ui_file_put, set_ui_file_write, set_ui_file_write_async_safe)
17029         (set_ui_file_read, set_ui_file_fputs, set_ui_file_fseek)
17030         (set_ui_file_data): Delete.
17031         (string_file::~string_file, string_file::write)
17032         (struct accumulated_ui_file, do_ui_file_xstrdup, ui_file_xstrdup)
17033         (do_ui_file_as_string, ui_file_as_string): Delete.
17034         (do_ui_file_obsavestring, ui_file_obsavestring): Delete.
17035         (struct mem_file): Delete.
17036         (mem_file_new): Delete.
17037         (stdio_file::stdio_file): New.
17038         (mem_file_delete): Delete.
17039         (stdio_file::stdio_file): New.
17040         (mem_fileopen): Delete.
17041         (stdio_file::~stdio_file): New.
17042         (mem_file_rewind): Delete.
17043         (stdio_file::set_stream): New.
17044         (mem_file_put): Delete.
17045         (stdio_file::open): New.
17046         (mem_file_write): Delete.
17047         (stdio_file_magic, struct stdio_file): Delete.
17048         (stdio_file_new, stdio_file_delete, stdio_file_flush): Delete.
17049         (stdio_file::flush): New.
17050         (stdio_file_read): Rename to ...
17051         (stdio_file::read): ... this.  Adjust.
17052         (stdio_file_write): Rename to ...
17053         (stdio_file::write): ... this.  Adjust.
17054         (stdio_file_write_async_safe): Rename to ...
17055         (stdio_file::write_async_safe) ... this.  Adjust.
17056         (stdio_file_fputs): Rename to ...
17057         (stdio_file::puts) ... this.  Adjust.
17058         (stdio_file_isatty): Delete.
17059         (stdio_file_fseek): Delete.
17060         (stdio_file::isatty): New.
17061         (stderr_file_write): Rename to ...
17062         (stderr_file::write) ... this.  Adjust.
17063         (stderr_file_fputs): Rename to ...
17064         (stderr_file::puts) ... this.  Adjust.
17065         (stderr_fileopen, stdio_fileopen, gdb_fopen): Delete.
17066         (stderr_file::stderr_file): New.
17067         (tee_file_magic): Delete.
17068         (struct tee_file): Delete.
17069         (tee_file::tee_file): New.
17070         (tee_file_new): Delete.
17071         (tee_file::~tee_file): New.
17072         (tee_file_delete): Delete.
17073         (tee_file_flush): Rename to ...
17074         (tee_file::flush): ... this.  Adjust.
17075         (tee_file_write): Rename to ...
17076         (tee_file::write): ... this.  Adjust.
17077         (tee_file::write_async_safe): New.
17078         (tee_file_fputs): Rename to ...
17079         (tee_file::puts): ... this.  Adjust.
17080         (tee_file_isatty): Rename to ...
17081         (tee_file::isatty): ... this.  Adjust.
17082         * ui-file.h (struct obstack, struct ui_file): Don't
17083         forward-declare.
17084         (ui_file_new, ui_file_flush_ftype, set_ui_file_flush)
17085         (ui_file_write_ftype)
17086         (set_ui_file_write, ui_file_fputs_ftype, set_ui_file_fputs)
17087         (ui_file_write_async_safe_ftype, set_ui_file_write_async_safe)
17088         (ui_file_read_ftype, set_ui_file_read, ui_file_isatty_ftype)
17089         (set_ui_file_isatty, ui_file_rewind_ftype, set_ui_file_rewind)
17090         (ui_file_put_method_ftype, ui_file_put_ftype, set_ui_file_put)
17091         (ui_file_delete_ftype, set_ui_file_data, ui_file_fseek_ftype)
17092         (set_ui_file_fseek): Delete.
17093         (ui_file_data, ui_file_delete, ui_file_rewind)
17094         (struct ui_file): New.
17095         (ui_file_up): New.
17096         (class null_file): New.
17097         (null_stream): Declare.
17098         (ui_file_write_for_put, ui_file_put): Delete.
17099         (ui_file_xstrdup, ui_file_as_string, ui_file_obsavestring):
17100         Delete.
17101         (ui_file_fseek, mem_fileopen, stdio_fileopen, stderr_fileopen)
17102         (gdb_fopen, tee_file_new): Delete.
17103         (struct string_file): New.
17104         (struct stdio_file): New.
17105         (stdio_file_up): New.
17106         (struct stderr_file): New.
17107         (class tee_file): New.
17108         * ui-out.c (ui_out::field_stream): Take a 'string_file &' instead
17109         of a 'ui_file *'.  Adjust.
17110         * ui-out.h (class ui_out) <field_stream>: Likewise.
17111         * utils.c (do_ui_file_delete, make_cleanup_ui_file_delete)
17112         (null_stream): Delete.
17113         (error_stream): Take a 'string_file &' instead of a 'ui_file *'.
17114         Adjust.
17115         * utils.h (struct ui_file): Delete forward declaration..
17116         (make_cleanup_ui_file_delete, null_stream): Delete declarations.
17117         (error_stream): Take a 'string_file &' instead of a
17118         'ui_file *'.
17119         * varobj.c (varobj_value_get_print_value): Use string_file.
17120         * xtensa-tdep.c (xtensa_verify_config): Use string_file.
17121         * gdbarch.c: Regenerate.
17122
17123 2017-02-02  Pedro Alves  <palves@redhat.com>
17124
17125         * disasm.c (gdb_disassembler::pretty_print_insn): Rename to...
17126         (gdb_pretty_print_insn): ... this.  Now a free function.  Add back
17127         a 'gdbarch' parameter.  Allocate a mem_fileopen stream here.
17128         Adjust to call gdb_print_insn instead of
17129         gdb_disassembler::print_insn.
17130         (dump_insns, do_mixed_source_and_assembly_deprecated)
17131         (do_mixed_source_and_assembly, do_assembly_only): Add back a
17132         'gdbarch' parameter.  Remove gdb_disassembler parameter.
17133         (gdb_disassembly): Don't allocate a gdb_disassembler here.
17134         * disasm.h (gdb_disassembler::pretty_print_insn): Delete
17135         declaration.
17136         (gdb_pretty_print_insn): Re-add declaration.
17137         * record-btrace.c (btrace_insn_history): Don't allocate a
17138         gdb_disassembler here.  Adjust to call gdb_pretty_print_insn.
17139
17140 2017-02-01  Simon Marchi  <simon.marchi@polymtl.ca>
17141
17142         * disasm.h (gdb_disassembly): Remove file_string parameter.
17143         * disasm.c (gdb_disassembly): Likewise.
17144         * cli/cli-cmds.c (print_disassembly): Adapt.
17145         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Likewise.
17146         * stack.c (do_gdb_disassembly): Likewise.
17147
17148 2017-02-01  Andreas Arnez  <arnez@linux.vnet.ibm.com>
17149
17150         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): For
17151         DWARF_VALUE_LITERAL, no longer ignore the offset on big-endian
17152         targets.  And if the implicit value is longer than needed, extract
17153         the first bytes instead of the "least significant" ones.
17154
17155 2017-02-01  Markus Metzger  <markus.t.metzger@intel.com>
17156
17157         * btrace.c (btrace_enable): Do not call btrace_add_pc for
17158         BTRACE_FORMAT_PT or if can_access_registers_ptid returns false.
17159         (btrace_fetch): Assert can_access_registers_ptid.
17160         * record-btrace.c (require_btrace_thread, record_btrace_info): Call
17161         validate_registers_access.
17162
17163 2017-02-01  Markus Metzger  <markus.t.metzger@intel.com>
17164
17165         * gdbthread.h (can_access_registers_ptid): New.
17166         * thread.c (can_access_registers_ptid): New.
17167
17168 2017-02-01  Pedro Alves  <palves@redhat.com>
17169
17170         * i386-tdep.c (i386_fast_tracepoint_valid_at): Use gdb_insn_length.
17171
17172 2017-01-31  Pedro Alves  <palves@redhat.com>
17173
17174         * mi/mi-interp.c (mi_breakpoint_created, mi_breakpoint_modified):
17175         Fix typos.
17176
17177 2017-01-31  Pedro Alves  <palves@redhat.com>
17178
17179         * stack.c (print_frame_args): Remove local mem_fileopen stream,
17180         not used.
17181
17182 2017-01-31  Pedro Alves  <palves@redhat.com>
17183
17184         * varobj.c (varobj_value_get_print_value): Remove xstrdup call.
17185
17186 2017-01-31  Pedro Alves  <palves@redhat.com>
17187
17188         * common/scoped_restore.h
17189         (scoped_restore_tmpl::scoped_restore_tmpl): Template on T2, and
17190         change the value's parameter type to T2.
17191         (make_scoped_restore): Likewise.
17192
17193 2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
17194             Richard Henderson  <rth@redhat.com>
17195
17196         * amd64-linux-nat.c (PTRACE_ARCH_PRCTL): New define.
17197         (amd64_linux_fetch_inferior_registers): Add case to fetch FS_BASE
17198         GS_BASE for older kernels.
17199         (amd64_linux_store_inferior_registers): Add case to store FS_BASE
17200         GS_BASE for older kernels.
17201         * amd64-linux-tdep.c (amd64_linux_gregset_reg_offset): Add FS_BASE
17202         and GS_BASE to the offset table.
17203         (amd64_linux_register_reggroup_p): Add FS_BASE and GS_BASE to the
17204         system register group.
17205         * amd64-nat.c (amd64_native_gregset_reg_offset): Implements case
17206         for older kernels.
17207         * amd64-tdep.c (amd64_init_abi): Add segment registers for the
17208         amd64 ABI.
17209         * amd64-tdep.h (amd64_regnum): Add AMD64_FSBASE_REGNUM and
17210         AMD64_GSBASE_REGNUM.
17211         (AMD64_NUM_REGS): Set to AMD64_GSBASE_REGNUM + 1.
17212         * features/Makefile (amd64-linux.dat, amd64-avx-linux.dat)
17213         (amd64-mpx-linux.dat, amd64-avx512-linux.dat, x32-linux.dat)
17214         (x32-avx-linux.dat, x32-avx512-linux.dat): Add
17215         i386/64bit-segments.xml in those rules.
17216         * features/i386/64bit-segments.xml: New file.
17217         * features/i386/amd64-avx-mpx-linux.xml: Add 64bit-segments.xml.
17218         * features/i386/amd64-avx-linux.xml: Add 64bit-segments.xml.
17219         * features/i386/amd64-avx512-linux.xml: Add 64bit-segments.xml.
17220         * features/i386/amd64-mpx-linux.xml: Add 64bit-segments.xml.
17221         * features/i386/x32-avx512-linux.xml: Add 64bit-segments.xml.
17222         * features/i386/x32-avx-linux.xml: Add 64bit-segments.xml.
17223         * features/i386/amd64-linux.xml: Add 64bit-segments.xml.
17224         * features/i386/amd64-avx-linux.c: Regenerated.
17225         * features/i386/amd64-avx-mpx-linux.c: Regenerated.
17226         * features/i386/amd64-avx-mpx.c: Regenerated.
17227         * features/i386/amd64-avx512-linux.c: Regenerated.
17228         * features/i386/amd64-linux.c: Regenerated.
17229         * features/i386/amd64-mpx-linux.c: Regenerated.
17230         * features/i386/i386-avx-mpx-linux.c: Regenerated.
17231         * features/i386/i386-avx-mpx.c: Regenerated.
17232         * features/i386/x32-avx-linux.c: Regenerated.
17233         * features/i386/x32-avx512-linux.c: Regenerated.
17234         * regformats/i386/amd64-avx-linux.dat: Regenerated.
17235         * regformats/i386/amd64-avx-mpx-linux.dat: Regenerated.
17236         * regformats/i386/amd64-avx512-linux.dat: Regenerated.
17237         * regformats/i386/amd64-linux.dat: Regenerated.
17238         * regformats/i386/amd64-mpx-linux.dat: Regenerated.
17239         * regformats/i386/x32-avx-linux.dat: Regenerated.
17240         * regformats/i386/x32-avx512-linux.dat: Regenerated.
17241         * regformats/i386/x32-linux.dat: Regenerated.
17242
17243 2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
17244
17245         * amd64-linux-tdep.h (AMD64_LINUX_ORIG_RAX_REGNUM):
17246         Set to AMD64_NUM_REGS.
17247
17248 2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
17249
17250         * amd64-nat.c (amd64_native_gregset_reg_offset): Simplify logic
17251         that checks validity of a register number.
17252
17253 2017-01-27  Kees Cook  <keescook@google.com>
17254
17255         * gdb/arm-linux-nat.c (arm_linux_fetch_inferior_registers): Call
17256         fetch_fpregs if target has fpa registers.
17257         (arm_linux_store_inferior_registers): Call store_fpregs if target
17258         has fpa registers.
17259
17260 2017-01-26  Andreas Arnez  <arnez@linux.vnet.ibm.com>
17261
17262         * cris-tdep.c (cris_gdbarch_init): Remove check for
17263         info.byte_order and force it to BFD_ENDIAN_LITTLE.
17264
17265 2017-01-26  Antoine Tremblay  <antoine.tremblay@ericsson.com>
17266
17267         * corelow.c (get_core_register_section): Check for regset
17268         existence before checking for REGSET_VARIABLE_SIZE.
17269
17270 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17271             Pedro Alves  <palves@redhat.com>
17272
17273         PR gdb/20939
17274         * disasm.c (gdb_disassembler::dis_asm_memory_error): Don't
17275         call memory_error, save memaddr instead.
17276         (gdb_disassembler::print_insn): If gdbarch_print_insn returns
17277         negative, cal memory_error.
17278         * disasm.h (gdb_disassembler) <m_err_memaddr>: New field.
17279
17280 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17281
17282         * disasm-selftests.c (memory_error_test): New function.
17283         (_initialize_disasm_selftests): Register memory_error_test.
17284
17285 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17286
17287         * Makefile.in (SFILES): Add disasm-selftests.c and
17288         selftest-arch.c.
17289         (COMMON_OBS): Add disasm-selftests.o and selftest-arch.o.
17290         * disasm-selftests.c: New file.
17291         * selftest-arch.c: New file.
17292         * selftest-arch.h: New file.
17293
17294 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17295
17296         * mep-tdep.c (mep_gdb_print_insn): Set info->arch
17297         to bfd_arch_mep.  Don't return 0 if section is not
17298         found.  Call print_insn_mep.
17299
17300 2017-01-26  Pedro Alves  <palves@redhat.com>
17301             Yao Qi  <yao.qi@linaro.org>
17302
17303         * arm-tdep.c: Include "disasm.h".
17304         (gdb_print_insn_arm): Update code to get gdbarch.
17305         * disasm.c (dis_asm_read_memory): Change it to
17306         gdb_disassembler::dis_asm_read_memory.
17307         (dis_asm_memory_error): Likewise.
17308         (dis_asm_print_address): Likewise.
17309         (gdb_pretty_print_insn): Change it to
17310         gdb_disassembler::pretty_print_insn.
17311         (dump_insns): Add one argument gdb_disassemlber.  All
17312         callers updated.
17313         (do_mixed_source_and_assembly_deprecated): Likewise.
17314         (do_mixed_source_and_assembly): Likewise.
17315         (do_assembly_only): Likewise.
17316         (gdb_disassembler::gdb_disassembler): New.
17317         (gdb_disassembler::print_insn): New.
17318         * disasm.h (class gdb_disassembler): New.
17319         (gdb_pretty_print_insn): Remove declaration.
17320         (gdb_disassemble_info): Likewise.
17321         * guile/scm-disasm.c (class gdbscm_disassembler): New.
17322         (gdbscm_disasm_read_memory_worker): Update.
17323         (gdbscm_disasm_read_memory): Update.
17324         (gdbscm_disasm_memory_error): Remove.
17325         (gdbscm_disasm_print_address): Remove.
17326         (gdbscm_disassembler::gdbscm_disassembler): New.
17327         (gdbscm_print_insn_from_port): Update.
17328         * mips-tdep.c: Include disasm.h.
17329         (gdb_print_insn_mips): Update code to get gdbarch.
17330         * record-btrace.c (btrace_insn_history): Update.
17331         * spu-tdep.c: Include disasm.h.
17332         (struct spu_dis_asm_data): Remove.
17333         (struct spu_dis_asm_info): New.
17334         (spu_dis_asm_print_address): Use spu_dis_asm_info to get
17335         SPU id.
17336         (gdb_print_insn_spu): Cast disassemble_info to
17337         spu_dis_asm_info.
17338
17339 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17340
17341         * disasm.c (do_ui_file_delete): Delete.
17342         (gdb_insn_length): Move code creating stream to ...
17343         * utils.c (null_stream): ... here.  New function.
17344         * utils.h (null_stream): Declare.
17345
17346 2017-01-23  Simon Marchi  <simon.marchi@polymtl.ca>
17347
17348         * python/py-inferior.c (find_thread_object): Return directly
17349         from the loop.  Remove "found" variable.
17350
17351 2017-01-21  Joel Brobecker  <brobecker@adacore.com>
17352
17353         GDB 7.12.1 released.
17354
17355 2017-01-20  Simon Marchi  <simon.marchi@ericsson.com>
17356
17357         * python/py-function.c (fnpy_call): Reorder declarations to have
17358         the gdbpy_enter object declared first.
17359         * python/py-xmethods.c (gdbpy_get_xmethod_arg_types): Likewise.
17360
17361 2017-01-20  Simon Marchi  <simon.marchi@ericsson.com>
17362
17363         PR python/21068
17364         * python/python-internal.h (PyMem_RawMalloc): Define for
17365         Python < 3.4.
17366         * python/py-gdb-readline.c (gdbpy_readline_wrapper): Use
17367         PyMem_RawMalloc instead of PyMem_Malloc.
17368
17369 2017-01-20  Mike Wrighton  <mike_wrighton@codesourcery.com>
17370             Luis Machado  <lgustavo@codesourcery.com>
17371
17372         * NEWS (New commands): Mention flash-erase.
17373         (New MI commands): Mention target-flash-erase.
17374         * mi/mi-cmds.c (mi_cmd_target_flash_erase): Add target-flash-erase MI
17375         command.
17376         * mi/mi-cmds.h (mi_cmd_target_flash_erase): New declaration.
17377         * mi/mi-main.c (mi_cmd_target_flash_erase): New function.
17378         * target.c (flash_erase_command): New function.
17379         (initialize_targets): Add new flash-erase command.
17380         * target.h (flash_erase_command): New declaration.
17381
17382 2017-01-20  Joel Brobecker  <brobecker@adacore.com>
17383
17384         * nat/linux-ptrace.c: Only include <sys/procfs.h> if
17385         HAVE_SYS_PROCFS_H is defined.
17386
17387 2017-01-18  Alan Hayward  <alan.hayward@arm.com>
17388
17389         * remote.c (struct cached_reg): Change data into a pointer.
17390         * (stop_reply_dtr): Free data pointers before deleting vector.
17391         (process_stop_reply): Likewise.
17392         (remote_parse_stop_reply): Allocate space for data
17393
17394 2017-01-18  Alan Hayward  <alan.hayward@arm.com>
17395
17396         * amd64-tdep.c (amd64_pseudo_register_read_value): remove
17397         MAX_REGISTER_SIZE.
17398         (amd64_pseudo_register_read_value): Likewise.
17399         * remote.c (fetch_register_using_p): Remove MAX_REGISTER_SIZE.
17400         (store_register_using_P): Likewise.
17401         * regcache.c (regcache_xfer_part): Likewise.
17402
17403 2017-01-16  Ivo Raisr  <ivo.raisr@oracle.com>
17404
17405         Split real and pseudo registers.
17406         * sparc-tdep.h (SPARC_CORE_REGISTERS): New macro.
17407         (sparc32_pseudo_regnum): New enum.
17408         * sparc64-tdep.h (sparc64_pseudo_regnum): New enum.
17409         * sparc-tdep.c (SPARC32_FPU_REGISTERS): New macro.
17410         (SPARC32_CP0_REGISTERS): New macro.
17411         (sparc32_pseudo_register_name): New function.
17412         (sparc32_register_name): Use sparc32_pseudo_register_name.
17413         (sparc32_pseudo_register_type): New function.
17414         (sparc32_register_type): Use sparc32_pseudo_register_type.
17415         (sparc32_pseudo_register_read, sparc32_pseudo_register_write): Handle
17416         pseudo register numbers.
17417         * sparc64-tdep.c SPARC64_FPU_REGISTERS): New macro.
17418         (SPARC64_CP0_REGISTERS): New macro.
17419         (sparc64_pseudo_register_name): New function.
17420         (sparc64_register_name): Use sparc64_pseudo_register_name.
17421         (sparc64_pseudo_register_type): New function.
17422         (sparc64_register_type): Use sparc64_pseudo_register_type.
17423         (sparc64_pseudo_register_read, sparc64_pseudo_register_write): Handle
17424         pseudo register numbers.
17425         (sparc64_store_floating_fields, sparc64_extract_floating_fields,
17426         sparc64_store_arguments): Handle pseudo register numbers.
17427
17428 2017-01-13  Yao Qi  <yao.qi@linaro.org>
17429
17430         * remote.c (REMOTE_DEBUG_MAX_CHAR): New macro.
17431         (putpkt_binary): Print only REMOTE_DEBUG_MAX_CHAR chars in debug
17432         output.
17433         (getpkt_or_notif_sane_1): Likewise.
17434
17435 2017-01-13  Yao Qi  <yao.qi@linaro.org>
17436
17437         * Makefile.in (checker-headers): Use CXX and CXX_DIALET instead
17438         of CC.  Pass "-x c++-header" instead of "-x c".
17439
17440 2017-01-12  Simon Marchi  <simon.marchi@ericsson.com>
17441
17442         * remote.c (remote_can_async_p): Update comment.
17443
17444 2017-01-12  Simon Marchi  <simon.marchi@ericsson.com>
17445
17446         * linux-nat.c (linux_nat_can_async_p): Update comment.
17447
17448 2017-01-12  Simon Marchi  <simon.marchi@ericsson.com>
17449
17450         * serial.c (serial_open): Forget about "pc" and "lpt" serial interface.
17451
17452 2017-01-11  Simon Marchi  <simon.marchi@ericsson.com>
17453
17454         * cli/cli-decode.c (lookup_cmd_1): Fix typo in comment.
17455
17456 2017-01-10  Tom Tromey  <tom@tromey.com>
17457
17458         * python/py-type.c (typy_legacy_template_argument): Update.
17459         * cp-support.h (struct demangle_parse_info) (demangle_parse_info,
17460         ~demangle_parse_info): Declare new members.
17461         (cp_demangled_name_to_comp): Return unique_ptr.
17462         (cp_demangled_name_parse_free)
17463         (make_cleanup_cp_demangled_name_parse_free)
17464         (cp_new_demangle_parse_info): Remove.
17465         * cp-support.c (do_demangled_name_parse_free_cleanup)
17466         (make_cleanup_cp_demangled_name_parse_free): Remove.
17467         (inspect_type, cp_canonicalize_string_full)
17468         (cp_canonicalize_string): Update.
17469         (mangled_name_to_comp): Change return type.
17470         (cp_class_name_from_physname, method_name_from_physname)
17471         (cp_func_name, cp_remove_params): Update.
17472         * cp-name-parser.y (demangle_parse_info): New constructor, from
17473         cp_new_demangle_parse_info.
17474         (~demangle_parse_info): New destructor, from
17475         cp_demangled_name_parse_free.
17476         (cp_merge_demangle_parse_infos): Update.
17477         (cp_demangled_name_to_comp): Change return type.
17478
17479 2017-01-10  Tom Tromey  <tom@tromey.com>
17480
17481         * top.c (prevent_dont_repeat): Change return type.
17482         * python/python.c (execute_gdb_command): Use std::string.
17483         Update.
17484         * guile/guile.c (gdbscm_execute_gdb_command): Update.
17485         * command.h (prevent_dont_repeat): Change return type.
17486         * breakpoint.c (bpstat_do_actions_1): Update.
17487
17488 2017-01-10  Tom Tromey  <tom@tromey.com>
17489
17490         * value.h (scoped_value_mark::~scoped_value_mark): Call
17491         free_to_mark.
17492         (scoped_value_mark::free_to_mark): New method.
17493         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use
17494         scoped_value_mark.
17495
17496 2017-01-10  Tom Tromey  <tom@tromey.com>
17497
17498         * python/py-value.c (valpy_dereference, valpy_referenced_value)
17499         (valpy_reference_value, valpy_const_value, valpy_get_address)
17500         (valpy_get_dynamic_type, valpy_lazy_string, valpy_do_cast)
17501         (valpy_getitem, valpy_call, valpy_binop_throw, valpy_negative)
17502         (valpy_absolute, valpy_richcompare_throw): Use scoped_value_mark.
17503         * dwarf2loc.c (dwarf2_loc_desc_get_symbol_read_needs): Use
17504         scoped_value_mark.
17505         * dwarf2-frame.c (execute_stack_op): Use scoped_value_mark.
17506         * value.h (scoped_value_mark): New class.
17507
17508 2017-01-10  Tom Tromey  <tom@tromey.com>
17509
17510         * dwarf2read.c (dwarf2_build_psymtabs): Use psymtab_discarder.
17511         * psympriv.h (make_cleanup_discard_psymtabs): Don't declare.
17512         * psymtab.c (discard_psymtabs_upto): Remove.
17513         (make_cleanup_discard_psymtabs): Remove.
17514         (struct psymtab_state): Remove.
17515
17516 2017-01-10  Tom Tromey  <tom@tromey.com>
17517
17518         * record-full.c (record_full_save_cleanups): Remove.
17519         (record_full_save): Use gdb::unlinker.
17520         * gcore.c (do_bfd_delete_cleanup): Remove.
17521         (gcore_command): Use gdb::unlinker, unique_xmalloc_ptr.  Remove
17522         cleanups.
17523         * dwarf2read.c (unlink_if_set): Remove.
17524         (write_psymtabs_to_index): Use gdb::unlinker.
17525         * common/gdb_unlinker.h: New file.
17526
17527 2017-01-10  Tom Tromey  <tom@tromey.com>
17528
17529         * windows-tdep.c (windows_xfer_shared_library): Update.
17530         * windows-nat.c (windows_make_so): Update.
17531         * utils.h (make_cleanup_bfd_unref): Remove.
17532         * utils.c (do_bfd_close_cleanup, make_cleanup_bfd_unref): Remove.
17533         * symfile.h (symfile_bfd_open)
17534         (find_separate_debug_file_in_section): Return gdb_bfd_ref_ptr.
17535         * symfile.c (read_symbols, symbol_file_add)
17536         (separate_debug_file_exists): Update.
17537         (symfile_bfd_open): Return gdb_bfd_ref_ptr.
17538         (generic_load, reread_symbols): Update.
17539         * symfile-mem.c (symbol_file_add_from_memory): Update.
17540         * spu-linux-nat.c (spu_bfd_open): Return gdb_bfd_ref_ptr.
17541         (spu_symbol_file_add_from_memory): Update.
17542         * solist.h (struct target_so_ops) <bfd_open>: Return
17543         gdb_bfd_ref_ptr.
17544         (solib_bfd_fopen, solib_bfd_open): Return gdb_bfd_ref_ptr.
17545         * solib.c (solib_bfd_fopen, solib_bfd_open): Return
17546         gdb_bfd_ref_ptr.
17547         (solib_map_sections, reload_shared_libraries_1): Update.
17548         * solib-svr4.c (enable_break): Update.
17549         * solib-spu.c (spu_bfd_fopen): Return gdb_bfd_ref_ptr.
17550         * solib-frv.c (enable_break2): Update.
17551         * solib-dsbt.c (enable_break): Update.
17552         * solib-darwin.c (gdb_bfd_mach_o_fat_extract): Return
17553         gdb_bfd_ref_ptr.
17554         (darwin_solib_get_all_image_info_addr_at_init): Update.
17555         (darwin_bfd_open): Return gdb_bfd_ref_ptr.
17556         * solib-aix.c (solib_aix_bfd_open): Return gdb_bfd_ref_ptr.
17557         * record-full.c (record_full_save): Update.
17558         * python/py-objfile.c (objfpy_add_separate_debug_file): Update.
17559         * procfs.c (insert_dbx_link_bpt_in_file): Update.
17560         * minidebug.c (find_separate_debug_file_in_section): Return
17561         gdb_bfd_ref_ptr.
17562         * machoread.c (macho_add_oso_symfile): Change abfd to
17563         gdb_bfd_ref_ptr.
17564         (macho_symfile_read_all_oso): Update.
17565         (macho_check_dsym): Return gdb_bfd_ref_ptr.
17566         (macho_symfile_read): Update.
17567         * jit.c (bfd_open_from_target_memory): Return gdb_bfd_ref_ptr.
17568         (jit_bfd_try_read_symtab): Update.
17569         * gdb_bfd.h (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
17570         (gdb_bfd_openw, gdb_bfd_openr_iovec)
17571         (gdb_bfd_openr_next_archived_file, gdb_bfd_fdopenr): Return
17572         gdb_bfd_ref_ptr.
17573         (gdb_bfd_ref_policy): New struct.
17574         (gdb_bfd_ref_ptr): New typedef.
17575         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
17576         (gdb_bfd_openw, gdb_bfd_openr_iovec)
17577         (gdb_bfd_openr_next_archived_file, gdb_bfd_fdopenr): Return
17578         gdb_bfd_ref_ptr.
17579         * gcore.h (create_gcore_bfd): Return gdb_bfd_ref_ptr.
17580         * gcore.c (create_gcore_bfd): Return gdb_bfd_ref_ptr.
17581         (gcore_command): Update.
17582         * exec.c (exec_file_attach): Update.
17583         * elfread.c (elf_symfile_read): Update.
17584         * dwarf2read.c (dwarf2_get_dwz_file): Update.
17585         (try_open_dwop_file, open_dwo_file): Return gdb_bfd_ref_ptr.
17586         (open_and_init_dwo_file): Update.
17587         (open_dwp_file): Return gdb_bfd_ref_ptr.
17588         (open_and_init_dwp_file): Update.
17589         * corelow.c (core_open): Update.
17590         * compile/compile-object-load.c (compile_object_load): Update.
17591         * common/gdb_ref_ptr.h (ref_ptr::operator->): New operator.
17592         * coffread.c (coff_symfile_read): Update.
17593         * cli/cli-dump.c (bfd_openr_or_error, bfd_openw_or_error): Return
17594         gdb_bfd_ref_ptr.  Rename.
17595         (dump_bfd_file, restore_command): Update.
17596         * build-id.h (build_id_to_debug_bfd): Return gdb_bfd_ref_ptr.
17597         * build-id.c (build_id_to_debug_bfd): Return gdb_bfd_ref_ptr.
17598         (find_separate_debug_file_by_buildid): Update.
17599
17600 2017-01-10  Tom Tromey  <tom@tromey.com>
17601
17602         * common/gdb_ref_ptr.h: New file.
17603         * python/py-ref.h (struct gdbpy_ref_policy): New.
17604         (gdbpy_ref): Now a typedef.
17605
17606 2017-01-10  Tom Tromey  <tom@tromey.com>
17607
17608         * utils.h (make_cleanup_htab_delete): Don't declare.
17609         * utils.c (do_htab_delete_cleanup, make_cleanup_htab_delete):
17610         Remove.
17611         * linespec.c (decode_compound_collector): Add constructor,
17612         destructor.
17613         (lookup_prefix_sym): Remove cleanup.
17614         (symtab_collector): Add constructor, destructor.
17615         (collect_symtabs_from_filename): Remove cleanup.
17616         * disasm.c (do_mixed_source_and_assembly): Use htab_up.
17617         * compile/compile-c-symbols.c (generate_c_for_variable_locations):
17618         Use htab_up.
17619         * gnu-v3-abi.c (gnuv3_print_vtable): Use htab_up.
17620         * dwarf2read.c (dw2_expand_symtabs_matching)
17621         (dw2_map_symbol_filenames, dwarf_decode_macros)
17622         (write_psymtabs_to_index): Use htab_up.
17623         * dwarf2loc.c (func_verify_no_selftailcall)
17624         (call_site_find_chain_1, func_verify_no_selftailcall)
17625         (chain_candidate, call_site_find_chain_1): Use std::unordered_set,
17626         std::vector, gdb::unique_xmalloc_ptr.
17627         (call_sitep): Remove typedef.
17628         (dwarf2_locexpr_baton_eval): Remove unused variable.
17629
17630 2017-01-10  Tom Tromey  <tom@tromey.com>
17631
17632         * python/python-internal.h (make_cleanup_py_decref)
17633         (make_cleanup_py_xdecref): Don't declare.
17634         * python/py-utils.c (py_decref, make_cleanup_py_decref)
17635         (py_xdecref, make_cleanup_py_xdecref): Remove.
17636
17637 2017-01-10  Tom Tromey  <tom@tromey.com>
17638
17639         * python/py-framefilter.c (py_mi_print_variables): Use gdbpy_ref.
17640         (py_print_locals, enumerate_locals, py_print_args): Use gdbpy_ref.
17641
17642 2017-01-10  Tom Tromey  <tom@tromey.com>
17643
17644         * python/py-framefilter.c (enumerate_args): Use gdbpy_ref.
17645
17646 2017-01-10  Tom Tromey  <tom@tromey.com>
17647
17648         * python/py-utils.c (unicode_to_encoded_string)
17649         (python_string_to_target_string)
17650         (python_string_to_target_python_string)
17651         (python_string_to_host_string, gdbpy_obj_to_string)
17652         (get_addr_from_python): Use gdbpy_ref.
17653
17654 2017-01-10  Tom Tromey  <tom@tromey.com>
17655
17656         * python/py-unwind.c (pyuw_object_attribute_to_pointer): Use
17657         gdbpy_ref.
17658
17659 2017-01-10  Tom Tromey  <tom@tromey.com>
17660
17661         * python/python.c (eval_python_command, gdbpy_decode_line)
17662         (gdbpy_run_events, gdbpy_start_type_printers)
17663         (gdbpy_apply_type_printers): Use gdbpy_ref.
17664
17665 2017-01-10  Tom Tromey  <tom@tromey.com>
17666
17667         * python/py-param.c (get_doc_string, compute_enum_values): Use
17668         gdbpy_ref.
17669
17670 2017-01-10  Tom Tromey  <tom@tromey.com>
17671
17672         * python/py-inferior.c (find_thread_object, build_inferior_list):
17673         Use gdbpy_ref.
17674
17675 2017-01-10  Tom Tromey  <tom@tromey.com>
17676
17677         * python/py-framefilter.c (py_print_frame): Use gdbpy_ref.
17678
17679 2017-01-10  Tom Tromey  <tom@tromey.com>
17680
17681         * python/py-finishbreakpoint.c (bpfinishpy_out_of_scope): Use
17682         gdbpy_ref.
17683
17684 2017-01-10  Tom Tromey  <tom@tromey.com>
17685
17686         * python/py-cmd.c (cmdpy_completer_helper): Use gdbpy_ref.  Remove
17687         extra incref.
17688         (cmdpy_completer_handle_brkchars, cmdpy_completer, cmdpy_init):
17689         Use gdbpy_ref.
17690
17691 2017-01-10  Tom Tromey  <tom@tromey.com>
17692
17693         * python/py-breakpoint.c (gdbpy_breakpoint_cond_says_stop): Use
17694         gdbpy_ref.
17695
17696 2017-01-10  Tom Tromey  <tom@tromey.com>
17697
17698         * python/py-arch.c (archpy_disassemble): Use gdbpy_ref.  Don't
17699         decref results of PyArg_ParseTupleAndKeywords.
17700
17701 2017-01-10  Tom Tromey  <tom@tromey.com>
17702
17703         * python/python.c (python_run_simple_file): Use
17704         unique_xmalloc_ptr, gdbpy_ref.
17705
17706 2017-01-10  Tom Tromey  <tom@tromey.com>
17707
17708         * python/py-prettyprint.c (print_stack_unless_memory_error)
17709         (print_string_repr, print_children): Use gdbpy_ref.
17710         (dummy_python_frame): New class.
17711         (dummy_python_frame::dummy_python_frame): Rename from
17712         push_dummy_python_frame.
17713         (py_restore_tstate): Remove.
17714
17715 2017-01-10  Tom Tromey  <tom@tromey.com>
17716
17717         * python/py-framefilter.c (py_print_frame): Use gdbpy_ref.
17718
17719 2017-01-10  Tom Tromey  <tom@tromey.com>
17720
17721         * python/python.c (ensure_python_env, restore_python_env):
17722         Remove.
17723         * python/python-internal.h (ensure_python_env): Don't declare.
17724         * varobj.h (varobj_ensure_python_env): Don't declare.
17725         * varobj.c (varobj_ensure_python_env): Remove.
17726
17727 2017-01-10  Tom Tromey  <tom@tromey.com>
17728
17729         * varobj.c (varobj_value_get_print_value): Use
17730         gdbpy_enter_varobj.
17731
17732 2017-01-10  Tom Tromey  <tom@tromey.com>
17733
17734         * python/py-prettyprint.c (print_string_repr, print_children):
17735         Update.
17736         * python/py-lazy-string.c (gdbpy_extract_lazy_string): Change type
17737         of "encoding".
17738         * varobj.c (varobj_value_get_print_value): Update.
17739         * python/python-internal.h (gdbpy_extract_lazy_string): Update.
17740
17741 2017-01-10  Tom Tromey  <tom@tromey.com>
17742
17743         * varobj.c (varobj_get_display_hint)
17744         (dynamic_varobj_has_child_method, install_new_value_visualizer)
17745         (varobj_set_visualizer, free_variable): Use
17746         gdbpy_enter_varobj.
17747
17748 2017-01-10  Tom Tromey  <tom@tromey.com>
17749
17750         * python/python.c (python_command): Use gdbpy_enter, gdbpy_ref.
17751         (do_finish_initialization): New function.  Use gdbpy_ref.
17752         (gdbpy_finish_initialization): Use gdbpy_enter.  Call
17753         do_finish_initialization.
17754
17755 2017-01-10  Tom Tromey  <tom@tromey.com>
17756
17757         * python/py-param.c (get_set_value, get_show_value): Use
17758         gdbpy_enter, gdbpy_ref.
17759
17760 2017-01-10  Tom Tromey  <tom@tromey.com>
17761
17762         * python/py-function.c (fnpy_call): Use gdbpy_enter, gdbpy_ref.
17763
17764 2017-01-10  Tom Tromey  <tom@tromey.com>
17765
17766         * python/py-cmd.c (cmdpy_function): Use gdbpy_enter, gdbpy_ref.
17767
17768 2017-01-10  Tom Tromey  <tom@tromey.com>
17769
17770         * python/py-varobj.c (py_varobj_iter_dtor, py_varobj_iter_next):
17771         Use gdbpy_enter_varobj.
17772
17773 2017-01-10  Tom Tromey  <tom@tromey.com>
17774
17775         * varobj.c (gdbpy_enter_varobj): New constructor.
17776         * python/python-internal.h (gdbpy_enter_varobj): New class.
17777         * python/py-varobj.c (py_varobj_get_iterator): Use
17778         gdbpy_enter_varobj.
17779
17780 2017-01-10  Tom Tromey  <tom@tromey.com>
17781
17782         * python/py-xmethods.c (gdbpy_get_xmethod_result_type): Use
17783         gdbpy_enter, gdbpy_ref, unique_xmalloc_ptr.
17784         (gdbpy_invoke_xmethod): Use gdbpy_ref, gdbpy_enter.
17785         (gdbpy_get_xmethod_arg_types): Use gdbpy_ref,
17786         unique_xmalloc_ptr.
17787         (gdbpy_get_xmethod_arg_types): Use gdbpy_ref, gdbpy_enter.
17788
17789 2017-01-10  Tom Tromey  <tom@tromey.com>
17790
17791         * python/py-xmethods.c (invoke_match_method): Use
17792         gdbpy_ref.
17793
17794 2017-01-10  Tom Tromey  <tom@tromey.com>
17795
17796         * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers): use
17797         gdbpy_enter, gdbpy_ref.
17798
17799 2017-01-10  Tom Tromey  <tom@tromey.com>
17800
17801         * python/python.c (python_interactive_command): Use gdbpy_enter.
17802
17803 2017-01-10  Tom Tromey  <tom@tromey.com>
17804
17805         * python/python.c (gdbpy_before_prompt_hook): Use gdbpy_enter,
17806         gdbpy_ref.
17807
17808 2017-01-10  Tom Tromey  <tom@tromey.com>
17809
17810         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Use
17811         gdbpy_enter, gdbpy_ref, unique_xmalloc_ptr.
17812
17813 2017-01-10  Tom Tromey  <tom@tromey.com>
17814
17815         * utils.h (htab_deleter): New struct.
17816         (htab_up): New typedef.
17817         * python/py-framefilter.c (gdbpy_apply_frame_filter): Use
17818         gdbpy_enter, gdbpy_ref, htab_up.
17819
17820 2017-01-10  Tom Tromey  <tom@tromey.com>
17821
17822         * python/py-unwind.c (pending_frame_invalidate): Remove.
17823         (pyuw_sniffer): Use gdbpy_enter and gdbpy_ref.
17824
17825 2017-01-10  Tom Tromey  <tom@tromey.com>
17826
17827         * python/py-xmethods.c (gdbpy_free_xmethod_worker_data)
17828         (gdbpy_clone_xmethod_worker_data): Use gdbpy_enter.
17829
17830 2017-01-10  Tom Tromey  <tom@tromey.com>
17831
17832         * python/py-type.c (save_objfile_types): Use gdbpy_enter.
17833
17834 2017-01-10  Tom Tromey  <tom@tromey.com>
17835
17836         * python/python.c (gdbpy_eval_from_control_command)
17837         (gdbpy_source_script, gdbpy_run_events)
17838         (gdbpy_source_objfile_script, gdbpy_execute_objfile_script)
17839         (gdbpy_free_type_printers, gdbpy_finish_initialization): Use
17840         gdbpy_enter.
17841
17842 2017-01-10  Tom Tromey  <tom@tromey.com>
17843
17844         * python/py-progspace.c (py_free_pspace): Use gdbpy_enter.
17845
17846 2017-01-10  Tom Tromey  <tom@tromey.com>
17847
17848         * python/py-objfile.c (py_free_objfile): Use gdbpy_enter.
17849
17850 2017-01-10  Tom Tromey  <tom@tromey.com>
17851
17852         * python/py-inferior.c (python_on_normal_stop, python_on_resume)
17853         (python_on_inferior_call_pre, python_on_inferior_call_post)
17854         (python_on_memory_change, python_on_register_change)
17855         (python_inferior_exit, python_new_objfile, add_thread_object)
17856         (delete_thread_object, py_free_inferior): Use gdbpy_enter.
17857
17858 2017-01-10  Tom Tromey  <tom@tromey.com>
17859
17860         * python/py-finishbreakpoint.c (bpfinishpy_handle_stop)
17861         (bpfinishpy_handle_exit): Use gdbpy_enter.
17862
17863 2017-01-10  Tom Tromey  <tom@tromey.com>
17864
17865         * python/py-cmd.c (cmdpy_destroyer)
17866         (cmdpy_completer_handle_brkchars, cmdpy_completer): Use
17867         gdbpy_enter.
17868
17869 2017-01-10  Tom Tromey  <tom@tromey.com>
17870
17871         * python/py-breakpoint.c (gdbpy_breakpoint_cond_says_stop): Use
17872         gdbpy_enter.
17873         (gdbpy_breakpoint_has_cond): Likewise.
17874
17875 2017-01-10  Tom Tromey  <tom@tromey.com>
17876
17877         * python/python.c (gdbpy_enter): New constructor.
17878         (~gdbpy_enter): New destructor.
17879         (restore_python_env, ensure_python_env): Rewrite.
17880         * python/python-internal.h (gdbpy_enter): New class.
17881
17882 2017-01-10  Tom Tromey  <tom@tromey.com>
17883
17884         * python/py-symbol.c (gdbpy_lookup_symbol): Use gdbpy_ref.
17885
17886 2017-01-10  Tom Tromey  <tom@tromey.com>
17887
17888         * python/py-value.c (value_has_field, get_field_flag)
17889         (get_field_type, valpy_getitem, convert_value_from_python): Use
17890         gdbpy_ref.
17891
17892 2017-01-10  Tom Tromey  <tom@tromey.com>
17893
17894         * python/python.c (gdbpy_progspaces, gdbpy_objfiles): Use
17895         gdbpy_ref.
17896
17897 2017-01-10  Tom Tromey  <tom@tromey.com>
17898
17899         * python/py-prettyprint.c (search_pp_list)
17900         (find_pretty_printer_from_objfiles)
17901         (find_pretty_printer_from_progspace)
17902         (find_pretty_printer_from_gdb, find_pretty_printer)
17903         (gdbpy_get_display_hint, gdbpy_get_varobj_pretty_printer): Use
17904         gdbpy_ref.
17905
17906 2017-01-10  Tom Tromey  <tom@tromey.com>
17907
17908         * python/py-param.c (call_doc_function): Use gdbpy_ref.
17909
17910 2017-01-10  Tom Tromey  <tom@tromey.com>
17911
17912         * python/py-linetable.c (build_line_table_tuple_from_pcs)
17913         (ltpy_get_all_source_lines): Use gdbpy_ref.
17914
17915 2017-01-10  Tom Tromey  <tom@tromey.com>
17916
17917         * python/py-framefilter.c (extract_sym, extract_value)
17918         (get_py_iter_from_func, bootstrap_python_frame_filters): Use
17919         gdbpy_ref.
17920
17921 2017-01-10  Tom Tromey  <tom@tromey.com>
17922
17923         * python/py-breakpoint.c (gdbpy_breakpoints): Use gdbpy_ref.
17924
17925 2017-01-10  Tom Tromey  <tom@tromey.com>
17926
17927         * python/py-inferior.c (gdbpy_inferiors): Use gdbpy_ref.
17928
17929 2017-01-10  Tom Tromey  <tom@tromey.com>
17930
17931         * python/py-function.c (convert_values_to_python, fnpy_init): Use
17932         gdbpy_ref.
17933
17934 2017-01-10  Tom Tromey  <tom@tromey.com>
17935
17936         * python/py-cmd.c (gdbpy_string_to_argv): Use gdbpy_ref.
17937
17938 2017-01-10  Tom Tromey  <tom@tromey.com>
17939
17940         * python/py-type.c (convert_field, make_fielditem, typy_fields)
17941         (typy_range): Use gdbpy_ref.
17942
17943 2017-01-10  Tom Tromey  <tom@tromey.com>
17944
17945         * python/py-threadevent.c (create_thread_event_object): Use
17946         gdbpy_ref.
17947         * python/py-stopevent.c (create_stop_event_object): Simplify.
17948         (emit_stop_event): Use gdbpy_ref.
17949         * python/py-signalevent.c (create_signal_event_object): Use
17950         gdbpy_ref.
17951         * python/py-newobjfileevent.c (create_new_objfile_event_object)
17952         (emit_new_objfile_event, create_clear_objfiles_event_object)
17953         (emit_clear_objfiles_event): Use gdbpy_ref.
17954         * python/py-infevents.c (create_inferior_call_event_object)
17955         (create_register_changed_event_object)
17956         (create_memory_changed_event_object, emit_inferior_call_event)
17957         (emit_memory_changed_event, emit_register_changed_event): Use
17958         gdbpy_ref.
17959         * python/py-exitedevent.c (create_exited_event_object)
17960         (emit_exited_event): Use gdbpy_ref.
17961         * python/py-event.h (evpy_emit_event): Remove
17962         CPYCHECKER_STEALS_REFERENCE_TO_ARG annotation.
17963         * python/py-event.c (evpy_emit_event): Use gdbpy_ref.
17964         * python/py-continueevent.c (emit_continue_event): Use
17965         gdbpy_ref.
17966         * python/py-breakpoint.c (gdbpy_breakpoint_created)
17967         (gdbpy_breakpoint_deleted, gdbpy_breakpoint_modified): Use
17968         gdbpy_ref.
17969         * python/py-bpevent.c (create_breakpoint_event_object): Use
17970         gdbpy_ref.
17971
17972 2017-01-10  Tom Tromey  <tom@tromey.com>
17973
17974         * python/py-ref.h: New file.
17975
17976 2017-01-10  Simon Marchi  <simon.marchi@ericsson.com>
17977
17978         * cli-out.c (cli_ui_out::do_redirect): Change return type to
17979         void.
17980         * cli-out.h (cli_ui_out::do_redirect): Likewise.
17981         * mi/mi-out.c (mi_ui_out::do_redirect): Likewise.
17982         * mi/mi-out.h (mi_ui_out::do_redirect): Likewise.
17983         * ui-out.c (ui_out::redirect): Likewise.
17984         * ui-out.h (ui_out::redirect, ui_out::do_redirect): Likewise.
17985         * cli/cli-logging.c (set_logging_redirect): Update call site of
17986         ui_out::redirect.
17987         (handle_redirections): Likewise.
17988         * scm-ports.c (ioscm_with_output_to_port_worker): Likewise.
17989         * top.c (execute_command_to_string): Likewise.
17990         * utils.c (do_ui_out_redirect_pop): Likewise.
17991
17992 2017-01-10  Simon Marchi  <simon.marchi@ericsson.com>
17993
17994         * stack.c (_initialize_stack): Update "frame" command help message.
17995
17996 2017-01-08  Iain Buclaw  <ibuclaw@gdcproject.org>
17997
17998         * d-exp.y (CastExpression): Emit UNOP_CAST_TYPE.
17999
18000 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18001
18002         * x86-linux-nat.h: Include gdb_proc_service.h.
18003
18004 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18005
18006         * ser-base.h: Include serial.h.
18007
18008 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18009
18010         * ppc-linux-tdep.h: Include ppc-tdep.h.
18011
18012 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18013
18014         * nat/amd64-linux-siginfo.h: Include signal.h.
18015
18016 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18017
18018         * nat/aarch64-linux-hw-point.h: Include break-common.h.
18019
18020 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18021
18022         * mi/mi-parse.h: Include mi-cmds.h.
18023
18024 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18025
18026         * inf-loop.c: Don't include "target.h".
18027         * inf-loop.h: Include it here.
18028
18029 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18030
18031         * dfp.h: Include "dboulest.h" and "expression.h".
18032
18033 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18034
18035         * ax-gdb.h: Include "ax.h".
18036
18037 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18038
18039         * Makefile.in (HFILES_NO_SRCDIR): Replace gdb_ptrace.h
18040         with nat/gdb_ptrace.h.
18041
18042 2017-01-05  Yao Qi  <yao.qi@linaro.org>
18043
18044         * mips-fbsd-tdep.c (mips_fbsd_sigframe_init): Move && to
18045         new line.
18046         (mips64_fbsd_sigframe_init): Likewise.
18047
18048 2017-01-04  John Baldwin  <jhb@FreeBSD.org>
18049
18050         * mips-fbsd-tdep.c (_initialize_mips_fbsd_tdep): Use
18051         GDB_OSABI_FREEBSD instead of GDB_OSABI_FREEBSD_ELF.
18052
18053 2017-01-04  John Baldwin  <jhb@FreeBSD.org>
18054
18055         * Makefile.in (ALLDEPFILES): Add mips-fbsd-nat.c.
18056         * NEWS: Mention new FreeBSD/mips native configuration.
18057         * config/mips/fbsd.mh: New file.
18058         * configure.host: Add mips*-*-freebsd*.
18059         * mips-fbsd-nat.c: New file.
18060
18061 2017-01-04  John Baldwin  <jhb@FreeBSD.org>
18062
18063         * Makefile.in (ALL_TARGET_OBS): Add mips-fbsd-tdep.o.
18064         (ALLDEPFILES): Add mips-fbsd-tdep.c.
18065         * NEWS: Mention new FreeBSD/mips target.
18066         * configure.tgt: Add mips*-*-freebsd*.
18067         * mips-fbsd-tdep.c: New file.
18068         * mips-fbsd-tdep.h: New file.
18069
18070 2017-01-04  Yao Qi  <yao.qi@linaro.org>
18071
18072         * dwarf2loc.c (write_pieced_value): Don't use VALUE_FRAME_ID (to),
18073         use c->frame_id when the piece location is DWARF_VALUE_REGISTER.
18074
18075 2017-01-01  Joel Brobecker  <brobecker@adacore.com>
18076
18077         Update copyright year range in all GDB files.
18078
18079 2017-01-01  Joel Brobecker  <brobecker@adacore.com>
18080
18081         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2016.
18082
18083 For older changes see ChangeLog-2016.
18084 \f
18085 Local Variables:
18086 mode: change-log
18087 left-margin: 8
18088 fill-column: 74
18089 version-control: never
18090 coding: utf-8
18091 End: