Fix typo in gdb_ari.sh
[external/binutils.git] / gdb / ChangeLog
1 2017-12-13  Simon Marchi  <simon.marchi@ericsson.com>
2
3         * contrib/ari/gdb_ari.sh: Fix typo in help.
4
5 2017-12-13  Joel Brobecker  <brobecker@adacore.com>
6
7         * event-top.c (handle_line_of_input): Set server_command.
8
9 2017-12-12  Stafford Horne  <shorne@gmail.com>
10             Stefan Wallentowitz  <stefan@wallentowitz.de>
11             Stefan Kristiansson  <stefan.kristiansson@saunalahti.fi>
12             Franck Jullien  <franck.jullien@gmail.com>
13             Jeremy Bennett  <jeremy.bennett@embecosm.com>
14
15         * configure.tgt: Add targets for or1k and or1knd.
16         * or1k-tdep.c: New file.
17         * or1k-tdep.h: New file.
18         * features/Makefile: Add or1k.xml to build.
19         * features/or1k.xml: New file.
20         * features/or1k-core.xml: New file.
21         * features/or1k.c: Generated.
22
23 2017-12-12  Alan Modra  <amodra@gmail.com>
24
25         PR tdep/22576
26         * ppc64-tdep.c (ppc64_plt_entry_point): Rewrite to take TOC-relative
27         PLT offset, and retrieve r2 from stack when executing in reverse.
28         (ppc64_standard_linkage1_target): Drop pc param.  Calculate offset
29         rather than PLT address.
30         (ppc64_standard_linkage2_target): Likewise.
31         (ppc64_standard_linkage3_target): Likewise.
32         (ppc64_standard_linkage4_target): Likewise.
33         (ppc64_skip_trampoline_code_1): Adjust to suit.
34
35 2017-12-11  Simon Marchi  <simon.marchi@ericsson.com>
36
37         PR gdb/22556
38         * remote.c (remote_thread_name): Return NULL if name is empty.
39         (remote_threads_extra_info): Return NULL if extra info is empty.
40
41 2017-12-11  Pedro Alves  <palves@redhat.com>
42
43         * defs.h (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index)
44         (elf_sym_fns_debug_names): Move to elfread.c.
45         * dwarf2read.c (dwarf2_initialize_objfile): Return a boolean
46         instead of a sym_fns and add 'index_kind' output parameter.  Fill
47         the latter in with the index variant kind if using an index.
48         (enum dw_index_kind): Moved to symfile.h.
49         * elfread.c (elf_sym_fns_gdb_index, elf_sym_fns_debug_names)
50         (elf_sym_fns_lazy_psyms): Move from defs.h.
51         (elf_symfile_read): Adjust to new dwarf2_initialize_objfile
52         interface.
53         * symfile.h (enum class dw_index_kind): New, moved from
54         dwarf2read.c.
55         (dwarf2_initialize_objfile): Change prototype.
56
57 2017-12-11  Ulrich Weigand  <uweigand@de.ibm.com>
58
59         * target-float.c (mpfr_float_ops::from_target): Use mpfr_set_ui
60         instead of mpfr_set_si to convert mantissa bits.
61
62 2017-12-11  Xavier Roirand <roirand@adacore.com>
63             Joel Brobecker  <brobecker@adacore.com>
64
65         * ada-lang.c (ada_tag_value_at_base_address): Change the way
66         tagged type base address is computed.
67         (enum ada_primitive_types) <ada_primitive_type_storage_offset>:
68         New enumerate.
69         (ada_language_arch_info): Set the ada_primitive_type_storage_offset
70         element of lai->primitive_type_vector.
71
72 2017-12-08  Pedro Alves  <palves@redhat.com>
73
74         * dwarf2read.c (mock_mapped_index): Reimplement as an extension of
75         mapped_index_base.
76         (check_match): Adjust to use mock_index directly.
77         (check_find_bounds_finds)
78         (test_mapped_index_find_name_component_bounds): Adjust to work
79         with a mapped_index_base.
80
81 2017-12-08  Pedro Alves  <palves@redhat.com>
82
83         * dwarf2read.c (struct mapped_index_base): New, partially factored
84         out from ...
85         (struct mapped_index): ... this.  Inherit mapped_index_base.
86         (mapped_index::symbol_name_slot_invalid):
87         (mapped_index::symbol_name_at): Add override marker.
88         (mapped_index::symbol_name_count): New.
89         (struct mapped_debug_names): Inherit mapped_index_base.
90         (mapped_debug_names::symbol_name_at): New.
91         (mapped_debug_names::symbol_name_count): New.
92         (mapped_index::find_name_components_bounds): Rename to ...
93         (mapped_index_base::find_name_components_bounds): ... this.
94         (mapped_index::build_name_components): Rename to ...
95         (mapped_index_base::build_name_components): ... this.  Adjust to
96         use mapped_index_base::symbol_name_count and
97         mapped_index_base::symbol_name_slot_invalid.
98         (dw2_expand_symtabs_matching_symbol): Take a mapped_index_base
99         instead of a mapped_index.  Use
100         dw2_expand_symtabs_matching_symbol.
101
102 2017-12-08  Pedro Alves  <palves@redhat.com>
103
104         * dwarf2read.c (mapped_index::symbol_table_slot): New.
105         (mapped_index::address_table): Now a gdb::array_view of const
106         gdb_byte.
107         (mapped_index::symbol_table): Now a gdb::array_view of
108         symbol_table_slot.
109         (mapped_index::address_table_size)
110         (mapped_index::symbol_table_slots): Delete.
111         (create_addrmap_from_index): Adjust.
112         (find_slot_in_mapped_hash): Adjust.
113         (read_index_from_section): Adjust.
114         (dwarf2_read_index): Adjust.
115
116 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
117             Pedro Alves  <palves@redhat.com>
118
119         * defs.h (elf_sym_fns_debug_names): New declaration.
120         * dwarf2read.c: Include "hash_enum.h".
121         (mapped_debug_names): New.
122         (struct dwarf2_per_objfile): Add debug_names, debug_aranges and
123         debug_names_table.
124         (dwarf2_elf_names): Add ".debug_names" and ".debug_aranges".
125         (struct dwz_file): Add debug_names.
126         (dwarf2_per_objfile::locate_sections): Handle debug_names and
127         debug_aranges.
128         (locate_dwz_sections): Handle debug_names.
129         (create_signatured_type_table_from_debug_names)
130         (create_addrmap_from_aranges): New.
131         (dwarf2_read_index): Update function comment.
132         (dwarf5_augmentation): Moved up.
133         (read_debug_names_from_section, create_cus_from_debug_names_list)
134         (create_cus_from_debug_names, dwarf2_read_debug_names): New.
135         (dwarf5_djb_hash): Moved up.
136         (dw2_debug_names_iterator): New.
137         (read_indirect_string_at_offset): New declaration.
138         (mapped_debug_names::namei_to_name)
139         (dw2_debug_names_iterator::find_vec_in_debug_names)
140         (dw2_debug_names_iterator::next, dw2_debug_names_lookup_symbol)
141         (dw2_debug_names_dump, dw2_debug_names_expand_symtabs_for_function)
142         (dw2_debug_names_expand_symtabs_matching, dwarf2_debug_names_functions):
143         New.
144         (dwarf2_initialize_objfile): Return also elf_sym_fns_debug_names.
145         (debug_names::djb_hash): Rename it to dwarf5_djb_hash.
146         (debug_names::build): Update djb_hash caller.
147         (write_debug_names): Move out and rename augmentation to
148         dwarf5_augmentation.
149         * elfread.c (elf_sym_fns_debug_names): New.
150         * psymtab.h (dwarf2_debug_names_functions): New declaration.
151         * symfile.h (struct dwarf2_debug_sections): Add debug_names and
152         debug_aranges.
153         * xcoffread.c (dwarf2_xcoff_names): Add debug_names and debug_aranges.
154
155 2017-12-08  Pedro Alves  <palves@redhat.com>
156
157         * common/hash_enum.h: New file.
158
159 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
160
161         * dwarf2read.c (create_cu_from_index_list): New from ...
162         (create_cus_from_index_list): ... this function, use it.
163         (dw_expand_symtabs_matching_file_matcher)
164         (dw2_expand_symtabs_matching_one): New from ...
165         (dw2_expand_symtabs_matching): ... this function, use them.
166
167 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
168
169         * defs.h (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index): Move here
170         declarations from elfread.c.
171         (dwarf2_initialize_objfile): Change return value.
172         * elfread.c (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index): Move these
173         declarations to defs.h.
174         (elf_symfile_read): Adjust dwarf2_initialize_objfile caller.
175         * symfile.h (dwarf2_initialize_objfile): Change return type.
176
177 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
178             Pedro Alves  <palves@redhat.com>
179
180         * contrib/gdb-add-index.sh (index): Rename to ...
181         (index4): ... here.
182         (index5, debugstr, debugstrmerge, debugstrerr): New variables.
183         Support also .debug_names and .debug_str.
184         * dwarf2read.c: Include cmath, set, list.
185         (INDEX_SUFFIX): Rename to ...
186         (INDEX4_SUFFIX): ... here.
187         (INDEX5_SUFFIX, DEBUG_STR_SUFFIX): New.
188         (file_write(FILE *, const void *, size_t)): New.
189         (file_write(FILE *, const std::vector<Elem, Alloc> &)): New.
190         (data_buf::append_unsigned_leb128, data_buf::empty): New.
191         (data_buf::file_write): Use ::file_write.
192         (data_buf::c_str, dwarf5_djb_hash, debug_names)
193         (check_dwarf64_offsets): New.
194         (psyms_seen_size, write_gdbindex): New from
195         write_psymtabs_to_index code.
196         (dwarf5_gdb_augmentation, write_debug_names, assert_file_size)
197         (enum dw_index_kind): New.
198         (write_psymtabs_to_index): New parameter index_kind.  Support
199         filename_str and out_file_str.  Move code to write_gdbindex,
200         possibly call write_debug_names.
201         (save_gdb_index_command): New parameter -dwarf-5.
202         (_initialize_dwarf2_read): Document the new parameter -dwarf-5.
203
204 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
205             Pedro Alves  <palves@redhat.com>
206
207         * contrib/cc-with-tweaks.sh: Change interpreter to bash, incl. initial
208         comment.
209         (GDB_ADD_INDEX): New variable.
210         <$want_index>: Call $GDB_ADD_INDEX.
211
212 2017-12-08  Sergio Durigan Junior  <sergiodj@redhat.com>
213
214         * dtrace-probe.c (dtrace_process_dof_probe): Do not declare a new
215         "expression_up" inside the TRY block.
216
217 2017-12-08  Yao Qi  <yao.qi@linaro.org>
218
219         * breakpoint.c (update_watchpoint): Call
220         address_significant.
221
222 2017-12-08  Yao Qi  <yao.qi@linaro.org>
223
224         * breakpoint.c (adjust_breakpoint_address): Call
225         address_significant.
226
227 2017-12-08  Yao Qi  <yao.qi@linaro.org>
228
229         * aarch64-tdep.c (aarch64_gdbarch_init): Install gdbarch
230         significant_addr_bit.
231         * gdbarch.sh (significant_addr_bit): New.
232         * gdbarch.c, gdbarch.h: Re-generated.
233         * target.c (memory_xfer_partial): Call address_significant.
234         * utils.c (address_significant): New function.
235         * utils.h (address_significant): Declare.
236
237 2017-12-08  Tom Tromey  <tom@tromey.com>
238
239         * printcmd.c (ui_printf): Update.  Use std::vector.
240         * common/format.h (struct format_piece): Add constructor.
241         <string>: Now const.
242         (class format_pieces): New class.
243         (parse_format_string, free_format_pieces)
244         (free_format_pieces_cleanup): Remove.
245         * common/format.c (format_pieces::format_pieces): Rename from
246         parse_format_string.  Update.
247         (free_format_pieces, free_format_pieces_cleanup): Remove.
248         * breakpoint.c (parse_cmd_to_aexpr): Update.  Use std::vector.
249         * ax-gdb.h (gen_printf): Remove argument.
250         * ax-gdb.c (gen_printf): Remove "frags" argument.
251         (maint_agent_printf_command): Update.  Use std::vector.
252
253 2017-12-08  Yao Qi  <yao.qi@linaro.org>
254
255         PR breakpionts/22567
256         * linespec.c (minsym_found): Set sal.section.
257
258 2017-12-08  Andreas Arnez  <arnez@linux.vnet.ibm.com>
259
260         * configure.tgt (s390*-*-linux*): Add symfile-mem.o.
261
262 2017-12-07  Keith Seitz  <keiths@redhat.com>
263
264         PR breakpoints/22569
265         * location.c (string_to_explicit_location): When terminating
266         parsing early, break out of enclosing loop instead of returning.
267
268 2017-12-07  Keith Seitz  <keiths@redhat.com>
269
270         * NEWS (New commands): Mention set/show print type nested-type-limit.
271         * c-typeprint.c (c_type_print_base): Print out nested types.
272         * dwarf2read.c (struct typedef_field_list): Rename to ...
273         (struct decl_field_list): ... this.  Change all uses.
274         (struct field_info) <nested_types_list, nested_types_list_count>:
275         New fields.
276         (add_partial_symbol): Look for nested type definitions in C++, too.
277         (dwarf2_add_typedef): Rename to ...
278         (dwarf2_add_type_defn): ... this.
279         (type_can_define_types): New function.
280         Update assertion to use type_can_define_types.
281         Permit NULL for a field's name.
282         (process_structure_scope): Handle child DIEs of types that can
283         define types.
284         Copy the list of nested types into the type struct.
285         * gdbtypes.h (struct typedef_field): Rename to ...
286         (struct decl_field): ... this.  Change all uses.
287         [is_protected, is_private]: New fields.
288         (struct cplus_struct_type) <nested_types, nested_types_count>: New
289         fields.
290         (TYPE_NESTED_TYPES_ARRAY, TYPE_NESTED_TYPES_FIELD)
291         (TYPE_NESTED_TYPES_FIELD_NAME, TYPE_NESTED_TYPES_FIELD_TYPE)
292         (TYPE_NESTED_TYPES_COUNT, TYPE_NESTED_TYPES_FIELD_PROTECTED)
293         (TYPE_NESTED_TYPES_FIELD_PRIVATE): New macros.
294         * typeprint.c (type_print_raw_options, default_ptype_flags): Add
295         default value for print_nested_type_limit.
296         (print_nested_type_limit): New static variable.
297         (set_print_type_nested_types, show_print_type_nested_types): New
298         functions.
299         (_initialize_typeprint): Register new commands for set/show
300         `print-nested-type-limit'.
301         * typeprint.h (struct type_print_options) [print_nested_type_limit]:
302         New field.
303
304 2017-12-07  Tom Tromey  <tom@tromey.com>
305
306         PR breakpoints/22511:
307         * breakpoint.c (commands_command_1): Don't throw an exception when
308         no commands have been read.
309
310 2017-12-07  Adam Stylinski  <adam.stylinski@etegent.com>
311
312         PR c++/21222
313         * target-descriptions.c (print_c_tdesc::visit_pre): Change type of
314         range-for variable.
315
316 2017-12-07  Simon Marchi  <simon.marchi@ericsson.com>
317
318         * common/selftest.h (struct selftest): Add virtual destructor.
319
320 2017-12-07  Phil Muldoon  <pmuldoon@redhat.com>
321
322         * python/py-breakpoint.c (bppy_init): Use string_to_event_location
323         over basic location code. Implement explicit location keywords.
324         (bppy_init_validate_args): New function.
325         * NEWS: Document Python explicit breakpoint locations.
326
327 2017-12-07  Joel Brobecker  <brobecker@adacore.com>
328
329         * MAINTAINERS: Restore target entries for m68hc11-elf,
330         score-elf and xstormy16-elf, incorrectly removed in a previous
331         patch meant to only update the list of active maintainers.
332
333 2017-12-06  Pedro Alves  <palves@redhat.com>
334
335         * break-catch-syscall.c (insert_catch_syscall)
336         (remove_catch_syscall): Adjust to pass reference to
337         inf_data->syscalls_counts directly via gdb::array_view.
338         * fbsd-nat.c (fbsd_set_syscall_catchpoint): Adjust to use bool
339         and gdb::array_view.
340         * linux-nat.c (linux_child_set_syscall_catchpoint): Likewise.
341         * remote.c (remote_set_syscall_catchpoint): Likewise.
342         * target-debug.h (target_debug_print_bool): New.
343         (define target_debug_print_gdb_array_view_const_int): New.
344         * target-delegates.c: Regenerate.
345         * target.h (target_ops) <to_set_syscall_catchpoint>: Use
346         gdb::array_view and bool.
347         (target_set_syscall_catchpoint): Likewise.
348
349 2017-12-06  Simon Marchi  <simon.marchi@ericsson.com>
350
351         * break-catch-syscall.c (catch_syscall_completer): Get pointers
352         to syscall group strings after building the string vector.
353
354 2017-12-06  Pedro Alves  <palves@redhat.com>
355
356         * remote.c (remote_query_supported): Don't send "xmlRegisters=" if
357         "qXfer:features:read"" is disabled.
358         (remote_write_qxfer, remote_read_qxfer, remote_search_memory):
359         Check packet_config_support instead of packet->support directly.
360
361 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
362
363         * target-descriptions.c (struct tdesc_feature) <registers>: Use
364         tdesc_reg_up typedef.
365         (struct target_desc) <features>: Use tdesc_feature_up typedef.
366
367 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
368
369         * target-descriptions.c (struct tdesc_type): Use default
370         destructor.
371         <u>: Remove.
372         <accept>: Remove.
373         (struct tdesc_type_builtin): New.
374         (struct tdesc_type_vector): New.
375         (struct tdesc_type_with_fields): New.
376         (tdesc_predefined_types): Change type to tdesc_type_builtin[].
377         (tdesc_gdb_type): Remove.
378         (tdesc_register_type): Adjust.
379         (tdesc_create_vector): Create tdesc_type_vector.
380         (tdesc_create_struct): Create tdesc_type_with_fields.
381         (tdesc_set_struct_size): Change parameter type.
382         (tdesc_create_union): Create tdesc_type_with_fields.
383         (tdesc_create_flags): Likewise.
384         (tdesc_create_enum): Likewise.
385         (tdesc_add_field): Change parameter type.
386         (tdesc_add_typed_bitfield): Likewise.
387         (tdesc_add_bitfield): Likewise.
388         (tdesc_add_flag): Likewise.
389         (tdesc_add_enum_value): Likewise.
390         (print_c_tdesc) <visit>: Remove overload with tdesc_type
391         parameter, add overloads for tdesc_type_builtin,
392         tdesc_type_with_fields and tdesc_type_vector.
393         <m_printed_type>: Remove.
394         <m_printed_element_type, m_printed_type_with_fields>: Add.
395         * target-descriptions.h (tdesc_create_enum): Change return type.
396         (tdesc_add_typed_bitfield): Change parameter type.
397         (tdesc_add_enum_value): Change parameter type.
398         * xml-tdesc.c (struct tdesc_parsing_data) <current_type>: Change
399         type to tdesc_type_with_fields.
400         (tdesc_start_struct): Adjust.
401         (tdesc_start_flags): Adjust.
402         (tdesc_start_enum): Adjust.
403         (tdesc_start_field): Adjust.
404         * arch/tdesc.h (struct tdesc_type_builtin): Forward-declare.
405         (struct tdesc_type_vector): Forward-declare.
406         (struct tdesc_type_with_fields): Forward-declare.
407         (tdesc_create_struct): Change return type.
408         (tdesc_create_union): Likewise.
409         (tdesc_create_flags): Likewise.
410         (tdesc_add_field): Change parameter type.
411         (tdesc_set_struct_size): Likewise.
412         (tdesc_add_bitfield): Likewise.
413         (tdesc_add_flag): Likewise.
414         * features: Re-generate C files.
415
416 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
417
418         * target-descriptions.c (tdesc_arch_reg): Remove typedef.
419         (struct tdesc_arch_reg): Add constructor.
420         (DEF_VEC_O (tdesc_arch_reg)): Remove.
421         (struct tdesc_arch_data): Initialize fields.
422         <arch_regs>: Change type to std::vector.
423         (target_find_description): Adjust.
424         (tdesc_find_type): Adjust.
425         (tdesc_data_init): Call tdesc_arch_data constructor.
426         (tdesc_data_alloc): Allocate tdesc_arch_data with new.
427         (tdesc_data_cleanup): Free data with delete.
428         (tdesc_numbered_register): Adjust.
429         (tdesc_find_arch_register): Adjust.
430         (tdesc_use_registers): Adjust.
431
432 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
433
434         * target-descriptions.c (tdesc_type_field): Remove typedef.
435         (DEF_VEC_O (tdesc_type_field)): Remove.
436         (struct tdesc_type_field): Add constructor.
437         <name>: Change type to std::string.
438         (struct tdesc_type) <tdesc_type>: Instantiate vector if the type
439         kind uses it.
440         <~tdesc_type>: Destroy vector if the type kind uses it.
441         <u::u::fields>: Change type to std::vector.
442         (tdesc_gdb_type): Adjust.
443         (tdesc_add_field): Adjust.
444         (tdesc_add_typed_bitfield): Adjust.
445         (tdesc_add_field): Adjust.
446         (tdesc_add_enum_value): Adjust.
447         (class print_c_tdesc) <visit>: Adjust.
448
449 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
450
451         * target-descriptions.c (struct tdesc_type) <name>: Change type
452         to std::string.
453         <~tdesc_type>: Don't manually free name.
454         <operator==>: Adjust.
455         (tdesc_named_type): Adjust.
456         (tdesc_find_type): Adjust.
457         (tdesc_gdb_type): Adjust.
458         (class print_c_tdesc) <visit>: Adjust.
459
460 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
461
462         * target-descriptions.c (tdesc_type_p): Remove typedef.
463         (DEF_VEC_P (tdesc_type_p)): Remove.
464         (struct tdesc_feature) <types>: Change type to std::vector.
465         <~tdesc_feature>: Replace with default implementation.
466         <accept>: Adjust.
467         (tdesc_named_type): Adjust.
468         (tdesc_create_vector): Adjust.
469         (tdesc_create_struct): Adjust.
470         (tdesc_create_union): Adjust.
471         (tdesc_create_flags): Adjust.
472         (tdesc_create_enum): Adjust.
473
474 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
475
476         * target-descriptions.c (struct tdesc_reg) <tdesc_reg>: Change
477         type of name_ parameter, adjust to std::string change.
478         <name, group, type>: Change type to std::string.
479         <~tdesc_reg>: Replace with default implementation.
480         <operator==>: Adjust.
481         (tdesc_find_register_early): Adjust.
482         (tdesc_register_name): Adjust.
483         (tdesc_register_type): Adjust.
484         (tdesc_register_in_reggroup_p): Adjust.
485         (class print_c_tdesc) <visit>: Adjust.
486         (class print_c_feature) <visit>: Adjust.
487         * features/arc-arcompact.c: Re-generate.
488         * features/arc-v2.c: Re-generate.
489
490 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
491
492         * target-descriptions.c (tdesc_reg_p): Remove typedef.
493         (DEF_VEC_P (tdesc_reg_p)): Remove.
494         (struct tdesc_feature) <registers>: Change type to std::vector.
495         <~tdesc_feature>: Don't manually free registers.
496         <accept>: Adjust.
497         <operator==>: Adjust.
498         (tdesc_has_registers): Adjust.
499         (tdesc_find_register_early): Adjust.
500         (tdesc_use_registers): Adjust.
501         (tdesc_create_reg): Adjust.
502
503 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
504
505         * target-descriptions.c (tdesc_feature) <name>: Change type to
506         std::string.
507         <~tdesc_feature>: Don't manually free name.
508         <operator==>: Adjust.
509         (tdesc_find_feature): Adjust.
510         (tdesc_feature_name): Adjust.
511         (class print_c_tdesc) <visit_pre>: Adjust.
512         (class print_c_feature) <visit_pre>: Adjust.
513
514 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
515
516         * target-descriptions.c (tdesc_feature_p): Remove typedef.
517         (DEF_VEC_P (tdesc_feature_p)): Remove.
518         (struct target_desc) <features>: Change type to std::vector.
519         <~target_desc>: Replace with default implementation.
520         <accept>: Adjust.
521         <operator==>: Adjust.
522         (tdesc_has_registers): Adjust.
523         (tdesc_find_feature): Adjust.
524         (tdesc_use_registers): Adjust.
525         (tdesc_create_feature): Adjust.
526
527 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
528
529         * target-descriptions.c (arch_p): Remove typedef.
530         (DEF_VEC_P (arch_p)): Remove.
531         (struct target_desc) <compatible>: Change type to std::vector.
532         <~target_desc>: Don't manually free compatible.
533         (tdesc_compatible_p): Adjust.
534         (tdesc_add_compatible): Adjust.
535         (class print_c_tdesc) <visit_pre>: Adjust.
536
537 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
538
539         * target-descriptions.c (property_s): Remove typedef.
540         (DEF_VEC_O (property_s)): Remove.
541         (struct target_desc) <properties>: Make an std::vector.
542         <~target_desc>: Don't manually free properties.
543         (tdesc_property): Adjust.
544         (set_tdesc_property): Adjust.
545         (class print_c_tdesc) <visit_pre>: Adjust.
546
547 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
548
549         * common/gdb_assert.h (gdb_static_assert): Redefine using
550         static_assert.
551
552 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
553
554         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
555         unused variables.
556         (ada_is_redundant_range_encoding): Likewise.
557         * ada-varobj.c (ada_varobj_get_value_of_array_variable):
558         Likewise.
559         * alpha-tdep.c (alpha_software_single_step): Likewise.
560         * arm-tdep.c (_initialize_arm_tdep): Likewise.
561         * auto-load.c (info_auto_load_cmd): Likewise.
562         * break-catch-syscall.c (insert_catch_syscall): Likewise.
563         (remove_catch_syscall): Likewise.
564         * breakpoint.c (condition_completer): Likewise.
565         (clear_command): Likewise.
566         (update_breakpoint_locations): Likewise.
567         * btrace.c (btrace_disable): Likewise.
568         (btrace_teardown): Likewise.
569         (btrace_maint_update_pt_packets): Likewise.
570         (maint_btrace_clear_cmd): Likewise.
571         * cli/cli-decode.c (lookup_cmd_1): Likewise.
572         (lookup_cmd_composition): Likewise.
573         * cli/cli-dump.c (scan_filename): Likewise.
574         (restore_command): Likewise.
575         * compile/compile-loc2c.c (compute_stack_depth): Likewise.
576         * compile/compile-object-load.c (compile_object_load): Likewise.
577         * compile/compile-object-run.c (compile_object_run): Likewise.
578         * compile/compile.c (compile_to_object): Likewise.
579         * completer.c (filename_completer): Likewise.
580         (complete_files_symbols): Likewise.
581         (complete_expression): Likewise.
582         * corelow.c (core_open): Likewise.
583         * ctf.c (ctf_start): Likewise.
584         (ctf_write_status): Likewise.
585         (ctf_write_uploaded_tsv): Likewise.
586         (ctf_write_definition_end): Likewise.
587         (ctf_open_dir): Likewise.
588         (ctf_xfer_partial): Likewise.
589         (ctf_trace_find): Likewise.
590         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
591         Likewise.
592         * dwarf2loc.c (allocate_piece_closure): Likewise.
593         (indirect_pieced_value): Likewise.
594         (dwarf2_evaluate_loc_desc_full): Likewise.
595         * dwarf2read.c (dw2_expand_marked_cus): Likewise.
596         (dw2_expand_symtabs_matching): Likewise.
597         (dw2_map_symbol_filenames): Likewise.
598         (read_and_check_comp_unit_head): Likewise.
599         (read_cutu_die_from_dwo): Likewise.
600         (lookup_dwo_unit): Likewise.
601         (read_comp_units_from_section): Likewise.
602         (dwarf2_compute_name): Likewise.
603         (handle_DW_AT_stmt_list): Likewise.
604         (create_cus_hash_table): Likewise.
605         (create_dwp_v2_section): Likewise.
606         (dwarf2_rnglists_process): Likewise.
607         (dwarf2_ranges_process): Likewise.
608         (dwarf2_record_block_ranges): Likewise.
609         (is_vtable_name): Likewise.
610         (read_formatted_entries): Likewise.
611         (skip_form_bytes): Likewise.
612         * elfread.c (elf_symtab_read): Likewise.
613         * exec.c (exec_file_command): Likewise.
614         * f-valprint.c (f_val_print): Likewise.
615         (info_common_command_for_block): Likewise.
616         * guile/guile.c (initialize_scheme_side): Likewise.
617         * guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Likewise.
618         * guile/scm-cmd.c (cmdscm_completer): Likewise.
619         (gdbscm_register_command_x): Likewise.
620         * guile/scm-frame.c (gdbscm_frame_read_var): Likewise.
621         * guile/scm-param.c (gdbscm_parameter_value): Likewise.
622         * guile/scm-ports.c (file_port_magic): Likewise.
623         * guile/scm-pretty-print.c (ppscm_search_pp_list): Likewise.
624         (ppscm_pretty_print_one_value): Likewise.
625         (ppscm_print_children): Likewise.
626         * guile/scm-string.c (gdbscm_string_to_argv): Likewise.
627         * guile/scm-symtab.c (gdbscm_sal_symtab): Likewise.
628         * guile/scm-type.c (gdbscm_type_next_field_x): Likewise.
629         * guile/scm-utils.c (gdbscm_parse_function_args): Likewise.
630         * i386-tdep.c (i386_register_reggroup_p): Likewise.
631         * infcmd.c (run_command_1): Likewise.
632         (until_next_fsm_clean_up): Likewise.
633         * linespec.c (linespec_complete): Likewise.
634         (find_label_symbols): Likewise.
635         * m2-valprint.c (m2_val_print): Likewise.
636         * memattr.c (require_user_regions): Likewise.
637         (lookup_mem_region): Likewise.
638         (disable_mem_command): Likewise.
639         (mem_delete): Likewise.
640         * mep-tdep.c (mep_register_name): Likewise.
641         (mep_analyze_prologue): Likewise.
642         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Likewise.
643         * mi/mi-interp.c (mi_on_sync_execution_done): Likewise.
644         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
645         * microblaze-linux-tdep.c (microblaze_linux_init_abi): Likewise.
646         * minidebug.c (lzma_open): Likewise.
647         * minsyms.c (lookup_minimal_symbol): Likewise.
648         * mips-linux-tdep.c (mips64_fill_fpregset): Likewise.
649         * mips-tdep.c (mips_stub_frame_sniffer): Likewise.
650         (mips_o64_return_value): Likewise.
651         (mips_single_step_through_delay): Likewise.
652         (_initialize_mips_tdep): Likewise.
653         * nios2-tdep.c (nios2_push_dummy_call): Likewise.
654         (nios2_software_single_step): Likewise.
655         * parse.c (find_minsym_type_and_address): Likewise.
656         * psymtab.c (psym_relocate): Likewise.
657         * python/py-breakpoint.c (bppy_get_commands): Likewise.
658         (gdbpy_breakpoint_modified): Likewise.
659         * python/py-infevents.c (create_inferior_call_event_object):
660         Likewise.
661         * python/py-record-btrace.c (btpy_list_item): Likewise.
662         * python/py-type.c (typy_str): Likewise.
663         * python/py-value.c (valpy_call): Likewise.
664         * python/python.c (do_start_initialization): Likewise.
665         * record-btrace.c (record_btrace_insn_history_range): Likewise.
666         (record_btrace_call_history_range): Likewise.
667         (record_btrace_record_method): Likewise.
668         (record_btrace_xfer_partial): Likewise.
669         (btrace_get_frame_function): Likewise.
670         * record-full.c (record_full_open): Likewise.
671         * record.c (get_context_size): Likewise.
672         * registry.h (DEFINE_REGISTRY): Likewise.
673         * remote-fileio.c (remote_fileio_request): Likewise.
674         * remote.c (remote_update_thread_list): Likewise.
675         (remote_check_symbols): Likewise.
676         (remote_commit_resume): Likewise.
677         (remote_interrupt): Likewise.
678         (remote_insert_breakpoint): Likewise.
679         (compare_sections_command): Likewise.
680         * rust-exp.y (super_name): Likewise.
681         (lex_string): Likewise.
682         (convert_ast_to_type): Likewise.
683         (convert_ast_to_expression): Likewise.
684         * rust-lang.c (rust_print_struct_def): Likewise.
685         (rust_print_type): Likewise.
686         (rust_evaluate_subexp): Likewise.
687         * rx-tdep.c (rx_register_type): Likewise.
688         * ser-event.c (serial_event_clear): Likewise.
689         * serial.c (serial_open): Likewise.
690         * spu-tdep.c (spu_overlay_new_objfile): Likewise.
691         * symfile.c (section_is_overlay): Likewise.
692         (overlay_unmapped_address): Likewise.
693         (overlay_mapped_address): Likewise.
694         (simple_overlay_update_1): Likewise.
695         (simple_overlay_update): Likewise.
696         * symtab.c (symbol_find_demangled_name): Likewise.
697         (search_symbols): Likewise.
698         * target-descriptions.c (tdesc_predefined_type): Likewise.
699         * target.c (target_commit_resume): Likewise.
700         * thread.c (print_selected_thread_frame): Likewise.
701         * top.c (new_ui_command): Likewise.
702         (gdb_readline_no_editing): Likewise.
703         * tracefile-tfile.c (tfile_open): Likewise.
704         * tracepoint.c (create_tsv_from_upload): Likewise.
705         * utils.c (quit): Likewise.
706         (defaulted_query): Likewise.
707         * valarith.c (value_concat): Likewise.
708         * xml-syscall.c (xml_list_syscalls_by_group): Likewise.
709         * xml-tdesc.c (target_fetch_description_xml): Likewise.
710         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
711         (xtensa_pseudo_register_write): Likewise.
712
713 2017-12-04  Tom Tromey  <tom@tromey.com>
714
715         * NEWS: Mention Rust trait object inspection.
716
717 2017-12-04  Pedro Alves  <palves@redhat.com>
718
719         PR gdb/22499
720         * amd64-tdep.c (amd64_insn::rex_offset): Rename to...
721         (amd64_insn::enc_prefix_offset): ... this, and tweak comment.
722         (vex2_prefix_p, vex3_prefix_p): New functions.
723         (amd64_get_insn_details): Adjust to rename.  Also skip VEX2 and
724         VEX3 prefixes.
725         (fixup_riprel): Set VEX3.!B.
726
727 2017-12-03  Simon Marchi  <simon.marchi@ericsson.com>
728
729         * target.h (mem_region_vector): Remove.
730         (struct target_ops) <to_memory_map>: Change return type to
731         std::vector<mem_region>.
732         * target-debug.h (target_debug_print_mem_region_vector): Rename
733         to ...
734         (target_debug_print_std_vector_mem_region): ... this.
735         * target-delegates.c: Re-generate.
736
737 2017-12-03  Pedro Alves  <palves@redhat.com>
738
739         * make-target-delegates (munge_type): Also munge '<', '>', and
740         ':'.  Avoid double underscores in identifiers, and trailing
741         underscores.
742         * target-debug.h
743         (target_debug_print_VEC_static_tracepoint_marker_p__p): Rename to
744         ...
745         (target_debug_print_VEC_static_tracepoint_marker_p_p): ... this.
746         * target-delegates.c: Regenerate.
747
748 2017-12-02  Simon Marchi  <simon.marchi@polymtl.ca>
749
750         * common/poison.h (XDELETE): Fix typo.
751
752 2017-12-01  Andrew Cagney  <cagney@redhat.com>
753             Joel Brobecker  <brobecker@adacore.com>
754             Sergio Durigan Junior  <sergiodj@redhat.com>
755
756         * NEWS (Changes since GDB 8.0: Mention new '--readnever'
757         feature.
758         * coffread.c (coff_symfile_read): Do not map over sections with
759         'coff_locate_sections' if readnever is on.
760         * dwarf2read.c (dwarf2_has_info): Return 0 if
761         readnever is on.
762         * elfread.c (elf_symfile_read): Do not map over sections with
763         'elf_locate_sections' if readnever is on.
764         * main.c (validate_readnow_readnever): New function.
765         (captured_main_1): Add support for --readnever.
766         (print_gdb_help): Document --readnever.
767         * objfile-flags.h (enum objfile_flag) <OBJF_READNEVER>: New
768         flag.
769         * symfile.c (readnever_symbol_files): New global.
770         (symbol_file_add_with_addrs): Set 'OBJF_READNEVER' when
771         'READNEVER_SYMBOL_FILES' is set.
772         (validate_readnow_readnever): New function.
773         (symbol_file_command): Handle '-readnever' option.
774         Call 'validate_readnow_readnever'.
775         (add_symbol_file_command): Handle '-readnever' option.
776         Call 'validate_readnow_readnever'.
777         (_initialize_symfile): Document new '-readnever' option for
778         both 'symbol-file' and 'add-symbol-file' commands.
779         * top.h (readnever_symbol_files): New extern global.
780         * xcoffread.c (xcoff_initial_scan): Do not read debug
781         information if readnever is on.
782
783 2017-12-01  Sergio Durigan Junior  <sergiodj@redhat.com>
784
785         * symfile.c (symbol_file_command): Call
786         'symbol_file_add_main_1' only after processing all command
787         line options.
788         (add_symbol_file_command): Modify logic to make arguments
789         position-independent.
790
791 2017-12-01  Joel Brobecker  <brobecker@adacore.com>
792
793         * ada-lang.c (symbol_list_obstack): Delete.
794         (resolve_subexp): Make sure "candidates" gets xfree'ed.
795         (ada_lookup_symbol_list_worker): Remove the limitation that
796         the result is only good until the next call, now making it
797         the responsibility of the caller to free the result when no
798         longer needed.  Adjust the function's intro comment accordingly.
799         (ada_lookup_symbol_list): Adjust the function's intro comment.
800         (ada_iterate_over_symbols): Make sure "results" gets xfree'ed.
801         (ada_lookup_encoded_symbol, get_var_value): Likewise.
802         (_initialize_ada_language): Remove symbol_list_obstack
803         initialization.
804         * ada-exp.y (block_lookup): Make sure "syms" gets xfree'ed.
805         (write_var_or_type, write_name_assoc): Likewise.
806
807 2017-12-01  Tom Tromey  <tom@tromey.com>
808
809         * Makefile.in (all_deps_files): New variable.
810         Include .Po files using all_deps_files.
811
812 2017-12-01  Joel Brobecker  <brobecker@adacore.com>
813
814         * MAINTAINERS: Update list of maintainers, moving those who
815         stepped down or became inactive to the "Past Maintainers"
816         section.
817
818 2017-11-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
819
820         * configure.ac Don't check for sys/fault.h, sys/syscall.h,
821         sys/proc.h.
822         (NEW_PROC_API): Remove.
823         (prsysent_t, pr_sigset_t, pr_sigaction64_t, pr_siginfo64_t):
824         Likewise.
825         * common/common.m4 (GDB_AC_COMMON): Don't check for sys/syscall.h.
826         * configure: Regenerate.
827         * config.in: Regenerate.
828         * gdbserver/configure: Regenerate.
829         * gdbserver/config.in: Regenerate.
830
831         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Remove
832         NEW_PROC_API test.
833         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Likewise.
834
835         * linux-btrace.c: Remove HAVE_SYS_SYSCALL_H test.
836
837         * proc-api.c: Remove !NEW_PROC_API support.
838         Remove HAVE_SYS_PROC_H and HAVE_SYS_USER_H tests.
839         Remove tests for macros always defined on Solaris.
840         * proc-events.c: Remove !NEW_PROC_API support.
841         Remove Remove HAVE_SYS_SYSCALL_H, HAVE_SYS_PROC_H and
842         HAVE_SYS_USER_H tests.
843         (init_syscall_table): Remove non-Solaris syscalls.
844         Remove tests for syscalls present on all Solaris versions.
845         Add missing Solaris 10+ syscalls.
846         (signal_table): Remove non-Solaris signals.
847         Remove tests for signals present on all Solaris versions.
848         (fault_table): Remove non-Solaris faults.
849         Remove tests for faults present on all Solaris versions.
850         * proc-flags.c: Remove !NEW_PROC_API support.
851         (pr_flag_table): Remove non-Solaris and pre-Solaris 7 comments.
852         Remove non-Solaris flags.
853         * proc-why.c: Remove !NEW_PROC_API support.
854         (pr_why_table): Remove meaningless comments.
855         Remove tests for reasons present on all Solaris versions.
856         Remove OSF/1 cases.
857         (proc_prettyfprint_why): Likewise.
858
859         * procfs.c: Remove !NEW_PROC_API and DYNAMIC_SYSCALLS support.
860         Remove HAVE_SYS_FAULT_H and HAVE_SYS_SYSCALL_H tests.
861         Remove WA_READ test, IRIX watchpoint support.
862         (gdb_sigset_t, gdb_sigaction_t, gdb_siginfo_t): Replace by base
863         types.  Change users.
864         (gdb_praddset, gdb_prdelset, gdb_premptysysset, gdb_praddsysset)
865         (gdb_prdelset, gdb_pr_issyssetmember): Replace by base macros.
866         Change callers.
867         Remove CTL_PROC_NAME_FMT tests.
868         (gdb_prstatus_t, gdb_lwpstatus_t): Replace by base types.  Change
869         users.
870         (sysset_t_size): Remove.  Use sizeof (sysset_t) in callers.
871         Remove PROCFS_DONT_PIOCSSIG_CURSIG support.
872         (proc_modify_flag): Replace GDBRESET by PCUNSET.
873         Remove PR_ASYNC, PR_KLC tests.
874         (proc_unset_inherit_on_fork): Remove PR_ASYNC test.
875         (proc_parent_pid): Remove PCWATCH etc. tests.
876         (proc_set_watchpoint): Remove !PCWATCH && !PIOCSWATCH support.
877         Remove PCAGENT test.
878         (proc_get_nthreads) [PIOCNTHR && PIOCTLIST]: Remove.
879         Remove SYS_lwpcreate || SYS_lwp_create test.
880         (proc_get_current_thread): Likewise.
881         [PIOCNTHR && PIOCTLIST]: Remove.
882         [PIOCLSTATUS]: Remove.
883         (procfs_debug_inferior): Remove non-Solaris cases, conditionals.
884         [PRFS_STOPEXEC]: Remove.
885         (syscall_is_lwp_exit): Remove non-Solaris cases, conditionals.
886         (syscall_is_exit): Likewise.
887         (syscall_is_exec): Likewise.
888         (syscall_is_lwp_create): Likewise.
889         Remove SYS_syssgi support.
890         (procfs_wait): Remove PR_ASYNC, !PIOCSSPCACT tests.
891         [SYS_syssgi]: Remove.
892         Remove non-Solaris cases, conditionals.
893         (unconditionally_kill_inferior) [PROCFS_NEED_PIOCSSIG_FOR_KILL]:
894         Remove.
895         (procfs_init_inferior) [SYS_syssgi]: Remove.
896         (procfs_set_exec_trap) [PRFS_STOPEXEC]: Remove.
897         (procfs_inferior_created) [SYS_syssgi]: Remove.
898         (procfs_set_watchpoint): Remove !AIX5 test.
899         (procfs_stopped_by_watchpoint): Remove FLTWATCH test, FLTKWATCH
900         case.
901         (mappingflags) [MA_PHYS]: Remove.
902         (info_mappings_callback): Remove PCAGENT test.
903         Remove PIOCOPENLWP || PCAGENT test.
904
905 2017-11-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
906
907         * sol-thread.c (info_solthreads): Constify args.
908         Cast args to void *.
909
910 2017-11-29  John Baldwin  <jhb@FreeBSD.org>
911
912         * target-float.c [HAVE_LIBMPFR]: Define MPFR_USE_INTMAX_T.
913
914 2017-11-29  Joel Brobecker  <brobecker@adacore.com>
915
916         * ada-lang.c (to_fixed_range_type): Make sure that the size
917         of the range type being returned is the same as the size
918         of the range type being fixed.
919
920 2017-11-29  Pedro Alves  <palves@redhat.com>
921
922         PR c++/19436
923         * NEWS: Mention setting breakpoints on functions with C++ ABI
924         tags.
925         * completer.h (completion_match_for_lcd) <match,
926         mark_ignored_range>: New methods.
927         <finish>: Consider ignored ranges.
928         <clear>: Clear ignored ranges.
929         <m_ignored_ranges, m_finished_storage>: New fields.
930         * cp-support.c (cp_search_name_hash): Ignore ABI tags.
931         (cp_symbol_name_matches_1, cp_fq_symbol_name_matches): Pass the
932         completion_match_for_lcd pointer to strncmp_iw_with_mode.
933         (test_cp_symbol_name_cmp): Add [abi:...] tags unit tests.
934         * language.c (default_symbol_name_matcher): Pass the
935         completion_match_for_lcd pointer to strncmp_iw_with_mode.
936         * linespec.c (linespec_lexer_lex_string): Don't tokenize ABI tags.
937         * utils.c (skip_abi_tag): New function.
938         (strncmp_iw_with_mode): Add completion_match_for_lcd parameter.
939         Handle ABI tags.
940         * utils.h (strncmp_iw_with_mode): Add completion_match_for_lcd
941         parameter.
942
943 2017-11-29  Pedro Alves  <palves@redhat.com>
944
945         PR c++/19436
946         * NEWS: Mention setting breakpoints on functions with C++ ABI
947         tags.
948         * completer.h (completion_match_for_lcd) <match,
949         mark_ignored_range>: New methods.
950         <finish>: Consider ignored ranges.
951         <clear>: Clear ignored ranges.
952         <m_ignored_ranges, m_finished_storage>: New fields.
953         * cp-support.c (cp_search_name_hash): Ignore ABI tags.
954         (cp_symbol_name_matches_1, cp_fq_symbol_name_matches): Pass the
955         completion_match_for_lcd pointer to strncmp_iw_with_mode.
956         (test_cp_symbol_name_cmp): Add [abi:...] tags unit tests.
957         * language.c (default_symbol_name_matcher): Pass the
958         completion_match_for_lcd pointer to strncmp_iw_with_mode.
959         * linespec.c (linespec_lexer_lex_string): Don't tokenize ABI tags.
960         * utils.c (skip_abi_tag): New function.
961         (strncmp_iw_with_mode): Add completion_match_for_lcd parameter.
962         Handle ABI tags.
963         * utils.h (strncmp_iw_with_mode): Add completion_match_for_lcd
964         parameter.
965
966 2017-11-29  Pedro Alves  <palves@redhat.com>
967
968         * NEWS: Mention that breakpoints on C++ functions are now set on
969         on all namespaces/classes by default, and mention "break
970         -qualified".
971         * ax-gdb.c (agent_command_1): Adjust to pass a
972         symbol_name_match_type to new_linespec_location.
973         * breakpoint.c (parse_breakpoint_sals): Adjust to
974         get_linespec_location's return type change.
975         (strace_marker_create_sals_from_location): Adjust to pass a
976         symbol_name_match_type to new_linespec_location.
977         (strace_marker_decode_location): Adjust to get_linespec_location's
978         return type change.
979         (strace_command): Adjust to pass a symbol_name_match_type to
980         new_linespec_location.
981         (LOCATION_HELP_STRING): Add paragraph about wildmatching, and
982         mention "-qualified".
983         * c-lang.c (cplus_language_defn): Install cp_search_name_hash.
984         * completer.c (explicit_location_match_type::MATCH_QUALIFIED): New
985         enumerator.
986         (complete_address_and_linespec_locations): New parameter
987         'match_type'.  Pass it down.
988         (explicit_options): Add "-qualified".
989         (collect_explicit_location_matches): Pass the requested match type
990         to the linespec completers.  Handle MATCH_QUALIFIED.
991         (location_completer): Handle "-qualified" combined with linespecs.
992         * cp-support.c (cp_search_name_hash): New.
993         (cp_symbol_name_matches_1): Implement wild matching for C++.
994         (cp_fq_symbol_name_matches): Reimplement.
995         (cp_get_symbol_name_matcher): Return different matchers depending
996         on the lookup name's match type.
997         (selftests::test_cp_symbol_name_matches): Add wild matching tests.
998         * cp-support.h (cp_search_name_hash): New declaration.
999         * dwarf2read.c
1000         (selftests::dw2_expand_symtabs_matching::test_symbols): Add
1001         symbols.
1002         (test_dw2_expand_symtabs_matching_symbol): Add wild matching
1003         tests.
1004         * guile/scm-breakpoint.c (gdbscm_register_breakpoint_x): Adjust to
1005         pass a symbol_name_match_type to new_linespec_location.
1006         * linespec.c (linespec_parse_basic): Lookup function symbols using
1007         the parser's symbol name match type.
1008         (convert_explicit_location_to_linespec): New
1009         symbol_name_match_type parameter.  Pass it down to
1010         find_linespec_symbols.
1011         (convert_explicit_location_to_sals): Pass the location's name
1012         match type to convert_explicit_location_to_linespec.
1013         (parse_linespec): New match_type parameter.  Save it in the
1014         parser.
1015         (linespec_parser_new): Default to symbol_name_match_type::WILD.
1016         (linespec_complete_function): New symbol_name_match_type
1017         parameter.  Use it.
1018         (complete_linespec_component): Pass down the parser's recorded
1019         name match type.
1020         (linespec_complete_label): New symbol_name_match_type parameter.
1021         Use it.
1022         (linespec_complete): New symbol_name_match_type parameter.  Save
1023         it in the parser and pass it down.  Adjust to
1024         get_linespec_location's prototype change.
1025         (find_function_symbols, find_linespec_symbols): New
1026         symbol_name_match_type parameter.  Pass it down instead of
1027         assuming symbol_name_match_type::WILD.
1028         * linespec.h (linespec_complete, linespec_complete_function)
1029         (linespec_complete_label): New symbol_name_match_type parameter.
1030         * location.c (event_location::linespec_location): Now a struct
1031         linespec_location.
1032         (EL_LINESPEC): Adjust.
1033         (initialize_explicit_location): Default to
1034         symbol_name_match_type::WILD.
1035         (new_linespec_location): New symbol_name_match_type parameter.
1036         Record it in the location.
1037         (get_linespec_location): Now returns a struct linespec_location.
1038         (new_explicit_location): Also copy func_name_match_type.
1039         (explicit_to_string_internal)
1040         (string_to_explicit_location): Handle "-qualified".
1041         (copy_event_location): Adjust to LINESPEC_LOCATION type change.
1042         Copy symbol_name_match_type fields.
1043         (event_location_deleter::operator()): Adjust to LINESPEC_LOCATION
1044         type change.
1045         (event_location_to_string): Adjust to LINESPEC_LOCATION type
1046         change.  Handle "-qualfied".
1047         (string_to_explicit_location): Handle "-qualified".
1048         (string_to_event_location_basic): New symbol_name_match_type
1049         parameter.  Pass it down.
1050         (string_to_event_location): Handle "-qualified".
1051         * location.h (struct linespec_location): New.
1052         (explicit_location::func_name_match_type): New field.
1053         (new_linespec_location): Now returns a const linespec_location *.
1054         (string_to_event_location_basic): New symbol_name_match_type
1055         parameter.
1056         (explicit_completion_info::saw_explicit_location_option): New
1057         field.
1058         * mi/mi-cmd-break.c (mi_cmd_break_insert_1): Adjust to pass a
1059         symbol_name_match_type to new_linespec_location.
1060         * python/py-breakpoint.c (bppy_init): Likewise.
1061         * python/python.c (gdbpy_decode_line): Likewise.
1062
1063 2017-11-29  Pedro Alves  <palves@redhat.com>
1064
1065         * ada-lang.c (ada_lookup_name_info::matches): Change type of
1066         parameter from completion_match to completion_match_result.
1067         Adjust.
1068         (do_wild_match, do_full_match, ada_symbol_name_matches): Likewise.
1069         * completer.c (completion_tracker::maybe_add_completion): Add
1070         match_for_lcd parameter and use it.
1071         (completion_tracker::add_completion): Likewise.
1072         * completer.h (class completion_match_for_lcd): New class.
1073         (completion_match_result::match_for_lcd): New field.
1074         (completion_match_result::set_match): New method.
1075         (completion_tracker): Add comments.
1076         (completion_tracker::add_completion): Add match_for_lcd parameter.
1077         (completion_tracker::reset_completion_match_result): Reset
1078         match_for_lcd too.
1079         (completion_tracker::maybe_add_completion): Add match_for_lcd
1080         parameter.
1081         (completion_tracker::m_lowest_common_denominator_unique): Extend
1082         comments.
1083         * cp-support.c (cp_symbol_name_matches_1)
1084         (cp_fq_symbol_name_matches): Change type of parameter from
1085         completion_match to completion_match_result.  Adjust.
1086         * language.c (default_symbol_name_matcher): Change type of
1087         parameter from completion_match to completion_match_result.
1088         Adjust.
1089         * language.h (completion_match_for_lcd): Forward declare.
1090         (default_symbol_name_matcher): Change type of parameter from
1091         completion_match to completion_match_result.
1092         * symtab.c (compare_symbol_name): Adjust.
1093         (completion_list_add_name): Pass the match_for_lcd to the tracker.
1094         * symtab.h (ada_lookup_name_info::matches): Change type of
1095         parameter from completion_match to completion_match_result.
1096         (symbol_name_matcher_ftype): Likewise, and update comments.
1097
1098 2017-11-29  Pedro Alves  <palves@redhat.com>
1099
1100         * linespec.c (minsym_found, add_minsym): Use msymbol_is_function.
1101         * minsyms.c (msymbol_is_text): Delete.
1102         (msymbol_is_function): New function.
1103         * minsyms.h (msymbol_is_text): Delete.
1104         (msymbol_is_function): New declaration.
1105         * symtab.c (find_function_alias_target): Use msymbol_is_function.
1106
1107 2017-11-29  Tom Tromey  <tom@tromey.com>
1108
1109         * Makefile.in (distclean): Handle the case where rmdir fails.
1110
1111 2017-11-29  Tom Tromey  <tom@tromey.com>
1112
1113         * symfile.c (_initialize_symfile): Update usage text for
1114         add-symbol-file, symbol-file, load.
1115
1116 2017-11-29  Tom Tromey  <tom@tromey.com>
1117
1118         * symfile.c (add_symbol_file_command): Error if some arguments to
1119         -s are missing.  Change unrecognized-argument error message.
1120         (_initialize_symfile): Fix usage text for add-symbol-file.
1121
1122 2017-11-27  Tom Tromey  <tom@tromey.com>
1123
1124         * Makefile.in (REMOTE_OBS): Remove.
1125         (SFILES): Remove remote sources.
1126         (COMMON_SFILES): Add remote sources.
1127         (ALLDEPFILES): Remove dcache.c.
1128
1129 2017-11-27  Tom Tromey  <tom@tromey.com>
1130
1131         * Makefile.in (SUBDIR_TARGET_SRCS, SUBDIR_TARGET_OBS): New
1132         variables.
1133         (SFILES): Use SUBDIR_TARGET_SRCS.
1134         (COMMON_OBS): Use SUBDIR_TARGET_OBS.  Remove waitstatus.o.
1135         (CONFIG_SRC_SUBDIR): Add target.
1136         (%.o): Remove target rule.
1137
1138 2017-11-27  Tom Tromey  <tom@tromey.com>
1139
1140         * Makefile.in (COMMON_OBS): Remove filename-seen-cache.o,
1141         registry.o, thread-fsm.o, debug.o.
1142         (COMMON_SFILES): Add filename-seen-cache.c, registry.c,
1143         thread-fsm.c, debug.c.
1144
1145 2017-11-27  Tom Tromey  <tom@tromey.com>
1146
1147         * Makefile.in (COMMON_SFILES): New.
1148         (SFILES): Move some entries to COMMON_SFILES.
1149         (COMMON_OBS): Use COMMON_SFILES.
1150
1151 2017-11-27  Tom Tromey  <tom@tromey.com>
1152
1153         * Makefile.in (YYFILES): Update comment.
1154         (YYOBJ): Redefine.
1155
1156 2017-11-27  Tom Tromey  <tom@tromey.com>
1157
1158         * Makefile.in (SUBDIR_PYTHON_OBS): Redefine.
1159         (CONFIG_SRC_SUBDIR): Add python.
1160         (%.o): Remove python rule.
1161         (python/%.o): New rule.
1162         * configure: Rebuild.
1163         * configure.ac (CONFIG_OBS): Refer to python/python.o
1164
1165 2017-11-27  Tom Tromey  <tom@tromey.com>
1166
1167         * configure: Rebuild.
1168         * configure.ac (CONFIG_OBS): Refer to guile/guile.o.
1169         * Makefile.in (SUBDIR_GUILE_OBS): Redefine.
1170         (CONFIG_SRC_SUBDIR): Add guile.
1171         (%.o): Remove guile rule.
1172
1173 2017-11-27  Tom Tromey  <tom@tromey.com>
1174
1175         * Makefile.in (SUBDIR_UNITTESTS_OBS): Redefine.
1176         (%.o): Remove unittests rule.
1177         (CONFIG_SRC_SUBDIR): Add unittests.
1178
1179 2017-11-27  Tom Tromey  <tom@tromey.com>
1180
1181         * Makefile.in (SUBDIR_TUI_OBS): Redefine.
1182         (CONFIG_SRC_SUBDIR): Add tui.
1183         (%.o): Remove tui rule.
1184
1185 2017-11-27  Tom Tromey  <tom@tromey.com>
1186
1187         * Makefile.in (SUBDIR_GCC_COMPILE_OBS): Redefine.
1188         (%.o): Remove compile rule.
1189         (CONFIG_SRC_SUBDIR): Add compile.
1190
1191 2017-11-27  Tom Tromey  <tom@tromey.com>
1192
1193         * Makefile.in (SUBDIR_MI_OBS): Redefine.
1194         (%.o): Remove mi rule.
1195         (CONFIG_SRC_SUBDIR): Add mi.
1196         (COMMON_OBS): Use mi/mi-common.o
1197
1198 2017-11-27  Tom Tromey  <tom@tromey.com>
1199
1200         * Makefile.in (SUBDIR_CLI_OBS): Redefine.
1201         (%.o): Remove cli rule.
1202         (CONFIG_SRC_SUBDIR): Add cli.
1203
1204 2017-11-27  Tom Tromey  <tom@tromey.com>
1205
1206         * configure.ac (CONFIG_SRC_SUBDIR): Don't subst.
1207         * configure: Rebuild.
1208         * Makefile.in (CONFIG_SRC_SUBDIR): Redefine.
1209         (CONFIG_DEP_SUBDIR): New variable.
1210         (%.o): Add order-only dependency.
1211         ($(CONFIG_DEP_SUBDIR)): New target.
1212
1213 2017-11-26  Dominik Czarnota  <dominik.b.czarnota@gmail.com>
1214
1215         PR gdb/21945
1216         * findcmd.c (_initialize_mem_search): Update find command help
1217         text.
1218
1219 2017-11-26  Simon Marchi  <simon.marchi@polymtl.ca>
1220
1221         * python/python.c (do_start_initialization): Change progname
1222         type to gdb::unique_xmalloc_ptr.  Release the pointer when using
1223         Python 2.
1224
1225 2017-11-26  Tom Tromey  <tom@tromey.com>
1226
1227         * common/format.h: Add include guards.
1228
1229 2017-11-26  Tom Tromey  <tom@tromey.com>
1230
1231         * nat/linux-personality.h (class
1232         maybe_disable_address_space_randomization): New class.
1233         (maybe_disable_address_space_randomization): Don't declare
1234         function.
1235         * nat/linux-personality.c (restore_personality)
1236         (make_disable_asr_cleanup): Remove.
1237         (maybe_disable_address_space_randomization): Now a constructor.
1238         (~maybe_disable_address_space_randomization): New destructor.
1239         * linux-nat.c (linux_nat_create_inferior): Update.
1240
1241 2017-11-26  Tom Tromey  <tom@tromey.com>
1242
1243         * gcore.c (write_gcore_file_1): Use gdb::unique_xmalloc_ptr.
1244
1245 2017-11-26  Ulrich Weigand  <uweigand@de.ibm.com>
1246
1247         * spu-tdep.c (spu_software_single_step): Access SPU_LSLR_REGNUM as
1248         "cooked" register.  Access only first four bytes of branch target
1249         registers.
1250
1251 2017-11-25  Sergio Durigan Junior  <sergiodj@redhat.com>
1252
1253         PR gdb/22491
1254         * stap-probe.c (relocate_address): New function.
1255         (stap_probe::get_relocated_address): Use 'relocate_address'.
1256         (stap_probe::set_semaphore): Use 'relocate_address' and pass
1257         'm_sem_addr'.
1258         (stap_probe::clear_semaphore): Likewise.
1259
1260 2017-11-25  Pedro Alves  <palves@redhat.com>
1261
1262         * dictionary.c: Include "safe-ctype.h".
1263         * minsyms.c: Include "safe-ctype.h".
1264         * minsyms.c (SYMBOL_HASH_NEXT): Use TOLOWER instead of tolower.
1265
1266 2017-11-25   Pedro Alves  <palves@redhat.com>
1267
1268         * completer.c (complete_line_internal_1): Skip spaces until the
1269         start of the command.
1270
1271 2017-11-24  Pedro Alves  <palves@redhat.com>
1272
1273         * cp-support.c (cp_symbol_name_matches_1): New, factored out from
1274         cp_fq_symbol_name_matches.  Pass language_cplus to
1275         strncmp_with_mode.
1276         (cp_fq_symbol_name_matches): Call cp_symbol_name_matches_1.
1277         (selftests::test_cp_symbol_name_cmp): New.
1278         (_initialize_cp_support): Register "cp_symbol_name_matches"
1279         selftests.
1280         * language.c (default_symbol_name_matcher): Pass language_minimal
1281         to strncmp_iw_with_mode.
1282         * utils.c: Include "cp-support.h" and <algorithm>.
1283         (valid_identifier_name_char, cp_skip_operator_token, skip_ws)
1284         (cp_is_operator): New functions.
1285         (strncmp_iw_with_mode): Use them.  Add language parameter.  Don't
1286         skip whitespace in the symbol name when the lookup name doesn't
1287         have spaces, and vice versa.
1288         (strncmp_iw, strcmp_iw): Pass language to strncmp_iw_with_mode.
1289         * utils.h (strncmp_iw_with_mode): Add language parameter.
1290
1291 2017-11-24  Joel Brobecker  <brobecker@adacore.com>
1292
1293         * ada-lang.c (ada_exception_message_1, ada_exception_message):
1294         New functions.
1295         (print_it_exception): If available, display the exception
1296         message as well.
1297         * NEWS: Document new feature.
1298
1299 2017-11-24  Ulrich Weigand  <uweigand@de.ibm.com>
1300
1301         * configure.nat <spu-linux>: Add fork-inferior.o to NATDEPFILES.
1302
1303 2017-11-24  Philipp Rudo  <prudo@linux.vnet.ibm.com>
1304
1305         * dtrace-probe.c (dtrace_probe::build_arg_exprs)
1306         (dtrace_probe::is_enabled, dtrace_probe::enable)
1307         (dtrace_probe::disable): Remove keyword 'struct' at for-range
1308         variable
1309         * probe.c (gen_ui_out_table_header_info)
1310         (print_ui_out_not_applicables):  Remove keyword 'struct' at
1311         for-range variable
1312
1313 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1314
1315         * configure.tgt: Add arch/aarch64.o
1316
1317 2017-11-24  Simon Marchi  <simon.marchi@polymtl.ca>
1318
1319         * common/common-utils.h: Include poison.h.
1320         (xfree): Remove declaration, add definition with static_assert.
1321         * common/common-utils.c (xfree): Remove.
1322         * common/poison.h (IsMallocatable): Define.
1323         (IsFreeable): Define.
1324         (free): Delete for non-freeable types.
1325         (xnew): New.
1326         (XNEW): Undef and redefine.
1327         (xcnew): New.
1328         (XCNEW): Undef and redefine.
1329         (xdelete): New.
1330         (XDELETE): Undef and redefine.
1331         (xnewvec): New.
1332         (XNEWVEC): Undef and redefine.
1333         (xcnewvec): New.
1334         (XCNEWVEC): Undef and redefine.
1335         (xresizevec): New.
1336         (XRESIZEVEC): Undef and redefine.
1337         (xdeletevec): New.
1338         (XDELETEVEC): Undef and redefine.
1339         (xnewvar): New.
1340         (XNEWVAR): Undef and redefine.
1341         (xcnewvar): New.
1342         (XCNEWVAR): Undef and redefine.
1343         (xresizevar): New.
1344         (XRESIZEVAR): Undef and redefine.
1345
1346 2017-11-24  Simon Marchi  <simon.marchi@polymtl.ca>
1347
1348         * gdbthread.h (private_thread_info): Define structure type, add
1349         virtual pure destructor.
1350         (thread_info) <priv>: Change type to unique_ptr.
1351         <private_dtor>: Remove.
1352         * thread.c (add_thread_with_info): Adjust to use of unique_ptr.
1353         (private_thread_info::~private_thread_info): Provide default
1354         implementation.
1355         (thread_info::~thread_info): Don't call private_dtor nor
1356         manually free priv.
1357         * aix-thread.c (private_thread_info): Rename to ...
1358         (aix_thread_info): ... this.
1359         (get_aix_thread_info): New.
1360         (sync_threadlists): Adjust.
1361         (iter_tid): Adjust.
1362         (aix_thread_resume): Adjust.
1363         (aix_thread_fetch_registers): Adjust.
1364         (aix_thread_store_registers): Adjust.
1365         (aix_thread_extra_thread_info): Adjust.
1366         * darwin-nat.h (private_thread_info): Rename to ...
1367         (darwin_thread_info): ... this.
1368         (get_darwin_thread_info): New.
1369         * darwin-nat.c (darwin_init_thread_list): Adjust.
1370         (darwin_check_new_threads): Adjust.
1371         (thread_info_from_private_thread_info): Adjust.
1372         * linux-thread-db.c (private_thread_info): Rename to ...
1373         (thread_db_thread_info): ... this, initialize fields.
1374         (get_thread_db_thread_info): New.
1375         <dying>: Change type to bool.
1376         (update_thread_state): Adjust to type rename.
1377         (record_thread): Adjust to type rename an use of unique_ptr.
1378         (thread_db_pid_to_str): Likewise.
1379         (thread_db_extra_thread_info): Likewise.
1380         (thread_db_thread_handle_to_thread_info): Likewise.
1381         (thread_db_get_thread_local_address): Likewise.
1382         * nto-tdep.h (private_thread_info): Rename to ...
1383         (nto_thread_info): ... this, initialize fields.
1384         (get_nto_thread_info): New.
1385         <name>: Change type to std::string.
1386         * nto-tdep.c (nto_extra_thread_info): Adjust to type rename and
1387         use of unique_ptr.
1388         * nto-procfs.c (update_thread_private_data_name): Adjust to
1389         std::string change, allocate nto_private_thread_info with new.
1390         (update_thread_private_data): Adjust to unique_ptr.
1391         * remote.c (private_thread_info): Rename to ...
1392         (remote_thread_info): ... this, initialize data members with
1393         default values.
1394         <extra, name>: Change type to std::string.
1395         <thread_handle>: Change type to non-pointer.
1396         (free_private_thread_info): Remove.
1397         (get_private_info_thread): Rename to...
1398         (get_remote_thread_info): ... this, change return type, adjust to
1399         use of unique_ptr, use remote_thread_info constructor.
1400         (remote_add_thread): Adjust.
1401         (get_private_info_ptid): Rename to...
1402         (get_remote_thread_info): ...this, change return type.
1403         (remote_thread_name): Use get_remote_thread_info, adjust to
1404         change to std::string.
1405         (struct thread_item) <~thread_item>: Remove.
1406         <thread_handle>: Make non pointer.
1407         (start_thread): Adjust to thread_item::thread_handle type
1408         change.
1409         (remote_update_thread_list): Adjust to type name change, move
1410         strings from temporary to long-lived object instead of
1411         duplicating.
1412         (remote_threads_extra_info): Use get_remote_thread_info.
1413         (process_initial_stop_replies): Likewise.
1414         (resume_clear_thread_private_info): Likewise.
1415         (remote_resume): Adjust to type name change.
1416         (remote_commit_resume): Use get_remote_thread_info.
1417         (process_stop_reply): Adjust to type name change.
1418         (remote_stopped_by_sw_breakpoint): Use get_remote_thread_info.
1419         (remote_stopped_by_hw_breakpoint): Likewise.
1420         (remote_stopped_by_watchpoint): Likewise.
1421         (remote_stopped_data_address): Likewise.
1422         (remote_core_of_thread): Likewise.
1423         (remote_thread_handle_to_thread_info): Use
1424         get_private_info_thread, adjust to thread_handle field type
1425         change.
1426
1427 2017-11-24  Simon Marchi  <simon.marchi@polymtl.ca>
1428
1429         * remote.c (struct thread_item): Add constructor, disable copy
1430         construction and copy assignment, define default move
1431         construction and move assignment.
1432         <extra, name>: Change type to std::string.
1433         <core>: Initialize.
1434         <thread_handle>: Make non-pointer.
1435         (thread_item_t): Remove typedef.
1436         (DEF_VEC_O(thread_item_t)): Remove.
1437         (threads_listing_context) <contains_thread>: New method.
1438         <remove_thread>: New method.
1439         <items>: Change type to std::vector.
1440         (clear_threads_listing_context): Remove.
1441         (threads_listing_context_remove): Remove.
1442         (remote_newthread_step): Use thread_item constructor, adjust to
1443         change to std::vector.
1444         (start_thread): Use thread_item constructor, adjust to change to
1445         std::vector.
1446         (end_thread): Adjust to change to std::vector and std::string.
1447         (remote_get_threads_with_qthreadinfo): Use thread_item
1448         constructor, adjust to std::vector.
1449         (remote_update_thread_list): Adjust to change to std::vector and
1450         std::string, use threads_listing_context methods.
1451         (remove_child_of_pending_fork): Adjust.
1452         (remove_new_fork_children): Adjust.
1453         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add rsp-low-selftests.c.
1454         (SUBDIR_UNITTESTS_OBS): Add rsp-low-selftests.o.
1455         * unittests/rsp-low-selftests.c: New file.
1456         * common/rsp-low.h: Include common/byte-vector.h.
1457         (hex2bin): New overload.
1458         * common/rsp-low.c (hex2bin): New overload.
1459
1460 2017-11-24  Simon Marchi  <simon.marchi@ericsson.com>
1461
1462         * inferior.h (private_inferior): Define structure type, add
1463         virtual pure destructor.
1464         (inferior) <priv>: Change type to unique_ptr.
1465         * inferior.c (private_inferior::~private_inferior): Provide
1466         default implementation.
1467         (inferior::~inferior): Don't free priv field.
1468         (exit_inferior_1): Likewise.
1469         * darwin-nat.h (struct darwin_exception_info): Initialize fields.
1470         (darwin_exception_info): Remove typedef.
1471         (DEF_VEC_O (darwin_thread_t)); Remove.
1472         (private_inferior): Rename to ...
1473         (darwin_private_inferior): ... this, extend private_inferior.
1474         (get_darwin_inferior): New.
1475         <threads>: Change type to std::vector of darwin_thread_t pointers.
1476         * darwin-nat.c (darwin_check_new_threads): Adjust.
1477         (find_inferior_task_it): Adjust.
1478         (darwin_find_thread); Adjust.
1479         (darwin_suspend_inferior): Adjust.
1480         (darwin_resume_inferior): Adjust.
1481         (darwin_find_new_inferior): Adjust.
1482         (darwin_decode_notify_message): Adjust.
1483         (darwin_send_reply): Adjust.
1484         (darwin_resume_inferior_threads): Adjust.
1485         (darwin_suspend_inferior_threads): Adjust.
1486         (darwin_decode_message): Adjust.
1487         (darwin_wait): Adjust.
1488         (darwin_interrupt): Adjust.
1489         (darwin_deallocate_threads): Adjust.
1490         (darwin_mourn_inferior): Adjust, don't free private data.
1491         (darwin_reply_to_all_pending_messages): Adjust.
1492         (darwin_stop_inferior): Adjust.
1493         (darwin_setup_exceptions): Adjust.
1494         (darwin_kill_inferior): Adjust.
1495         (darwin_setup_request_notification): Adjust.
1496         (darwin_attach_pid): Adjust.
1497         (darwin_init_thread_list): Adjust.
1498         (darwin_setup_fake_stop_event): Adjust.
1499         (darwin_attach): Adjust.
1500         (darwin_detach): Adjust.
1501         (darwin_xfer_partial): Adjust.
1502         (set_enable_mach_exceptions): Adjust.
1503         (darwin_pid_to_exec_file): Adjust.
1504         (darwin_get_ada_task_ptid): Adjust.
1505         * darwin-nat-info.c (get_task_from_args): Adjust.
1506         (info_mach_ports_command): Adjust.
1507         (info_mach_region_command): Adjust.
1508         (info_mach_exceptions_command): Adjust.
1509         * remote.c (private_inferior): Rename to ...
1510         (remote_private_inferior): ... this, initialize fields.
1511         (get_remote_inferior); New.
1512         (remote_commit_resume): Use get_remote_inferior.
1513         (check_pending_event_prevents_wildcard_vcont_callback): Likewise.
1514
1515 2017-11-24  Pedro Alves  <palves@redhat.com>
1516
1517         * NEWS: Mention linespecs and explicit locations, and completion
1518         improvements.
1519
1520 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1521
1522         * regcache.c (regcache::dump): Remove footnote_register_size.
1523
1524 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1525
1526         * regcache.c (cooked_read_test): Add more test for readonly
1527         regcache.
1528
1529 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1530
1531         * gdbarch-selftests.c (test_target_has_registers): Move it to
1532         target.c.
1533         (test_target_has_stack): Likewise.
1534         (test_target_has_memory): Likewise.
1535         (test_target_prepare_to_store): Likewise.
1536         (test_target_store_registers): Likewise.
1537         (test_target_ops): Likewise.
1538         * regcache.c: Include selftest-arch.h and gdbthread.h.
1539         (target_ops_no_register): New class.
1540         (test_target_fetch_registers): New.
1541         (test_target_store_registers): New.
1542         (test_target_xfer_partial): New.
1543         (readwrite_regcache): New.
1544         (cooked_read_test): New.
1545         (_initialize_regcache): Register the test.
1546         * target.c: (test_target_has_registers): Moved from
1547         gdbarch-selftests.c.
1548         (test_target_has_stack): Likewise.
1549         (test_target_has_memory): Likewise.
1550         (test_target_prepare_to_store): Likewise.
1551         (test_target_store_registers): Likewise.
1552         * target.h (test_target_ops): New class.
1553
1554 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1555
1556         * aarch64-tdep.c (_initialize_aarch64_tdep): Add target desc
1557         selftest.
1558
1559 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1560
1561         * aarch64-tdep.c (_initialize_aarch64_tdep): Remove init.
1562         * arch/aarch64.c (aarch64_create_target_description): Create
1563         new target description.
1564         * features/Makefile: Add new files.
1565         * features/aarch64.c: Remove file.
1566         * features/aarch64-core.c: New autogenerated file.
1567         * features/aarch64-fpu.c: New autogenerated file.
1568         * target-descriptions.c (maint_print_c_tdesc_cmd): Check for aarch64.
1569
1570 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1571
1572         * Makefile.in: Add new files.
1573         * aarch64-linux-nat.c (aarch64_linux_read_description): Call
1574         aarch64_read_description.
1575         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
1576         Call aarch64_read_description.
1577         * aarch64-tdep.c (aarch64_read_description): New function.
1578         (aarch64_gdbarch_init): Call aarch64_read_description.
1579         * aarch64-tdep.h (aarch64_read_description): New function.
1580         * arch/aarch64.c: New file.
1581         * configure.tgt: Add new files.
1582
1583 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1584
1585         * mi/mi-main.c (register_changed_p): Update.
1586         * value.c (value_contents_bits_eq): Change return type.
1587         (value_contents_eq): Likewise.
1588         * value.h: Update comments.
1589
1590 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1591
1592         * mi/mi-main.c (mi_cmd_data_list_changed_registers): Remove
1593         local 'changed'.  Remove error.
1594         (register_changed_p): Change return type to bool.
1595
1596 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1597
1598         * arch/tic6x.c: New file.
1599         * arch/tic6x.h: New file.
1600         * features/Makefile (FEATURE_XMLFILES): Add tic6x-c6xp.xml,
1601         tic6x-core.xml and tic6x-gp.xml.
1602         * features/tic6x-c6xp.c: Generated.
1603         * features/tic6x-core.c: Generated.
1604         * features/tic6x-gp.c: Generated.
1605         * target-descriptions.c (maint_print_c_tdesc_cmd): Match
1606         "tic6x-".
1607
1608 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1609
1610         * mi/mi-main.c (list_available_thread_groups): Change map value
1611         type to std::vector.
1612
1613 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1614
1615         * osdata.c (osdata_end_column, get_osdata): Remove std::move.
1616
1617 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1618
1619         * varobj.c (struct varobj_dynamic) <children_requested_>: Rename
1620         back to...
1621         <children_requested>: ... this.
1622         (varobj_get_num_children, varobj_update): Adjust.
1623
1624 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1625
1626         * ada-varobj.c (ada_value_is_changeable_p): Change int to bool where applicable.
1627         (ada_value_has_mutated): Likewise.
1628         * c-varobj.c (varobj_is_anonymous_child): Likewise.
1629         (c_is_path_expr_parent): Likewise.
1630         * mi/mi-cmd-var.c (varobj_update_one): Likewise.
1631         (mi_cmd_var_set_frozen): Likewise.
1632         (mi_cmd_var_update_iter): Likewise.
1633         (mi_cmd_var_update): Likewise.
1634         * varobj.c (pretty_printing): Likewise.
1635         (varobj_enable_pretty_printing): Likewise.
1636         (struct varobj_root) <floating, is_valid>: Likewise.
1637         (struct varobj_dynamic) <children_requested>: Likewise.
1638         (delete_variable): Likewise.
1639         (delete_variable_1): Likewise.
1640         (install_variable): Likewise.
1641         (update_type_if_necessary): Likewise.
1642         (install_new_value): Likewise.
1643         (value_of_root): Likewise.
1644         (is_root_p): Likewise.
1645         (varobj_create): Likewise.
1646         (varobj_delete): Likewise.
1647         (varobj_has_more): Likewise.
1648         (varobj_set_frozen): Likewise.
1649         (varobj_get_frozen): Likewise.
1650         (install_dynamic_child): Likewise.
1651         (dynamic_varobj_has_child_method): Likewise.
1652         (update_dynamic_varobj_children): Likewise.
1653         (varobj_get_num_children): Likewise.
1654         (varobj_list_children): Likewise.
1655         (is_path_expr_parent): Likewise.
1656         (varobj_default_is_path_expr_parent): Likewise.
1657         (varobj_is_dynamic_p): Likewise.
1658         (varobj_set_value): Likewise.
1659         (varobj_value_has_mutated): Likewise.
1660         (varobj_update): Likewise.
1661         (check_scope): Likewise.
1662         (value_of_root_1): Likewise.
1663         (varobj_value_get_print_value): Likewise.
1664         (varobj_editable_p): Likewise.
1665         (varobj_value_is_changeable_p): Likewise.
1666         (varobj_floating_p): Likewise.
1667         (varobj_default_value_is_changeable_p): Likewise.
1668         (varobj_invalidate_iter): Likewise.
1669         * varobj.h (struct varobj_update_result) <type_changed,
1670         children_changed, changed, value_installed>: Likewise.
1671         (struct varobj) <updated, frozen, not_fetched>: Likewise.
1672         (struct lang_varobj_ops) <value_is_changeable_p,
1673         value_has_mutated, is_path_expr_parent>: Likewise.
1674         (varobj_delete): Likewise.
1675         (varobj_set_frozen): Likewise.
1676         (varobj_get_frozen): Likewise.
1677         (varobj_set_value): Likewise.
1678         (varobj_update): Likewise.
1679         (varobj_editable_p): Likewise.
1680         (varobj_floating_p): Likewise.
1681         (varobj_has_more): Likewise.
1682         (varobj_is_dynamic_p): Likewise.
1683         (varobj_default_value_is_changeable_p): Likewise.
1684         (varobj_value_is_changeable_p): Likewise.
1685         (varobj_is_anonymous_child): Likewise.
1686         (varobj_default_is_path_expr_parent): Likewise.
1687
1688 2017-11-22  Sergio Durigan Junior  <sergiodj@redhat.com>
1689
1690         * dtrace-probe.c (struct probe_ops dtrace_probe_ops): Delete.
1691         (struct dtrace_probe_arg) <dtrace_probe_arg>: New constructor.
1692         <type_str>: Convert to 'std::string'.
1693         <expr>: Convert to 'expression_up'.
1694         (dtrace_probe_arg_s): Delete type and VEC.
1695         (dtrace_probe_enabler_s): Likewise.
1696         (struct dtrace_probe): Replace by...
1697         (class dtrace_static_probe_ops): ...this and...
1698         (class dtrace_probe): ...this.
1699         (dtrace_probe_is_linespec): Rename to...
1700         (dtrace_static_probe_ops::is_linespec): ...this.  Adjust code
1701         to reflect change.
1702         (dtrace_process_dof_probe): Use 'std::vector' instead of VEC.
1703         Adjust code.  Create new instance of 'dtrace_probe'.
1704         (dtrace_build_arg_exprs): Rename to...
1705         (dtrace_probe::build_arg_exprs): ...this.  Adjust code to
1706         reflect change.
1707         (dtrace_get_probes): Rename to...
1708         (dtrace_static_probe_ops::get_probes): ...this.  Adjust code
1709         to reflect change.
1710         (dtrace_get_arg): Rename to...
1711         (dtrace_probe::get_arg_by_number): ...this.  Adjust code to
1712         reflect change.
1713         (dtrace_probe_is_enabled): Rename to...
1714         (dtrace_probe::is_enabled): ...this.  Adjust code to reflect
1715         change.
1716         (dtrace_get_probe_address): Rename to...
1717         (dtrace_probe::get_relocated_address): ...this.  Adjust code
1718         to reflect change.
1719         (dtrace_get_probe_argument_count): Rename to...
1720         (dtrace_probe::get_argument_count): ...this.  Adjust code to
1721         reflect change.
1722         (dtrace_can_evaluate_probe_arguments): Rename to...
1723         (dtrace_probe::can_evaluate_arguments): ...this.  Adjust code
1724         to reflect change.
1725         (dtrace_evaluate_probe_argument): Rename to...
1726         (dtrace_probe::evaluate_argument): ...this.  Adjust code to
1727         reflect change.
1728         (dtrace_compile_to_ax): Rename to...
1729         (dtrace_probe::compile_to_ax): ...this.  Adjust code to
1730         reflect change.
1731         (dtrace_probe_destroy): Delete.
1732         (dtrace_type_name): Rename to...
1733         (dtrace_static_probe_ops::type_name): ...this.  Adjust code to
1734         reflect change.
1735         (dtrace_probe::get_static_ops): New method.
1736         (dtrace_gen_info_probes_table_header): Rename to...
1737         (dtrace_static_probe_ops::gen_info_probes_table_header):
1738         ...this.  Adjust code to reflect change.
1739         (dtrace_gen_info_probes_table_values): Rename to...
1740         (dtrace_probe::gen_info_probes_table_values): ...this.  Adjust
1741         code to reflect change.
1742         (dtrace_enable_probe): Rename to...
1743         (dtrace_probe::enable_probe): ...this.  Adjust code to reflect
1744         change.
1745         (dtrace_disable_probe): Rename to...
1746         (dtrace_probe::disable_probe): ...this.  Adjust code to reflect
1747         change.
1748         (struct probe_ops dtrace_probe_ops): Delete.
1749         (info_probes_dtrace_command): Call 'info_probes_for_spops'
1750         instead of 'info_probes_for_ops'.
1751         (_initialize_dtrace_probe): Use 'all_static_probe_ops' instead
1752         of 'all_probe_ops'.
1753
1754 2017-11-22  Sergio Durigan Junior  <sergiodj@redhat.com>
1755             Simon Marchi  <simark@simark.ca>
1756
1757         * stap-probe.c (struct probe_ops stap_probe_ops): Delete
1758         variable.
1759         (struct stap_probe_arg) <stap_probe_arg>: New constructor.
1760         <aexpr>: Change type to 'expression_up'.
1761         (stap_probe_arg_s): Delete type and VEC.
1762         (struct stap_probe): Delete.  Replace by...
1763         (class stap_static_probe_ops): ...this and...
1764         (class stap_probe): ...this.  Rename variables to add 'm_'
1765         prefix.  Do not use 'union' for arguments anymore.
1766         (stap_get_expected_argument_type): Receive probe name instead
1767         of 'struct stap_probe'.  Adjust code.
1768         (stap_parse_probe_arguments): Rename to...
1769         (stap_probe::parse_arguments): ...this.  Adjust code to
1770         reflect change.
1771         (stap_get_probe_address): Rename to...
1772         (stap_probe::get_relocated_address): ...this.  Adjust code
1773         to reflect change.
1774         (stap_get_probe_argument_count): Rename to...
1775         (stap_probe::get_argument_count): ...this.  Adjust code
1776         to reflect change.
1777         (stap_get_arg): Rename to...
1778         (stap_probe::get_arg_by_number'): ...this. Adjust code to
1779         reflect change.
1780         (can_evaluate_probe_arguments): Rename to...
1781         (stap_probe::can_evaluate_arguments): ...this.  Adjust code
1782         to reflect change.
1783         (stap_evaluate_probe_argument): Rename to...
1784         (stap_probe::evaluate_argument): ...this.  Adjust code
1785         to reflect change.
1786         (stap_compile_to_ax): Rename to...
1787         (stap_probe::compile_to_ax): ...this.  Adjust code to
1788         reflect change.
1789         (stap_probe_destroy): Delete.
1790         (stap_modify_semaphore): Adjust comment.
1791         (stap_set_semaphore): Rename to...
1792         (stap_probe::set_semaphore): ...this.  Adjust code to reflect
1793         change.
1794         (stap_clear_semaphore): Rename to...
1795         (stap_probe::clear_semaphore): ...this.  Adjust code to
1796         reflect change.
1797         (stap_probe::get_static_ops): New method.
1798         (handle_stap_probe): Adjust code to create instance of
1799         'stap_probe'.
1800         (stap_get_probes): Rename to...
1801         (stap_static_probe_ops::get_probes): ...this.  Adjust code to
1802         reflect change.
1803         (stap_probe_is_linespec): Rename to...
1804         (stap_static_probe_ops::is_linespec): ...this.  Adjust code to
1805         reflect change.
1806         (stap_type_name): Rename to...
1807         (stap_static_probe_ops::type_name): ...this.  Adjust code to
1808         reflect change.
1809         (stap_gen_info_probes_table_header): Rename to...
1810         (stap_static_probe_ops::gen_info_probes_table_header):
1811         ...this.  Adjust code to reflect change.
1812         (stap_gen_info_probes_table_values): Rename to...
1813         (stap_probe::gen_info_probes_table_values): ...this.  Adjust
1814         code to reflect change.
1815         (struct probe_ops stap_probe_ops): Delete.
1816         (info_probes_stap_command): Use 'info_probes_for_spops'
1817         instead of 'info_probes_for_ops'.
1818         (_initialize_stap_probe): Use 'all_static_probe_ops' instead
1819         of 'all_probe_ops'.
1820
1821 2017-11-22  Sergio Durigan Junior  <sergiodj@redhat.com>
1822
1823         * break-catch-throw.c (fetch_probe_arguments): Use
1824         'probe.prob' instead of 'probe.probe'.
1825         * breakpoint.c (create_longjmp_master_breakpoint): Call
1826         'can_evaluate_arguments' and 'get_relocated_address' methods
1827         from probe.
1828         (create_exception_master_breakpoint): Likewise.
1829         (add_location_to_breakpoint): Use 'sal->prob' instead of
1830         'sal->probe'.
1831         (bkpt_probe_insert_location): Call 'set_semaphore' method from
1832         probe.
1833         (bkpt_probe_remove_location): Likewise, for 'clear_semaphore'.
1834         * elfread.c (elf_get_probes): Use 'static_probe_ops' instead
1835         of 'probe_ops'.
1836         (probe_key_free): Call 'delete' on probe.
1837         (check_exception_resume): Use 'probe.prob' instead of
1838         'probe.probe'.
1839         * location.c (string_to_event_location_basic): Call
1840         'probe_linespec_to_static_ops'.
1841         * probe.c (class any_static_probe_ops): New class.
1842         (any_static_probe_ops any_static_probe_ops): New variable.
1843         (parse_probes_in_pspace): Receive 'static_probe_ops' as
1844         argument.  Adjust code to reflect change.
1845         (parse_probes): Use 'static_probe_ops' instead of
1846         'probe_ops'.  Adjust code to reflect change.
1847         (find_probes_in_objfile): Call methods to get name and
1848         provider from probe.
1849         (find_probe_by_pc): Use 'result.prob' instead of
1850         'result.probe'.  Call 'get_relocated_address' method from
1851         probe.
1852         (collect_probes): Adjust comment and argument list to receive
1853         'static_probe_ops' instead of 'probe_ops'.  Adjust code to
1854         reflect change.  Call necessary methods from probe.
1855         (compare_probes): Call methods to get name and provider from
1856         probes.
1857         (gen_ui_out_table_header_info): Receive 'static_probe_ops'
1858         instead of 'probe_ops'.  Use 'std::vector' instead of VEC,
1859         adjust code accordingly.
1860         (print_ui_out_not_applicables): Likewise.
1861         (info_probes_for_ops): Rename to...
1862         (info_probes_for_spops): ...this.  Receive 'static_probe_ops'
1863         as argument instead of 'probe_ops'.  Adjust code.  Call
1864         necessary methods from probe.
1865         (info_probes_command): Use 'info_probes_for_spops'.
1866         (enable_probes_command): Pass correct argument to
1867         'collect_probes'.  Call methods from probe.
1868         (disable_probes_command): Likewise.
1869         (get_probe_address): Move to 'any_static_probe_ops::get_address'.
1870         (get_probe_argument_count): Move to
1871         'any_static_probe_ops::get_argument_count'.
1872         (can_evaluate_probe_arguments): Move to
1873         'any_static_probe_ops::can_evaluate_arguments'.
1874         (evaluate_probe_argument): Move to
1875         'any_static_probe_ops::evaluate_argument'.
1876         (probe_safe_evaluate_at_pc): Use 'probe.prob' instead of
1877         'probe.probe'.
1878         (probe_linespec_to_ops): Rename to...
1879         (probe_linespec_to_static_ops): ...this.  Adjust code.
1880         (probe_any_is_linespec): Rename to...
1881         (any_static_probe_ops::is_linespec): ...this.
1882         (probe_any_get_probes): Rename to...
1883         (any_static_probe_ops::get_probes): ...this.
1884         (any_static_probe_ops::type_name): New method.
1885         (any_static_probe_ops::gen_info_probes_table_header): New
1886         method.
1887         (compute_probe_arg): Use 'pc_probe.prob' instead of
1888         'pc_probe.probe'.  Call methods from probe.
1889         (compile_probe_arg): Likewise.
1890         (std::vector<const probe_ops *> all_probe_ops): Delete.
1891         (std::vector<const static_probe_ops *> all_static_probe_ops):
1892         New variable.
1893         (_initialize_probe): Use 'all_static_probe_ops' instead of
1894         'all_probe_ops'.
1895         * probe.h (struct info_probe_column) <field_name>: Delete
1896         extraneous newline
1897         (info_probe_column_s): Delete type and VEC.
1898         (struct probe_ops): Delete.  Replace with...
1899         (class static_probe_ops): ...this and...
1900         (clas probe): ...this.
1901         (struct bound_probe) <bound_probe>: Delete extraneous
1902         newline.  Adjust constructor to receive 'probe' instead of
1903         'struct probe'.
1904         <probe>: Rename to...
1905         <prob>: ...this.  Delete extraneous newline.
1906         <objfile>: Delete extraneous newline.
1907         (register_probe_ops): Delete unused prototype.
1908         (info_probes_for_ops): Rename to...
1909         (info_probes_for_spops): ...this.  Adjust comment.
1910         (get_probe_address): Move to 'probe::get_address'.
1911         (get_probe_argument_count): Move to
1912         'probe::get_argument_count'.
1913         (can_evaluate_probe_arguments): Move to
1914         'probe::can_evaluate_arguments'.
1915         (evaluate_probe_argument): Move to 'probe::evaluate_argument'.
1916         * solib-svr4.c (struct svr4_info): Adjust comment.
1917         (struct probe_and_action) <probe>: Rename to...
1918         <prob>: ...this.
1919         (register_solib_event_probe): Receive 'probe' instead of
1920         'struct probe' as argument.  Use 'prob' instead of 'probe'
1921         when applicable.
1922         (solib_event_probe_action): Call 'get_argument_count' method
1923         from probe.  Adjust comment.
1924         (svr4_handle_solib_event): Adjust comment.  Call
1925         'evaluate_argument' method from probe.
1926         (svr4_create_probe_breakpoints): Call 'get_relocated_address'
1927         from probe.
1928         (svr4_create_solib_event_breakpoints): Use 'probe' instead of
1929         'struct probe'.  Call 'can_evaluate_arguments' from probe.
1930         * symfile.h: Forward declare 'class probe' instead of 'struct
1931         probe'.
1932         * symtab.h: Likewise.
1933         (struct symtab_and_line) <probe>: Rename to...
1934         <prob>: ...this.
1935         * tracepoint.c (start_tracing): Use 'prob' when applicable.
1936         Call probe methods.
1937         (stop_tracing): Likewise.
1938
1939 2017-11-22  Joel Brobecker  <brobecker@adacore.com>
1940
1941         * ravenscar-thread.c (ravenscar_inferior_created): Remove
1942         trailing newline at end of string in call to warning.
1943
1944 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
1945
1946         * osdata.h: Include vector isntead of vec.h.
1947         (osdata_column_s): Remove typedef.
1948         (struct osdata_column): Add constructor.
1949         <name, value>: Change type to std::string.
1950         (DEF_VEC_O (osdata_column_s)): Remove.
1951         (osdata_item_s): Remove typedef.
1952         (struct osdata_item) <columns>: Change type to std::vector.
1953         (DEF_VEC_O (osdata_item_s)): Remove.
1954         (struct osdata): Add constructor.
1955         <type>: Change type to std::string.
1956         <items>: Change type to std::vector.
1957         (osdata_p): Remove typedef.
1958         (DEF_VEC_P (osdata_p)): Remove.
1959         (osdata_parse): Return a unique_ptr.
1960         (osdata_free): Remove.
1961         (make_cleanup_osdata_free): Remove.
1962         (get_osdata): Return a unique_ptr.
1963         (get_osdata_column): Return pointer to std::string, take a
1964         reference to osdata_item as parameter.
1965         * osdata.c (struct osdata_parsing_data) <osdata>: Change type to
1966         unique_ptr.
1967         <property_name>: Change type to std::string.
1968         (osdata_start_osdata): Allocate osdata with new and adjust.
1969         (osdata_start_item): Adjust.
1970         (osdata_start_column): Adjust.
1971         (osdata_end_column): Adjust.
1972         (clear_parsing_data): Remove.
1973         (osdata_parse): Return a unique_ptr and adjust, remove cleanup.
1974         (osdata_item_clear): Remove.
1975         (get_osdata): return a unique_ptr and adjust.
1976         (get_osdata_column): Return a pointer to std::string and adjust.
1977         (info_osdata): Adjust.
1978         * mi/mi-main.c: Include <map>.
1979         (free_vector_of_osdata_items): Remove.
1980         (list_available_thread_groups): Adjust, use std::map instead of
1981         splay tree.
1982
1983 2017-11-22  Simon Marchi  <simon.marchi@ericsson.com>
1984
1985         * stack.c (iterate_over_block_locals): Add LOC_OPTIMIZED_OUT
1986         case in switch.
1987
1988 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
1989
1990         * varobj.h (DEF_VEC_P (varobj_p)): Remove.
1991
1992 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
1993
1994         * varobj.h (struct varobj_update_result): Add constructor, add
1995         move constructor, disable copy and assign, initialize fields.
1996         <newobj>: Change type to std::vector.
1997         (varobj_update): Return std::vector.
1998         * varobj.c (install_dynamic_child): Change VEC parameters to
1999         std::vector and adjust.
2000         (update_dynamic_varobj_children): Likewise.
2001         (varobj_update): Return std::vector and adjust.
2002         * mi/mi-cmd-var.c (varobj_update_one): Adjust to vector changes.
2003
2004 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
2005
2006         * varobj.h (struct varobj) <parent>: Remove const.
2007         <children>: Change type to std::vector.
2008         (varobj_list_children): Return std::vector const reference.
2009         (varobj_restrict_range): Change parameter type to std::vector
2010         const reference.
2011         * varobj.c (varobj_has_more): Adjust.
2012         (varobj_restrict_range): Change parameter type to std::vector
2013         const reference and adjust.
2014         (install_dynamic_child): Adjust.
2015         (update_dynamic_varobj_children): Adjust.
2016         (varobj_list_children): Return std::vector const reference and
2017         adjust.
2018         (varobj_add_child): Adjust.
2019         (update_type_if_necessary): Adjust.
2020         (varobj_update): Adjust.
2021         (delete_variable_1): Adjust.
2022         * ada-varobj.c (ada_value_has_mutated): Adjust.
2023         * mi/mi-cmd-var.c (mi_cmd_var_list_children): Adjust.
2024
2025 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
2026
2027         * varobj.h (struct varobj): Add constructor and destructor,
2028         initialize fields.
2029         * varobj.c (struct varobj_root): Initialize fields.
2030         (struct varobj_dynamic): Initialize fields.
2031         (varobj_create): Use unique_ptr instead of cleanup.  Create
2032         varobj with new instead of new_root_variable.
2033         (delete_variable_1): Free variable with delete instead of
2034         free_variable.
2035         (create_child_with_value): Create variable with new instead of
2036         new_variable.
2037         (varobj::varobj): New.
2038         (varobj::~varobj): New (body mostly coming from free_variable).
2039         (new_variable): Remove.
2040         (free_variable): Remove.
2041         (do_free_variable_cleanup): Remove.
2042         (make_cleanup_free_variable): Remove.
2043
2044 2017-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
2045
2046         * core-regset.c: Remove file.
2047         * Makefile.in (ALLDEPFILES): Remove core-regset.c.
2048
2049 2017-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
2050
2051         * NEWS: Document use of GNU MPFR.
2052         * README: Likewise.
2053
2054         * Makefile.in (LIBMPFR): Add define.
2055         (CLIBS): Add $(LIBMPFR).
2056         * configure.ac: Add --with-mpfr configure option.
2057         * configure: Regenerate.
2058         * config.in: Regenerate.
2059
2060         * target-float.c [HAVE_LIBMPFR]: Include <mpfr.h>.
2061         (class mpfr_float_ops): New type.
2062         (mpfr_float_ops::from_target): Two new overloaded functions.
2063         (mpfr_float_ops::to_target): Likewise.
2064         (mpfr_float_ops::to_string): New function.
2065         (mpfr_float_ops::from_string): Likewise.
2066         (mpfr_float_ops::to_longest): Likewise.
2067         (mpfr_float_ops::from_longest): Likewise.
2068         (mpfr_float_ops::from_ulongest): Likewise.
2069         (mpfr_float_ops::to_host_double): Likewise.
2070         (mpfr_float_ops::from_host_double): Likewise.
2071         (mpfr_float_ops::convert): Likewise.
2072         (mpfr_float_ops::binop): Likewise.
2073         (mpfr_float_ops::compare): Likewise.
2074         (get_target_float_ops): Use mpfr_float_ops if available.
2075
2076 2017-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
2077
2078         * target-float.c: Do not include <math.h>.
2079         Include <cmath> and <limits>.
2080         (DOUBLEST): Do not define.
2081         (class target_float_ops): New type.
2082         (class host_float_ops): New templated type.
2083         (class decimal_float_ops): New type.
2084
2085         (floatformat_to_doublest): Rename to ...
2086         (host_float_ops<T>::from_target): ... this.  Use template type T
2087         instead of DOUBLEST.  Use C++ math routines.  Update recursive calls.
2088         (host_float_ops<T>::from_target): New overload using a type argument.
2089         (floatformat_from_doublest): Rename to ...
2090         (host_float_ops<T>::to_target): ... this.  Use template type T
2091         instead of DOUBLEST.  Use C++ math routines.  Update recursive calls.
2092         (host_float_ops<T>::to_target): New overload using a type argument.
2093         (floatformat_printf_format): New function.
2094         (struct printf_length_modifier): New templated type.
2095         (floatformat_to_string): Rename to ...
2096         (host_float_ops<T>::to_string): ... this.  Use type instead of
2097         floatformat argument.  Use floatformat_printf_format and
2098         printf_length_modifier.  Remove special handling of invalid numbers,
2099         infinities and NaN (moved to target_float_to_string).
2100         (struct scanf_length_modifier): New templated type.
2101         (floatformat_from_string): Rename to ...
2102         (host_float_ops<T>::from_string): ... this.  Use type instead of
2103         floatformat argument.  Use scanf_length_modifier.
2104         (floatformat_to_longest): Rename to ...
2105         (host_float_ops<T>::to_longest): ... this.  Use type instead of
2106         floatformat argument.  Handle out-of-range values deterministically.
2107         (floatformat_from_longest): Rename to ...
2108         (host_float_ops<T>::from_longest): ... this.  Use type instead of
2109         floatformat argument.
2110         (floatformat_from_ulongest): Rename to ...
2111         (host_float_ops<T>::from_ulongest): ... this.  Use type instead of
2112         floatformat argument.
2113         (floatformat_to_host_double): Rename to ...
2114         (host_float_ops<T>::to_host_double): ... this.  Use type instead of
2115         floatformat argument.
2116         (floatformat_from_host_double): Rename to ...
2117         (host_float_ops<T>::from_host_double): ... this.  Use type instead of
2118         floatformat argument.
2119         (floatformat_convert): Rename to ...
2120         (host_float_ops<T>::convert): ... this.  Use type instead of
2121         floatformat arguments.  Remove handling of no-op conversions.
2122         (floatformat_binop): Rename to ...
2123         (host_float_ops<T>::binop): ... this.  Use type instead of
2124         floatformat arguments.
2125         (floatformat_compare): Rename to ...
2126         (host_float_ops<T>::compare): ... this.  Use type instead of
2127         floatformat arguments.
2128
2129         (match_endianness): Use type instead of length/byte_order arguments.
2130         (set_decnumber_context): Likewise.
2131         (decimal_from_number): Likewise.  Update calls.
2132         (decimal_to_number): Likewise.
2133         (decimal_is_zero): Likewise.  Update calls.  Move to earlier in file.
2134         (decimal_float_ops::to_host_double): New dummy function.
2135         (decimal_float_ops::from_host_double): Likewise.
2136         (decimal_to_string): Rename to ...
2137         (decimal_float_ops::to_string): ... this.  Use type instead of
2138         length/byte_order arguments.  Update calls.
2139         (decimal_from_string): Rename to ...
2140         (decimal_float_ops::from_string): ... this.  Use type instead of
2141         length/byte_order arguments.  Update calls.
2142         (decimal_from_longest): Rename to ...
2143         (decimal_float_ops::from_longest): ... this.  Use type instead of
2144         length/byte_order arguments.  Update calls.
2145         (decimal_from_ulongest): Rename to ...
2146         (decimal_float_ops::from_ulongest): ... this.  Use type instead of
2147         length/byte_order arguments.  Update calls.
2148         (decimal_to_longest): Rename to ...
2149         (decimal_float_ops::to_longest): ... this.  Use type instead of
2150         length/byte_order arguments.  Update calls.
2151         (decimal_binop): Rename to ...
2152         (decimal_float_ops::binop): ... this.  Use type instead of
2153         length/byte_order arguments.  Update calls.
2154         (decimal_compare): Rename to ...
2155         (decimal_float_ops::compare): ... this.  Use type instead of
2156         length/byte_order arguments.  Update calls.
2157         (decimal_convert): Rename to ...
2158         (decimal_float_ops::convert): ... this.  Use type instead of
2159         length/byte_order arguments.  Update calls.
2160
2161         (target_float_same_category_p): New function.
2162         (target_float_same_format_p): Likewise.
2163         (target_float_format_length): Likewise.
2164         (enum target_float_ops_kind): New type.
2165         (get_target_float_ops_kind): New function.
2166         (get_target_float_ops): Three new overloaded functions.
2167
2168         (target_float_is_zero): Update call.
2169         (target_float_to_string): Add special handling of invalid numbers,
2170         infinities and NaN (moved from floatformat_to_string).  Use
2171         target_float_ops callback.
2172         (target_float_from_string): Use target_float_ops callback.
2173         (target_float_to_longest): Likewise.
2174         (target_float_from_longest): Likewise.
2175         (target_float_from_ulongest): Likewise.
2176         (target_float_to_host_double): Likewise.
2177         (target_float_from_host_double): Likewise.
2178         (target_float_convert): Add special case for no-op conversions.
2179         Use target_float_ops callback.
2180         (target_float_binop): Use target_float_ops callback.
2181         (target_float_compare): Likewise.
2182
2183 2017-11-22  Yao Qi  <yao.qi@linaro.org>
2184
2185         * python/py-gdb-readline.c (gdbpy_readline_wrapper): Use strcpy.
2186
2187 2017-11-22  Yao Qi  <yao.qi@linaro.org>
2188
2189         * cli/cli-decode.c (help_list): Use memcpy instead of strncpy.
2190         * cp-namespace.c (cp_lookup_transparent_type_loop): Likewise.
2191
2192 2017-11-21  Jerome Guitton  <guitton@adacore.com>
2193
2194         * ravenscar-thread.c (ravenscar_wait): Update inferior ptid
2195         with event ptid from the lower layer before doing the
2196         ravenscar-specific update.
2197
2198 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2199
2200         * ravenscar-thread.c (is_ravenscar_task): Also verify that
2201         the ptid's TID is nonzero.
2202
2203 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2204
2205         * ada-lang.h (ada_get_tcb_types_info): Add declaration.
2206         * ada-tasks.c (ada_get_tcb_types_info): Renames get_tcb_types_info.
2207         Make non-static.  Change return type to char *.  Adjust code
2208         accordingly.  Rewrite the function's documentation.
2209         (read_atcb): Adjust call to get_tcb_types_info accordingly.
2210         * ravenscar-thread.c (ravenscar_inferior_created): Check that
2211         we have enough debugging information in the runtime to support
2212         Ada task debugging before we enable the ravenscar-thread layer.
2213
2214 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2215
2216         * ada-lang.h (ada_get_task_info_from_ptid): Add declaration.
2217         * ada-tasks.c (ada_get_task_info_from_ptid): New function.
2218         * ravenscar-thread.c: Add into comment.
2219         (base_magic_null_ptid): Delete.
2220         (base_ptid): Change documentation.
2221         (ravenscar_active_task): Renames ravenscar_running_thread.
2222         All callers updated throughout.
2223         (is_ravenscar_task, ravenscar_get_thread_base_cpu): New function.
2224         (ravenscar_task_is_currently_active): Likewise.
2225         (get_base_thread_from_ravenscar_task): Ditto.
2226         (ravenscar_update_inferior_ptid): Adjust to handle multiple CPUs.
2227         (ravenscar_runtime_initialized): Likewise.
2228         (get_running_thread_id): Add new parameter "cpu".  Adjust
2229         implementation to handle this new parameter.
2230         (ravenscar_fetch_registers): Small adjustment to use
2231         is_ravenscar_task and ravenscar_task_is_currently_active in
2232         order to decide whether to use the target beneath or this
2233         module's arch_ops.
2234         (ravenscar_store_registers, ravenscar_prepare_to_store): Likewise.
2235         (ravenscar_stopped_by_sw_breakpoint): Use
2236         get_base_thread_from_ravenscar_task to get the underlying
2237         thread, rather than using base_ptid.
2238         (ravenscar_stopped_by_hw_breakpoint, ravenscar_stopped_by_watchpoint)
2239         (ravenscar_stopped_data_address, ravenscar_core_of_thread):
2240         Likewise.
2241         (ravenscar_inferior_created): Do not set base_magic_null_ptid.
2242
2243 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2244
2245         * ada-lang.h (struct ada_task_info) <base_cpu>: New field.
2246         * ada-lang.c (struct atcb_fieldno) <base_cpu>: New field.
2247         (get_tcb_types_info): Set fieldnos.base_cpu.
2248         (read_atcb): Set task_info->base_cpu.
2249         (info_task): Print "Base CPU" info if set by runtime.
2250
2251 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2252
2253         * ravenscar-thread.c (ravenscar_stopped_by_sw_breakpoint)
2254         (ravenscar_stopped_by_hw_breakpoint, ravenscar_stopped_by_watchpoint)
2255         (ravenscar_stopped_data_address, ravenscar_core_of_thread):
2256         New functions.
2257         (init_ravenscar_thread_ops): Set the to_stopped_by_sw_breakpoint,
2258         to_stopped_by_hw_breakpoint, to_stopped_by_watchpoint,
2259         to_stopped_data_address and to_core_of_thread fields of
2260         ravenscar_ops.
2261
2262 2017-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
2263
2264         * ppc-tdep.h (enum powerpc_long_double_abi): New data type.
2265         (struct gdbarch_tdep): New member long_double_abi.
2266         * rs6000-tdep.c (rs6000_gdbarch_init): Initialize long_double_abi
2267         member of tdep struct based on Tag_GNU_Power_ABI_FP attribute.
2268         * ppc-linux-tdep.c (ppc_linux_init_abi): Install long double data
2269         format depending on long_double_abi tdep member.
2270         (ppc_floatformat_for_type): Handle __ibm128 type.
2271
2272 2017-11-20  Simon Marchi  <simon.marchi@polymtl.ca>
2273
2274         * darwin-nat.c (set_enable_mach_exceptions): Constify parameter.
2275
2276 2017-11-21  Pedro Alves  <palves@redhat.com>
2277
2278         * dwarf2read.c (mapped_index::find_name_components_bounds)
2279         <completion mode, upper bound>: Use std::lower_bound instead of
2280         std::upper_bound.
2281         (test_mapped_index_find_name_component_bounds): Remove incorrect
2282         "t1_fund" from expected symbols.
2283
2284 2017-11-21  Pedro Alves  <palves@redhat.com>
2285
2286         * dwarf2read.c (mapped_index::name_components_casing): New field.
2287         (mapped_index) <build_name_components,
2288         find_name_components_bounds): Declare new methods.
2289         (mapped_index::find_name_components_bounds)
2290         (mapped_index::build_name_components): New methods, factored out
2291         from dw2_expand_symtabs_matching_symbol.
2292         (check_find_bounds_finds)
2293         (test_mapped_index_find_name_component_bounds): New.
2294         (run_test): Rename to ...
2295         (test_dw2_expand_symtabs_matching_symbol): ... this.
2296         (run_test): Reimplement.
2297
2298 2017-11-21  Pedro Alves  <palves@redhat.com>
2299
2300         * cp-name-parser.y (cp_ident_is_alpha, cp_ident_is_alnum): New.
2301         (symbol_end): Use cp_ident_is_alnum.
2302         (yylex): Use cp_ident_is_alpha and cp_ident_is_alnum.
2303         * dwarf2read.c (make_sort_after_prefix_name): New function.
2304         (dw2_expand_symtabs_matching_symbol): Use it.
2305         (test_symbols): Add more symbols.
2306         (run_test): Add tests.
2307
2308 2017-11-17  Tom Tromey  <tom@tromey.com>
2309
2310         * symtab.h (enum symbol_subclass_kind): New.
2311         (struct symbol) <is_cplus_template_function, is_rust_vtable>:
2312         Remove.
2313         <subclass>: New member.
2314         (SYMBOL_IS_CPLUS_TEMPLATE_FUNCTION): Update.
2315         * rust-lang.c (rust_get_trait_object_pointer): Update.
2316         * dwarf2read.c (read_func_scope): Update.
2317         (read_variable): Update.
2318
2319 2017-11-17  Tom Tromey  <tom@tromey.com>
2320
2321         * dwarf2read.c (read_func_scope): Update.
2322         * symtab.h (struct template_symbol): Derive from symbol.
2323         <base>: Remove.
2324
2325 2017-11-17  Tom Tromey  <tom@tromey.com>
2326
2327         * symtab.h (struct symbol) <is_rust_vtable>: New member.
2328         (struct rust_vtable_symbol): New.
2329         (find_symbol_at_address): Declare.
2330         * symtab.c (find_symbol_at_address): New function.
2331         * symfile.h (struct quick_symbol_functions)
2332         <find_compunit_symtab_by_address>: New member.
2333         * symfile-debug.c (debug_qf_find_compunit_symtab_by_address): New
2334         function.
2335         (debug_sym_quick_functions): Link to
2336         debug_qf_find_compunit_symtab_by_address.
2337         * rust-lang.c (rust_get_trait_object_pointer): New function.
2338         (rust_evaluate_subexp) <case UNOP_IND>: New case.  Call
2339         rust_get_trait_object_pointer.
2340         * psymtab.c (psym_relocate): Clear psymbol_map.
2341         (psym_fill_psymbol_map, psym_find_compunit_symtab_by_address): New
2342         functions.
2343         (psym_functions): Link to psym_find_compunit_symtab_by_address.
2344         * objfiles.h (struct objfile) <psymbol_map>: New member.
2345         * dwarf2read.c (dwarf2_gdb_index_functions): Update.
2346         (process_die) <DW_TAG_variable>: New case.  Call read_variable.
2347         (rust_containing_type, read_variable): New functions.
2348
2349 2017-11-17  Simon Marchi  <simon.marchi@polymtl.ca>
2350
2351         * common/gdb_vecs.h (DEF_VEC_I (int)): Remove.
2352
2353 2017-11-17  Simon Marchi  <simon.marchi@polymtl.ca>
2354
2355         * common/filestuff.c: Include <algorithm>.
2356         (open_fds): Change type to std::vector<int>.
2357         (do_mark_open_fd): Adjust.
2358         (unmark_fd_no_cloexec): Adjust.
2359         (do_close): Adjust.
2360
2361 2017-11-17  Simon Marchi  <simon.marchi@polymtl.ca>
2362
2363         * breakpoint.c (output_thread_groups): Take an std::vector.
2364         (print_one_breakpoint_location): Adjust.
2365
2366 2017-11-17  Joel Brobecker  <brobecker@adacore.com>
2367
2368         * ada-lang.c (resolve_subexp): Add handling of OP_VAR_MSYM_VALUE.
2369         (ada_evaluate_subexp_for_cast): New function.
2370         (ada_evaluate_subexp) <UNOP_CAST>: Replace code by call to
2371         ada_evaluate_subexp_for_cast.
2372         (ada_evaluate_subexp) <nosideret>: Replace code by call to
2373         eval_skip_value.
2374         * eval.c (evaluate_var_value): Make non-static.
2375         (evaluate_var_msym_value, eval_skip_value): Likewise.
2376         * value.h (evaluate_var_value, evaluate_var_msym_value)
2377         (eval_skip_value): Declare.
2378
2379 2017-11-16  Joel Brobecker  <brobecker@adacore.com>
2380
2381         * ada-lang.c (ada_value_cast): Remove parameter "noside".
2382         Update all callers.
2383
2384 2017-11-16  Pedro Alves  <palves@redhat.com>
2385
2386         * python/py-unwind.c (pyuw_sniffer): Translate
2387         PyExc_KeyboardInterrupt to a GDB Quit exception.
2388
2389 2017-11-16  Pedro Alves  <palves@redhat.com>
2390
2391         * infrun.c (resume_cleanups): Delete.
2392         (resume): No longer install a resume_cleanups cleanup nor call
2393         QUIT.
2394         (proceed): Pass the terminal to the inferior.
2395         (keep_going_pass_signal): No longer install a resume_cleanups
2396         cleanup.
2397
2398 2017-11-16  Pedro Alves  <palves@redhat.com>
2399
2400         * inf-loop.c (inferior_event_handler): Don't swallow the exception
2401         if the prompt is blocked.
2402
2403 2017-11-16  Pedro Alves  <palves@redhat.com>
2404
2405         * breakpoint.c (insert_bp_location): Replace bp_err and
2406         bp_err_message locals by a gdb_exception local.
2407
2408 2017-11-16  Pedro Alves  <palves@redhat.com>
2409
2410         * inflow.c (scoped_ignore_sigttou): New class.
2411         (child_terminal_ours_1, new_tty): Use it.
2412
2413 2017-11-16  Ulrich Weigand  <uweigand@de.ibm.com>
2414
2415         * target-float.c (decimal_from_number): Add byte_order argument and
2416         call match_endianness.  Error if unknown floating-point type.
2417         (decimal_to_number): Add byte_order argument and call match_endianness.
2418         (decimal_from_longest): Update call.  Do not call match_endianness.
2419         (decimal_from_ulongest): Likewise.
2420         (decimal_binop): Likewise.
2421         (decimal_is_zero): Likewise.
2422         (decimal_compare): Likewise.
2423         (decimal_convert): Likewise.
2424
2425 2017-11-16  Phil Muldoon  <pmuldoon@redhat.com>
2426
2427         * python/python.c (gdbpy_rbreak): New function.
2428         * NEWS: Document Python rbreak feature.
2429
2430 2017-11-16  Yao Qi  <yao.qi@linaro.org>
2431
2432         * features/tic6x-c62x.xml: Remove.
2433         * features/tic6x-c64x.xml: Remove.
2434         * features/tic6x-c64xp.xml: Remove.
2435
2436 2017-11-15  John Baldwin  <jhb@FreeBSD.org>
2437
2438         * symtab.h: Include <array>.
2439
2440 2017-11-15  John Baldwin  <jhb@FreeBSD.org>
2441
2442         * bsd-kvm.c (bsd_kvm_cmd): Constify 'arg'.
2443         (bsd_kvm_proc_cmd): Likewise.
2444
2445 2017-11-15  Simon Marchi  <simon.marchi@ericsson.com>
2446
2447         * tui/tui-win.c (window_name_completer): Replace VEC with
2448         std::vector.
2449
2450 2017-11-15  Andrew Cagney  <cagney@gnu.org>
2451
2452         * MAINTAINERS: Remove no-longer applicable entries.
2453
2454 2017-11-15  Andrew Cagney  <cagney@gnu.org>
2455
2456         * MAINTAINERS: Move self to Past Maintainers.
2457
2458 2017-11-15  Yao Qi  <yao.qi@linaro.org>
2459
2460         * features/Makefile (XMLTOC): Remove nios2-linux.xml.
2461         * features/nios2-linux.c: Remove.
2462         * nios2-linux-tdep.c (_initialize_nios2_linux_tdep): Don't call
2463         initialize_tdesc_nios2_linux.
2464
2465 2017-11-15  Yao Qi  <yao.qi@linaro.org>
2466
2467         * m68hc11-tdep.c (M68HC11_NUM_REGS): Change it to
2468         M68HC11_LAST_HARD_REG + 1.
2469
2470 2017-11-14  Paul Carroll  <pcarroll@codesourcery.com>
2471
2472         PR gdb/22388
2473         * remote.c (remote_write_bytes_aux, remote_read_bytes_1,
2474         remote_read_bytes, remote_write_qxfer, remote_xfer_partial):
2475         Return TARGET_XFER_EOF if size of returned data is 0.
2476
2477 2017-11-14  Simon Marchi  <simon.marchi@ericsson.com>
2478
2479         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
2480         memory-map-selftests.c.
2481         (SUBDIR_UNITTESTS_OBS): Add memory-map-selftests.o.
2482         * memory-map.c (memory_map_start_memory): Fix computation of hi
2483         address.
2484         * unittests/memory-map-selftests.c: New file.
2485
2486 2017-11-09  Joel Brobecker  <brobecker@adacore.com>
2487
2488         * ada-lang.c: Fix some typos in the general command documenting
2489         how Ada expressions are being evaluated and how their result
2490         is printed.
2491
2492 2017-11-09  Tom Tromey  <tom@tromey.com>
2493
2494         * psymtab.c (psymbol_hash): Do not hash string contents.
2495         (psymbol_compare): Add comment.
2496
2497 2017-11-09  Tom Tromey  <tom@tromey.com>
2498
2499         * dictionary.c (dict_hash): Move "TKB" check into the "switch".
2500
2501 2017-11-08  Joel Brobecker  <brobecker@adacore.com>
2502
2503         * ada-exp.y (write_var_from_sym): Remove parameter
2504         "orig_left_context".  Update all callers.
2505
2506 2017-11-08  Simon Marchi  <simon.marchi@ericsson.com>
2507
2508         * tracepoint.h (class collection_list) <stringify>: Return
2509         std::vector<std::string>.
2510         (encode_actions_rsp): Change parameters to
2511         std::vector<std::string> *.
2512         * tracepoint.c (collection_list::stringify): Return
2513         std::vector<std::string> and adjust accordingly.
2514         (encode_actions_rsp): Changee parameters to
2515         std::vector<std::string> and adjust accordingly.
2516         * remote.c (free_actions_list),
2517         free_actions_list_cleanup_wrapper): Remove.
2518         (remote_download_tracepoint): Adjust to std::vector.
2519
2520 2017-11-08  Tom Tromey  <tom@tromey.com>
2521
2522         * dwarf2read.c (symbolp): Remove typedef.
2523         (read_func_scope): Use std::vector.
2524         (process_structure_scope): Use std::vector.
2525
2526 2017-11-08  Pedro Alves  <palves@redhat.com>
2527
2528         * ada-lang.c (ada_make_symbol_completion_list): Use
2529         completion_skip_symbol.
2530         * symtab.c (symbol_is_function_or_method(minimal_symbol*)): New.
2531         (symbol_is_function_or_method(symbol*)): New.
2532         (add_symtab_completions): Add complete_symbol_mode parameter.  Use
2533         completion_skip_symbol.
2534         (default_collect_symbol_completion_matches_break_on): Use
2535         completion_skip_symbol.  Pass down mode.
2536         (collect_file_symbol_completion_matches): Pass down mode.
2537         * symtab.h (symbol_is_function_or_method): New declarations.
2538         (completion_skip_symbol): New template function.
2539
2540 2017-11-08  Pedro Alves  <palves@redhat.com>
2541
2542         * linespec.c (iterate_over_all_matching_symtabs): Add
2543         search_domain parameter.  Pass it down to expand_symtabs_matching.
2544         (decode_objc): Request FUNCTIONS_DOMAIN symbols only.
2545         (lookup_prefix_sym): Adjust by passing ALL_DOMAIN as
2546         search_domain.
2547         (add_all_symbol_names_from_pspace): Add search_domain parameter.
2548         Pass it down.
2549         (find_method, find_function_symbols): Request FUNCTIONS_DOMAIN
2550         symbols.
2551         (add_matching_symbols_to_info): Add search_domain parameter.  Pass
2552         it down.
2553
2554 2017-11-08  Pedro Alves  <palves@redhat.com>
2555
2556         * ada-lang.c (ada_make_symbol_completion_list): Remove text and
2557         text_len locals and don't pass them down.
2558         * symtab.c (completion_list_add_name): Remove
2559         sym_text/sym_text_len parameters and adjust.
2560         (completion_list_add_symbol, completion_list_add_msymbol)
2561         (completion_list_objc_symbol, completion_list_add_fields)
2562         (add_symtab_completions): Likewise.
2563         (default_collect_symbol_completion_matches_break_on)
2564         (collect_file_symbol_completion_matches): Remove sym_text_len
2565         local and don't pass it down.
2566         * symtab.h (completion_list_add_name): Remove
2567         sym_text/sym_text_len parameters.
2568
2569 2017-11-08  Pedro Alves  <palves@redhat.com>
2570
2571         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
2572         unittests/lookup_name_info-selftests.c.
2573         (SUBDIR_UNITTESTS_OBS): Add lookup_name_info-selftests.o.
2574         * cp-support.c: Include "selftest.h".
2575         (cp_remove_params_1): Rename from cp_remove_params.  Add
2576         'require_param' parameter, and handle it.
2577         (cp_remove_params): Reimplement.
2578         (cp_remove_params_if_any): New.
2579         (selftests::quote): New.
2580         (selftests::check_remove_params): New.
2581         (selftests::test_cp_remove_params): New.
2582         (_initialize_cp_support): Install
2583         selftests::test_cp_remove_params.
2584         * cp-support.h (cp_remove_params_if_any): Declare.
2585         * dwarf2read.c :Include "selftest.h".
2586         (dw2_expand_symtabs_matching_symbol): Use
2587         lookup_name_info::make_ignore_params.
2588         (selftests::dw2_expand_symtabs_matching::mock_mapped_index)
2589         (selftests::dw2_expand_symtabs_matching::string_or_null)
2590         (selftests::dw2_expand_symtabs_matching::check_match)
2591         (selftests::dw2_expand_symtabs_matching::test_symbols)
2592         (selftests::dw2_expand_symtabs_matching::run_test): New.
2593         (_initialize_dwarf2_read): Register
2594         selftests::dw2_expand_symtabs_matching::run_test.
2595         * psymtab.c (psym_expand_symtabs_matching): Use
2596         lookup_name_info::make_ignore_params.
2597         * symtab.c (demangle_for_lookup_info::demangle_for_lookup_info):
2598         If the lookup name wants to ignore parameters, strip them.
2599         (compare_symbol_name): Remove sym_text/sym_text_len parameters and
2600         code handling '('.
2601         (completion_list_add_name): Don't pass down sym_text/sym_text_len.
2602         (default_collect_symbol_completion_matches_break_on): Don't try to
2603         strip parameters.
2604         * symtab.h (lookup_name_info::lookup_name_info): Add
2605         'ignore_parameters' parameter.
2606         (lookup_name_info::ignore_parameters)
2607         (lookup_name_info::make_ignore_params): New methods.
2608         (lookup_name_info::m_ignore_parameters): New field.
2609         * unittests/lookup_name_info-selftests.c: New file.
2610
2611 2017-11-08  Pedro Alves  <palves@redhat.com>
2612
2613         * dwarf2read.c (dw2_expand_marked_cus)
2614         (dw2_expand_symtabs_matching_symbol): Remove forward declarations.
2615         (dw2_expand_symtabs_matching): Move further below.
2616         (dw2_expand_marked_cus): Reindent.
2617
2618 2017-11-08  Pedro Alves  <palves@redhat.com>
2619
2620         * dwarf2read.c (byte_swap, MAYBE_SWAP): Move higher up in file.
2621         (struct name_component): New.
2622         (mapped_index::name_components): New field.
2623         (mapped_index::symbol_name_at): New method.
2624         (dwarf2_read_index): Call mapped_index ctor.
2625         (dw2_map_matching_symbols): Add comment about name_components
2626         table.
2627         (dw2_expand_symtabs_matching): Factor part to...
2628         (dw2_expand_symtabs_matching_symbol): ... this new function.
2629         Build name components table, and lookup symbols in it before
2630         calling the name matcher.
2631         (dw2_expand_marked_cus): New, factored out from
2632         dw2_expand_symtabs_matching.
2633         (dwarf2_per_objfile_free): Call the mapped_index's dtor.
2634
2635 2017-11-08   Pedro Alves  <palves@redhat.com>
2636
2637         * ada-lang.c (ada_encode): Rename to ..
2638         (ada_encode_1): ... this.  Add throw_errors parameter and handle
2639         it.
2640         (ada_encode): Reimplement.
2641         (match_name): Delete, folded into full_name.
2642         (resolve_subexp): No longer pass the encoded name to
2643         ada_lookup_symbol_list.
2644         (should_use_wild_match): Delete.
2645         (name_match_type_from_name): New.
2646         (ada_lookup_simple_minsym): Use lookup_name_info and the
2647         language's symbol_name_matcher_ftype.
2648         (add_symbols_from_enclosing_procs, ada_add_local_symbols)
2649         (ada_add_block_renamings): Adjust to use lookup_name_info.
2650         (ada_lookup_name): New.
2651         (add_nonlocal_symbols, ada_add_all_symbols)
2652         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list)
2653         (ada_iterate_over_symbols): Adjust to use lookup_name_info.
2654         (ada_name_for_lookup): Delete.
2655         (ada_lookup_encoded_symbol): Construct a verbatim name.
2656         (wild_match): Reverse sense of return type.  Use bool.
2657         (full_match): Reverse sense of return type.  Inline bits of old
2658         match_name here.
2659         (ada_add_block_symbols): Adjust to use lookup_name_info.
2660         (symbol_completion_match): Delete, folded into...
2661         (ada_lookup_name_info::matches): ... .this new method.
2662         (symbol_completion_add): Delete.
2663         (ada_collect_symbol_completion_matches): Add name_match_type
2664         parameter.  Adjust to use lookup_name_info and
2665         completion_list_add_name.
2666         (get_var_value, ada_add_global_exceptions): Adjust to use
2667         lookup_name_info.
2668         (ada_get_symbol_name_cmp): Delete.
2669         (do_wild_match, do_full_match): New functions.
2670         (ada_lookup_name_info::ada_lookup_name_info): New method.
2671         (ada_symbol_name_matches, ada_get_symbol_name_matcher): New
2672         functions.
2673         (ada_language_defn): Install ada_get_symbol_name_matcher.
2674         * ada-lex.l (processId): If name starts with '<', copy it
2675         verbatim.
2676         * block.c (block_iter_match_step, block_iter_match_first)
2677         (block_iter_match_next, block_lookup_symbol)
2678         (block_lookup_symbol_primary, block_find_symbol): Adjust to use
2679         lookup_name_info.
2680         * block.h (block_iter_match_first, block_iter_match_next)
2681         (ALL_BLOCK_SYMBOLS_WITH_NAME): Adjust to use lookup_name_info.
2682         * c-lang.c (c_language_defn, cplus_language_defn)
2683         (asm_language_defn, minimal_language_defn): Adjust comments to
2684         refer to la_get_symbol_name_matcher.
2685         * completer.c (complete_files_symbols)
2686         (collect_explicit_location_matches, symbol_completer): Pass a
2687         symbol_name_match_type down.
2688         * completer.h (class completion_match, completion_match_result):
2689         New classes.
2690         (completion_tracker::reset_completion_match_result): New method.
2691         (completion_tracker::m_completion_match_result): New field.
2692         * cp-support.c (make_symbol_overload_list_block): Adjust to use
2693         lookup_name_info.
2694         (cp_fq_symbol_name_matches, cp_get_symbol_name_matcher): New
2695         functions.
2696         * cp-support.h (cp_get_symbol_name_matcher): New declaration.
2697         * d-lang.c: Adjust comments to refer to
2698         la_get_symbol_name_matcher.
2699         * dictionary.c (dict_vector) <iter_match_first, iter_match_next>:
2700         Adjust to use lookup_name_info.
2701         (dict_iter_match_first, dict_iter_match_next)
2702         (iter_match_first_hashed, iter_match_next_hashed)
2703         (iter_match_first_linear, iter_match_next_linear): Adjust to work
2704         with a lookup_name_info.
2705         * dictionary.h (dict_iter_match_first, dict_iter_match_next):
2706         Likewise.
2707         * dwarf2read.c (dw2_lookup_symbol): Adjust to use lookup_name_info.
2708         (dw2_map_matching_symbols): Adjust to use symbol_name_match_type.
2709         (gdb_index_symbol_name_matcher): New class.
2710         (dw2_expand_symtabs_matching) Adjust to use lookup_name_info and
2711         gdb_index_symbol_name_matcher.  Accept a NULL symbol_matcher.
2712         * f-lang.c (f_collect_symbol_completion_matches): Adjust to work
2713         with a symbol_name_match_type.
2714         (f_language_defn): Adjust comments to refer to
2715         la_get_symbol_name_matcher.
2716         * go-lang.c (go_language_defn): Adjust comments to refer to
2717         la_get_symbol_name_matcher.
2718         * language.c (default_symbol_name_matcher)
2719         (language_get_symbol_name_matcher): New functions.
2720         (unknown_language_defn, auto_language_defn): Adjust comments to
2721         refer to la_get_symbol_name_matcher.
2722         * language.h (symbol_name_cmp_ftype): Delete.
2723         (language_defn) <la_collect_symbol_completion_matches>: Add match
2724         type parameter.
2725         <la_get_symbol_name_cmp>: Delete field.
2726         <la_get_symbol_name_matcher>: New field.
2727         <la_iterate_over_symbols>: Adjust to use lookup_name_info.
2728         (default_symbol_name_matcher, language_get_symbol_name_matcher):
2729         Declare.
2730         * linespec.c (iterate_over_all_matching_symtabs)
2731         (iterate_over_file_blocks): Adjust to use lookup_name_info.
2732         (find_methods): Add language parameter, and use lookup_name_info
2733         and the language's symbol_name_matcher_ftype.
2734         (linespec_complete_function): Adjust.
2735         (lookup_prefix_sym): Use lookup_name_info.
2736         (add_all_symbol_names_from_pspace): Adjust.
2737         (find_superclass_methods): Add language parameter and pass it
2738         down.
2739         (find_method): Pass symbol language down.
2740         (find_linespec_symbols): Don't demangle or Ada encode here.
2741         (search_minsyms_for_name): Add lookup_name_info parameter.
2742         (add_matching_symbols_to_info): Add name_match_type parameter.
2743         Use lookup_name_info.
2744         * m2-lang.c (m2_language_defn): Adjust comments to refer to
2745         la_get_symbol_name_matcher.
2746         * minsyms.c: Include <algorithm>.
2747         (add_minsym_to_demangled_hash_table): Remove table parameter and
2748         add objfile parameter.  Use search_name_hash, and add language to
2749         demangled languages vector.
2750         (struct found_minimal_symbols): New struct.
2751         (lookup_minimal_symbol_mangled, lookup_minimal_symbol_demangled):
2752         New functions.
2753         (lookup_minimal_symbol): Adjust to use them.  Don't canonicalize
2754         input names here.  Use lookup_name_info instead.  Lookup up
2755         demangled names once for each language in the demangled names
2756         vector.
2757         (iterate_over_minimal_symbols): Use lookup_name_info.  Lookup up
2758         demangled names once for each language in the demangled names
2759         vector.
2760         (build_minimal_symbol_hash_tables): Adjust.
2761         * minsyms.h (iterate_over_minimal_symbols): Adjust to pass down a
2762         lookup_name_info.
2763         * objc-lang.c (objc_language_defn): Adjust comment to refer to
2764         la_get_symbol_name_matcher.
2765         * objfiles.h: Include <vector>.
2766         (objfile_per_bfd_storage) <demangled_hash_languages>: New field.
2767         * opencl-lang.c (opencl_language_defn): Adjust comment to refer to
2768         la_get_symbol_name_matcher.
2769         * p-lang.c (pascal_language_defn): Adjust comment to refer to
2770         la_get_symbol_name_matcher.
2771         * psymtab.c (psym_lookup_symbol): Use lookup_name_info.
2772         (match_partial_symbol): Use symbol_name_match_type,
2773         lookup_name_info and psymbol_name_matches.
2774         (lookup_partial_symbol): Use lookup_name_info.
2775         (map_block): Use symbol_name_match_type and lookup_name_info.
2776         (psym_map_matching_symbols): Use symbol_name_match_type.
2777         (psymbol_name_matches): New.
2778         (recursively_search_psymtabs): Use lookup_name_info and
2779         psymbol_name_matches.  Rename 'kind' parameter to 'domain'.
2780         (psym_expand_symtabs_matching): Use lookup_name_info.  Rename
2781         'kind' parameter to 'domain'.
2782         * rust-lang.c (rust_language_defn): Adjust comment to refer to
2783         la_get_symbol_name_matcher.
2784         * symfile-debug.c (debug_qf_map_matching_symbols)
2785         (debug_qf_map_matching_symbols): Use symbol_name_match_type.
2786         (debug_qf_expand_symtabs_matching): Use lookup_name_info.
2787         * symfile.c (expand_symtabs_matching): Use lookup_name_info.
2788         * symfile.h (quick_symbol_functions) <map_matching_symbols>:
2789         Adjust to use symbol_name_match_type.
2790         <expand_symtabs_matching>: Adjust to use lookup_name_info.
2791         (expand_symtabs_matching): Adjust to use lookup_name_info.
2792         * symmisc.c (maintenance_expand_symtabs): Use
2793         lookup_name_info::match_any ().
2794         * symtab.c (symbol_matches_search_name): New.
2795         (eq_symbol_entry): Adjust to use lookup_name_info and the
2796         language's matcher.
2797         (demangle_for_lookup_info::demangle_for_lookup_info): New.
2798         (lookup_name_info::match_any): New.
2799         (iterate_over_symbols, search_symbols): Use lookup_name_info.
2800         (compare_symbol_name): Add language, lookup_name_info and
2801         completion_match_result parameters, and use them.
2802         (completion_list_add_name): Make extern.  Add language and
2803         lookup_name_info parameters.  Use them.
2804         (completion_list_add_symbol, completion_list_add_msymbol)
2805         (completion_list_objc_symbol): Add lookup_name_info parameters and
2806         adjust.  Pass down language.
2807         (completion_list_add_fields): Add lookup_name_info parameters and
2808         adjust.  Pass down language.
2809         (add_symtab_completions): Add lookup_name_info parameters and
2810         adjust.
2811         (default_collect_symbol_completion_matches_break_on): Add
2812         name_match_type parameter, and use it.  Use lookup_name_info.
2813         (default_collect_symbol_completion_matches)
2814         (collect_symbol_completion_matches): Add name_match_type
2815         parameter, and pass it down.
2816         (collect_symbol_completion_matches_type): Adjust.
2817         (collect_file_symbol_completion_matches): Add name_match_type
2818         parameter, and use lookup_name_info.
2819         * symtab.h: Include <string> and "common/gdb_optional.h".
2820         (enum class symbol_name_match_type): New.
2821         (class ada_lookup_name_info): New.
2822         (struct demangle_for_lookup_info): New.
2823         (class lookup_name_info): New.
2824         (symbol_name_matcher_ftype): New.
2825         (SYMBOL_MATCHES_SEARCH_NAME): Use symbol_matches_search_name.
2826         (symbol_matches_search_name): Declare.
2827         (MSYMBOL_MATCHES_SEARCH_NAME): Delete.
2828         (default_collect_symbol_completion_matches)
2829         (collect_symbol_completion_matches)
2830         (collect_file_symbol_completion_matches): Add name_match_type
2831         parameter.
2832         (iterate_over_symbols): Use lookup_name_info.
2833         (completion_list_add_name): Declare.
2834         * utils.c (enum class strncmp_iw_mode): Moved to utils.h.
2835         (strncmp_iw_with_mode): Now extern.
2836         * utils.h (enum class strncmp_iw_mode): Moved from utils.c.
2837         (strncmp_iw_with_mode): Declare.
2838
2839 2017-11-08  Keith Seitz  <keiths@redhat.com>
2840             Pedro Alves  <palves@redhat.com>
2841
2842         * ada-lang.c (ada_language_defn): Install
2843         default_search_name_hash.
2844         * buildsym.c (struct buildsym_compunit): <language>: New field.
2845         (finish_block_internal): Pass language when creating dictionaries.
2846         (start_buildsym_compunit, start_symtab): New language parameters.
2847         Use them.
2848         (restart_symtab): Pass down compilation unit's language.
2849         * buildsym.h (enum language): Forward declare.
2850         (start_symtab): New 'language' parameter.
2851         * c-lang.c (c_language_defn, cplus_language_defn)
2852         (asm_language_defn, minimal_language_defn): Install
2853         default_search_name_hash.
2854         * coffread.c (coff_start_symtab): Adjust.
2855         * d-lang.c (d_language_defn): Install default_search_name_hash.
2856         * dbxread.c (struct symloc): Add 'pst_language' field.
2857         (PST_LANGUAGE): Define.
2858         (start_psymtab, read_ofile_symtab): Use it.
2859         (process_one_symbol): New 'language' parameter.  Pass it down.
2860         * dictionary.c (struct dictionary) <language>: New field.
2861         (DICT_LANGUAGE): Define.
2862         (dict_create_hashed, dict_create_hashed_expandable)
2863         (dict_create_linear, dict_create_linear_expandable): New parameter
2864         'language'.  Set the dictionary's language.
2865         (iter_match_first_hashed): Adjust to rename.
2866         (insert_symbol_hashed): Assert we don't see mismatching
2867         languages.  Adjust to rename.
2868         (dict_hash): Rename to ...
2869         (default_search_name_hash): ... this and make extern.
2870         * dictionary.h (struct language_defn): Forward declare.
2871         (dict_create_hashed): New parameter 'language'.
2872         * dwarf2read.c (dwarf2_start_symtab): Pass down language.
2873         * f-lang.c (f_language_defn): Install default_search_name_hash.
2874         * go-lang.c (go_language_defn): Install default_search_name_hash.
2875         * jit.c (finalize_symtab): Pass compunit's language to dictionary
2876         creation.
2877         * language.c (unknown_language_defn, auto_language_defn):
2878         * language.h (language_defn::la_search_name_hash): New field.
2879         (default_search_name_hash): Declare.
2880         * m2-lang.c (m2_language_defn): Install default_search_name_hash.
2881         * mdebugread.c (new_block): New parameter 'language'.
2882         * mdebugread.c (parse_symbol): Pass symbol language to block
2883         allocation.
2884         (psymtab_to_symtab_1): Pass down language.
2885         (new_symtab): Pass compunit's language to block allocation.
2886         * objc-lang.c (objc_language_defn): Install
2887         default_search_name_hash.
2888         * opencl-lang.c (opencl_language_defn):
2889         * p-lang.c (pascal_language_defn): Install
2890         default_search_name_hash.
2891         * rust-lang.c (rust_language_defn): Install
2892         default_search_name_hash.
2893         * stabsread.h (enum language): Forward declare.
2894         (process_one_symbol): Add 'language' parameter.
2895         * symtab.c (search_name_hash): New function.
2896         * symtab.h (search_name_hash): Declare.
2897         * xcoffread.c (read_xcoff_symtab): Pass language to start_symtab.
2898
2899 2017-11-08  Pedro Alves  <palves@redhat.com>
2900
2901         * cp-name-parser.y (main): Don't initialize extra_chars.
2902
2903 2017-11-07  Tom Tromey  <tom@tromey.com>
2904
2905         * event-top.h (command_handler): Constify.
2906         * record-full.c (cmd_record_full_start): Update.
2907         * thread.c (thread_apply_all_command): Update.
2908         * printcmd.c (eval_command): Update.
2909         * mi/mi-main.c (mi_execute_cli_command): Update.
2910         (mi_execute_async_cli_command): Update.
2911         * tui/tui-stack.c (tui_update_command): Update.
2912         * cli/cli-interp.c (safe_execute_command): Constify.
2913         * record.c (record_start): Update.
2914         (record_start, record_stop, cmd_record_start): Update.
2915         * record-btrace.c (cmd_record_btrace_bts_start): Update.
2916         (cmd_record_btrace_pt_start): Update.
2917         (cmd_record_btrace_start): Update.
2918         (cmd_record_btrace_start): Update.
2919         * reverse.c (exec_reverse_once): Update.
2920         * python/python.c (execute_gdb_command): Don't copy the command.
2921         * event-top.c (command_line_handler): Update.
2922         (command_handler): Constify.
2923         * defs.h (deprecated_call_command_hook): Constify.
2924         * cli/cli-script.h (execute_user_command): Constify.
2925         * cli/cli-script.c (execute_user_command): Constify.
2926         (execute_cmd_pre_hook, execute_cmd_post_hook): Constify.
2927         (enum command_control_type): Update.
2928         * main.c (catch_command_errors): Remove non-const overload.
2929         (catch_command_errors_ftype): Remove.
2930         * python/py-cmd.c (cmdpy_function): Constify.
2931         * guile/scm-cmd.c (cmdscm_function): Constify.
2932         * cli/cli-dump.c (call_dump_func): Constify.
2933         * cli/cli-decode.c (do_const_cfunc): Constify.
2934         (do_sfunc): Constify.
2935         (cmd_func): Constify.
2936         * gdbcmd.h (execute_command, execute_command_to_string): Constify.
2937         * top.h (execute_command): Constify.
2938         * top.c (execute_command): Constify.
2939         (execute_command_to_string): Constify.
2940         (deprecated_call_command_hook): Constify.
2941         * command.h (cmd_func): Constify.
2942         * cli/cli-decode.h (struct cmd_list_element) <func>: Constify.
2943
2944 2017-11-07  Tom Tromey  <tom@tromey.com>
2945
2946         * ada-lang.c (catch_ada_exception_command): Constify.
2947         (catch_assert_command): Constify.
2948         * break-catch-throw.c (catch_catch_command, catch_throw_command)
2949         (catch_rethrow_command): Constify.
2950         (catch_exception_command_1): Constify.
2951         * breakpoint.h (add_catch_command): Constify.
2952         * break-catch-syscall.c (catch_syscall_command_1): Constify.
2953         (catch_syscall_split_args): Constify.
2954         * break-catch-sig.c (catch_signal_command): Constify.
2955         (catch_signal_split_args): Constify.
2956         * cli/cli-decode.h (struct cmd_list_element) <function>: Use
2957         cmd_const_sfunc_ftype.
2958         * cli/cli-decode.c (add_setshow_cmd_full): Constify.
2959         (add_setshow_enum_cmd, add_setshow_auto_boolean_cmd)
2960         (add_setshow_boolean_cmd, add_setshow_filename_cmd)
2961         (add_setshow_string_cmd, struct cmd_list_element)
2962         (add_setshow_optional_filename_cmd, add_setshow_integer_cmd)
2963         (add_setshow_uinteger_cmd, add_setshow_zinteger_cmd)
2964         (add_setshow_zuinteger_unlimited_cmd, add_setshow_zuinteger_cmd):
2965         Constify.
2966         (set_cmd_sfunc): Constify.
2967         (empty_sfunc): Constify.
2968         * command.h (add_setshow_enum_cmd, add_setshow_auto_boolean_cmd)
2969         (add_setshow_boolean_cmd, add_setshow_filename_cmd)
2970         (add_setshow_string_cmd, add_setshow_string_noescape_cmd)
2971         (add_setshow_optional_filename_cmd, add_setshow_integer_cmd)
2972         (add_setshow_uinteger_cmd, add_setshow_zinteger_cmd)
2973         (add_setshow_zuinteger_cmd, add_setshow_zuinteger_unlimited_cmd):
2974         Constify.
2975         (set_cmd_sfunc): Constify.
2976         (cmd_sfunc_ftype): Remove.
2977         * compile/compile.c (set_compile_args): Constify.
2978         * infrun.c (set_disable_randomization): Constify.
2979         * infcmd.c (set_args_command, set_cwd_command): Constify.
2980         * breakpoint.c (set_condition_evaluation_mode): Constify.
2981         (add_catch_command): Constify.
2982         (catch_fork_command_1, catch_exec_command_1)
2983         (catch_load_command_1, catch_unload_command_1): Constify.
2984         (catch_load_or_unload): Constify.
2985         * guile/scm-param.c (pascm_set_func): Constify.
2986         (add_setshow_generic): Constify.
2987         * python/py-param.c (get_set_value): Constify.
2988         * top.h (set_verbose): Constify.
2989         * tui/tui-win.c (tui_set_var_cmd): Constify.
2990         * mi/mi-main.c (set_mi_async_command): Constify.
2991         * cli/cli-logging.c (set_logging_overwrite)
2992         (set_logging_redirect): Constify.
2993         * value.c (set_max_value_size): Constify.
2994         * valprint.c (set_input_radix, set_output_radix): Constify.
2995         * utils.c (set_width_command, set_height_command): Constify.
2996         * typeprint.c (set_print_type_methods, set_print_type_typedefs): Constify.
2997         * tracepoint.c (set_disconnected_tracing)
2998         (set_circular_trace_buffer, set_trace_buffer_size)
2999         (set_trace_user, set_trace_notes, set_trace_stop_notes): Constify.
3000         * top.c (set_history_size_command, set_verbose, set_editing)
3001         (set_gdb_datadir, set_history_filename): Constify.
3002         * target.c (set_targetdebug, maint_set_target_async_command)
3003         (maint_set_target_non_stop_command, set_target_permissions)
3004         (set_write_memory_permission): Constify.
3005         (open_target): Constify.
3006         * target-descriptions.c (set_tdesc_filename_cmd): Constify.
3007         * target-dcache.c (set_stack_cache, set_code_cache): Constify.
3008         * symtab.c (set_symbol_cache_size_handler): Constify.
3009         * symfile.c (set_ext_lang_command): Constify.
3010         * symfile-debug.c (set_debug_symfile): Constify.
3011         * source.c (set_directories_command): Constify.
3012         * solib.c (reload_shared_libraries, gdb_sysroot_changed): Constify.
3013         * serial.c (set_parity): Constify.
3014         * rs6000-tdep.c (powerpc_set_soft_float, powerpc_set_vector_abi): Constify.
3015         * remote.c (set_remote_exec_file, set_remotebreak)
3016         (set_remote_protocol_Z_packet_cmd, set_range_stepping): Constify.
3017         * record.c (set_record_insn_history_size)
3018         (set_record_call_history_size): Constify.
3019         * record-full.c (set_record_full_insn_max_num): Constify.
3020         * proc-api.c (set_procfs_trace_cmd, set_procfs_file_cmd): Constify.
3021         * osabi.c (set_osabi): Constify.
3022         * mips-tdep.c (set_mips64_transfers_32bit_regs)
3023         (reinit_frame_cache_sfunc, mips_abi_update): Constify.
3024         * maint.c (maintenance_set_profile_cmd): Constify.
3025         * linux-thread-db.c (set_libthread_db_search_path): Constify.
3026         * language.c (set_language_command, set_range_command)
3027         (set_case_command): Constify.
3028         * infrun.c (set_non_stop, set_observer_mode)
3029         (set_stop_on_solib_events, set_schedlock_func)
3030         (set_exec_direction_func): Constify.
3031         * infcmd.c (set_inferior_tty_command): Constify.
3032         * disasm.c (set_disassembler_options_sfunc): Constify.
3033         * demangle.c (set_demangling_command): Constify.
3034         * dcache.c (set_dcache_size, set_dcache_line_size): Constify.
3035         * cris-tdep.c (set_cris_version, set_cris_mode)
3036         (set_cris_dwarf2_cfi): Constify.
3037         * corefile.c (set_gnutarget_command): Constify.
3038         * charset.c (set_host_charset_sfunc, set_target_charset_sfunc)
3039         (set_target_wide_charset_sfunc): Constify.
3040         * breakpoint.c (update_dprintf_commands): Constify.
3041         * auto-load.c (set_auto_load_dir, set_auto_load_safe_path): Constify.
3042         * arm-tdep.c (set_fp_model_sfunc, arm_set_abi)
3043         (set_disassembly_style_sfunc): Constify.
3044         * arch-utils.c (set_endian, set_architecture): Constify.
3045         * alpha-tdep.c (reinit_frame_cache_sfunc): Constify.
3046         * agent.c (set_can_use_agent): Constify.
3047
3048 2017-11-07  Tom Tromey  <tom@tromey.com>
3049
3050         * go32-nat.c (go32_sysinfo, go32_sldt, go32_sgdt, go32_sidt)
3051         (go32_pde, go32_pte, go32_pte_for_address): Constify.
3052         * gnu-nat.c (_parse_bool_arg, show_thread_default_pause_cmd)
3053         (set_thread_default_pause_cmd, set_thread_default_run_cmd)
3054         (show_thread_default_run_cmd, set_thread_default_detach_sc_cmd)
3055         (parse_int_arg, show_thread_default_detach_sc_cmd)
3056         (set_signals_cmd, show_signals_cmd, set_sig_thread_cmd)
3057         (show_sig_thread_cmd, set_stopped_cmd, show_stopped_cmd)
3058         (set_exceptions_cmd, show_exceptions_cmd, set_task_pause_cmd)
3059         (show_task_pause_cmd, set_task_detach_sc_cmd)
3060         (show_task_detach_sc_cmd, set_task_exc_port_cmd)
3061         (set_noninvasive_cmd, set_thread_pause_cmd)
3062         (show_thread_pause_cmd, set_thread_run_cmd, show_thread_run_cmd)
3063         (set_thread_detach_sc_cmd, show_thread_detach_sc_cmd)
3064         (set_thread_exc_port_cmd, thread_takeover_sc_cmd): Constify.
3065         * windows-nat.c (display_selectors): Constify.
3066         * cli/cli-decode.h (struct cmd_list_element) <function>: Remove
3067         non-const "cfunc".
3068         * cli/cli-decode.c (set_cmd_cfunc): Remove non-const overload.
3069         (cmd_cfunc_eq): Likewise.
3070         (struct cmd_list_element): Likewise.
3071         (do_cfunc): Remove.
3072         (cli_user_command_p): Update.
3073         * command.h (add_cmd): Remove non-const overload.
3074         (cmd_cfunc_ftype): Remove typedef.
3075         (cmd_cfunc_eq): Remove non-const overload.
3076         * value.c (show_values): Constify.
3077         * thread.c (thread_apply_all_command): Constify.
3078         * symfile.c (load_command): Constify.
3079         * source.c (directory_command): Constify.
3080         * maint.c (maintenance_internal_error)
3081         (maintenance_demangler_warning, maintenance_space_display)
3082         (maintenance_print_architecture, maintenance_translate_address)
3083         (maintenance_info_selftests, maintenance_internal_warning):
3084         Constify.
3085         * breakpoint.c (disable_trace_command, enable_trace_command):
3086         Constify.
3087         * auto-load.c (info_auto_load_local_gdbinit, add_auto_load_dir):
3088         Constify.
3089         (add_auto_load_safe_path): Constify.
3090         * guile/scm-auto-load.c (info_auto_load_guile_scripts): Constify.
3091         * top.h (show_commands): Constify.
3092         * linux-thread-db.c (info_auto_load_libthread_db): Constify.
3093         * sparc64-tdep.c (adi_examine_command): Constify.
3094         (adi_assign_command): Constify.
3095
3096 2017-11-07  Tom Tromey  <tom@tromey.com>
3097
3098         * frame.h (info_locals_command, info_args_command): Constify.
3099         * auto-load.h (auto_load_info_scripts): Constify.
3100         * inferior.h (registers_info): Constify.
3101         * copying.c: Rebuild.
3102         * copying.awk: Constify generated commands.
3103         * auto-load.c (auto_load_info_scripts)
3104         (info_auto_load_gdb_scripts): Constify.
3105         * cli/cli-decode.c (struct cmd_list_element): Take a
3106         cmd_const_cfunc_ftype.
3107         * command.h (add_info): Take a cmd_const_cfunc_ftype.
3108         * tui/tui-win.c (tui_all_windows_info): Constify.
3109         * python/py-auto-load.c (info_auto_load_python_scripts):
3110         Constify.
3111         * cli/cli-cmds.c (show_command): Remove non-const overload.
3112         * tracepoint.c (info_tvariables_command, info_scope_command):
3113         Constify.
3114         (info_static_tracepoint_markers_command): Constify.
3115         * thread.c (info_threads_command): Constify.
3116         (print_thread_info_1): Constify.
3117         * target.c (info_target_command): Constify.
3118         * symtab.c (info_sources_command, info_functions_command)
3119         (info_types_command): Constify.
3120         (info_variables_command): Remove non-const overload.
3121         * symfile.c (info_ext_lang_command): Constify.
3122         * stack.c (info_frame_command, info_locals_command)
3123         (info_args_command): Constify.
3124         (backtrace_command): Remove non-const overload.
3125         * source.c (info_source_command, info_line_command): Constify.
3126         * solib.c (info_sharedlibrary_command): Constify.
3127         * skip.c (info_skip_command): Constify.
3128         * ser-go32.c (info_serial_command): Constify.
3129         * reverse.c (info_bookmarks_command): Constify.
3130         * printcmd.c (info_symbol_command, info_address_command)
3131         (info_display_command): Constify.
3132         * osdata.c (info_osdata_command): Constify.
3133         * objc-lang.c (info_selectors_command, info_classes_command):
3134         Constify.
3135         * nto-procfs.c (procfs_pidlist, procfs_meminfo): Constify.
3136         * memattr.c (info_mem_command): Constify.
3137         * macrocmd.c (info_macro_command, info_macros_command): Constify.
3138         * linux-fork.c (info_checkpoints_command): Constify.
3139         * infrun.c (info_signals_command): Constify.
3140         * inflow.c (info_terminal_command): Constify.
3141         * inferior.c (info_inferiors_command): Constify.
3142         (print_inferior): Constify.
3143         * infcmd.c (info_program_command, info_all_registers_command)
3144         (info_registers_command, info_vector_command)
3145         (info_float_command): Constify.
3146         (registers_info): Constify.
3147         * gnu-nat.c (info_send_rights_cmd, info_recv_rights_cmd)
3148         (info_port_sets_cmd, info_dead_names_cmd, info_port_rights_cmd):
3149         Constify.
3150         * f-valprint.c (info_common_command): Constify.
3151         * dcache.c (info_dcache_command): Constify.
3152         (dcache_info_1): Constify.
3153         * darwin-nat-info.c (info_mach_tasks_command)
3154         (info_mach_task_command, info_mach_ports_command)
3155         (info_mach_port_command, info_mach_threads_command)
3156         (info_mach_thread_command, info_mach_regions_command)
3157         (info_mach_regions_recurse_command, info_mach_region_command)
3158         (info_mach_exceptions_command): Constify.
3159         (get_task_from_args): Constify.
3160         * cp-support.c (info_vtbl_command): Constify.
3161         * breakpoint.c (info_watchpoints_command)
3162         (info_tracepoints_command): Constify.
3163         (info_breakpoints_command): Remove non-const overload.
3164         * avr-tdep.c (avr_io_reg_read_command): Constify.
3165         * auxv.c (info_auxv_command): Constify.
3166         * ada-tasks.c (info_tasks_command): Constify.
3167         (info_task): Constify.
3168         * ada-lang.c (info_exceptions_command): Constify.
3169
3170 2017-11-07  Tom Tromey  <tom@tromey.com>
3171
3172         * solib.h (no_shared_libraries): Constify.
3173         * frame.h (return_command): Constify.
3174         * cli/cli-cmds.h (quit_command): Constify.
3175         * top.h (quit_command, execute_command): Constify.
3176         * target.h (flash_erase_command): Constify.
3177         * inferior.h (set_inferior_args, attach_command): Constify.
3178         * tracepoint.h (start_tracing, stop_tracing): Constify.
3179         * breakpoint.h (break_command, tbreak_command)
3180         (hbreak_command_wrapper, thbreak_command_wrapper)
3181         (rbreak_command_wrapper, watch_command_wrapper)
3182         (awatch_command_wrapper, rwatch_command_wrapper)
3183         (get_tracepoint_by_number): Constify.
3184         * symtab.c (info_variables_command, rbreak_command)
3185         (symtab_symbol_info): Constify.
3186         (info_variables_command): Add non-const overload.
3187         * top.c (dont_repeat_command): Constify.
3188         * breakpoint.c (ignore_command, commands_command)
3189         (condition_command, tbreak_command, hbreak_command)
3190         (thbreak_command, clear_command, break_command)
3191         (info_breakpoints_command, watch_command, rwatch_command)
3192         (awatch_command, trace_command, ftrace_command, strace_command)
3193         (trace_pass_command, break_range_command, dprintf_command)
3194         (agent_printf_command, get_tracepoint_by_number)
3195         (watch_maybe_just_location, trace_pass_command): Constify.
3196         (info_breakpoints_command): Add non-const overload.
3197         * tracefile.c (tsave_command): Constify.
3198         * infcmd.c (attach_command, disconnect_command, signal_command)
3199         (queue_signal_command, stepi_command, nexti_command)
3200         (finish_command, next_command, step_command, until_command)
3201         (advance_command, jump_command, continue_command, run_command)
3202         (start_command, starti_command, interrupt_command)
3203         (run_command_1, set_inferior_args, step_1): Constify.
3204         * inferior.c (add_inferior_command, remove_inferior_command)
3205         (clone_inferior_command): Constify.
3206         * linux-fork.c (checkpoint_command, restart_command): Constify.
3207         * windows-nat.c (signal_event_command): Constify.
3208         * guile/guile.c (guile_repl_command, guile_command): Constify.
3209         * printcmd.c (x_command, display_command, printf_command)
3210         (output_command, set_command, call_command, print_command)
3211         (eval_command): Constify.
3212         (non_const_set_command): Remove.
3213         (_initialize_printcmd): Update.
3214         * source.c (forward_search_command, reverse_search_command):
3215         Constify.
3216         * jit.c (jit_reader_load_command, jit_reader_unload_command):
3217         Constify.
3218         * infrun.c (handle_command): Constify.
3219         * memattr.c (mem_command): Constify.
3220         * stack.c (return_command, up_command, up_silently_command)
3221         (down_command, down_silently_command, frame_command)
3222         (backtrace_command, func_command, backtrace_command_1): Constify.
3223         (backtrace_command): Add non-const overload.
3224         * remote-sim.c (simulator_command): Constify.
3225         * exec.c (set_section_command): Constify.
3226         * tracepoint.c (tdump_command, trace_variable_command)
3227         (tstatus_command, tstop_command, tstart_command)
3228         (end_actions_pseudocommand, while_stepping_pseudocommand)
3229         (collect_pseudocommand, teval_pseudocommand, actions_command)
3230         (start_tracing, stop_tracing): Constify.
3231         * value.c (init_if_undefined_command): Constify.
3232         * tui/tui-stack.c (tui_update_command): Constify.
3233         * tui/tui-win.c (tui_refresh_all_command)
3234         (tui_set_tab_width_command, tui_set_win_height_command)
3235         (tui_set_focus_command, tui_scroll_forward_command)
3236         (tui_scroll_backward_command, tui_scroll_left_command)
3237         (tui_scroll_right_command, parse_scrolling_args, tui_set_focus)
3238         (tui_set_win_height): Constify.
3239         * tui/tui-layout.c (tui_layout_command): Constify.
3240         * procfs.c (proc_trace_syscalls, proc_trace_sysentry_cmd)
3241         (proc_trace_sysexit_cmd, proc_untrace_sysentry_cmd)
3242         (proc_untrace_sysexit_cmd): Constify.
3243         * remote.c (threadlist_test_cmd, threadinfo_test_cmd)
3244         (threadset_test_cmd, threadlist_update_test_cmd)
3245         (threadalive_test): Constify.
3246         * objc-lang.c (print_object_command): Constify.
3247         * command.h (add_com): Constify.
3248         * cli/cli-dump.c (restore_command): Constify.
3249         * cli/cli-cmds.c (pwd_command, echo_command, quit_command)
3250         (help_command, complete_command, shell_command, edit_command)
3251         (list_command, disassemble_command, make_command)
3252         (apropos_command, alias_command): Constify.
3253         * cli/cli-script.c (document_command, define_command)
3254         (while_command, if_command, validate_comname): Constify.
3255         * cli/cli-decode.c (struct cmd_list_element): Change type of
3256         "fun".
3257         * target.c (do_monitor_command, flash_erase_command): Constify.
3258         * regcache.c (reg_flush_command): Constify.
3259         * reverse.c (reverse_step, reverse_next, reverse_stepi)
3260         (reverse_nexti, reverse_continue, reverse_finish)
3261         (save_bookmark_command, goto_bookmark_command)
3262         (exec_reverse_once): Constify.
3263         * python/python.c (python_interactive_command, python_command):
3264         Constify.
3265         * typeprint.c (ptype_command, whatis_command, whatis_exp):
3266         Constify.
3267         * solib.c (sharedlibrary_command, no_shared_libraries): Constify.
3268         * gcore.c (gcore_command): Constify.
3269
3270 2017-11-07  Tom Tromey  <tom@tromey.com>
3271
3272         * printcmd.c (x_command): Call set_repeat_arguments.
3273         * cli/cli-cmds.c (list_command): Call set_repeat_arguments.
3274         * top.c (repeat_arguments): New global.
3275         (set_repeat_arguments): New function.
3276         (execute_command): Handle repeat_arguments.
3277         (show_commands): Calls set_repeat_arguments.
3278         * command.h (set_repeat_arguments): Declare.
3279
3280 2017-11-07  Tom Tromey  <tom@tromey.com>
3281
3282         * stack.c (backtrace_command): Use std::string.
3283         (backtrace_command_1): Make "count_exp" const.
3284
3285 2017-11-07  Tom Tromey  <tom@tromey.com>
3286
3287         * source.c (directory_switch, mod_path, add_path): Constify.
3288         * defs.h (add_path, mod_path, directory_switch): Constify.
3289         * mi/mi-cmd-env.c (env_mod_path): Constify.
3290
3291 2017-11-07  Tom Tromey  <tom@tromey.com>
3292
3293         * infcmd.c (strip_bg_char): Return gdb::unique_xmalloc_ptr.
3294         (run_command_1, continue_command, step_1, jump_command)
3295         (signal_command, until_command, advance_command, finish_command)
3296         (attach_command): Update.
3297
3298 2017-11-07  Tom Tromey  <tom@tromey.com>
3299
3300         * command.h (set_cmd_cfunc): Don't declare.
3301         * cli/cli-decode.c (set_cmd_cfunc): Now static.
3302
3303 2017-11-07  Tom Tromey  <tom@tromey.com>
3304
3305         * stack.c (select_frame_command): Constify.
3306         * cli/cli-decode.c (add_com_suppress_notification): Constify.
3307         * command.h (add_com_suppress_notification): Constify.
3308
3309 2017-11-07  Tom Tromey  <tom@tromey.com>
3310
3311         * breakpoint.c (stop_command): Constify.
3312         * cli/cli-decode.c (struct cmd_list_element): Constify.
3313         * command.h (add_abbrev_prefix_cmd): Constify.
3314
3315 2017-11-07  Pedro Alves  <palves@redhat.com>
3316
3317         * breakpoint.c (extract_bp_kind): New enum.
3318         (extract_bp_num, extract_bp_or_bp_range): New functions, partially
3319         factored out from ...
3320         (extract_bp_number_and_location): ... here.
3321         * cli/cli-utils.c (get_number_trailer): Handle '-$variable'.
3322
3323 2017-11-07  Pedro Alves  <palves@redhat.com>
3324
3325         * breakpoint.c (extract_bp_number_and_location): Change return
3326         type to void.  Throw error instead of warning.
3327         (enable_disable_command): Adjust.
3328
3329 2017-11-07  Xavier Roirand  <roirand@adacore.com>
3330             Pedro Alves  <palves@redhat.com>
3331
3332         * breakpoint.c (map_breakpoint_number_range): New, factored out
3333         from ...
3334         (map_breakpoint_numbers): ... here.
3335         (find_location_by_number): Change parameters from string to
3336         breakpoint number and location.
3337         (extract_bp_number_and_location): New function.
3338         (enable_disable_bp_num_loc)
3339         (enable_disable_breakpoint_location_range)
3340         (enable_disable_command): New functions, factored out ...
3341         (enable_command, disable_command): ... these functions, and
3342         adjusted to support ranges.
3343         * NEWS: Document enable/disable breakpoint location range feature.
3344
3345 2017-11-06  Luis Machado  <luis.machado@linaro.org>
3346
3347         * MAINTAINERS (Write After Approval): Update my e-mail address.
3348
3349 2017-11-06  Pedro Alves  <palves@redhat.com>
3350
3351         * gnu-nat.c (gnu_terminal_init): Delete.
3352         (gnu_target): Don't install gnu_terminal_init.
3353         * inflow.c (child_terminal_init_with_pgrp): Delete, merged with ...
3354         (child_terminal_init): ... this function.
3355
3356 2017-11-06  Pedro Alves  <palves@redhat.com>
3357
3358         * common/common.m4 (GDB_AC_COMMON): No longer check termio.h nor
3359         sgtty.h.
3360         * config.in, configure: Regenerate.
3361
3362 2017-11-06  Pedro Alves  <palves@redhat.com>
3363
3364         * event-top.c: Check SIGTSTP instead of STOP_SIGNAL thoughout.
3365         (async_init_signals): Adjust.
3366         (handle_stop_sig): Rename to ...
3367         (handle_sigtstp): ... this.
3368         (async_stop_sig): Rename to ...
3369         (async_sigtstp_handler): ... this, and delete STOP_SIGNAL !=
3370         SIGTSTP path.
3371         * event-top.h: Move signal.h include to the top.  Check SIGTSTP
3372         instead of STOP_SIGNAL thoughout.
3373         (handle_stop_sig): Rename to ...
3374         (handle_sigtstp): ... this.
3375         * top.c (command_line_input): Replace STOP_SIGNAL -> SIGTSTP.
3376
3377 2017-11-06  Pedro Alves  <palves@redhat.com>
3378
3379         * inflow.c (child_terminal_inferior, child_terminal_ours_1): No
3380         longer set flags twice in row.
3381
3382 2017-11-06  Pedro Alves  <palves@redhat.com>
3383
3384         * Makefile.in (SER_HARDWIRE): Update comment.
3385         (HFILES_NO_SRCDIR): Remove gdb_termios.h.
3386         * common/gdb_termios.h: Delete file.
3387         * common/job-control.c: Include termios.h and unistd.h instead of
3388         gdb_termios.h.
3389         (gdb_setpgid): Remove HAVE_TERMIOS || TIOCGPGRP preprocessor
3390         check.
3391         (have_job_control): Check HAVE_TERMIOS_H instead of HAVE_TERMIOS.
3392         Remove sgtty code.
3393         * configure.ac: No longer check for termio.h and sgtty.h.
3394         * configure: Regenerate.
3395         * inflow.c: Include termios.h instead of gdb_termios.h.  Replace
3396         PROCESS_GROUP_TYPE checks with HAVE_TERMIOS_H checks throughout.
3397         Replace PROCESS_GROUP_TYPE references with pid_t references
3398         throughout.
3399         (gdb_getpgrp): Delete.
3400         (set_initial_gdb_ttystate): Use tcgetpgrp instead of gdb_getpgrp.
3401         (child_terminal_inferior): Remove comment.  Remove sgtty code.
3402         (child_terminal_ours_1): Use tcgetpgrp directly instead of
3403         gdb_getpgrp.  Use serial_set_tty_state instead aof
3404         serial_noflush_set_tty_state.  Remove sgtty code.
3405         * inflow.h: Include unistd.h instead of gdb_termios.h.  Replace
3406         PROCESS_GROUP_TYPE check with HAVE_TERMIOS_H check.
3407         (inferior_process_group): Now returns pid_t.
3408         * ser-base.c (ser_base_noflush_set_tty_state): Delete.
3409         * ser-base.h (ser_base_noflush_set_tty_state): Delete.
3410         * ser-event.c (serial_event_ops): Update.
3411         * ser-go32.c (dos_noflush_set_tty_state): Delete.
3412         (dos_ops): Update.
3413         * ser-mingw.c (hardwire_ops, tty_ops, pipe_ops, tcp_ops): Update.
3414         * ser-pipe.c (pipe_ops): Update.
3415         * ser-tcp.c (tcp_ops): Update.
3416         * ser-unix.c: Include termios.h instead of gdb_termios.h.  Remove
3417         HAVE_TERMIOS checks.
3418         [HAVE_TERMIO] (struct hardwire_ttystate): Delete.
3419         [HAVE_SGTTY] (struct hardwire_ttystate): Delete.
3420         (get_tty_state, set_tty_state): Drop termio and sgtty code, and
3421         assume termios.
3422         (hardwire_noflush_set_tty_state): Delete.
3423         (hardwire_print_tty_state, hardwire_drain_output)
3424         (hardwire_flush_output, hardwire_flush_input)
3425         (hardwire_send_break, hardwire_raw, hardwire_setbaudrate)
3426         (hardwire_setstopbits, hardwire_setparity): Drop termio and sgtty
3427         code, and assume termios.
3428         (hardwire_ops): Update.
3429         (_initialize_ser_hardwire): Remove HAVE_TERMIOS check.
3430         * serial.c (serial_noflush_set_tty_state): Delete.
3431         * serial.h (serial_noflush_set_tty_state): Delete.
3432         (serial_ops::noflush_set_tty_state): Delete.
3433
3434 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3435
3436         * Makefile.in (SFILES): Remove doublest.c and dfp.c.
3437         (HFILES_NO_SRCDIR): Remove doublest.h and dfp.h.
3438         (COMMON_OBS): Remove doublest.o and dfp.o.
3439         Do not build target-float.c (instead of doublest.c)
3440         with -Wformat-nonliteral.
3441
3442         * doublest.c: Remove file.
3443         * doublest.h: Remove file.
3444         * dfp.c: Remove file.
3445         * dfp.h: Remove file.
3446
3447         * target-float.c: Do not include "doublest.h" and "dfp.h".
3448         (DOUBLEST): Move here from doublest.h.
3449         (enum float_kind): Likewise.
3450         (FLOATFORMAT_CHAR_BIT): Likewise.
3451         (FLOATFORMAT_LARGEST_BYTES): Likewise.
3452         (floatformat_totalsize_bytes): Move here from doublest.c.  Make static.
3453         (floatformat_precision): Likewise.
3454         (floatformat_normalize_byteorder, get_field, put_field): Likewise.
3455         (floatformat_is_negative, floatformat_classify, floatformat_mantissa):
3456         Likewise.
3457         (host_float_format, host_double_format, host_long_double_format):
3458         Likewise.
3459         (floatformat_to_string, floatformat_from_string): Likewise.
3460         (floatformat_to_doublest): Likewise.  Also, inline the original
3461         convert_floatformat_to_doublest.
3462         (floatformat_from_doublest): Likewise.  Also, inline the original
3463         convert_floatformat_from_doublest.
3464
3465         Include "dpd/decimal128.h", "dpd/decimal64.h", and "dpd/decimal32.h".
3466         (MAX_DECIMAL_STRING): Move here from dfp.c.
3467         (match_endianness): Likewise.
3468         (set_decnumber_context, decimal_check_errors): Likewise.
3469         (decimal_from_number, decimal_to_number): Likewise.
3470         (decimal_to_string, decimal_from_string): Likewise.  Make static.
3471         (decimal_from_longest, decimal_from_ulongest): Likewise.
3472         (decimal_to_longest): Likewise.
3473         (decimal_binop, decimal_is_zero, decimal_compare): Likewise.
3474         (decimal_convert): Likewise.
3475
3476 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3477
3478         * doublest.c: Do not include "gdbtypes.h".
3479         (extract_typed_floating): Remove.
3480         (store_typed_floating): Remove.
3481         (convert_typed_floating): Remove.
3482         * doublest.h (struct type): Remove.
3483         (DOUBLEST_PRINT_FORMAT): Remove.
3484         (DOUBLEST_SCAN_FORMAT): Remove.
3485         (extract_typed_floating): Remove.
3486         (store_typed_floating): Remove.
3487         (convert_typed_floating): Remove.
3488
3489         * dfp.c (decimal_from_doublest): Remove.
3490         (decimal_to_doublest): Remove.
3491         * dfp.h: Do not include "doublest.h".
3492         (decimal_from_doublest): Remove.
3493         (decimal_to_doublest): Remove.
3494
3495         * value.c: Do not include "doublest.h" and "dfp.h".
3496         (value_as_double): Remove.
3497         (unpack_double): Remove.
3498         (value_from_double): Remove.
3499         (value_from_decfloat): Remove.
3500         * value.h: Do not include "doublest.h".
3501         (value_as_double): Remove.
3502         (unpack_double): Remove.
3503         (value_from_double): Remove.
3504         (value_from_decfloat): Remove.
3505
3506 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3507
3508         * i386-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3509         (i386_extract_return_value): Use target_float_convert.
3510         (i386_store_return_value): Likewise.
3511         * i387-tdep.c (i387_register_to_value): Use target_float_convert.
3512         (i387_value_to_register): Likewise.
3513         * ia64-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3514         (ia64_register_to_value): Use target_float_convert.
3515         (ia64_value_to_register): Likewise.
3516         (ia64_extract_return_value): Likewise.
3517         (ia64_store_return_value): Likewise.
3518         (ia64_push_dummy_call): Likewise.
3519         * m68k-tdep.c: Include "target-float.h".
3520         (m68k_register_to_value): Use target_float_convert.
3521         (m68k_value_to_register): Likewise.
3522         (m68k_svr4_extract_return_value): Likewise.
3523         (m68k_svr4_store_return_value): Likewise.
3524         * ppc-sysv-tdep.c: Include "target-float.h".
3525         (ppc_sysv_abi_push_dummy_call): Use target_float_convert.
3526         (do_ppc_sysv_return_value): Likewise.
3527         (ppc64_sysv_abi_push_freg): Likewise.
3528         (ppc64_sysv_abi_return_value_base): Likewise.
3529         * rs6000-aix-tdep.c: Include "target-float.h".
3530         (rs6000_push_dummy_call): Use target_float_convert.
3531         (rs6000_return_value): Likewise.
3532         * rs6000-lynx178-tdep.c: Include "target-float.h".
3533         (rs6000_lynx178_push_dummy_call): Use target_float_convert.
3534         (rs6000_lynx178_return_value): Likewise.
3535         * rs6000-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3536         (rs6000_register_to_value): Use target_float_convert.
3537         (rs6000_value_to_register): Likewise.
3538         * arm-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3539         (arm_extract_return_value): Use target_float_convert.
3540         (arm_store_return_value): Likewise.
3541         * sh-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3542         (sh_register_convert_to_virtual): Use target_float_convert.
3543         (sh_register_convert_to_raw): Likewise.
3544         * sh64-tdep.c: Include "target-float.h".
3545         (sh64_extract_return_value): Use target_float_convert.
3546         (sh64_register_convert_to_virtual): Likewise.
3547         (sh64_register_convert_to_raw): Likewise.  Fix argument types.
3548
3549 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3550
3551         * target-float.c (floatformat_to_host_double): New function.
3552         (floatformat_from_host_double): Likewise.
3553         (target_float_to_host_double): Likewise.
3554         (target_float_from_host_double): Likewise.
3555         * target-float.h (target_float_to_host_double): Add prototype.
3556         (target_float_from_host_double): Likewise.
3557
3558         * guile/scm-value.c: Include "target-float.h".
3559         (gdbscm_value_to_real): Use target_float_to_host_double.
3560         Handle integer source values via value_as_long.
3561         * guile/scm-math.c: Include "target-float.h".  Do not include
3562         "doublest.h", "dfp.h", and "expression.h".
3563         (vlscm_convert_typed_number): Use target_float_from_host_double.
3564         (vlscm_convert_number): Likewise.
3565
3566         * python/py-value.c (valpy_float): Use target_float_to_host_double.
3567         (convert_value_from_python): Use target_float_from_host_double.
3568
3569 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3570
3571         * ada-lang.c (cast_to_fixed): Reimplement in target arithmetic.
3572         (cast_from_fixed): Likewise.
3573         (ada_scaling_type): New function.
3574         (ada_delta): Return value instead of DOUBLEST.  Perform target
3575         arithmetic instead of host arithmetic.
3576         (scaling_factor): Rename to ...
3577         (ada_scaling_factor) ... this.  Make non-static.  Return value instead
3578         of DOUBLEST.  Perform target arithmetic instead of host arithmetic.
3579         (ada_fixed_to_float): Remove.
3580         (ada_float_to_fixed): Remove.
3581         * ada-lang.h (ada_fixed_to_float): Remove.
3582         (ada_float_to_fixed): Remove.
3583         (ada_delta): Return value instead of DOUBLEST.
3584         (ada_scaling_factor): Add prototype.
3585
3586         * ada-typeprint.c: Include "target-float.h".
3587         (print_fixed_point_type): Perform target arithmetic instead of
3588         host arithmetic.
3589         * ada-valprint.c: Include "target-float.h".
3590         (ada_val_print_num): Perform target arithmetic instead of
3591         host arithmetic for fixed-point types.
3592
3593 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3594
3595         * target-float.c: Include <math.h>.
3596         (floatformat_binop): New function.
3597         (floatformat_compare): Likewise.
3598         (target_float_binop): Likewise.
3599         (target_float_compare): Likewise.
3600         * target-float.h: Include "expression.h".
3601         (target_float_binop): Add prototype.
3602         (target_float_compare): Likewise.
3603
3604         * valarith.c: Do not include "doublest.h" and "dfp.h".
3605         Include "common/byte-vector.h".
3606         (value_args_as_decimal): Remove, replace by ...
3607         (value_args_as_target_float): ... this function.  Handle both
3608         binary and decimal target floating-point formats.
3609         (scalar_binop): Handle both binary and decimal FP using
3610         value_args_as_target_float and target_float_binop.
3611         (value_equal): Handle both binary and decimal FP using
3612         value_args_as_target_float and target_float_compare.
3613         (value_less): Likewise.
3614         (value_pos): Handle all scalar types as simple copy.
3615         (value_neg): Handle all scalar types via BINOP_SUB from 0.
3616         * dfp.c (decimal_binop): Throw error instead of internal_error
3617         when called with an unsupported operation code.
3618
3619 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3620
3621         * target-float.c (target_float_to_string): New function.
3622         (target_float_from_string): New function.
3623         * target-float.h (target_float_to_string): Add prototype.
3624         (target_float_from_string): Add prototype.
3625
3626         * valprint.c: Include "target-float.h".  Do not include
3627         "doublest.h" and "dfp.h".
3628         (print_floating): Use target_float_to_string.
3629         * printcmd.c: Include "target-float.h".  Do not include "dfp.h".
3630         (printf_floating): Use target_float_to_string.
3631         * i387-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3632         (print_i387_value): Use target_float_to_string.
3633         * mips-tdep.c: Include "target-float.h".
3634         (mips_print_fp_register): Use target_float_to_string.
3635         * sh64-tdep.c: Include "target-float.h".
3636         (sh64_do_fp_register): Use target_float_to_string.
3637
3638         * parse.c: Include "target-float.h".  Do not include
3639         "doublest.h" and "dfp.h".
3640         (parse_float): Use target_float_from_string.
3641         * stabsread.c: Include "target-float.h".  Do not include "doublest.h".
3642         (define_symbol): Use target_float_from_string.
3643         * gdbarch-selftests.c: Include "target-float.h".
3644         (register_to_value_test): Use target_float_from_string.
3645
3646 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3647
3648         * Makefile.c (SFILES): Add target-float.c.
3649         (HFILES_NO_SRCDIR): Add target-float.h.
3650         (COMMON_OBS): Add target-float.o.
3651         * target-float.h: New file.
3652         * target-float.c: New file.
3653
3654         * doublest.c (floatformat_classify): Fix detection of float_zero.
3655
3656         * gdbtypes.c (is_floating_type): New function.
3657         * gdbtypes.h (is_floating_type): Add prototype.
3658
3659         * value.c: Do not include "floatformat.h".
3660         (unpack_double): Use target_float_is_valid.
3661         (is_floating_value): New function.
3662         * value.h (is_floating_value): Add prototype-
3663
3664         * valarith.c: Include "target-float.h".
3665         (value_logical_not): Use target_float_is_zero.
3666
3667         * python/py-value.c: Include "target-float.h".
3668         (valpy_nonzero): Use target_float_is_zero.
3669
3670 2017-11-04  Tom Tromey  <tom@tromey.com>
3671
3672         * h8300-tdep.c (h8300_push_dummy_call): Use std::vector.
3673
3674 2017-11-04  Tom Tromey  <tom@tromey.com>
3675
3676         * breakpoint.c (set_momentary_breakpoint): Return
3677         breakpoint_up.
3678         (until_break_command): Update.
3679         (new_until_break_fsm): Change argument types to
3680         breakpoint_up.
3681         (set_momentary_breakpoint_at_pc): Return breakpoint_up.
3682         (do_delete_breakpoint_cleanup, make_cleanup_delete_breakpoint):
3683         Remove.
3684         * infcmd.c (finish_forward): Update.
3685         * breakpoint.h (set_momentary_breakpoint)
3686         (set_momentary_breakpoint_at_pc): Return breakpoint_up.
3687         (make_cleanup_delete_breakpoint): Remove.
3688         (struct breakpoint_deleter): New.
3689         (breakpoint_up): New typedef.
3690         * infrun.c (insert_step_resume_breakpoint_at_sal_1): Update.
3691         (insert_exception_resume_breakpoint): Update.
3692         (insert_exception_resume_from_probe): Update.
3693         (insert_longjmp_resume_breakpoint): Update.
3694         * arm-linux-tdep.c (arm_linux_copy_svc): Update.
3695         * elfread.c (elf_gnu_ifunc_resolver_stop): Update.
3696         * infcall.c (call_function_by_hand_dummy): Update
3697
3698 2017-11-04  Tom Tromey  <tom@tromey.com>
3699
3700         * c-typeprint.c (c_type_print_base): Use gdb::unique_xmalloc_ptr.
3701
3702 2017-11-04  Tom Tromey  <tom@tromey.com>
3703
3704         * linux-tdep.c (linux_core_info_proc_mappings): Use
3705         gdb::def_vector.
3706         (linux_get_siginfo_data): Return gdb::byte_vector.  Remove
3707         "size" argument.
3708         (linux_corefile_thread): Update.
3709         (linux_make_corefile_notes): Remove unused variable.
3710
3711 2017-11-04  Tom Tromey  <tom@tromey.com>
3712
3713         * ppc-linux-tdep.c (ppc_linux_get_syscall_number): Use
3714         gdb::byte_vector.
3715
3716 2017-11-04  Tom Tromey  <tom@tromey.com>
3717
3718         * objfiles.c (do_free_objfile_cleanup): Remove.
3719         * compile/compile-object-load.c (compile_object_load): Update.
3720         * objfiles.h (make_cleanup_free_objfile): Remove.
3721
3722 2017-11-04  Tom Tromey  <tom@tromey.com>
3723
3724         * sparc64-tdep.c (do_examine): Use gdb::def_vector.
3725         (adi_read_versions): Change "tags" to "gdb_byte *".
3726         (adi_print_versions): Likewise.
3727
3728 2017-11-04  Tom Tromey  <tom@tromey.com>
3729
3730         * breakpoint.c
3731         (scoped_rbreak_breakpoints::scoped_rbreak_breakpoints): Rename
3732         from start_rbreak_breakpoints.
3733         (scoped_rbreak_breakpoints): Rename from end_rbreak_breakpoints.
3734         * breakpoint.h (class scoped_rbreak_breakpoints): New.
3735         (start_rbreak_breakpoints, end_rbreak_breakpoints): Remove.
3736         * symtab.c (do_end_rbreak_breakpoints): Remove.
3737         (rbreak_command): Use scoped_rbreak_breakpoints, std::string.
3738
3739 2017-11-04  Tom Tromey  <tom@tromey.com>
3740
3741         * cp-namespace.c (reset_directive_searched): Remove.
3742         (cp_lookup_symbol_via_imports): Use scoped_restore.
3743         * cp-support.c (reset_directive_searched): Remove.
3744         (make_symbol_overload_list_using): Use scoped_restore.
3745         * d-namespace.c (d_lookup_symbol_imports): Use scoped_restore.
3746         (reset_directive_searched): Remove.
3747
3748 2017-11-04  Tom Tromey  <tom@tromey.com>
3749
3750         * symfile.c (find_separate_debug_file_by_debuglink): Use
3751         unique_xmalloc_ptr.
3752
3753 2017-11-04  Tom Tromey  <tom@tromey.com>
3754
3755         * compile/compile-loc2c.c (compute_stack_depth_worker): Change
3756         type of "info".
3757         (compute_stack_depth): Likewise.
3758         (do_compile_dwarf_expr_to_c): Use std::vector.
3759
3760 2017-11-04  Tom Tromey  <tom@tromey.com>
3761
3762         * compile/compile-object-load.c (link_callbacks_einfo): Use
3763         std::string.
3764
3765 2017-11-04  Tom Tromey  <tom@tromey.com>
3766
3767         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
3768         Use scoped_free_pendings.
3769         * dbxread.c (dbx_symfile_read, dbx_psymtab_to_symtab_1): Use
3770         scoped_free_pendings.
3771         * xcoffread.c (xcoff_psymtab_to_symtab_1): Use scoped_free_pendings.
3772         (xcoff_initial_scan): Likewise.
3773         * buildsym.c (reset_symtab_globals): Update comment.
3774         (scoped_free_pendings): Rename from really_free_pendings.
3775         (prepare_for_building): Update comment.
3776         (buildsym_init): Likewise.
3777         * buildsym.h (class scoped_free_pendings): New class.
3778         (really_free_pendings): Don't declare.
3779
3780 2017-11-03  Ulrich Weigand  <uweigand@de.ibm.com>
3781
3782         * doublest.c (convert_doublest_to_floatformat): Fix uninitialized
3783         output when converting a zero value to a special byteorder format.
3784
3785 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3786
3787         * frame.c (do_frame_register_read): Remove aspace.
3788         * jit.c (jit_frame_sniffer): Likwise.
3789         * ppc-linux-tdep.c (ppu2spu_sniffer): Likewise.
3790         * regcache.c (regcache::regcache): Pass nullptr.
3791         (regcache_print): Caller updated.
3792         * regcache.h (regcache::regcache): Remove one constructor
3793         parameter aspace.
3794
3795 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3796
3797         * regcache.h (regcache) <m_readonly_p>: Change it to const bool.
3798
3799 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3800
3801         * breakpoint.c (insert_single_step_breakpoints): Update.
3802         * frame.c (struct frame_info) <aspace>: Add const.
3803         (frame_save_as_regcache): Add const.
3804         (get_frame_address_space): Return const address_space *.
3805         * frame.h (get_frame_address_space): Update declaration.
3806         * infrun.c (struct step_over_info) <aspace>: Add const.
3807         (set_step_over_info): Make aspace const.
3808         (displaced_step_prepare_throw): Change variable const.
3809         (resume): Likewise.
3810         (proceed): Likewise.
3811         (adjust_pc_after_break): Likewise.
3812         (save_waitstatus): Likewise.
3813         (handle_signal_stop): Likewise.
3814         (keep_going_pass_signal): Likewise.
3815         * jit.c (jit_frame_sniffer): Add const.
3816         * mips-tdep.c (mips_single_step_through_delay): Likewise.
3817         * ppc-linux-tdep.c (ppu2spu_sniffer): Likewise.
3818         * record-full.c (record_full_wait_1): Likewise.
3819         * regcache.c (regcache::regcache): Change parameter to const.
3820         * regcache.h (regcache::regcache): Likewise.
3821         (regcache::aspace): Return const address_space *.
3822         (regcache) <m_aspace>: Add const.
3823
3824 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3825
3826         * darwin-nat.c (cancel_breakpoint): Use regcache->aspace ().
3827         * frame.c (create_sentinel_frame): Likewise.
3828         * infrun.c (displaced_step_prepare_throw): Likewise.
3829         (resume): Likewise.
3830         (thread_still_needs_step_over_bp): Likewise.
3831         (proceed): Likewise.
3832         (do_target_wait): Likewise.
3833         (adjust_pc_after_break): Likewise.
3834         (handle_syscall_event): Likewise.
3835         (save_waitstatus): Likewise.
3836         (handle_inferior_event_1): Likewise.
3837         (handle_signal_stop): Likewise.
3838         (keep_going_pass_signal): Likewise.
3839         * linux-nat.c (status_callback): Likewise.
3840         (save_stop_reason): Likewise.
3841         (resume_stopped_resumed_lwps): Likewise.
3842         * record-full.c (record_full_exec_insn): Likewise.
3843         (record_full_wait_1): Likewise.
3844         * regcache.c (get_regcache_aspace): Remove.
3845         * regcache.h (get_regcache_aspace): Remove.
3846
3847 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3848
3849         * regcache.c (struct regcache_descr) <nr_raw_registers>: Remove.
3850         (init_regcache_descr): Use gdbarch_num_regs.
3851         (regcache::regcache): Likewise.
3852         (regcache::get_register_status): Likewise.
3853         (regcache::assert_raw_regnum): Likewise.
3854         (regcache::cooked_read): Likewise.
3855         (regcache::cooked_read_value): Likewise.
3856         (regcache::cooked_write): Likewise.
3857         (regcache::dump): Likewise.
3858         (regcache::num_raw_registers): New method.
3859         * regcache.h (class regcache) <num_raw_registers>: New.
3860
3861 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3862
3863         * regcache.c (regcache::assert_regnum): New method.
3864         (regcache::invalidate): Call assert_regnum.
3865         (regcache::raw_update): Likewise.
3866         (regcache::raw_write): Likewise.
3867         (regcache::raw_read_part): Likewise.
3868         (regcache::raw_write_part): Likewise.
3869         (regcache::raw_supply): Likewise.
3870         (regcache::raw_supply_integer): Likewise.
3871         (regcache::raw_supply_zeroed): Likewise.
3872         (regcache::raw_collect): Likewise.
3873         (regcache::raw_collect_integer): Likewise.
3874         * regcache.h (regcache::assert_regnum): Declare.
3875
3876 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3877
3878         * regcache.c (regcache::dump): Remove code.
3879
3880 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3881
3882         * regcache.c (struct regcache_descr) <sizeof_raw_register_status>:
3883         Remove.
3884         <sizeof_cooked_register_status>: Remove.
3885         (init_regcache_descr): Update.
3886         (regcache::regcache): Use nr_cooked_registers and nr_raw_registers.
3887         (regcache::save): Likewise.
3888         (regcache::dump): Likewise.
3889
3890 2017-11-01  James Bowman  <james.bowman@ftdichip.com>
3891
3892         * ft32-tdep.c (ft32_fetch_instruction): New function.
3893         (ft32_analyze_prologue): Use ft32_fetch_instruction().
3894
3895 2017-10-31  Simon Marchi  <simon.marchi@polymtl.ca>
3896
3897         * cli/cli-script.c (execute_control_command): Rename to ...
3898         (execute_control_command_1): ... this.
3899         (execute_control_command): New function.
3900
3901 2017-10-31  Simon Marchi  <simon.marchi@ericsson.com>
3902
3903         * tracepoint.c (tfind_command): Remove const_cast.
3904
3905 2017-10-30  Mike Gulick  <mgulick@mathworks.com>
3906
3907         * Makefile.in (HFILES_NO_SRCDIR): Remove reference to gdb.h.
3908
3909 2017-10-30  Simon Marchi  <simon.marchi@ericsson.com>
3910
3911         * common/common-utils.h (in_inclusive_range): New function.
3912         * arm-tdep.c (arm_record_extension_space): Use
3913         in_inclusive_range.
3914         (thumb_record_ld_st_reg_offset): Use in_inclusive_range.
3915         * cris-tdep.c (cris_spec_reg_applicable): Use
3916         in_inclusive_range.
3917
3918 2017-10-30  Pedro Alves  <palves@redhat.com>
3919             Simon Marchi <simon.marchi@ericsson.com>
3920
3921         * remote.c (remote_set_syscall_catchpoint): Build a std::string
3922         instead of a gdb::unique_xmalloc_ptr, using string_appendf.
3923
3924 2017-10-30  Pedro Alves  <palves@redhat.com>
3925
3926         * common/common-utils.c (string_appendf, string_vappendf): New
3927         functions.
3928         * common/common-utils.h (string_appendf, string_vappendf): New
3929         declarations.
3930         * unittests/common-utils-selftests.c (string_appendf_func)
3931         (test_appendf_func, string_vappendf_wrapper, string_appendf_tests)
3932         (string_vappendf_tests): New functions.
3933         (_initialize_common_utils_selftests): Register "string_appendf" and
3934         "string_vappendf tests".
3935
3936 2017-10-30  Pedro Alves  <palves@redhat.com>
3937
3938         * unittests/common-utils-selftests.c (format_func): New typedef.
3939         (string_printf_tests, string_vprintf_tests): Tests factored out
3940         and merged to ...
3941         (test_format_func): ... this new function.
3942         (string_printf_tests, string_vprintf_tests): Reimplement on top of
3943         test_format_func.
3944
3945 2017-10-29  Simon Marchi  <simon.marchi@ericsson.com>
3946
3947         * darwin-nat.c: Remove include of gdb.h.
3948
3949 2017-10-29  Simon Marchi  <simon.marchi@ericsson.com>
3950
3951         * xtensa-xtregs.c: Fix formatting issues.
3952
3953 2017-10-29  Simon Marchi  <simon.marchi@ericsson.com>
3954
3955         * xtensa-xtregs.c (xtensa_regtable_t) <name>: Constify.
3956
3957 2017-10-28  Maksim Dzabraev  <dzabraew@gmail.com>
3958
3959         PR python/21213
3960         * python/py-infthread.c (thpy_get_inferior): Increment reference
3961         of inferior before returning it.
3962
3963 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
3964
3965         * unittests/common-utils-selftests.c (format): Add
3966         ATTRIBUTE_PRINTF.
3967
3968 2017-10-27  Simon Marchi  <simon.marchi@polymtl.ca>
3969
3970         * xml-syscall.c (struct syscall_desc): Add constructor.
3971         <name>: Change type to std::string.
3972         (syscall_desc_up): New typedef.
3973         (syscall_desc_p): Remove typeder.
3974         (DEF_VEC_P(syscall_desc_p)): Remove.
3975         (struct syscall_group_desc): Add constructor.
3976         <name>: Change type to std::string.
3977         <syscalls>: Change type to std::vector.
3978         (syscall_group_desc_up): New typedef.
3979         (syscall_group_desc_p): Remove typedef.
3980         (DEF_VEC_P(syscall_group_desc_p)): Remove.
3981         (struct syscalls_info) <syscalls>: Change type to std::vector of
3982         unique_ptr.
3983         <groups>: Likewise.
3984         <my_gdb_datadir>: Change type to std::string.
3985         (syscalls_info_up): New typedef.
3986         (allocate_syscalls_info): Remove.
3987         (syscalls_info_free_syscalls_desc): Remove.
3988         (syscalls_info_free_syscall_group_desc): Remove.
3989         (free_syscalls_info): Remove.
3990         (make_cleanup_free_syscalls_info): Remove.
3991         (syscall_group_create_syscall_group_desc): Adjust.
3992         (syscall_group_add_syscall): Adjust.
3993         (syscall_create_syscall_desc): Adjust.
3994         (syscall_parse_xml): Adjust, use unique_ptr instead of cleanup.
3995         (init_syscalls_info): Adjust.
3996         (syscall_group_get_group_by_name): Adjust.
3997         (xml_get_syscall_number): Adjust.
3998         (xml_get_syscall_name): Adjust.
3999         (xml_list_of_syscalls): Adjust.
4000         (xml_list_syscalls_by_group): Adjust.
4001         (xml_list_of_groups): Adjust.
4002
4003 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4004
4005         * probe.h: Don't include gdb_vecs.h.
4006         (DEF_VEC_P (probe_p)): Remove.
4007         (find_probes_in_objfile): Return an std::vector.
4008         * probe.c (find_probes_in_objfile): Likewise.
4009         * breakpoint.c (breakpoint_objfile_data)
4010         <longjmp_probes>: Change type to std::vector.
4011         <exception_probes>: Likewise.
4012         (free_breakpoint_probes): Don't manually free vectors.
4013         (create_longjmp_master_breakpoint): Adjust.
4014         (create_exception_master_breakpoint): Adjust.
4015         * solib-svr4.c (svr4_create_probe_breakpoints): Change
4016         parameter type, adjust.
4017         (svr4_create_solib_event_breakpoints): Adjust.
4018
4019 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4020
4021         * breakpoint.c (breakpoint_objfile_data): Initialize fields.
4022         (get_breakpoint_objfile_data): Allocate breakpoint_objfile_data
4023         with new.
4024         (free_breakpoint_probes): Rename to ...
4025         (free_breakpoint_objfile_data): ... this, and call delete on
4026         bp_objfile_data..
4027
4028 2017-10-27  Simon Marchi  <simon.marchi@polymtl.ca>
4029
4030         * auto-load.c: Don't include gdb_vecs.h, include algorithm.
4031         (loaded_script_ptr): Remove typedef.
4032         (DEF_VEC_P (loaded_script_ptr)): Remove.
4033         (struct collect_matching_scripts_data): Add constructor.
4034         <scripts_p>: Change type to (pointer to) std::vector.
4035         (collect_matching_scripts_data): Adjust.
4036         (sort_scripts_by_name): Make suitable for std::sort.
4037         (print_scripts): Don't sort vector, adjust to std::vector.
4038         (auto_load_info_scripts): Sort vectors, adjust to std::vector.
4039
4040 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4041
4042         * symfile.c (filename_language): Make struct, not typedef.  Add
4043         constructor.
4044         <ext>: Change type to std::string.
4045         (DEF_VEC_O (filename_language)): Remove.
4046         (filename_language_table): Change type to std::vector.
4047         (add_filename_language): Adjust.
4048         (set_ext_lang_command): Adjust.
4049         (info_ext_lang_command): Adjust.
4050         (deduce_language_from_filename): Adjust.
4051         (class scoped_restore_filename_language_table): Remove.
4052         (test_filename_language): Use scoped_restore.
4053         (test_set_ext_lang_command): Use scoped_restore, adjust to
4054         std::vector change.
4055
4056 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4057
4058         * symfile.c: Include selftest.h.
4059         (class scoped_restore_filename_language_table): New.
4060         (test_filename_language): New test.
4061         (test_set_ext_lang_command): New test.
4062         (_initialize_symfile): Register tests.
4063
4064 2017-10-27  Keith Seitz  <keiths@redhat.com>
4065
4066         * breakpoint.c (print_breakpoint_location): Use the symbol saved
4067         in the bp_location, falling back to find_pc_sect_function when
4068         needed.
4069         (add_location_to_breakpoint): Save sal->symbol.
4070         * breakpoint.h (struct bp_location) <symbol>: New field.
4071         * symtab.c (find_function_start_sal): Save the symbol into the SaL.
4072         * symtab.h (struct symtab_and_line) <symbol>: New field.
4073
4074 2017-10-26  Patrick Frants  <osscontribute@gmail.com>
4075
4076         PR gdb/13669
4077         * cp-valprint.c (cp_print_value_fields): Use obstack_blank_fast
4078         to rewind obstack.
4079
4080 2017-10-26  Pedro Alves  <palves@redhat.com>
4081
4082         * remote.c (remote_async_terminal_ours_p): Delete.
4083         (remote_open_1, remote_terminal_inferior, remote_terminal_ours):
4084         Remove references to 'remote_async_terminal_ours_p'.
4085
4086 2017-10-26  Yao Qi  <yao.qi@linaro.org>
4087
4088         * breakpoint.h (regular_breakpoint_inserted_here_p): Remove.
4089
4090 2017-10-26  Yao Qi  <yao.qi@linaro.org>
4091
4092         * break-catch-sig.c (signal_catchpoint_breakpoint_hit): Make
4093         aspace const.
4094         * break-catch-syscall.c (breakpoint_hit_catch_syscall):
4095         Likewise.
4096         * breakpoint.c (bpstat_check_location): Remove cast.
4097         (breakpoint_hit_catch_fork): Make aspce const.
4098         (breakpoint_hit_catch_solib): Likewise.
4099         (breakpoint_hit_catch_exec): Likewise.
4100         (breakpoint_hit_ranged_breakpoint): Likewise.
4101         (breakpoint_hit_watchpoint): Likewise.
4102         (base_breakpoint_breakpoint_hit): Likewise.
4103         (bkpt_breakpoint_hit): Likewise.
4104         (dprintf_breakpoint_hit): Likewise.
4105         (tracepoint_breakpoint_hit): Likewise.
4106         * breakpoint.h (breakpoint_ops) <breakpoint_hit>: Likewise.
4107
4108 2017-10-26  Yao Qi  <yao.qi@linaro.org>
4109
4110         * breakpoint.c (breakpoint_location_address_match): Change
4111         "struct address_space *" to "const address_space".
4112         (breakpoint_location_address_range_overlap): Likewise.
4113         (breakpoint_here_p): Likewise.
4114         (breakpoint_in_range_p): Likewise.
4115         (moribund_breakpoint_here_p): Likewise.
4116         (bp_location_inserted_here_p): Likewise.
4117         (software_breakpoint_inserted_here_p): Likewise.
4118         (hardware_breakpoint_inserted_here_p): Likewise.
4119         (hardware_watchpoint_inserted_in_range): Likewise.
4120         (bpstat_check_location): Likewise.
4121         (bpstat_stop_status): Likewise.
4122         (breakpoint_address_match): Likewise.
4123         (breakpoint_address_match_range): Likewise.
4124         (breakpoint_location_address_match): Likewise.
4125         (breakpoint_location_address_range_overlap): Likewise.
4126         (insert_single_step_breakpoint): Likewise.
4127         (breakpoint_has_location_inserted_here): Likewise.
4128         (single_step_breakpoint_inserted_here_p): Likewise.
4129         (pc_at_non_inline_function): Likewise.
4130         * breakpoint.h (bpstat_stop_status): Update declaration.
4131         (breakpoint_here_p): Likewise.
4132         (breakpoint_in_range_p): Likewise.
4133         (moribund_breakpoint_here_p): Likewise.
4134         (breakpoint_inserted_here_p): Likewise.
4135         (software_breakpoint_inserted_here_p): Likewise.
4136         (hardware_breakpoint_inserted_here_p): Likewise.
4137         (breakpoint_has_location_inserted_here): Likewise.
4138         (single_step_breakpoint_inserted_here_p): Likewise.
4139         (hardware_watchpoint_inserted_in_range): Likewise.
4140         (breakpoint_address_match): Likewise.
4141         (insert_single_step_breakpoint): Likewise.
4142         (pc_at_non_inline_function): Likewise.
4143         * gdbthread.h (thread_has_single_step_breakpoint_here): Likewise.
4144         * record.c (record_check_stopped_by_breakpoint): Likewise.
4145         * record.h (record_check_stopped_by_breakpoint): Likewise.
4146         * thread.c (thread_has_single_step_breakpoint_here): Likewise.
4147
4148 2017-10-25  Yao Qi  <yao.qi@linaro.org>
4149
4150         * aarch32-linux-nat.c (aarch32_gp_regcache_supply): Use
4151         regcache->arch () instead get_regcache_arch.
4152         * aarch64-fbsd-nat.c (aarch64_fbsd_fetch_inferior_registers):
4153         Likewise.
4154         (aarch64_fbsd_store_inferior_registers): Likewise.
4155         * aarch64-linux-nat.c (fetch_gregs_from_thread): Likewise.
4156         (store_gregs_to_thread): Likewise.
4157         (fetch_fpregs_from_thread): Likewise.
4158         (store_fpregs_to_thread): Likewise.
4159         * aarch64-tdep.c (aarch64_extract_return_value): Likewise.
4160         (aarch64_store_return_value): Likewise.
4161         (aarch64_software_single_step): Likewise.
4162         * aix-thread.c (aix_thread_wait): Likewise.
4163         (supply_reg32): Likewise.
4164         (supply_sprs64): Likewise.
4165         (supply_sprs32): Likewise.
4166         (fill_gprs64): Likewise.
4167         (fill_gprs32): Likewise.
4168         (fill_sprs64): Likewise.
4169         (fill_sprs32): Likewise.
4170         (store_regs_user_thread): Likewise.
4171         (store_regs_kernel_thread): Likewise.
4172         * alpha-bsd-nat.c (alphabsd_fetch_inferior_registers): Likewise.
4173         (alphabsd_store_inferior_registers): Likewise.
4174         * alpha-tdep.c (alpha_extract_return_value): Likewise.
4175         (alpha_store_return_value): Likewise.
4176         (alpha_deal_with_atomic_sequence): Likewise.
4177         (alpha_next_pc): Likewise.
4178         (alpha_software_single_step): Likewise.
4179         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers): Likewise.
4180         (amd64bsd_store_inferior_registers): Likewise.
4181         * amd64-linux-nat.c (amd64_linux_fetch_inferior_registers):
4182         Likewise.
4183         (amd64_linux_store_inferior_registers): Likewise.
4184         * amd64-nat.c (amd64_supply_native_gregset): Likewise.
4185         (amd64_collect_native_gregset): Likewise.
4186         * amd64-obsd-tdep.c (amd64obsd_supply_uthread): Likewise.
4187         (amd64obsd_collect_uthread): Likewise.
4188         * amd64-tdep.c (amd64_supply_fpregset): Likewise.
4189         (amd64_collect_fpregset): Likewise.
4190         (amd64_supply_fxsave): Likewise.
4191         (amd64_supply_xsave): Likewise.
4192         (amd64_collect_fxsave): Likewise.
4193         (amd64_collect_xsave): Likewise.
4194         * arc-tdep.c (arc_write_pc): Likewise.
4195         * arch-utils.c (default_skip_permanent_breakpoint): Likewise.
4196         * arm-fbsd-nat.c (arm_fbsd_fetch_inferior_registers): Likewise.
4197         (arm_fbsd_store_inferior_registers): Likewise.
4198         * arm-linux-nat.c (fetch_vfp_regs): Likewise.
4199         (store_vfp_regs): Likewise.
4200         (arm_linux_fetch_inferior_registers): Likewise.
4201         (arm_linux_store_inferior_registers): Likewise.
4202         * arm-linux-tdep.c (arm_linux_supply_gregset): Likewise.
4203         (arm_linux_sigreturn_next_pc): Likewise.
4204         (arm_linux_get_next_pcs_syscall_next_pc): Likewise.
4205         * arm-nbsd-nat.c (arm_supply_gregset): Likewise.
4206         (fetch_register): Likewise.
4207         (store_register): Likewise.
4208         * arm-tdep.c (arm_is_thumb): Likewise.
4209         (displaced_in_arm_mode): Likewise.
4210         (bx_write_pc): Likewise.
4211         (arm_get_next_pcs_addr_bits_remove): Likewise.
4212         (arm_software_single_step): Likewise.
4213         (arm_extract_return_value): Likewise.
4214         (arm_store_return_value): Likewise.
4215         (arm_write_pc): Likewise.
4216         * bfin-tdep.c (bfin_extract_return_value): Likewise.
4217         * bsd-uthread.c (bsd_uthread_fetch_registers): Likewise.
4218         (bsd_uthread_store_registers): Likewise.
4219         * core-regset.c (fetch_core_registers): Likewise.
4220         * corelow.c (get_core_registers): Likewise.
4221         * cris-tdep.c (cris_store_return_value): Likewise.
4222         (cris_extract_return_value): Likewise.
4223         (find_step_target): Likewise.
4224         (find_step_target): Likewise.
4225         (cris_software_single_step): Likewise.
4226         * ctf.c (ctf_fetch_registers): Likewise.
4227         * darwin-nat.c (cancel_breakpoint): Likewise.
4228         * fbsd-tdep.c (fbsd_collect_thread_registers): Likewise.
4229         * frv-tdep.c (frv_extract_return_value): Likewise.
4230         * ft32-tdep.c (ft32_store_return_value): Likewise.
4231         (ft32_extract_return_value): Likewise.
4232         * go32-nat.c (fetch_register): Likewise.
4233         (go32_fetch_registers): Likewise.
4234         (go32_store_registers): Likewise.
4235         (store_register): Likewise.
4236         * h8300-tdep.c (h8300_extract_return_value): Likewise.
4237         (h8300_store_return_value): Likewise.
4238         * hppa-linux-nat.c (fetch_register): Likewise.
4239         (store_register): Likewise.
4240         (hppa_linux_fetch_inferior_registers): Likewise.
4241         (hppa_linux_store_inferior_registers): Likewise.
4242         * i386-darwin-nat.c (i386_darwin_fetch_inferior_registers): Likewise.
4243         (i386_darwin_store_inferior_registers): Likewise.
4244         * i386-gnu-nat.c (gnu_fetch_registers): Likewise.
4245         (gnu_store_registers): Likewise.
4246         * i386-linux-nat.c (fetch_register): Likewise.
4247         (store_register): Likewise.
4248         (supply_gregset): Likewise.
4249         (fill_gregset): Likewise.
4250         (i386_linux_fetch_inferior_registers): Likewise.
4251         (i386_linux_store_inferior_registers): Likewise.
4252         (i386_linux_resume): Likewise.
4253         * i386-linux-tdep.c (i386_linux_get_syscall_number_from_regcache):
4254         Likewise.
4255         * i386-nto-tdep.c (i386nto_supply_gregset): Likewise.
4256         * i386-obsd-nat.c (i386obsd_supply_pcb): Likewise.
4257         * i386-obsd-tdep.c (i386obsd_supply_uthread): Likewise.
4258         (i386obsd_collect_uthread): Likewise.
4259         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
4260         (i386_supply_gregset): Likewise.
4261         (i386_collect_gregset): Likewise.
4262         (i386_supply_fpregset): Likewise.
4263         (i386_collect_fpregset): Likewise.
4264         (i386_mpx_bd_base): Likewise.
4265         * i386-v4-nat.c (supply_fpregset): Likewise.
4266         (fill_fpregset): Likewise.
4267         * i387-tdep.c (i387_supply_fsave): Likewise.
4268         (i387_collect_fsave): Likewise.
4269         (i387_supply_fxsave): Likewise.
4270         (i387_collect_fxsave): Likewise.
4271         (i387_supply_xsave): Likewise.
4272         (i387_collect_xsave): Likewise.
4273         * ia64-linux-nat.c (ia64_linux_fetch_registers): Likewise.
4274         (ia64_linux_store_registers): Likewise.
4275         * ia64-tdep.c (ia64_access_rse_reg): Likewise.
4276         (ia64_extract_return_value): Likewise.
4277         (ia64_store_return_value): Likewise.
4278         (find_func_descr): Likewise.
4279         * inf-child.c (inf_child_fetch_inferior_registers): Likewise.
4280         * inf-ptrace.c (inf_ptrace_fetch_registers): Likewise.
4281         (inf_ptrace_store_registers): Likewise.
4282         * infrun.c (use_displaced_stepping): Likewise.
4283         (displaced_step_prepare_throw): Likewise.
4284         (resume): Likewise.
4285         (proceed): Likewise.
4286         (do_target_wait): Likewise.
4287         (adjust_pc_after_break): Likewise.
4288         (handle_inferior_event_1): Likewise.
4289         (handle_signal_stop): Likewise.
4290         (save_infcall_suspend_state): Likewise.
4291         (restore_infcall_suspend_state): Likewise.
4292         * iq2000-tdep.c (iq2000_extract_return_value): Likewise.
4293         * jit.c (jit_frame_prev_register): Likewise.
4294         * linux-nat.c (save_stop_reason): Likewise.
4295         (linux_nat_wait_1): Likewise.
4296         (resume_stopped_resumed_lwps): Likewise.
4297         * linux-record.c (record_linux_sockaddr): Likewise.
4298         (record_linux_msghdr): Likewise.
4299         (record_linux_system_call): Likewise.
4300         * linux-tdep.c (linux_collect_thread_registers): Likewise.
4301         * lm32-tdep.c (lm32_extract_return_value): Likewise.
4302         (lm32_store_return_value): Likewise.
4303         * m32c-tdep.c (m32c_read_flg): Likewise.
4304         (m32c_pseudo_register_read): Likewise.
4305         (m32c_pseudo_register_write): Likewise.
4306         * m32r-linux-tdep.c (m32r_linux_supply_gregset): Likewise.
4307         (m32r_linux_collect_gregset): Likewise.
4308         * m32r-tdep.c (m32r_store_return_value): Likewise.
4309         (m32r_extract_return_value): Likewise.
4310         * m68k-bsd-nat.c (m68kbsd_supply_fpregset): Likewise.
4311         (m68kbsd_collect_fpregset): Likewise.
4312         * m68k-bsd-tdep.c (m68kbsd_supply_fpregset): Likewise.
4313         * m68k-linux-nat.c (fetch_register): Likewise.
4314         (old_fetch_inferior_registers): Likewise.
4315         (old_store_inferior_registers): Likewise.
4316         (store_regs): Likewise.
4317         * m68k-tdep.c (m68k_svr4_extract_return_value): Likewise.
4318         (m68k_svr4_store_return_value): Likewise.
4319         * m88k-tdep.c (m88k_store_arguments): Likewise.
4320         * mi/mi-main.c (mi_cmd_data_list_changed_registers): Likewise.
4321         (mi_cmd_data_write_register_values): Likewise.
4322         * mips-fbsd-nat.c (mips_fbsd_fetch_inferior_registers): Likewise.
4323         (mips_fbsd_store_inferior_registers): Likewise.
4324         * mips-fbsd-tdep.c (mips_fbsd_supply_fpregs): Likewise.
4325         (mips_fbsd_supply_gregs): Likewise.
4326         (mips_fbsd_collect_fpregs): Likewise.
4327         (mips_fbsd_collect_gregs): Likewise.
4328         (mips_fbsd_supply_fpregset): Likewise.
4329         (mips_fbsd_collect_fpregset): Likewise.
4330         (mips_fbsd_supply_gregset): Likewise.
4331         (mips_fbsd_collect_gregset): Likewise.
4332         * mips-linux-nat.c (supply_gregset): Likewise.
4333         (fill_gregset): Likewise.
4334         (supply_fpregset): Likewise.
4335         (fill_fpregset): Likewise.
4336         * mips-linux-tdep.c (mips_supply_gregset): Likewise.
4337         (mips_fill_gregset): Likewise.
4338         (mips_supply_fpregset): Likewise.
4339         (mips_fill_fpregset): Likewise.
4340         (mips64_supply_gregset): Likewise.
4341         (micromips_linux_sigframe_validate): Likewise.
4342         * mips-nbsd-nat.c (mipsnbsd_fetch_inferior_registers): Likewise.
4343         (mipsnbsd_fetch_inferior_registers): Likewise.
4344         (mipsnbsd_store_inferior_registers): Likewise.
4345         * mips-nbsd-tdep.c (mipsnbsd_supply_fpregset): Likewise.
4346         (mipsnbsd_supply_gregset): Likewise.
4347         (mipsnbsd_iterate_over_regset_sections): Likewise.
4348         (mipsnbsd_supply_reg): Likewise.
4349         (mipsnbsd_supply_fpreg): Likewise.
4350         * mips-tdep.c (mips_in_frame_stub): Likewise.
4351         (mips_dummy_id): Likewise.
4352         (is_octeon_bbit_op): Likewise.
4353         (micromips_bc1_pc): Likewise.
4354         (extended_mips16_next_pc): Likewise.
4355         (mips16_next_pc): Likewise.
4356         (deal_with_atomic_sequence): Likewise.
4357         * moxie-tdep.c (moxie_process_readu): Likewise.
4358         * nios2-tdep.c (nios2_get_next_pc): Likewise.
4359         * nto-procfs.c (procfs_store_registers): Likewise.
4360         * ppc-fbsd-nat.c (ppcfbsd_fetch_inferior_registers): Likewise.
4361         (ppcfbsd_store_inferior_registers): Likewise.
4362         * ppc-linux-nat.c (fetch_vsx_register): Likewise.
4363         (fetch_altivec_register): Likewise.
4364         (get_spe_registers): Likewise.
4365         (fetch_spe_register): Likewise.
4366         (fetch_altivec_registers): Likewise.
4367         (fetch_all_gp_regs): Likewise.
4368         (fetch_all_fp_regs): Likewise.
4369         (store_vsx_register): Likewise.
4370         (store_altivec_register): Likewise.
4371         (set_spe_registers): Likewise.
4372         (store_spe_register): Likewise.
4373         (store_altivec_registers): Likewise.
4374         (store_all_gp_regs): Likewise.
4375         (store_all_fp_regs): Likewise.
4376         * ppc-linux-tdep.c (ppc_linux_supply_gregset): Likewise.
4377         (ppc_linux_collect_gregset): Likewise.
4378         (ppc_canonicalize_syscall): Likewise.
4379         (ppc_linux_record_signal): Likewise.
4380         (ppu2spu_prev_register): Likewise.
4381         * ppc-nbsd-nat.c (ppcnbsd_supply_pcb): Likewise.
4382         * ppc-obsd-nat.c (ppcobsd_fetch_registers): Likewise.
4383         (ppcobsd_store_registers): Likewise.
4384         * ppc-ravenscar-thread.c (ppc_ravenscar_generic_fetch_registers):
4385         Likewise.
4386         (ppc_ravenscar_generic_store_registers): Likewise.
4387         * procfs.c (procfs_fetch_registers): Likewise.
4388         (procfs_store_registers): Likewise.
4389         * ravenscar-thread.c (ravenscar_fetch_registers): Likewise.
4390         (ravenscar_store_registers): Likewise.
4391         (ravenscar_prepare_to_store): Likewise.
4392         * record-btrace.c (record_btrace_fetch_registers): Likewise.
4393         * record-full.c (record_full_wait_1): Likewise.
4394         (record_full_registers_change): Likewise.
4395         (record_full_store_registers): Likewise.
4396         (record_full_core_fetch_registers): Likewise.
4397         (record_full_save): Likewise.
4398         (record_full_goto_insn): Likewise.
4399         * regcache.c (regcache_register_size): Likewise.
4400         (get_regcache_arch): Remove.
4401         (regcache_read_pc): Likewise.
4402         * regcache.h (get_regcache_arch): Remove.
4403         * remote-sim.c (gdbsim_fetch_register): Likewise.
4404         (gdbsim_store_register): Likewise.
4405         * remote.c (fetch_register_using_p): Likewise.
4406         (send_g_packet): Likewise.
4407         (remote_prepare_to_store): Likewise.
4408         (store_registers_using_G): Likewise.
4409         * reverse.c (save_bookmark_command): Likewise.
4410         (goto_bookmark_command): Likewise.
4411         * rs6000-aix-tdep.c (branch_dest): Likewise.
4412         * rs6000-nat.c (rs6000_ptrace64): Likewise.
4413         (fetch_register): Likewise.
4414         * rs6000-tdep.c (ppc_supply_reg): Likewise.
4415         (ppc_collect_reg): Likewise.
4416         (ppc_collect_gregset): Likewise.
4417         (ppc_collect_fpregset): Likewise.
4418         (ppc_collect_vsxregset): Likewise.
4419         (ppc_collect_vrregset): Likewise.
4420         (ppc_displaced_step_hw_singlestep): Likewise.
4421         (rs6000_pseudo_register_read): Likewise.
4422         (rs6000_pseudo_register_write): Likewise.
4423         * s390-linux-nat.c (supply_gregset): Likewise.
4424         (fill_gregset): Likewise.
4425         (s390_linux_fetch_inferior_registers): Likewise.
4426         * s390-linux-tdep.c (s390_write_pc): Likewise.
4427         (s390_software_single_step): Likewise.
4428         (s390_all_but_pc_registers_record): Likewise.
4429         (s390_linux_syscall_record): Likewise.
4430         * sentinel-frame.c (sentinel_frame_prev_arch): Likewise.
4431         * sh-nbsd-nat.c (shnbsd_fetch_inferior_registers): Likewise.
4432         (shnbsd_store_inferior_registers): Likewise.
4433         * sh-tdep.c (sh_extract_return_value_nofpu): Likewise.
4434         (sh_extract_return_value_fpu): Likewise.
4435         (sh_store_return_value_nofpu): Likewise.
4436         (sh_corefile_supply_regset): Likewise.
4437         (sh_corefile_collect_regset): Likewise.
4438         * sh64-tdep.c (sh64_extract_return_value): Likewise.
4439         (sh64_store_return_value): Likewise.
4440         * sparc-linux-tdep.c (sparc32_linux_collect_core_fpregset): Likewise.
4441         * sparc-nat.c (sparc_fetch_inferior_registers): Likewise.
4442         (sparc_store_inferior_registers): Likewise.
4443         * sparc-ravenscar-thread.c (register_in_thread_descriptor_p): Likewise.
4444         (sparc_ravenscar_prepare_to_store): Likewise.
4445         * sparc-tdep.c (sparc32_store_arguments): Likewise.
4446         (sparc_analyze_control_transfer): Likewise.
4447         (sparc_step_trap): Likewise.
4448         (sparc_software_single_step): Likewise.
4449         (sparc32_gdbarch_init): Likewise.
4450         (sparc_supply_rwindow): Likewise.
4451         (sparc_collect_rwindow): Likewise.
4452         * sparc64-linux-tdep.c (sparc64_linux_collect_core_fpregset): Likewise.
4453         * sparc64-nbsd-nat.c (sparc64nbsd_supply_gregset): Likewise.
4454         (sparc64nbsd_collect_gregset): Likewise.
4455         (sparc64nbsd_supply_fpregset): Likewise.
4456         (sparc64nbsd_collect_fpregset): Likewise.
4457         * sparc64-tdep.c (sparc64_store_arguments): Likewise.
4458         (sparc64_supply_gregset): Likewise.
4459         (sparc64_collect_gregset): Likewise.
4460         (sparc64_supply_fpregset): Likewise.
4461         (sparc64_collect_fpregset): Likewise.
4462         * spu-linux-nat.c (spu_fetch_inferior_registers): Likewise.
4463         * spu-tdep.c (spu_unwind_sp): Likewise.
4464         (spu2ppu_prev_register): Likewise.
4465         (spu_memory_remove_breakpoint): Likewise.
4466         * stack.c (return_command): Likewise.
4467         * tic6x-tdep.c (tic6x_extract_signed_field): Likewise.
4468         * tracefile-tfile.c (tfile_fetch_registers): Likewise.
4469         * tracefile.c (trace_save_ctf): Likewise.
4470         * windows-nat.c (do_windows_fetch_inferior_registers): Likewise.
4471         (do_windows_store_inferior_registers): Likewise.
4472         (windows_resume): Likewise.
4473         * xtensa-linux-nat.c (fill_gregset): Likewise.
4474         (supply_gregset_reg): Likewise.
4475         * xtensa-tdep.c (xtensa_register_write_masked): Likewise.
4476         (xtensa_register_read_masked): Likewise.
4477         (xtensa_supply_gregset): Likewise.
4478         (xtensa_extract_return_value): Likewise.
4479         (xtensa_store_return_value): Likewise.
4480
4481 2017-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
4482
4483         * doublest.c (floatformat_from_string): New function.
4484         * doublest.h (floatformat_from_string): Add prototype.
4485
4486         * std-operator.def (OP_DOUBLE, OP_DECFLOAT): Remove, replace by ...
4487         (OP_FLOAT): ... this.
4488         * expression.h: Do not include "doublest.h".
4489         (union exp_element): Replace doubleconst and decfloatconst by
4490         new element floatconst.
4491         * ada-lang.c (resolve_subexp): Handle OP_FLOAT instead of OP_DOUBLE.
4492         (ada_evaluate_subexp): Likewise.
4493         * eval.c (evaluate_subexp_standard): Handle OP_FLOAT instead of
4494         OP_DOUBLE and OP_DECFLOAT.
4495         * expprint.c (print_subexp_standard): Likewise.
4496         (dump_subexp_body_standard): Likewise.
4497         * breakpoint.c (watchpoint_exp_is_const): Likewise.
4498
4499         * parse.c: Include "dfp.h".
4500         (write_exp_elt_dblcst, write_exp_elt_decfloatcst): Remove.
4501         (write_exp_elt_floatcst): New function.
4502         (operator_length_standard): Handle OP_FLOAT instead of OP_DOUBLE
4503         and OP_DECFLOAT.
4504         (operator_check_standard): Likewise.
4505         (parse_float): Do not accept suffix.  Take type as input.  Return bool.
4506         Return target format buffer instead of host DOUBLEST.
4507         Use floatformat_from_string and decimal_from_string to parse
4508         either binary or decimal floating-point types.
4509         (parse_c_float): Remove.
4510         * parser-defs.h: Do not include "doublest.h".
4511         (write_exp_elt_dblcst, write_exp_elt_decfloatcst): Remove.
4512         (write_exp_elt_floatcst): Add prototype.
4513         (parse_float): Update prototype.
4514         (parse_c_float): Remove.
4515
4516         * c-exp.y: Do not include "dfp.h".
4517         (typed_val_float): Use byte buffer instead of DOUBLEST.
4518         (typed_val_decfloat): Remove.
4519         (DECFLOAT): Remove.
4520         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4521         (parse_number): Update to new parse_float interface.
4522         Parse suffixes and determine type before calling parse_float.
4523         Handle decimal and binary FP types the same way.
4524
4525         * d-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4526         (FLOAT_LITERAL): Use OP_FLOAT and write_exp_elt_floatcst.
4527         (parse_number): Update to new parse_float interface.
4528         Parse suffixes and determine type before calling parse_float.
4529
4530         * f-exp.y: Replace dval by typed_val_float.
4531         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4532         (parse_number): Use parse_float instead of atof.
4533
4534         * go-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4535         (parse_go_float): Remove.
4536         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4537         (parse_number): Call parse_float instead of parse_go_float.
4538         Parse suffixes and determine type before calling parse_float.
4539
4540         * p-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4541         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4542         (parse_number): Update to new parse_float interface.
4543         Parse suffixes and determine type before calling parse_float.
4544
4545         * m2-exp.y: Replace dval by byte buffer val.
4546         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4547         (parse_number): Call parse_float instead of atof.
4548
4549         * rust-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4550         (lex_number): Call parse_float instead of strtod.
4551         (ast_dliteral): Use OP_FLOAT instead of OP_DOUBLE.
4552         (convert_ast_to_expression): Handle OP_FLOAT instead of OP_DOUBLE.
4553         Use write_exp_elt_floatcst.
4554         (unit_testing): Remove static variable.
4555         (rust_type): Do not check unit_testing.
4556         (rust_lex_tests): Do not set uint_testing.  Set up dummy rust_parser.
4557
4558         * ada-exp.y (type_float, type_double): Remove.
4559         (typed_val_float): Use byte buffer instead of DOUBLEST.
4560         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4561         * ada-lex.l (processReal): Use parse_float instead of sscanf.
4562
4563 2017-10-25  Alan Hayward  <alan.hayward@arm.com>
4564
4565         * aarch64-tdep.h (enum aarch64_regnum): Remove.
4566         * arch/aarch64.h: New file.
4567
4568 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4569
4570         * dfp.h (decimal_from_string): Use const reference for argument.
4571         * dfp.c (decimal_from_string): Likewise.
4572
4573 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4574
4575         * i387-tdep.c (print_i387_value): Use floatformat_to_string.
4576         * sh64-tdep.c (sh64_do_fp_register): Likewise.
4577         * mips-tdep.c (mips_print_fp_register): Likewise.
4578
4579 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4580
4581         * common/format.h (enum argclass): Replace decfloat_arg by
4582         dec32float_arg, dec64float_arg, and dec128float_arg.
4583         * common/format.c (parse_format_string): Update to return
4584         new decimal float argument classes.
4585
4586         * printcmd.c (printf_decfloat): Rename to ...
4587         (printf_floating): ... this.  Add argclass argument, and use it
4588         instead of parsing the format string again.  Add support for
4589         binary floating-point values, using floatformat_to_string.
4590         Convert value to the target format if it doesn't already match.
4591         (ui_printf): Call printf_floating instead of printf_decfloat,
4592         also for double_arg / long_double_arg.  Pass argclass.
4593
4594         * dfp.c (decimal_to_string): Add format string argument.
4595         * dfp.h (decimal_to_string): Likewise.
4596
4597         * doublest.c (floatformat_to_string): Add format string argument.
4598         * doublest.h (floatformat_to_string): Likewise.
4599
4600 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4601
4602         * doublest.c (floatformat_precision): New routine.
4603         (floatformat_to_string): Likewise.
4604         * doublest.c (floatformat_to_string): Add prototype.
4605
4606         * printcmd.c (print_scalar_formatted): Only call print_floating
4607         on floating-point types.
4608         * valprint.c: Do not include "floatformat.h".
4609         (generic_val_print_decfloat): Remove.
4610         (generic_val_print): Call generic_val_print_float for both
4611         TYPE_CODE_FLT and TYPE_CODE_DECFLOAT.
4612         (print_floating): Use floatformat_to_string.  Handle decimal float.
4613         (print_decimal_floating): Remove, merge into floatformat_to_string.
4614         * value.h (print_decimal_floating): Remove.
4615
4616         * Makefile.in: Do not build doublest.c with -Wformat-nonliteral.
4617
4618 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4619
4620         * buildsym.c (end_symtab_get_static_block): Use std::stable_sort.
4621
4622 2017-10-21  Simon Marchi  <simon.marchi@ericsson.com>
4623
4624         * memattr.h: Don't include vec.h.
4625         (struct mem_attrib): Initialize fields.
4626         <unknown>: New static method.
4627         (struct mem_region): Add constructors, operator<, initialize
4628         fields.
4629         * memattr.c: Include algorithm.
4630         (default_mem_attrib, unknown_mem_attrib): Remove.
4631         (user_mem_region_list): New global.
4632         (target_mem_region_list, mem_region_list): Change type to
4633         std::vector<mem_region>.
4634         (mem_use_target): Now a function.
4635         (target_mem_regions_valid): Change type to bool.
4636         (mem_region_lessthan, mem_region_cmp, mem_region_init): Remove.
4637         (require_user_regions): Adjust.
4638         (require_target_regions): Adjust.
4639         (create_mem_region): Adjust.
4640         (lookup_mem_region): Adjust.
4641         (invalidate_target_mem_regions): Adjust.
4642         (mem_clear): Rename to...
4643         (user_mem_clear): ... this, and adjust.
4644         (mem_command): Adjust.
4645         (info_mem_command): Adjust.
4646         (mem_enable, enable_mem_command, mem_disable,
4647         disable_mem_command): Adjust.
4648         (mem_delete): Adjust.
4649         (delete_mem_command): Adjust.
4650         * memory-map.h (parse_memory_map): Return an std::vector.
4651         * memory-map.c (parse_memory_map): Likewise.
4652         (struct memory_map_parsing_data): Add constructor.
4653         <memory_map>: Point to std::vector.
4654         (memory_map_start_memory): Adjust.
4655         (memory_map_end_memory): Adjust.
4656         (memory_map_end_property): Adjust.
4657         (clear_result): Remove.
4658         * remote.c (remote_memory_map): Return an std::vector.
4659         * target-debug.h (target_debug_print_VEC_mem_region_s__p):
4660         Remove.
4661         (target_debug_print_mem_region_vector): New.
4662         * target-delegates.c: Regenerate.
4663         * target.h (mem_region_vector): New typedef.
4664         (to_memory_map): Return mem_region_vector.
4665         (target_memory_map): Return an std::vector.
4666         * target.c (target_memory_map): Return an std::vector.
4667         (flash_erase_command): Adjust.
4668
4669 2017-10-21  Simon Marchi  <simon.marchi@ericsson.com>
4670
4671         * memory-map.c (struct memory_map_parsing_data) <property_name>:
4672         Change type to std::string.
4673         (memory_map_start_property): Adjust.
4674         (memory_map_end_property): Adjust.
4675
4676 2017-10-21  Simon Marchi  <simon.marchi@polymtl.ca>
4677
4678         * infrun.h: Include common/byte-vector.h.
4679         (struct displaced_step_closure): New struct.
4680         (struct buf_displaced_step_closure): New struct.
4681         * infrun.c (displaced_step_closure::~displaced_step_closure):
4682         Provide default implementation.
4683         (displaced_step_clear): Deallocate step closure with delete.
4684         * aarch64-tdep.c (displaced_step_closure): Rename to ...
4685         (aarch64_displaced_step_closure): ... this, extend
4686         displaced_step_closure.
4687         (aarch64_displaced_step_data) <dsc>: Change type to
4688         aarch64_displaced_step_closure.
4689         (aarch64_displaced_step_copy_insn): Adjust to type change, use
4690         unique_ptr.
4691         (aarch64_displaced_step_fixup): Add cast for displaced step
4692         closure.
4693         * amd64-tdep.c (displaced_step_closure): Rename to ...
4694         (amd64_displaced_step_closure): ... this, extend
4695         displaced_step_closure.
4696         <insn_buf>: Change type to std::vector<gdb_byte>.
4697         <max_len>: Remove.
4698         (fixup_riprel): Change type of DSC parameter, adjust to type
4699         change of insn_buf.
4700         (fixup_displaced_copy): Change type of DSC parameter.
4701         (amd64_displaced_step_copy_insn): Instantiate
4702         amd64_displaced_step_closure.
4703         (amd64_displaced_step_fixup): Add cast for closure type, adjust
4704         to type change of insn_buf.
4705         * arm-linux-tdep.c (arm_linux_cleanup_svc): Change type of
4706         parameter DSC.
4707         (arm_linux_copy_svc): Likewise.
4708         (cleanup_kernel_helper_return): Likewise.
4709         (arm_catch_kernel_helper_return): Likewise.
4710         (arm_linux_displaced_step_copy_insn): Instantiate
4711         arm_displaced_step_closure.
4712         * arm-tdep.c (arm_pc_is_thumb): Add cast for closure.
4713         (displaced_read_reg): Change type of parameter DSC.
4714         (branch_write_pc): Likewise.
4715         (load_write_pc): Likewise.
4716         (alu_write_pc): Likewise.
4717         (displaced_write_reg): Likewise.
4718         (arm_copy_unmodified): Likewise.
4719         (thumb_copy_unmodified_32bit): Likewise.
4720         (thumb_copy_unmodified_16bit): Likewise.
4721         (cleanup_preload): Likewise.
4722         (install_preload): Likewise.
4723         (arm_copy_preload): Likewise.
4724         (thumb2_copy_preload): Likewise.
4725         (install_preload_reg): Likewise.
4726         (arm_copy_preload_reg): Likewise.
4727         (cleanup_copro_load_store): Likewise.
4728         (install_copro_load_store): Likewise.
4729         (arm_copy_copro_load_store) Likewise.
4730         (thumb2_copy_copro_load_store): Likewise.
4731         (cleanup_branch): Likewise.
4732         (install_b_bl_blx): Likewise.
4733         (arm_copy_b_bl_blx): Likewise.
4734         (thumb2_copy_b_bl_blx): Likewise.
4735         (thumb_copy_b): Likewise.
4736         (install_bx_blx_reg): Likewise.
4737         (arm_copy_bx_blx_reg): Likewise.
4738         (thumb_copy_bx_blx_reg): Likewise.
4739         (cleanup_alu_imm): Likewise.
4740         (arm_copy_alu_imm): Likewise.
4741         (thumb2_copy_alu_imm): Likewise.
4742         (cleanup_alu_reg): Likewise.
4743         (install_alu_reg): Likewise.
4744         (arm_copy_alu_reg): Likewise.
4745         (thumb_copy_alu_reg): Likewise.
4746         (cleanup_alu_shifted_reg): Likewise.
4747         (install_alu_shifted_reg): Likewise.
4748         (arm_copy_alu_shifted_reg): Likewise.
4749         (cleanup_load): Likewise.
4750         (cleanup_store): Likewise.
4751         (arm_copy_extra_ld_st): Likewise.
4752         (install_load_store): Likewise.
4753         (thumb2_copy_load_literal): Likewise.
4754         (thumb2_copy_load_reg_imm): Likewise.
4755         (arm_copy_ldr_str_ldrb_strb): Likewise.
4756         (cleanup_block_load_all): Likewise.
4757         (cleanup_block_store_pc): Likewise.
4758         (cleanup_block_load_pc): Likewise.
4759         (arm_copy_block_xfer): Likewise.
4760         (thumb2_copy_block_xfer): Likewise.
4761         (cleanup_svc): Likewise.
4762         (install_svc): Likewise.
4763         (arm_copy_svc): Likewise.
4764         (thumb_copy_svc): Likewise.
4765         (arm_copy_undef): Likewise.
4766         (thumb_32bit_copy_undef): Likewise.
4767         (arm_copy_unpred): Likewise.
4768         (arm_decode_misc_memhint_neon): Likewise.
4769         (arm_decode_unconditional): Likewise.
4770         (arm_decode_miscellaneous): Likewise.
4771         (arm_decode_dp_misc): Likewise.
4772         (arm_decode_ld_st_word_ubyte): Likewise.
4773         (arm_decode_media): Likewise.
4774         (arm_decode_b_bl_ldmstm): Likewise.
4775         (arm_decode_ext_reg_ld_st): Likewise.
4776         (thumb2_decode_dp_shift_reg): Likewise.
4777         (thumb2_decode_ext_reg_ld_st): Likewise.
4778         (arm_decode_svc_copro): Likewise.
4779         (thumb2_decode_svc_copro): Likewise.
4780         (install_pc_relative): Likewise.
4781         (thumb_copy_pc_relative_16bit): Likewise.
4782         (thumb_decode_pc_relative_16bit): Likewise.
4783         (thumb_copy_pc_relative_32bit): Likewise.
4784         (thumb_copy_16bit_ldr_literal): Likewise.
4785         (thumb_copy_cbnz_cbz): Likewise.
4786         (thumb2_copy_table_branch): Likewise.
4787         (cleanup_pop_pc_16bit_all): Likewise.
4788         (thumb_copy_pop_pc_16bit): Likewise.
4789         (thumb_process_displaced_16bit_insn): Likewise.
4790         (decode_thumb_32bit_ld_mem_hints): Likewise.
4791         (thumb_process_displaced_32bit_insn): Likewise.
4792         (thumb_process_displaced_insn): Likewise.
4793         (arm_process_displaced_insn): Likewise.
4794         (arm_displaced_init_closure): Likewise.
4795         (arm_displaced_step_fixup): Add cast for closure.
4796         * arm-tdep.h: Include infrun.h.
4797         (displaced_step_closure): Rename to ...
4798         (arm_displaced_step_closure): ... this, extend
4799         displaced_step_closure.
4800         <u::svc::copy_svc_os>: Change type of parameter DSC.
4801         <cleanup>: Likewise.
4802         (arm_process_displaced_insn): Likewise.
4803         (arm_displaced_init_closure): Likewise.
4804         (displaced_read_reg): Likewise.
4805         (displaced_write_reg): Likewise.
4806         * i386-linux-tdep.c (i386_linux_displaced_step_copy_insn):
4807         Adjust.
4808         * i386-tdep.h: Include infrun.h.
4809         (i386_displaced_step_closure): New typedef.
4810         * i386-tdep.c (i386_displaced_step_copy_insn): Use
4811         i386_displaced_step_closure.
4812         (i386_displaced_step_fixup): Adjust.
4813         * rs6000-tdep.c (ppc_displaced_step_closure): New typedef.
4814         (ppc_displaced_step_copy_insn): Use ppc_displaced_step_closure
4815         and unique_ptr.
4816         (ppc_displaced_step_fixup): Adjust.
4817         * s390-linux-tdep.c (s390_displaced_step_closure): New typedef.
4818         (s390_displaced_step_copy_insn): Use s390_displaced_step_closure
4819         and unique_ptr.
4820         (s390_displaced_step_fixup): Adjust.
4821
4822 2017-10-21  Simon Marchi  <simon.marchi@polymtl.ca>
4823
4824         * interps.h (interp_resume, interp_suspend, interp_set_temp):
4825         Remove declarations.
4826
4827 2017-10-20  Tom Tromey  <tom@tromey.com>
4828
4829         * gdb_bfd.c (struct gdb_bfd_data) <included_bfds>: Now a
4830         std::vector.
4831         (gdb_bfd_record_inclusion): Update.
4832         (bfdp): Remove typedef.
4833
4834 2017-10-20  Tom Tromey  <tom@tromey.com>
4835
4836         * gdb_bfd.c (gdb_bfd_ref): Use new.
4837         (struct gdb_bfd_data): Add constructor, destructor, and member
4838         initializers.
4839         (gdb_bfd_unref): Use delete.
4840
4841 2017-10-20  Tom Tromey  <tom@tromey.com>
4842
4843         * exec.c (exec_file_attach): Use new_bfd_ref.
4844         * symfile-mem.c (symbol_file_add_from_memory): Use new_bfd_ref.
4845         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
4846         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_fdopenr): Use
4847         new_bfd_ref.
4848         * gdb_bfd.h (new_bfd_ref): New function.
4849
4850 2017-10-20  Pedro Alves  <palves@redhat.com>
4851
4852         * main.c (captured_command_loop): Add attribute noinline.
4853
4854 2017-10-19  Simon Marchi  <simon.marchi@ericsson.com>
4855
4856         * interps.c (struct interp_factory): Add constructor.
4857         (interp_factory_p): Remove typedef.
4858         (DEF_VEC_P(interp_factory_p)): Remove.
4859         (interpreter_factories): Change type to std::vector.
4860         (interp_factory_register): Adjust.
4861         (interp_lookup): Adjust.
4862         (interpreter_completer): Adjust.
4863
4864 2017-10-19  Tom Tromey  <tom@tromey.com>
4865
4866         * break-catch-syscall.c (catch_syscall_completer): Use
4867         std::string, gdb::unique_xmalloc_ptr.
4868
4869 2017-10-19  Tom Tromey  <tom@tromey.com>
4870
4871         * infcall.c (call_function_by_hand_dummy): Use std::string.
4872
4873 2017-10-19  Tom Tromey  <tom@tromey.com>
4874
4875         * mi/mi-main.c (mi_cmd_execute): Update.
4876         * top.h (prepare_execute_command): Return scoped_value_mark.
4877         * value.h (class scoped_value_mark): Use DISABLE_COPY_AND_ASSIGN.
4878         Add move constructor.
4879         * top.c (prepare_execute_command): Return scoped_value_mark.
4880         (execute_command): Update.
4881
4882 2017-10-19  Pedro Alves  <palves@redhat.com>
4883
4884         * xml-support.c (xml_fetch_content_from_file): Check fread's
4885         return.
4886
4887 2017-10-19  Pedro Alves  <palves@redhat.com>
4888
4889         * ser-base.c (ser_base_read_error_fd): Delete the file handler if
4890         async.
4891         (handle_error_fd): New function.
4892         (ser_base_async): Add/delete an event loop file handler for
4893         error_fd.
4894
4895 2017-10-19  Pedro Alves  <palves@redhat.com>
4896
4897         * xml-support.c (xml_fetch_content_from_file): Don't read in
4898         chunks.  Instead use fseek to determine the file's size, and read
4899         it in one go.
4900
4901 2017-11-18  Keith Seitz  <keiths@redhat.com>
4902
4903         * c-exp.y (oper): Canonicalize conversion operators of user-defined
4904         types.
4905         Add whitespace to front of type name.
4906
4907 2017-10-18  Keith Seitz  <keiths@redhat.com>
4908
4909         * dwarf2read.c (dwarf2_add_typedef): Issue a complaint on unhandled
4910         DW_AT_accessibility.
4911
4912 2017-10-18  Yao Qi  <yao.qi@linaro.org>
4913
4914         * features/tic6x-c62x-linux.c: Remove.
4915
4916 2017-10-17  Tom Tromey  <tom@tromey.com>
4917
4918         * disasm.c (do_mixed_source_and_assembly_deprecated): Use
4919         gdb::optional, ui_out_emit_list, ui_out_emit_tuple.
4920         (do_mixed_source_and_assembly): Likewise.
4921
4922 2017-10-17  Tom Tromey  <tom@tromey.com>
4923
4924         * regcache.c (regcache::xfer_part): Remove assertion.
4925
4926 2017-10-17  Pedro Alves  <palves@redhat.com>
4927
4928         * xml-support.c (xml_fetch_content_from_file): Call
4929         unique_ptr::release() instead unique_ptr::get() when passing
4930         through xrealloc.
4931
4932 2017-10-17  Yao Qi  <yao.qi@linaro.org>
4933
4934         * regcache.c (regcache::xfer_part): Remove parameters read and
4935         write, add parameter is_raw.  All callers are updated.
4936
4937 2017-10-16  Keith Seitz  <keiths@redhat.com>
4938
4939         * c-typeprint.c (enum access_specifier): Moved here from
4940         c_type_print_base.
4941         (output_access_specifier): New function.
4942         (c_type_print_base): Consider typedefs when assessing
4943         whether access labels are needed.
4944         Use output_access_specifier as needed.
4945         Output access specifier for typedefs, if needed.
4946         * dwarf2read.c (dwarf2_add_typedef): Record DW_AT_accessibility.
4947         * gdbtypes.h (struct typedef_field) <is_protected, is_private>: New
4948         fields.
4949         (TYPE_TYPEDEF_FIELD_PROTECTED, TYPE_TYPEDEF_FIELD_PRIVATE): New
4950         accessor macros.
4951
4952 2017-10-16  Tom Tromey  <tom@tromey.com>
4953
4954         * linux-tdep.c (linux_info_proc, linux_find_memory_regions_full)
4955         (linux_fill_prpsinfo, linux_vsyscall_range_raw): Update.
4956         * target.c (target_fileio_read_stralloc): Update.
4957         * sparc64-tdep.c (adi_is_addr_mapped): Update.
4958         * target.h (target_fileio_read_stralloc): Return
4959         unique_xmalloc_ptr.
4960
4961 2017-10-16  Tom Tromey  <tom@tromey.com>
4962
4963         * xml-syscall.c (xml_init_syscalls_info): Update.
4964         * xml-support.c (xinclude_start_include): Update.
4965         (xml_fetch_content_from_file): Return unique_xmalloc_ptr.
4966         * xml-support.h (xml_fetch_another): Return unique_xmalloc_ptr.
4967         (xml_fetch_content_from_file): Likewise.
4968         * osdata.c (get_osdata): Update.
4969         * target.h (target_read_stralloc, target_get_osdata): Return
4970         unique_xmalloc_ptr.
4971         * solib-aix.c (solib_aix_get_library_list): Update.
4972         * solib-target.c (solib_target_current_sos): Update.
4973         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Update.
4974         * xml-tdesc.c (fetch_available_features_from_target): Update.
4975         (target_fetch_description_xml): Update.
4976         (file_read_description_xml): Update.
4977         * remote.c (remote_get_threads_with_qxfer, remote_memory_map)
4978         (remote_traceframe_info, btrace_read_config, remote_read_btrace)
4979         (remote_pid_to_exec_file): Update.
4980         * target.c (target_read_stralloc): Return unique_xmalloc_ptr.
4981         (target_get_osdata): Likewise.
4982
4983 2017-10-16  Tom Tromey  <tom@tromey.com>
4984
4985         * remote.c (remote_register_number_and_offset): Use std::vector.
4986         (remote_set_syscall_catchpoint): Use gdb::unique_xmalloc_ptr.
4987         (putpkt_binary): Use gdb::def_vector.
4988         (compare_sections_command): Use gdb::byte_vector.
4989
4990 2017-10-16  Tom Tromey  <tom@tromey.com>
4991
4992         * ppc-linux-nat.c (hwdebug_insert_point): Use
4993         gdb::unique_xmalloc_ptr, XDUP.
4994
4995 2017-10-16  Tom Tromey  <tom@tromey.com>
4996
4997         * probe.c (parse_probes): Use std::string.
4998         (info_probes_for_ops, enable_probes_command)
4999         (disable_probes_command): Remove cleanups.
5000
5001 2017-10-16  Tom Tromey  <tom@tromey.com>
5002
5003         * buildsym.c (block_compar): Remove.
5004         (end_symtab_get_static_block): Use std::vector.
5005
5006 2017-10-16  Simon Marchi  <simon.marchi@ericsson.com>
5007
5008         * memrange.h (struct mem_range): Define operator< and operator==.
5009         (mem_range_s): Remove.
5010         (DEF_VEC_O (mem_range_s)): Remove.
5011         (normalize_mem_ranges): Change parameter type to std::vector.
5012         * memrange.c (compare_mem_ranges): Remove.
5013         (normalize_mem_ranges): Change parameter type to std::vector,
5014         adjust to vector change.
5015         * exec.c (section_table_available_memory): Return vector, remove
5016         parameter.
5017         (section_table_read_available_memory): Adjust to std::vector
5018         change.
5019         * remote.c (remote_read_bytes): Adjust to std::vector
5020         change.
5021         * tracepoint.h (traceframe_available_memory): Change parameter
5022         type to std::vector.
5023         * tracepoint.c (traceframe_available_memory): Change parameter
5024         type to std::vector, adjust.
5025         * gdb/mi/mi-main.c (mi_cmd_trace_frame_collected): Adjust to
5026         std::vector change.
5027         * gdb/Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
5028         unittests/memrange-selftests.c.
5029         (SUBDIR_UNITTESTS_OBS): Add memrange-selftests.o.
5030         * gdb/unittests/memrange-selftests.c: New file.
5031
5032 2017-10-16  Pedro Alves  <palves@redhat.com>
5033
5034         * elfread.c (probe_key_free): Rename range-for variable.
5035         * probe.c (parse_probes_in_pspace, find_probes_in_objfile)
5036         (find_probe_by_pc, collect_probes): Rename range-for variable.
5037
5038 2017-10-16  Yao Qi  <yao.qi@linaro.org>
5039
5040         * features/Makefile (XMLTOC): Remove tic6x-*.xml.
5041         * features/tic6x-c62x.c: Remove.
5042         * features/tic6x-c64x-linux.c: Remove.
5043         * features/tic6x-c64x.c: Remove.
5044         * features/tic6x-c64xp-linux.c: Remove.
5045         * features/tic6x-c64xp.c: Remove.
5046         * tic6x-linux-tdep.c (_initialize_tic6x_linux_tdep): Don't call
5047         initialize_tdesc_tic6x_*_linux functions.
5048         * tic6x-tdep.c (_initialize_tic6x_tdep): Don't call
5049         initialize_tdesc_tic6x_* functions.
5050
5051 2017-10-16  Yao Qi  <yao.qi@linaro.org>
5052
5053         * features/Makefile (WHICH): Remove tic6x-c64xp, tic6x-c64x
5054         tic6x-c62x.
5055         * regformats/tic6x-c62x.dat: Remove.
5056         * regformats/tic6x-c64x.dat: Remove.
5057         * regformats/tic6x-c64xp.dat: Remove.
5058
5059 2017-10-15  Simon Marchi  <simon.marchi@ericsson.com>
5060
5061         * tracepoint.c (parse_traceframe_info): Return a unique_ptr
5062         (the !HAVE_LIBEXPAT version).
5063
5064 2017-10-14  Simon Marchi  <simon.marchi@ericsson.com>
5065
5066         * nat/linux-osdata.c (struct pid_pgid_entry) <operator<>: Make
5067         const.
5068
5069 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5070
5071         * target.h: Include tracepoint.h.
5072         (enum trace_find_type): Move to tracepoint.h.
5073         (struct target_ops) <to_traceframe_info>: Return a unique ptr.
5074         * tracepoint.h: Don't include target.h
5075         (enum trace_find_type): Move from target.h.
5076         (parse_traceframe_info): Return a unique ptr.
5077         * tracepoint.c (current_traceframe_info): Change type to unique
5078         ptr.
5079         (free_traceframe_info): Remove.
5080         (clear_traceframe_info): Don't manually free
5081         current_traceframe_info.
5082         (free_result): Remove.
5083         (parse_traceframe_info): Return a unique ptr.
5084         (get_traceframe_info): Adjust to unique ptr.
5085         * ctf.c (ctf_traceframe_info): Return a unique ptr.
5086         * remote.c (remote_traceframe_info): Return a unique ptr.
5087         * tracefile-tfile.c (tfile_traceframe_info): Return a unique
5088         ptr.
5089         * target-debug.h (target_debug_print_traceframe_info_up): New
5090         macro.
5091         * target-delegates.c: Regenerate.
5092
5093 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5094
5095         * memrange.h (struct mem_range): Add constructors.
5096         * tracepoint.h (struct traceframe_info) <memory>: Change type to
5097         std::vector<mem_range>.
5098         * tracepoint.c (free_traceframe_info): Don't manually free
5099         vector.
5100         (traceframe_info_start_memory): Adjust to vector change.
5101         (traceframe_available_memory): Likewise.
5102         * tracefile-tfile.c (build_traceframe_info): Likewise.
5103         * ctf.c (ctf_traceframe_info): Likewise.
5104
5105 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5106
5107         * tracepoint.h (struct traceframe_info) <tvars>: Change type to
5108         std::vector<int>.
5109         * tracepoint.c (free_traceframe_info): Deallocate with delete.
5110         (traceframe_info_start_tvar): Adjust to vector change.
5111         (parse_traceframe_info): Allocate with new.
5112         * ctf.c (ctf_traceframe_info): Allocate with new, adjust to
5113         vector change.
5114         * tracefile-tfile.c (build_traceframe_info): Adjust to vector
5115         change.
5116         tfile_traceframe_info): Allocate with new.
5117         * mi/mi-main.c (mi_cmd_trace_frame_collected): Adjust to vector
5118         change.
5119
5120 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5121
5122         * tracepoint.c (traceframe_info): Rename to...
5123         (current_traceframe_info): ...this.
5124         (clear_traceframe_info): Adjust.
5125         (get_traceframe_info): Adjust.
5126
5127 2017-10-14  Simon Marchi  <simon.marchi@ericsson.com>
5128
5129         * nat/linux-osdata.c: Include algorithm.
5130         (compare_processes): Remove.
5131         (struct pid_pgid_entry): New struct.
5132         (linux_xfer_osdata_processgroups): Use std::vector instead of
5133         XNEWVEC.
5134
5135 2017-10-14  Simon Marchi  <simon.marchi@ericsson.com>
5136
5137         * objfiles.h: Don't include symfile.h.
5138         (struct partial_symbol): Remove forward-declaration.
5139         (struct objfile) <global_psymbols, static_psymbols>: Change type
5140         to std::vector<partial_symbol *>.
5141         * objfiles.c (objfile::objfile): Don't memset those fields.
5142         (objfile::~objfile): Don't free those fields.
5143         * psympriv.h (struct psymbol_allocation_list): Remove
5144         forward-declaration.
5145         (add_psymbol_to_list): Change psymbol_allocation_list parameter
5146         to std::vector.
5147         (start_psymtab_common): Change parameters to std::vector.
5148         * psymtab.c: Include algorithm.
5149         (require_partial_symbols): Call shrink_to_fit.
5150         (find_pc_sect_psymbol): Adjust to vector change.
5151         (match_partial_symbol): Likewise.
5152         (lookup_partial_symbol): Likewise.
5153         (psym_relocate): Likewise.
5154         (dump_psymtab): Likewise.
5155         (recursively_search_psymtabs): Likewise.
5156         (compare_psymbols): Remove.
5157         (sort_pst_symbols): Adjust to vector change.
5158         (start_psymtab_common): Likewise.
5159         (end_psymtab_common): Likewise.
5160         (psymbol_bcache_full): De-constify return value.
5161         (add_psymbol_to_bcache): Likewise.
5162         (extend_psymbol_list): Remove.
5163         (append_psymbol_to_list): Adjust to vector change.
5164         (add_psymbol_to_list): Likewise.
5165         (init_psymbol_list): Likewise.
5166         (maintenance_info_psymtabs): Likewise.
5167         (maintenance_check_psymtabs): Likewise.
5168         * symfile.h (struct psymbol_allocation_list): Remove.
5169         * symfile.c (reread_symbols): Adjust to vector change.
5170         * dbxread.c (start_psymtab): Change type of parameters.
5171         (dbx_symfile_read): Adjust to vector change.
5172         (read_dbx_symtab): Likewise.
5173         (start_psymtab): Change type of parameters.
5174         * dwarf2read.c (dwarf2_build_psymtabs): Adjust to vector change.
5175         (create_partial_symtab): Likewise.
5176         (add_partial_symbol): Likewise.
5177         (write_one_signatured_type): Likewise.
5178         (recursively_write_psymbols): Likewise.
5179         * mdebugread.c (parse_partial_symbols): Likewise.
5180         * xcoffread.c (xcoff_start_psymtab): Change type of parameters.
5181         (scan_xcoff_symtab): Adjust to vector change.
5182         (xcoff_initial_scan): Likewise.
5183
5184 2017-10-13  Simon Marchi  <simon.marchi@ericsson.com>
5185
5186         * ada-typeprint.c (print_dynamic_range_bound): Use std::string.
5187
5188 2017-10-13  Yao Qi  <yao.qi@linaro.org>
5189
5190         * features/Makefile: Remove tic6x-*-expedite, add tic6x-expedite.
5191         Remove s390x-*-expedite, add s390x-expedite.
5192
5193 2017-10-13  Yao Qi  <yao.qi@linaro.org>
5194
5195         * features/s390-gs-linux64.c: Regenerated.
5196         * features/s390x-gs-linux64.c: Regenerated.
5197
5198 2017-10-13  Tom Tromey  <tom@tromey.com>
5199
5200         * compile/compile-object-run.c (do_module_cleanup): Use delete.
5201         * solib.c (update_solib_list, reload_shared_libraries_1): Use
5202         delete.
5203         * symfile.c (symbol_file_add_with_addrs): Use new.
5204         (symbol_file_add_separate): Update comment.
5205         (syms_from_objfile_1, remove_symbol_file_command): Use delete.
5206         * jit.c (jit_object_close_impl): Use new.
5207         (jit_unregister_code): Use delete.
5208         * objfiles.c (objfile::objfile): Rename from allocate_objfile.
5209         (~objfile): Rename from free_objfile.
5210         (free_objfile_separate_debug, do_free_objfile_cleanup)
5211         (free_all_objfiles, objfile_purge_solibs): Use delete.
5212         * objfiles.h (struct objfile): Add constructor and destructor.
5213         Use DISABLE_COPY_AND_ASSIGN.  Add initializers to data members.
5214         (allocate_objfile, free_objfile): Don't declare.
5215         (struct objstats): Add initializers.
5216
5217 2017-10-12  Simon Marchi  <simon.marchi@ericsson.com>
5218
5219         * arch-utils.h (simple_displaced_step_copy_insn): Remove.
5220         * arch-utils.c (simple_displaced_step_copy_insn): Remove.
5221         * gdbarch.sh (displaced_step_copy_insn): Adjust comment.
5222         * gdbarch.h: Regenerate.
5223         * i386-linux-tdep.c (i386_linux_displaced_step_copy_insn):
5224         Adjust comment.
5225         * i386-tdep.c (i386_displaced_step_copy_insn): Adjust comment.
5226         (i386_displaced_step_fixup): Adjust comment.
5227         * rs6000-tdep.c (ppc_displaced_step_copy_insn): Adjust comment.
5228
5229 2017-10-12  Tom Tromey  <tom@tromey.com>
5230
5231         * prologue-value.h (pv_area::store_would_trash): Return bool.
5232         (pv_area::find_reg): Likewise.
5233         * prologue-value.c (pv_area::store_would_trash): Return bool.
5234         (pv_area::find_reg): Likewise.
5235
5236 2017-10-12  Tom Tromey  <tom@tromey.com>
5237
5238         * s390-linux-tdep.c (s390_store, s390_load)
5239         (s390_check_for_saved, s390_analyze_prologue): Update.
5240         * rx-tdep.c (check_for_saved, rx_analyze_prologue): Update.
5241         * rl78-tdep.c (rl78_analyze_prologue, check_for_saved): Update.
5242         * prologue-value.h (class pv_area): Move from prologue-value.c.
5243         Change names of members.  Add constructor, destructor, member
5244         functions.
5245         (make_pv_area, free_pv_area, make_cleanup_free_pv_area)
5246         (pv_area_store, pv_area_fetch, pv_area_store_would_trash)
5247         (pv_area_fetch, pv_area_scan): Don't declare.
5248         * prologue-value.c (struct pv_area::area_entry): Now member of
5249         pv_area.
5250         (struct pv_area): Move to prologue-value.h.
5251         (pv_area::pv_area): Rename from make_pv_area.
5252         (pv_area::~pv_area): Rename from free_pv_area.
5253         (do_free_pv_area_cleanup, make_cleanup_free_pv_area): Remove.
5254         (clear_entries, find_entry, overlaps, store_would_trash, store)
5255         (fetch, find_reg, scan): Now member of pv_area.
5256         Remove "area" argument.  Update.
5257         * msp430-tdep.c (check_for_saved, msp430_analyze_prologue):
5258         Update.
5259         * mn10300-tdep.c (push_reg, check_for_saved)
5260         (mn10300_analyze_prologue): Update.
5261         * mep-tdep.c (is_arg_spill, check_for_saved)
5262         (mep_analyze_prologue): Update.
5263         * m32c-tdep.c (m32c_pv_push, m32c_srcdest_fetch)
5264         (m32c_srcdest_store, m32c_pv_enter, m32c_is_arg_spill)
5265         (m32c_is_struct_return, m32c_analyze_prologue): Update.
5266         * arm-tdep.c (thumb_analyze_prologue, arm_analyze_prologue):
5267         Update.
5268         * arc-tdep.c (arc_is_in_prologue, arc_analyze_prologue): Update.
5269         * aarch64-tdep.c (aarch64_analyze_prologue): Update.
5270
5271 2017-10-12  Simon Marchi  <simon.marchi@ericsson.com>
5272
5273         * linux-nat.h (linux_nat_set_delete_thread): New declaration.
5274         * linux-nat.c (linux_nat_delete_thread): New variable.
5275         (lwp_free): Invoke linux_nat_delete_thread if set.
5276         (linux_nat_set_delete_thread): New function.
5277         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Assign
5278         thread delete callback.
5279         * arm-linux-nat.c (arm_linux_delete_thread): New function.
5280         (_initialize_arm_linux_nat): Assign thread delete callback.
5281         * s390-linux-nat.c (s390_delete_thread): New function.
5282         (_initialize_s390_nat): Assign thread delete callback.
5283         * x86-linux-nat.c (x86_linux_add_target): Likewise.
5284         * nat/aarch64-linux.c (aarch64_linux_delete_thread): New
5285         function.
5286         * nat/aarch64-linux.h (aarch64_linux_delete_thread): New
5287         declaration.
5288         * nat/x86-linux.c (x86_linux_delete_thread): New function.
5289         * nat/x86-linux.h (x86_linux_delete_thread): New declaration.
5290
5291 2017-10-09  Tom Tromey  <tom@tromey.com>
5292
5293         * tui/tui-win.c (tui_set_win_height, parse_scrolling_args): Use
5294         std::string.
5295         * tui/tui-layout.c (enum tui_status): Use std::string.
5296
5297 2017-10-11  Tom Tromey  <tom@tromey.com>
5298
5299         * gdbthread.h (thread_command): Constify.
5300         * inferior.h (detach_command): Constify.
5301         * top.h (set_history, show_history): Constify.
5302         * arm-tdep.c (set_arm_command, show_arm_command): Constify.
5303         * serial.c (serial_set_cmd, serial_show_cmd): Constify.
5304         * bsd-kvm.c (bsd_kvm_cmd): Constify.
5305         * printcmd.c (set_command): Constify.
5306         (non_const_set_command): New function.
5307         * dcache.c (set_dcache_command, show_dcache_command): Constify.
5308         * breakpoint.c (enable_command, disable_command, delete_command)
5309         (catch_command, tcatch_command, set_breakpoint_cmd)
5310         (show_breakpoint_cmd): Constify.
5311         * macrocmd.c (macro_command): Constify.
5312         * infcmd.c (unset_command, kill_command, detach_command)
5313         (info_proc_cmd): Constify.
5314         * i386-tdep.c (set_mpx_cmd, show_mpx_cmd): Constify.
5315         * auto-load.c (show_auto_load_cmd, set_auto_load_cmd)
5316         (info_auto_load_cmd): Constify.
5317         * target-descriptions.c (set_tdesc_cmd, show_tdesc_cmd)
5318         (unset_tdesc_cmd): Constify.
5319         * ada-lang.c (set_ada_command, show_ada_command)
5320         (maint_set_ada_cmd, maint_show_ada_cmd): Constify.
5321         * guile/guile.c (set_guile_command, show_guile_command)
5322         (info_guile_command): Constify.
5323         * tui/tui-win.c (tui_command, set_tui_cmd, show_tui_cmd):
5324         Constify.
5325         * skip.c (skip_command): Constify.
5326         * compile/compile.c (_initialize_compile): Constify.
5327         * dwarf2read.c (set_dwarf_cmd, show_dwarf_cmd): Constify.
5328         * btrace.c (maint_btrace_cmd, maint_btrace_set_cmd)
5329         (maint_btrace_show_cmd, maint_btrace_pt_set_cmd)
5330         (maint_btrace_pt_show_cmd): Constify.
5331         * remote.c (set_remote_cmd, show_remote_cmd, remote_command):
5332         Constify.
5333         * python/python.c (user_show_python, user_set_python): Constify.
5334         * mips-tdep.c (set_mips_command, show_mips_command)
5335         (set_mipsfpu_command): Constify.
5336         * record-btrace.c (cmd_record_btrace_start)
5337         (cmd_set_record_btrace, cmd_show_record_btrace)
5338         (cmd_set_record_btrace_bts, cmd_show_record_btrace_bts)
5339         (cmd_set_record_btrace_pt, cmd_show_record_btrace_pt): Constify.
5340         * rs6000-tdep.c (set_powerpc_command, show_powerpc_command):
5341         Constify.
5342         * symfile.c (overlay_command): Constify.
5343         * spu-tdep.c (set_spu_command, show_spu_command): Constify.
5344         * cli/cli-logging.c (set_logging_command, show_logging_command):
5345         Constify.
5346         * cli/cli-dump.c (dump_command, append_command)
5347         (srec_dump_command, ihex_dump_command, verilog_dump_command)
5348         (tekhex_dump_command, binary_dump_command)
5349         (binary_append_command): Constify.
5350         * cli/cli-decode.c (struct cmd_list_element): Change type of
5351         "fun".
5352         * cli/cli-cmds.c (info_command, show_command, set_debug)
5353         (show_debug): Constify.
5354         (show_command): Add non-const overload.
5355         * top.c (set_history, show_history): Constify.
5356         * sh-tdep.c (set_sh_command, show_sh_command): Constify.
5357         * command.h (add_prefix_cmd): Accept a cmd_const_cfunc_ftype.
5358         * target.c (target_command): Constify.
5359         * sparc64-tdep.c (info_adi_command): Constify.
5360         * record-full.c (cmd_record_full_start): Constify.
5361         (set_record_full_command): Constify.  Fix typo.
5362         (show_record_full_command): Constify.
5363         * thread.c (thread_command, thread_apply_command): Constify.
5364         * memattr.c (dummy_cmd): Constify.
5365         * value.c (function_command): Constify.
5366         * frame.c (set_backtrace_cmd, show_backtrace_cmd): Constify.
5367         * probe.c (info_probes_command): Constify.
5368         * ser-tcp.c (set_tcp_cmd, show_tcp_cmd): Constify.
5369         * gnu-nat.c (set_task_cmd, show_task_cmd, set_thread_cmd)
5370         (show_thread_cmd, set_thread_default_cmd)
5371         (show_thread_default_cmd): Constify.
5372         (check_empty): Constify.
5373         * tracepoint.c (tfind_command): Constify.
5374         * cp-support.c (maint_cplus_command): Constify.
5375         * windows-tdep.c (info_w32_command): Constify.
5376         * record.c (cmd_record_start, set_record_command)
5377         (show_record_command, info_record_command, cmd_record_goto):
5378         Constify.
5379         * ravenscar-thread.c (set_ravenscar_command)
5380         (show_ravenscar_command): Constify.
5381         * utils.c (set_internal_problem_cmd, show_internal_problem_cmd):
5382         Constify.
5383         (add_internal_problem_command): Remove casts.
5384         * arc-tdep.c (maintenance_print_arc_command): Constify.
5385         * valprint.c (set_print, show_print, set_print_raw)
5386         (show_print_raw): Constify.
5387         * maint.c (maintenance_command, maintenance_info_command)
5388         (maintenance_print_command, maintenance_set_cmd)
5389         (maintenance_show_cmd, set_per_command_cmd)
5390         (show_per_command_cmd, maintenance_check_command): Constify.
5391         * language.c (set_check, show_check): Constify.
5392         * typeprint.c (show_print_type, set_print_type): Constify.
5393         * go32-nat.c (go32_info_dos_command): Constify.
5394
5395 2017-10-11  Tom Tromey  <tom@tromey.com>
5396
5397         * breakpoint.c (prepare_re_set_context): Remove.
5398         (breakpoint_re_set_one): Update.  Don't use cleanups.
5399         (breakpoint_re_set): Use scoped_restore, std::string, and
5400         scoped_restore_current_language.
5401
5402 2017-10-11  Tom Tromey  <tom@tromey.com>
5403
5404         * breakpoint.c (commands_command_1): Use std::string.
5405         (cleanup_executing_breakpoints): Remove.
5406         (bpstat_do_actions_1): Use scoped_restore.
5407         (bpstat_check_watchpoint): Use std::string.
5408         (decode_static_tracepoint_spec): Likewise.
5409         (break_range_command): Likewise.
5410         (watch_command_1): Likewise.
5411         (compare_breakpoints): Change argument types.
5412         (clear_command): Use std::vector.
5413         (cleanup_executing_breakpoints): Remove.
5414         (update_global_location_list): Use unique_xmalloc_ptr.
5415         (strace_command): Remove unused declaration.
5416
5417 2017-10-11  John Baldwin  <jhb@FreeBSD.org>
5418
5419         * Makefile.in (ALLDEPFILES): Add arm-fbsd-nat.c.
5420         * NEWS: Mention new FreeBSD/arm native configuration.
5421         * configure.host: Add arm*-*-freebsd*.
5422         * configure.nat: Likewise.
5423         * arm-fbsd-nat.c: New file.
5424
5425 2017-10-11  John Baldwin  <jhb@FreeBSD.org>
5426
5427         * Makefile.in (ALL_TARGET_OBS): Add arm-fbsd-tdep.o.
5428         (ALLDEPFILES): Add arm-fbsd-tdep.c.
5429         * NEWS: Mention new FreeBSD/arm target.
5430         * configure.tgt: Add arm*-*-freebsd*.
5431         * arm-fbsd-tdep.c: New file.
5432         * arm-fbsd-tdep.h: New file.
5433
5434 2017-10-11  Maciej W. Rozycki  <macro@imgtec.com>
5435
5436         * linux-tdep.c (linux_make_corefile_notes): Remove call to
5437         `gdbarch_elfcore_write_linux_prpsinfo'.
5438         * gdbarch.sh (elfcore_write_linux_prpsinfo): Remove architecture
5439         method.
5440         (elf_internal_linux_prpsinfo): Remove declaration.
5441         * gdbarch.h: Regenerate.
5442         * gdbarch.c: Regenerate.
5443
5444 2017-10-11  Maciej W. Rozycki  <macro@imgtec.com>
5445
5446         * ppc-linux-tdep.c (ppc_linux_init_abi): Remove call to
5447         `set_gdbarch_elfcore_write_linux_prpsinfo'.
5448
5449 2017-10-11  Pedro Alves  <palves@redhat.com>
5450
5451         * breakpoint.c (reattach_breakpoints): Delete.
5452         * breakpoint.h (reattach_breakpoints): Delete.
5453
5454 2017-10-11  Simon Marchi  <simon.marchi@ericsson.com>
5455
5456         * symfile.c (registered_sym_fns): Make struct, not typedef.
5457         (DEF_VEC_O (registered_sym_fns)): Remove.
5458         (symtab_fns): Change type to std::vector.
5459         (add_symtab_fns): Adjust.
5460         (find_sym_fns): Adjust.
5461
5462 2017-10-11  Anton Kolesov  <Anton.Kolesov@synopsys.com>
5463
5464         * arc-tdep.c (arc_gdbarch_init): Pass proper cpu value to disassembler.
5465         * arc-tdep.h (arc_arch_is_em): New function.
5466         (arc_arch_is_hs): Likewise.
5467
5468 2017-10-11  Egeyar Bagcioglu  <egeyar.bagcioglu@oracle.com>
5469
5470         * macrotab.h (macro_lookup_inclusion): Remove unnecessary
5471         parentheses in the declaration.
5472         (macro_lookup_inclusion): Likewise.
5473         (macro_lookup_definition): Likewise.
5474         * p-lang.h (pascal_builtin_types): Likewise.
5475         * tui/tui-data.c (tui_win_list): Likewise.
5476         * tui/tui-data.h (tui_win_list): Likewise.
5477         * utils.h (make_cleanup_free_section_addr_info): Likewise.
5478
5479 2017-10-11  Mark Rages  <markrages@gmail.com>
5480
5481         * target-memory.c (block_boundaries): Fix for block address not
5482         aligned on block size.
5483
5484 2017-10-10  Pedro Alves <palves@redhat.com>
5485             Tom Tromey  <tom@tromey.com>
5486
5487         * breakpoint.c (struct captured_breakpoint_query_args)
5488         (do_captured_breakpoint_query, gdb_breakpoint_query): Delete.
5489         (print_breakpoint): New.
5490         * breakpoint.h (print_breakpoint): Declare.
5491         * common/common-exceptions.h (enum return_reason): Remove
5492         references to catch_exceptions.
5493         * exceptions.c (catch_exceptions, catch_exceptions_with_msg):
5494         Delete.
5495         * exceptions.h (catch_exceptions_ftype, catch_exceptions)
5496         (catch_exception_ftype, catch_exceptions_with_msg): Delete.
5497         * gdb.h: Delete.
5498         * gdbthread.h (thread_select): Declare.
5499         * mi/mi-cmd-break.c: Don't include gdb.h.
5500         (breakpoint_notify): Use print_breakpoint.
5501         * mi/mi-cmd-catch.c: Don't include gdb.h.
5502         * mi/mi-interp.c: Don't include gdb.h.
5503         (mi_print_breakpoint_for_event): New.
5504         (mi_breakpoint_created, mi_breakpoint_modified): Use
5505         mi_print_breakpoint_for_event.
5506         * mi/mi-main.c: Don't include gdb.h.
5507         (mi_cmd_thread_select): Parse the global thread ID here.  Use
5508         thread_select instead of gdb_thread_select.
5509         (mi_cmd_thread_list_ids): Output "thread-ids" tuple here instead
5510         of using gdb_list_thread_ids.
5511         * remote-fileio.c (do_remote_fileio_request): Change type.  Reply
5512         FILEIO_ENOSYS here.
5513         (remote_fileio_request): Use TRY/CATCH instead of
5514         catch_exceptions.
5515         * symfile-mem.c (struct symbol_file_add_from_memory_args)
5516         (symbol_file_add_from_memory_wrapper): Delete.
5517         (add_vsyscall_page): Use TRY/CATCH instead of catch_exceptions.
5518         * thread.c: Don't include gdb.h.
5519         (do_captured_list_thread_ids, gdb_list_thread_ids): Delete.
5520         (thread_alive): Use thread_select.
5521         (do_captured_thread_select): Delete, parts salvaged as ...
5522         (thread_select): ... this new function.
5523         (gdb_thread_select): Delete.
5524
5525 2017-10-10  Pedro Alves  <palves@redhat.com>
5526             Tom Tromey  <tom@tromey.com>
5527
5528         * breakpoint.c (breakpoint_cond_eval): Change return type to bool
5529         and reverse logic.
5530         (WP_DELETED, WP_VALUE_CHANGED, WP_VALUE_NOT_CHANGED, WP_IGNORE):
5531         No longer macros.  Instead ...
5532         (enum wp_check_result): They're now values of this new
5533         enumeration.
5534         (watchpoint_check): Change return type to wp_check_result and
5535         parameter type to bpstat.
5536         (bpstat_check_watchpoint): Use TRY/CATCH instead of catch_errors.
5537         (bpstat_check_breakpoint_conditions): Use TRY/CATCH instead of
5538         catch_errors.  Reverse logic of watchpoint_check call.
5539         (breakpoint_re_set_one): Now returns void and takes a breakpoint
5540         pointer as parameter.
5541         (breakpoint_re_set): Use TRY/CATCH instead of catch_errors.
5542         * common/common-exceptions.c (throw_exception_sjlj): Update
5543         comments to avoid mentioning catch_errors.
5544         * exceptions.c (catch_errors): Delete.
5545         * exceptions.h: Update comments to avoid mentioning catch_errors.
5546         (catch_errors_ftype, catch_errors): Delete.
5547         * infrun.c (normal_stop): Use TRY/CATCH instead of catch_errors.
5548         (hook_stop_stub): Delete.
5549         (restore_selected_frame): Change return type to void, and
5550         parameter type to const frame_id &.
5551         (restore_infcall_control_state): Use TRY/CATCH instead of
5552         catch_errors.
5553         * main.c (captured_command_loop): Return void and remove
5554         parameter.  Remove references to catch_errors.
5555         (captured_main): Use TRY/CATCH instead of catch_errors.
5556         * objc-lang.c (objc_submethod_helper_data)
5557         (find_objc_msgcall_submethod_helper): Delete.
5558         (find_objc_msgcall_submethod): Use TRY/CATCH instead of
5559         catch_errors.
5560         * record-full.c (record_full_message): Return void.
5561         (record_full_message_args, record_full_message_wrapper): Delete.
5562         (record_full_message_wrapper_safe): Return bool and use TRY/CATCH
5563         instead of catch_errors.
5564         * solib-aix.c (solib_aix_open_symbol_file_object): Change
5565         parameter type to int.
5566         * solib-darwin.c (open_symbol_file_object): Ditto.
5567         * solib-dsbt.c (open_symbol_file_object): Ditto.
5568         * solib-frv.c (open_symbol_file_object): Ditto.
5569         * solib-svr4.c (open_symbol_file_object): Ditto.
5570         * solib-target.c (solib_target_open_symbol_file_object): Ditto.
5571         * solib.c (update_solib_list): Use TRY/CATCH instead of
5572         catch_errors.
5573         * solist.h (struct target_so_ops) <open_symbol_file_object>:
5574         Change type.
5575         * symmisc.c (struct print_symbol_args): Remove.
5576         (dump_symtab_1): Use TRY/CATCH instead of catch_errors.
5577         (print_symbol): Change type.
5578         * windows-nat.c (handle_load_dll, handle_unload_dll): Return void
5579         and remove parameters.
5580         (catch_errors): New.
5581         (get_windows_debug_event): Adjust.
5582
5583 2017-10-09  Tom Tromey  <tom@tromey.com>
5584
5585         * mi/mi-main.c (free_splay_tree): Remove.
5586         (list_available_thread_groups): Use splay_tree_up.
5587         * common/gdb_splay_tree.h: New file.
5588
5589 2017-10-09  Tom Tromey  <tom@tromey.com>
5590
5591         * mi/mi-main.c (do_nothing): Remove.
5592         (list_available_thread_groups): Update.
5593
5594 2017-10-09  Pedro Alves  <palves@redhat.com>
5595
5596         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>: Skip
5597         reading registers when switching context.
5598
5599 2017-10-09  John Baldwin  <jhb@FreeBSD.org>
5600
5601         * fbsd-nat.c (fbsd_siginfo_size): Use gdbarch_long_bit.
5602         (fbsd_convert_siginfo): Likewise.
5603         * fbsd-tdep.c (fbsd_core_xfer_siginfo): Likewise.
5604
5605 2017-10-09  Simon Marchi  <simon.marchi@polymtl.ca>
5606
5607         * configure.ac (try_guile_versions): Remove guile-2.2.
5608         * configure: Regenerate.
5609
5610 2017-10-09  Tom Tromey  <tom@tromey.com>
5611
5612         * Makefile.in (COMPILE.post, POSTCOMPILE): Restore $(basename).
5613         (COMPILE.pre): Use $(CXX).
5614
5615 2017-10-09  Pedro Alves  <palves@redhat.com>
5616
5617         * cp-support.c (cp_remove_params): Return a gdb::unique_xmalloc_ptr.
5618         Use bool.
5619         (overload_list_add_symbol): Adjust to use gdb::unique_xmalloc_ptr.
5620         * cp-support.h (cp_remove_params): Now returns a
5621         gdb::unique_xmalloc_ptr.
5622         * dwarf2read.c (find_slot_in_mapped_hash): Now returns bool.
5623         Adjust to cp_remove_params returning a gdb::unique_xmalloc_ptr.
5624         * psymtab.c (psymtab_search_name): Adjust to cp_remove_params
5625         returning a gdb::unique_xmalloc_ptr.
5626         (lookup_partial_symbol): Adjust to use gdb::unique_xmalloc_ptr.
5627         * stack.c (find_frame_funname): Adjust to cp_remove_params
5628         returning a gdb::unique_xmalloc_ptr.
5629
5630 2017-10-08  Tom Tromey  <tom@tromey.com>
5631
5632         * dwarf2read.c (dwarf2_get_dwz_file): Use
5633         gdb::unique_xmalloc_ptr.
5634         (find_slot_in_mapped_hash): Likewise.
5635         (dwarf2_physname): Likewise.
5636         (create_dwo_unit_in_dwp_v1): Use std::string.
5637         (create_dwo_unit_in_dwp_v2): Likewise.
5638         (lookup_dwo_cutu): Likewise.
5639         (inherit_abstract_dies): Use std::vector.
5640         (read_array_type): Likewise.
5641         (dwarf_decode_macros): Remove unused declaration.
5642         (unsigned_int_compar): Remove.
5643         (dwarf2_build_psymtabs_hard): Use scoped_restore.
5644         (psymtabs_addrmap_cleanup): Remove.
5645
5646 2017-10-08  Tom Tromey  <tom@tromey.com>
5647
5648         * frame-unwind.c (frame_unwind_try_unwinder): Update.
5649         * frame.h (frame_cleanup_after_sniffer): Declare.
5650         (frame_prepare_for_sniffer): Return void.
5651         * frame.c (frame_cleanup_after_sniffer): No longer static.  Change
5652         type of argument.
5653         (frame_prepare_for_sniffer): Return void.
5654
5655 2017-10-08  Tom Tromey  <tom@tromey.com>
5656
5657         * utils.h (make_cleanup_value_free): Remove.
5658         * utils.c (do_value_free, struct cleanup): Remove.
5659         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full) <DWARF_VALUE_STACK>:
5660         Use gdb_value_up.
5661         * value.h (struct value_deleter): New.
5662         (gdb_value_up): New typedef.
5663
5664 2017-10-08  Tom Tromey  <tom@tromey.com>
5665
5666         * symtab.c (free_search_symbols, do_free_search_symbols_cleanup)
5667         (make_cleanup_free_search_symbols): Remove.
5668         (search_symbols): Return std::vector.
5669         (symbol_search::compare_search_syms): Now member of
5670         symbol_search.  Change arguments.
5671         (sort_search_symbols_remove_dups): Change arguments.  Rewrite.
5672         (symtab_symbol_info, rbreak_command): Update.
5673         * symtab.h (struct symbol_search) <next>: Remove.
5674         Add constructors.
5675         (symbol_search::operator<): New function.
5676         (symbol_search::operator==): New function.
5677         (search_symbols): Remove std::vector.
5678         (free_search_symbols, make_cleanup_free_search_symbols): Remove.
5679         (symbol_search::compare_search_syms): Declare.
5680
5681 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5682
5683         * Makefile.in (ALL_64_TARGET_OBS): Replace aarch64-insn.o with
5684         arch/aarch64-insn.o.
5685         Remove one rule.
5686         * configure.tgt: Replace aarch64-insn.o with arch/aarch64-insn.o.
5687
5688 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5689
5690         * Makefile.in (ALL_TARGET_OBS): Replace arm.o, arm-get-next-pcs.o,
5691         and arm-linux.o with arch/arm.o, arch/arm-get-next-pcs.o and
5692         arch/arm-linux.o respectively.
5693         * configure.tgt: Likewise.
5694
5695 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5696
5697         * Makefile.in (ALL_TARGET_OBS): Rename i386.o to arch/i386.o.
5698         * configure.tgt (i386_tobjs): Replace i386.o with arch/i386.o.
5699
5700 2017-10-06  Pedro Alves  <palves@redhat.com>
5701
5702         * windows-nat.c: Include <algorithm>.
5703
5704 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5705
5706         * configure.tgt (i386_tobjs): New variable.
5707         (amd64_tobjs): New variable.
5708         Set $cpu_obs and $os_obs.
5709
5710 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5711
5712         * Makefile.in (CONFIG_SRC_SUBDIR): New.
5713         (ALL_64_TARGET_OBS): Replace amd64.o with arch/amd64.o.
5714         (clean): Remove object files and dependency files.
5715         (distclean): Remove the directory.
5716         * configure.ac: Invoke AC_CONFIG_COMMANDS.
5717         * configure: Re-generated.
5718         * configure.tgt: Replace amd64.o with arch/amd64.o.
5719
5720 2017-10-05  Jose E. Marchesi  <jose.marchesi@oracle.com>
5721
5722         PR build/22188
5723         * arm-tdep.c (arm_decode_misc_memhint_neon): Fix decoding of CPS
5724         and SETEND.
5725
5726 2017-10-05  Pedro Alves  <palves@redhat.com>
5727
5728         * linux-nat.c (linux_child_follow_fork): When following the parent
5729         and detaching the child, consult the parent thread's architecture
5730         instead of the child's.
5731
5732 2017-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
5733
5734         * ax.h: Do not include "doublest.h".
5735         (union agent_val): Remove.
5736
5737 2017-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
5738
5739         * dfp.h (MAX_DECIMAL_STRING): Move to dfp.c.
5740         (decimal_to_string): Return std::string object.
5741         (decimal_from_string): Accept std::string object.  Return bool.
5742         (decimal_from_integral, decimal_from_doublest): Remove.
5743         (decimal_from_longest): Add prototype.
5744         (decimal_from_ulongest): Likewise.
5745         (decimal_to_longest): Likewise.
5746         (decimal_from_doublest): Likewise.
5747         * dfp.c: Do not include "gdbtypes.h" or "value.h".
5748         (MAX_DECIMAL_STRING): Move here.
5749         (decimal_to_string): Return std::string object.
5750         (decimal_from_string): Accept std::string object.  Return bool.
5751         (decimal_from_integral): Remove, replace by ...
5752         (decimal_from_longest, decimal_from_ulongest): ... these new functions.
5753         (decimal_to_longest): New function.
5754         (decimal_from_floating): Remove, replace by ...
5755         (decimal_from_doublest): ... this new function.
5756         (decimal_to_doublest): Update to new decimal_to_string interface.
5757
5758         * value.c (unpack_long): Use decimal_to_longest.
5759         * valops.c (value_cast): Use decimal_from_doublest instead of
5760         decimal_from_floating.  Use decimal_from_[u]longest isntead of
5761         decimal_from_integral.
5762         * valarith.c (value_args_as_decimal): Likewise.
5763         * valprint.c (print_decimal_floating): Update to new
5764         decimal_to_string interface.
5765         * printcmd.c (printf_decfloat): Likewise.
5766         * c-exp.y (parse_number): Update to new decimal_from_string interface.
5767
5768 2017-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
5769
5770         * doublest.h: Do not include "floatformat.h".  Remove stale comments.
5771         * gdbtypes.c: Include "floatformat.h".
5772         * value.c: Likewise.
5773         * m68k-tdep.c: Likewise.
5774
5775         * findvar.c: Do not include "floatformat.h".
5776         * amd64-darwin-tdep.c: Likewise.
5777         * arm-linux-tdep.c: Likewise.
5778         * i386-darwin-tdep.c: Likewise.
5779         * i387-tdep.c: Likewise.
5780         * m68k-linux-tdep.c: Likewise.
5781         * mep-tdep.c: Likewise.
5782         * mips-tdep.c: Likewise.
5783         * nios2-tdep.c: Likewise.
5784         * s390-linux-tdep.c: Likewise.
5785         * sparc-obsd-tdep.c: Likewise.
5786         * sparc-tdep.c: Likewise.
5787         * sparc64-tdep.c: Likewise.
5788         * spu-tdep.c: Likewise.
5789         * tic6x-tdep.c: Likewise.
5790         * tilegx-tdep.c: Likewise.
5791         * vax-tdep.c: Likewise.
5792         * xstormy16-tdep.c: Likewise.
5793         * xtensa-tdep.c: Likewise.
5794
5795         * top.c: Do not include "doublest.h".
5796         * aarch64-tdep.c: Likewise.
5797         * alpha-tdep.c: Likewise.
5798         * arm-linux-tdep.c: Likewise.
5799         * m68k-linux-tdep.c: Likewise.
5800         * tilegx-tdep.c: Likewise.
5801         * xstormy16-tdep.c: Likewise.
5802
5803 2017-10-05  John Baldwin  <jhb@FreeBSD.org>
5804
5805         * mips-fbsd-tdep.c (MIPS_INST_ADDIU_A0_SP_N32): Define.
5806         (mipsn32_fbsd_sigframe): Define.
5807         (mips_fbsd_init_abi): Install mipsn32_fbsd_sigframe unwinder
5808         for FreeBSD/mipsn32.
5809
5810 2017-10-05  John Baldwin  <jhb@FreeBSD.org>
5811
5812         * fbsd-tdep.c (fbsd_print_auxv_entry): Handle AT_EHDRFLAGS and
5813         AT_HWCAP.
5814
5815 2017-10-05  Tristan Gingold  <tgingold@free.fr>
5816
5817         * MAINTAINERS (Misc): Update my email address.
5818
5819 2017-10-04  Pedro Alves  <palves@redhat.com>
5820
5821         * remote.c (get_remote_arch_state): New 'gdbarch' parameter.  Use
5822         it instead of target_gdbarch.
5823         (get_remote_state, get_remote_packet_size): Adjust
5824         get_remote_arch_state calls, passing down target_gdbarch
5825         explicitly.
5826         (packet_reg_from_regnum, packet_reg_from_pnum): New parameter
5827         'gdbarch' and use it instead of target_gdbarch.
5828         (get_memory_packet_size): Adjust get_remote_arch_state calls,
5829         passing down target_gdbarch explicitly.
5830         (struct stop_reply) <arch>: New field.
5831         (remote_parse_stop_reply): Use the stopped thread's architecture,
5832         not the current inferior's.  Save the architecture in the
5833         stop_reply.
5834         (process_stop_reply): Use the stop reply's architecture.
5835         (process_g_packet, remote_fetch_registers)
5836         (remote_prepare_to_store, store_registers_using_G)
5837         (remote_store_registers): Adjust get_remote_arch_state calls,
5838         using the regcache's architecture.
5839         (remote_get_trace_status): Adjust get_remote_arch_state calls,
5840         passing down target_gdbarch explicitly.
5841         * spu-multiarch.c (spu_thread_architecture): Defer to the target
5842         beneath instead of calling target_gdbarch.
5843         * target.c (default_thread_architecture): Use the specified
5844         inferior's architecture, instead of the current inferior's
5845         architecture (via target_gdbarch).
5846
5847 2017-10-04  Pedro Alves  <palves@redhat.com>
5848
5849         * regcache.c (get_thread_arch_regcache): Remove null_ptid special
5850         case.
5851         (regcache_print): Handle !target_has_registers here instead.
5852
5853 2017-10-04  Pedro Alves  <palves@redhat.com>
5854
5855         * frame.c (create_test_frame): Delete.
5856         * frame.h (create_test_frame): Delete.
5857         * gdbarch-selftests.c: Include gdbthread.h and target.h.
5858         (class regcache_test): Delete.
5859         (test_target_has_registers, test_target_has_stack)
5860         (test_target_has_memory, test_target_prepare_to_store)
5861         (test_target_store_registers): New functions.
5862         (test_target_ops): New class.
5863         (register_to_value_test): Error out if there's already a
5864         process_stratum (or higher) target pushed.  Create a fuller mock
5865         environment, with mock target_ops, inferior, address space, thread
5866         and inferior_ptid.
5867         * progspace.c (struct address_space): Move to ...
5868         * progspace.h (struct address_space): ... here.
5869         * regcache.h (regcache::~regcache, regcache::raw_write)
5870         [GDB_SELF_TEST]: No longer virtual.
5871
5872 2017-10-04  Simon Marchi  <simon.marchi@ericsson.com>
5873
5874         * mi/mi-main.c (list_available_thread_groups): Reverse filter logic.
5875
5876 2017-10-04  Pedro Alves  <palves@redhat.com>
5877
5878         * guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Move code
5879         out of 'between TRY and CATCH'.
5880
5881 2017-10-04  Pedro Alves  <palves@redhat.com>
5882
5883         * cli/cli-cmds.c (complete_command): Add missing END_CATCH.
5884         * common/common-exceptions.h (TRY): Open an outermost scope.
5885         Expand intro comment.
5886         (CATCH): Reindent.
5887         (END_CATCH): Close the outermost scope.
5888         * completer.c (complete_line_internal): Add missing END_CATCH.
5889
5890 2017-10-04  Sergio Durigan Junior  <sergiodj@redhat.com>
5891
5892         * NEWS (Changes since GDB 8.0): Add entry about new
5893         'set-cwd-on-gdbserver' feature.
5894         (New remote packets): Add entry for QSetWorkingDir.
5895         * common/common-inferior.h (set_inferior_cwd): New prototype.
5896         * infcmd.c (set_inferior_cwd): Remove "static".
5897         (show_cwd_command): Expand text to include remote debugging.
5898         * remote.c: Add PACKET_QSetWorkingDir.
5899         (remote_protocol_features) <QSetWorkingDir>: New entry for
5900         PACKET_QSetWorkingDir.
5901         (extended_remote_set_inferior_cwd): New function.
5902         (extended_remote_create_inferior): Call
5903         "extended_remote_set_inferior_cwd".
5904         (_initialize_remote): Call "add_packet_config_cmd" for
5905         QSetWorkingDir.
5906
5907 2017-10-04  Sergio Durigan Junior  <sergiodj@redhat.com>
5908
5909         * NEWS (New commands): Mention "set/show cwd".
5910         * cli/cli-cmds.c (_initialize_cli_cmds): Mention "set cwd" on
5911         "cd" command's help text.
5912         * common/common-inferior.h (get_inferior_cwd): New prototype.
5913         * infcmd.c (inferior_cwd_scratch): New global variable.
5914         (set_inferior_cwd): New function.
5915         (get_inferior_cwd): Likewise.
5916         (set_cwd_command): Likewise.
5917         (show_cwd_command): Likewise.
5918         (_initialize_infcmd): Add "set/show cwd" commands.
5919         * inferior.h (class inferior) <cwd>: New field.
5920         * nat/fork-inferior.c: Include "gdb_tilde_expand.h".
5921         (fork_inferior): Change inferior's cwd before its execution.
5922         * windows-nat.c (windows_create_inferior): Pass inferior's cwd
5923         to CreateProcess.
5924
5925 2017-10-04  Sergio Durigan Junior  <sergiodj@redhat.com>
5926
5927         * Makefile.in (SFILES): Add gdb_tilde_expand.c.
5928         (HFILES_NO_SRCDIR): Add gdb_tilde_expand.h.
5929         (COMMON_OBS): Add gdb_tilde_expand.o.
5930         * common/gdb_tilde_expand.c: New file.
5931         * common/gdb_tilde_expand.h: Likewise.
5932
5933 2017-10-03  Maciej W. Rozycki  <macro@imgtec.com>
5934
5935         * gdbarch.sh (objfile): Remove duplicate declaration.
5936         * gdbarch.h: Regenerate.
5937
5938 2017-10-03  Tom Tromey  <tom@tromey.com>
5939
5940         * utils.c (internal_vproblem): Use string_vprintf.
5941
5942 2017-10-03  Tom Tromey  <tom@tromey.com>
5943
5944         * printcmd.c (info_symbol_command): Use std::string.
5945
5946 2017-10-03  Tom Tromey  <tom@tromey.com>
5947
5948         * top.c (gdb_safe_append_history): Use std::string.
5949
5950 2017-10-03  Tom Tromey  <tom@tromey.com>
5951
5952         * event-top.c (stdin_event_handler): Update.
5953         * main.c (captured_main_1): Update.
5954         * top.h (make_delete_ui_cleanup): Remove.
5955         (struct ui): Add constructor and destructor.
5956         (new_ui, delete_ui): Remove.
5957         * top.c (make_delete_ui_cleanup): Remove.
5958         (new_ui_command): Use std::unique_ptr.
5959         (delete_ui_cleanup): Remove.
5960         (ui::ui): Rename from new_ui.  Update.
5961         (free_ui): Remove.
5962         (ui::~ui): Rename from delete_ui.  Update.
5963
5964 2017-10-03  Tom Tromey  <tom@tromey.com>
5965
5966         * symfile.c (load_progress): Use gdb::byte_vector.
5967
5968 2017-10-03  Tom Tromey  <tom@tromey.com>
5969
5970         * mi/mi-main.c (mi_cmd_trace_frame_collected): Remove unused
5971         declaration.
5972         * printcmd.c (x_command): Remove unused declaration.
5973         * symfile.c (symbol_file_command): Remove unused declaration.
5974
5975 2017-10-03  Tom Tromey  <tom@tromey.com>
5976
5977         * utils.c (internal_vproblem): Use std::string.
5978         (defaulted_query): Likewise.
5979
5980 2017-10-03  Tom Tromey  <tom@tromey.com>
5981
5982         * guile/scm-ports.c (ioscm_with_output_to_port_worker): Update.
5983         * top.c (execute_command_to_string): Update.
5984         * utils.c (make_cleanup_restore_page_info): Remove.
5985         (do_restore_page_info_cleanup): Remove.
5986         (set_batch_flag_and_restore_page_info):
5987         New.
5988         (make_cleanup_restore_page_info): Remove.
5989         (set_batch_flag_and_make_cleanup_restore_page_info): Remove.
5990         (~set_batch_flag_and_restore_page_info): New
5991         (make_cleanup_restore_uinteger): Remove.
5992         (make_cleanup_restore_integer): Remove.
5993         (struct restore_integer_closure): Remove.
5994         (restore_integer): Remove.
5995         * utils.h (struct set_batch_flag_and_restore_page_info): New
5996         class.
5997         (set_batch_flag_and_make_cleanup_restore_page_info): Remove.
5998         (make_cleanup_restore_page_info): Remove.
5999         (make_cleanup_restore_uinteger) Remove.
6000         (make_cleanup_restore_integer) Remove.
6001
6002 2017-10-03  Tom Tromey  <tom@tromey.com>
6003
6004         * record-full.h (record_full_gdb_operation_disable_set): Return
6005         scoped_restore_tmpl<int>.
6006         * infrun.c (adjust_pc_after_break): Update.
6007         (handle_signal_stop): Update.
6008         * record-full.c (record_full_gdb_operation_disable_set): Return
6009         scoped_restore_tmpl<int>.
6010         (record_full_wait_1, record_full_insert_breakpoint)
6011         (record_full_remove_breakpoint, record_full_save)
6012         (record_full_goto_insn): Update.
6013
6014 2017-10-02  Tom Tromey  <tom@tromey.com>
6015
6016         PR rust/22236:
6017         * rust-lang.c (rust_val_print_str): New function.
6018         (val_print_struct): Call it.
6019         (rust_subscript): Preserve name of slice type.
6020
6021 2017-10-02  Tom Tromey  <tom@tromey.com>
6022
6023         * rust-lang.c (rust_subscript): Handle slices in
6024         EVAL_AVOID_SIDE_EFFECTS case.
6025
6026 2017-10-02  Tom Tromey  <tom@tromey.com>
6027
6028         * rust-lang.c (rust_slice_type_p): Recognize &str as a slice type.
6029
6030 2017-10-02  Tom Tromey  <tom@tromey.com>
6031
6032         * rust-lang.h (rust_slice_type): Add "extern".
6033
6034 2017-10-02  Tom Tromey  <tom@tromey.com>
6035             Pedro Alves  <palves@redhat.com>
6036
6037         * ada-lang.h (ada_exc_info::operator<): Make const.
6038         (ada_exc_info::operator==): Make const.
6039         * ada-lang.c (ada_exc_info::operator<, ada_exc_info::operator==):
6040         Make const.
6041
6042 2017-09-29  Tom Tromey  <tom@tromey.com>
6043
6044         * target.c (read_whatever_is_readable): Change type of "result".
6045         Update.
6046         (free_memory_read_result_vector): Remove.
6047         (read_memory_robust): Change return type.  Update.
6048         * mi/mi-main.c (mi_cmd_data_read_memory_bytes): Update.  Use
6049         bin2hex, std::string.
6050         * target.h (memory_read_result_s): Remove typedef.
6051         (free_memory_read_result_vector): Remove.
6052         (read_memory_robust): Return std::vector.
6053
6054 2017-09-29  Tom Tromey  <tom@tromey.com>
6055
6056         * mi/mi-main.c (captured_mi_execute_command): Use scope_restore.
6057
6058 2017-09-29  Tom Tromey  <tom@tromey.com>
6059
6060         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions): Update.
6061         * ada-lang.h (struct ada_exc_info): Remove typedef.  Declare
6062         operator< and operator==.
6063         (ada_exceptions_list): Return a std::vector.
6064         * ada-lang.c (ada_exc_info::operator<): Rename from
6065         compare_ada_exception_info.
6066         (ada_exc_info::operator==): New.
6067         (sort_remove_dups_ada_exceptions_list): Change type of
6068         "exceptions".
6069         (ada_add_standard_exceptions, ada_add_exceptions_from_frame)
6070         (ada_add_global_exceptions): Likewise.
6071         (ada_exceptions_list_1): Return a std::vector.
6072         (ada_exceptions_list): Likewise.
6073
6074 2017-09-29  Tom Tromey  <tom@tromey.com>
6075
6076         * mi/mi-main.c (struct print_one_inferior_data) <inferiors>: Now a
6077         'std::set *'.
6078         (print_one_inferior): Update.
6079         (free_vector_of_ints): Remove.
6080         (list_available_thread_groups): Change "ids" to std::set.
6081         (mi_cmd_list_thread_groups): Update.
6082         (struct collect_cores_data) <core>: Now a std::set.
6083         (collect_cores): Update.
6084         (unique): Remove.
6085         (print_one_inferior): Update.
6086
6087 2017-09-29  Tom Tromey  <tom@tromey.com>
6088
6089         * mi/mi-main.c (mi_execute_cli_command): Use std::string.
6090         (mi_execute_async_cli_command): Likewise.
6091         (mi_cmd_trace_frame_collected): Use field_fmt.
6092
6093 2017-09-29  Tom Tromey  <tom@tromey.com>
6094
6095         * mi/mi-main.c (mi_cmd_data_write_memory_bytes): Use
6096         gdb::byte_vector.
6097
6098 2017-09-29  Tom Tromey  <tom@tromey.com>
6099
6100         * mi/mi-parse.c (mi_parse): Remove unused declaration.
6101
6102 2017-09-29  Tom Tromey  <tom@tromey.com>
6103
6104         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Don't copy "oarg".
6105
6106 2017-09-29  Tom Tromey  <tom@tromey.com>
6107
6108         * varobj.h (varobj_gen_name): Return std::string.
6109         * varobj.c (varobj_gen_name): Return std::string.
6110         * mi/mi-cmd-var.c (mi_cmd_var_create): Use std::string.
6111         (mi_cmd_var_delete): Don't copy "name".
6112
6113 2017-09-29  Tom Tromey  <tom@tromey.com>
6114
6115         * mi/mi-cmd-break.c (mi_argv_to_format): Return std::string.
6116         (mi_cmd_break_insert_1): Update.
6117
6118 2017-09-29  Tom Tromey  <tom@tromey.com>
6119
6120         * target.h (make_scoped_defer_target_commit_resume): Update.
6121         * target.c (make_scoped_defer_target_commit_resume): Rename from
6122         make_cleanup_defer_target_commit_resume.  Return a
6123         scoped_restore.
6124         * infrun.c (proceed): Use make_scoped_defer_target_commit_resume.
6125
6126 2017-09-29  Tom Tromey  <tom@tromey.com>
6127
6128         * main.c (captured_main_1): Remove unused declaration.
6129         * spu-multiarch.c (parse_spufs_run): Remove unused declaration.
6130
6131 2017-09-29  Tom Tromey  <tom@tromey.com>
6132
6133         * symtab.c (search_symbols): Remove unused outer cleanup.
6134         (make_source_files_completion_list): Remove unused declaration.
6135
6136 2017-09-29  Tom Tromey  <tom@tromey.com>
6137
6138         * mt-tdep.c (mt_push_dummy_call): Use gdb::byte_vector.
6139
6140 2017-09-29  Tom Tromey  <tom@tromey.com>
6141
6142         * xstormy16-tdep.c (xstormy16_push_dummy_call): Use
6143         gdb::byte_vector.
6144
6145 2017-09-29  Tom Tromey  <tom@tromey.com>
6146
6147         * complaints.c (vcomplaint): Use std::string.
6148
6149 2017-09-29  Tom Tromey  <tom@tromey.com>
6150
6151         * tracepoint.c (trace_variable_command): Use std::string.
6152         (encode_actions_1): Remove unused declarations.
6153         (create_tsv_from_upload): Use std::string.
6154
6155 2017-09-29  Tom Tromey  <tom@tromey.com>
6156
6157         * cp-support.c (gdb_demangle): Use std::string.
6158
6159 2017-09-29  Tom Tromey  <tom@tromey.com>
6160
6161         * stack.c (parse_frame_specification): Use std::string
6162         (info_frame_command): Use gdb::unique_xmalloc_ptr.
6163
6164 2017-09-29  Tom Tromey  <tom@tromey.com>
6165
6166         * tilegx-tdep.c (tilegx_push_dummy_call): Use gdb::byte_vector.
6167
6168 2017-09-29  Tom Tromey  <tom@tromey.com>
6169
6170         * utils.c (vfprintf_maybe_filtered): Use std::string.
6171         (vfprintf_unfiltered): Likewise.
6172
6173 2017-09-29  Tom Tromey  <tom@tromey.com>
6174
6175         * event-top.c (top_level_prompt): Return std::string.
6176         (display_gdb_prompt): Update.
6177
6178 2017-09-29  Tom Tromey  <tom@tromey.com>
6179
6180         * unittests/common-utils-selftests.c (format): New function.
6181         (string_vprintf_tests): New function.
6182         (_initialize_common_utils_selftests): Register new tests.
6183         * common/common-utils.c (string_vprintf): New function.
6184         * common/common-utils.h (string_vprintf): Declare.
6185
6186 2017-09-29  Pedro Alves  <palves@redhat.com>
6187
6188         * common/rsp-low.c (unpack_varlen_hex): Constify.
6189         * common/rsp-low.h (unpack_varlen_hex): Constify.
6190         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
6191         Constify.
6192         * remote.c (remote_set_permissions, read_ptid)
6193         (remote_current_thread, remote_get_threads_with_qthreadinfo)
6194         (remote_static_tracepoint_marker_at)
6195         (remote_static_tracepoint_markers_by_strid)
6196         (stop_reply_extract_thread, remote_parse_stop_reply): Constify.
6197         * tracepoint.c (parse_trace_status, parse_tracepoint_status)
6198         (parse_tracepoint_definition, parse_tsv_definition)
6199         (parse_static_tracepoint_marker_definition): Constify.
6200         * tracepoint.h (parse_static_tracepoint_marker_definition)
6201         (parse_trace_status, parse_tracepoint_status)
6202         (parse_tracepoint_definition, parse_tsv_definition): Constify.
6203
6204 2017-09-29  Pedro Alves  <palves@redhat.com>
6205
6206         * remote.c (target_buf, target_buf_size): Delete.
6207         (remote_get_noisy_reply): Remove buf_p and sizeof_buf parameters.
6208         Use the connection's packet buffer instead.
6209         All callers adjusted.
6210         (_initialize_remote): Remove references to target_buf and
6211         target_buf_size.
6212
6213 2017-09-28  Pedro Alves  <palves@redhat.com>
6214
6215         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
6216         unittests/common-utils-selftests.c.
6217         (SUBDIR_UNITTESTS_OBS): Add common-utils-selftests.o.
6218         (COMMON_OBS): Remove utils-selftests.o.
6219         * utils-selftests.c: Move to ...
6220         * unittests/common-utils-selftests.c: ... here and rename self
6221         test to "string_printf".
6222
6223 2017-09-28  Alexander Shaposhnikov <alexander.v.shaposhnikov@gmail.com> (tiny patch)
6224
6225         * dwarf2read.c (open_and_init_dwp_file): Protect against dwp_file
6226         having NULL cus or tus.
6227
6228 2017-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
6229
6230         * arm-tdep.c: (convert_from_extended): Remove.
6231         (convert_to_extended): Likewise.
6232         (arm_extract_return_value): Use convert_typed_floating.
6233         (arm_store_return_value): Likewise.
6234
6235         * sh-tdep.h (struct gdbarch_tdep): Add sh_littlebyte_bigword_type.
6236         * sh-tdep.c: Do not include "floatformat.h".
6237         (sh_littlebyte_bigword_type): New function.
6238         (sh_register_convert_to_virtual): Use convert_typed_floating.
6239         (sh_register_convert_to_raw): Likewise.
6240         * sh64-tdep.c: (struct gdbarch_tdep): Add sh_littlebyte_bigword_type.
6241         (sh64_littlebyte_bigword_type): New function.
6242         (sh64_extract_return_value): Use convert_typed_floating.
6243         (sh64_register_convert_to_virtual): Likewise.
6244         (sh64_register_convert_to_raw): Likewise.
6245
6246 2017-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
6247
6248         * doublest.h (floatformat_from_type): Move to gdbtypes.h.
6249         * doublest.c (floatformat_from_type): Move to gdbtypes.c.
6250
6251         * gdbtypes.h (union type_specific): Make field floatformat hold
6252         just a single struct floatformat, not an array.
6253         (floatformat_from_type): Move here.
6254         * gdbtypes.c (floatformat_from_type): Move here.  Update to
6255         changed TYPE_FLOATFORMAT definition.
6256         (verify_floatformat): Update to changed TYPE_FLOATFORMAT.
6257         (recursive_dump_type): Likewise.
6258         (init_float_type): Install correct floatformat for byte order.
6259         (arch_float_type): Likewise.
6260
6261 2017-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
6262
6263         * gdbtypes.c (init_type): Change incoming argument from
6264         length-in-bytes to length-in-bits.  Assert length is a
6265         multiple of TARGET_CHAR_BITS.
6266         (arch_type, arch_flags_type): Likewise.
6267         (init_integer_type): Update call to init_type.
6268         (init_character_type): Likewise.
6269         (init_boolean_type): Likewise.
6270         (init_float_type): Likewise.
6271         (init_decfloat_type): Likewise.
6272         (init_complex_type): Likewise.
6273         (init_pointer_type): Likewise.
6274         (objfile_type): Likewise.
6275         (arch_integer_type): Update call to arch_type.
6276         (arch_character_type): Likewise.
6277         (arch_boolean_type): Likewise.
6278         (arch_float_type): Likewise.
6279         (arch_decfloat_type): Likewise.
6280         (arch_complex_type): Likewise.
6281         (arch_pointer_type): Likewise.
6282         (gdbtypes_post_init): Likewise.
6283
6284         * dwarf2read.c (dwarf2_init_float_type): Update call to init_type.
6285         (read_base_type): Likewise.
6286         * mdebugread.c (basic_type): Likewise.
6287         * stabsread.c (dbx_init_float_type): Likewise.
6288         (rs6000_builtin_type): Likewise.
6289         (read_range_type): Likewise.  Also, fix call to init_integer_type
6290         with erroneous length argument.
6291
6292         * ada-lang.c (ada_language_arch_info): Update call to arch_type.
6293         * d-lang.c (build_d_types): Likewise.
6294         * f-lang.c (build_fortran_types): Likewise.
6295         * go-lang.c (build_go_types): Likewise.
6296         * opencl-lang.c (build_opencl_types): Likewise.
6297         * jit.c (finalize_symtab): Likewise.
6298         * gnu-v3-abi.c (build_gdb_vtable_type): Likewise.
6299         (build_std_type_info_type): Likewise.
6300         * target-descriptions.c (tdesc_gdb_type): Likewise.  Also,
6301         update call to arch_flags_type.
6302
6303         * linux-tdep.c (linux_get_siginfo_type_with_fields): Update call to
6304         arch_type.
6305         * fbsd-tdep.c (fbsd_get_siginfo_type): Likewise.
6306         * windows-tdep.c (windows_get_tlb_type): Likewise.
6307
6308         * avr-tdep.c (avr_gdbarch_init): Update call to arch_type.
6309         * ft32-tdep.c (ft32_gdbarch_init): Likewise.
6310         * m32c-tdep.c (make_types): Likewise.
6311         * rl78-tdep.c (rl78_gdbarch_init): Likewise.
6312         (rl78_psw_type): Update call to arch_flags_type.
6313         * m68k-tdep.c (m68k_ps_type): Update call to arch_flags_type.
6314         * rx-tdep.c (rx_psw_type): Likewise.
6315         (rx_fpsw_type): Likewise.
6316         * sparc-tdep.c (sparc_psr_type): Likewise.
6317         (sparc_fsr_type): Likewise.
6318         * sparc64-tdep.c (sparc64_pstate_type): Likewise.
6319         (sparc64_ccr_type): Likewise.
6320         (sparc64_fsr_type): Likewise.
6321         (sparc64_fprs_type): Likewise.
6322
6323 2017-09-27  Tom Tromey  <tom@tromey.com>
6324
6325         * findcmd.c (find_command): Constify.
6326
6327 2017-09-27  Tom Tromey  <tom@tromey.com>
6328
6329         * ada-tasks.c (task_command_1, task_command): Constify.
6330
6331 2017-09-27  Tom Tromey  <tom@tromey.com>
6332
6333         * symtab.c (maintenance_print_symbol_cache)
6334         (maintenance_flush_symbol_cache)
6335         (maintenance_print_symbol_cache_statistics): Constify.
6336
6337 2017-09-27  Tom Tromey  <tom@tromey.com>
6338
6339         * inferior.c (detach_inferior_command, kill_inferior_command)
6340         (inferior_command): Constify.
6341
6342 2017-09-27  Tom Tromey  <tom@tromey.com>
6343
6344         * regcache.c (regcache_print, maintenance_print_registers)
6345         (maintenance_print_raw_registers)
6346         (maintenance_print_cooked_registers)
6347         (maintenance_print_register_groups)
6348         (maintenance_print_remote_registers): Constify.
6349
6350 2017-09-27  Tom Tromey  <tom@tromey.com>
6351
6352         * printcmd.c (map_display_numbers, undisplay_command)
6353         (enable_disable_display_command, enable_display_command)
6354         (disable_display_command): Constify.
6355
6356 2017-09-27  Tom Tromey  <tom@tromey.com>
6357
6358         * breakpoint.h (delete_command): Don't declare.
6359         * breakpoint.c (delete_command, enable_once_command)
6360         (enable_count_command, enable_delete_command, breakpoint_1)
6361         (maintenance_info_breakpoints, stopin_command, stopat_command)
6362         (delete_command, delete_trace_command, save_breakpoints)
6363         (save_breakpoints_command, save_tracepoints_command): Constify.
6364
6365 2017-09-27  Tom Tromey  <tom@tromey.com>
6366
6367         * macrocmd.c (macro_expand_command, macro_expand_once_command)
6368         (skip_ws, extract_identifier, macro_define_command)
6369         (macro_undef_command, macro_list_command): Constify.
6370
6371 2017-09-27  Tom Tromey  <tom@tromey.com>
6372
6373         * infcmd.c (environment_info, set_environment_command)
6374         (unset_environment_command, path_info, info_proc_cmd_1)
6375         (info_proc_cmd_mappings, info_proc_cmd_stat)
6376         (info_proc_cmd_status, info_proc_cmd_cwd, info_proc_cmd_cmdline)
6377         (info_proc_cmd_exe, info_proc_cmd_all): Constify.
6378
6379 2017-09-27  Tom Tromey  <tom@tromey.com>
6380
6381         * i386-tdep.c (i386_mpx_info_bounds, i386_mpx_set_bounds):
6382         Constify.
6383
6384 2017-09-27  Tom Tromey  <tom@tromey.com>
6385
6386         * symfile-mem.c (add_symbol_file_from_memory_command): Constify.
6387
6388 2017-09-27  Tom Tromey  <tom@tromey.com>
6389
6390         * demangle.c (demangle_command): Constify.
6391
6392 2017-09-27  Tom Tromey  <tom@tromey.com>
6393
6394         * progspace.c (maintenance_info_program_spaces_command):
6395         Constify.
6396
6397 2017-09-27  Tom Tromey  <tom@tromey.com>
6398
6399         * compile/compile.c (check_raw_argument, compile_file_command)
6400         (compile_code_command, compile_print_command): Constify.
6401
6402 2017-09-27  Tom Tromey  <tom@tromey.com>
6403
6404         * reggroups.c (maintenance_print_reggroups): Constify.
6405
6406 2017-09-27  Tom Tromey  <tom@tromey.com>
6407
6408         * dwarf2read.c (save_gdb_index_command): Constify.
6409
6410 2017-09-27  Tom Tromey  <tom@tromey.com>
6411
6412         * stap-probe.c (info_probes_stap_command): Constify.
6413
6414 2017-09-27  Tom Tromey  <tom@tromey.com>
6415
6416         * fork-child.c (unset_exec_wrapper_command): Constify.
6417
6418 2017-09-27  Tom Tromey  <tom@tromey.com>
6419
6420         * btrace.c (get_uint, get_context_size, no_chunk)
6421         (maint_btrace_packet_history_cmd)
6422         (maint_btrace_clear_packet_history_cmd, maint_btrace_clear_cmd)
6423         (maint_info_btrace_cmd): Constify.
6424
6425 2017-09-27  Tom Tromey  <tom@tromey.com>
6426
6427         * reverse.c (delete_bookmark_command): Constify.
6428
6429 2017-09-27  Tom Tromey  <tom@tromey.com>
6430
6431         * remote.c (set_memory_packet_size)
6432         (set_memory_write_packet_size, show_memory_write_packet_size)
6433         (set_memory_read_packet_size, show_memory_read_packet_size)
6434         (compare_sections_command, packet_command, remote_put_command)
6435         (remote_get_command, remote_delete_command): Constify.
6436
6437 2017-09-27  Tom Tromey  <tom@tromey.com>
6438
6439         * mips-tdep.c (show_mipsfpu_command, set_mipsfpu_single_command)
6440         (set_mipsfpu_double_command, set_mipsfpu_none_command)
6441         (set_mipsfpu_auto_command): Constify.
6442
6443 2017-09-27  Tom Tromey  <tom@tromey.com>
6444
6445         * cli/cli-cmds.h (cd_command): Constify.
6446         * cli/cli-cmds.c (cd_command): Constify.
6447
6448 2017-09-27  Tom Tromey  <tom@tromey.com>
6449
6450         * thread.c (thread_name_command, thread_find_command): Constify.
6451
6452 2017-09-27  Tom Tromey  <tom@tromey.com>
6453
6454         * probe.c (enable_probes_command, disable_probes_command):
6455         Constify.
6456
6457 2017-09-27  Tom Tromey  <tom@tromey.com>
6458
6459         * symfile.c (symbol_file_command): Constify.
6460         * gdbcore.h (deprecated_file_changed_hook): Constify.
6461         * exec.c (deprecated_file_changed_hook, exec_file_command)
6462         (file_command): Constify.
6463         * defs.h (symbol_file_command): Constify.
6464
6465 2017-09-27  Tom Tromey  <tom@tromey.com>
6466
6467         * remote-fileio.c (set_system_call_allowed)
6468         (show_system_call_allowed): Constify.
6469
6470 2017-09-27  Tom Tromey  <tom@tromey.com>
6471
6472         * tracepoint.c (delete_trace_variable_command)
6473         (tfind_end_command, tfind_start_command, tfind_pc_command)
6474         (tfind_tracepoint_command, tfind_line_command)
6475         (tfind_range_command, tfind_outside_command): Constify.
6476
6477 2017-09-27  Tom Tromey  <tom@tromey.com>
6478
6479         * ax-gdb.c (maint_agent_printf_command, agent_command)
6480         (agent_eval_command): Constify.
6481
6482 2017-09-27  Tom Tromey  <tom@tromey.com>
6483
6484         * tracepoint.c (info_scope_command): Constify.
6485         * python/python.c (gdbpy_decode_line): Constify.
6486         * python/py-breakpoint.c (bppy_init): Constify.
6487         * mi/mi-cmd-break.c (mi_cmd_break_insert_1): Constify.
6488         * location.h: (new_linespec_location)
6489         (string_to_event_location_basic, string_to_event_location):
6490         Constify.
6491         * location.c (new_linespec_location)
6492         (string_to_event_location_basic, string_to_event_location):
6493         Constify.
6494         * linespec.h (decode_line_with_current_source)
6495         (decode_line_with_last_displayed, linespec_lex_to_end): Constify.
6496         * linespec.c (linespec_lex_to_end)
6497         (decode_line_with_current_source)
6498         (decode_line_with_last_displayed): Constify.
6499         * guile/scm-breakpoint.c (gdbscm_register_breakpoint_x):
6500         Constify.
6501         * cli/cli-cmds.c (edit_command, list_command): Constify.
6502         * breakpoint.h (until_break_command, watch_command_wrapper)
6503         (awatch_command_wrapper, rwatch_command_wrapper)
6504         (init_ada_exception_breakpoint): Constify.
6505         * breakpoint.c (break_command_1, dprintf_command)
6506         (break_range_command, watch_command_wrapper)
6507         (rwatch_command_wrapper, awatch_command_wrapper)
6508         (until_break_command, init_ada_exception_breakpoint)
6509         (strace_marker_create_sals_from_location, trace_command)
6510         (ftrace_command, strace_command, struct tracepoint): Constify.
6511         * ax-gdb.c (agent_command_1): Constify.
6512         * ada-lang.c (ada_exception_sal): Constify.
6513
6514 2017-09-27  Tom Tromey  <tom@tromey.com>
6515
6516         * record.c (cmd_record_delete, cmd_record_stop, cmd_record_save)
6517         (cmd_record_goto_begin, cmd_record_goto_end, get_insn_number)
6518         (get_context_size, no_chunk, get_insn_history_modifiers)
6519         (cmd_record_insn_history, get_call_history_modifiers)
6520         (cmd_record_call_history): Constify.
6521
6522 2017-09-27  Tom Tromey  <tom@tromey.com>
6523
6524         * source.c (show_substitute_path_command)
6525         (unset_substitute_path_command, set_substitute_path_command):
6526         Constify.
6527
6528 2017-09-27  Tom Tromey  <tom@tromey.com>
6529
6530         * typeprint.c (maintenance_print_type): Constify.
6531         * maint.c (maintenance_dump_me, maintenance_demangle)
6532         (maintenance_time_display, maintenance_info_sections)
6533         (maintenance_print_statistics, maintenance_deprecate)
6534         (maintenance_undeprecate): Constify.
6535         (maintenance_do_deprecate): Constify.  Use std::string.
6536         (maintenance_selftest): Constify.
6537         * gdbtypes.h (maintenance_print_type): Constify.
6538
6539 2017-09-27  Tom Tromey  <tom@tromey.com>
6540
6541         * hppa-tdep.c (unwind_command): Constify.
6542
6543 2017-09-27  Tom Tromey  <tom@tromey.com>
6544
6545         * target-descriptions.c (unset_tdesc_filename_cmd)
6546         (maint_print_c_tdesc_cmd, maintenance_check_xml_descriptions):
6547         Constify.
6548
6549 2017-09-27  Tom Tromey  <tom@tromey.com>
6550
6551         * dummy-frame.c (maintenance_print_dummy_frames): Constify.
6552
6553 2017-09-27  Tom Tromey  <tom@tromey.com>
6554
6555         * tui/tui.c (tui_enable_command, tui_disable_command): Constify.
6556
6557 2017-09-27  Tom Tromey  <tom@tromey.com>
6558
6559         * tui/tui-regs.c (tui_reg_command): Constify.
6560
6561 2017-09-27  Tom Tromey  <tom@tromey.com>
6562
6563         * skip.c (skip_file_command, skip_function_command)
6564         (skip_enable_command, skip_disable_command, skip_delete_command):
6565         Constify.
6566
6567 2017-09-27  Tom Tromey  <tom@tromey.com>
6568
6569         * record-btrace.c (cmd_record_btrace_bts_start)
6570         (cmd_record_btrace_pt_start): Constify.
6571
6572 2017-09-27  Tom Tromey  <tom@tromey.com>
6573
6574         * symmisc.c (maintenance_print_symbols)
6575         (maintenance_print_msymbols, maintenance_print_objfiles)
6576         (maintenance_info_symtabs, maintenance_check_symtabs)
6577         (maintenance_expand_symtabs, maintenance_info_line_tables):
6578         Constify.
6579
6580 2017-09-27  Tom Tromey  <tom@tromey.com>
6581
6582         * top.c (new_ui_command): Constify.
6583
6584 2017-09-27  Tom Tromey  <tom@tromey.com>
6585
6586         * symfile.c (add_symbol_file_command)
6587         (remove_symbol_file_command, list_overlays_command)
6588         (map_overlay_command, unmap_overlay_command)
6589         (overlay_auto_command, overlay_manual_command)
6590         (overlay_off_command, overlay_load_command): Constify.
6591
6592 2017-09-27  Tom Tromey  <tom@tromey.com>
6593
6594         * spu-tdep.c (info_spu_event_command, info_spu_signal_command)
6595         (info_spu_mailbox_command, info_spu_dma_command)
6596         (info_spu_proxydma_command): Constify.
6597
6598 2017-09-27  Tom Tromey  <tom@tromey.com>
6599
6600         * cli/cli-logging.c (set_logging_on, set_logging_off): Constify.
6601
6602 2017-09-27  Tom Tromey  <tom@tromey.com>
6603
6604         * cli/cli-script.c (user_defined_command): Constify.
6605
6606 2017-09-27  Tom Tromey  <tom@tromey.com>
6607
6608         * cli/cli-dump.c (dump_memory_command, dump_value_command)
6609         (dump_srec_memory, dump_srec_value, dump_ihex_memory)
6610         (dump_ihex_value, dump_verilog_memory, dump_verilog_value)
6611         (dump_tekhex_memory, dump_tekhex_value, dump_binary_memory)
6612         (dump_binary_value, append_binary_memory, append_binary_value):
6613         Constify.
6614         (struct dump_context) <func>: Constify.
6615         (add_dump_command): Update.
6616
6617 2017-09-27  Tom Tromey  <tom@tromey.com>
6618
6619         * cli/cli-cmds.c (show_version, show_configuration)
6620         (source_command, show_user): Constify.
6621
6622 2017-09-27  Tom Tromey  <tom@tromey.com>
6623
6624         * target.c (maintenance_print_target_stack): Constify.
6625
6626 2017-09-27  Tom Tromey  <tom@tromey.com>
6627
6628         * interps.c (interpreter_exec_cmd): Constify.
6629
6630 2017-09-27  Tom Tromey  <tom@tromey.com>
6631
6632         * record-full.c (cmd_record_full_restore): Constify.
6633
6634 2017-09-27  Tom Tromey  <tom@tromey.com>
6635
6636         * memattr.c (enable_mem_command, disable_mem_command)
6637         (delete_mem_command): Constify.
6638
6639 2017-09-27  Tom Tromey  <tom@tromey.com>
6640
6641         * value.c (show_convenience): Constify.
6642
6643 2017-09-27  Tom Tromey  <tom@tromey.com>
6644
6645         * gdbcore.h (core_file_command): Update.
6646         * corefile.c (core_file_command): Constify.
6647
6648 2017-09-27  Tom Tromey  <tom@tromey.com>
6649
6650         * user-regs.c (maintenance_print_user_registers): Constify.
6651
6652 2017-09-27  Tom Tromey  <tom@tromey.com>
6653
6654         * cp-namespace.c (maintenance_cplus_namespace): Constify.
6655
6656 2017-09-27  Tom Tromey  <tom@tromey.com>
6657
6658         * cp-support.c (first_component_command): Constify.
6659
6660 2017-09-27  Tom Tromey  <tom@tromey.com>
6661
6662         * psymtab.c (maintenance_print_psymbols)
6663         (maintenance_info_psymtabs, maintenance_check_psymtabs):
6664         Constify.
6665
6666 2017-09-27  Tom Tromey  <tom@tromey.com>
6667
6668         * windows-tdep.c (display_tib): Constify.
6669
6670 2017-09-27  Tom Tromey  <tom@tromey.com>
6671
6672         * linux-fork.c (delete_checkpoint_command)
6673         (detach_checkpoint_command): Constify.
6674
6675 2017-09-27  Tom Tromey  <tom@tromey.com>
6676
6677         * cp-abi.c (set_cp_abi_cmd, show_cp_abi_cmd): Constify.
6678
6679 2017-09-27  Tom Tromey  <tom@tromey.com>
6680
6681         * arc-tdep.c (dump_arc_instruction_command): Constify.
6682
6683 2017-09-27  Tom Tromey  <tom@tromey.com>
6684
6685         * valprint.c (set_radix, show_radix): Constify.
6686
6687 2017-09-27  Tom Tromey  <tom@tromey.com>
6688
6689         * dtrace-probe.c (info_probes_dtrace_command): Constify.
6690
6691 2017-09-27  Tom Tromey  <tom@tromey.com>
6692
6693         * command.h (not_just_help_class_command): Update.
6694         * cli/cli-decode.h (not_just_help_class_command): Update.
6695         * cli/cli-decode.c (not_just_help_class_command): Constify.
6696
6697 2017-09-27  Tom Tromey  <tom@tromey.com>
6698
6699         * gdb_bfd.c (maintenance_info_bfds): Constify.
6700
6701 2017-09-27  Tom Tromey  <tom@tromey.com>
6702
6703         * cli/cli-decode.c (add_cmd, set_cmd_cfunc): New function
6704         overloads.
6705         (do_add_cmd): Rename from add_cmd.  Don't call set_cmd_cfunc.
6706         (do_const_cfunc): New function.
6707         (cmd_cfunc_eq): New overload.
6708         (cli_user_command_p): Check do_const_cfunc.
6709         * cli/cli-decode.h (struct cmd_list_element) <function>: New field
6710         const_cfunc.
6711         * command.h (add_cmd): Add const overload and no-function
6712         overload.
6713         (set_cmd_cfunc): Add const overload.
6714         (cmd_const_cfunc_ftype): Declare.
6715         (cmd_cfunc_eq): Add const overload.
6716         * breakpoint.c, cli-cmds.c, cli-dump.c, guile/scm-cmd.c,
6717         python/py-cmd.c, target.c, tracepoint.c: Use no-function add_cmd
6718         overload.
6719
6720 2017-09-27  Tom Tromey  <tom@tromey.com>
6721
6722         * macroexp.c (get_next_token_for_substitution): New function.
6723         (substitute_args): Call it.  Check for __VA_OPT__.
6724
6725 2017-09-26  Walfred Tedeschi  <walfred.tedeschi@intel.com>
6726             Pedro Alves <palves@redhat.com>
6727
6728         * dwarf2read.c (dwarf2_cu): Remove field producer_is_icc and add
6729         producer_is_icc_lt_14.
6730         (producer_is_icc_lt_14): New function.
6731         (check_producer): Add code for checking version of ICC.
6732         (producer_is_icc): Move to producer.c.
6733         (read_structure_type): Restrict ICC workaround to ICC<14.
6734         * producer.c: Include selftest.h.
6735         (producer_is_icc, producer_parsing_tests, _initialize_producer):
6736         New functions.
6737         * producer.h (producer_is_icc): New declaration.
6738
6739 2017-09-26  Walfred Tedeschi  <walfred.tedeschi@intel.com>
6740
6741         * Makefile.in (SFILES): Add producer.c.
6742         (COMMON_OBS): Add producer.o
6743         * amd64-tdep.c (producer.h): Add new include.
6744         * dwarf2read.c (producer.h): Add new include.
6745         * producer.c: New file.
6746         * producer.h: New file.
6747         * utils.c (producer_is_gcc, producer_is_gcc_ge_4): Move to
6748         producer.c.
6749         * utils.h (producer_is_gcc, producer_is_gcc_ge_4): Move to
6750         producer.h.
6751
6752 2017-09-26  Matthias Klose  <doko@ubuntu.com>
6753
6754         * configure.ac: Search ncursesw before ncurses.
6755         Check ncursesw/ncurses.h before ncurses/ncurses.h.
6756         * gdb_curses.h: Include <ncursesw/ncurses.h>
6757         * config.in, configure: Regenerate.
6758
6759 2017-09-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6760
6761         PR gdb/22185
6762         * configure.host <*-*-solaris2.[01], *-*-solaris2.[2-9]*>: Mark as
6763         obsolete.
6764         Use gdb_host sol2 for i[34567]86-*-solaris2*, x86_64-*-solaris2*.
6765         Remove i386sol2 support.
6766         * configure.nat <i386sol2>: Remove.
6767         <sol2-64>: Fold into ...
6768         <sol2>: ... this.
6769         Move common settings to default section.
6770         Add sol-thread.o.
6771         * configure.tgt <i[34567]86-*-solaris2.1[0-9]*,
6772         x86_64-*-solaris2.1[0-9]*>: Rename to ...
6773         <i[34567]86-*-solaris2*, x86_64-*-solaris2*>: ... this.
6774         <i[34567]86-*-solaris*>: Remove.
6775         <sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*>: Remove.
6776
6777         * configure.ac: Remove wctype in libw check.
6778         (_MSE_INT_H): Don't define on Solaris 7-9.
6779         <solaris*>: Remove libthread_db.so.1 check.
6780         * configure: Regenerate.
6781         * config.in: Regenerate.
6782
6783         * proc-service.c: Remove PROC_SERVICE_IS_OLD handling.
6784         (gdb_ps_prochandle_t, gdb_ps_read_buf_t, gdb_ps_write_buf_t)
6785         (gdb_ps_size_t): Remove.
6786         Use base types in users.
6787         * sol-thread.c: Likewise, also for gdb_ps_addr_t.
6788
6789         * NEWS (Changes since GDB 8.0): Document Solaris 2.0-9 removal.
6790
6791 2017-09-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6792
6793         PR build/22206
6794         * sparc64-tdep.c (adi_tag_fd): Print pid as long.
6795         (adi_is_addr_mapped): Likewise.
6796         (PSR_ICC): Don't redefine.
6797         (PSR_IMPL): Likewise.
6798
6799 2017-09-25  Tom Tromey  <tom@tromey.com>
6800
6801         * regcache.c (regcache::dump): Use string_printf.
6802
6803 2017-09-25  Tom Tromey  <tom@tromey.com>
6804
6805         * regcache.c (class regcache_invalidator): New.
6806         (struct register_to_invalidate): Remove.
6807         (make_cleanup_regcache_invalidate): Remove.
6808         (regcache::raw_write): Use regcache_invalidator.
6809
6810 2017-09-25  Tom Tromey  <tom@tromey.com>
6811
6812         * spu-tdep.c (spu2ppu_sniffer): Update.
6813         * regcache.h (make_cleanup_regcache_xfree): Don't declare.
6814         * regcache.c (do_regcache_xfree, make_cleanup_regcache_xfree):
6815         Remove.
6816         * ppc-linux-tdep.c (ppu2spu_sniffer): Update.
6817         * mi/mi-main.c (mi_cmd_data_list_changed_registers): Update.
6818         * frame.h (frame_save_as_regcache): Return std::unique_ptr.
6819         * frame.c (frame_save_as_regcache): Return std::unique_ptr.
6820         (frame_pop): Update.
6821
6822 2017-09-25  Tom Tromey  <tom@tromey.com>
6823
6824         * spu-tdep.c (spu2ppu_dealloc_cache): Use delete.
6825         * regcache.h (regcache_xfree): Don't declare.
6826         * regcache.c (regcache_xfree): Remove.
6827         (do_regcache_xfree): Use delete.
6828         * ppc-linux-tdep.c (ppu2spu_dealloc_cache): Use delete.
6829         * linux-fork.c (free_fork): Use delete.
6830         (fork_save_infrun_state): Likewise.
6831         * jit.c (jit_dealloc_cache): Use delete.
6832         * infrun.c (discard_infcall_suspend_state): Use delete.
6833
6834 2017-09-25  Tom Tromey  <tom@tromey.com>
6835
6836         * regcache.h (regcache_xmalloc): Don't declare.
6837         (regcache_raw_set_cached_value): Update comment.
6838         * regcache.c (regcache_xmalloc): Remove.
6839         * ppc-linux-tdep.c (ppu2spu_sniffer): Use new.
6840         * jit.c (jit_frame_sniffer): Use new.
6841         * frame.c (frame_save_as_regcache): Use new.
6842
6843 2017-09-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6844
6845         * NEWS: Advertise support for guarded-storage registers on IBM z.
6846
6847 2017-09-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6848
6849         * s390-linux-nat.c (have_regset_gs): New static variable.
6850         (s390_linux_fetch_inferior_registers): Handle guarded-storage
6851         control block and guarded-storage broadcast control regsets.
6852         (s390_read_description): Detect whether the target has
6853         guarded-storage support, return appropriate tdesc.
6854         * s390-linux-tdep.c (features/s390-gs-linux64.c): New include.
6855         (features/s390x-gs-linux64.c): Likewise.
6856         (struct gdbarch_tdep) <have_gs>: New field.
6857         (s390_regmap_gs, s390_regmap_gsbc, s390_gs_regset)
6858         (s390_gsbc_regset): New variables.
6859         (s390_iterate_over_regset_sections): Iterate over s390_gs_regset
6860         and s390_gsbc_regset, if applicable.
6861         (s390_core_read_description): Check whether core file was from a
6862         target with guarded-storage support; include appropriate regsets.
6863         (s390_gdbarch_init): Add registers for guarded-storage support.
6864         (_initialize_s390_tdep): Initialize new target descriptions that
6865         include registers for guarded-storage support.
6866         * s390-linux-tdep.h (HWCAP_S390_GS, S390_GSD_REGNUM)
6867         (S390_GSSM_REGNUM, S390_GSEPLA_REGNUM)
6868         (S390_BC_GSD_REGNUM, S390_BC_GSSM_REGNUM): New defines.
6869         (S390_NUM_REGS): Adjust macro definition.
6870         (s390_gs_regset, s390_gsbc_regset, tdesc_s390_gs_linux64)
6871         (tdesc_s390x_gs_linux64): New declarations.
6872
6873 2017-09-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6874
6875         * features/s390-gs-linux64.xml: New file.
6876         * features/s390-gs.xml: New file.
6877         * features/s390-gsbc.xml: New file.
6878         * features/s390x-gs-linux64.xml: New file.
6879         * features/Makefile (WHICH): Add s390-gs-linux64 and
6880         s390x-gs-linux64.
6881         (s390-gs-linux64-expedite, s390x-gs-linux64-expedite): New macros.
6882         (XMLTOC): Add s390-gs-linux64.xml and s390x-linux64.xml.
6883         * features/s390-gs-linux64.c: New generated file.
6884         * features/s390x-gs-linux64.c: New file.
6885         * regformats/s390-gs-linux64.dat: New file.
6886         * regformats/s390x-gs-linux64.dat: New file.
6887
6888 2017-09-23  Tom Tromey  <tom@tromey.com>
6889
6890         * defs.h (make_cleanup_override_quit_handler): Don't declare.
6891
6892 2017-09-22  Tom Tromey  <tom@tromey.com>
6893
6894         * utils.c (class scoped_input_handler) <m_quit_handler>: Change
6895         type to scoped_restore_tmpl.
6896         <scoped_input_handler>: Initialize m_quit_handler directly.
6897
6898 2017-09-22  Sergio Durigan Junior  <sergiodj@redhat.com>
6899
6900         * cli/cli-cmds.c (pwd_command): Use "getcwd (NULL, 0)".
6901         (cd_command): Likewise.  Free "current_directory" before
6902         assigning to it.
6903         * main.c (captured_main_1): Use "getcwd (NULL, 0)".
6904         * mi/mi-cmd-env.c (mi_cmd_env_pwd): Likewise.
6905         * top.c (gdb_dirbuf): Remove global declaration.
6906         * top.h (gdb_dirbuf): Likewise.
6907
6908 2017-09-22  Sergio Durigan Junior  <sergiodj@redhat.com>
6909
6910         * gnulib/aclocal.m4: Regenerate.
6911         * gnulib/config.in: Regenerate.
6912         * gnulib/configure: Regenerate.
6913         * gnulib/import/Makefile.am: Regenerate.
6914         * gnulib/import/Makefile.in: Regenerate.
6915         * gnulib/import/assure.h: New file.
6916         * gnulib/import/at-func.c: Likewise
6917         * gnulib/import/chdir-long.c: New file.
6918         * gnulib/import/chdir-long.h: New file.
6919         * gnulib/import/cloexec.c: New file.
6920         * gnulib/import/cloexec.h: New file.
6921         * gnulib/import/close.c: New file.
6922         * gnulib/import/closedir.c: New file.
6923         * gnulib/import/dirent-private.h: New file.
6924         * gnulib/import/dup-safer.c: New file.
6925         * gnulib/import/dup.c: New file.
6926         * gnulib/import/dup2.c: New file.
6927         * gnulib/import/error.c: New file.
6928         * gnulib/import/error.h: New file.
6929         * gnulib/import/exitfail.c: New file.
6930         * gnulib/import/exitfail.h: New file.
6931         * gnulib/import/fchdir.c: New file.
6932         * gnulib/import/fcntl.c: New file.
6933         * gnulib/import/fcntl.in.h: New file.
6934         * gnulib/import/fd-hook.c: New file.
6935         * gnulib/import/fd-hook.h: New file.
6936         * gnulib/import/fd-safer.c: New file.
6937         * gnulib/import/fdopendir.c: New file.
6938         * gnulib/import/filename.h: New file.
6939         * gnulib/import/filenamecat-lgpl.c: New file.
6940         * gnulib/import/filenamecat.h: New file.
6941         * gnulib/import/fstat.c: New file.
6942         * gnulib/import/fstatat.c: New file.
6943         * gnulib/import/getcwd-lgpl.c: New file.
6944         * gnulib/import/getcwd.c: New file.
6945         * gnulib/import/getdtablesize.c: New file.
6946         * gnulib/import/getlogin_r.c: New file.
6947         * gnulib/import/getprogname.c: New file.
6948         * gnulib/import/getprogname.h: New file.
6949         * gnulib/import/gettext.h: New file.
6950         * gnulib/import/glob-libc.h: New file.
6951         * gnulib/import/glob.c: New file.
6952         * gnulib/import/glob.in.h: New file.
6953         * gnulib/import/intprops.h: New file.
6954         * gnulib/import/m4/chdir-long.m4: New file.
6955         * gnulib/import/m4/close.m4: New file.
6956         * gnulib/import/m4/closedir.m4: New file.
6957         * gnulib/import/m4/d-ino.m4: New file.
6958         * gnulib/import/m4/d-type.m4: New file.
6959         * gnulib/import/m4/dup.m4: New file.
6960         * gnulib/import/m4/dup2.m4: New file.
6961         * gnulib/import/m4/error.m4: New file.
6962         * gnulib/import/m4/fchdir.m4: New file.
6963         * gnulib/import/m4/fcntl.m4: New file.
6964         * gnulib/import/m4/fcntl_h.m4: New file.
6965         * gnulib/import/m4/fdopendir.m4: New file.
6966         * gnulib/import/m4/filenamecat.m4: New file.
6967         * gnulib/import/m4/fstat.m4: New file.
6968         * gnulib/import/m4/fstatat.m4: New file.
6969         * gnulib/import/m4/getcwd-abort-bug.m4: New file.
6970         * gnulib/import/m4/getcwd-path-max.m4: New file.
6971         * gnulib/import/m4/getcwd.m4: New file.
6972         * gnulib/import/m4/getdtablesize.m4: New file.
6973         * gnulib/import/m4/getlogin_r.m4: New file.
6974         * gnulib/import/m4/getprogname.m4: New file.
6975         * gnulib/import/m4/glob.m4: New file.
6976         * gnulib/import/m4/gnulib-cache.m4: Regenerate.
6977         * gnulib/import/m4/gnulib-comp.m4: Regenerate.
6978         * gnulib/import/m4/mempcpy.m4: New file.
6979         * gnulib/import/m4/memrchr.m4: New file.
6980         * gnulib/import/m4/mode_t.m4: New file.
6981         * gnulib/import/m4/msvc-inval.m4: New file.
6982         * gnulib/import/m4/msvc-nothrow.m4: New file.
6983         * gnulib/import/m4/open.m4: New file.
6984         * gnulib/import/m4/openat.m4: New file.
6985         * gnulib/import/m4/opendir.m4: New file.
6986         * gnulib/import/m4/readdir.m4: New file.
6987         * gnulib/import/m4/realloc.m4: New file.
6988         * gnulib/import/m4/rewinddir.m4: New file.
6989         * gnulib/import/m4/save-cwd.m4: New file.
6990         * gnulib/import/m4/strdup.m4: New file.
6991         * gnulib/import/m4/strerror.m4: New file.
6992         * gnulib/import/m4/unistd-safer.m4: New file.
6993         * gnulib/import/mempcpy.c: New file.
6994         * gnulib/import/memrchr.c: New file.
6995         * gnulib/import/msvc-inval.c: New file.
6996         * gnulib/import/msvc-inval.h: New file.
6997         * gnulib/import/msvc-nothrow.c: New file.
6998         * gnulib/import/msvc-nothrow.h: New file.
6999         * gnulib/import/open.c: New file.
7000         * gnulib/import/openat-die.c: New file.
7001         * gnulib/import/openat-priv.h: New file.
7002         * gnulib/import/openat-proc.c: New file.
7003         * gnulib/import/openat.c: New file.
7004         * gnulib/import/openat.h: New file.
7005         * gnulib/import/opendir.c: New file.
7006         * gnulib/import/pipe-safer.c: New file.
7007         * gnulib/import/readdir.c: New file.
7008         * gnulib/import/realloc.c: New file.
7009         * gnulib/import/rewinddir.c: New file.
7010         * gnulib/import/save-cwd.c: New file.
7011         * gnulib/import/save-cwd.h: New file.
7012         * gnulib/import/strdup.c: New file.
7013         * gnulib/import/strerror-override.c: New file.
7014         * gnulib/import/strerror-override.h: New file.
7015         * gnulib/import/strerror.c: New file.
7016         * gnulib/import/unistd--.h: New file.
7017         * gnulib/import/unistd-safer.h: New file.
7018         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add
7019         "getcwd" and "glob".
7020         * ser-tcp.c: Undefine "close" before redefining it.
7021
7022 2017-09-21  Simon Marchi  <simon.marchi@ericsson.com>
7023
7024         * guile/scm-value.c (gdbscm_value_address): Initialize address,
7025         get rid of res_val.
7026
7027 2017-09-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7028
7029         * configure.nat <i386sol2,i386>: Add fork-inferior.o to NATDEPFILES.
7030         <sol2,sparc>: Likewise.
7031         <sol2-64,i386>: Likewise.
7032
7033         * warning.m4 (AM_GDB_WARNINGS): Disable -Wunknown-pragmas,
7034         -Wdeprecated-declarations on *-*-solaris*.
7035         * configure: Regenerate.
7036
7037         * procfs.c: Include "nat/inferior.h".
7038         (procfs_info_proc): Fix typo.
7039
7040 2017-09-21  Kevin Buettner  <kevinb@redhat.com>
7041
7042         * remote.c (vector): Include.
7043         (struct private_thread_info): Add field, thread_handle.
7044         (free_private_thread_info): Deallocate storage associated with
7045         thread handle.
7046         (get_private_info_thread): Initialize `thread_handle' field.
7047         (struct thread_item): Add field, thread_handle.
7048         (clear_threads_listing_context): Deallocate storage associated
7049         with thread handle.
7050         (start_thread): Add support for "handle" attribute.
7051         (thread_attributes): Add "handle".
7052         (remote_get_threads_with_qthreadinfo): Initialize thread_handle
7053         field.
7054         (remote_update_thread_list): Update thread_handle.
7055         (remote_thread_handle_to_thread_info): New function.
7056         (init_remote_ops): Initialize to_thread_handle_to_thread_info.
7057
7058 2017-09-21  Kevin Buettner  <kevinb@redhat.com>
7059
7060         * python/py-inferior.c (gdbpy_thread_from_thread_handle): New
7061         function.
7062         (inferior_object_methods): Add gdbpy_thread_from_thread_handle.
7063         * python/python-internal.h (thread_object_type): Declare.
7064
7065 2017-09-21  Kevin Buettner  <kevinb@redhat.com>
7066
7067         * target.h (struct target_ops): Add to_thread_handle_to_thread_info.
7068         (target_thread_handle_to_thread_info): Declare.
7069         * target.c (target_thread_handle_to_thread_info): New function.
7070         * target-delegates.c: Regenerate.
7071         * gdbthread.h (find_thread_by_handle): Declare.
7072         * thread.c (find_thread_by_handle): New function.
7073         * linux-thread-db.c (thread_db_thread_handle_to_thread_info): New
7074         function.
7075         (init_thread_db_ops): Register thread_db_thread_handle_to_thread_info.
7076
7077 2017-09-21  Simon Marchi  <simon.marchi@ericsson.com>
7078
7079         * nat/linux-waitpid.c (linux_debug): Add ATTRIBUTE_PRINTF.
7080
7081 2017-09-21  Simon Marchi  <simon.marchi@ericsson.com>
7082
7083         * microblaze-tdep.c (microblaze_debug): Add ATTRIBUTE_PRINTF.
7084
7085 2017-09-21  Yao Qi  <yao.qi@linaro.org>
7086
7087         * configure.tgt (aarch64*-*-freebsd*): Add fbsd-tdep.o solib-svr4.o
7088         to gdb_target_obs.
7089
7090 2017-09-20  Tom Tromey  <tom@tromey.com>
7091
7092         * breakpoint.c (struct counted_command_line): Remove.
7093         (breakpoint_commands): Update.
7094         (alloc_counted_command_line, incref_counted_command_line)
7095         (decref_counted_command_line, do_cleanup_counted_command_line)
7096         (make_cleanup_decref_counted_command_line): Remove.
7097         (breakpoint_set_commands, commands_command_1, ~bpstats, bpstats)
7098         (bpstat_clear_actions, bpstat_do_actions_1, watchpoint_check)
7099         (bpstat_stop_status, print_one_breakpoint_location, ~breakpoint)
7100         (save_breakpoints): Update.
7101         * breakpoint.h (counted_command_line): Now a typedef to
7102         shared_ptr.
7103         (struct breakpoint) <commands>: Now a counted_command_line.
7104         (struct bpstats) <command>: Likewise.
7105
7106 2017-09-20  Tom Tromey  <tom@tromey.com>
7107
7108         * breakpoint.c (struct commands_info, do_map_commands_command):
7109         Remove.
7110         (commands_command_1): Update.
7111         (iterate_over_related_breakpoints): Take a function_view.
7112         (do_delete_breakpoint, do_map_delete_breakpoint): Remove.
7113         (delete_command): Update.
7114         (map_breakpoint_numbers): Take a function_view.
7115         (do_disable_breakpoint, do_map_delete_breakpoint): Remove.
7116         (disable_command): Update.
7117         (do_enable_breakpoint, do_map_enable_breakpoint): Remove.
7118         (enable_command): Update.
7119         (struct disp_data, do_enable_breakpoint_disp)
7120         (do_map_enable_once_breakpoint, do_map_enable_count_breakpoint)
7121         (do_map_enable_delete_breakpoint): Remove.
7122         (enable_once_command, enable_count_command, enable_delete_command)
7123         (delete_trace_variable_command): Update.
7124
7125 2017-09-20  Tom Tromey  <tom@tromey.com>
7126
7127         * breakpoint.c (~bpstats): Rename from bpstat_free.  Update.
7128         (bpstat_clear): Use delete.
7129         (bpstats): New constructors.
7130         (bpstat_copy, bpstat_stop_status): Use new.
7131         (dprintf_after_condition_true): Update.
7132         * breakpoint.h (bpstats::bpstats): Add constructors.
7133         (bpstats::~bpstats): Add destructor.
7134
7135 2017-09-20  Pedro Alves  <palves@redhat.com>
7136
7137         * eval.c (make_params): Delete, refactored as ...
7138         (class fake_method): ... this new type's ctor.
7139         (fake_method::~fake_method): New.
7140         (evaluate_subexp_standard): Use 'fake_method'.
7141
7142 2017-09-20  Tom Tromey  <tom@tromey.com>
7143
7144         * windows-nat.c (get_windows_debug_event, windows_wait)
7145         (do_initial_windows_stuff, windows_attach): Update.
7146         * utils.c (vwarning, internal_vproblem): Update.
7147         (ui_unregister_input_event_handler_cleanup)
7148         (prepare_to_handle_input): Remove.
7149         (class scoped_input_handler): New.
7150         (defaulted_query, prompt_for_continue): Update.
7151         * tui/tui-hooks.c (tui_refresh_frame_and_register_information):
7152         Update.
7153         * top.c (undo_terminal_modifications_before_exit): Update.
7154         * target/target.h (target_terminal_init, target_terminal_inferior)
7155         (target_terminal_ours): Don't declare.
7156         (class target_terminal): New.
7157         * target.h (target_terminal_is_inferior, target_terminal_is_ours)
7158         (target_terminal_ours_for_output)
7159         (make_cleanup_restore_target_terminal): Don't declare.
7160         (target_terminal_info): Remove.
7161         * target.c (enum terminal_state, terminal_state): Remove.
7162         (target_terminal::terminal_state): Define.
7163         (target_terminal::init): Rename from target_terminal_init.
7164         (target_terminal::inferior): Rename from
7165         target_terminal_inferior.
7166         (target_terminal::ours): Rename from target_terminal_ours.
7167         (target_terminal::ours_for_output): Rename from
7168         target_terminal_ours_for_output.
7169         (target_terminal::info): New method.
7170         (cleanup_restore_target_terminal)
7171         (make_cleanup_restore_target_terminal): Remove.
7172         * solib.c (handle_solib_event): Update.
7173         * remote.c (remote_serial_quit_handler): Update.
7174         (remote_terminal_inferior, remote_wait_as): Update.
7175         * record-full.c (record_full_wait_1): Update.
7176         * nto-procfs.c (procfs_create_inferior): Update.
7177         * nat/fork-inferior.c (startup_inferior): Update.
7178         * mi/mi-interp.c (mi_new_thread, mi_thread_exit)
7179         (mi_record_changed, mi_inferior_added, mi_inferior_appeared)
7180         (mi_inferior_exit, mi_inferior_removed, mi_traceframe_changed)
7181         (mi_tsv_created, mi_tsv_deleted, mi_tsv_modified)
7182         (mi_breakpoint_created, mi_breakpoint_deleted)
7183         (mi_breakpoint_modified, mi_on_resume, mi_solib_loaded)
7184         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
7185         (mi_user_selected_context_changed, report_initial_inferior):
7186         Update.
7187         * linux-nat.c (linux_nat_attach, linux_nat_terminal_ours)
7188         (linux_nat_terminal_inferior): Update.
7189         * infrun.c (follow_fork_inferior)
7190         (handle_vfork_child_exec_or_exit, do_target_resume)
7191         (check_curr_ui_sync_execution_done, handle_inferior_event_1)
7192         (handle_signal_stop, maybe_remove_breakpoints, normal_stop):
7193         Update.
7194         * inflow.c (child_terminal_init, info_terminal_command): Update.
7195         * infcmd.c (post_create_inferior, continue_1, prepare_one_step)
7196         (attach_command): Update.
7197         * infcall.c (call_thread_fsm_should_stop): Update.
7198         * gnu-nat.c (gnu_attach): Update.
7199         * extension.c (struct active_ext_lang_state)
7200         (restore_active_ext_lang): Update.
7201         * exceptions.c (print_flush): Update.
7202         * event-top.c (async_enable_stdin, default_quit_handler): Update.
7203         (struct quit_handler_cleanup_data, restore_quit_handler)
7204         (restore_quit_handler_dtor, make_cleanup_override_quit_handler):
7205         Remove.
7206         * cp-support.c (gdb_demangle): Update.
7207         * breakpoint.c (update_inserted_breakpoint_locations)
7208         (insert_breakpoint_locations, handle_jit_event)
7209         (disable_breakpoints_in_unloaded_shlib): Update.
7210         * annotate.c (annotate_breakpoints_invalid)
7211         (annotate_frames_invalid): Update.
7212
7213 2017-09-20  Tom Tromey  <tom@tromey.com>
7214
7215         * main.c (catch_command_errors): Rename from
7216         catch_command_errors_const.
7217         (captured_main_1): Update.
7218
7219 2017-09-20  Pedro Alves  <palves@redhat.com>
7220
7221         * cli/cli-cmds.c (list_command): Use print_sal_location.
7222         (print_sal_location): New function.
7223         (ambiguous_line_spec): Use print_sal_location.
7224         * linespec.c (symbol_to_sal): Record the symbol in the sal.
7225         * symtab.c (find_function_start_sal): Likewise.
7226         * symtab.h (symtab_and_line::symbol): New field.
7227
7228 2017-09-20  Pedro Alves  <palves@redhat.com>
7229
7230         * linespec.c (minsym_found): Handle non-text minsyms.
7231         (symbol_to_sal): Record a sal.pc for non-block, non-label symbols.
7232
7233 2017-09-20  Walfred Tedeschi  <walfred.tedeschi@intel.com>
7234
7235         * features/Makefile (i386-avx-mpx-avx512-pku.dat): Add missing
7236         backslash.
7237
7238 2017-09-20  Walfred Tedeschi  <walfred.tedeschi@intel.com>
7239
7240         * gdb.arch/i386-avx512.c (move_zmm_data_to_reg): Use
7241         vmovups instead vmovaps.
7242         (move_zmm_data_to_memory): Use vmovups instead vmovaps.
7243
7244 2017-09-19  John Baldwin  <jhb@FreeBSD.org>
7245
7246         * NEWS (Changes since GDB 8.0): Add starti.
7247         * infcmd.c (enum run_break): New.
7248         (run_command_1): Queue pending event for RUN_STOP_AT_FIRST_INSN
7249         case.
7250         (run_command): Use enum run_how.
7251         (start_command): Likewise.
7252         (starti_command): New function.
7253         (RUN_ARGS_HELP): New macro.
7254         (_initialize_infcmd): Use RUN_ARGS_HELP for run and start
7255         commands.  Add starti command.
7256
7257 2017-09-19  Yao Qi  <yao.qi@linaro.org>
7258
7259         * Makefile.in (monitor.o): Remove the rule.
7260
7261 2017-09-19  Yao Qi  <yao.qi@linaro.org>
7262
7263         * annotate.h (struct annotate_arg_emitter): Use
7264         DISABLE_COPY_AND_ASSIGN.
7265         * common/refcounted-object.h (refcounted_object): Likewise.
7266         * completer.h (struct completion_result): Likewise.
7267         * dwarf2read.c (struct dwarf2_per_objfile): Likewise.
7268         * filename-seen-cache.h (filename_seen_cache): Likewise.
7269         * gdbcore.h (thread_section_name): Likewise.
7270         * gdb_regex.h (compiled_regex): Likewise.
7271         * gdbthread.h (scoped_restore_current_thread): Likewise.
7272         * inferior.h (scoped_restore_current_inferior): Likewise.
7273         * jit.c (jit_reader): Likewise.
7274         * linespec.h (struct linespec_result): Likewise.
7275         * mi/mi-parse.h (struct mi_parse): Likewise.
7276         * nat/fork-inferior.c (execv_argv): Likewise.
7277         * progspace.h (scoped_restore_current_program_space): Likewise.
7278         * python/python-internal.h (class gdbpy_enter): Likewise.
7279         * regcache.h (regcache): Likewise.
7280         * target-descriptions.c (struct tdesc_reg): Likewise.
7281         (struct tdesc_type): Likewise.
7282         (struct tdesc_feature): Likewise.
7283         * ui-out.h (ui_out_emit_type): Likewise.
7284
7285 2017-09-18  Simon Marchi  <simon.marchi@ericsson.com>
7286
7287         * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Remove
7288         label abort_expression.
7289
7290 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7291
7292         * common/buffer.c (buffer_xml_printf): Adjust.
7293         * common/xml-utils.c (xml_escape_text): Change return type to
7294         std::string, update code accordingly.
7295         * common/xml-utils.h (xml_escape_text): Change return type to
7296         std::string.
7297         * rs6000-aix-tdep.c (rs6000_aix_shared_library_to_xml): Adjust.
7298         * windows-tdep.c (windows_xfer_shared_library): Adjust.
7299         * unittests/xml-utils-selftests.c (test_xml_escape_text):
7300         Adjust.
7301
7302 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7303
7304         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add new source file.
7305         (SUBDIR_UNITTESTS_OBS): Add new object file.
7306         * unittests/xml-utils-selftests.c: New file.
7307
7308 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7309
7310         * common/selftest.h (selftest): New struct/interface.
7311         (register_test): Add name parameter, add new overload.
7312         (run_tests): Add filter parameter.
7313         (for_each_selftest_ftype): New typedef.
7314         (for_each_selftest): New declaration.
7315         * common/selftest.c (tests): Change type to
7316         map<string, unique_ptr<selftest>>.
7317         (simple_selftest): New struct.
7318         (register_test): New function.
7319         (register_test): Add name parameter and use it.
7320         (run_tests): Add filter parameter and use it.  Add prints.
7321         Adjust to vector -> map change.
7322         * aarch64-tdep.c (_initialize_aarch64_tdep): Add names when
7323         registering selftests.
7324         * arm-tdep.c (_initialize_arm_tdep): Likewise.
7325         * disasm-selftests.c (_initialize_disasm_selftests): Likewise.
7326         * dwarf2-frame.c (_initialize_dwarf2_frame): Likewise.
7327         * dwarf2loc.c (_initialize_dwarf2loc): Likewise.
7328         * findvar.c (_initialize_findvar): Likewise.
7329         * gdbarch-selftests.c (_initialize_gdbarch_selftests): Likewise.
7330         * maint.c (maintenance_selftest): Update call to run_tests.
7331         (maintenance_info_selftests): New function.
7332         (_initialize_maint_cmds): Register "maintenance info selftests"
7333         command.  Update "maintenance selftest" doc.
7334         * regcache.c (_initialize_regcache): Add names when registering
7335         selftests.
7336         * rust-exp.y (_initialize_rust_exp): Likewise.
7337         * selftest-arch.c (gdbarch_selftest): New struct.
7338         (gdbarch_tests): Remove.
7339         (register_test_foreach_arch): Add name parameter.  Call
7340         register_test.
7341         (tests_with_arch): Remove, move most content to
7342         gdbarch_selftest::operator().
7343         (_initialize_selftests_foreach_arch): Remove.
7344         * selftest-arch.h (register_test_foreach_arch): Add name
7345         parameter.
7346         (run_tests_with_arch): New declaration.
7347         * utils-selftests.c (_initialize_utils_selftests): Add names
7348         when registering selftests.
7349         * utils.c (_initialize_utils): Likewise.
7350         * unittests/array-view-selftests.c
7351         (_initialize_array_view_selftests): Likewise.
7352         * unittests/environ-selftests.c (_initialize_environ_selftests):
7353         Likewise.
7354         * unittests/function-view-selftests.c
7355         (_initialize_function_view_selftests): Likewise.
7356         * unittests/offset-type-selftests.c
7357         (_initialize_offset_type_selftests): Likewise.
7358         * unittests/optional-selftests.c
7359         (_initialize_optional_selftests): Likewise.
7360         * unittests/scoped_restore-selftests.c
7361         (_initialize_scoped_restore_selftests): Likewise.
7362         * NEWS: Document "maintenance selftest" and "maint info
7363         selftests".
7364
7365 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7366
7367         * mi/mi-main.c (mi_load_progress): Restore current_uiout using a
7368         scoped_restore.
7369
7370 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7371
7372         * mi/mi-main.c (mi_load_progress): Make uiout variable
7373         a unique_ptr.
7374
7375 2017-09-15  Pedro Alves  <palves@redhat.com>
7376
7377         * compile/compile-c-types.c (convert_enum, convert_int)
7378         (convert_float): Adjust to refer to int_type_v0 and float_type_v0.
7379
7380 2017-09-15  Simon Marchi  <simon.marchi@ericsson.com>
7381
7382         * dwarf2read.c (copy_string): Remove.
7383         (parse_macro_definition): Replace copy_string with savestring.
7384
7385 2017-09-15  Yao Qi  <yao.qi@linaro.org>
7386
7387         * configure.tgt (i[34567]86-*-darwin*): Append amd64.o to
7388         gdb_target_obs.
7389         (i[34567]86-*-solaris2.1[0-9]* | x86_64-*-solaris2.1[0-9]*):
7390         Likewise.
7391         (i[34567]86-*-linux*): Likewise.
7392
7393 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7394
7395         * dwarf2expr.h (dwarf_stack_value): Add constructor.
7396         (dwarf_expr_context) <~dwarf_expr_context>: Define as default.
7397         <stack>: Change type to std::vector.
7398         <stack_len, stack_allocated>: Remove.
7399         <grow_stack>: Remove.
7400         * dwarf2expr.c (dwarf_expr_context::dwarf_expr_context): Adjust.
7401         (dwarf_expr_context::~dwarf_expr_context): Remove.
7402         (dwarf_expr_context::grow_stack): Remove.
7403         (dwarf_expr_context::push): Adjust.
7404         (dwarf_expr_context::pop): Adjust.
7405         (dwarf_expr_context::fetch): Adjust.
7406         (dwarf_expr_context::fetch_in_stack_memory): Adjust.
7407         (dwarf_expr_context::stack_empty_p): Adjust.
7408         (dwarf_expr_context::execute_stack_op): Adjust.
7409
7410 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7411
7412         * dwarf2expr.h (dwarf_expr_context) <stack_empty_p>: Change
7413         return type to bool.
7414         * dwarf2expr.c (dwarf_expr_context::stack_empty_p): Likewise.
7415
7416 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7417
7418         * dwarf2expr.h (dwarf_expr_piece) <v.mem.in_stack_memory>:
7419         Change type to bool.
7420         (dwarf_stack_value) <in_stack_memory>: Likewise.
7421         (dwarf_expr_context) <push_address>: Change parameter type to
7422         bool.
7423         <fetch_in_stack_memory>: Change return type to bool.
7424         <push>: Change parameter type to bool.
7425         * dwarf2expr.c (dwarf_expr_context::push): Change parameter type
7426         to bool.
7427         (dwarf_expr_context::push_address): Likewise.
7428         (dwarf_expr_context::fetch_in_stack_memory): Change return type
7429         to bool.
7430         (dwarf_expr_context::execute_stack_op): Adjust.
7431         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Adjust.
7432
7433 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7434
7435         * dwarf2expr.h (struct dwarf_expr_piece): Move up.
7436         (struct dwarf_expr_context) <n_pieces>: Remove.
7437         <pieces>: Change type to std::vector.
7438         * dwarf2expr.c (dwarf_expr_context::dwarf_expr_context): Adjust.
7439         (dwarf_expr_context::~dwarf_expr_context): Don't manually free
7440         pieces.
7441         (dwarf_expr_context::add_piece): Adjust.
7442         * dwarf2loc.c (struct piece_closure): Initialize fields.
7443         <n_pieces>: Remove.
7444         <pieces>: Change type to std::vector.
7445         (allocate_piece_closure): Adjust, change parameter to
7446         std::vector rvalue and std::move it to piece_closure.
7447         (rw_pieced_value): Adjust.
7448         (check_pieced_synthetic_pointer): Adjust.
7449         (indirect_synthetic_pointer): Adjust.
7450         (coerce_pieced_ref): Adjust.
7451         (free_pieced_value_closure):  Adjust.  Use delete to free
7452         piece_closure.
7453         (dwarf2_evaluate_loc_desc_full): Adjust.  std::move ctx.pieces
7454         to allocate_piece_closure.
7455         (dwarf2_loc_desc_get_symbol_read_needs): Adjust.
7456
7457 2017-09-12  Simon Marchi  <simon.marchi@ericsson.com>
7458
7459         * probe.h (probe_ops_cp): Remove typedef.
7460         (DEF_VEC_P (probe_ops_cp)): Remove.
7461         (all_probe_ops): Change type to std::vector.
7462         * probe.c (info_probes_for_ops): Adjust to vector change.
7463         (probe_linespec_to_ops): Likewise.
7464         (all_probe_ops): Change type to std::vector.
7465         (_initialize_probe): Adjust to vector change.
7466         * dtrace-probe.c (_initialize_dtrace_probe): Likewise.
7467         * elfread.c (elf_get_probes): Likewise.
7468         * stap-probe.c (_initialize_stap_probe): Likewise.
7469
7470 2017-09-12  Simon Marchi  <simon.marchi@ericsson.com>
7471
7472         * probe.h (struct bound_probe): Define constructors.
7473         * probe.c (bound_probe_s): Remove typedef.
7474         (DEF_VEC_O (bound_probe_s)): Remove VEC.
7475         (collect_probes): Change return type to std::vector, remove
7476         cleanup.
7477         (compare_probes): Return bool, change parameter type.  Change
7478         semantic to "less than".
7479         (gen_ui_out_table_header_info): Change parameter to std::vector
7480         and update.
7481         (exists_probe_with_pops): Likewise.
7482         (info_probes_for_ops): Update to std::vector change.
7483         (enable_probes_command): Likewise.
7484         (disable_probes_command): Likewise.
7485
7486 2017-09-12  Simon Marchi  <simon.marchi@ericsson.com>
7487
7488         * probe.h (struct probe_ops) <get_probes>: Change parameter from
7489         vec to std::vector.
7490         * probe.c (parse_probes_in_pspace): Update.
7491         (find_probes_in_objfile): Update.
7492         (find_probe_by_pc): Update.
7493         (collect_probes): Update.
7494         (probe_any_get_probes): Update.
7495         * symfile.h (struct sym_probe_fns) <sym_get_probes> Change
7496         return type to reference to std::vector.
7497         * dtrace-probe.c (dtrace_process_dof_probe): Change parameter to
7498         std::vector and update.
7499         (dtrace_process_dof): Likewise.
7500         (dtrace_get_probes): Likewise.
7501         * elfread.c (elf_get_probes): Change return type to std::vector,
7502         store an std::vector in bfd_data.
7503         (probe_key_free): Update to std::vector.
7504         * stap-probe.c (handle_stap_probe): Change parameter to
7505         std::vector and update.
7506         (stap_get_probes): Likewise.
7507         * symfile-debug.c (debug_sym_get_probes): Change return type to
7508         std::vector and update.
7509
7510 2017-09-11  Tom Tromey  <tom@tromey.com>
7511
7512         * breakpoint.c (program_breakpoint_here_p): Update.
7513         * target.c (make_scoped_restore_show_memory_breakpoints): Rename
7514         from make_show_memory_breakpoints_cleanup.  Return a
7515         scoped_restore_tmpl<int>.
7516         (restore_show_memory_breakpoints): Remove.
7517         * ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint): Update.
7518         * mem-break.c (memory_validate_breakpoint): Update.
7519         * ia64-tdep.c (ia64_memory_insert_breakpoint): Update.
7520         (ia64_memory_remove_breakpoint): Update.
7521         (ia64_breakpoint_from_pc): Update.
7522         * target.h (make_scoped_restore_show_memory_breakpoints): Rename
7523         from make_show_memory_breakpoints_cleanup.
7524
7525 2017-09-11  Tom Tromey  <tom@tromey.com>
7526
7527         * d-namespace.c (d_lookup_symbol): Use std::string.
7528         (find_symbol_in_baseclass): Likewise.
7529
7530 2017-09-11  Tom Tromey  <tom@tromey.com>
7531
7532         * ctf.c (ctf_start): Use std::string.
7533
7534 2017-09-11  Tom Tromey  <tom@tromey.com>
7535
7536         * ada-lang.c (is_known_support_routine): Update.
7537         (ada_unhandled_exception_name_addr_from_raise): Update.
7538         * guile/scm-frame.c (gdbscm_frame_name): Update.
7539         * python/py-frame.c (frapy_name): Update.
7540         (frapy_function): Update.
7541         * stack.h (find_frame_funname): Update.
7542         * stack.c (find_frame_funname): Return unique_xmalloc_ptr.
7543         (print_frame): Update.
7544
7545 2017-09-11  Tom Tromey  <tom@tromey.com>
7546
7547         * findcmd.c (put_bits): Take a gdb::byte_vector.
7548         (parse_find_args): Return gdb::byte_vector.  "args" now const.
7549         Remove "pattern_bufp" and "pattern_lenp" parameters.  Remove
7550         cleanups.
7551         (find_command): Update.
7552
7553 2017-09-11  Tom Tromey  <tom@tromey.com>
7554
7555         * cli/cli-script.c (class scoped_restore_hook_in): New.
7556         (clear_hook_in_cleanup): Remove.
7557         (execute_cmd_pre_hook, execute_cmd_post_hook): Use
7558         scoped_restore_hook_in.
7559
7560 2017-09-11  Tom Tromey  <tom@tromey.com>
7561
7562         * cli/cli-script.c (restore_interp): Remove.
7563         (read_command_lines): Use scoped_restore_interp.
7564         * interps.c (scoped_restore_interp::set_temp): Rename from
7565         interp_set_temp.
7566         * interps.h (class scoped_restore_interp): New.
7567         (interp_set_temp): Remove.
7568
7569 2017-09-11  Tom Tromey  <tom@tromey.com>
7570
7571         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
7572         (mi_cmd_catch_exception, mi_catch_load_unload): Update.
7573         * mi/mi-cmd-break.c (setup_breakpoint_reporting): Return a
7574         scoped_restore.
7575         (mi_cmd_break_insert_1): Update.
7576         * mi/mi-cmd-break.h (setup_breakpoint_reporting): Return a
7577         scoped_restore.
7578
7579 2017-09-11  Tom Tromey  <tom@tromey.com>
7580
7581         * demangle.c (demangle_command): Update.
7582         * breakpoint.c (disable_command): Update.
7583         (enable_command): Update.
7584         (find_location_by_number): Make "number" const.  Use
7585         get_number_trailer.
7586         * cli/cli-utils.c (extract_arg): Return std::string.
7587         * probe.c (parse_probe_linespec): Update.  Change types.
7588         (collect_probes): Take string arguments.
7589         (parse_probe_linespec): Likewise.
7590         (info_probes_for_ops): Update.
7591         (enable_probes_command): Update.
7592         (disable_probes_command): Update.
7593         * break-catch-sig.c (catch_signal_split_args): Update.
7594         * mi/mi-parse.c (mi_parse): Update.
7595
7596 2017-09-11  Tom Tromey  <tom@tromey.com>
7597
7598         * language.h (language_enum): Make argument const.
7599         * language.c (language_enum): Make argument const.
7600
7601 2017-09-11  Tom Tromey  <tom@tromey.com>
7602
7603         * common/common-utils.h (skip_to_space): Remove macro, redeclare
7604         as function.
7605         (skip_to_space): Rename from skip_to_space_const.
7606         * common/common-utils.c (skip_to_space): New function.
7607         (skip_to_space): Rename from skip_to_space_const.
7608         * cli/cli-utils.h (get_number): Rename from get_number_const.
7609         (extract_arg): Rename from extract_arg_const.
7610         * cli/cli-utils.c (get_number): Rename from get_number_const.
7611         (extract_arg): Rename from extract_arg_const.
7612         (number_or_range_parser::get_number): Use ::get_number.
7613         * aarch64-linux-tdep.c, ada-lang.c, arm-linux-tdep.c, ax-gdb.c,
7614         break-catch-throw.c, breakpoint.c, cli/cli-cmds.c, cli/cli-dump.c,
7615         cli/cli-script.c, cli/cli-setshow.c, compile/compile.c,
7616         completer.c, demangle.c, disasm.c, findcmd.c, linespec.c,
7617         linux-tdep.c, linux-thread-db.c, location.c, mi/mi-parse.c,
7618         minsyms.c, nat/linux-procfs.c, printcmd.c, probe.c,
7619         python/py-breakpoint.c, record.c, rust-exp.y, serial.c, stack.c,
7620         stap-probe.c, tid-parse.c, tracepoint.c: Update all callers.
7621
7622 2017-09-11  Tom Tromey  <tom@tromey.com>
7623
7624         * python/python.c (do_start_initialization): Use
7625         py-event-types.def to initialize types.
7626         Define all object type structures.
7627         * python/python-internal.h: Don't declare event initialization
7628         functions.
7629         * python/py-threadevent.c (thread_event_object_type): Don't
7630         define.
7631         * python/py-stopevent.c (stop_event_object_type): Don't define.
7632         * python/py-signalevent.c (signal_event_object_type): Don't
7633         declare or define.
7634         * python/py-newobjfileevent.c (new_objfile_event_object_type)
7635         (clear_objfiles_event_object_type): Don't declare or define.
7636         * python/py-infevents.c (inferior_call_pre_event_object_type)
7637         (inferior_call_post_event_object_type)
7638         (register_changed_event_object_type)
7639         (memory_changed_event_object_type): Don't declare or define.
7640         * python/py-inferior.c (new_thread_event_object_type)
7641         (new_inferior_event_object_type)
7642         (inferior_deleted_event_object_type): Don't declare or define.
7643         * python/py-exitedevent.c (exited_event_object_type): Don't
7644         declare or define.
7645         * python/py-evts.c (gdbpy_initialize_py_events): Use
7646         py-all-events.def.
7647         * python/py-events.h (thread_event_object_type): Don't declare.
7648         (events_object): Use py-all-events.def.
7649         * python/py-event.h (GDBPY_NEW_EVENT_TYPE): Remove.  Use
7650         py-event-types.def.
7651         * python/py-event-types.def: New file.
7652         * python/py-continueevent.c (create_continue_event_object): Don't
7653         declare or define.
7654         * python/py-bpevent.c (breakpoint_event_object_type): Don't
7655         declare or define.
7656         * python/py-all-events.def: New file.
7657
7658 2017-09-11  Tom Tromey  <tom@tromey.com>
7659
7660         * python/py-threadevent.c (create_thread_event_object): Return
7661         gdbpy_ref.
7662         * python/py-stopevent.h (create_stop_event_object)
7663         (create_breakpoint_event_object, create_signal_event_object):
7664         Update.
7665         * python/py-stopevent.c (create_stop_event_object): Return
7666         gdbpy_ref.
7667         (emit_stop_event): Update.
7668         * python/py-signalevent.c (create_signal_event_object): Return
7669         gdbpy_ref.
7670         * python/py-infevents.c (create_inferior_call_event_object):
7671         Update.
7672         * python/py-event.h (create_event_object)
7673         (create_thread_event_object): Update.
7674         * python/py-event.c (create_event_object): Return gdbpy_ref.
7675         * python/py-continueevent.c: Return gdbpy_ref.
7676         * python/py-bpevent.c (create_breakpoint_event_object): Return
7677         gdbpy_ref.
7678
7679 2017-09-11  Tom Tromey  <tom@tromey.com>
7680
7681         PR python/15622:
7682         * NEWS: Add entry.
7683         * python/python.c (do_start_initialization): Initialize new event
7684         types.
7685         * python/python-internal.h (gdbpy_initialize_new_inferior_event)
7686         (gdbpy_initialize_inferior_deleted_event)
7687         (gdbpy_initialize_new_thread_event): Declare.
7688         * python/py-threadevent.c (create_thread_event_object): Add option
7689         "thread" parameter.
7690         * python/py-inferior.c (new_thread_event_object_type)
7691         (new_inferior_event_object_type)
7692         (inferior_deleted_event_object_type): Declare.
7693         (python_new_inferior, python_inferior_deleted): New functions.
7694         (add_thread_object): Emit new_thread event.
7695         (gdbpy_initialize_inferior): Attach new functions to corresponding
7696         observers.
7697         (new_thread, new_inferior, inferior_deleted): Define new event
7698         types.
7699         * python/py-evts.c (gdbpy_initialize_py_events): Add new
7700         registries.
7701         * python/py-events.h (events_object) <new_inferior,
7702         inferior_deleted, new_thread>: New fields.
7703         * python/py-event.h (create_thread_event_breakpoint): Add optional
7704         "thread" parameter.
7705
7706 2017-09-10  Andrew Burgess  <andrew.burgess@embecosm.com>
7707
7708         * utils.c (abort_with_message): Don't compare gdb_stderr to NULL,
7709         check current_ui instead.
7710         (internal_vproblem): Likewise.
7711
7712 2017-09-09  Simon Marchi  <simon.marchi@ericsson.com>
7713
7714         * thread.c (print_thread_info_1): Remove unnecessary calls to
7715         uiout->is_mi_like_p.
7716
7717 2017-09-09  Tom Tromey  <tom@tromey.com>
7718
7719         * namespace.h (add_using_directive): Update.
7720         * namespace.c (add_using_directive): Change type of excludes to
7721         std::vector.
7722         * dwarf2read.c (read_import_statement): Use std::vector.
7723         (read_namespace): Update.
7724         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
7725
7726 2017-09-09  Tom Tromey  <tom@tromey.com>
7727
7728         * linespec.c (create_sals_line_offset): Use gdb::def_vector.
7729
7730 2017-09-09  Tom Tromey  <tom@tromey.com>
7731
7732         * p-valprint.c (pascal_object_print_value): Use gdb::byte_vector.
7733
7734 2017-09-09  Tom Tromey  <tom@tromey.com>
7735
7736         * stack.c (func_command): Use gdb::def_vector.
7737
7738 2017-09-09  Tom Tromey  <tom@tromey.com>
7739
7740         * mi/mi-cmd-var.c (mi_cmd_var_list_children): Use gdb::optional,
7741         ui_out_emit_list, ui_out_emit_tuple.
7742         (mi_cmd_var_update): Likewise.
7743
7744 2017-09-09  Tom Tromey  <tom@tromey.com>
7745
7746         * mi/mi-interp.c (mi_user_selected_context_changed): Use
7747         ui_out_redirect_pop.
7748         * guile/scm-ports.c (ioscm_with_output_to_port_worker): Use
7749         ui_out_redirect_pop.
7750         * utils.c (do_ui_out_redirect_pop)
7751         (make_cleanup_ui_out_redirect_pop): Remove.
7752         * top.c (execute_command_to_string): Use ui_out_redirect_pop.
7753         * utils.h (make_cleanup_ui_out_redirect_pop): Remove.
7754         * ui-out.h (ui_out_redirect_pop): New class.
7755
7756 2017-09-09  Tom Tromey  <tom@tromey.com>
7757
7758         * mi/mi-main.c (output_cores): Use ui_out_emit_list.
7759         (list_available_thread_groups, mi_cmd_list_thread_groups)
7760         (mi_cmd_data_list_changed_registers, mi_cmd_data_read_memory)
7761         (mi_cmd_data_read_memory_bytes, mi_cmd_trace_frame_collected):
7762         Likewise.
7763
7764 2017-09-09  Tom Tromey  <tom@tromey.com>
7765
7766         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn): Use
7767         ui_out_emit_tuple.
7768
7769 2017-09-09  Tom Tromey  <tom@tromey.com>
7770
7771         * target.c (flash_erase_command): Use ui_out_emit_tuple.
7772         * stack.c (print_frame): Use ui_out_emit_tuple.
7773         * spu-tdep.c (info_spu_event_command): Use ui_out_emit_tuple.
7774         (info_spu_mailbox_command, info_spu_dma_command)
7775         (info_spu_proxydma_command): Likewise.
7776         * mi/mi-main.c (mi_cmd_trace_frame_collected): Use
7777         ui_out_emit_tuple, gdb::byte_vector, bin2hex.
7778         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Use
7779         ui_out_emit_tuple.
7780         * breakpoint.c (print_it_watchpoint): Use ui_out_emit_tuple.
7781
7782 2017-09-09  Tom Tromey  <tom@tromey.com>
7783
7784         * ui-out.h (make_cleanup_ui_out_table_begin_end): Remove.
7785         (class ui_out_emit_table): Update comment.
7786         * ui-out.c (do_cleanup_table_end)
7787         (make_cleanup_ui_out_table_begin_end): Remove.
7788         * spu-tdep.c (info_spu_mailbox_list): Use ui_out_emit_table.
7789         (info_spu_dma_cmdlist): Likewise.
7790         * probe.c (info_probes_for_ops): Use ui_out_emit_table.
7791         * darwin-nat-info.c (darwin_debug_regions_recurse): Use
7792         ui_out_emit_table.
7793
7794 2017-09-09  Tom Tromey  <tom@tromey.com>
7795
7796         * thread.c (print_thread_info_1): Use ui_out_emit_table,
7797         ui_out_emit_list, gdb::optional.
7798
7799 2017-09-09  John Baldwin  <jhb@FreeBSD.org>
7800
7801         * aarch64-linux-nat.c: Remove _initialize_aarch64_linux_nat
7802         prototype.
7803         * aarch64-linux-tdep.c: Remove _initialize_aarch64_linux_tdep
7804         prototype.
7805         * aarch64-newlib-tdep.c: Remove _initialize_aarch64_newlib_tdep
7806         prototype.
7807         * aarch64-tdep.c: Remove _initialize_aarch64_tdep prototype.
7808         * ada-exp.y: Remove _initialize_ada_exp prototype.
7809         * ada-lang.c: Remove _initialize_ada_language prototype.
7810         * ada-tasks.c: Remove _initialize_tasks prototype.
7811         * addrmap.c: Remove _initialize_addrmap prototype.
7812         * agent.c: Remove _initialize_agent prototype.
7813         * aix-thread.c: Remove _initialize_aix_thread prototype.
7814         * alpha-bsd-nat.c: Remove _initialize_alphabsd_nat prototype.
7815         * alpha-linux-nat.c: Remove _initialize_alpha_linux_nat prototype.
7816         * alpha-linux-tdep.c: Remove _initialize_alpha_linux_tdep
7817         prototype.
7818         * alpha-nbsd-tdep.c: Remove _initialize_alphanbsd_tdep prototype.
7819         * alpha-obsd-tdep.c: Remove _initialize_alphaobsd_tdep prototype.
7820         * alpha-tdep.c: Remove _initialize_alpha_tdep prototype.
7821         * amd64-darwin-tdep.c: Remove _initialize_amd64_darwin_tdep
7822         prototype.
7823         * amd64-dicos-tdep.c: Remove _initialize_amd64_dicos_tdep
7824         prototype.
7825         * amd64-fbsd-nat.c: Remove _initialize_amd64fbsd_nat prototype.
7826         * amd64-fbsd-tdep.c: Remove _initialize_amd64fbsd_tdep prototype.
7827         * amd64-linux-nat.c: Remove _initialize_amd64_linux_nat prototype.
7828         * amd64-linux-tdep.c: Remove _initialize_amd64_linux_tdep
7829         prototype.
7830         * amd64-nbsd-nat.c: Remove _initialize_amd64nbsd_nat prototype.
7831         * amd64-nbsd-tdep.c: Remove _initialize_amd64nbsd_tdep prototype.
7832         * amd64-obsd-nat.c: Remove _initialize_amd64obsd_nat prototype.
7833         * amd64-obsd-tdep.c: Remove _initialize_amd64obsd_tdep prototype.
7834         * amd64-sol2-tdep.c: Remove _initialize_amd64_sol2_tdep prototype.
7835         * amd64-tdep.c: Remove _initialize_amd64_tdep prototype.
7836         * amd64-windows-nat.c: Remove _initialize_amd64_windows_nat
7837         prototype.
7838         * amd64-windows-tdep.c: Remove _initialize_amd64_windows_tdep
7839         prototype.
7840         * annotate.c: Remove _initialize_annotate prototype.
7841         * arc-newlib-tdep.c: Remove _initialize_arc_newlib_tdep prototype.
7842         * arc-tdep.c: Remove _initialize_arc_tdep prototype.
7843         * arch-utils.c: Remove _initialize_gdbarch_utils prototype.
7844         * arm-linux-nat.c: Remove _initialize_arm_linux_nat prototype.
7845         * arm-linux-tdep.c: Remove _initialize_arm_linux_tdep prototype.
7846         * arm-nbsd-tdep.c: Remove _initialize_arm_netbsd_tdep prototype.
7847         * arm-obsd-tdep.c: Remove _initialize_armobsd_tdep prototype.
7848         * arm-symbian-tdep.c: Remove _initialize_arm_symbian_tdep
7849         prototype.
7850         * arm-tdep.c: Remove _initialize_arm_tdep prototype.
7851         * arm-wince-tdep.c: Remove _initialize_arm_wince_tdep prototype.
7852         * auto-load.c: Remove _initialize_auto_load prototype.
7853         * auxv.c: Remove _initialize_auxv prototype.
7854         * avr-tdep.c: Remove _initialize_avr_tdep prototype.
7855         * ax-gdb.c: Remove _initialize_ax_gdb prototype.
7856         * bfin-linux-tdep.c: Remove _initialize_bfin_linux_tdep prototype.
7857         * bfin-tdep.c: Remove _initialize_bfin_tdep prototype.
7858         * break-catch-sig.c: Remove _initialize_break_catch_sig prototype.
7859         * break-catch-syscall.c: Remove _initialize_break_catch_syscall
7860         prototype.
7861         * break-catch-throw.c: Remove _initialize_break_catch_throw
7862         prototype.
7863         * breakpoint.c: Remove _initialize_breakpoint prototype.
7864         * bsd-uthread.c: Remove _initialize_bsd_uthread prototype.
7865         * btrace.c: Remove _initialize_btrace prototype.
7866         * charset.c: Remove _initialize_charset prototype.
7867         * cli/cli-cmds.c: Remove _initialize_cli_cmds prototype.
7868         * cli/cli-dump.c: Remove _initialize_cli_dump prototype.
7869         * cli/cli-interp.c: Remove _initialize_cli_interp prototype.
7870         * cli/cli-logging.c: Remove _initialize_cli_logging prototype.
7871         * cli/cli-script.c: Remove _initialize_cli_script prototype.
7872         * coff-pe-read.c: Remove _initialize_coff_pe_read prototype.
7873         * coffread.c: Remove _initialize_coffread prototype.
7874         * compile/compile.c: Remove _initialize_compile prototype.
7875         * complaints.c: Remove _initialize_complaints prototype.
7876         * completer.c: Remove _initialize_completer prototype.
7877         * copying.awk: Remove _initialize_copying prototype.
7878         * copying.c: Regenerate.
7879         * core-regset.c: Remove _initialize_core_regset prototype.
7880         * corefile.c: Remove _initialize_core prototype.
7881         * corelow.c: Remove _initialize_corelow prototype.
7882         * cp-abi.c: Remove _initialize_cp_abi prototype.
7883         * cp-namespace.c: Remove _initialize_cp_namespace prototype.
7884         * cp-support.c: Remove _initialize_cp_support prototype.
7885         * cp-valprint.c: Remove _initialize_cp_valprint prototype.
7886         * cris-linux-tdep.c: Remove _initialize_cris_linux_tdep prototype.
7887         * cris-tdep.c: Remove _initialize_cris_tdep prototype.
7888         * ctf.c: Remove _initialize_ctf prototype.
7889         * d-lang.c: Remove _initialize_d_language prototype.
7890         * darwin-nat-info.c: Remove _initialize_darwin_info_commands
7891         prototype.
7892         * darwin-nat.c: Remove _initialize_darwin_inferior prototype.
7893         * dbxread.c: Remove _initialize_dbxread prototype.
7894         * dcache.c: Remove _initialize_dcache prototype.
7895         * demangle.c: Remove _initialize_demangler prototype.
7896         * disasm-selftests.c: Remove _initialize_disasm_selftests
7897         prototype.
7898         * disasm.c: Remove _initialize_disasm prototype.
7899         * dtrace-probe.c: Remove _initialize_dtrace_probe prototype.
7900         * dummy-frame.c: Remove _initialize_dummy_frame prototype.
7901         * dwarf2-frame-tailcall.c: Remove _initialize_tailcall_frame
7902         prototype.
7903         * dwarf2-frame.c: Remove _initialize_dwarf2_frame prototype.
7904         * dwarf2expr.c: Remove _initialize_dwarf2expr prototype.
7905         * dwarf2loc.c: Remove _initialize_dwarf2loc prototype.
7906         * dwarf2read.c: Remove _initialize_dwarf2_read prototype.
7907         * elfread.c: Remove _initialize_elfread prototype.
7908         * exec.c: Remove _initialize_exec prototype.
7909         * extension.c: Remove _initialize_extension prototype.
7910         * f-lang.c: Remove _initialize_f_language prototype.
7911         * f-valprint.c: Remove _initialize_f_valprint prototype.
7912         * fbsd-nat.c: Remove _initialize_fbsd_nat prototype.
7913         * fbsd-tdep.c: Remove _initialize_fbsd_tdep prototype.
7914         * filesystem.c: Remove _initialize_filesystem prototype.
7915         * findcmd.c: Remove _initialize_mem_search prototype.
7916         * fork-child.c: Remove _initialize_fork_child prototype.
7917         * frame-base.c: Remove _initialize_frame_base prototype.
7918         * frame-unwind.c: Remove _initialize_frame_unwind prototype.
7919         * frame.c: Remove _initialize_frame prototype.
7920         * frv-linux-tdep.c: Remove _initialize_frv_linux_tdep prototype.
7921         * frv-tdep.c: Remove _initialize_frv_tdep prototype.
7922         * ft32-tdep.c: Remove _initialize_ft32_tdep prototype.
7923         * gcore.c: Remove _initialize_gcore prototype.
7924         * gdb_bfd.c: Remove _initialize_gdb_bfd prototype.
7925         * gdbarch.c: Regenerate.
7926         * gdbarch.sh: Remove _initialize_gdbarch prototype.
7927         * gdbtypes.c: Remove _initialize_gdbtypes prototype.
7928         * gnu-nat.c: Remove _initialize_gnu_nat prototype.
7929         * gnu-v2-abi.c: Remove _initialize_gnu_v2_abi prototype.
7930         * gnu-v3-abi.c: Remove _initialize_gnu_v3_abi prototype.
7931         * go-lang.c: Remove _initialize_go_language prototype.
7932         * go32-nat.c: Remove _initialize_go32_nat prototype.
7933         * guile/guile.c: Remove _initialize_guile prototype.
7934         * h8300-tdep.c: Remove _initialize_h8300_tdep prototype.
7935         * hppa-linux-nat.c: Remove _initialize_hppa_linux_nat prototype.
7936         * hppa-linux-tdep.c: Remove _initialize_hppa_linux_tdep prototype.
7937         * hppa-nbsd-nat.c: Remove _initialize_hppanbsd_nat prototype.
7938         * hppa-nbsd-tdep.c: Remove _initialize_hppanbsd_tdep prototype.
7939         * hppa-obsd-nat.c: Remove _initialize_hppaobsd_nat prototype.
7940         * hppa-obsd-tdep.c: Remove _initialize_hppaobsd_tdep prototype.
7941         * hppa-tdep.c: Remove _initialize_hppa_tdep prototype.
7942         * i386-bsd-nat.c: Remove _initialize_i386bsd_nat prototype.
7943         * i386-cygwin-tdep.c: Remove _initialize_i386_cygwin_tdep
7944         prototype.
7945         * i386-darwin-tdep.c: Remove _initialize_i386_darwin_tdep
7946         prototype.
7947         * i386-dicos-tdep.c: Remove _initialize_i386_dicos_tdep prototype.
7948         * i386-fbsd-nat.c: Remove _initialize_i386fbsd_nat prototype.
7949         * i386-fbsd-tdep.c: Remove _initialize_i386fbsd_tdep prototype.
7950         * i386-gnu-nat.c: Remove _initialize_i386gnu_nat prototype.
7951         * i386-gnu-tdep.c: Remove _initialize_i386gnu_tdep prototype.
7952         * i386-linux-nat.c: Remove _initialize_i386_linux_nat prototype.
7953         * i386-linux-tdep.c: Remove _initialize_i386_linux_tdep prototype.
7954         * i386-nbsd-nat.c: Remove _initialize_i386nbsd_nat prototype.
7955         * i386-nbsd-tdep.c: Remove _initialize_i386nbsd_tdep prototype.
7956         * i386-nto-tdep.c: Remove _initialize_i386nto_tdep prototype.
7957         * i386-obsd-nat.c: Remove _initialize_i386obsd_nat prototype.
7958         * i386-obsd-tdep.c: Remove _initialize_i386obsd_tdep prototype.
7959         * i386-sol2-nat.c: Remove _initialize_amd64_sol2_nat prototype.
7960         * i386-sol2-tdep.c: Remove _initialize_amd64_sol2_tdep prototype.
7961         * i386-tdep.c: Remove _initialize_i386_tdep prototype.
7962         * i386-windows-nat.c: Remove _initialize_i386_windows_nat
7963         prototype.
7964         * ia64-libunwind-tdep.c: Remove _initialize_libunwind_frame
7965         prototype.
7966         * ia64-linux-nat.c: Remove _initialize_ia64_linux_nat prototype.
7967         * ia64-linux-tdep.c: Remove _initialize_ia64_linux_tdep prototype.
7968         * ia64-tdep.c: Remove _initialize_ia64_tdep prototype.
7969         * ia64-vms-tdep.c: Remove _initialize_ia64_vms_tdep prototype.
7970         * infcall.c: Remove _initialize_infcall prototype.
7971         * infcmd.c: Remove _initialize_infcmd prototype.
7972         * inferior.c: Remove _initialize_inferiors prototype.
7973         * inflow.c: Remove _initialize_inflow prototype.
7974         * infrun.c: Remove _initialize_infrun prototype.
7975         * interps.c: Remove _initialize_interpreter prototype.
7976         * iq2000-tdep.c: Remove _initialize_iq2000_tdep prototype.
7977         * jit.c: Remove _initialize_jit prototype.
7978         * language.c: Remove _initialize_language prototype.
7979         * linux-fork.c: Remove _initialize_linux_fork prototype.
7980         * linux-nat.c: Remove _initialize_linux_nat prototype.
7981         * linux-tdep.c: Remove _initialize_linux_tdep prototype.
7982         * linux-thread-db.c: Remove _initialize_thread_db prototype.
7983         * lm32-tdep.c: Remove _initialize_lm32_tdep prototype.
7984         * m2-lang.c: Remove _initialize_m2_language prototype.
7985         * m32c-tdep.c: Remove _initialize_m32c_tdep prototype.
7986         * m32r-linux-nat.c: Remove _initialize_m32r_linux_nat prototype.
7987         * m32r-linux-tdep.c: Remove _initialize_m32r_linux_tdep prototype.
7988         * m32r-tdep.c: Remove _initialize_m32r_tdep prototype.
7989         * m68hc11-tdep.c: Remove _initialize_m68hc11_tdep prototype.
7990         * m68k-bsd-nat.c: Remove _initialize_m68kbsd_nat prototype.
7991         * m68k-bsd-tdep.c: Remove _initialize_m68kbsd_tdep prototype.
7992         * m68k-linux-nat.c: Remove _initialize_m68k_linux_tdep prototype.
7993         * m68k-linux-tdep.c: Remove _initialize_m68k_linux_tdep prototype.
7994         * m68k-tdep.c: Remove _initialize_m68k_tdep prototype.
7995         * m88k-bsd-nat.c: Remove _initialize_m68kbsd_nat prototype.
7996         * m88k-tdep.c: Remove _initialize_m68kbsd_tdep prototype.
7997         * machoread.c: Remove _initialize_machoread prototype.
7998         * macrocmd.c: Remove _initialize_macrocmd prototype.
7999         * macroscope.c: Remove _initialize_macroscope prototype.
8000         * maint.c: Remove _initialize_maint_cmds prototype.
8001         * mdebugread.c: Remove _initialize_mdebugread prototype.
8002         * memattr.c: Remove _initialize_mem prototype.
8003         * mep-tdep.c: Remove _initialize_mep_tdep prototype.
8004         * mi/mi-cmd-env.c: Remove _initialize_mi_cmd_env prototype.
8005         * mi/mi-cmds.c: Remove _initialize_mi_cmds prototype.
8006         * mi/mi-interp.c: Remove _initialize_mi_interp prototype.
8007         * mi/mi-main.c: Remove _initialize_mi_main prototype.
8008         * microblaze-linux-tdep.c: Remove
8009         _initialize_microblaze_linux_tdep prototype.
8010         * microblaze-tdep.c: Remove _initialize_microblaze_tdep prototype.
8011         * mips-fbsd-nat.c: Remove _initialize_mips_fbsd_nat prototype.
8012         * mips-fbsd-tdep.c: Remove _initialize_mips_fbsd_tdep prototype.
8013         * mips-linux-nat.c: Remove _initialize_mips_linux_nat prototype.
8014         * mips-linux-tdep.c: Remove _initialize_mips_linux_tdep prototype.
8015         * mips-nbsd-nat.c: Remove _initialize_mipsnbsd_nat prototype.
8016         * mips-nbsd-tdep.c: Remove _initialize_mipsnbsd_tdep prototype.
8017         * mips-sde-tdep.c: Remove _initialize_mips_sde_tdep prototype.
8018         * mips-tdep.c: Remove _initialize_mips_tdep prototype.
8019         * mips64-obsd-nat.c: Remove _initialize_mips64obsd_nat prototype.
8020         * mips64-obsd-tdep.c: Remove _initialize_mips64obsd_tdep
8021         prototype.
8022         * mipsread.c: Remove _initialize_mipsread prototype.
8023         * mn10300-linux-tdep.c: Remove _initialize_mn10300_linux_tdep
8024         prototype.
8025         * mn10300-tdep.c: Remove _initialize_mn10300_tdep prototype.
8026         * moxie-tdep.c: Remove _initialize_moxie_tdep prototype.
8027         * msp430-tdep.c: Remove _initialize_msp430_tdep prototype.
8028         * mt-tdep.c: Remove _initialize_mt_tdep prototype.
8029         * nds32-tdep.c: Remove _initialize_nds32_tdep prototype.
8030         * nios2-linux-tdep.c: Remove _initialize_nios2_linux_tdep
8031         prototype.
8032         * nios2-tdep.c: Remove _initialize_nios2_tdep prototype.
8033         * nto-procfs.c: Remove _initialize_procfs prototype.
8034         * nto-tdep.c: Remove _initialize_nto_tdep prototype.
8035         * objc-lang.c: Remove _initialize_objc_language prototype.
8036         * objfiles.c: Remove _initialize_objfiles prototype.
8037         * observer.c: Remove observer_test_first_notification_function,
8038         observer_test_second_notification_function,
8039         observer_test_third_notification_function, and
8040         _initialize_observer prototypes.
8041         * opencl-lang.c: Remove _initialize_opencl_language prototypes.
8042         * osabi.c: Remove _initialize_gdb_osabi prototype.
8043         * osdata.c: Remove _initialize_osdata prototype.
8044         * p-valprint.c: Remove _initialize_pascal_valprint prototype.
8045         * parse.c: Remove _initialize_parse prototype.
8046         * ppc-fbsd-nat.c: Remove _initialize_ppcfbsd_nat prototype.
8047         * ppc-fbsd-tdep.c: Remove _initialize_ppcfbsd_tdep prototype.
8048         * ppc-linux-nat.c: Remove _initialize_ppc_linux_nat prototype.
8049         * ppc-linux-tdep.c: Remove _initialize_ppc_linux_tdep prototype.
8050         * ppc-nbsd-nat.c: Remove _initialize_ppcnbsd_nat prototype.
8051         * ppc-nbsd-tdep.c: Remove _initialize_ppcnbsd_tdep prototype.
8052         * ppc-obsd-nat.c: Remove _initialize_ppcobsd_nat prototype.
8053         * ppc-obsd-tdep.c: Remove _initialize_ppcobsd_tdep prototype.
8054         * printcmd.c: Remove _initialize_printcmd prototype.
8055         * probe.c: Remove _initialize_probe prototype.
8056         * proc-api.c: Remove _initialize_proc_api prototype.
8057         * proc-events.c: Remove _initialize_proc_events prototype.
8058         * proc-service.c: Remove _initialize_proc_service prototype.
8059         * procfs.c: Remove _initialize_procfs prototype.
8060         * psymtab.c: Remove _initialize_psymtab prototype.
8061         * python/python.c: Remove _initialize_python prototype.
8062         * ravenscar-thread.c: Remove _initialize_ravenscar prototype.
8063         * record-btrace.c: Remove _initialize_record_btrace prototype.
8064         * record-full.c: Remove _initialize_record_full prototype.
8065         * record.c: Remove _initialize_record prototype.
8066         * regcache.c: Remove _initialize_regcache prototype.
8067         * reggroups.c: Remove _initialize_reggroup prototype.
8068         * remote-notif.c: Remove _initialize_notif prototype.
8069         * remote-sim.c: Remove _initialize_remote_sim prototype.
8070         * remote.c: Remove _initialize_remote prototype.
8071         * reverse.c: Remove _initialize_reverse prototype.
8072         * rl78-tdep.c: Remove _initialize_rl78_tdep prototype.
8073         * rs6000-aix-tdep.c: Remove _initialize_rs6000_aix_tdep prototype.
8074         * rs6000-lynx178-tdep.c: Remove _initialize_rs6000_lynx178_tdep
8075         prototype.
8076         * rs6000-nat.c: Remove _initialize_rs6000_nat prototype.
8077         * rs6000-tdep.c: Remove _initialize_rs6000_tdep prototype.
8078         * rust-exp.y: Remove _initialize_rust_exp prototype.
8079         * rx-tdep.c: Remove _initialize_rx_tdep prototype.
8080         * s390-linux-nat.c: Remove _initialize_s390_nat prototype.
8081         * s390-linux-tdep.c: Remove _initialize_s390_tdep prototype.
8082         * score-tdep.c: Remove _initialize_score_tdep prototype.
8083         * selftest-arch.c: Remove _initialize_selftests_foreach_arch
8084         prototype.
8085         * ser-go32.c: Remove _initialize_ser_dos prototype.
8086         * ser-mingw.c: Remove _initialize_ser_windows prototype.
8087         * ser-pipe.c: Remove _initialize_ser_pipe prototype.
8088         * ser-tcp.c: Remove _initialize_ser_tcp prototype.
8089         * ser-unix.c: Remove _initialize_ser_hardwire prototype.
8090         * serial.c: Remove _initialize_serial prototype.
8091         * sh-linux-tdep.c: Remove _initialize_sh_linux_tdep prototype.
8092         * sh-nbsd-nat.c: Remove _initialize_shnbsd_nat prototype.
8093         * sh-nbsd-tdep.c: Remove _initialize_shnbsd_tdep prototype.
8094         * sh-tdep.c: Remove _initialize_sh_tdep prototype.
8095         * skip.c: Remove _initialize_step_skip prototype.
8096         * sol-thread.c: Remove _initialize_sol_thread prototype.
8097         * solib-aix.c: Remove _initialize_solib_aix prototype.
8098         * solib-darwin.c: Remove _initialize_darwin_solib prototype.
8099         * solib-dsbt.c: Remove _initialize_dsbt_solib prototype.
8100         * solib-frv.c: Remove _initialize_frv_solib prototype.
8101         * solib-spu.c: Remove _initialize_spu_solib prototype.
8102         * solib-svr4.c: Remove _initialize_svr4_solib prototype.
8103         * solib-target.c: Remove _initialize_solib_target prototype.
8104         * solib.c: Remove _initialize_solib prototype.
8105         * source.c: Remove _initialize_source prototype.
8106         * sparc-linux-nat.c: Remove _initialize_sparc_linux_nat prototype.
8107         * sparc-linux-tdep.c: Remove _initialize_sparc_linux_tdep
8108         prototype.
8109         * sparc-nat.c: Remove _initialize_sparc_nat prototype.
8110         * sparc-nbsd-nat.c: Remove _initialize_sparcnbsd_nat prototype.
8111         * sparc-nbsd-tdep.c: Remove _initialize_sparcnbsd_tdep prototype.
8112         * sparc-obsd-tdep.c: Remove _initialize_sparc32obsd_tdep
8113         prototype.
8114         * sparc-sol2-nat.c: Remove _initialize_sparc_sol2_nat prototype.
8115         * sparc-sol2-tdep.c: Remove _initialize_sparc_sol2_tdep prototype.
8116         * sparc-tdep.c: Remove _initialize_sparc_tdep prototype.
8117         * sparc64-fbsd-nat.c: Remove _initialize_sparc64fbsd_nat
8118         prototype.
8119         * sparc64-fbsd-tdep.c: Remove _initialize_sparc64fbsd_tdep
8120         prototype.
8121         * sparc64-linux-nat.c: Remove _initialize_sparc64_linux_nat
8122         prototype.
8123         * sparc64-linux-tdep.c: Remove _initialize_sparc64_linux_tdep
8124         prototype.
8125         * sparc64-nat.c: Remove _initialize_sparc64_nat prototype.
8126         * sparc64-nbsd-nat.c: Remove _initialize_sparc64nbsd_nat
8127         prototype.
8128         * sparc64-nbsd-tdep.c: Remove _initialize_sparc64nbsd_tdep
8129         prototype.
8130         * sparc64-obsd-nat.c: Remove _initialize_sparc64obsd_nat
8131         prototype.
8132         * sparc64-obsd-tdep.c: Remove _initialize_sparc64obsd_tdep
8133         prototype.
8134         * sparc64-sol2-tdep.c: Remove _initialize_sparc64_sol2_tdep
8135         prototype.
8136         * spu-linux-nat.c: Remove _initialize_spu_nat prototype.
8137         * spu-multiarch.c: Remove _initialize_spu_multiarch prototype.
8138         * spu-tdep.c: Remove _initialize_spu_tdep prototype.
8139         * stabsread.c: Remove _initialize_stabsread prototype.
8140         * stack.c: Remove _initialize_stack prototype.
8141         * stap-probe.c: Remove _initialize_stap_probe prototype.
8142         * std-regs.c: Remove _initialize_frame_reg prototype.
8143         * symfile-debug.c: Remove _initialize_symfile_debug prototype.
8144         * symfile-mem.c: Remove _initialize_symfile_mem prototype.
8145         * symfile.c: Remove _initialize_symfile prototype.
8146         * symmisc.c: Remove _initialize_symmisc prototype.
8147         * symtab.c: Remove _initialize_symtab prototype.
8148         * target-dcache.c: Remove _initialize_target_dcache prototype.
8149         * target-descriptions.c: Remove _initialize_target_descriptions
8150         prototype.
8151         * thread.c: Remove _initialize_thread prototype.
8152         * tic6x-linux-tdep.c: Remove _initialize_tic6x_linux_tdep
8153         prototype.
8154         * tic6x-tdep.c: Remove _initialize_tic6x_tdep prototype.
8155         * tilegx-linux-nat.c: Remove _initialize_tile_linux_nat prototype.
8156         * tilegx-linux-tdep.c: Remove _initialize_tilegx_linux_tdep
8157         prototype.
8158         * tilegx-tdep.c: Remove _initialize_tilegx_tdep prototype.
8159         * tracefile-tfile.c: Remove _initialize_tracefile_tfile prototype.
8160         * tracefile.c: Remove _initialize_tracefile prototype.
8161         * tracepoint.c: Remove _initialize_tracepoint prototype.
8162         * tui/tui-hooks.c: Remove _initialize_tui_hooks prototype.
8163         * tui/tui-interp.c: Remove _initialize_tui_interp prototype.
8164         * tui/tui-layout.c: Remove _initialize_tui_layout prototype.
8165         * tui/tui-regs.c: Remove _initialize_tui_regs prototype.
8166         * tui/tui-stack.c: Remove _initialize_tui_stack prototype.
8167         * tui/tui-win.c: Remove _initialize_tui_win prototype.
8168         * tui/tui.c: Remove _initialize_tui prototype.
8169         * typeprint.c: Remove _initialize_typeprint prototype.
8170         * user-regs.c: Remove _initialize_user_regs prototype.
8171         * utils.c: Remove _initialize_utils prototype.
8172         * v850-tdep.c: Remove _initialize_v850_tdep prototype.
8173         * valarith.c: Remove _initialize_valarith prototype.
8174         * valops.c: Remove _initialize_valops prototype.
8175         * valprint.c: Remove _initialize_valprint prototype.
8176         * value.c: Remove _initialize_values prototype.
8177         * varobj.c: Remove _initialize_varobj prototype.
8178         * vax-bsd-nat.c: Remove _initialize_vaxbsd_nat prototype.
8179         * vax-nbsd-tdep.c: Remove _initialize_vaxnbsd_tdep prototype.
8180         * vax-tdep.c: Remove _initialize_vax_tdep prototype.
8181         * windows-nat.c: Remove _initialize_windows_nat,
8182         _initialize_check_for_gdb_ini, and _initialize_loadable
8183         prototypes.
8184         * windows-tdep.c: Remove _initialize_windows_tdep prototype.
8185         * xcoffread.c: Remove _initialize_xcoffread prototype.
8186         * xml-support.c: Remove _initialize_xml_support prototype.
8187         * xstormy16-tdep.c: Remove _initialize_xstormy16_tdep prototype.
8188         * xtensa-linux-nat.c: Remove _initialize_xtensa_linux_nat
8189         prototype.
8190         * xtensa-linux-tdep.c: Remove _initialize_xtensa_linux_tdep
8191         prototype.
8192         * xtensa-tdep.c: Remove _initialize_xtensa_tdep prototype.
8193
8194 2017-09-08  Keith Seitz  <keiths@redhat.com>
8195
8196         * dwarf2read.c (struct field_info) <fnfields>: Remove unused
8197         field.
8198
8199 2017-09-08  Christoph Weinmann  <christoph.t.weinmann@intel.com>
8200
8201         * f-valprint.c (f_val_print): Remove check for one byte
8202         sized integers. Remove printing of character type.
8203
8204 2017-09-08  Frank Penczek  <frank.penczek@intel.com>
8205             Christoph Weinmann  <christoph.t.weinmann@intel.com>
8206             Bernhard Heckel  <bernhard.heckel@intel.com>
8207
8208         * f-typeprint.c (f_type_print_base): Use fprintfi_filtered
8209         to maintain proper indentation when printing pointers/refs.
8210
8211 2017-09-07  Joel Brobecker  <brobecker@adacore.com>
8212
8213         GDB 8.0.1 released.
8214
8215 2017-09-07  Joel Brobecker  <brobecker@adacore.com>
8216
8217         * NEWS (Changes in GDB 7.11): Remove entry for QStartupWithShell.
8218
8219 2017-09-05  Tom Tromey  <tom@tromey.com>
8220
8221         * parse.c (funcall_chain): Now a std::vector.
8222         (start_arglist, end_arglist): Simplify.
8223         (free_funcalls): Remove.
8224         (parse_exp_in_context_1): Remove cleanup.
8225
8226 2017-09-05  Tom Tromey  <tom@tromey.com>
8227
8228         * go-exp.y (go_parse): Don't create a cleanup.
8229
8230 2017-09-05  Tom Tromey  <tom@tromey.com>
8231
8232         * d-exp.y (PrimaryExpression): Use std::string.
8233         (d_parse): Don't create a cleanup.
8234
8235 2017-09-05  Tom Tromey  <tom@tromey.com>
8236
8237         * utils.c (do_clear_parser_state): Remove.
8238         (make_cleanup_clear_parser_state): Remove.
8239         * p-exp.y (pascal_parse): Use scoped_restore.
8240         * m2-exp.y (m2_parse): Use scoped_restore.
8241         * f-exp.y (f_parse): Use scoped_restore.
8242         * d-exp.y (d_parse): Use scoped_restore.
8243         * c-exp.y (c_parse): Use scoped_restore.
8244         * ada-exp.y (ada_parse): Use scoped_restore.
8245         * utils.h (make_cleanup_clear_parser_state): Remove.
8246
8247 2017-09-06  Keith Seitz  <keiths@redhat.com>
8248
8249         * dwarf2read.c (dw2_linkage_name_attr): New function.
8250         (dw2_linkage_name): New function.
8251         (dwarf2_compute_name, dwarf2_physname, read_call_site_scope)
8252         (guess_full_die_structure_name, dwarf2_name): Use dw2_linkage_name.
8253         (anonymous_struct_prefix, dwarf2_name): Use dw2_linkage_name_attr.
8254
8255 2017-09-06  Kamil Rytarowski  <n54@gmx.com>
8256
8257         * config/djgpp/djconfig.sh: Correct shell portability issue.
8258
8259 2017-09-06  Kamil Rytarowski  <n54@gmx.com>
8260
8261         * configure.nat: Define HAVE_NATIVE_GCORE_HOST on NetBSD.
8262
8263 2017-09-06  John Baldwin  <jhb@FreeBSD.org>
8264
8265         * Makefile.in (ALLDEPFILES): Add mips-fbsd-nat.c.
8266         * NEWS: Mention new FreeBSD/mips native configuration.
8267         * configure.host: Add aarch64*-*-freebsd*.
8268         * configure.nat: Likewise.
8269         * aarch64-fbsd-nat.c: New file.
8270
8271 2017-09-06  John Baldwin  <jhb@FreeBSD.org>
8272
8273         * Makefile.in (ALL_64_TARGET_OBS): Add aarch64-fbsd-tdep.o.
8274         (ALLDEPFILES): Add aarch64-fbsd-tdep.c.
8275         * NEWS: Mention new FreeBSD/aarch64 target.
8276         * configure.tgt: Add aarch64*-*-freebsd*.
8277         * aarch64-fbsd-tdep.c: New file.
8278         * aarch64-fbsd-tdep.h: New file.
8279
8280 2017-09-06  Kamil Rytarowski  <n54@gmx.com>
8281
8282         * MAINTAINERS (Write After Approval): Add Kamil Rytarowski.
8283
8284 2017-09-06  Jan Kratochvil  <jan.kratochvil@redhat.com>
8285
8286         * parse.c (find_minsym_type_and_address): Don't relocate addresses
8287         of TLS symbols.
8288
8289 2017-09-05  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
8290
8291         * objfiles.c (get_objfile_bfd_data): Remove useless obstack_init
8292         call.
8293
8294 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8295
8296         * infrun.c (follow_exec): Call add_thread after
8297         target_find_description.
8298
8299 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8300
8301         * infrun.c (handle_inferior_event_1): When exec'ing, read
8302         stop_pc after follow_exec.
8303
8304 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8305
8306         * remote.c (process_g_packet): Update error message.
8307
8308 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8309
8310         * configure.tgt (gdb_target_obs): Add i386.o for x86_64-*
8311         targets.
8312
8313 2017-09-05  Pedro Alves  <palves@redhat.com>
8314
8315         * eval.c (eval_call, evaluate_funcall): New functions, factored
8316         out from ...
8317         (evaluate_subexp_standard): ... this.
8318
8319 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8320
8321         * amd64-tdep.c (amd64_target_description): Create target
8322         descriptions.
8323         (_initialize_amd64_tdep): Don't call functions
8324         initialize_tdesc_amd64_*.  Add self tests.
8325         * arch/amd64.c (amd64_create_target_description): Add parameter
8326         is_linux.  Call set_tdesc_osabi if is_linux is true.
8327         * arch/amd64.h (amd64_create_target_description): Update the
8328         declaration.
8329         * arch/i386.c (i386_create_target_description): Add parameter
8330         is_linux.  Call set_tdesc_osabi if is_linux is true.
8331         * arch/i386.h (i386_create_target_description): Update
8332         declaration.
8333         * configure.tgt: Add i386.o to gdb_target_obs.
8334         * features/Makefile (XMLTOC): Remove i386/*.xml.
8335         * features/i386/amd64-avx-avx512.c: Remove.
8336         * features/i386/amd64-avx-mpx-avx512-pku.c: Remove.
8337         * features/i386/amd64-avx-mpx.c: Remove.
8338         * features/i386/amd64-avx.c: Remove.
8339         * features/i386/amd64-mpx.c: Remove.
8340         * features/i386/amd64.c: Remove.
8341         * features/i386/i386-avx-avx512.c: Remove.
8342         * features/i386/i386-avx-mpx-avx512-pku.c: Remove.
8343         * features/i386/i386-avx-mpx.c: Remove.
8344         * features/i386/i386-avx.c: Remove.
8345         * features/i386/i386-mmx.c: Remove.
8346         * features/i386/i386-mpx.c: Remove.
8347         * features/i386/i386.c: Remove.
8348         * i386-tdep.c: Don't include features/i386/i386*.c., include
8349         target-descriptions.h and arch/i386.h.
8350         (i386_target_description): Create target descriptions.
8351         (i386_gdbarch_init): Don't call initialize_tdesc_i386_*
8352         functions.  Do self tests.
8353
8354 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8355
8356         * features/Makefile (XMLTOC): Remove i386/amd64XXX-linux.xml.
8357         * features/i386/amd64-avx-avx512-linux.c: Removed.
8358         * features/i386/amd64-avx-linux.c: Removed.
8359         * features/i386/amd64-avx-mpx-avx512-pku-linux.c: Removed.
8360         * features/i386/amd64-avx-mpx-linux.c: Removed.
8361         * features/i386/amd64-linux.c: Removed.
8362         * features/i386/amd64-mpx-linux.c: Removed.
8363         * features/i386/x32-avx-avx512-linux.c: Removed.
8364         * features/i386/x32-avx-linux.c: Removed.
8365         * features/i386/x32-linux.c: Removed.
8366
8367 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8368
8369         * amd64-linux-tdep.c: Include arch/amd64.h.  Don't include
8370         features/i386/*.c.
8371         (amd64_linux_read_description): Call
8372         amd64_create_target_description.
8373         * arch/amd64.c: New file.
8374         * arch/amd64.h: New file.
8375         * configure.tgt (x86_64-*-linux*): Append amd64.o.
8376         * Makefile.in (ALL_64_TARGET_OBS): Append amd64.o.
8377
8378 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8379
8380         * amd64-linux-tdep.c: Don't include amd64-XXX-linux and
8381         x32-XXX-linux.c.  Include 64bit-XX.c and x32-XX.c.
8382         (amd64_linux_read_description): Create target descriptions.
8383         (_initialize_amd64_linux_tdep): Don't call initialize_tdesc_XXX
8384         functions.  Add unit tests.
8385         * features/Makefile (FEATURE_XMLFILES): Append 64bit-XXX.xml and
8386         x32-core.xml.
8387         * features/i386/64bit-avx.c: Generated.
8388         * features/i386/64bit-avx512.c: Generated.
8389         * features/i386/64bit-core.c: Generated.
8390         * features/i386/64bit-linux.c: Generated.
8391         * features/i386/64bit-mpx.c: Generated.
8392         * features/i386/64bit-pkeys.c: Generated.
8393         * features/i386/64bit-segments.c: Generated.
8394         * features/i386/64bit-sse.c: Generated.
8395         * features/i386/x32-core.c: Generated.
8396         * target-descriptions.c (maint_print_c_tdesc_cmd): Print feature
8397         c files for amd64-linux and x32-linux.
8398
8399 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8400
8401         * amd64-linux-tdep.c (amd64_linux_read_description): New
8402         function.
8403         (amd64_linux_core_read_description): Call
8404         amd64_linux_read_description.
8405         (amd64_linux_init_abi): Likewise.
8406         (amd64_x32_linux_init_abi): Likewise.
8407         * amd64-linux-tdep.h (amd64_linux_read_description): Declare.
8408         * x86-linux-nat.c (x86_linux_read_description): Call
8409         amd64_linux_read_description.
8410
8411 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8412
8413         * amd64-linux-tdep.c (amd64_linux_core_read_description): Update
8414         comments.
8415
8416 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8417
8418         * features/Makefile (XMLTOC): Remove i386/i386-XX-linux.xml.
8419         * features/i386/i386-avx-avx512-linux.c: Remove.
8420         * features/i386/i386-avx-linux.c: Remove.
8421         * features/i386/i386-avx-mpx-avx512-pku-linux.c: Remove.
8422         * features/i386/i386-avx-mpx-linux.c: Remove.
8423         * features/i386/i386-linux.c: Remove.
8424         * features/i386/i386-mmx-linux.c: Remove.
8425         * features/i386/i386-mpx-linux.c: Remove.
8426
8427 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8428
8429         * Makefile.in (ALL_TARGET_OBS): Add i386.o.
8430         (SFILES): Add arch/i386.c.
8431         (HFILES_NO_SRCDIR): Add arch/i386.h.
8432         * arch/i386.c: New file.
8433         * arch/i386.h: New file.
8434         * arch/tdesc.h (allocate_target_description): Declare.
8435         (set_tdesc_architecture): Declare.
8436         (set_tdesc_osabi): Declare.
8437         * configure.tgt (i[34567]86-*-linux*): Add i386.o.
8438         * i386-linux-tdep.c: Don't include ../features/i386/32bit-XXX.c.
8439         include arch/i386.h.
8440         (i386_linux_read_description): Remove code and call
8441         i386_create_target_description.
8442         (set_tdesc_architecture): New function.
8443         (set_tdesc_osabi): New function.
8444         * target-descriptions.h (allocate_target_description): Remove.
8445
8446 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8447
8448         * arch/tdesc.h (tdesc_create_feature): Add an argument xml.
8449         * target-descriptions.c (tdesc_create_feature): Likewise, and
8450         adjust code.
8451         * features/i386/32bit-avx.c: Re-generated.
8452         * features/i386/32bit-avx512.c: Re-generated.
8453         * features/i386/32bit-core.c: Re-generated.
8454         * features/i386/32bit-linux.c: Re-generated.
8455         * features/i386/32bit-mpx.c: Re-generated.
8456         * features/i386/32bit-pkeys.c: Re-generated.
8457         * features/i386/32bit-sse.c: Re-generated.
8458
8459 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8460
8461         * regformats/regdef.h (struct reg): Override operator == and !=.
8462
8463 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8464
8465         * arch/tdesc.h: New file.
8466         * regformats/regdat.sh: Generate code using tdesc_create_reg.
8467         * target-descriptions.c: Update comments.
8468         * target-descriptions.h: Include "arch/tdesc.h".  Remove the
8469         declarations.
8470         * features/i386/32bit-avx.c: Re-generated.
8471         * features/i386/32bit-avx512.c: Re-generated.
8472         * features/i386/32bit-core.c: Re-generated.
8473         * features/i386/32bit-linux.c: Re-generated.
8474         * features/i386/32bit-mpx.c: Re-generated.
8475         * features/i386/32bit-pkeys.c: Re-generated.
8476         * features/i386/32bit-sse.c: Re-generated.
8477
8478 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8479
8480         * regformats/regdat.sh: Update generated code.
8481
8482 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8483
8484         * regformats/regdat.sh: Adjust code order.
8485
8486 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8487
8488         * expprint.c (dump_subexp_body_standard): Use constant format
8489         string in fprintf_filtered call.
8490
8491 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8492
8493         * configure.nat: Add "x86-nat.o x86-dregs.o" for NetBSD/amd64 and
8494         NetBSD/i386.
8495         * x86-bsd-nat.c [!DBREG_DRX && __NetBSD__]: Define DBREG_DRX.
8496
8497 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8498
8499         * bsd-kvm.o: Make <sys/user.h> conditional on HAVE_SYS_USER_H.
8500
8501 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8502
8503         * bsd-kvm.o: Define _KMEMUSER.
8504         * configure.ac: Define _KMEMUSER when checking for "struct lwp".
8505         * configure: Regenerate.
8506
8507 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8508
8509         * amd64-fbsd-nat.c: Add include of "x86-xstate.h".
8510         * i386-fbsd-nat.c: Likewise.
8511
8512 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8513
8514         * unittests/array-view-selftests.c: Add include of <array>.
8515
8516 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8517
8518         * spu-tdep.c (flush_ea_cache): Add missing argument to
8519         call_function_by_hand.
8520
8521 2017-09-04  Pedro Alves  <palves@redhat.com>
8522
8523         * NEWS (Safer support for debugging with no debug info): New.
8524
8525 2017-09-04  Pedro Alves  <palves@redhat.com>
8526
8527         * c-exp.y (function_method, function_method_void): Add current
8528         instance flags to TYPE_INSTANCE.
8529         * dwarf2read.c (check_modifier): New.
8530         (compute_delayed_physnames): Assert that only C++ adds delayed
8531         physnames.  Mark fn_fields as const/volatile depending on
8532         physname.
8533         * eval.c (make_params): New type_instance_flags parameter.  Use
8534         it as the new type's instance flags.
8535         (evaluate_subexp_standard) <TYPE_INSTANCE>: Extract the instance
8536         flags element and pass it to make_params.
8537         * expprint.c (print_subexp_standard) <TYPE_INSTANCE>: Handle
8538         instance flags element.
8539         (dump_subexp_body_standard) <TYPE_INSTANCE>: Likewise.
8540         * gdbtypes.h: Include "enum-flags.h".
8541         (type_instance_flags): New enum-flags type.
8542         (TYPE_CONST, TYPE_VOLATILE, TYPE_RESTRICT, TYPE_ATOMIC)
8543         (TYPE_CODE_SPACE, TYPE_DATA_SPACE): Return boolean.
8544         * parse.c (operator_length_standard) <TYPE_INSTANCE>: Adjust.
8545         (follow_type_instance_flags): New function.
8546         (operator_check_standard) <TYPE_INSTANCE>: Adjust.
8547         * parser-defs.h (follow_type_instance_flags): Declare.
8548         * valops.c (value_struct_elt_for_reference): const/volatile must
8549         match too.
8550
8551 2017-09-04  Pedro Alves  <palves@redhat.com>
8552
8553         * cp-namespace.c (cp_search_static_and_baseclasses): Handle
8554         function/method scopes; lookup the nested name as a function local
8555         static variable.
8556
8557 2017-09-04  Pedro Alves  <palves@redhat.com>
8558
8559         (%type <voidval>): Add function_method.
8560         * c-exp.y (exp): New production for calls with no arguments.
8561         (function_method, function_method_void_or_typelist): New
8562         productions.
8563         (exp): New production for "method()::static_var".
8564         * eval.c (evaluate_subexp_standard): Handle OP_FUNC_STATIC_VAR.
8565         * expprint.c (print_subexp_standard, dump_subexp_body_standard):
8566         Handle OP_FUNC_STATIC_VAR.
8567         * parse.c (operator_length_standard):
8568         Handle OP_FUNC_STATIC_VAR.
8569
8570 2017-09-04  Pedro Alves  <palves@redhat.com>
8571
8572         * eval.c (evaluate_subexp_standard): Remove UNOP_MEMVAL_TLS
8573         handling.
8574         * expprint.c (print_subexp_standard, dump_subexp_body_standard):
8575         Ditto.
8576         * parse.c (operator_length_standard, operator_check_standard):
8577         Ditto.
8578         * std-operator.def (UNOP_MEMVAL_TLS): Delete.
8579
8580 2017-09-04  Pedro Alves  <palves@redhat.com>
8581
8582         * ax-gdb.c: Include "typeprint.h".
8583         (gen_expr_for_cast): New function.
8584         (gen_expr) <OP_CAST, OP_CAST_TYPE>: Use it.
8585         <OP_VAR_VALUE, OP_MSYM_VAR_VALUE>: Error out if the variable's
8586         type is unknown.
8587         * dwarf2read.c (new_symbol_full): Fallback to int instead of
8588         nodebug_data_symbol.
8589         * eval.c: Include "typeprint.h".
8590         (evaluate_subexp_standard) <OP_VAR_VALUE, OP_VAR_MSYM_VALUE>:
8591         Error out if symbol has unknown type.
8592         <UNOP_CAST, UNOP_CAST_TYPE>: Common bits factored out to
8593         evaluate_subexp_for_cast.
8594         (evaluate_subexp_for_address, evaluate_subexp_for_sizeof): Handle
8595         OP_VAR_MSYM_VALUE.
8596         (evaluate_subexp_for_cast): New function.
8597         * gdbtypes.c (init_nodebug_var_type): New function.
8598         (objfile_type): Use it to initialize types of variables with no
8599         debug info.
8600         * typeprint.c (error_unknown_type): New.
8601         * typeprint.h (error_unknown_type): New declaration.
8602         * compile/compile-c-types.c (convert_type_basic): Handle
8603         TYPE_CODE_ERROR; warn and fallback to int for variables with
8604         unknown type.
8605
8606 2017-09-04  Pedro Alves  <palves@redhat.com>
8607
8608         * eval.c (evaluate_var_value): New function, factored out from ...
8609         (evaluate_subexp_standard): ... here.
8610
8611 2017-09-04  Pedro Alves  <palves@redhat.com>
8612
8613         * eval.c (evaluate_subexp_standard) <UNOP_COMPLEMENT, UNOP_ADDR>:
8614         Remove useless assignments to 'op'.
8615
8616 2017-09-04  Pedro Alves  <palves@redhat.com>
8617
8618         * eval.c (eval_skip_value): New function.
8619         (evaluate_subexp_standard): Use it.
8620
8621 2017-09-04  Pedro Alves  <palves@redhat.com>
8622
8623         * eval.c (evaluate_subexp_standard): <OP_FUNCALL>: Extract
8624         function name from symbol/minsym and pass it to
8625         error_call_unknown_return_type.
8626
8627 2017-09-04  Pedro Alves  <palves@redhat.com>
8628
8629         * ada-lang.c (resolve_subexp): Handle OP_VAR_MSYM_VALUE.
8630         * ax-gdb.c (gen_msym_var_ref): New function.
8631         (gen_expr): Handle OP_VAR_MSYM_VALUE.
8632         * eval.c (evaluate_var_msym_value): New function.
8633         * eval.c (evaluate_subexp_standard): Handle OP_VAR_MSYM_VALUE.
8634         <OP_FUNCALL>: Extract function name from symbol/minsym and pass it
8635         to call_function_by_hand.
8636         * expprint.c (print_subexp_standard, dump_subexp_body_standard):
8637         Handle OP_VAR_MSYM_VALUE.
8638         (union exp_element) <msymbol>: New field.
8639         * minsyms.h (struct type): Forward declare.
8640         (find_minsym_type_and_address): Declare.
8641         * parse.c (write_exp_elt_msym): New function.
8642         (write_exp_msymbol): Delete, refactored as ...
8643         (find_minsym_type_and_address): ... this new function.
8644         (write_exp_msymbol): Reimplement using OP_VAR_MSYM_VALUE.
8645         (operator_length_standard, operator_check_standard): Handle
8646         OP_VAR_MSYM_VALUE.
8647         * std-operator.def (OP_VAR_MSYM_VALUE): New.
8648
8649 2017-09-04  Pedro Alves  <palves@redhat.com>
8650
8651         * ada-lang.c (ada_evaluate_subexp) <TYPE_CODE_FUNC>: Don't handle
8652         TYPE_GNU_IFUNC specially here.  Throw error if return type is
8653         unknown.
8654         * ada-typeprint.c (print_func_type): Handle functions with unknown
8655         return type.
8656         * c-typeprint.c (c_type_print_base): Handle functions and methods
8657         with unknown return type.
8658         * compile/compile-c-symbols.c (convert_symbol_bmsym)
8659         <mst_text_gnu_ifunc>: Use nodebug_text_gnu_ifunc_symbol.
8660         * compile/compile-c-types.c: Include "objfiles.h".
8661         (convert_func): For functions with unknown return type, warn and
8662         default to int.
8663         * compile/compile-object-run.c (compile_object_run): Adjust call
8664         to call_function_by_hand_dummy.
8665         * elfread.c (elf_gnu_ifunc_resolve_addr): Adjust call to
8666         call_function_by_hand.
8667         * eval.c (evaluate_subexp_standard): Adjust calls to
8668         call_function_by_hand.  Handle functions and methods with unknown
8669         return type.  Pass expect_type to call_function_by_hand.
8670         * f-typeprint.c (f_type_print_base): Handle functions with unknown
8671         return type.
8672         * gcore.c (call_target_sbrk): Adjust call to
8673         call_function_by_hand.
8674         * gdbtypes.c (objfile_type): Leave nodebug text symbol with NULL
8675         return type instead of int.  Make nodebug_text_gnu_ifunc_symbol be
8676         an integer address type instead of nodebug.
8677         * guile/scm-value.c (gdbscm_value_call): Adjust call to
8678         call_function_by_hand.
8679         * infcall.c (error_call_unknown_return_type): New function.
8680         (call_function_by_hand): New "default_return_type" parameter.
8681         Pass it down.
8682         (call_function_by_hand_dummy): New "default_return_type"
8683         parameter.  Use it instead of defaulting to int.  If there's no
8684         default and the return type is unknown, throw an error.  If
8685         there's a default return type, and the called function has no
8686         debug info, then assume the function is prototyped.
8687         * infcall.h (call_function_by_hand, call_function_by_hand_dummy):
8688         New "default_return_type" parameter.
8689         (error_call_unknown_return_type): New declaration.
8690         * linux-fork.c (call_lseek): Cast return type of lseek.
8691         (inferior_call_waitpid, checkpoint_command): Adjust calls to
8692         call_function_by_hand.
8693         * linux-tdep.c (linux_infcall_mmap, linux_infcall_munmap): Adjust
8694         calls to call_function_by_hand.
8695         * m2-typeprint.c (m2_procedure): Handle functions with unknown
8696         return type.
8697         * objc-lang.c (lookup_objc_class, lookup_child_selector)
8698         (value_nsstring, print_object_command): Adjust calls to
8699         call_function_by_hand.
8700         * p-typeprint.c (pascal_type_print_varspec_prefix): Handle
8701         functions with unknown return type.
8702         (pascal_type_print_func_varspec_suffix): New function.
8703         (pascal_type_print_varspec_suffix) <TYPE_CODE_FUNC,
8704         TYPE_CODE_METHOD>: Use it.
8705         * python/py-value.c (valpy_call): Adjust call to
8706         call_function_by_hand.
8707         * rust-lang.c (rust_evaluate_funcall): Adjust call to
8708         call_function_by_hand.
8709         * valarith.c (value_x_binop, value_x_unop): Adjust calls to
8710         call_function_by_hand.
8711         * valops.c (value_allocate_space_in_inferior): Adjust call to
8712         call_function_by_hand.
8713         * typeprint.c (type_print_unknown_return_type): New function.
8714         * typeprint.h (type_print_unknown_return_type): New declaration.
8715
8716 2017-09-04  Pedro Alves  <palves@redhat.com>
8717
8718         * gdbtypes.c (lookup_function_type_with_arguments): Mark function
8719         types with more than one parameter as prototyped.
8720
8721 2017-09-04  Pedro Alves  <palves@redhat.com>
8722
8723         * cli/cli-cmds.c (print_disassembly, disassemble_current_function)
8724         (disassemble_command): Use gdb_disassembly_flags instead of bare
8725         int.
8726         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn)
8727         (dump_insns, do_mixed_source_and_assembly_deprecated)
8728         (do_mixed_source_and_assembly, do_assembly_only, gdb_disassembly):
8729         Use gdb_disassembly_flags instead of bare int.
8730         * disasm.h (DISASSEMBLY_SOURCE_DEPRECATED, DISASSEMBLY_RAW_INSN)
8731         (DISASSEMBLY_OMIT_FNAME, DISASSEMBLY_FILENAME)
8732         (DISASSEMBLY_OMIT_PC, DISASSEMBLY_SOURCE)
8733         (DISASSEMBLY_SPECULATIVE): No longer macros.  Instead they're...
8734         (enum gdb_disassembly_flag): ... values of this new enumeration.
8735         (gdb_disassembly_flags): Define.
8736         (gdb_disassembly)
8737         (gdb_pretty_print_disassembler::pretty_print_insn): Use it.
8738         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Use
8739         gdb_disassembly_flags instead of bare int.
8740         * record-btrace.c (btrace_insn_history)
8741         (record_btrace_insn_history, record_btrace_insn_history_range)
8742         (record_btrace_insn_history_from): Use gdb_disassembly_flags
8743         instead of bare int.
8744         * record.c (get_insn_history_modifiers, cmd_record_insn_history):
8745         Use gdb_disassembly_flags instead of bare int.
8746         * target-debug.h (target_debug_print_gdb_disassembly_flags):
8747         Define.
8748         * target-delegates.c: Regenerate.
8749         * target.c (target_insn_history, target_insn_history_from)
8750         (target_insn_history_range): Use gdb_disassembly_flags instead of
8751         bare int.
8752         * target.h: Include "disasm.h".
8753         (struct target_ops) <to_insn_history, to_insn_history_from,
8754         to_insn_history_range>: Use gdb_disassembly_flags instead of bare
8755         int.
8756         (target_insn_history, target_insn_history_from)
8757         (target_insn_history_range): Use gdb_disassembly_flags instead of
8758         bare int.
8759
8760 2017-09-04  Simon Marchi  <simon.marchi@ericsson.com>
8761
8762         * cli/cli-script.c (build_command_line): For if/while commands,
8763         check whether args is empty.
8764
8765 2017-09-04  Simon Marchi  <simon.marchi@ericsson.com>
8766
8767         * cli/cli-script.h (enum misc_command_type): Move from defs.h.
8768         (enum command_control_type): Likewise.
8769         (struct command_line): Likewise.
8770         (free_command_lines): Likewise.
8771         (struct command_lines_deleter): Likewise.
8772         (command_line_up): Likewise.
8773         (read_command_lines): Likewise.
8774         (read_command_lines_1): Likewise.
8775         * defs.h (enum misc_command_type): Move to cli/cli-script.h.
8776         (enum command_control_type): Likewise.
8777         (struct command_line): Likewise.
8778         (free_command_lines): Likewise.
8779         (struct command_lines_deleter): Likewise.
8780         (command_line_up): Likewise.
8781         (read_command_lines): Likewise.
8782         (read_command_lines_1): Likewise.
8783         * breakpoint.h: Include cli/cli-script.h.
8784         * extension-priv.h: Likewise.
8785         * gdbcmd.h: Likewise.
8786
8787 2017-09-04  Pedro Alves  <palves@redhat.com>
8788
8789         * ada-lang.c (is_known_support_routine): Move sal declaration to
8790         where it is initialized.
8791         * breakpoint.c (create_internal_breakpoint, init_catchpoint)
8792         (parse_breakpoint_sals, decode_static_tracepoint_spec)
8793         (clear_command, update_static_tracepoint): Remove init_sal
8794         references.  Move declarations closer to initializations.
8795         * cli/cli-cmds.c (list_command): Move sal declarations closer to
8796         initializations.
8797         * elfread.c (elf_gnu_ifunc_resolver_stop): Remove init_sal
8798         references.  Move sal declarations closer to initializations.
8799         * frame.c (find_frame_sal): Return a symtab_and_line via function
8800         return instead of output parameter.  Remove init_sal references.
8801         * frame.h (find_frame_sal): Return a symtab_and_line via function
8802         return instead of output parameter.
8803         * guile/scm-frame.c (gdbscm_frame_sal): Adjust.
8804         * guile/scm-symtab.c (stscm_make_sal_smob): Use in-place new
8805         instead of memset.
8806         (gdbscm_find_pc_line): Remove init_sal reference.
8807         * infcall.c (call_function_by_hand_dummy): Remove init_sal
8808         references.  Move declarations closer to initializations.
8809         * infcmd.c (set_step_frame): Update.  Move declarations closer to
8810         initializations.
8811         (finish_backward): Remove init_sal references.  Move declarations
8812         closer to initializations.
8813         * infrun.c (process_event_stop_test, handle_step_into_function)
8814         (insert_hp_step_resume_breakpoint_at_frame)
8815         (insert_step_resume_breakpoint_at_caller): Likewise.
8816         * linespec.c (create_sals_line_offset, decode_digits_ordinary)
8817         (symbol_to_sal): Likewise.
8818         * probe.c (parse_probes_in_pspace): Remove init_sal reference.
8819         * python/py-frame.c (frapy_find_sal): Move sal declaration closer
8820         to its initialization.
8821         * reverse.c (save_bookmark_command): Use new/delete.  Remove
8822         init_sal references.  Move declarations closer to initializations.
8823         * source.c (get_current_source_symtab_and_line): Remove brace
8824         initialization.
8825         (set_current_source_symtab_and_line): Now takes the sal by const
8826         reference.  Remove brace initialization.
8827         (line_info): Remove init_sal reference.
8828         * source.h (set_current_source_symtab_and_line): Now takes a
8829         symtab_and_line via const reference.
8830         * stack.c (set_current_sal_from_frame): Adjust.
8831         (print_frame_info): Adjust.
8832         (get_last_displayed_sal): Return the sal via function return
8833         instead of via output parameter.  Simplify.
8834         (frame_info): Adjust.
8835         * stack.h (get_last_displayed_sal): Return the sal via function
8836         return instead of via output parameter.
8837         * symtab.c (init_sal): Delete.
8838         (find_pc_sect_line): Remove init_sal references.  Move
8839         declarations closer to initializations.
8840         (find_function_start_sal): Remove init_sal references.  Move
8841         declarations closer to initializations.
8842         * symtab.h (struct symtab_and_line): In-class initialize all
8843         fields.
8844         * tracepoint.c (set_traceframe_context)
8845         (print_one_static_tracepoint_marker): Remove init_sal references.
8846         Move declarations closer to initializations.
8847         * tui/tui-disasm.c (tui_show_disassem_and_update_source): Adjust.
8848         * tui/tui-stack.c (tui_show_frame_info): Adjust.  Move
8849         declarations closer to initializations.
8850         * tui/tui-winsource.c (tui_update_source_window_as_is): Remove
8851         init_sal references.  Adjust.
8852
8853 2017-09-04  Pedro Alves  <palves@redhat.com>
8854
8855         * ax-gdb.c (agent_command_1): Use range-for.
8856         * break-catch-throw.c (re_set_exception_catchpoint): Update.
8857         * breakpoint.c: Include "common/array-view.h".
8858         (init_breakpoint_sal, create_breakpoint_sal): Change sals
8859         parameter from struct symtabs_and_lines to
8860         array_view<symtab_and_line>.  Adjust.  Use range-for.  Update.
8861         (breakpoint_sals_to_pc): Change sals parameter from struct
8862         symtabs_and_lines to std::vector reference.
8863         (check_fast_tracepoint_sals): Change sals parameter from struct
8864         symtabs_and_lines to std::array_view.  Use range-for.
8865         (decode_static_tracepoint_spec): Return a std::vector instead of
8866         symtabs_and_lines.  Update.
8867         (create_breakpoint): Update.
8868         (break_range_command, until_break_command, clear_command): Update.
8869         (base_breakpoint_decode_location, bkpt_decode_location)
8870         (bkpt_probe_create_sals_from_location)
8871         (bkpt_probe_decode_location, tracepoint_decode_location)
8872         (tracepoint_probe_decode_location)
8873         (strace_marker_create_sals_from_location): Return a std::vector
8874         instead of symtabs_and_lines.
8875         (strace_marker_create_breakpoints_sal): Update.
8876         (strace_marker_decode_location): Return a std::vector instead of
8877         symtabs_and_lines.  Update.
8878         (update_breakpoint_locations): Change struct symtabs_and_lines
8879         parameters to gdb::array_view.  Adjust.
8880         (location_to_sals): Return a std::vector instead of
8881         symtabs_and_lines.  Update.
8882         (breakpoint_re_set_default): Use std::vector instead of struct
8883         symtabs_and_lines.
8884         (decode_location_default): Return a std::vector instead of
8885         symtabs_and_lines.  Update.
8886         * breakpoint.h: Include "common/array-view.h".
8887         (struct breakpoint_ops) <decode_location>: Now returns a
8888         std::vector instead of returning a symtabs_and_lines via output
8889         parameter.
8890         (update_breakpoint_locations): Change sals parameters to use
8891         gdb::array_view.
8892         * cli/cli-cmds.c (edit_command, list_command): Update to use
8893         std::vector and gdb::array_view.
8894         (ambiguous_line_spec): Adjust to use gdb::array_view and
8895         range-for.
8896         (compare_symtabs): Rename to ...
8897         (cmp_symtabs): ... this.  Change parameters to symtab_and_line
8898         const reference and adjust.
8899         (filter_sals): Rewrite using std::vector and standard algorithms.
8900         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Simplify.
8901         (jump_command): Update to use std::vector.
8902         * linespec.c (struct linespec_state) <canonical_names>: Update
8903         comment.
8904         (add_sal_to_sals_basic): Delete.
8905         (add_sal_to_sals, filter_results, convert_results_to_lsals)
8906         (decode_line_2, create_sals_line_offset)
8907         (convert_address_location_to_sals, convert_linespec_to_sals)
8908         (convert_explicit_location_to_sals, parse_linespec)
8909         (event_location_to_sals, decode_line_full, decode_line_1)
8910         (decode_line_with_current_source)
8911         (decode_line_with_last_displayed, decode_objc)
8912         (decode_digits_list_mode, decode_digits_ordinary, minsym_found)
8913         (linespec_result::~linespec_result): Adjust to use std::vector
8914         instead of symtabs_and_lines.
8915         * linespec.h (linespec_sals::sals): Now a std::vector.
8916         (struct linespec_result): Use std::vector, bool, and in-class
8917         initialization.
8918         (decode_line_1, decode_line_with_current_source)
8919         (decode_line_with_last_displayed): Return std::vector.
8920         * macrocmd.c (info_macros_command): Use std::vector.
8921         * mi/mi-main.c (mi_cmd_trace_find): Use std::vector.
8922         * probe.c (parse_probes_in_pspace, parse_probes): Adjust to use
8923         std::vector.
8924         * probe.h (parse_probes): Return a std::vector.
8925         * python/python.c (gdbpy_decode_line): Use std::vector and
8926         gdb::array_view.
8927         * source.c (select_source_symtab, line_info): Use std::vector.
8928         * stack.c (func_command): Use std::vector.
8929         * symtab.h (struct symtabs_and_lines): Delete.
8930         * tracepoint.c (tfind_line_command, scope_info): Use std::vector.
8931
8932 2017-09-04  Pedro Alves  <palves@redhat.com>
8933
8934         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8935         unittests/array-view-selftests.c.
8936         (SUBDIR_UNITTESTS_OBS): Add array-view-selftests.o.
8937         * common/array-view.h: New file.
8938         * unittests/array-view-selftests.c: New file.
8939
8940 2017-09-04  Pedro Alves  <palves@redhat.com>
8941
8942         * cli/cli-cmds.c (edit_command): Pass message to
8943         ambiguous_line_spec.
8944         (list_command): Pass message to ambiguous_line_spec.  Say
8945         "first"/"last" instead of "start" and "end" to be consistent with
8946         the manual.
8947         (ambiguous_line_spec): Add 'format' and vararg parameters.  Use
8948         them to print formatted message.
8949
8950 2017-09-04  Pedro Alves  <palves@redhat.com>
8951
8952         * btrace.c (ftrace_add_pt): Pass btrace_insn to
8953         ftrace_update_insns by reference instead of pointer.
8954
8955 2017-09-04  Yao Qi  <yao.qi@linaro.org>
8956
8957         * i386-go32-tdep.c: Include x86-xstate.h.
8958         (i386_go32_init_abi): Call i386_target_description.
8959         * i386-tdep.c (i386_target_description): Return tdesc_i386_mmx
8960         if xcr0 is X86_XSTATE_X87_MASK.
8961         * i386-tdep.h (tdesc_i386): Remove the declaration.
8962         (tdesc_i386_mmx): Likewise.
8963
8964 2017-09-04  Yao Qi  <yao.qi@linaro.org>
8965
8966         * i386-fbsd-tdep.c (i386fbsd_core_read_xcr0): Return
8967         X86_XSTATE_SSE_MASK instead of 0.
8968
8969 2017-09-04  Yao Qi  <yao.qi@linaro.org>
8970
8971         * amd64-fbsd-nat.c (amd64fbsd_read_description): Call
8972         i386_target_description.
8973         * i386-fbsd-nat.c (i386fbsd_read_description): Call
8974         i386_target_description.
8975         * i386-tdep.c (i386_gdbarch_init): Likewise.
8976
8977 2017-09-04  Yao Qi  <yao.qi@linaro.org>
8978
8979         * amd64-darwin-tdep.c: Include "x86-xstate.h".
8980         (x86_darwin_init_abi_64): Call amd64_target_description.
8981         * amd64-dicos-tdep.c: Likewise.
8982         * amd64-fbsd-nat.c: Likewise.
8983         * amd64-fbsd-tdep.c: Likewise.
8984         * amd64-nbsd-tdep.c: Likewise.
8985         * amd64-obsd-tdep.c: Likewise.
8986         * amd64-sol2-tdep.c: Likewise.
8987         * amd64-windows-tdep.c: Likewise.
8988         * amd64-tdep.h (tdesc_amd64): Remove the declaration.
8989
8990 2017-09-04  Simon Marchi  <simon.marchi@ericsson.com>
8991
8992         * btrace.h (btrace_insn_s, DEF_VEC_O (btrace_insn_s)): Remove.
8993         (btrace_function) <insn>: Change type to use std::vector.
8994         * btrace.c (ftrace_debug, ftrace_call_num_insn,
8995         ftrace_find_call, ftrace_new_gap, ftrace_update_function,
8996         ftrace_update_insns, ftrace_compute_global_level_offset,
8997         btrace_stitch_bts, btrace_clear, btrace_insn_get,
8998         btrace_insn_end, btrace_insn_next, btrace_insn_prev): Adjust to
8999         change to std::vector.
9000         (ftrace_update_insns): Adjust to change to std::vector, change
9001         type of INSN parameter.
9002         (btrace_compute_ftrace_bts): Adjust call to ftrace_update_insns.
9003         * record-btrace.c (btrace_call_history_insn_range,
9004         btrace_compute_src_line_range,
9005         record_btrace_frame_prev_register): Adjust to change to
9006         std::vector.
9007         * python/py-record-btrace.c (recpy_bt_func_instructions): Adjust
9008         to change to std::vector.
9009
9010 2017-09-03  Tom Tromey  <tom@tromey.com>
9011
9012         * corefile.c (reopen_exec_file): Use std::string.
9013
9014 2017-09-03  Tom Tromey  <tom@tromey.com>
9015
9016         * compile/compile.c (compile_register_name_mangled): Return
9017         std::string.
9018         * compile/compile-loc2c.c (pushf_register_address): Update.
9019         (pushf_register): Update.
9020         * compile/compile-c-types.c (convert_array): Update.
9021         * compile/compile-c-symbols.c (generate_vla_size): Update.
9022         (error_symbol_once): Use a gdb::unique_xmalloc_ptr.
9023         (symbol_substitution_name): Return a gdb::unique_xmalloc_ptr.
9024         (convert_one_symbol): Update.
9025         (generate_c_for_for_one_variable): Update.
9026         * compile/compile-c-support.c (c_get_range_decl_name): Return a
9027         std::string.
9028         (generate_register_struct): Update.
9029         * compile/compile-internal.h (c_get_range_decl_name): Return a
9030         std::string.
9031         (compile_register_name_mangled): Return std::string.
9032
9033 2017-09-03  Tom Tromey  <tom@tromey.com>
9034
9035         * utils.c (perror_string): Return a std::string.
9036         (throw_perror_with_name, perror_warning_with_name): Update.
9037
9038 2017-09-03  Tom Tromey  <tom@tromey.com>
9039
9040         * demangle.c (demangle_command): Use std::string,
9041         unique_xmalloc_ptr.
9042
9043 2017-09-03  Tom Tromey  <tom@tromey.com>
9044
9045         * cli/cli-setshow.c (do_set_command): Use std::string.
9046
9047 2017-09-03  Tom Tromey  <tom@tromey.com>
9048
9049         * cli/cli-cmds.c (cd_command): Use gdb::unique_xmalloc_ptr.
9050
9051 2017-09-03  Tom Tromey  <tom@tromey.com>
9052
9053         * mi/mi-interp.c (mi_cmd_interpreter_exec): Use std::string.
9054
9055 2017-09-03  Tom Tromey  <tom@tromey.com>
9056
9057         * mi/mi-cmd-env.c (env_execute_cli_command): Use
9058         gdb::unique_xmalloc_ptr.
9059
9060 2017-09-03  Tom Tromey  <tom@tromey.com>
9061
9062         * thread.c (print_thread_info_1): Use string_printf.
9063         (thread_apply_command, thread_apply_all_command): Use
9064         std::string.
9065
9066 2017-09-03  Tom Tromey  <tom@tromey.com>
9067
9068         * valprint.c (val_print_string): Update.
9069         * gdbcore.h (memory_error_message): Return std::string.
9070         * corefile.c (memory_error_message): Return std::string.
9071         (memory_error): Update.
9072         * breakpoint.c (insert_bp_location): Update.
9073
9074 2017-09-03  Simon Marchi  <simon.marchi@ericsson.com>
9075
9076         * target/waitstatus.h (target_waitstatus_to_string): Change
9077         return type to std::string.
9078         * target/waitstatus.c (target_waitstatus_to_string): Return
9079         std::string.
9080         * target.h (target_waitstatus_to_string): Remove declaration.
9081         * infrun.c (resume, clear_proceed_status_thread,
9082         print_target_wait_results, do_target_wait, save_waitstatus,
9083         stop_all_threads): Adjust.
9084         * record-btrace.c (record_btrace_wait): Adjust.
9085         * target-debug.h
9086         (target_debug_print_struct_target_waitstatus_p): Adjust.
9087
9088 2017-09-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
9089
9090         PR gdb/22046
9091         * nat/linux-procfs.c (parse_proc_status_state): Fix PROC_STATE_STOPPED
9092         detection.
9093
9094 2017-08-31  Sergio Durigan Junior  <sergiodj@redhat.com>
9095
9096         * NEWS (Changes since GDB 8.0): Add entry mentioning new support
9097         for setting/unsetting environment variables on the remote target.
9098         (New remote packets): Add entries for QEnvironmentHexEncoded,
9099         QEnvironmentUnset and QEnvironmentReset.
9100         * common/environ.c (gdb_environ::operator=): Extend method to
9101         handle m_user_set_env_list and m_user_unset_env_list.
9102         (gdb_environ::clear): Likewise.
9103         (match_var_in_string): Change type of first parameter from 'char
9104         *' to 'const char *'.
9105         (gdb_environ::set): Extend method to handle
9106         m_user_set_env_list and m_user_unset_env_list.
9107         (gdb_environ::unset): Likewise.
9108         (gdb_environ::clear_user_set_env): New method.
9109         (gdb_environ::user_set_envp): Likewise.
9110         (gdb_environ::user_unset_envp): Likewise.
9111         * common/environ.h (gdb_environ): Handle m_user_set_env_list and
9112         m_user_unset_env_list on move constructor/assignment.
9113         (unset): Add new default parameter 'update_unset_list = true'.
9114         (clear_user_set_env): New method.
9115         (user_set_envp): Likewise.
9116         (user_unset_envp): Likewise.
9117         (m_user_set_env_list): New std::set.
9118         (m_user_unset_env_list): Likewise.
9119         * common/rsp-low.c (hex2str): New function.
9120         (bin2hex): New overload for bin2hex function.
9121         * common/rsp-low.c (hex2str): New prototype.
9122         (str2hex): New overload prototype.
9123         * remote.c: Include "environ.h". Add QEnvironmentHexEncoded,
9124         QEnvironmentUnset and QEnvironmentReset.
9125         (remote_protocol_features): Add QEnvironmentHexEncoded,
9126         QEnvironmentUnset and QEnvironmentReset packets.
9127         (send_environment_packet): New function.
9128         (extended_remote_environment_support): Likewise.
9129         (extended_remote_create_inferior): Call
9130         extended_remote_environment_support.
9131         (_initialize_remote): Add QEnvironmentHexEncoded,
9132         QEnvironmentUnset and QEnvironmentReset packet configs.
9133         * unittests/environ-selftests.c (gdb_selftest_env_var):
9134         New variable.
9135         (test_vector_initialization): New function.
9136         (test_init_from_host_environ): Likewise.
9137         (test_reinit_from_host_environ): Likewise.
9138         (test_set_A_unset_B_unset_A_cannot_find_A_can_find_B):
9139         Likewise.
9140         (test_unset_set_empty_vector): Likewise.
9141         (test_vector_clear): Likewise.
9142         (test_std_move): Likewise.
9143         (test_move_constructor):
9144         (test_self_move): Likewise.
9145         (test_set_unset_reset): Likewise.
9146         (run_tests): Rewrite in terms of the functions above.
9147
9148 2017-08-31  Weimin Pan  <weimin.pan@oracle.com>
9149
9150         * sparc64-tdep.c (adi_stat_t): Fix comment formatting.
9151         (adi_available): Use a temp variable of type CORE_ADDR as argument
9152         3 when calling target_auxv_search.
9153         (adi_normalize_address): Use masks and xor operators to calculate
9154         normalized address.
9155         (adi_read_versions, adi_write_versions, adi_print_versions)
9156         (do_examine, do_assign): Use paddress.
9157
9158 2017-08-29  John Baldwin  <jhb@FreeBSD.org>
9159
9160         * mips-fbsd-nat.c (getfpregs_supplies): Return true for FIR.
9161         * mips-fbsd-tdep.c (mips_fbsd_supply_fpregs): Split supply of FSR
9162         out of loop and add supply of FIR.
9163         (mips_fbsd_collect_fpregs): Split collect of FSR out of loop and
9164         add collect of FIR.
9165
9166 2017-08-28  Simon Marchi  <simon.marchi@ericsson.com>
9167
9168         PR gdb/21827
9169         * cli/cli-script.c (define_command): Don't convert command name
9170         to lower case.
9171
9172 2017-08-25  Joel Brobecker  <brobecker@adacore.com>
9173
9174         * ada-lang.c (ada_lookup_struct_elt_type): Remove parameter "dispp".
9175         Update all callers accordingly. Remove all code blocks handling
9176         the case where DISPP is not NULL.
9177
9178 2017-08-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
9179
9180         PR symtab/22003
9181         * dwarf2read.c (dwarf2_const_value_attr, dump_die_shallow)
9182         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
9183         (skip_form_bytes, attr_form_is_constant): Handle DW_FORM_implicit_const.
9184
9185 2017-08-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
9186
9187         * dwarf2read.c (build_type_psymtabs_reader): New prototype.
9188         (process_psymtab_comp_unit): Accept IS_DEBUG_TYPES.
9189         (read_comp_units_from_section): New parameter abbrev_section, use
9190         read_and_check_comp_unit_head, allocate signatured_type if needed.
9191         (create_all_comp_units): Update read_comp_units_from_section caller.
9192
9193 2017-08-23  Pedro Alves  <palves@redhat.com>
9194
9195         PR remote/21852
9196         * remote.c (add_current_inferior_and_thread): Set inferior_ptid
9197         to null_ptid and switch to thread without reading the registers
9198         after adding the inferior.
9199
9200 2017-08-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
9201
9202         * NEWS (Changes since GDB 8.0): Add set compile-gcc and show
9203         compile-gcc.
9204         * compile/compile.c (compile_gcc, show_compile_gcc): New.
9205         (compile_to_object): Implement compile_gcc.
9206         (_initialize_compile): Install "set compile-gcc".  Initialize
9207         compile_gcc.
9208
9209 2017-08-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
9210
9211         * compile/compile.c (compile_to_object): Conditionally call
9212         set_verbose.  Conditionally call compile or compile_v0.
9213
9214 2017-08-07  Weimin Pan  <weimin.pan@oracle.com>
9215
9216         * sparc64-tdep.h: (adi_normalize_address): New export.
9217         * sparc-nat.h: (open_adi_tag_fd): New export.
9218         * sparc64-linux-nat.c: (open_adi_tag_fd): New function.
9219         * sparc64-linux-tdep.c:
9220         (SEGV_ACCADI, SEGV_ADIDERR, SEGV_ADIPERR) New defines.
9221         (sparc64_linux_handle_segmentation_fault): New function.
9222         (sparc64_linux_init_abi): Register
9223         sparc64_linux_handle_segmentation_fault
9224         * sparc64-tdep.c: Include cli-utils.h,gdbcmd.h,auxv.h.
9225         (sparc64_addr_bits_remove): New function.
9226         (sparc64_init_abi): Register sparc64_addr_bits_remove.
9227         (MAX_PROC_NAME_SIZE): New macro.
9228         (AT_ADI_BLKSZ, AT_ADI_NBITS, AT_ADI_UEONADI) New defines.
9229         (sparc64adilist): New variable.
9230         (adi_proc_list): New variable.
9231         (find_adi_info): New function.
9232         (add_adi_info): New function.
9233         (get_adi_info_proc): New function.
9234         (get_adi_info): New function.
9235         (info_adi_command): New function.
9236         (read_maps_entry): New function.
9237         (adi_available): New function.
9238         (adi_normalize_address): New function.
9239         (adi_align_address): New function.
9240         (adi_convert_byte_count): New function.
9241         (adi_tag_fd): New function.
9242         (adi_is_addr_mapped): New function.
9243         (adi_read_versions): New function.
9244         (adi_write_versions): New function.
9245         (adi_print_versions): New function.
9246         (do_examine): New function.
9247         (do_assign): New function.
9248         (adi_examine_command): New function.
9249         (adi_assign_command): New function.
9250         (_initialize_sparc64_adi_tdep): New function.
9251
9252 2017-08-22  Simon Marchi  <simon.marchi@ericsson.com>
9253
9254         * breakpoint.c (breakpoints_info): Rename to ...
9255         (info_breakpoints_command): ... this.
9256         (watchpoints_info): Rename to ...
9257         (info_watchpoints_command): ... this.
9258         (tracepoints_info): Rename to ...
9259         (info_tracepoints_command): ... this.
9260         (_initialize_breakpoint): Adjust.
9261         * dcache.c (dcache_info): Rename to ...
9262         (info_display_command): ... this.
9263         (_initialize_dcache): Adjust.
9264         * frame.h (args_info): Rename to ...
9265         (info_args_command): ... this.
9266         (locals_info): Rename to ...
9267         (info_locals_command): ... this.
9268         * infcmd.c (nofp_registers_info): Rename to ...
9269         (info_registers_command): ... this.
9270         (float_info): Rename to ...
9271         (info_float_command): ... this.
9272         (program_info): Rename to ...
9273         (info_program_command): ... this.
9274         (all_registers_info): Rename to ...
9275         (info_all_registers_command): ... this.
9276         (vector_info): Rename to ...
9277         (info_vector_command): ... this.
9278         (float_info): Rename to ...
9279         (info_float_command): ... this.
9280         (_initialize_infcmd): Adjust.
9281         * inferior.h (term_info): Rename to ...
9282         (info_terminal_command): ... this.
9283         * inflow.c (term_info): Rename to ...
9284         (info_terminal_command): ... this.
9285         (_initialize_inflow): Adjust.
9286         * infrun.c (signals_info): Rename to ...
9287         (info_signals_command): ... this.
9288         (_initialize_infrun): Adjust.
9289         * objc-lang.c (classes_info): Rename to ...
9290         (info_classes_command): ... this.
9291         (selectors_info): Rename to ...
9292         (info_selectors_command): ... this.
9293         (_initialize_objc_language): Adjust.
9294         * printcmd.c (sym_info): Rename to ...
9295         (info_symbol_command): ... this.
9296         (address_info): Rename to ...
9297         (info_address_command): ... this.
9298         (display_info): Rename to ...
9299         (info_display_command): ... this.
9300         (_initialize_printcmd): Adjust.
9301         * reverse.c (bookmarks_info): Rename to ...
9302         (info_breakpoints_command): ... this.
9303         (_initialize_reverse): Adjust.
9304         * ser-go32.c (dos_info): Rename to ...
9305         (info_serial_command): ... this.
9306         (_initialize_ser_dos): Adjust.
9307         * skip.c (skip_info): Rename to ...
9308         (info_skip_command): ... this.
9309         (_initialize_step_skip): Adjust.
9310         * source.c (line_info): Rename to ...
9311         (info_line_command): ... this.
9312         (source_info): Rename to ...
9313         (info_source_command)
9314         * stack.c (frame_info): Rename to ...
9315         (info_frame_command): ... this.
9316         (locals_info): Rename to ...
9317         (info_locals_command): ... this.
9318         (args_info): Rename to ...
9319         (info_args_command): ... this.
9320         (_initialize_stack): Adjust.
9321         * symtab.c (sources_info): Rename to ...
9322         (info_sources_command): ... this.
9323         (variables_info): Rename to ...
9324         (info_variables_command): ... this.
9325         (functions_info): Rename to ...
9326         (info_functions_command): ... this.
9327         (types_info): Rename to ...
9328         (info_types_command): ... this.
9329         (_initialize_symtab): Adjust.
9330         * target.c (target_info): Rename to ...
9331         (info_target_command): ... this.
9332         (initialize_targets): Adjust.
9333         * tracepoint.c (tvariables_info): Rename to ...
9334         (info_tvariables_command): ... this.
9335         (scope_info): Rename to ...
9336         (info_scope_command): ... this.
9337         (trace_dump_actions): Adjust.
9338         (_initialize_tracepoint): Adjust.
9339
9340 2017-08-22  Tom Tromey  <tom@tromey.com>
9341
9342         * breakpoint.h (install_breakpoint): Update.
9343         * breakpoint.c (add_solib_catchpoint): Update.
9344         (install_breakpoint): Change argument to a std::unique_ptr.
9345         (create_fork_vfork_event_catchpoint): Use std::unique_ptr.
9346         (create_breakpoint_sal, create_breakpoint): Update.
9347         (watch_command_1, catch_exec_command_1)
9348         (strace_marker_create_breakpoints_sal): Use std::unique_ptr.
9349         (add_to_breakpoint_chain): Change argument to a std::unique_ptr.
9350         Return the breakpoint.
9351         (set_raw_breakpoint_without_location, set_raw_breakpoint)
9352         (new_single_step_breakpoint): Update.
9353         * break-catch-throw.c (handle_gnu_v3_exceptions): Use
9354         std::unique_ptr.
9355         * break-catch-syscall.c (create_syscall_event_catchpoint): Use
9356         std::unique_ptr.
9357         * break-catch-sig.c (create_signal_catchpoint): Use
9358         std::unique_ptr.
9359         * ada-lang.c (create_ada_exception_catchpoint): Use
9360         std::unique_ptr.
9361
9362 2017-08-22  Tom Tromey  <tom@tromey.com>
9363
9364         * breakpoint.c (add_solib_catchpoint): Use std::unique_ptr.
9365
9366 2017-08-22  Tom Tromey  <tom@tromey.com>
9367
9368         * psymtab.c (psymtab_search_name): Return a unique_xmalloc_ptr.
9369         (lookup_partial_symbol): Update.
9370
9371 2017-08-22  Tom Tromey  <tom@tromey.com>
9372
9373         * source.h (rewrite_source_path): Return a unique_xmalloc_ptr.
9374         * source.c (rewrite_source_path): Return a unique_xmalloc_ptr.
9375         (find_and_open_source, symtab_to_fullname): Update.
9376         * psymtab.c (psymtab_to_fullname): Update.
9377
9378 2017-08-22  Tom Tromey  <tom@tromey.com>
9379
9380         * exec.c (exec_file_attach): Update.
9381         * linux-thread-db.c (try_thread_db_load): Update.
9382         * guile/scm-safe-call.c (gdbscm_safe_source_script): Update.
9383         * utils.c (gdb_realpath): Change return type.
9384         (gdb_realpath_keepfile): Update.
9385         (gdb_realpath_check_trailer, gdb_realpath_tests): New functions.
9386         (_initialize_utils): Register the new self test.
9387         * source.c (openp): Update.
9388         (find_and_open_source): Update.
9389         * nto-tdep.c (nto_find_and_open_solib): Update.
9390         * main.c (set_gdb_data_directory): Update.
9391         (captured_main_1): Update.
9392         * dwarf2read.c (dwarf2_get_dwz_file): Update
9393         (dw2_map_symbol_filenames): Update.
9394         * auto-load.c (auto_load_safe_path_vec_update): Update.
9395         (filename_is_in_auto_load_safe_path_vec): Change type of
9396         "filename_realp".
9397         (auto_load_objfile_script): Update.
9398         (file_is_auto_load_safe): Update.  Use std::string.
9399         * utils.h (gdb_realpath): Return a gdb::unique_xmalloc_ptr.
9400
9401 2017-08-22  Tom Tromey  <tom@tromey.com>
9402
9403         * utils.c (gdb_realpath_keepfile): Return a
9404         gdb::unique_xmalloc_ptr.
9405         * exec.c (exec_file_attach): Update.
9406         * utils.h (gdb_realpath_keepfile): Return a
9407         gdb::unique_xmalloc_ptr.
9408
9409 2017-08-22  Tom Tromey  <tom@tromey.com>
9410
9411         * compile/compile.c (compile_file_command): Use
9412         gdb::unique_xmalloc_ptr, std::string.
9413         * utils.c (gdb_abspath): Change return type.
9414         * source.c (openp): Update.
9415         * objfiles.c (allocate_objfile): Update.
9416         * main.c (set_gdb_data_directory): Update.
9417         * utils.h (gdb_abspath): Return a gdb::unique_xmalloc_ptr.
9418
9419 2017-08-22  Zhouyi Zhou  <zhouzhouyi@gmail.com>
9420
9421         * cli-cmds.c (list_commands): List actual code around more than
9422         one location.
9423
9424 2017-08-21  John Baldwin  <jhb@FreeBSD.org>
9425
9426         * fbsd-nat.c (fbsd_add_threads): Use array type for `lwps'.
9427
9428 2017-08-21  Pedro Alves  <palves@redhat.com>
9429
9430         PR gdb/19487
9431         * c-exp.y (variable production): Handle function aliases.
9432         * minsyms.c (msymbol_is_text): New function.
9433         * minsyms.h (msymbol_is_text): Declare.
9434         * symtab.c (find_function_alias_target): New function.
9435         * symtab.h (find_function_alias_target): Declare.
9436
9437 2017-08-21  Pedro Alves  <palves@redhat.com>
9438
9439         * eval.c (evaluate_subexp_standard) <OP_TYPE>: Don't dig past
9440         typedefs.
9441         * typeprint.c (whatis_exp): If handling "whatis", and expression
9442         is OP_TYPE, strip one typedef level.  Otherwise don't strip
9443         typedefs here.
9444         * valops.c (value_cast): Save "to" type before resolving
9445         stubs/typedefs.  Use that type as resulting value's type.
9446
9447 2017-08-18  Tom Tromey  <tom@tromey.com>
9448             Pedro Alves  <palves@redhat.com>
9449
9450         * spu-multiarch.c (parse_spufs_run): Use scoped_restore.
9451         * sol-thread.c (sol_thread_resume, sol_thread_wait)
9452         (sol_thread_xfer_partial, rw_common): Use scoped_restore.
9453         * procfs.c (procfs_do_thread_registers): Use scoped_restore.
9454         * proc-service.c (ps_xfer_memory): Use scoped_restore.
9455         * linux-tdep.c (linux_corefile_thread): Remove a cleanup.
9456         (linux_get_siginfo_data): Add "thread" argument.  Use
9457         scoped_restore.
9458         * linux-nat.c (linux_child_follow_fork)
9459         (check_stopped_by_watchpoint): Use scoped_restore.
9460         * infrun.c (displaced_step_prepare_throw, write_memory_ptid)
9461         (THREAD_STOPPED_BY, handle_signal_stop): Use scoped_restore.
9462         (restore_inferior_ptid, save_inferior_ptid): Remove.
9463         * btrace.c (btrace_fetch): Use scoped_restore.
9464         * bsd-uthread.c (bsd_uthread_fetch_registers)
9465         (bsd_uthread_store_registers): Use scoped_restore.
9466         * breakpoint.c (reattach_breakpoints, detach_breakpoints): Use
9467         scoped_restore.
9468         * aix-thread.c (aix_thread_resume, aix_thread_wait)
9469         (aix_thread_xfer_partial): Use scoped_restore.
9470         * inferior.h (save_inferior_ptid): Remove.
9471
9472 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9473
9474         PR tdep/21818
9475         * arm-tdep.c (gdb_print_insn_arm): Mark
9476         USER_SPECIFIED_MACHINE_TYPE if exec_bfd isn't NULL.
9477
9478 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9479
9480         * NEWS: Mention GDBserver's new option "--selftest".
9481         * Makefile.in (SFILES): Remove selftest.c, add common/selftest.c.
9482         * selftest.c: Move it to common/selftest.c.
9483         * selftest.h: Move it to common/selftest.h.
9484         * selftest-arch.c (reset): New function.
9485         (tests_with_arch): Call reset.
9486
9487 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9488
9489         * selftest.c (run_tests): Don't call QUIT.  Call debug_printf
9490         instead of exception_fprintf and printf_filtered.
9491
9492 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9493
9494         * selftest.c (register_self_test): Rename it to
9495         selftests::register_test.
9496         (run_self_tests): selftest::run_tests.
9497         * selftest.h: Update declarations.
9498         * selftest-arch.c (register_self_test_foreach_arch): Rename it to
9499         selftests::register_test_foreach_arch.
9500         * selftest-arch.h: Update declaration.
9501         * aarch64-tdep.c: Update.
9502         * arm-tdep.c: Likewise.
9503         * disasm-selftests.c: Likewise.
9504         * dwarf2loc.c: Likewise.
9505         * dwarf2-frame.c: Likewise.
9506         * findvar.c: Likewise.
9507         * gdbarch-selftests.c: Likewise.
9508         * maint.c (maintenance_selftest): Likewise.
9509         * regcache.c: Likewise.
9510         * rust-exp.y: Likewise.
9511         * selftest-arch.c: Likewise.
9512         * unittests/environ-selftests.c: Likewise.
9513         * unittests/function-view-selftests.c: Likewise.
9514         * unittests/offset-type-selftests.c: Likewise.
9515         * unittests/optional-selftests.c: Likewise.
9516         * unittests/scoped_restore-selftests.c: Likewise.
9517         * utils-selftests.c: Likewise.
9518
9519 2017-08-17  Pedro Alves  <palves@redhat.com>
9520
9521         * cli/cli-cmds.c (source_command): Delete 'old_source_verbose'
9522         local.
9523
9524 2017-08-17  Pedro Alves  <palves@redhat.com>
9525
9526         * dwarf2read.c (struct dwarf2_cu) <line_header_die_owner>: New
9527         field.
9528         (reset_die_in_process): Delete, replaced by ...
9529         (process_die_scope): ... this new class.  Make it responsible for
9530         freeing cu->line_header too.
9531         (process_die): Use process_die_scope.
9532         (handle_DW_AT_stmt_list): Record the line header's owner CU/DIE in
9533         cu->line_header_die_owner.  Don't release the line header if it's
9534         owned by the CU.
9535         (setup_type_unit_groups): Make the CU/DIE own the line header.
9536         Don't release the line header here.
9537
9538 2017-08-17  Alex Lindsay  <alexlindsay239@gmail.com>  (tiny change)
9539
9540         * elfread.c (elf_read_minimal_symbols): xfree synthsyms.
9541
9542 2017-08-17  Ruslan Kabatsayev  <b7.10110111@gmail.com>
9543
9544         * NEWS: Mention new shortcuts for nexti and stepi in TUI
9545         Single-Key mode
9546
9547 2017-08-16  Ruslan Kabatsayev  <b7.10110111@gmail.com>
9548
9549         * tui/tui.c (tui_commands): Add "nexti" and "stepi" to the Single-Key
9550         mode command list.
9551
9552 2017-08-15  Stafford Horne  <shorne@gmail.com>
9553
9554         * MAINTAINERS (Write After Approval): Add Stafford Horne.
9555
9556 2017-08-15  Stafford Horne  <shorne@gmail.com>
9557
9558         * xtensa-tdep.c (xtensa_init_reggroups): Use xstrdup for cpname.
9559
9560 2017-08-15  Sergio Durigan Junior  <sergiodj@redhat.com>
9561
9562         PR gdb/21954
9563         * infcmd.c (unset_environment_command): Use the 'clear' method on
9564         the environment instead of resetting it.
9565
9566 2017-08-15  John Baldwin  <jhb@FreeBSD.org>
9567
9568         * fbsd-nat.c (fbsd_convert_siginfo): Fix compile on big-endian
9569         platforms.
9570
9571 2017-08-14  Tom Tromey  <tom@tromey.com>
9572
9573         * valprint.c (print_octal_chars): Use HOST_CHAR_BIT.
9574         (print_binary_chars): Likewise.
9575         (BITS_IN_BYTES): Remove.
9576
9577 2017-08-14  Tom Tromey  <tom@tromey.com>
9578
9579         PR gdb/21675
9580         * valprint.c (LOW_ZERO): Change value to 034.
9581         (print_octal_chars): Add static_asserts for octal constants.
9582         * printcmd.c (print_scalar_formatted): Add 'd' case.
9583
9584 2017-08-11  Tom Tromey  <tom@tromey.com>
9585
9586         * symfile.c (add_symbol_file_command): Use std::vector.
9587
9588 2017-08-14  Tom Tromey  <tom@tromey.com>
9589
9590         * break-catch-throw.c (handle_gnu_v3_exceptions): Use std::move.
9591         * break-catch-syscall.c (create_syscall_event_catchpoint): Use
9592         std::move.
9593         * break-catch-sig.c (create_signal_catchpoint): Use std::move.
9594
9595 2017-08-11  Pedro Alves  <palves@redhat.com>
9596
9597         * infrun.c (process_event_stop_test): Adjust
9598         function_name_is_marked_for_skip call.
9599         * skip.c: Include <list>.
9600         (skiplist_entry): Make it a class with private fields, and
9601         getters/setters.
9602         (skiplist_entry_chain): Delete.
9603         (skiplist_entries): New.
9604         (skiplist_entry_count): Delete.
9605         (highest_skiplist_entry_num): New.
9606         (ALL_SKIPLIST_ENTRIES, ALL_SKIPLIST_ENTRIES_SAFE): Delete.
9607         (add_skiplist_entry): Delete.
9608         (skiplist_entry::skiplist_entry): New.
9609         (skiplist_entry::add_entry): New.
9610         (skip_file_command, skip_function): Adjust.
9611         (compile_skip_regexp): Delete.
9612         (skip_command): Don't compile regexp here.  Adjust to use
9613         skiplist_entry::add_entry.
9614         (skip_info): Adjust to use range-for and getters.
9615         (skip_enable_command, skip_disable_command): Adjust to use
9616         range-for and setters.
9617         (skip_delete_command): Adjust to use std::list.
9618         (add_skiplist_entry): Delete.
9619         (skip_file_p): Delete, refactored as ...
9620         (skiplist_entry::do_skip_file_p): ... this new method.
9621         (skip_gfile_p): Delete, refactored as ...
9622         (skiplist_entry::do_gskip_file_p): ... this new method.
9623         (skip_function_p, skip_rfunction_p): Delete, refactored as ...
9624         (skiplist_entry::skip_function_p): ... this new method.
9625         (function_name_is_marked_for_skip): Now returns bool, and takes
9626         the function sal by const reference.  Adjust to use range-for and
9627         skiplist_entry methods.
9628         (_initialize_step_skip): Remove references to
9629         skiplist_entry_chain, skiplist_entry_count.
9630         * skip.h (function_name_is_marked_for_skip): Now returns bool, and
9631         takes the function sal by const reference.
9632
9633 2017-08-11  Yao Qi  <yao.qi@linaro.org>
9634
9635         * dwarf2-frame.c (clear_pointer_cleanup): Remove.
9636         (dwarf2_frame_cache): Remove reset_cache_cleanup.
9637         (dwarf2_frame_cache):
9638         * frame-unwind.c (frame_unwind_try_unwinder): Catch
9639         RETURN_MASK_ALL and set *this_case to NULL.
9640         * frame-unwind.h: Update comments.
9641
9642 2017-08-11  Yao Qi  <yao.qi@linaro.org>
9643
9644         * dwarf2-frame.c (dwarf2_frame_state_alloc_regs): Remove.
9645         (dwarf2_frame_state_copy_regs): Remove.
9646         (dwarf2_frame_state_free_regs): Remove.
9647         (dwarf2_frame_state::~dwarf2_frame_state): Remove.
9648         (dwarf2_restore_rule): Call method .alloc_regs instead of
9649         dwarf2_frame_state_alloc_regs.
9650         (execute_cfa_program): Likewise.  Call dwarf2_frame_state_reg_info
9651         constructor.  Call std::move.
9652         (dwarf2_fetch_cfa_info): Don't call dwarf2_frame_state_copy_regs.
9653         (dwarf2_frame_cache): Likewise.
9654
9655         [GDB_SELF_TEST]: Include selftest.h and
9656         selftest-arch.h.
9657         [GDB_SELF_TEST] (execute_cfa_program_test): New function.
9658         (_initialize_dwarf2_frame) [GDB_SELF_TEST]: Register
9659         execute_cfa_program_test.
9660
9661         * dwarf2-frame.h (dwarf2_frame_state_reg_info): Add ctor, dtor,
9662         copy ctor, assignment operator, move assignment.
9663         <alloc_regs>: New method.
9664         <swap>: New method.
9665         (struct dwarf2_frame_state): Delete dtor.
9666         (dwarf2_frame_state_alloc_regs): Remove declaration.
9667         * sparc-tdep.c (sparc_execute_dwarf_cfa_vendor_op): Don't call
9668         dwarf2_frame_state_alloc_regs, use .alloc_regs instead.
9669
9670 2017-08-11  Yao Qi  <yao.qi@linaro.org>
9671
9672         * dwarf2-frame.c (dwarf2_frame_state_free): Remove.
9673         (dwarf2_frame_state::dwarf2_frame_state): New.
9674         (dwarf2_frame_state::~dwarf2_frame_state): New.
9675         (dwarf2_fetch_cfa_info): Update.
9676         (dwarf2_frame_cache): Remove old_chain.  Change 'fs' to an object
9677         rather than a pointer.  Update code.
9678         * dwarf2-frame.h (struct dwarf2_frame_state): Declare ctor and
9679         dtor.
9680         <data_align, code_align, retaddr_column>: Change them to const.
9681         <armcc_cfa_offsets_sf, armcc_cfa_offsets_reversed>: Change them
9682         to bool.
9683
9684 2017-08-11  Yao Qi  <yao.qi@linaro.org>
9685
9686         * dwarf2-frame.h (struct dwarf2_frame_state_reg) <exp_len>: Remove.
9687         <loc.exp>: New field.
9688         * dwarf2-frame.c (execute_cfa_program): Update.
9689         (dwarf2_frame_prev_register): Update.
9690
9691 2017-08-10  Pedro Alves  <palves@redhat.com>
9692
9693         * common/gdb_unique_ptr.h (xfree_deleter<T[]>): Define.
9694
9695 2017-08-09  John Baldwin  <jhb@FreeBSD.org>
9696
9697         * fbsd-nat.c (struct fbsd_fork_info): Remove.
9698         (fbsd_pending_children): Use std::list.
9699         (fbsd_remember_child): Likewise.
9700         (fbsd_is_child_pending): Likewise.
9701         (fbsd_pending_vfork_done): Use std::forward_list.
9702         (fbsd_add_vfork_done): Likewise.
9703         (fbsd_is_vfork_done_pending): Likewise.
9704         (fbsd_next_vfork_done): Likewise.
9705
9706 2017-08-09  John Baldwin  <jhb@FreeBSD.org>
9707
9708         * fbsd-nat.c [HAVE_KINFO_GETVMMAP] (struct free_deleter): New.
9709         (fbsd_find_memory_regions): Use free_deleter with std::unique_ptr.
9710         [!HAVE_KINFO_GETVMMAP] (fbsd_find_memory_regions): Use std::string
9711         for `mapfilename'.
9712         (fbsd_xfer_partial): Use gdb::byte_vector.
9713         (fbsd_add_threads): Use gdb::unique_xmalloc_ptr.
9714
9715 2017-08-09  John Baldwin  <jhb@FreeBSD.org>
9716
9717         * fbsd-nat.c: [!HAVE_KINFO_GETVMMAP]: Include <sys/user.h> and
9718         "filestuff.h".
9719         (fbsd_find_memory_regions): Fix `mapfile' initialization.
9720
9721 2017-08-09  Tom Tromey  <tom@tromey.com>
9722
9723         * skip.c (skiplist_entry): New constructor.
9724         (skiplist_entry::enabled, skiplist_entry::function_is_regexp)
9725         (skiplist_entry::file_is_glob): Now bool.
9726         (skiplist_entry::file, skiplist_entry::function): Now
9727         std::string.
9728         (make_skip_entry): Return a unique_ptr.  Use new.
9729         (free_skiplist_entry, free_skiplist_entry_cleanup)
9730         (make_free_skiplist_entry_cleanup): Remove.
9731         (skip_command, skip_disable_command, add_skiplist_entry)
9732         (skip_form_bytes, compile_skip_regexp, skip_command, skip_info)
9733         (skip_file_p, skip_gfile_p, skip_function_p, skip_rfunction_p)
9734         (function_name_is_marked_for_skip): Update.
9735         (skip_delete_command): Update.  Use delete.
9736
9737 2017-08-09  Jiong Wang  <jiong.wang@arm.com>
9738
9739         * aarch64-linux-tdep.c: Include "auxv.h" and "elf/common.h".
9740         (aarch64_linux_core_read_description): New function.
9741         (aarch64_linux_init_abi): Register gdbarch_core_read_description.
9742
9743 2017-08-09  Pedro Alves  <palves@redhat.com>
9744
9745         * cp-name-parser.y (cp_comp_to_string): Return a
9746         gdb::unique_xmalloc_ptr<char>.
9747         * cp-support.c (replace_typedefs_qualified_name)
9748         (replace_typedefs): Adjust to use gdb::unique_xmalloc_ptr<char>.
9749         (cp_canonicalize_string_full): Use op= instead of explicit
9750         convertion.
9751         (cp_class_name_from_physname, method_name_from_physname)
9752         (cp_func_name, cp_remove_params): Adjust to use
9753         gdb::unique_xmalloc_ptr<char>.
9754         * cp-support.h (cp_comp_to_string): Return a
9755         gdb::unique_xmalloc_ptr<char>.
9756         * python/py-type.c (typy_lookup_type): Adjust to use
9757         gdb::unique_xmalloc_ptr<char>.
9758
9759 2017-08-09  H.J. Lu  <hongjiu.lu@intel.com>
9760
9761         * dwarf2read.c (dwarf2_string_attr): Fix a typo.
9762
9763 2017-08-09  Alex Lindsay  <alexlindsay239@gmail.com>
9764             Yao Qi  <yao.qi@linaro.org>
9765
9766         * cp-support.c (cp_canonicalize_string_full): Use
9767         gdb::unique_xmalloc_ptr<char>.
9768         (cp_canonicalize_string): Likewise.
9769
9770 2017-08-09  Yao Qi  <yao.qi@linaro.org>
9771
9772         * features/Makefile (WHICH): Remove i386/ non-linux stuff.
9773         * regformats/i386/amd64-avx-avx512.dat: Remove.
9774         * regformats/i386/amd64-avx-mpx-avx512-pku.dat: Remove.
9775         * regformats/i386/amd64-avx-mpx.dat:Remove.
9776         * regformats/i386/amd64-avx.dat: Remove.
9777         * regformats/i386/amd64-mpx.dat: Remove.
9778         * regformats/i386/i386-avx-avx512.dat: Remove.
9779         * regformats/i386/i386-avx-mpx-avx512-pku.dat: Remove.
9780         * regformats/i386/i386-avx-mpx.dat: Remove.
9781         * regformats/i386/i386-mmx.dat: Remove.
9782         * regformats/i386/i386-mpx.dat: Remove.
9783
9784 2017-08-09  Yao Qi  <yao.qi@linaro.org>
9785
9786         * amd64-tdep.h (tdesc_x32): Remove the declaration.
9787         * amd64-tdep.c: Don't include features/i386/x32*.c.
9788         (_initialize_amd64_tdep): Don't call initialize_tdesc_x32*
9789         functions.
9790         * features/Makefile (WHICH): Remove i386/x32, i386/x32-avx,
9791         and i386/x32-avx-avx512.
9792         (XMLTOC): Remove i386/x32-avx.xml, i386/x32-avx-avx512.xml,
9793         and i386/x32.xml.
9794         * features/i386/x32-avx-avx512.c: Removed.
9795         * features/i386/x32-avx-avx512.xml: Removed.
9796         * features/i386/x32-avx.c: Removed.
9797         * features/i386/x32-avx.xml: Removed.
9798         * features/i386/x32.c: Removed.
9799         * features/i386/x32.xml: Removed.
9800         * regformats/i386/x32-avx-avx512.dat: Removed.
9801         * regformats/i386/x32-avx.dat: Removed.
9802         * regformats/i386/x32.dat: Removed.
9803
9804 2017-08-07  Maciej W. Rozycki  <macro@imgtec.com>
9805
9806         PR breakpoints/21886
9807         * mem-break.c (default_memory_insert_breakpoint): Use
9808         `->placed_address' rather than `->reqstd_address' for the
9809         breakpoint location.
9810
9811 2017-08-07  Maciej W. Rozycki  <macro@imgtec.com>
9812
9813         * arch-utils.c (default_print_insn): Remove arch/mach/endian
9814         assertions.
9815
9816 2017-08-07  Maciej W. Rozycki  <macro@imgtec.com>
9817
9818         * gdbarch.sh (gdbarch_info): Replace the `tdep_info' member with
9819         a union of `tdep_info', `tdesc_data' and `id'.
9820         * aarch64-tdep.c (aarch64_gdbarch_init): Use `info.tdesc_data'
9821         rather than `info.tdep_info'.
9822         * amd64-linux-tdep.c (amd64_linux_init_abi): Likewise.
9823         * i386-linux-tdep.c (i386_linux_init_abi): Likewise.
9824         * i386-tdep.c (i386_gdbarch_init): Likewise.
9825         * mips-linux-tdep.c (mips_linux_init_abi): Likewise.
9826         * mips-tdep.c (mips_gdbarch_init): Likewise.
9827         * nds32-tdep.c (nds32_gdbarch_init): Likewise.
9828         * rs6000-tdep.c (rs6000_gdbarch_init): Likewise.
9829         * ppc-linux-tdep.c (ppu2spu_sniffer): Use `info.id' rather than
9830         `info.tdep_info'.
9831         (ppc_linux_init_abi): Use `info.tdesc_data' rather than
9832         `info.tdep_info'.
9833         * sparc-tdep.c (sparc32_gdbarch_init): Likewise.
9834         * spu-multiarch.c (spu_gdbarch): Use `info.id' rather than
9835         `info.tdep_info'.
9836         * spu-tdep.c (spu_gdbarch_init): Likewise.
9837         * gdbarch.h: Regenerate.
9838
9839 2017-08-07  Leszek Swirski  <leszeks@google.com>
9840
9841         PR symtab/20899
9842         * dwarf2read.c (dwarf2_string_attr): Allow DW_FORM_GNU_strp_alt.
9843
9844 2017-08-07  Simon Marchi  <simon.marchi@ericsson.com>
9845
9846         * remote-sim.c (gdbsim_load): Remove char **argv local variable.
9847         (gdbsim_open): Rename gdb_argv args object to argv.
9848
9849 2017-08-05  Tom Tromey  <tom@tromey.com>
9850
9851         * compile/compile-object-load.c (compile_object_load): Use
9852         gdb::unique_xmalloc_ptr.
9853         * cli/cli-dump.c (scan_filename): Rename from
9854         scan_filename_with_cleanup.  Change return type.
9855         (scan_expression): Rename from scan_expression_with_cleanup.
9856         Change return type.
9857         (dump_memory_to_file, dump_value_to_file, restore_command):
9858         Use gdb::unique_xmalloc_ptr.  Update.
9859         * cli/cli-cmds.c (find_and_open_script): Use
9860         gdb::unique_xmalloc_ptr.
9861         * tracefile-tfile.c (tfile_open): Use gdb::unique_xmalloc_ptr.
9862         * symmisc.c (maintenance_print_symbols)
9863         (maintenance_print_msymbols): Use gdb::unique_xmalloc_ptr.
9864         * symfile.c (symfile_bfd_open, generic_load)
9865         (add_symbol_file_command, remove_symbol_file_command): Use
9866         gdb::unique_xmalloc_ptr.
9867         * source.c (openp): Use gdb::unique_xmalloc_ptr.
9868         * psymtab.c (maintenance_print_psymbols): Use
9869         gdb::unique_xmalloc_ptr.
9870         * corelow.c (core_open): Use gdb::unique_xmalloc_ptr.
9871         * breakpoint.c (save_breakpoints): Use gdb::unique_xmalloc_ptr.
9872         * solib.c (solib_map_sections): Use gdb::unique_xmalloc_ptr.
9873         (reload_shared_libraries_1): Likewise.
9874
9875 2017-08-05  Tom Tromey  <tom@tromey.com>
9876
9877         * rust-exp.y (rust_op_ptr, set_field): Remove typedefs.
9878         (rust_op_vector, rust_set_vector): New typedefs.
9879         (current_parser): New global.
9880         (work_obstack): Change to pointer type.  Update all users.
9881         (rust_ast, pstate): Remove globals.
9882         (struct rust_parser): New.
9883         (%union) <params, field_inits>: Change type.
9884         (start, tuple_expr, unit_expr, struct_expr_list, literal)
9885         (field_expr, expr_list, maybe_expr_list, type_list): Update.
9886         (ast_call_ish, ast_path, ast_function_type, ast_tuple_type)
9887         (convert_params_to_types, convert_params_to_expression): Change
9888         type of "params".
9889         (ast_string): Change type of "fields".
9890         (rust_parse): Make a rust_parser.  Remove cleanups.
9891         (rust_lex_tests): Make and install an auto_obstack.
9892
9893 2017-08-04  Yao Qi  <yao.qi@linaro.org>
9894
9895         * configure.srv (ipa_x32_linux_regobj): New.
9896         * linux-amd64-ipa.c (get_ipa_tdesc): Use X86_TDESC_AVX_AVX512
9897         instead of X86_TDESC_AVX512.
9898         (initialize_low_tracepoint): Call
9899         init_registers_x32_avx_avx512_linux.
9900
9901 2017-08-04  Yao Qi  <yao.qi@linaro.org>
9902
9903         * utils.h (gdb_argv): Add namespace std for nullptr_t.
9904
9905 2017-08-03  Ruslan Kabatsayev  <b7.10110111@gmail.com>
9906
9907         * MAINTAINERS (Write After Approval): Add Ruslan Kabatsayev.
9908
9909 2017-08-03  Tom Tromey  <tom@tromey.com>
9910
9911         * utils.c (make_cleanup_freeargv, do_freeargv, gdb_buildargv):
9912         Remove.
9913         * utils.h (make_cleanup_freeargv, gdb_buildargv): Remove.
9914
9915 2017-08-03  Tom Tromey  <tom@tromey.com>
9916
9917         * python/py-param.c (compute_enum_values): Use gdb_argv.
9918
9919 2017-08-03  Tom Tromey  <tom@tromey.com>
9920
9921         * utils.h (struct gdb_argv_deleter): New.
9922         (gdb_argv): New class.
9923         * utils.c (gdb_argv::reset): New method.
9924         * tracepoint.c (delete_trace_variable_command): Use gdb_argv.
9925         * tracefile.c (tsave_command): Use gdb_argv.
9926         * top.c (new_ui_command): Use gdb_argv.
9927         * symmisc.c (maintenance_print_symbols)
9928         (maintenance_print_msymbols, maintenance_expand_symtabs): Use gdb_argv.
9929         * symfile.c (symbol_file_command, generic_load)
9930         (remove_symbol_file_command): Use gdb_argv.
9931         * stack.c (backtrace_command): Use gdb_argv.
9932         * source.c (add_path, show_substitute_path_command)
9933         (unset_substitute_path_command, set_substitute_path_command):
9934         Use gdb_argv.
9935         * skip.c (skip_command): Use gdb_argv.  Use gdb_buildargv.
9936         * ser-mingw.c (pipe_windows_open): Use gdb_argv.
9937         * remote.c (extended_remote_run, remote_put_command)
9938         (remote_get_command, remote_delete_command): Use gdb_argv.
9939         * remote-sim.c (gdbsim_load, gdbsim_create_inferior)
9940         (gdbsim_open): Use gdb_argv.
9941         * python/py-cmd.c (gdbpy_string_to_argv): Use gdb_argv.
9942         * psymtab.c (maintenance_print_psymbols): Use gdb_argv.
9943         * procfs.c (procfs_info_proc): Use gdb_argv.
9944         * interps.c (interpreter_exec_cmd): Use gdb_argv.
9945         * infrun.c (handle_command): Use gdb_argv.
9946         * inferior.c (add_inferior_command, clone_inferior_command):
9947         Use gdb_argv.
9948         * guile/scm-string.c (gdbscm_string_to_argv): Use gdb_argv.
9949         * exec.c (exec_file_command): Use gdb_argv.
9950         * cli/cli-cmds.c (alias_command): Use gdb_argv.
9951         * compile/compile.c (build_argc_argv): Use gdb_argv.
9952
9953 2017-08-03  Tom Tromey  <tom@tromey.com>
9954
9955         * python/python.c (gdbpy_decode_line): Use unique_xmalloc_ptr.
9956
9957 2017-08-03  Tom Tromey  <tom@tromey.com>
9958
9959         * python/python.c (compute_python_string): Return std::string.
9960         (gdbpy_eval_from_control_command): Update.
9961         (do_start_initialization): Use std::string.
9962         * python/py-varobj.c (py_varobj_iter_next): Use string_printf, not
9963         xstrprintf.
9964         * python/py-breakpoint.c (local_setattro): Use string_printf, not
9965         xstrprintf.
9966
9967 2017-08-03  Tom Tromey  <tom@tromey.com>
9968
9969         * top.h (do_restore_instream_cleanup): Remove.
9970         * top.c (do_restore_instream_cleanup): Remove.
9971         (read_command_file): Use scoped_restore.
9972         * cli/cli-script.c (execute_user_command): Use scoped_restore.
9973
9974 2017-08-03  Tom Tromey  <tom@tromey.com>
9975
9976         * cli/cli-script.c (execute_user_command)
9977         (execute_control_command): Use scoped_restore.
9978
9979 2017-08-03  Tom Tromey  <tom@tromey.com>
9980
9981         * cli/cli-script.c (do_restore_user_call_depth): Remove.
9982         (execute_user_command): Remove user_call_depth; use
9983         user_args_stack's size instead.
9984
9985 2017-08-03  Tom Tromey  <tom@tromey.com>
9986
9987         * top.h (in_user_command): Remove.
9988         * top.c (in_user_command): Remove.
9989         * cli/cli-script.c (do_restore_user_call_depth)
9990         (execute_user_command): Update.
9991
9992 2017-08-03  Tom Tromey  <tom@tromey.com>
9993
9994         * valops.c (search_struct_method): Use gdb::byte_vector.
9995         * valarith.c (value_concat): Use std::vector.
9996         * target.c (memory_xfer_partial): Use gdb::byte_vector.
9997         (simple_search_memory): Likewise.
9998         * printcmd.c (find_string_backward): Use gdb::byte_vector.
9999         * mi/mi-main.c (mi_cmd_data_write_memory): Use gdb::byte_vector.
10000         * gcore.c (gcore_copy_callback): Use gdb::byte_vector.
10001         * elfread.c (elf_rel_plt_read): Use std::string.
10002         * cp-valprint.c (cp_print_value): Use gdb::byte_vector.
10003         * cli/cli-dump.c (restore_section_callback): Use
10004         gdb::byte_vector.
10005
10006 2017-08-03  Tom Tromey  <tom@tromey.com>
10007
10008         * jit.c (jit_reader_load_command): Use unique_xmalloc_ptr.
10009
10010 2017-08-03  Tom Tromey  <tom@tromey.com>
10011
10012         * tui/tui-regs.c (tui_restore_gdbout): Remove.
10013         (tui_register_format): Use scoped_restore.
10014
10015 2017-08-03  Tom Tromey  <tom@tromey.com>
10016
10017         * reverse.c (exec_direction_default): Remove.
10018         (exec_reverse_once): Use scoped_restore.
10019         * remote.c (restore_remote_timeout): Remove.
10020         (remote_flash_erase, remote_flash_write, remote_flash_done)
10021         (readchar, remote_serial_write): Use scoped_restore.
10022         * cli/cli-script.c (struct source_cleanup_lines_args)
10023         (source_cleanup_lines): Remove.
10024         (script_from_file): Use scoped_restore.
10025         * cli/cli-cmds.c (source_verbose_cleanup): Remove.
10026         (source_command): Use scoped_restore.
10027
10028 2017-08-03  Tom Tromey  <tom@tromey.com>
10029
10030         * utils.h (make_cleanup_free_so): Remove.
10031         * utils.c (do_free_so, make_cleanup_free_so): Remove.
10032         * solist.h (struct so_deleter): New.
10033         (so_list_up): New typedef.
10034         * solib-svr4.c (svr4_read_so_list): Use so_list_up.
10035
10036 2017-08-03  Tom Tromey  <tom@tromey.com>
10037
10038         * utils.h (make_cleanup_restore_current_language): Remove.
10039         * utils.c (do_restore_current_language)
10040         (make_cleanup_restore_current_language): Remove.
10041         * parse.c (parse_exp_in_context_1)
10042         (parse_expression_with_language): Use
10043         scoped_restore_current_language.
10044         * mi/mi-main.c (mi_cmd_execute): Use
10045         scoped_restore_current_language.
10046         * language.h (scoped_restore_current_language): New class.
10047
10048 2017-08-03  Tom Tromey  <tom@tromey.com>
10049
10050         * compile/compile.c (cleanup_unlink_file): Remove.
10051         (compile_to_object): Use gdb::unlinker.
10052         (eval_compile_command): Likewise.
10053
10054 2017-08-03  Tom Tromey  <tom@tromey.com>
10055
10056         * utils.h (make_cleanup_fclose): Remove.
10057         * utils.c (do_fclose_cleanup, make_cleanup_fclose): Remove.
10058
10059 2017-08-03  Tom Tromey  <tom@tromey.com>
10060
10061         * top.c (open_terminal_stream): Return gdb_file_up.
10062         (new_ui_command): Update.
10063
10064 2017-08-03  Tom Tromey  <tom@tromey.com>
10065
10066         * source.c (print_source_lines_base, forward_search_command)
10067         (reverse_search_command): Use gdb_file_up.
10068
10069 2017-08-03  Tom Tromey  <tom@tromey.com>
10070
10071         * fbsd-nat.c (fbsd_find_memory_regions): Update.
10072
10073 2017-08-03  Tom Tromey  <tom@tromey.com>
10074
10075         * cli/cli-cmds.c (find_and_open_script): Change return type.
10076         Remove "streamp" and "full_path" parameters.
10077         (source_script_with_search): Update.
10078         * auto-load.c (source_script_file): Update.
10079         * cli/cli-cmds.h (find_and_open_script): Change type.
10080         (open_script): New struct.
10081
10082 2017-08-03  Tom Tromey  <tom@tromey.com>
10083
10084         * xml-support.c (xml_fetch_content_from_file): Update.
10085         * ui-file.c (stdio_file::open): Update.
10086         * tracefile-tfile.c (tfile_start): Update.
10087         * remote.c (remote_file_put, remote_file_get): Update.
10088         * nat/linux-procfs.c (linux_proc_get_int)
10089         (linux_proc_pid_get_state, linux_proc_tid_get_name): Update.
10090         * nat/linux-osdata.c (linux_common_core_of_thread): Update.
10091         (command_from_pid, commandline_from_pid, linux_xfer_osdata_cpus)
10092         (print_sockets, linux_xfer_osdata_shm, linux_xfer_osdata_sem)
10093         (linux_xfer_osdata_msg, linux_xfer_osdata_modules): Update.
10094         * nat/linux-btrace.c (linux_determine_kernel_start): Update.
10095         * linux-nat.c (linux_proc_pending_signals): Update.
10096         * dwarf2read.c (write_psymtabs_to_index): Use gdb_file_up.
10097         (file_closer): Remove.
10098         * compile/compile.c (compile_to_object): Update.
10099         * common/filestuff.h (struct gdb_file_deleter): New.
10100         (gdb_file_up): New typedef.
10101         (gdb_fopen_cloexec): Change return type.
10102         * common/filestuff.c (gdb_fopen_cloexec): Return gdb_file_up.
10103         * cli/cli-dump.c (fopen_with_cleanup): Remove.
10104         (dump_binary_file, restore_binary_file): Update.
10105         * auto-load.c (auto_load_objfile_script_1): Update.
10106
10107 2017-08-03  Tom Tromey  <tom@tromey.com>
10108
10109         * tracepoint.c (tvariables_info_1): Use ui_out_emit_table.
10110         (info_static_tracepoint_markers_command): Likewise.
10111         * solib.c (info_sharedlibrary_command): Use ui_out_emit_table.
10112         * skip.c (skip_info): Use ui_out_emit_table.
10113         * progspace.c (print_program_space): Use ui_out_emit_table.
10114         * osdata.c (info_osdata): Use ui_out_emit_table.
10115         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions): Use
10116         ui_out_emit_table.
10117         * linux-thread-db.c (info_auto_load_libthread_db): Use
10118         ui_out_emit_table.
10119         * inferior.c (print_inferior): Use ui_out_emit_table.
10120         * gdb_bfd.c (maintenance_info_bfds): Use ui_out_emit_table.
10121         * breakpoint.c (breakpoint_1): Use ui_out_emit_table.
10122         * auto-load.c (auto_load_info_scripts): Use ui_out_emit_table.
10123         * ada-tasks.c (print_ada_task_info): Use ui_out_emit_table.
10124         * ui-out.h (class ui_out_emit_table): New.
10125
10126 2017-08-02  Maciej W. Rozycki  <macro@imgtec.com>
10127
10128         * mips-tdep.c (mips_fpu_type_str): New function.
10129         (mips_dump_tdep): Call it.
10130
10131 2017-08-01  Maciej W. Rozycki  <macro@imgtec.com>
10132
10133         * mips-tdep.c (mips_gdbarch_init): Use MIPS_FPU_TYPE to access
10134         `->mips_fpu_type'.
10135
10136 2017-07-31  Xavier Roirand  <roirand@adacore.com>
10137
10138         * solib-darwin.c (DYLD_VERSION_MAX): Increase value.
10139
10140 2017-07-27  Xavier Roirand  <roirand@adacore.com>
10141
10142         * MAINTAINERS (Write After Approval): Add Xavier Roirand.
10143
10144 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10145
10146         * cli/cli-cmds.c (maintenancechecklist): New variable.
10147         * gdbcmd.h (maintenancechecklist): Declare it.
10148         * i386-linux-tdep.c (_initialize_i386_linux_tdep) [GDB_SELF_TEST]:
10149         Call i386_linux_read_description with different masks.
10150         * maint.c (maintenance_check_command): New function.
10151         (_initialize_maint_cmds): Call add_prefix_cmd.
10152         * target-descriptions.c (tdesc_reg): override operator != and ==.
10153         (tdesc_type): Likewise.
10154         (tdesc_feature): Likewise.
10155         (target_desc): Likewise.
10156         [GDB_SELF_TEST] (selftests::record_xml_tdesc): New function.
10157         (maintenance_check_xml_descriptions): New function.
10158         (_initialize_target_descriptions) Add command "xml-descriptions".
10159         * target-descriptions.h (selftests::record_xml_tdesc): Declare.
10160
10161 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10162
10163         * i386-linux-tdep.c: Don't include features/i386/i386-*linux.c.
10164         Include features/i386/32bit-*.c.
10165         (i386_linux_read_description): Generate target description if it
10166         doesn't exist.
10167         (_initialize_i386_linux_tdep): Don't call _initialize_tdesc_i386
10168         functions.
10169         * features/i386/32bit-linux.c: Re-generated.
10170         * features/i386/32bit-sse.c: Likewise.
10171         * target-descriptions.c (print_c_feature::visit): Print code to
10172         set register number if needed.
10173         (print_c_feature) <m_next_regnum>: New field.
10174
10175 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10176
10177         * features/Makefile (CFILES): Rename with TDESC_CFILES.
10178         (FEATURE_XMLFILES): New.
10179         (FEATURE_CFILES): New.
10180         New rules.
10181         (clean-cfiles): Remove generated c files.
10182         * features/i386/32bit-avx.c: Generated.
10183         * features/i386/32bit-avx512.c: Generated.
10184         * features/i386/32bit-core.c: Generated.
10185         * features/i386/32bit-linux.c: Generated.
10186         * features/i386/32bit-mpx.c: Generated.
10187         * features/i386/32bit-pkeys.c: Generated.
10188         * features/i386/32bit-sse.c: Generated.
10189         * target-descriptions.c: Include algorithm.
10190         (tdesc_element_visitor): Add method visit_end.
10191         (print_c_tdesc): Implement visit_end.
10192         (print_c_tdesc:: m_filename_after_features): Move it to
10193         protected.
10194         (print_c_feature): New class.
10195         (maint_print_c_tdesc_cmd): Use print_c_feature if XML file
10196         name starts with "i386/32bit-".
10197
10198 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10199
10200         * target-descriptions.c (tdesc_element_visitor): New class.
10201         (tdesc_element): New class.
10202         (tdesc_reg): Inherit from tdesc_element.
10203         (tdesc_reg::accept): New function.
10204         (tdesc_type): Inherit from tdesc_element.
10205         (tdesc_type::accept): New function.
10206         (tdesc_feature): Inherit from tdesc_element.
10207         (tdesc_feature::accept): New function.
10208         (target_desc): Inherit from tdesc_element.
10209         (target_desc::target_desc): New.
10210         (target_desc::~target_desc): New.
10211         (target_desc::accept): New.
10212         (allocate_target_description): Use new.
10213         (free_target_description): Use delete.
10214         (print_c_tdesc): New class.
10215         (maint_print_c_tdesc_cmd): Adjust.
10216
10217         * features/aarch64.c: Re-generated.
10218         * features/arc-arcompact.c: Re-generated.
10219         * features/arc-v2.c: Re-generated.
10220         * features/arm/arm-with-iwmmxt.c: Re-generated.
10221         * features/arm/arm-with-m.c: Re-generated.
10222         * features/arm/arm-with-m-fpa-layout.c: Re-generated.
10223         * features/arm/arm-with-m-vfp-d16.c: Re-generated.
10224         * features/arm/arm-with-neon.c: Re-generated.
10225         * features/arm/arm-with-vfpv2.c: Re-generated.
10226         * features/arm/arm-with-vfpv3.c: Re-generated.
10227         * features/i386/amd64-avx-avx512.c: Re-generated.
10228         * features/i386/amd64-avx-avx512-linux.c: Re-generated.
10229         * features/i386/amd64-avx.c: Re-generated.
10230         * features/i386/amd64-avx-linux.c: Re-generated.
10231         * features/i386/amd64-avx-mpx-avx512-pku.c: Re-generated.
10232         * features/i386/amd64-avx-mpx-avx512-pku-linux.c: Re-generated.
10233         * features/i386/amd64-avx-mpx.c: Re-generated.
10234         * features/i386/amd64-avx-mpx-linux.c: Re-generated.
10235         * features/i386/amd64.c: Re-generated.
10236         * features/i386/amd64-linux.c: Re-generated.
10237         * features/i386/amd64-mpx.c: Re-generated.
10238         * features/i386/amd64-mpx-linux.c: Re-generated.
10239         * features/i386/i386-avx-avx512.c: Re-generated.
10240         * features/i386/i386-avx-avx512-linux.c: Re-generated.
10241         * features/i386/i386-avx.c: Re-generated.
10242         * features/i386/i386-avx-linux.c: Re-generated.
10243         * features/i386/i386-avx-mpx-avx512-pku.c: Re-generated.
10244         * features/i386/i386-avx-mpx-avx512-pku-linux.c: Re-generated.
10245         * features/i386/i386-avx-mpx.c: Re-generated.
10246         * features/i386/i386-avx-mpx-linux.c: Re-generated.
10247         * features/i386/i386.c: Re-generated.
10248         * features/i386/i386-linux.c: Re-generated.
10249         * features/i386/i386-mmx.c: Re-generated.
10250         * features/i386/i386-mmx-linux.c: Re-generated.
10251         * features/i386/i386-mpx.c: Re-generated.
10252         * features/i386/i386-mpx-linux.c: Re-generated.
10253         * features/i386/x32-avx-avx512.c: Re-generated.
10254         * features/i386/x32-avx-avx512-linux.c: Re-generated.
10255         * features/i386/x32-avx.c: Re-generated.
10256         * features/i386/x32-avx-linux.c: Re-generated.
10257         * features/i386/x32.c: Re-generated.
10258         * features/i386/x32-linux.c: Re-generated.
10259         * features/microblaze.c: Re-generated.
10260         * features/microblaze-with-stack-protect.c: Re-generated.
10261         * features/mips64-dsp-linux.c: Re-generated.
10262         * features/mips64-linux.c: Re-generated.
10263         * features/mips-dsp-linux.c: Re-generated.
10264         * features/mips-linux.c: Re-generated.
10265         * features/nds32.c: Re-generated.
10266         * features/nios2.c: Re-generated.
10267         * features/nios2-linux.c: Re-generated.
10268         * features/rs6000/powerpc-32.c: Re-generated.
10269         * features/rs6000/powerpc-32l.c: Re-generated.
10270         * features/rs6000/powerpc-403.c: Re-generated.
10271         * features/rs6000/powerpc-403gc.c : Re-generated.
10272         * features/rs6000/powerpc-405.c: Re-generated.
10273         * features/rs6000/powerpc-505.c: Re-generated.
10274         * features/rs6000/powerpc-601.c: Re-generated.
10275         * features/rs6000/powerpc-602.c: Re-generated.
10276         * features/rs6000/powerpc-603.c: Re-generated.
10277         * features/rs6000/powerpc-604.c: Re-generated.
10278         * features/rs6000/powerpc-64.c: Re-generated.
10279         * features/rs6000/powerpc-64l.c: Re-generated.
10280         * features/rs6000/powerpc-7400.c: Re-generated.
10281         * features/rs6000/powerpc-750.c: Re-generated.
10282         * features/rs6000/powerpc-860.c: Re-generated.
10283         * features/rs6000/powerpc-altivec32.c: Re-generated.
10284         * features/rs6000/powerpc-altivec32l.c: Re-generated.
10285         * features/rs6000/powerpc-altivec64.c: Re-generated.
10286         * features/rs6000/powerpc-altivec64l.c: Re-generated.
10287         * features/rs6000/powerpc-cell32l.c: Re-generated.
10288         * features/rs6000/powerpc-cell64l.c: Re-generated.
10289         * features/rs6000/powerpc-e500.c: Re-generated.
10290         * features/rs6000/powerpc-e500l.c: Re-generated.
10291         * features/rs6000/powerpc-isa205-32l.c: Re-generated.
10292         * features/rs6000/powerpc-isa205-64l.c: Re-generated.
10293         * features/rs6000/powerpc-isa205-altivec32l.c: Re-generated.
10294         * features/rs6000/powerpc-isa205-altivec64l.c: Re-generated.
10295         * features/rs6000/powerpc-isa205-vsx32l.c: Re-generated.
10296         * features/rs6000/powerpc-isa205-vsx64l.c: Re-generated.
10297         * features/rs6000/powerpc-vsx32.c: Re-generated.
10298         * features/rs6000/powerpc-vsx32l.c: Re-generated.
10299         * features/rs6000/powerpc-vsx64.c: Re-generated.
10300         * features/rs6000/powerpc-vsx64l.c: Re-generated.
10301         * features/rs6000/rs6000.c: Re-generated.
10302         * features/s390-linux32.c: Re-generated.
10303         * features/s390-linux32v1.c: Re-generated.
10304         * features/s390-linux32v2.c: Re-generated.
10305         * features/s390-linux64.c: Re-generated.
10306         * features/s390-linux64v1.c: Re-generated.
10307         * features/s390-linux64v2.c: Re-generated.
10308         * features/s390-te-linux64.c: Re-generated.
10309         * features/s390-tevx-linux64.c: Re-generated.
10310         * features/s390-vx-linux64.c: Re-generated.
10311         * features/s390x-linux64.c: Re-generated.
10312         * features/s390x-linux64v1.c: Re-generated.
10313         * features/s390x-linux64v2.c: Re-generated.
10314         * features/s390x-te-linux64.c: Re-generated.
10315         * features/s390x-tevx-linux64.c: Re-generated.
10316         * features/s390x-vx-linux64.c: Re-generated.
10317         * features/sparc/sparc32-solaris.c: Re-generated.
10318         * features/sparc/sparc64-solaris.c: Re-generated.
10319         * features/tic6x-c62x.c: Re-generated.
10320         * features/tic6x-c62x-linux.c: Re-generated.
10321         * features/tic6x-c64x.c: Re-generated.
10322         * features/tic6x-c64x-linux.c: Re-generated.
10323         * features/tic6x-c64xp.c: Re-generated.
10324         * features/tic6x-c64xp-linux.c: Re-generated.
10325
10326 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10327
10328         * i386-linux-tdep.c (i386_linux_read_description): New function.
10329         (i386_linux_core_read_description): Call
10330         i386_linux_read_description.
10331         * i386-linux-tdep.h (i386_linux_read_description): Declare.
10332         (tdesc_i386_linux, tdesc_i386_mmx_linux): Remove declarations.
10333         (tdesc_i386_avx_linux, tdesc_i386_mpx_linux): Likewise
10334         (tdesc_i386_avx_mpx_linux, tdesc_i386_avx_avx512_linux): Likewise.
10335         (tdesc_i386_avx_mpx_avx512_pku_linux): Likewise.
10336         * x86-linux-nat.c (x86_linux_read_description): Call
10337         i386_linux_read_description.
10338
10339 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10340
10341         * NEWS: Mention it.
10342         * features/Makefile (%.c: %.xml): Pass the xml file name to
10343         command "maint print c-tdesc".
10344         * target-descriptions.c (maint_print_c_tdesc_cmd): Get file
10345         name from 'arg'.
10346
10347 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10348
10349         * target-descriptions.c (target_desc): Add ctor and dtor.  Do
10350         in-class initialization.
10351         (tdesc_create_feature): Call new instead of XCNEW.
10352         (free_target_description): Ue delete.
10353
10354 2017-07-25  John Baldwin  <jhb@FreeBSD.org>
10355
10356         * configure.nat: Add "-lkvm" for NetBSD/sparc64 and fix typo.
10357
10358 2017-07-25  Yao Qi  <yao.qi@linaro.org>
10359
10360         * amd64-tdep.c (amd64_init_abi): Make argument default_tdesc
10361         constant.
10362         (amd64_x32_init_abi): Likewise.
10363         * amd64-tdep.h (amd64_init_abi): Update declaration.
10364         (amd64_x32_init_abi): Likewise.
10365
10366 2017-07-25  Yao Qi  <yao.qi@linaro.org>
10367
10368         PR tdep/21717
10369         * arm-linux-nat.c (arm_linux_fetch_inferior_registers): Update
10370         condition for FPSCR.
10371         (arm_linux_store_inferior_registers): Likewise.
10372
10373 2017-07-22  Tom Tromey  <tom@tromey.com>
10374
10375         * break-catch-syscall.c (struct catch_syscall_inferior_data)
10376         <syscalls_counts>: Now a std::vector.
10377         (get_catch_syscall_inferior_data): Use "new".
10378         (catch_syscall_inferior_data_cleanup): Use "delete".
10379         (insert_catch_syscall, remove_catch_syscall)
10380         (clear_syscall_counts): Update.
10381
10382 2017-07-22  Tom Tromey  <tom@tromey.com>
10383
10384         * break-catch-syscall.c (syscall_catchpoint)
10385         <syscalls_to_be_caught>: Now a std::vector<int>
10386         (~syscall_catchpoint): Remove.
10387         (insert_catch_syscall, remove_catch_syscall)
10388         (breakpoint_hit_catch_syscall, print_one_catch_syscall)
10389         (print_mention_catch_syscall, print_recreate_catch_syscall):
10390         Update.
10391         (create_syscall_event_catchpoint): Change type of "filter"
10392         parameter.
10393         (catch_syscall_split_args): Return a std::vector.
10394         (catch_syscall_command_1, catching_syscall_number_1): Update.
10395
10396 2017-07-22  Tom Tromey  <tom@tromey.com>
10397
10398         * break-catch-throw.c (struct exception_catchpoint)
10399         <exception_rx>: Now a std::string.
10400         (~exception_catchpoint): Remove.
10401         (print_one_detail_exception_catchpoint): Update.
10402         (handle_gnu_v3_exceptions): Change type of except_rx.
10403         (extract_exception_regexp): Return a std::string.
10404         (catch_exception_command_1): Update.
10405
10406 2017-07-22  Tom Tromey  <tom@tromey.com>
10407
10408         * break-catch-sig.c (gdb_signal_type): Remove typedef.
10409         (struct signal_catchpoint) <signals_to_be_caught>: Now a
10410         std::vector.
10411         <catch_all>: Now a bool.
10412         (~signal_catchpoint): Remove.
10413         (signal_catchpoint_insert_location)
10414         (signal_catchpoint_remove_location)
10415         (signal_catchpoint_breakpoint_hit, signal_catchpoint_print_one)
10416         (signal_catchpoint_print_mention)
10417         (signal_catchpoint_print_recreate)
10418         (signal_catchpoint_explains_signal): Update.
10419         (create_signal_catchpoint): Change type of "filter" and
10420         "catch_all".
10421         (catch_signal_split_args): Return a std::vector.  Change type of
10422         "catch_all".
10423         (catch_signal_command): Update.
10424
10425 2017-07-20  Pedro Alves  <palves@redhat.com>
10426
10427         * ada-lang.c (ada_language_defn): Make extern.
10428         (_initialize_ada_language): Remove add_language call.
10429         * c-lang.c (c_language_defn, cplus_language_defn)
10430         (asm_language_defn, minimal_language_defn): Make extern.
10431         (_initialize_c_language): Delete.
10432         * completer.c (compare_cstrings): Delete, moved to utils.h.
10433         * d-lang.c (d_language_defn): Make extern.
10434         (_initialize_d_language): Remove add_language calls.
10435         * defs.h (enum language): Add comment.
10436         * f-lang.c (f_language_defn): Make extern.
10437         (_initialize_f_language): Remove add_language call.
10438         * go-lang.c (go_language_defn): Make extern.
10439         (_initialize_go_language): Remove add_language call.
10440         * language.c: Include <algorithm>.
10441         (languages): Redefine as const array.
10442         (languages_size, languages_allocsize, DEFAULT_ALLOCSIZE): Delete.
10443         (set_language_command): Handle "local".  Use for-range loop.
10444         (set_language): Remove loop.
10445         (language_enum): Rewrite.
10446         (language_def, language_str): Remove loops.
10447         (add_language): Delete.
10448         (add_set_language_command): New, based on add_languages.
10449         (skip_language_trampoline): Adjust.
10450         (local_language_defn): Delete.
10451         (language_gdbarch_post_init): Adjust.
10452         (_initialize_language): Remove add_language calls.  Call
10453         add_set_language_command.
10454         * language.h (add_language): Delete.
10455         (auto_language_defn)
10456         (unknown_language_defn, minimal_language_defn, ada_language_defn)
10457         (asm_language_defn, c_language_defn, cplus_language_defn)
10458         (d_language_defn, f_language_defn, go_language_defn)
10459         (m2_language_defn, objc_language_defn, opencl_language_defn)
10460         (pascal_language_defn, rust_language_defn): Declare.
10461         * m2-lang.c (m2_language_defn): Make extern.
10462         (_initialize_m2_language): Remove add_language call.
10463         * objc-lang.c (objc_language_defn): Make extern.
10464         (_initialize_objc_language): Remove add_language call.
10465         * opencl-lang.c (opencl_language_defn): Make extern.
10466         (_initialize_opencl_language): Remove add_language call.
10467         * p-lang.c (pascal_language_defn): Make extern.
10468         (_initialize_pascal_language): Delete.
10469         * rust-lang.c (rust_language_defn): Make extern.
10470         (_initialize_rust_language): Delete.
10471         * utils.h (compare_cstrings): New static inline function.
10472
10473 2017-07-20  Pedro Alves  <palves@redhat.com>
10474
10475         * ada-lang.c (ada_to_fixed_type_1): Adjust.
10476         (get_var_value): Constify parameters.
10477         (get_int_var_value): Change prototype.
10478         (to_fixed_range_type): Adjust.
10479         * ada-lang.h (get_int_var_value): Change prototype.
10480
10481 2017-07-20  Pedro Alves  <palves@redhat.com>
10482
10483         * dwarf2read.c (dw2_lookup_symbol): Use
10484         SYMBOL_MATCHES_SEARCH_NAME.
10485         * psymtab.c (psym_lookup_symbol): Use SYMBOL_MATCHES_SEARCH_NAME.
10486
10487 2017-07-20  Pedro Alves  <palves@redhat.com>
10488
10489         * block.c (block_iter_name_step, block_iter_name_first)
10490         (block_iter_name_next): Delete.
10491         (block_lookup_symbol_primary): Adjust to use
10492         dict_iter_match_first/dict_iter_match_next.
10493         * block.h (block_iter_name_first, block_iter_name_next): Delete
10494         declarations.
10495         (ALL_BLOCK_SYMBOLS_WITH_NAME): Adjust to use
10496         dict_iter_match_first/dict_iter_match_next.
10497
10498 2017-07-20  Pedro Alves  <palves@redhat.com>
10499
10500         * cp-support.c (cp_find_first_component_aux): Add missing case for
10501         end of string.
10502
10503 2017-07-18  David Blaikie  <dblaikie@gmail.com>
10504
10505         * dwarf2read.c (create_cus_hash_table): Re-add lost initialization
10506         of dwo_cu's dwo_file.
10507
10508 2017-07-18  Yao Qi  <yao.qi@linaro.org>
10509
10510         * remote.c (store_registers_using_G): Remove one line comment.
10511
10512 2017-07-18  Yao Qi  <yao.qi@linaro.org>
10513
10514         * regcache.c (regcache_cpy): Simplify it.
10515         (regcache::cpy_no_passthrough): Remove it.
10516         * regcache.h (cpy_no_passthrough): Remove it.
10517         (regcache_dup, regcache_cpy): Update comments.
10518
10519 2017-07-18  Pedro Alves  <palves@redhat.com>
10520
10521         * remote-sim.c (sim_command_completer): Adjust to work with a
10522         completion_tracker instead of a VEC.
10523
10524 2017-07-17  Pedro Alves  <palves@redhat.com>
10525
10526         * completer.c (complete_source_filenames): New function.
10527         (complete_address_and_linespec_locations): New function.
10528         (location_completer): Use complete_address_and_linespec_locations.
10529         (completion_tracker::build_completion_result): Honor the tracker's
10530         request to suppress append.
10531         * completer.h (completion_tracker::suppress_append_ws)
10532         (completion_tracker::set_suppress_append_ws): New methods.
10533         (completion_tracker::m_suppress_append_ws): New field.
10534         (complete_source_filenames): New declaration.
10535         * linespec.c (linespec_complete_what): New.
10536         (struct ls_parser) <complete_what, completion_word,
10537         completion_quote_char, completion_quote_end, completion_tracker>:
10538         New fields.
10539         (string_find_incomplete_keyword_at_end): New.
10540         (linespec_lexer_lex_string): Record quote char.  If in completion
10541         mode, don't throw.
10542         (linespec_lexer_consume_token): Advance the completion word point.
10543         (linespec_lexer_peek_token): Save/restore completion info.
10544         (save_stream_and_consume_token): New.
10545         (set_completion_after_number): New.
10546         (linespec_parse_basic): Set what to complete next depending on
10547         token.  Handle function and label completions specially.
10548         (parse_linespec): Disable objc shortcut in completion mode.  Set
10549         what to complete next depending on token type.  Skip keyword if in
10550         completion mode.
10551         (complete_linespec_component, linespec_complete): New.
10552         * linespec.h (linespec_complete): Declare.
10553
10554 2017-07-17  Pedro Alves  <palves@redhat.com>
10555
10556         * linespec.c (linespec_lexer_lex_string, find_toplevel_char):
10557         Handle 'operator<' / 'operator<<'.
10558
10559 2017-07-17  Pedro Alves  <palves@redhat.com>
10560
10561         * completer.c (collect_explicit_location_matches): Handle
10562         MATCH_LABEL.
10563         (convert_explicit_location_to_linespec): New, factored out from
10564         ...
10565         (convert_explicit_location_to_sals): ... this.
10566         (complete_label): New.
10567         (linespec_complete_label, find_label_symbols_in_block): New.
10568         (find_label_symbols): Add completion_mode parameter and adjust to
10569         call find_label_symbols_in_block.
10570         * linespec.h (linespec_complete_label): Declare.
10571
10572 2017-07-17  Pedro Alves  <palves@redhat.com>
10573
10574         * ada-lang.c (ada_collect_symbol_completion_matches): Add
10575         complete_symbol_mode parameter.
10576         * cli/cli-cmds.c (complete_command): Get the completion result out
10577         of the handle_brkchars tracker if used a custom word point.
10578         * completer.c: Include "linespec.h".
10579         (enum explicit_location_match_type) <MATCH_LINE>: New enumerator.
10580         (advance_to_expression_complete_word_point): New.
10581         (completion_tracker::completes_to_completion_word): New.
10582         (complete_files_symbols): Pass down
10583         complete_symbol_mode::EXPRESSION.
10584         (explicit_options, probe_options): New.
10585         (collect_explicit_location_matches): Complete on the
10586         explictit_loc->foo instead of word.  Use
10587         linespec_complete_function.  Handle MATCH_LINE.  Handle offering
10588         keyword and options completions.
10589         (backup_text_ptr): Delete.
10590         (skip_keyword): New.
10591         (complete_explicit_location): Remove 'word' parameter.  Add
10592         language, quoted_arg_start and quoted_arg_end parameters.
10593         Rewrite, parsing left to right.
10594         (location_completer): Rewrite.
10595         (location_completer_handle_brkchars): New function.
10596         (symbol_completer): Pass down complete_symbol_mode::EXPRESSION.
10597         (enum complete_line_internal_reason): Adjust comments.
10598         (completion_tracker::discard_completions): New.
10599         (completer_handle_brkchars_func_for_completer): Handle
10600         location_completer.
10601         (gdb_custom_word_point_brkchars)
10602         (gdb_org_rl_basic_quote_characters): New.
10603         (gdb_completion_word_break_characters_throw)
10604         (completion_find_completion_word): Handle trackers that use a
10605         custom word point.
10606         (completion_tracker::advance_custom_word_point_by): New.
10607         (completion_tracker::build_completion_result): Don't rely on
10608         readline appending the quote char.
10609         (gdb_rl_attempted_completion_function_throw): Handle trackers that
10610         use a custom word point.
10611         (gdb_rl_attempted_completion_function): Restore
10612         rl_basic_quote_characters.
10613         * completer.h (class completion_tracker): Extend intro comment.
10614         (completion_tracker::set_quote_char)
10615         (completion_tracker::quote_char)
10616         (completion_tracker::set_use_custom_word_point)
10617         (completion_tracker::use_custom_word_point)
10618         (completion_tracker::custom_word_point)
10619         (completion_tracker::set_custom_word_point)
10620         (completion_tracker::advance_custom_word_point_by)
10621         (completion_tracker::completes_to_completion_word)
10622         (completion_tracker::discard_completions): New methods.
10623         (completion_tracker::m_quote_char)
10624         (completion_tracker::m_use_custom_word_point)
10625         (completion_tracker::m_custom_word_point): New fields.
10626         (advance_to_expression_complete_word_point): Declare.
10627         * f-lang.c (f_collect_symbol_completion_matches): Add
10628         complete_symbol_mode parameter.
10629         * language.h (struct language_defn)
10630         <la_collect_symbol_completion_matches>: Add complete_symbol_mode
10631         parameter.
10632         * linespec.c (linespec_keywords): Add NULL terminator.  Make extern.
10633         (linespec_complete_function): New function.
10634         (linespec_lexer_lex_keyword): Adjust.
10635         * linespec.h (linespec_keywords, linespec_complete_function): New
10636         declarations.
10637         * location.c (find_end_quote): New function.
10638         (explicit_location_lex_one): Add explicit_completion_info
10639         parameter.  Save quoting info.  Don't throw if being called for
10640         completion.  Don't handle Ada operators here.
10641         (is_cp_operator, skip_op_false_positives, first_of)
10642         (explicit_location_lex_one_function): New function.
10643         (string_to_explicit_location): Replace 'dont_throw' parameter with
10644         an explicit_completion_info pointer parameter.  Handle it.  Don't
10645         use explicit_location_lex_one to lex function names.  Use
10646         explicit_location_lex_one_function instead.
10647         * location.h (struct explicit_completion_info): New.
10648         (string_to_explicit_location): Replace 'dont_throw' parameter with
10649         an explicit_completion_info pointer parameter.
10650         * symtab.c (default_collect_symbol_completion_matches_break_on):
10651         Add complete_symbol_mode parameter.  Handle LINESPEC mode.
10652         (default_collect_symbol_completion_matches)
10653         (collect_symbol_completion_matches): Add complete_symbol_mode
10654         parameter.
10655         (collect_symbol_completion_matches_type): Pass down
10656         complete_symbol_mode::EXPRESSION.
10657         (collect_file_symbol_completion_matches): Add complete_symbol_mode
10658         parameter.  Handle LINESPEC mode.
10659         * symtab.h (complete_symbol_mode): New.
10660         (default_collect_symbol_completion_matches_break_on)
10661         (default_collect_symbol_completion_matches)
10662         (collect_symbol_completion_matches)
10663         (collect_file_symbol_completion_matches): Add complete_symbol_mode
10664         parameter.
10665
10666 2017-07-17  Pedro Alves  <palves@redhat.com>
10667
10668         * utils.c (enum class strncmp_iw_mode): New.
10669         (strcmp_iw): Rename to ...
10670         (strncmp_iw_with_mode): ... this.  Add string2_len and mode
10671         parameters.  Handle them.
10672         (strncmp_iw): New.
10673         (strcmp_iw): Reimplement as wrapper around strncmp_iw_with_mode.
10674         * utils.h (strncmp_iw): Declare.
10675         (strcmp_iw): Move describing comments here.
10676
10677 2017-07-17  Pedro Alves  <palves@redhat.com>
10678
10679         * c-exp.y (operator_stoken): Use CP_OPERATOR_LEN and
10680         CP_OPERATOR_STR.
10681         * c-typeprint.c (is_type_conversion_operator): Use
10682         CP_OPERATOR_STR.
10683         * cp-support.c (LENGTH_OF_OPERATOR): Delete.
10684         (cp_find_first_component_aux): Use CP_OPERATOR_STR and
10685         CP_OPERATOR_LEN.
10686         * cp-support.h (CP_OPERATOR_STR, CP_OPERATOR_LEN): New.
10687         * gnu-v2-abi.c (gnuv2_is_operator_name): Use CP_OPERATOR_STR.
10688         * gnu-v3-abi.c (gnuv3_is_operator_name): Use CP_OPERATOR_STR.
10689         * linespec.c (linespec_lexer_lex_string): Use CP_OPERATOR_LEN and
10690         CP_OPERATOR_STR.
10691         * location.c: Include "cp-support.h".
10692         (explicit_location_lex_one): Use CP_OPERATOR_LEN and
10693         CP_OPERATOR_STR.
10694         * symtab.c (operator_chars): Use CP_OPERATOR_STR and
10695         CP_OPERATOR_LEN.
10696
10697 2017-07-17  Pedro Alves  <palves@redhat.com>
10698
10699         * cli/cli-cmds.c (complete_command): Use a completion tracker
10700         along with completion_find_completion_word for handle_brkchars
10701         phase.
10702         * completer.c (RL_QF_SINGLE_QUOTE, RL_QF_DOUBLE_QUOTE)
10703         (RL_QF_BACKSLASH, RL_QF_OTHER_QUOTE): New.
10704         (struct gdb_rl_completion_word_info): New.
10705         (gdb_rl_find_completion_word): New.
10706         (completion_find_completion_word): New.
10707         * completer.h (completion_find_completion_word): Declare.
10708
10709 2017-07-17  Pedro Alves  <palves@redhat.com>
10710
10711         * ada-lang.c (symbol_completion_match): Adjust comments.
10712         (symbol_completion_add): Replace vector parameter with
10713         completion_tracker parameter.  Use it.
10714         (ada_make_symbol_completion_list): Rename to...
10715         (ada_collect_symbol_completion_matches): ... this.  Add
10716         completion_tracker parameter and use it.
10717         (ada_language_defn): Adjust.
10718         * break-catch-syscall.c (catch_syscall_completer): Adjust
10719         prototype and work with completion_tracker instead of VEC.
10720         * breakpoint.c (condition_completer): Adjust prototype and work
10721         with completion_tracker instead of VEC.
10722         * c-lang.c (c_language_defn, cplus_language_defn)
10723         (asm_language_defn, minimal_language_defn): Adjust to renames.
10724         * cli/cli-cmds.c (complete_command): Rework using
10725         completion_tracker.  Catch exceptions when completing.
10726         * cli/cli-decode.c (integer_unlimited_completer)
10727         (complete_on_cmdlist, complete_on_enum): Adjust prototype and work
10728         with completion_tracker instead of VEC.
10729         * command.h (struct completion_tracker): Forward declare.
10730         (completer_ftype, completer_handle_brkchars_ftype): Change
10731         types.
10732         (complete_on_cmdlist, complete_on_enum): Adjust.
10733         * completer.c: Include <algorithm>.
10734         (struct gdb_completer_state): New.
10735         (current_completion): New global.
10736         (readline_line_completion_function): Delete.
10737         (noop_completer, filename_completer)
10738         (filename_completer_handle_brkchars, complete_files_symbols)
10739         (linespec_location_completer): Adjust to work with a
10740         completion_tracker instead of a VEC.
10741         (string_or_empty): New.
10742         (collect_explicit_location_matches): Adjust to work with a
10743         completion_tracker instead of a VEC.
10744         (explicit_location_completer): Rename to ...
10745         (complete_explicit_location): ... this and adjust to work with a
10746         completion_tracker instead of a VEC.
10747         (location_completer): Adjust to work with a completion_tracker
10748         instead of a VEC.
10749         (add_struct_fields): Adjust to work with a completion_list instead
10750         of VEC.
10751         (expression_completer): Rename to ...
10752         (complete_expression): ... this and adjust to work with a
10753         completion_tracker instead of a VEC.  Use complete_files_symbols.
10754         (expression_completer): Reimplement on top of complete_expression.
10755         (symbol_completer): Adjust to work with a completion_tracker
10756         instead of a VEC.
10757         (enum complete_line_internal_reason): Add describing comments.
10758         (complete_line_internal_normal_command): Adjust to work with a
10759         completion_tracker instead of a VEC.
10760         (complete_line_internal): Rename to ...
10761         (complete_line_internal_1): ... this and adjust to work with a
10762         completion_tracker instead of a VEC.  Assert TEXT is NULL in the
10763         handle_brkchars phase.
10764         (new_completion_tracker): Delete.
10765         (complete_line_internal): Reimplement as TRY/CATCH wrapper around
10766         complete_line_internal_1.
10767         (free_completion_tracker): Delete.
10768         (INITIAL_COMPLETION_HTAB_SIZE): New.
10769         (completion_tracker::completion_tracker)
10770         (completion_tracker::~completion_tracker): New.
10771         (maybe_add_completion): Delete.
10772         (completion_tracker::maybe_add_completion)
10773         (completion_tracker::add_completion)
10774         (completion_tracker::add_completions): New.
10775         (throw_max_completions_reached_error): Delete.
10776         (complete_line): Adjust to work with a completion_tracker instead
10777         of a VEC.  Don't create a completion_tracker_t or check for max
10778         completions here.
10779         (command_completer, command_completer_handle_brkchars)
10780         (signal_completer, reg_or_group_completer_1)
10781         (reg_or_group_completer, default_completer_handle_brkchars):
10782         Adjust to work with a completion_tracker.
10783         (gdb_completion_word_break_characters_throw): New.
10784         (gdb_completion_word_break_characters): Reimplement.
10785         (line_completion_function): Delete.
10786         (completion_tracker::recompute_lowest_common_denominator)
10787         (expand_preserving_ws)
10788         (completion_tracker::build_completion_result)
10789         (completion_result::completion_result)
10790         (completion_result::completion_result)
10791         (completion_result::~completion_result)
10792         (completion_result::completion_result)
10793         (completion_result::release_match_list, compare_cstrings)
10794         (completion_result::sort_match_list)
10795         (completion_result::reset_match_list)
10796         (gdb_rl_attempted_completion_function_throw)
10797         (gdb_rl_attempted_completion_function): New.
10798         * completer.h (completion_list, struct completion_result)
10799         (class completion_tracker): New.
10800         (complete_line): Add completion_tracker parameter.
10801         (readline_line_completion_function): Delete.
10802         (gdb_rl_attempted_completion_function): New.
10803         (noop_completer, filename_completer, expression_completer)
10804         (location_completer, symbol_completer, command_completer)
10805         (signal_completer, reg_or_group_completer): Update prototypes.
10806         (completion_tracker_t, new_completion_tracker)
10807         (make_cleanup_free_completion_tracker): Delete.
10808         (enum maybe_add_completion_enum): Delete.
10809         (maybe_add_completion): Delete.
10810         (throw_max_completions_reached_error): Delete.
10811         * corefile.c (complete_set_gnutarget): Adjust to work with a
10812         completion_tracker instead of a VEC.
10813         * cp-abi.c (cp_abi_completer): Adjust to work with a
10814         completion_tracker instead of a VEC.
10815         * d-lang.c (d_language_defn): Adjust.
10816         * disasm.c (disassembler_options_completer): Adjust to work with a
10817         completion_tracker instead of a VEC.
10818         * f-lang.c (f_make_symbol_completion_list): Rename to ...
10819         (f_collect_symbol_completion_matches): ... this.  Adjust to work
10820         with a completion_tracker instead of a VEC.
10821         (f_language_defn): Adjust.
10822         * go-lang.c (go_language_defn): Adjust.
10823         * guile/scm-cmd.c (cmdscm_add_completion, cmdscm_completer):
10824         Adjust to work with a completion_tracker instead of a VEC.
10825         * infrun.c (handle_completer): Likewise.
10826         * interps.c (interpreter_completer): Likewise.
10827         * interps.h (interpreter_completer): Likewise.
10828         * language.c (unknown_language_defn, auto_language_defn)
10829         (local_language_defn): Adjust.
10830         * language.h (language_defn::la_make_symbol_completion_list):
10831         Rename to ...
10832         (language_defn::la_collect_symbol_completion_matches): ... this
10833         and adjust to work with a completion_tracker instead of a VEC.
10834         * m2-lang.c (m2_language_defn): Adjust.
10835         * objc-lang.c (objc_language_defn): Adjust.
10836         * opencl-lang.c (opencl_language_defn): Adjust.
10837         * p-lang.c (pascal_language_defn): Adjust.
10838         * python/py-cmd.c (cmdpy_completer_helper): Handle NULL word.
10839         (cmdpy_completer_handle_brkchars, cmdpy_completer): Adjust to work
10840         with a completion_tracker.
10841         * rust-lang.c (rust_language_defn): Adjust.
10842         * symtab.c (free_completion_list, do_free_completion_list)
10843         (return_val, completion_tracker): Delete.
10844         (completion_list_add_name, completion_list_add_symbol)
10845         (completion_list_add_msymbol, completion_list_objc_symbol)
10846         (completion_list_add_fields, add_symtab_completions): Add
10847         completion_tracker parameter and use it.
10848         (default_make_symbol_completion_list_break_on_1): Rename to...
10849         (default_collect_symbol_completion_matches_break_on): ... this.
10850         Add completion_tracker parameter and use it instead of allocating
10851         a completion tracker here.
10852         (default_make_symbol_completion_list_break_on): Delete old
10853         implementation.
10854         (default_make_symbol_completion_list): Delete.
10855         (default_collect_symbol_completion_matches): New.
10856         (make_symbol_completion_list): Delete.
10857         (collect_symbol_completion_matches): New.
10858         (make_symbol_completion_type): Rename to ...
10859         (collect_symbol_completion_matches_type): ... this.  Add
10860         completion_tracker parameter and use it instead of VEC.
10861         (make_file_symbol_completion_list_1): Rename to...
10862         (collect_file_symbol_completion_matches): ... this.  Add
10863         completion_tracker parameter and use it instead of VEC.
10864         (make_file_symbol_completion_list): Delete.
10865         (add_filename_to_list): Use completion_list instead of a VEC.
10866         (add_partial_filename_data::list): Now a completion_list.
10867         (make_source_files_completion_list): Work with a completion_list
10868         instead of a VEC.
10869         * symtab.h: Include "completer.h".
10870         (default_make_symbol_completion_list_break_on)
10871         (default_make_symbol_completion_list, make_symbol_completion_list)
10872         (make_symbol_completion_type, make_file_symbol_completion_list)
10873         (make_source_files_completion_list): Delete.
10874         (default_collect_symbol_completion_matches_break_on)
10875         (default_collect_symbol_completion_matches)
10876         (collect_symbol_completion_matches)
10877         (collect_symbol_completion_matches_type)
10878         (collect_file_symbol_completion_matches)
10879         (make_source_files_completion_list): New.
10880         * top.c (init_main): Don't install a rl_completion_entry_function
10881         hook.  Install a rl_attempted_completion_function hook instead.
10882         * tui/tui-layout.c (layout_completer): Adjust to work with a
10883         completion_tracker.
10884         * tui/tui-regs.c (tui_reggroup_completer):
10885         * tui/tui-win.c (window_name_completer, focus_completer)
10886         (winheight_completer): Adjust to work with a completion_tracker.
10887         * value.c: Include "completer.h".
10888         (complete_internalvar): Adjust to work with a completion_tracker.
10889         * value.h (complete_internalvar): Likewise.
10890
10891 2017-07-17  Pedro Alves  <palves@redhat.com>
10892
10893         * cli/cli-decode.c (set_cmd_completer_handle_brkchars): Adjust to
10894         renames.
10895         * cli/cli-decode.h (struct cmd_list_element) <completer>: Move
10896         comments to completer_ftype's declaration.
10897         <completer_handle_brkchars>: Change type to
10898         completer_handle_brkchars_ftype.
10899         * command.h (completer_ftype): Add describing comment and give
10900         names to parameters.
10901         (completer_ftype_void): Rename to ...
10902         (completer_handle_brkchars_ftype) ... this.  Add describing comment.
10903         (set_cmd_completer_handle_brkchars): Adjust.
10904         * completer.c (filename_completer_handle_brkchars): New function.
10905         (complete_line_internal_normal_command): New function, factored
10906         out from ...
10907         (complete_line_internal): ... here.
10908         (command_completer_handle_brkchars)
10909         (default_completer_handle_brkchars)
10910         (completer_handle_brkchars_func_for_completer): New functions.
10911         * completer.h (set_gdb_completion_word_break_characters): Delete
10912         declaration.
10913         (completer_handle_brkchars_func_for_completer): New declaration.
10914         * python/py-cmd.c (cmdpy_completer_handle_brkchars): Adjust to use
10915         completer_handle_brkchars_func_for_completer.
10916
10917 2017-07-17  Pedro Alves  <palves@redhat.com>
10918
10919         * completer.c (symbol_completer): New function, based on
10920         make_symbol_completion_list_fn.
10921         * completer.h (symbol_completer): New declaration.
10922         * guile/scm-cmd.c (cmdscm_completers): Adjust.
10923         * python/py-cmd.c (completers): Adjust.
10924         * symtab.c (make_symbol_completion_list_fn): Delete.
10925         * symtab.h (make_symbol_completion_list_fn): Delete.
10926         * cli/cli-decode.c (add_cmd): Adjust.
10927
10928 2017-07-17  Pedro Alves  <palves@redhat.com>
10929
10930         * Makefile.in (COMMON_OBS): Add filename-seen-cache.o.
10931         * dwarf2read.c: Include "filename-seen-cache.h".
10932         * dwarf2read.c (dwarf2_per_objfile) <filenames_cache>: New field.
10933         (dw2_map_symbol_filenames): Build and use a filenames_seen_cache.
10934         * filename-seen-cache.c: New file.
10935         * filename-seen-cache.h: New file.
10936         * symtab.c: Include "filename-seen-cache.h".
10937         (struct filename_seen_cache, INITIAL_FILENAME_SEEN_CACHE_SIZE)
10938         (create_filename_seen_cache, clear_filename_seen_cache)
10939         (delete_filename_seen_cache, filename_seen): Delete, parts moved
10940         to filename-seen-cache.h/filename-seen-cache.c.
10941         (output_source_filename, sources_info)
10942         (maybe_add_partial_symtab_filename)
10943         (make_source_files_completion_list): Adjust to use
10944         filename_seen_cache.
10945
10946 2017-07-17  Pedro Alves  <palves@redhat.com>
10947
10948         * dwarf2read.c (dwarf2_per_objfile): In-class initialize all
10949         fields.
10950         (dwarf2_per_objfile::dwarf2_per_objfile(objfile*, const
10951         dwarf2_debug_sections*)): New.
10952         (dwarf2_per_objfile::dwarf2_per_objfile(const
10953         dwarf2_per_objfile&)): Declare as deleted.
10954         (dwarf2_per_objfile::operator=): Declare as deleted.
10955         (dwarf2_per_objfile::dwarf2_per_objfile)
10956         (dwarf2_per_objfile::~dwarf2_per_objfile)
10957         (dwarf2_per_objfile::free_cached_comp_units): New.
10958         (dwarf2_has_info): dwarf2_per_objfile initialization code moved to
10959         ctor.  Call dwarf2_per_objfile's ctor manually.
10960         (dwarf2_locate_sections): Deleted/refactored as ...
10961         (dwarf2_per_objfile::locate_sections): ... this new method.
10962         (free_cached_comp_units): Defer to
10963         dwarf2_per_objfile::free_cached_comp_units.
10964         (dwarf2_free_objfile): Call dwarf2_per_objfile's dtor manually.
10965
10966 2017-07-14  Tom Tromey  <tom@tromey.com>
10967
10968         PR rust/21764:
10969         * rust-exp.y (convert_ast_to_expression): Add "want_type"
10970         parameter.
10971         <UNOP_SIZEOF>: Split into separate case.
10972         <UNOP_VAR_VALUE>: Handle want_type.  Add error case.
10973
10974 2017-07-14  Tom Tromey  <tom@tromey.com>
10975
10976         PR rust/21763:
10977         * symtab.c (symbol_matches_domain): Add language_rust to special
10978         case.
10979         * rust-exp.y (convert_ast_to_expression) <OP_VAR_VALUE>: Don't
10980         treat LOC_TYPEDEF symbols as variables.
10981
10982 2017-07-14  Pedro Alves  <palves@redhat.com>
10983
10984         * symtab.c (make_file_symbol_completion_list_1): Iterate over
10985         symtabs matching all symtabs with SRCFILE as file name instead of
10986         only considering the first hit, with lookup_symtab.
10987
10988 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
10989
10990         * ax-gdb.c (gen_aggregate_elt_ref): Remove operand_name and
10991         operator_name parameters.
10992         (gen_expr): Update function call.
10993
10994 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
10995
10996         * dwarf2loc.h (dwarf2_compile_expr_to_ax): Remove gdbarch
10997         parameter.
10998         * symtab.h (struct symbol_computed_ops::tracepoint_var_ref):
10999         Likewise.
11000         * dwarf2loc.c (dwarf2_compile_expr_to_ax): Remove gdbarch
11001         parameter, use agent_expr::gdbarch instead, update function
11002         calls.
11003         (locexpr_tracepoint_var_ref): Likewise.
11004         (loclist_tracepoint_var_ref): Likewise.
11005         * ax-gdb.c (gen_trace_static_fields): Likewise.
11006         (gen_traced_pop): Likewise.
11007         (gen_frame_args_address): Likewise.
11008         (gen_frame_locals_address): Likewise.
11009         (gen_var_ref): Likewise.
11010         (gen_struct_ref_recursive): Likewise.
11011         (gen_static_field): Likewise.
11012         (gen_maybe_namespace_elt): Likewise.
11013         (gen_expr): Likewise.
11014         (gen_trace_for_var): Likewise.
11015         (gen_trace_for_expr): Likewise.
11016         (gen_trace_for_return_address): Likewise.
11017
11018 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
11019
11020         * ax-gdb.c (gen_deref, gen_address_of): Remove unused ax
11021         parameter.
11022         (gen_struct_ref, gen_expr, gen_expr_binop_rest): Update call.
11023
11024 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
11025
11026         * ax-gdb.c (gen_usual_unary): Remove exp parameter, get gdbarch
11027         from ax, update calls.
11028         (gen_usual_arithmetic): Likewise.
11029         (gen_integral_promotions): Likewise.
11030         (gen_bitfield_ref): Likewise.
11031         (gen_primitive_field): Likewise.
11032         (gen_struct_ref_recursive): Likewise.
11033         (gen_struct_ref): Likewise.
11034         (gen_maybe_namespace_elt): Likewise.
11035         (gen_struct_elt_for_reference): Likewise.
11036         (gen_namespace_elt): Likewise.
11037         (gen_aggregate_elt_ref): Likewise.
11038         (gen_expr): Get gdbarch from ax, update calls.
11039         (gen_expr_binop_rest): Likewise.
11040
11041 2017-07-13  Pedro Alves  <palves@redhat.com>
11042
11043         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Pass tdesc_amd64
11044         as default tdesc.
11045         * amd64-dicos-tdep.c (amd64_dicos_init_abi):
11046         * amd64-fbsd-tdep.c (amd64fbsd_init_abi):
11047         * amd64-linux-tdep.c (amd64_linux_init_abi): Pass
11048         tdesc_amd64_linux as default tdesc.  Get final tdesc from the
11049         tdep.
11050         (amd64_x32_linux_init_abi): Pass tdesc_x32_linux as default tdesc.
11051         Get final tdesc from the tdep.
11052         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Pass tdesc_amd64 as
11053         default tdesc.
11054         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
11055         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
11056         * amd64-tdep.c (amd64_init_abi): Add 'default_tdesc' parameter.
11057         Use it as default tdesc.
11058         (amd64_x32_init_abi): Add 'default_tdesc' parameter, and pass it
11059         down to amd_init_abi.  No longer handle fallback tdesc here.
11060         * amd64-tdep.h (tdesc_x32): Declare.
11061         (amd64_init_abi, amd64_x32_init_abi): Add 'default_tdesc'
11062         parameter.
11063         * amd64-windows-tdep.c (amd64_windows_init_abi): Pass tdesc_amd64
11064         as default tdesc.
11065
11066 2017-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11067
11068         * s390-linux-tdep.c (s390_process_record): Add support for
11069         instructions new in arch12.
11070
11071 2017-07-11  John Baldwin  <jhb@FreeBSD.org>
11072
11073         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers): Use
11074         PT_GETFSBASE and PT_GETGSBASE.
11075         (amd64bsd_store_inferior_registers): Use PT_SETFSBASE and
11076         PT_SETGSBASE.
11077
11078 2017-07-11  John Baldwin  <jhb@FreeBSD.org>
11079
11080         * features/Makefile (amd64.dat, amd64-avx.dat, amd64-mpx.dat)
11081         (amd64-avx-mpx.dat, amd64-avx-avx512.dat)
11082         (amd64-avx-mpx-avx512-pku.dat): Add i386/64bit-segments.xml in
11083         those rules.
11084         * features/i386/amd64-avx-avx512.xml: Add 64bit-segments.xml.
11085         * features/i386/amd64-avx-mpx-avx512-pku.xml: Add 64bit-segments.xml.
11086         * features/i386/amd64-avx-mpx.xml: Add 64bit-segments.xml.
11087         * features/i386/amd64-avx.xml: Add 64bit-segments.xml.
11088         * features/i386/amd64-mpx.xml: Add 64bit-segments.xml.
11089         * features/i386/amd64.xml: Add 64bit-segments.xml.
11090         * features/i386/amd64-avx-avx512.c: Regenerated.
11091         * features/i386/amd64-avx-mpx-avx512-pku.c: Regenerated.
11092         * features/i386/amd64-avx-mpx.c: Regenerated.
11093         * features/i386/amd64-avx.c: Regenerated.
11094         * features/i386/amd64-mpx.c: Regenerated.
11095         * features/i386/amd64.c: Regenerated.
11096         * regformats/i386/amd64-avx-avx512.dat: Regenerated.
11097         * regformats/i386/amd64-avx-mpx-avx512-pku.dat: Regenerated.
11098         * regformats/i386/amd64-avx-mpx.dat: Regenerated.
11099         * regformats/i386/amd64-avx.dat: Regenerated.
11100         * regformats/i386/amd64-mpx.dat: Regenerated.
11101         * regformats/i386/amd64.dat: Regenerated.
11102
11103 2017-07-10  Yao Qi  <yao.qi@linaro.org>
11104
11105         * features/i386/amd64-avx-avx512-linux.c: Re-generated.
11106         * features/i386/amd64-avx-mpx-avx512-pku-linux.c: Re-generated.
11107
11108 2017-07-10  Anton Kolesov  <Anton.Kolesov@synopsys.com>
11109
11110         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add setenv and
11111         unsetenv.
11112         * gnulib/aclocal.m4: Regenerate.
11113         * gnulib/config.in: Regenerate.
11114         * gnulib/configure: Regenerate.
11115         * gnulib/import/Makefile.am: Regenerate.
11116         * gnulib/import/Makefile.in: Regenerate.
11117         * gnulib/import/m4/gnulib-cache.m4: Regenerate.
11118         * gnulib/import/m4/gnulib-comp.m4: Regenerate.
11119         * gnulib/import/m4/environ.m4: New file.
11120         * gnulib/import/m4/setenv.m4: New file.
11121         * gnulib/import/setenv.c: New file.
11122         * gnulib/import/unsetenv.c: New file.
11123
11124 2017-07-09  Simon Marchi  <simon.marchi@ericsson.com>
11125
11126         * compile/compile-loc2c.c (do_compile_dwarf_expr_to_c): Read
11127         address when op is DW_OP_addr.
11128
11129 2017-07-09  Tom Tromey  <tom@tromey.com>
11130
11131         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Reverse size
11132         check and apply to outer type.
11133
11134 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11135
11136         * fbsd-tdep.c (LWPINFO_OFFSET, LWPINFO_PL_FLAGS)
11137         (LWPINFO64_PL_SIGINFO, LWPINFO32_PL_SIGINFO, PL_FLAG_SI)
11138         (SIZE64_SIGINFO_T, SIZE32_SIGINFO_T, fbsd_core_xfer_siginfo): New.
11139         (fbsd_init_abi): Install gdbarch "core_xfer_siginfo" method.
11140
11141 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11142
11143         * fbsd-tdep.c (fbsd_core_thread_name): Use thread_section_name.
11144
11145 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11146
11147         * corelow.c (get_core_siginfo): Remove.
11148         (core_xfer_partial): Use the gdbarch "core_xfer_siginfo" method
11149         instead of get_core_siginfo.
11150         * gdbarch.sh (core_xfer_siginfo): New gdbarch callback.
11151         * gdbarch.h: Re-generate.
11152         * gdbarch.c: Re-generate.
11153         * linux-tdep.c (linux_core_xfer_siginfo): New.
11154         (linux_init_abi): Install gdbarch "core_xfer_siginfo" method.
11155
11156 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11157
11158         * corelow.c (thread_section_name): Move to ...
11159         * gdbcore.h (thread_section_name): ... here.
11160
11161 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11162
11163         * fbsd-nat.c [PT_LWPINFO && __LP64__] (union sigval32)
11164         (struct siginfo32): New.
11165         [PT_LWPINFO] (fbsd_siginfo_size, fbsd_convert_siginfo): New.
11166         (fbsd_xfer_partial) [PT_LWPINFO]: Handle TARGET_OBJECT_SIGNAL_INFO
11167         via ptrace(PT_LWPINFO).
11168
11169 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11170
11171         * fbsd-tdep.c (fbsd_gdbarch_data_handle, struct fbsd_gdbarch_data)
11172         (init_fbsd_gdbarch_data, get_fbsd_gdbarch_data)
11173         (fbsd_get_siginfo_type): New.
11174         (fbsd_init_abi): Install gdbarch "get_siginfo_type" method.
11175         (_initialize_fbsd_tdep): New.
11176
11177 2017-07-06  David Blaikie  <dblaikie@gmail.com>
11178
11179         * dwarf2read.c (struct dwo_file): Use a htab of dwo_unit* (rather than
11180         a singular dwo_unit*) to support multiple CUs in the same way that
11181         multiple TUs are supported.
11182         (create_cus_hash_table): Replace create_dwo_cu with a function for
11183         parsing multiple CUs from a DWO file.
11184         (open_and_init_dwo_file): Use create_cus_hash_table rather than
11185         create_dwo_cu.
11186         (lookup_dwo_cutu): Lookup CU in the hash table in the dwo_file with
11187         htab_find, rather than comparing the signature to a singleton CU in
11188         the dwo_file.
11189
11190 2017-07-06  Pedro Alves  <palves@redhat.com>
11191
11192         * python/py-unwind.c (pyuw_dealloc_cache): Fix for loop condition.
11193
11194 2017-07-04  Pedro Alves  <palves@redhat.com>
11195
11196         * gdbtypes.c (recursive_dump_type): Don't reference TYPE_STATIC.
11197         * gdbtypes.h (TYPE_STATIC): Delete.
11198         (struct fn_field) <is_public, is_abstract, is_static, is_final,
11199         is_synchronized, is_native>: Delete.
11200         <dummy>: Bump.
11201         (TYPE_FN_FIELD_PUBLIC, TYPE_FN_FIELD_STATIC, TYPE_FN_FIELD_FINAL)
11202         (TYPE_FN_FIELD_SYNCHRONIZED, TYPE_FN_FIELD_NATIVE)
11203         (TYPE_FN_FIELD_ABSTRACT): Delete.
11204
11205 2017-07-03  Simon Marchi  <simon.marchi@ericsson.com>
11206
11207         * buffer.h (buffer_finish): Fix spelling mistakes.
11208
11209 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
11210
11211         * .dir-locals.el: Automatically switch to C-style comments in
11212         versions of Emacs that support the feature.
11213
11214 2017-06-30  Sergio Durigan Junior  <sergiodj@redhat.com>
11215             Pedro Alves  <palves@redhat.com>
11216
11217         PR cli/21688
11218         * cli/cli-script.c (command_name_equals_not_inline): Remove function.
11219         (process_next_line): New variable 'inline_cmd'.
11220         Adjust 'if' clauses for "python", "compile" and "guile" to use
11221         'command_name_equals' and check for '!inline_cmd'.
11222
11223 2017-06-30  Sergio Durigan Junior  <sergiodj@redhat.com>
11224
11225         PR cli/21688
11226         * cli/cli-script.c (command_name_equals_not_inline): New function.
11227         (process_next_line): Adjust 'if' clauses for "python", "compile"
11228         and "guile" to use command_name_equals_not_inline.
11229
11230 2017-06-29  Pedro Alves  <palves@redhat.com>
11231
11232         * completer.c (expression_completer): Call
11233         linespec_location_completer instead of location_completer.
11234
11235 2017-06-29  Pedro Alves  <palves@redhat.com>
11236
11237         * completer.c (expression_completer): Remove code that recomputes
11238         'text' from 'word'.
11239
11240 2017-06-29  Yao Qi  <yao.qi@linaro.org>
11241
11242         * regformats/regdat.sh: Generate code with
11243         "ifndef IN_PROCESS_AGENT".
11244
11245 2017-06-28  Pedro Alves  <palves@redhat.com>
11246
11247         * command.h: Include "common/scoped_restore.h".
11248
11249 2017-06-28  Yao Qi  <yao.qi@linaro.org>
11250
11251         * mi/mi-cmd-break.c (mi_argv_to_format): Use obstack_grow_str
11252         instead of obstack_grow.
11253
11254 2017-06-28  Doug Gilmore  <Doug.Gilmore@imgtec.com>
11255
11256         PR gdb/21337
11257         * symfile.c (reread_symbols): Call objfiles_changed just before
11258         read_symbols.
11259
11260 2017-06-27  Pedro Alves  <palves@redhat.com>
11261
11262         * symtab.c (COMPLETION_LIST_ADD_SYMBOL)
11263         (MCOMPLETION_LIST_ADD_SYMBOL): Delete macros, replace with ...
11264         (completion_list_add_symbol, completion_list_add_msymbol):
11265         ... these new functions.
11266         (add_symtab_completions)
11267         (default_make_symbol_completion_list_break_on_1): Adjust.
11268
11269 2017-06-27  Pedro Alves  <palves@redhat.com>
11270
11271         * objfiles.c (get_objfile_bfd_data): Call bfd_alloc instead of
11272         bfd_zalloc.  Call objfile_per_bfd_storage's ctor.
11273         (free_objfile_per_bfd_storage): Call objfile_per_bfd_storage's
11274         dtor.
11275         * objfiles.h (objfile_per_bfd_storage): Add ctor.  Make
11276         'storage_obstack' field an auto_obstack.  In-class initialize all
11277         non-bitfield fields.  Make minsyms_read bool.
11278         * symfile.c (read_symbols): Adjust.
11279
11280 2017-06-27  Alan Hayward  <alan.hayward@arm.com>
11281
11282         * remote-sim.c (gdbsim_fetch_register): Use byte_vector.
11283         (gdbsim_store_register): Likewise.
11284
11285 2017-06-27  Pedro Alves  <palves@redhat.com>
11286
11287         * c-exp.y (name_obstack): Now an auto_obstack.
11288         (yylex): Use auto_obstack::clear.
11289         (c_parse): Use auto_obstack::clear instead of reinitializing and
11290         freeing the obstack.
11291         * c-lang.c (evaluate_subexp_c): Use auto_obstack.
11292         * d-exp.y (name_obstack): Now an auto_obstack.
11293         (yylex): Use auto_obstack::clear.
11294         (d_parse): Use auto_obstack::clear instead of reinitializing and
11295         freeing the obstack.
11296         * dwarf2loc.c (fetch_const_value_from_synthetic_pointer): Use
11297         auto_obstack.
11298         * dwarf2read.c (create_addrmap_from_index)
11299         (dwarf2_build_psymtabs_hard)
11300         (update_enumeration_type_from_children): Likewise.
11301         * gdb_obstack.h (auto_obstack): New type.
11302         * go-exp.y (name_obstack): Now an auto_obstack.
11303         (build_packaged_name): Use auto_obstack::clear.
11304         (go_parse): Use auto_obstack::clear instead of reinitializing and
11305         freeing the obstack.
11306         * linux-tdep.c (linux_make_mappings_corefile_notes): Use
11307         auto_obstack.
11308         * printcmd.c (printf_wide_c_string, ui_printf): Use auto_obstack.
11309         * rust-exp.y (work_obstack): Now an auto_obstack.
11310         (rust_parse, rust_lex_tests): Use auto_obstack::clear instead of
11311         reinitializing and freeing the obstack.
11312         * utils.c (do_obstack_free, make_cleanup_obstack_free): Delete.
11313         (host_char_to_target): Use auto_obstack.
11314         * utils.h (make_cleanup_obstack_free): Delete declaration.
11315         * valprint.c (generic_emit_char, generic_printstr): Use
11316         auto_obstack.
11317
11318 2017-06-27  Simon Marchi  <simon.marchi@ericsson.com>
11319
11320         * darwin-nat.c (darwin_check_new_threads): Don't handle dummy
11321         thread.
11322         (darwin_init_thread_list): Don't update dummy thread.
11323         (darwin_create_inferior, darwin_attach): Don't add a dummy thread.
11324
11325 2017-06-26  Simon Marchi  <simon.marchi@ericsson.com>
11326
11327         * record-full.c (netorder16): Remove.
11328
11329 2017-06-26  Simon Marchi  <simon.marchi@ericsson.com>
11330
11331         * common/diagnostics.h: Define macros for GCC.
11332         (DIAGNOSTIC_IGNORE_UNUSED_FUNCTION): New macro.
11333         * common/vec.h: Include diagnostics.h.
11334         (DIAGNOSTIC_IGNORE_UNUSED_VEC_FUNCTION): New macro.
11335         (DEF_VEC_I, DEF_VEC_P, DEF_VEC_O): Ignore -Wunused-function
11336         warning.
11337
11338 2017-06-26  Simon Marchi  <simon.marchi@ericsson.com>
11339
11340         * common/diagnostics.h (DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER):
11341         New macro.
11342         * ada-lex.l: Ignore deprecated register warnings.
11343
11344 2017-06-25  Simon Marchi  <simon.marchi@ericsson.com>
11345
11346         * main.c (get_init_files): Replace "SYSTEM_GDBINIT +
11347         datadir_len" with "&SYSTEM_GDBINIT[datadir_len]".
11348
11349 2017-06-25  Simon Marchi  <simon.marchi@ericsson.com>
11350
11351         * dtrace-probe.c (dtrace_process_dof_probe): Put semi-colon on
11352         its own line.
11353
11354 2017-06-25  Simon Marchi  <simon.marchi@ericsson.com>
11355
11356         * nat/x86-dregs.c (x86_show_dr): Print registers one per line.
11357
11358 2017-06-23  Alan Hayward  <alan.hayward@arm.com>
11359
11360         * xtensa-tdep.c (XTENSA_MAX_REGISTER_SIZE): Add.
11361         (xtensa_register_write_masked): Use XTENSA_MAX_REGISTER_SIZE.
11362         (xtensa_register_read_masked): Likewise.
11363
11364 2017-06-22  Sergio Durigan Junior  <sergiodj@redhat.com>
11365
11366         * common/environ.c (gdb_environ::unset): Update comment.
11367
11368 2017-06-22  Alan Hayward  <alan.hayward@arm.com>
11369
11370         * python/py-unwind.c (pyuw_sniffer): Allocate space for
11371         registers.
11372
11373 2017-06-22  Alan Hayward  <alan.hayward@arm.com>
11374
11375         * record-full.c (record_full_exec_insn): Use byte_vector.
11376
11377 2017-06-22  Yao Qi  <yao.qi@linaro.org>
11378
11379         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Regenerated.
11380         * regformats/i386/amd64-avx-mpx-avx512-pku.dat: Regenerated.
11381
11382 2017-06-22  Alan Hayward  <alan.hayward@arm.com>
11383
11384         * remote.c (cached_reg): Move from here...
11385         * regcache.h (cached_reg): ...to here.
11386         * python/py-unwind.c (struct reg_info): Remove.
11387         (cached_frame_info): Use cached_reg_t.
11388         (pyuw_prev_register): Likewise.
11389         (pyuw_sniffer): Use cached_reg_t and allocate registers.
11390         (pyuw_dealloc_cache): Free all registers.
11391
11392 2017-06-22  Pedro Alves  <palves@redhat.com>
11393             Simon Marchi  <simon.marchi@ericsson.com>
11394
11395         * unittests/environ-selftests.c (run_tests): Ignore -Wself-move
11396         warning.
11397         * common/diagnostics.h: New file.
11398
11399 2017-06-22  Pedro Alves  <palves@redhat.com>
11400
11401         * common/agent.h: Add include guards.
11402
11403 2017-06-21  Simon Marchi  <simon.marchi@ericsson.com>
11404
11405         * target.h (struct target_ops) <to_xfer_partial>: Update doc to
11406         talk about addressable units instead of bytes.
11407
11408 2017-06-20  Sergio Durigan Junior  <sergiodj@redhat.com>
11409
11410         * common/environ.c (gdb_environ::unset): Use '::iterator' instead
11411         of '::const_iterator'.
11412
11413 2017-06-20  Sergio Durigan Junior  <sergiodj@redhat.com>
11414
11415         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11416         'unittests/environ-selftests.c'.
11417         (SUBDIR_UNITTESTS_OBS): Add 'environ-selftests.o'.
11418         * charset.c (find_charset_names): Declare object 'iconv_env'.
11419         Update code to use 'iconv_env' object.  Remove call to
11420         'free_environ'.
11421         * common/environ.c: Include <utility>.
11422         (make_environ): Delete function.
11423         (free_environ): Delete function.
11424         (gdb_environ::clear): New function.
11425         (gdb_environ::operator=): New function.
11426         (gdb_environ::get): Likewise.
11427         (environ_vector): Delete function.
11428         (set_in_environ): Delete function.
11429         (gdb_environ::set): New function.
11430         (unset_in_environ): Delete function.
11431         (gdb_environ::unset): New function.
11432         (gdb_environ::envp): Likewise.
11433         * common/environ.h: Include <vector>.
11434         (struct gdb_environ): Delete; transform into...
11435         (class gdb_environ): ... this class.
11436         (free_environ): Delete prototype.
11437         (init_environ, get_in_environ, set_in_environ, unset_in_environ,
11438         environ_vector): Likewise.
11439         * infcmd.c (run_command_1): Update code to call
11440         'envp' from 'gdb_environ' class.
11441         (environment_info): Update code to call methods from 'gdb_environ'
11442         class.
11443         (unset_environment_command): Likewise.
11444         (path_info): Likewise.
11445         (path_command): Likewise.
11446         * inferior.c (inferior::~inferior): Delete call to 'free_environ'.
11447         (inferior::inferior): Initialize 'environment' using the host's
11448         information.
11449         * inferior.h: Remove forward declaration of 'struct gdb_environ'.
11450         Include "environ.h".
11451         (class inferior) <environment>: Change type from 'struct
11452         gdb_environ' to 'gdb_environ'.
11453         * mi/mi-cmd-env.c (mi_cmd_env_path): Update code to call
11454         methods from 'gdb_environ' class.
11455         * solib.c (solib_find_1): Likewise
11456         * unittests/environ-selftests.c: New file.
11457
11458 2017-06-20  Yao Qi  <yao.qi@linaro.org>
11459
11460         * features/i386/i386-linux.xml: Exchange the order of including
11461         32bit-linux.xml and 32bit-sse.xml.
11462         * features/i386/i386-linux.c: Regenerated.
11463
11464 2017-06-20  Yao Qi  <yao.qi@linaro.org>
11465
11466         * target-descriptions.c (tdesc_reg): Add ctor, dtor.
11467         Delete copy ctor and assignment operator.
11468         (tdesc_type): Likewise.
11469         (tdesc_feature): Likewise.
11470         (tdesc_free_reg): Remove.
11471         (tdesc_create_reg): Use new.
11472         (tdesc_free_type): Remove.
11473         (tdesc_create_vector): Use new.
11474         (tdesc_create_union): Likewise.
11475         (tdesc_create_flags): Likewise.
11476         (tdesc_create_enum): Likewise.
11477         (tdesc_free_feature): Delete.
11478         (free_target_description): Use delete.
11479
11480 2017-06-19  John Baldwin  <jhb@FreeBSD.org>
11481
11482         * mips-tdep.c (print_gp_register_row): Don't error for unavailable
11483         registers.
11484
11485 2017-06-19  Pedro Alves  <palves@redhat.com>
11486
11487         * dwarf2read.c (write_psymtabs_to_index): Construct file_closer
11488         after gdb::unlinker.
11489
11490 2017-06-19  Sergio Durigan Junior  <sergiodj@redhat.com>
11491
11492         * mi/mi-cm-env.c (_initialize_mi_cmd_env): Use getenv instead of
11493         gdb_environ to access an environment variable.
11494
11495 2017-06-18  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>
11496
11497         * nat/linux-ptrace.c (linux_fork_to_function): Add cast to
11498         gdb_byte*.
11499
11500 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11501
11502         * nat/fork-inferior.h (trace_start_error): Add ATTRIBUTE_PRINTF.
11503
11504 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11505
11506         * configure: Re-generate.
11507         * warning.m4 (build_warnings): Add -Wno-mismatched-tags.
11508
11509 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11510
11511         * configure: Re-generate.
11512         * warning.m4: Pass -Werror to compiler when checking for
11513         supported warning flags.
11514
11515 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11516
11517         * Makefile.in (COMPILE.pre): Add "-x c++".
11518
11519 2017-06-16  Alan Hayward  <alan.hayward@arm.com>
11520             Pedro Alves  <palves@redhat.com>
11521             Yao Qi  <yao.qi@linaro.org>
11522
11523         * defs.h (RequireLongest): New.
11524         (extract_integer): Declare function template.
11525         (extract_signed_integer): Remove the declaration, but define it
11526         static inline.
11527         (extract_unsigned_integer): Likewise.
11528         (store_integer): Declare function template.
11529         (store_signed_integer): Remove the declaration, but define it
11530         static inline.
11531         (store_unsigned_integer): Likewise.
11532         * findvar.c (extract_integer): New function template.
11533         (extract_signed_integer): Remove.
11534         (extract_unsigned_integer): Remove.
11535         (extract_integer<LONGEST>, extract_integer<ULONGEST>): Explicit
11536         instantiations.
11537         (store_integer): New function template.
11538         (store_signed_integer): Remove.
11539         (store_unsigned_integer): Remove.
11540         (store_integer): Explicit instantiations.
11541         * regcache.c (regcache_raw_read_signed): Update.
11542         (regcache::raw_read): New function.
11543         (regcache::raw_read_signed): Remove.
11544         (regcache::raw_read_unsigned): Remove.
11545         (regcache_raw_read_unsigned): Update.
11546         (regcache_raw_write_unsigned): Update.
11547         (regcache::raw_write_signed): Remove.
11548         (regcache::raw_write): New function.
11549         (regcache_cooked_read_signed): Update.
11550         (regcache::raw_write_unsigned): Remove.
11551         (regcache::cooked_read_signed): Remove.
11552         (regcache_cooked_read_unsigned): Update.
11553         (regcache::cooked_read_unsigned): Remove.
11554         (regcache_cooked_write_signed): Update.
11555         (regcache_cooked_write_unsigned): Update.
11556         * regcache.h (regcache) <raw_read_signed>: Remove.
11557         <raw_write_signed, raw_read_unsigned, raw_write_unsigned>: Remove.
11558         <raw_read, raw_write>: New.
11559         <cooked_read_signed, cooked_write_signed>: Remove.
11560         <cooked_write_unsigned, cooked_read_unsigned>: Remove.
11561         <cooked_read, cooked_write>: New.
11562         * sh64-tdep.c (sh64_pseudo_register_read): Update.
11563         (sh64_pseudo_register_write): Update.
11564
11565 2017-06-16  Anton Kolesov  <anton.kolesov@synopsys.com>
11566
11567         * arc-tdep.c (arc_disassembler_options): New variable.
11568         (arc_gdbarch_init): Set and use it. Use arc_delayed_print_insn instead
11569         of default_print_insn.
11570         (arc_delayed_print_insn): Set info->section when needed,
11571         use default_print_insn to retrieve a disassembler.
11572
11573 2017-06-14  Sergio Durigan Junior  <sergiodj@redhat.com>
11574
11575         PR gdb/21574
11576         * infcmd.c (_initialize_infcmd): Expand "help run" documentation
11577         to mention $SHELL and startup-with-shell.
11578
11579 2017-06-14  Max Filippov  <jcmvbkbc@gmail.com>
11580
11581         * MAINTAINERS: Move Maxim Grigoriev to the Past Maintainers.
11582
11583 2017-06-14  Yao Qi  <yao.qi@linaro.org>
11584
11585         * aarch64-tdep.c (aarch64_gdb_print_insn): Call
11586         default_print_insn instead of print_insn_aarch64.
11587         * arm-tdep.c (gdb_print_insn_arm): Call
11588         default_print_insn instead of print_insn_big_arm
11589         and print_insn_little_arm.
11590         * i386-tdep.c (i386_print_insn): Call default_print_insn
11591         instead of print_insn_i386.
11592         * ia64-tdep.c (ia64_print_insn): Call
11593         default_print_insn instead of print_insn_ia64.
11594         * mips-tdep.c (gdb_print_insn_mips): Call
11595         default_print_insn instead of print_insn_big_mips
11596         and print_insn_little_mips.
11597         * spu-tdep.c (gdb_print_insn_spu): Call default_print_insn
11598         instead of print_insn_spu.
11599
11600 2017-06-14  Pedro Alves  <palves@redhat.com>
11601
11602         * ada-lang.c: Include "common/byte-vector.h".
11603         (ada_value_primitive_packed_val): Use gdb::byte_vector.
11604         * charset.c (wchar_iterator::iterate): Resize the vector instead
11605         of reserving it.
11606         * common/byte-vector.h: Include "common/def-vector.h".
11607         (wchar_iterator::m_out): Now a gdb::def_vector<gdb_wchar_t>.
11608         * cli/cli-dump.c: Include "common/byte-vector.h".
11609         (dump_memory_to_file, restore_binary_file): Use gdb::byte_vector.
11610         * common/byte-vector.h: New file.
11611         * common/def-vector.h: New file.
11612         * common/default-init-alloc.h: New file.
11613         * dwarf2loc.c: Include "common/byte-vector.h".
11614         (rw_pieced_value): Use gdb::byte_vector, and resize the vector
11615         instead of reserving it.
11616         * dwarf2read.c: Include "common/byte-vector.h".
11617         (data_buf::m_vec): Now a gdb::byte_vector.
11618         * gdb_regex.c: Include "common/def-vector.h".
11619         (compiled_regex::compiled_regex): Use gdb::def_vector<char>.
11620         * mi/mi-main.c: Include "common/byte-vector.h".
11621         (mi_cmd_data_read_memory): Use gdb::byte_vector.
11622         * printcmd.c: Include "common/byte-vector.h".
11623         (print_scalar_formatted): Use gdb::byte_vector.
11624         * valprint.c: Include "common/byte-vector.h".
11625         (maybe_negate_by_bytes, print_decimal_chars): Use
11626         gdb::byte_vector.
11627
11628 2017-06-13  Simon Marchi  <simon.marchi@ericsson.com>
11629
11630         * darwin-nat.c: Include "nat/fork-inferior.h".
11631
11632 2017-06-13  Simon Marchi  <simon.marchi@ericsson.com>
11633
11634         * configure.nat: Factor out Darwin bits that are not
11635         architecture-specific.  Add fork-inferior.o.
11636
11637 2017-06-13  Simon Marchi  <simon.marchi@ericsson.com>
11638
11639         * configure.nat: Factor out AIX bits that are not
11640         architecture-specific.  Add fork-inferior.o.
11641
11642 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11643
11644         * dwarf2loc.c (rw_pieced_value): New.  Merge logic from...
11645         (read_pieced_value, write_pieced_value): ...here.  Reduce to
11646         wrappers that just call rw_pieced_value.
11647
11648 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11649
11650         * dwarf2loc.c (write_pieced_value): When writing the data for a
11651         memory piece, use write_memory_with_notification instead of
11652         write_memory.
11653
11654 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11655
11656         * valops.c (read_value_memory): Change embedded_offset to
11657         represent a bit offset instead of a byte offset.
11658         * value.h (read_value_memory): Adjust comment.
11659
11660 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11661
11662         * dwarf2loc.c (read_pieced_value): Remove unnecessary variables
11663         dest_offset_bits and source_offset_bits.
11664         (write_pieced_value): Likewise.
11665
11666 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11667
11668         * dwarf2loc.c (read_pieced_value): Respect the piece offset, as
11669         given by DW_OP_bit_piece.
11670         (write_pieced_value): Likewise.
11671
11672 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11673
11674         * dwarf2loc.c (read_pieced_value): Move the buffer allocation and
11675         some other preparations to the places where sufficient information
11676         is available.
11677         (write_pieced_value): Likewise.
11678
11679 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11680
11681         * dwarf2loc.c (bits_to_bytes): New function.
11682         (read_pieced_value): Fix offset calculations for register pieces
11683         on big-endian targets.
11684         (write_pieced_value): Likewise.
11685
11686 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11687
11688         * dwarf2loc.c (read_pieced_value): Remove buffer_size variable.
11689         (write_pieced_value): Likewise.
11690
11691 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11692
11693         * dwarf2loc.c (write_pieced_value): When writing to a bit-field,
11694         transfer the source value's least significant bits, instead of its
11695         lowest-addressed ones.  Rename type_len to max_offset.
11696         (read_pieced_value): Mirror above changes to write_pieced_value as
11697         applicable.
11698
11699 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11700
11701         * dwarf2loc.c (write_pieced_value): In DWARF_VALUE_MEMORY,
11702         truncate full bytes from dest_offset_bits before using it as an
11703         offset into the buffer.
11704
11705 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11706
11707         * dwarf2loc.c (write_pieced_value): Include transfer size in
11708         byte-wise check.
11709
11710 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11711
11712         * dwarf2loc.c (write_pieced_value): Fix copy/paste error in the
11713         calculation of this_size.
11714
11715 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11716
11717         * dwarf2loc.c (read_pieced_value): Respect parent value's offset
11718         when targeting a bit-field.
11719         (write_pieced_value): Likewise.
11720
11721 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11722
11723         * dwarf2loc.c (struct piece_closure) <addr_size>: Remove field.
11724         (allocate_piece_closure): Drop addr_size parameter.
11725         (dwarf2_evaluate_loc_desc_full): Adjust call to
11726         allocate_piece_closure.
11727
11728 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11729
11730         PR gdb/21226
11731         * dwarf2loc.c (read_pieced_value): Anchor stack value pieces at
11732         the LSB end, independent of endianness.
11733
11734 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11735
11736         * dwarf2loc.c (write_pieced_value): Fix order of calculations for
11737         size capping.
11738
11739 2017-06-13  Yao Qi  <yao.qi@linaro.org>
11740
11741         * mips-linux-nat.c: Move include features/mips*-linux.c to
11742         mips-linux-tdep.c.
11743         (_initialize_mips_linux_nat): Move initialize_tdesc_mips* calls
11744         to mips-linux-tdep.c.
11745         * mips-linux-tdep.c: Include features/mips*-linux.c
11746         (_initialize_mips_linux_tdep): Call initialize_tdesc_mips*
11747         functions.
11748         * mips-linux-tdep.h (tdesc_mips_linux): Declare.
11749         (tdesc_mips_dsp_linux, tdesc_mips64_linux): Declare.
11750         (tdesc_mips64_dsp_linux): Declare.
11751
11752 2017-06-12  Tom Tromey  <tom@tromey.com>
11753
11754         * valprint.h (val_print_type_code_int): Remove.
11755         * valprint.c (generic_val_print_int): Always call
11756         val_print_scalar_formatted.
11757         (val_print_type_code_int): Remove.
11758         * printcmd.c (print_scalar_formatted): Handle options->format==0.
11759         * f-valprint.c (f_val_print): Use val_print_scalar_formatted.
11760         * c-valprint.c (c_val_print_int): Use val_print_scalar_formatted.
11761         * ada-valprint.c (ada_val_print_num): Use
11762         val_print_scalar_formatted.
11763
11764 2017-06-12  Tom Tromey  <tom@tromey.com>
11765
11766         * printcmd.c (print_scalar_formatted): Unify the two switches.
11767         Don't convert scalars to LONGEST.
11768
11769 2017-06-12  Tom Tromey  <tom@tromey.com>
11770
11771         PR exp/16225:
11772         * valprint.h (print_decimal_chars): Update.
11773         * valprint.c (maybe_negate_by_bytes): New function.
11774         (print_decimal_chars): Add "is_signed" argument.
11775         * printcmd.c (print_scalar_formatted): Update.
11776
11777 2017-06-12  Tom Tromey  <tom@tromey.com>
11778
11779         PR exp/16225:
11780         * valprint.h (print_binary_chars, print_hex_chars): Update.
11781         * valprint.c (val_print_type_code_int): Update.
11782         (print_binary_chars): Add "zero_pad" argument.
11783         (emit_octal_digit): New function.
11784         (print_octal_chars): Don't zero-pad.
11785         (print_decimal_chars): Likewise.
11786         (print_hex_chars): Add "zero_pad" argument.
11787         * sh64-tdep.c (sh64_do_fp_register): Update.
11788         * regcache.c (regcache::dump): Update.
11789         * printcmd.c (print_scalar_formatted): Update.
11790         * infcmd.c (default_print_one_register_info): Update.
11791
11792 2017-06-12  Pedro Alves  <palves@redhat.com>
11793             Alan Hayward  <alan.hayward@arm.com>
11794
11795         * mips-tdep.c (MAX_MIPS_ABI_REGSIZE): New.
11796         (mips_eabi_push_dummy_call): Rename local 'regsize' to
11797         'abi_regsize'.  Rename local array 'valbuf' to 'ref_valbuf', and
11798         use MAX_MIPS_ABI_REGSIZE instead of MAX_REGISTER_SIZE to size it.
11799         Assert that abi_regsize bytes fit in 'ref_valbuf'.
11800
11801 2017-06-12  Pedro Alves  <palves@redhat.com>
11802
11803         * dwarf2read.c (mapped_symtab::data): Now a vector of
11804         symtab_index_entry instead of vector of
11805         std::unique_ptr<symtab_index_entry>.  All users adjusted to check
11806         whether an element's name is NULL instead of checking whether the
11807         element itself is NULL.
11808         (find_slot): Change return type.  Adjust.
11809         (hash_expand, , add_index_entry, uniquify_cu_indices)
11810         (write_hash_table): Adjust.
11811
11812 2017-06-12  Pedro Alves  <palves@redhat.com>
11813
11814         * dwarf2read.c (recursively_count_psymbols): New function.
11815         (write_psymtabs_to_index): Call it to compute number of psyms and
11816         pass estimate size of psyms_seen to unordered_set's ctor.
11817
11818 2017-06-12  Pedro Alves  <palves@redhat.com>
11819
11820         * dwarf2read.c (write_hash_table): Check if key already exists
11821         before emplacing.
11822
11823 2017-06-12  Pedro Alves  <palves@redhat.com>
11824
11825         * dwarf2read.c (data_buf::append_space): Rename to...
11826         (data_buf::grow): ... this, and make private.  Adjust all callers.
11827         (data_buf::append_uint): New method.
11828         (add_address_entry, write_one_signatured_type)
11829         (write_psymtabs_to_index): Use it.
11830
11831 2017-06-12  Pedro Alves  <palves@redhat.com>
11832
11833         * dwarf2read.c (file_write(FILE *, const void *, size_t)): Delete.
11834         (file_write (FILE *, const std::vector<Elem>&)): Delete.
11835         (data_buf::file_write): Call ::fwrite directly.
11836
11837 2017-06-12  Pedro Alves  <palves@redhat.com>
11838
11839         * dwarf2read.c (uniquify_cu_indices): Use std::unique and
11840         std::vector::erase.
11841
11842 2017-06-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
11843
11844         Code cleanup: C++ify .gdb_index producer.
11845         * dwarf2read.c: Include <unordered_set> and <unordered_map>.
11846         (MAYBE_SWAP) [WORDS_BIGENDIAN]: Cast to offset_type.
11847         (struct strtab_entry, hash_strtab_entry, eq_strtab_entry)
11848         (create_strtab, add_string): Remove.
11849         (file_write, data_buf): New.
11850         (struct symtab_index_entry): Use std::vector for cu_indices.
11851         (struct mapped_symtab): Use std::vector for data.
11852         (hash_symtab_entry, eq_symtab_entry, delete_symtab_entry)
11853         (create_symbol_hash_table, create_mapped_symtab, cleanup_mapped_symtab):
11854         Remove.
11855         (find_slot): Change return type.  Update it to the new data structures.
11856         (hash_expand, add_index_entry): Update it to the new data structures.
11857         (offset_type_compare): Remove.
11858         (uniquify_cu_indices): Update it to the new data structures.
11859         (c_str_view, c_str_view_hasher, vector_hasher): New.
11860         (add_indices_to_cpool): Remove.
11861         (write_hash_table): Update it to the new data structures.
11862         (struct psymtab_cu_index_map, hash_psymtab_cu_index)
11863         (eq_psymtab_cu_index): Remove.
11864         (psym_index_map): New typedef.
11865         (struct addrmap_index_data): Change addr_obstack pointer to data_buf
11866         reference and std::unordered_map for cu_index_htab.
11867         (add_address_entry, add_address_entry_worker, write_address_map)
11868         (write_psymbols): Update it to the new data structures.
11869         (write_obstack): Remove.
11870         (struct signatured_type_index_data): Change types_list to a data_buf
11871         reference and psyms_seen to a std::unordered_set reference.
11872         (write_one_signatured_type, recursively_write_psymbols)
11873         (write_psymtabs_to_index): Update it to the new data structures.
11874
11875 2017-06-11  Simon Marchi  <simon.marchi@ericsson.com>
11876
11877         * NEWS (Changes since GDB 8.0): Announce {set,show} debug
11878         separate-debug-file commands.
11879         * symfile.h (separate_debug_file_debug): New global.
11880         * symfile.c (separate_debug_file_debug): New global.
11881         (separate_debug_file_exists, find_separate_debug_file): Add
11882         debug output.
11883         (_initialize_symfile): Add "set debug separate-debug-file"
11884         command.
11885         * build-id.c (build_id_to_debug_bfd,
11886         find_separate_debug_file_by_buildid): Add debug output.
11887
11888 2017-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
11889
11890         * gdbarch.sh (displaced_step_free_closure): Remove.
11891         * gdbarch.h, gdbarch.c: Re-generate.
11892         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Don't set
11893         displaced_step_free_closure.
11894         * amd64-linux-tdep.c (amd64_linux_init_abi_common): Likewise.
11895         * arm-linux-tdep.c (arm_linux_init_abi): Likewise.
11896         * i386-linux-tdep.c (i386_linux_init_abi): Likewise.
11897         * rs6000-aix-tdep.c (rs6000_aix_init_osabi): Likewise.
11898         * rs6000-tdep.c (rs6000_gdbarch_init): Likewise.
11899         * s390-linux-tdep.c (s390_gdbarch_init): Likewise.
11900         * arch-utils.h (simple_displaced_step_free_closure): Remove.
11901         * arch-utils.c (simple_displaced_step_free_closure): Remove.
11902         * infrun.c (displaced_step_clear): Call xfree instead of
11903         gdbarch_displaced_step_free_closure.
11904
11905 2017-06-08  Sergio Durigan Junior  <sergiodj@redhat.com>
11906
11907         * common/common-utils.c (stringify_argv): Check for "arg[0] !=
11908         NULL".
11909
11910 2017-06-08 Alan Hayward  <alan.hayward@arm.com>
11911
11912         * mn10300-tdep.c (MN10300_MAX_REGISTER_SIZE): Add.
11913         (mn10300_extract_return_value): Use MN10300_MAX_REGISTER_SIZE.
11914         (mn10300_push_dummy_call): Likewise.
11915
11916 2017-06-08  Alan Hayward  <alan.hayward@arm.com>
11917
11918         * mi/mi-main.c (register_changed_p): Use value_contents_eq.
11919
11920 2017-06-08  Alan Hayward  <alan.hayward@arm.com>
11921
11922         * mi/mi-main.c (register_changed_p): Use cooked_read_value.
11923
11924 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
11925
11926         * NEWS (Changes since GDB 8.0): Announce that GDBserver is now
11927         able to start inferiors using a shell.
11928         (New remote packets): Announce new packet "QStartupWithShell".
11929         * remote.c: Add PACKET_QStartupWithShell.
11930         (extended_remote_create_inferior): Handle new
11931         PACKET_QStartupWithShell.
11932         (remote_protocol_features) <QStartupWithShell>: New entry for
11933         PACKET_QStartupWithShell.
11934         (_initialize_remote): Call "add_packet_config_cmd" for
11935         QStartupShell.
11936
11937 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
11938             Pedro Alves  <palves@redhat.com>
11939
11940         * Makefile.in (HFILES_NO_SRCDIR): Add "common/common-inferior.h"
11941         and "nat/fork-inferior.h".
11942         * common/common-inferior.h: New file, with contents from
11943         "gdb/inferior.h".
11944         * commom/common-utils.c: Include "common-utils.h".
11945         (stringify_argv): New function.
11946         * common/common-utils.h (stringify_argv): New prototype.
11947         * configure.nat: Add "fork-inferior.o" as a dependency for
11948         "*linux*", "fbsd*" and "nbsd*" hosts.
11949         * corefile.c (get_exec_file): Update comment.
11950         * darwin-nat.c (darwin_ptrace_him): Call "gdb_startup_inferior"
11951         instead of "startup_inferior".
11952         (darwin_create_inferior): Call "add_thread_silent" after
11953         "fork_inferior".
11954         * fork-child.c: Cleanup unnecessary includes.
11955         (SHELL_FILE): Move to "common/common-fork-child.c".
11956         (environ): Likewise.
11957         (exec_wrapper): Initialize.
11958         (get_exec_wrapper): New function.
11959         (breakup_args): Move to "common/common-fork-child.c"; rename to
11960         "breakup_args_for_exec".
11961         (escape_bang_in_quoted_argument): Move to
11962         "common/common-fork-child.c".
11963         (saved_ui): New variable.
11964         (prefork_hook): New function.
11965         (postfork_hook): Likewise.
11966         (postfork_child_hook): Likewise.
11967         (gdb_startup_inferior): Likewise.
11968         (fork_inferior): Move to "common/common-fork-child.c".  Update
11969         function to support gdbserver.
11970         (startup_inferior): Likewise.
11971         * gdbcore.h (get_exec_file): Remove declaration.
11972         * gnu-nat.c (gnu_create_inferior): Call "gdb_startup_inferior"
11973         instead of "startup_inferior".  Call "add_thread_silent" after
11974         "fork_inferior".
11975         * inf-ptrace.c: Include "nat/fork-inferior.h" and "utils.h".
11976         (inf_ptrace_create_inferior): Call "gdb_startup_inferior"
11977         instead of "startup_inferior".  Call "add_thread_silent" after
11978         "fork_inferior".
11979         * inferior.h: Include "common-inferior.h".
11980         (trace_start_error): Move to "common/common-utils.h".
11981         (trace_start_error_with_name): Likewise.
11982         (fork_inferior): Move prototype to "nat/fork-inferior.h".
11983         (startup_inferior): Likewise.
11984         (gdb_startup_inferior): New prototype.
11985         * nat/fork-inferior.c: New file, with contents from "fork-child.c".
11986         * nat/fork-inferior.h: New file.
11987         * procfs.c (procfs_init_inferior): Call "gdb_startup_inferior"
11988         instead of "startup_inferior".  Call "add_thread_silent" after
11989         "fork_inferior".
11990         * target.h (target_terminal_init): Move prototype to
11991         "target/target.h".
11992         (target_terminal_inferior): Likewise.
11993         (target_terminal_ours): Likewise.
11994         * target/target.h (target_terminal_init): New prototype, moved
11995         from "target.h".
11996         (target_terminal_inferior): Likewise.
11997         (target_terminal_ours): Likewise.
11998         * utils.c (gdb_flush_out_err): New function.
11999
12000 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
12001
12002         * Makefile.in (HFILES_NO_SRCDIR): Add "common/common-gdbthread.h".
12003         * common/common-gdbthread.h: New file, with parts from
12004         "gdb/gdbthread.h".
12005         * gdbthread.h: Include "common-gdbthread.h".
12006         (switch_to_thread): Moved to "common/common-gdbthread.h".
12007
12008 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
12009
12010         * Makefile.in (SFILES): Add "common/job-control.c".
12011         (HFILES_NO_SRCDIR): Add "common/job-control.h".
12012         (COMMON_OBS): Add "job-control.o".
12013         * common/job-control.c: New file, with contents from
12014         "gdb/inflow.c".
12015         * common/job-control.h: New file, with contents from "terminal.h".
12016         * fork-child.c: Include "job-control.h".
12017         * inflow.c: Include "job-control.h".
12018         (gdb_setpgid): Move to "common/common-inflow.c".
12019         (_initialize_inflow): Move setting of "job_control" to
12020         "handle_job_control".
12021         * terminal.h (job_control): Moved to "common/common-terminal.h".
12022         (gdb_setpgid): Likewise.
12023         * top.c: Include "job_control.h".
12024         * utils.c: Likewise.
12025         (job_control): Moved to "job-control.c".
12026
12027 2017-06-07  Pedro Alves  <palves@redhat.com>
12028
12029         * Makefile.in (SFILES): Add gdb_regex.c.
12030         (COMMON_OBS): Add gdb_regex.o.
12031         * ada-lang.c (ada_add_standard_exceptions)
12032         (ada_add_exceptions_from_frame, name_matches_regex)
12033         (ada_add_global_exceptions, ada_exceptions_list_1): Change regex
12034         parameter type to compiled_regex.  Adjust.
12035         (ada_exceptions_list): Use compiled_regex.
12036         * break-catch-throw.c (exception_catchpoint::pattern): Now a
12037         std::unique_ptr<compiled_regex>.
12038         (exception_catchpoint::~exception_catchpoint): Remove regfree
12039         call.
12040         (check_status_exception_catchpoint): Adjust to use compiled_regex.
12041         (handle_gnu_v3_exceptions): Adjust to use compiled_regex.
12042         * breakpoint.c (solib_catchpoint::compiled): Now a
12043         std::unique_ptr<compiled_regex>.
12044         (solib_catchpoint::~solib_catchpoint): Remove regfree call.
12045         (check_status_catch_solib): Adjust to use compiled_regex.
12046         (add_solib_catchpoint): Adjust to use compiled_regex.
12047         * cli/cli-cmds.c (apropos_command): Use compiled_regex.
12048         * cli/cli-decode.c (apropos_cmd): Change regex parameter to
12049         compiled_regex reference.  Adjust to use it.
12050         * cli/cli-decode.h: Remove struct re_pattern_buffer forward
12051         declaration.  Include "gdb_regex.h".
12052         (apropos_cmd): Change regex parameter to compiled_regex reference.
12053         * gdb_regex.c: New file.
12054         * gdb_regex.h (make_regfree_cleanup, get_regcomp_error): Delete
12055         declarations.
12056         (class compiled_regex): New.
12057         * linux-tdep.c: Include "common/gdb_optional.h".
12058         (struct mapping_regexes): New, factored out from
12059         mapping_is_anonymous_p, and adjusted to use compiled_regex.
12060         (mapping_is_anonymous_p): Use mapping_regexes wrapped in a
12061         gdb::optional and remove cleanups.  Adjust to compiled_regex.
12062         * probe.c: Include "common/gdb_optional.h".
12063         (collect_probes): Use compiled_regex and gdb::optional and remove
12064         cleanups.
12065         * skip.c: Include "common/gdb_optional.h".
12066         (skiplist_entry::compiled_function_regexp): Now a
12067         gdb::optional<compiled_regex>.
12068         (skiplist_entry::compiled_function_regexp_is_valid): Delete field.
12069         (free_skiplist_entry): Remove regfree call.
12070         (compile_skip_regexp, skip_rfunction_p): Adjust to use
12071         compiled_regex and gdb::optional.
12072         * symtab.c: Include "common/gdb_optional.h".
12073         (search_symbols): Use compiled_regex and gdb::optional.
12074         * utils.c (do_regfree_cleanup, make_regfree_cleanup)
12075         (get_regcomp_error, compile_rx_or_error): Delete.  Some bits moved
12076         to gdb_regex.c.
12077
12078 2017-06-07  Alan Hayward  <alan.hayward@arm.com>
12079
12080         * regcache.c (regcache::save): Avoid buffer use.
12081         (regcache::dump): Likewise.
12082
12083 2017-06-07  Alan Hayward  <alan.hayward@arm.com>
12084
12085         * sh-tdep.c (sh_pseudo_register_read): Remove
12086         MAX_REGISTER_SIZE.
12087         (sh_pseudo_register_write): Likewise.
12088         * sh64-tdep.c (sh64_pseudo_register_read): Likewise.
12089         (sh64_pseudo_register_write): Likewise
12090
12091 2017-06-07  Alan Hayward  <alan.hayward@arm.com>
12092
12093         * aarch64-tdep.c (aarch64_store_return_value): Use
12094         V_REGISTER_SIZE.
12095         (aarch64_pseudo_read_value): Likewise.
12096         (aarch64_pseudo_write): Likewise.
12097
12098 2017-06-06  Yao Qi  <yao.qi@linaro.org>
12099
12100         * regformats/regdef.h (set_register_cache): Remove the
12101         declaration.
12102
12103 2017-06-06 Alan Hayward  <alan.hayward@arm.com>
12104
12105         * frame.c (frame_unwind_register_signed): Use
12106         frame_unwind_register_value.
12107
12108 2017-06-06  Pedro Alves  <palves@redhat.com>
12109
12110         PR breakpoints/21553
12111         * breakpoint.c (create_breakpoints_sal_default)
12112         (init_breakpoint_sal, create_breakpoint_sal): Use
12113         gdb::unique_xmalloc_ptr for string parameters.
12114         (create_breakpoint): Constify 'extra_string' and 'cond_string'
12115         parameters.  Replace cleanups with gdb::unique_xmalloc_ptr.
12116         (base_breakpoint_create_breakpoints_sal)
12117         (bkpt_create_breakpoints_sal, tracepoint_create_breakpoints_sal)
12118         (strace_marker_create_breakpoints_sal)
12119         (create_breakpoints_sal_default): Use gdb::unique_xmalloc_ptr for
12120         string parameters.
12121         * breakpoint.h (breakpoint_ops::create_breakpoints_sal): Use
12122         gdb::unique_xmalloc_ptr for string parameters.
12123         (create_breakpoint): Constify 'extra_string' and 'cond_string'
12124         parameters.
12125
12126 2017-06-06  Alan Hayward  <alan.hayward@arm.com>
12127
12128         * alpha-tdep.c (alpha_register_to_value): Use
12129         get_frame_register_value.
12130         (alpha_value_to_register): Use ALPHA_REGISTER_SIZE.
12131
12132 2017-06-06  Alan Hayward  <alan.hayward@arm.com>
12133
12134         * ia64-tdep.c (IA64_MAX_FP_REGISTER_SIZE) Add.
12135         (ia64_register_to_value): Use IA64_MAX_FP_REGISTER_SIZE.
12136         (ia64_value_to_register): Likewise.
12137         (ia64_extract_return_value): Likewise.
12138         (ia64_store_return_value): Likewise.
12139         (ia64_push_dummy_call): Likewise.
12140
12141 2017-06-04  Joel Brobecker  <brobecker@adacore.com>
12142
12143         GDB 8.0 released.
12144
12145 2017-06-03  Simon Marchi  <simon.marchi@ericsson.com>
12146
12147         * x86-linux-nat.c (struct arch_lwp_info): Remove.
12148
12149 2017-06-03  Simon Marchi  <simon.marchi@polymtl.ca>
12150
12151         * linux-nat.c (linux_nat_post_attach_wait): Remove FIRST
12152         parameter.
12153         (linux_nat_attach): Adjust call to linux_nat_post_attach_wait.
12154
12155 2017-06-02  Simon Marchi  <simon.marchi@ericsson.com>
12156
12157         * event-loop.c (poll_timers): Unallocate timer using delete
12158         instead of xfree.
12159
12160 2017-06-02  Simon Marchi  <simon.marchi@polymtl.ca>
12161
12162         * breakpoint.h (struct breakpoint_ops) <dtor>: Remove.
12163         (struct breakpoint) <~breakpoint>: New.
12164         (struct watchpoint): Inherit from breakpoint.
12165         <~watchpoint>: New.
12166         <base>: Remove.
12167         (struct tracepoint): Inherit from breakpoint.
12168         <base>: Remove.
12169         * breakpoint.c (longjmp_breakpoint_ops): Remove.
12170         (struct longjmp_breakpoint): Inherit from breakpoint.
12171         <~longjmp_breakpoint>: New.
12172         <base>: Remove.
12173         (new_breakpoint_from_type): Remove casts.
12174         (watchpoint_in_thread_scope): Remove reference to base field.
12175         (watchpoint_del_at_next_stop): Likewise.
12176         (update_watchpoint): Likewise.
12177         (watchpoint_check): Likewise.
12178         (bpstat_check_watchpoint): Likewise.
12179         (set_longjmp_breakpoint): Likewise.
12180         (struct fork_catchpoint): Inherit from breakpoint.
12181         <base>: Remove.
12182         (struct solib_catchpoint): Inherit from breakpoint.
12183         <~solib_catchpoint>: New.
12184         <base>: Remove.
12185         (dtor_catch_solib): Change to ...
12186         (solib_catchpoint::~solib_catchpoint): ... this.
12187         (breakpoint_hit_catch_solib): Remove reference to base field.
12188         (add_solib_catchpoint): Likewise.
12189         (create_fork_vfork_event_catchpoint): Likewise.
12190         (struct exec_catchpoint): Inherit from breakpoint.
12191         <~exec_catchpoint>: New.
12192         <base>: Remove.
12193         (dtor_catch_exec): Change to ...
12194         (exec_catchpoint::~exec_catchpoint): ... this.
12195         (dtor_watchpoint): Change to ...
12196         (watchpoint::~watchpoint): ... this.
12197         (watch_command_1): Remove reference to base field.
12198         (catch_exec_command_1): Likewise.
12199         (base_breakpoint_dtor): Change to ...
12200         (breakpoint::~breakpoint): ... this.
12201         (base_breakpoint_ops): Remove dtor field value.
12202         (longjmp_bkpt_dtor): Change to ...
12203         (longjmp_breakpoint::~longjmp_breakpoint): ... this.
12204         (strace_marker_create_breakpoints_sal): Remove reference to base
12205         field.
12206         (delete_breakpoint): Don't manually call breakpoint destructor.
12207         (create_tracepoint_from_upload): Remove reference to base field.
12208         (trace_pass_set_count): Likewise.
12209         (initialize_breakpoint_ops): Don't initialize
12210         momentary_breakpoint_ops, don't set dtors.
12211         * ada-lang.c (struct ada_catchpoint): Inherit from breakpoint.
12212         <~ada_catchpoint>: New.
12213         <base>: Remove.
12214         (create_excep_cond_exprs): Remove reference to base field.
12215         (dtor_exception): Change to ...
12216         (ada_catchpoint::~ada_catchpoint): ... this.
12217         (dtor_catch_exception): Remove.
12218         (dtor_catch_exception_unhandled): Remove.
12219         (dtor_catch_assert): Remove.
12220         (create_ada_exception_catchpoint): Remove reference to base
12221         field.
12222         (initialize_ada_catchpoint_ops): Don't set dtors.
12223         * break-catch-sig.c (struct signal_catchpoint): Inherit from
12224         breakpoint.
12225         <~signal_catchpoint>: New.
12226         <base>: Remove.
12227         (signal_catchpoint_dtor): Change to ...
12228         (signal_catchpoint::~signal_catchpoint): ... this.
12229         (create_signal_catchpoint): Remove reference to base field.
12230         (initialize_signal_catchpoint_ops): Don't set dtor.
12231         * break-catch-syscall.c (struct syscall_catchpoint): Inherit
12232         from breakpoint.
12233         <~syscall_catchpoint>: New.
12234         <base>: Remove.
12235         (dtor_catch_syscall): Change to ...
12236         (syscall_catchpoint::~syscall_catchpoint): ... this.
12237         (create_syscall_event_catchpoint): Remove reference to base
12238         field.
12239         (initialize_syscall_catchpoint_ops): Don't set dtor.
12240         * break-catch-throw.c (struct exception_catchpoint): Inherit
12241         from breakpoint.
12242         <~exception_catchpoint>: New.
12243         <base>: Remove.
12244         (dtor_exception_catchpoint): Change to ...
12245         (exception_catchpoint::~exception_catchpoint): ... this.
12246         (handle_gnu_v3_exceptions): Remove reference to base field.
12247         (initialize_throw_catchpoint_ops): Don't set dtor.
12248         * ctf.c (ctf_get_traceframe_address): Remove reference to base
12249         field.
12250         * remote.c (remote_get_tracepoint_status): Likewise.
12251         * tracefile-tfile.c (tfile_get_traceframe_address): Likewise.
12252         * tracefile.c (tracefile_fetch_registers): Likewise.
12253         * tracepoint.c (actions_command): Likewise.
12254         (validate_actionline): Likewise.
12255         (tfind_1): Likewise.
12256         (get_traceframe_location): Likewise.
12257         (find_matching_tracepoint_location): Likewise.
12258         (parse_tracepoint_status): Likewise.
12259         * mi/mi-cmd-break.c (mi_cmd_break_passcount): Likewise.
12260
12261 2017-06-02  Simon Marchi  <simon.marchi@polymtl.ca>
12262
12263         * breakpoint.c (struct longjmp_breakpoint): New struct.
12264         (is_tracepoint_type): Change return type to bool.
12265         (is_longjmp_type): New function.
12266         (new_breakpoint_from_type): Handle longjmp kinds of breakpoints.
12267         (set_raw_breakpoint_without_location): Use
12268         new_breakpoint_from_type.
12269         (set_raw_breakpoint): Likewise.
12270
12271 2017-06-02  Simon Marchi  <simon.marchi@polymtl.ca>
12272
12273         * breakpoint.c (new_breakpoint_from_type): New function.
12274         (create_breakpoint_sal): Use new_breakpoint_from_type and
12275         unique_ptr.
12276         (create_breakpoint): Likewise.
12277
12278 2017-05-31  Simon Marchi  <simon.marchi@ericsson.com>
12279
12280         * memattr.c (mem_info_command): Rename to ...
12281         (info_mem_command): ... this.
12282         (mem_enable_command): Rename to ...
12283         (enable_mem_command): ... this.
12284         (mem_disable_command): Rename to ...
12285         (disable_mem_command): ... this.
12286         (mem_delete_command): Rename to ...
12287         (delete_mem_command): ... this.
12288         (_initialize_mem): Adjust function names.
12289
12290 2017-05-31  Markus Metzger  <markus.t.metzger@intel.com>
12291
12292         * btrace.c (handle_pt_insn_events): New.
12293         (ftrace_add_pt): Call handle_pt_insn_events.  Rename ERRCODE into
12294         STATUS.  Split into this and ...
12295         (handle_pt_insn_event_flags): ... this.
12296
12297 2017-05-31  Markus Metzger  <markus.t.metzger@intel.com>
12298
12299         * configure.ac: Check for pt_insn_event, struct pt_insn.enabled,
12300         and struct pt_insn.resynced.
12301         * configure: Regenerated.
12302         * config.in: Regenerated.
12303
12304 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12305
12306         * btrace.c (ftrace_find_call_by_number): New function.
12307         (ftrace_new_function): Store objects, not pointers.
12308         (ftrace_find_call_by_number, ftrace_new_return, ftrace_new_switch,
12309         ftrace_new_gap, ftrace_update_function,
12310         ftrace_compute_global_level_offset, btrace_stich_bts, btrace_clear,
12311         btrace_insn_get, btrace_insn_get_error, btrace_insn_end,
12312         btrace_insn_next, btrace_insn_prev, ptrace_find_insn_by_number,
12313         btrace_ends_with_single_insn, btrace_call_get): Account for
12314         btrace_thread_info::functions now storing objects.
12315         * btrace.h (struct btrace_thread_info): Add constructor.
12316         (struct btrace_thread_info) <functions>: Make std::vector.
12317         (struct btrace_thread_info) <prev, next, up, insn, errcode, flags):
12318         Initialize with default values.
12319         * record-btrace.c (record_btrace_frame_sniffer): Account for
12320         btrace_thread_info::functions now storing objects.
12321
12322 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12323
12324         * btrace.c: Remove typedef bfun_s.
12325         (ftrace_new_gap): Directly add gaps to the list of gaps.
12326         (btrace_bridge_gaps, btrace_compute_ftrace_bts, pt_btrace_insn_flags,
12327         ftrace_add_pt, btrace_compute_ftrace_pt, btrace_compute_ftrace_1,
12328         btrace_finalize_ftrace, btrace_compute_ftrace): Use std::vector
12329         instead of gdb VEC.
12330
12331 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12332
12333         * btrace.c (ftrace_fixup_caller, ftrace_new_return, ftrace_connect_bfun,
12334         ftrace_bridge_gap): Replace references to btrace_thread_info::segment
12335         with btrace_thread_info::next_segment and
12336         btrace_thread_info::prev_segment.
12337         * btrace.h: Remove struct btrace_func_link.
12338         (struct btrace_function): Replace pair of function segment pointers
12339         with pair of indices.
12340         * python/py-record-btrace.c (btpy_call_prev_sibling,
12341         btpy_call_next_sibling): Replace references to
12342         btrace_thread_info::segment with btrace_thread_info::next_segment and
12343         btrace_thread_info::prev_segment.
12344         * record-btrace.c (record_btrace_frame_this_id): Use
12345         btrace_find_call_by_number.
12346
12347 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12348
12349         * btrace.c (ftrace_new_function, ftrace_fixup_level,
12350         ftrace_connect_bfun, ftrace_bridge_gap, btrace_bridge_gaps,
12351         btrace_insn_next, btrace_insn_prev): Remove references to
12352         btrace_thread_info::flow.
12353         * btrace.h (struct btrace_function): Remove FLOW.
12354
12355 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12356
12357         * btrace.c (ftrace_find_call_by_number): New function.
12358         (ftrace_update_caller, ftrace_new_call, ftrace_new_tailcall,
12359         ftrace_get_caller, ftrace_find_call, ftrace_new_return,
12360         ftrace_match_backtrace, ftrace_connect_bfun, ftrace_connect_backtrace,
12361         ftrace_bridge_gap, btrace_bridge_gaps): Use btrace_function::up as an
12362         index.
12363         * btrace.h (struct btrace_function): Turn UP into an index.
12364         * python/py-record-btrace.c (btpy_call_up): Use btrace_function::up
12365         as an index.
12366         * record-btrace.c (record_btrace_frame_unwind_stop_reason,
12367         record_btrace_frame_prev_register, record_btrace_frame_sniffer,
12368         record_btrace_tailcall_frame_sniffe): Use btrace_find_call_by_number.
12369
12370 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12371
12372         * btrace.c (ftrace_new_function, ftrace_new_call, ftrace_new_tailcall,
12373         ftrace_new_return, ftrace_new_switch, ftrace_new_gap,
12374         ftrace_update_function, ftrace_compute_global_level_offset,
12375         btrace_compute_ftrace_bts, ftrace_add_pt, btrace_compute_ftrace_pt,
12376         btrace_stitch_bts, btrace_fetch, btrace_clear, btrace_insn_number,
12377         btrace_insn_end, btrace_is_empty): Remove references to
12378         btrace_thread_info::begin and btrace_thread_info::end.
12379         * btrace.h (struct btrace_thread_info): Remove BEGIN and END.
12380         (struct btrace_thread_info) <functions>: Adjust comment.
12381         * record-btrace.c (record_btrace_start_replaying): Remove reference to
12382         btrace_thread_info::begin.
12383
12384 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12385
12386         * btrace.c (ftrace_new_function, ftrace_new_call, ftrace_new_tailcall,
12387         ftrace_new_return, ftrace_new_switch, ftrace_new_gap,
12388         ftrace_update_function): Remove arguments that implicitly were always
12389         BTINFO->END.
12390         (btrace_compute_ftrace_bts, ftrace_add_pt, btrace_compute_ftrace_pt):
12391         Don't pass BTINFO->END.
12392
12393 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12394
12395         * btrace.c: (btrace_insn_get, btrace_insn_get_error, btrace_insn_number,
12396         btrace_insn_begin, btrace_insn_end, btrace_insn_next, btrace_insn_prev,
12397         btrace_find_insn_by_number): Replace function segment pointer with
12398         index.
12399         (btrace_insn_cmp): Simplify.
12400         * btrace.h: (struct btrace_insn_iterator) Rename index to
12401         insn_index.  Replace function segment pointer with index into function
12402         segment vector.
12403         * record-btrace.c (record_btrace_call_history): Replace function
12404         segment pointer use with index.
12405         (record_btrace_frame_sniffer): Retrieve function call segment through
12406         vector.
12407         (record_btrace_set_replay): Remove defunc't safety check.
12408
12409 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12410
12411         * btrace.c (btrace_ends_with_single_insn): New function.
12412         (btrace_call_get, btrace_call_number, btrace_call_begin,
12413         btrace_call_end, btrace_call_next, btrace_call_prev,
12414         btrace_find_call_by_number): Use index into call segment vector
12415         instead of pointer.
12416         (btrace_call_cmp): Simplify.
12417         * btrace.h (struct btrace_call_iterator): Replace function call segment
12418         pointer with index into vector.
12419         * record-btrace.c (record_btrace_call_history): Use index instead of
12420         pointer.
12421
12422 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12423
12424         * btrace.c (btrace_insn_begin, btrace_insn_end,
12425         btrace_find_insn_by_number): Add btinfo to iterator.
12426         * btrace.h (struct btrace_insn_iterator): Add btinfo.
12427
12428 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12429
12430         * btrace.c (ftrace_new_function): Add btrace_thread_info to arguments
12431         and save pointers directly.
12432         (ftrace_new_call, ftrace_new_tailcall, ftrace_new_return,
12433         ftrace_new_switch, ftrace_new_gap, ftrace_update_function,
12434         ftrace_add_pt): Add btrace_thread_info to arguments.  Adjust for
12435         changed signature of functions.
12436         (btrace_compute_ftrace_pt): Adjust for changed signature of functions.
12437         (btrace_fetch): Remove code that adds btrace_function pointers to
12438         vector of btrace_functions.
12439         (btrace_clear): Simplify freeing vector of btrace_functions.
12440
12441 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12442
12443         * btrace.c (btrace_fetch, btrace_clear, btrace_find_insn_by_number):
12444         Replace VEC_* with std::vector functions.
12445         * btrace.h: Add include: vector. Remove typedef for DEF_VEC_P.
12446         (struct btrace_thread_info)<functions>: Change type to std::vector.
12447
12448 2017-05-30  Simon Marchi  <simon.marchi@ericsson.com>
12449
12450         * NEWS (Changes in GDB 8.0): Remove extra empty line.  Move
12451         "Removed targets and native configurations" up.  Merge duplicate
12452         "New commands" sub-sections.  Add "New options" sub-sections.
12453
12454 2017-05-26  Alan Hayward  <alan.hayward@arm.com>
12455
12456         * defs.h (copy_integer_to_size): New declaration.
12457         * findvar.c (copy_integer_to_size): New function.
12458         (do_cint_test): New selftest function.
12459         (copy_integer_to_size_test): Likewise.
12460         (_initialize_findvar): Likewise.
12461         * mips-fbsd-tdep.c (mips_fbsd_supply_reg): Use raw_supply_integer.
12462         (mips_fbsd_collect_reg): Use raw_collect_integer.
12463         * mips-linux-tdep.c (supply_32bit_reg): Use raw_supply_integer.
12464         (mips64_fill_gregset): Use raw_collect_integer
12465         (mips64_fill_fpregset): Use raw_supply_integer.
12466         * regcache.c (regcache::raw_supply_integer): New function.
12467         (regcache::raw_collect_integer): Likewise.
12468         * regcache.h: (regcache::raw_supply_integer): New declaration.
12469         (regcache::raw_collect_integer): Likewise.
12470
12471 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12472
12473         * Makefile.in (SFILES): Add gdbarch-selftests.c.
12474         (COMMON_OBS): Add gdbarch-selftests.o.
12475         * frame.c [GDB_SELF_TESTS] (create_new_frame): New function.
12476         * frame.h [GDB_SELF_TESTS] (create_new_frame): Declare.
12477         * gdbarch-selftests.c: New file.
12478         * regcache.h (regcache) <~regcache>: Mark it virtual if
12479         GDB_SELF_TEST.
12480         <raw_write>: Likewise.
12481
12482 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12483
12484         * regcache.c (current_regcache): Change it to
12485         regcache::current_regcache.
12486         (regcache_observer_target_changed): Update.
12487         (regcache_thread_ptid_changed): Make it a regcache static
12488         method.
12489         (regcache_thread_ptid_changed): Update.
12490         (class regcache_access): New.
12491         (current_regcache_test): Update.
12492         (_initialize_regcache): Update.
12493         * regcache.h: Include forward_list.
12494         (regcache): Declare regcache_thread_ptid_changed and declare
12495         registers_changed_ptid as friend.
12496
12497 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12498
12499         * i387-tdep.c (i387_register_to_value): Use register_size
12500         instead of TYPE_LENGTH.
12501         * m68k-tdep.c (m68k_register_to_value): Likewise.
12502
12503 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12504
12505         * i387-tdep.c (i387_convert_register_p): Return false if type
12506         code isn't TYPE_CODE_FLT.
12507
12508 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12509
12510         * alpha-tdep.c (alpha_convert_register_p): Return true if type
12511         length is 4.
12512         (alpha_register_to_value): Remove type length check.
12513         (alpha_value_to_register): Likewise.
12514
12515 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12516
12517         * ia64-tdep.c (ia64_convert_register_p): Check type's code is
12518         TYPE_CODE_FLT.
12519
12520 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12521
12522         * m68k-tdep.c (m68k_convert_register_p): Check type's code is
12523         TYPE_CODE_FLT or not.
12524
12525 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12526
12527         * alpha-tdep.c (alpha_gdbarch_init): Use XCNEW instead of XNEW.
12528         * avr-tdep.c (avr_gdbarch_init): Likewise.
12529         * bfin-tdep.c (bfin_gdbarch_init): Likewise.
12530         * cris-tdep.c (cris_gdbarch_init): Likewise.
12531         * ft32-tdep.c (ft32_gdbarch_init): Likewise.
12532         * lm32-tdep.c (lm32_gdbarch_init): Likewise.
12533         * m32r-tdep.c (m32r_gdbarch_init): Likewise.
12534         * m68hc11-tdep.c (m68hc11_gdbarch_init): Likewise.
12535         * mep-tdep.c (mep_gdbarch_init): Likewise.
12536         * microblaze-tdep.c (microblaze_gdbarch_init): Likewise.
12537         * mips-tdep.c (mips_gdbarch_init): Likewise.
12538         * mn10300-tdep.c (mn10300_gdbarch_init): Likewise.
12539         * moxie-tdep.c (moxie_gdbarch_init): Likewise.
12540         * msp430-tdep.c (msp430_gdbarch_init): Likewise.
12541         * sh64-tdep.c (sh64_gdbarch_init): Likewise.
12542         * v850-tdep.c (v850_gdbarch_init): Likewise.
12543
12544 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12545
12546         * selftest-arch.c (tests_with_arch): Call registers_changed
12547         and reinit_frame_cache.
12548         * selftest.c (run_self_tests): Likewise.
12549
12550 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12551
12552         * rs6000-tdep.c (gdb_print_insn_powerpc): Remove.
12553         (rs6000_gdbarch_init): Don't call set_gdbarch_print_insn.
12554
12555 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12556
12557         * rl78-tdep.c (rl78_gdbarch_init): Don't call
12558         set_gdbarch_print_insn.
12559
12560 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12561
12562         * h8300-tdep.c (h8300_gdbarch_init): Don't call
12563         set_gdbarch_print_insn.
12564
12565 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12566
12567         * alpha-tdep.c (alpha_gdbarch_init): Don't call
12568         set_gdbarch_print_insn.
12569         * arc-tdep.c (arc_gdbarch_init): Likewise.
12570         * arch-utils.c: include dis-asm.h.
12571         (default_print_insn): New function.
12572         * arch-utils.h (default_print_insn): Declare.
12573         * avr-tdep.c (avr_gdbarch_init): Don't call set_gdbarch_print_insn.
12574         * bfin-tdep.c (bfin_gdbarch_init): Likewise.
12575         * cris-tdep.c (cris_delayed_get_disassembler): Remove.
12576         (cris_gdbarch_init): Don't call set_gdbarch_print_insn.
12577         * frv-tdep.c (frv_gdbarch_init): Likewise.
12578         * ft32-tdep.c (ft32_gdbarch_init): Likewise.
12579         * gdbarch.sh (print_insn): Use default_print_insn.
12580         * gdbarch.c: Regenerated.
12581         * hppa-tdep.c (hppa_gdbarch_init): Likewise.
12582         * iq2000-tdep.c (iq2000_gdbarch_init): Likewise.
12583         * lm32-tdep.c (lm32_gdbarch_init): Likewise.
12584         * m32c-tdep.c (m32c_gdbarch_init): Likewise.
12585         * m32r-tdep.c (m32r_gdbarch_init): Likewise.
12586         * m68hc11-tdep.c (gdb_print_insn_m68hc11): Remove.
12587         (m68hc11_gdbarch_init): Don't call set_gdbarch_print_insn.
12588         * m68k-tdep.c (m68k_gdbarch_init): Likewise.
12589         * m88k-tdep.c (m88k_gdbarch_init): Likewise.
12590         * microblaze-tdep.c (microblaze_gdbarch_init): Likewise.
12591         * mn10300-tdep.c (mn10300_gdbarch_init): Likewise.
12592         * moxie-tdep.c (moxie_gdbarch_init): Likewise.
12593         * msp430-tdep.c (msp430_gdbarch_init): Likewise.
12594         * mt-tdep.c (mt_gdbarch_init): Likewise.
12595         * nds32-tdep.c (nds32_gdbarch_init): Likewise.
12596         * nios2-tdep.c (nios2_print_insn): Remove.
12597         (nios2_gdbarch_init): Don't call set_gdbarch_print_insn.
12598         * rx-tdep.c (rx_gdbarch_init): Likewise.
12599         * s390-linux-tdep.c (s390_gdbarch_init): Likewise.
12600         * score-tdep.c (score_print_insn): Remove.
12601         (score_gdbarch_init): Don't call set_gdbarch_print_insn.
12602         * sh-tdep.c (sh_gdbarch_init): Likewise.
12603         * sh64-tdep.c (sh64_gdbarch_init): Likewise.
12604         * sparc-tdep.c (sparc32_gdbarch_init): Likewise.
12605         * tic6x-tdep.c (tic6x_print_insn): Remove.
12606         (tic6x_gdbarch_init): Don't call set_gdbarch_print_insn.
12607         * tilegx-tdep.c (tilegx_gdbarch_init): Likewise.
12608         * v850-tdep.c (v850_gdbarch_init): Likewise.
12609         * vax-tdep.c (vax_gdbarch_init): Likewise.
12610         * xstormy16-tdep.c (xstormy16_gdbarch_init): Likewise.
12611         * xtensa-tdep.c (xtensa_gdbarch_init): Likewise.
12612
12613 2017-05-23  John Baldwin  <jhb@FreeBSD.org>
12614
12615         * mips-fbsd-tdep.c (MIPS_PC_REGNUM): Remove.
12616         (MIPS_FP0_REGNUM): Remove.
12617         (MIPS_FSR_REGNUM): Remove.
12618         (mips_fbsd_supply_fpregs): Use mips_regnum.
12619         (mips_fbsd_supply_gregs): Likewise.
12620         (mips_fbsd_collect_fpregs): Likewise.
12621         (mips_fbsd_collect_gregs): Likewise.
12622
12623 2017-05-23  John Baldwin  <jhb@FreeBSD.org>
12624
12625         * mips-fbsd-nat.c (getregs_supplies): Fix upper bound comparison.
12626         (getpfpregs_supplies): New function.
12627         (mips_fbsd_fetch_inferior_registers): Remove early exit and use
12628         getfpregs_supplies.
12629         (mips_fbsd_store_inferior_registers): Likewise.
12630
12631 2017-05-22  Pedro Alves <palves@redhat.com>
12632
12633         * MAINTAINERS (Host/Native): Add John Baldwin as FreeBSD
12634         maintainer.
12635
12636 2017-05-22  Alan Hayward  <alan.hayward@arm.com>
12637
12638         * ppc-linux-nat.c (fetch_register): Use PPC_MAX_REGISTER_SIZE.
12639         (store_register): Likewise.
12640         * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Likewise.
12641         (get_decimal_float_return_value): Likewise.
12642         (do_ppc_sysv_return_value): Likewise.
12643         (ppc64_sysv_abi_push_integer): Likewise.
12644         (ppc64_sysv_abi_push_freg): Likewise.
12645         (ppc64_sysv_abi_return_value_base): Likewise.
12646         (ppc64_sysv_abi_return_value): Likewise.
12647         * rs6000-aix-tdep.c (rs6000_push_dummy_call): Likewise.
12648         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Likewise.
12649         * rs6000-nat.c: Likewise.
12650         * rs6000-tdep.c (rs6000_register_to_value): Likewise.
12651         (rs6000_value_to_register): Likewise.
12652         * ppc-tdep.h (PPC_MAX_REGISTER_SIZE): Add.
12653
12654 2017-05-21  Tom Tromey  <tom@tromey.com>
12655
12656         PR rust/21466:
12657         * rust-lang.c (rust_print_type) <TYPE_CODE_ARRAY>: Print unsized
12658         arrays as "[T]", not "[T; ]".
12659
12660 2017-05-19  Tom Tromey  <tom@tromey.com>
12661
12662         PR rust/21484:
12663         * rust-lang.c (exp_descriptor_rust): New function.
12664         (rust_language_defn): Use it.
12665         * p-lang.c (pascal_language_defn): Update.
12666         * opencl-lang.c (opencl_language_defn): Update.
12667         * objc-lang.c (objc_language_defn): Update.
12668         * m2-lang.c (m2_language_defn): Update.
12669         * language.h (struct language_defn)
12670         <la_watch_location_expression>: New member.
12671         * language.c (unknown_language_defn, auto_language_defn)
12672         (local_language_defn): Update.
12673         * go-lang.c (go_language_defn): Update.
12674         * f-lang.c (f_language_defn): Update.
12675         * d-lang.c (d_language_defn): Update.
12676         * c-lang.h (c_watch_location_expression): Declare.
12677         * c-lang.c (c_watch_location_expression): New function.
12678         (c_language_defn, cplus_language_defn, asm_language_defn)
12679         (minimal_language_defn): Use it.
12680         * breakpoint.c (watch_command_1): Call
12681         la_watch_location_expression.
12682         * ada-lang.c (ada_language_defn): Update.
12683
12684 2017-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12685
12686         PR tui/21482
12687         * gdb_curses.h (NOMACROS): Define.
12688         (NCURSES_NOMACROS): Define.
12689
12690 2017-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12691
12692         PR tui/21482
12693         * tui/tui-windata.c (tui_erase_data_content): Cast last mvwaddstr
12694         arg to char *.
12695         * tui/tui-wingeneral.c (box_win): Likewise.
12696         * tui/tui-winsource.c (tui_erase_source_content): Likewise.
12697         (tui_show_source_line): Likewise.
12698         (tui_show_exec_info_content): Likewise.
12699
12700 2017-05-19  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>
12701
12702         * sparc-tdep.c (sparc_structure_return_p)
12703         (sparc_arg_on_registers_p): New functions.
12704         (sparc32_store_arguments): Use them.
12705         * sparc64-tdep.c (sparc64_16_byte_align_p)
12706         (sparc64_store_floating_fields, sparc64_extract_floating_fields):
12707         Handle TYPE_CODE_ARRAY.
12708
12709 2017-05-17  Yao Qi  <yao.qi@linaro.org>
12710
12711         * cli/cli-decode.c (add_alias_cmd): New function.
12712         * command.h (add_alias_cmd): Declare.
12713         * infcmd.c (_initialize_infcmd): Don't call add_com_alias,
12714         instead call add_alias_cmd.
12715
12716 2017-05-17  Pedro Alves  <palves@redhat.com>
12717
12718         * Makefile.in (nat_extra_makefile_frag): Rename to ...
12719         (nat_makefile_frag): ... this.  All references updated.
12720         * configure.ac: Likewise.
12721         * configure.nat: Likewise.  Enhance comments.
12722         * configure: Regenerate.
12723
12724 2017-05-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12725
12726         * procfs.c (procfs_create_inferior): Change prototype to match
12727         definition.
12728
12729 2017-05-13  Eli Zaretskii  <eliz@gnu.org>
12730
12731         * tui/tui.c (tui_enable): Cast "unknown" to 'char *' to avoid a
12732         C++ compiler warning.
12733
12734 2017-05-12  Tom Tromey  <tom@tromey.com>
12735
12736         PR rust/21483:
12737         * rust-lang.c (rust_evaluate_subexp) <STRUCTOP_STRUCT>: Don't
12738         recurse, just call value_struct_elt directly.
12739
12740 2017-05-12  Tom Tromey  <tom@tromey.com>
12741
12742         * rust-lang.c (rust_dump_subexp_body) <STRUCTOP_ANONYMOUS,
12743         OP_RUST_ARRAY>: Fix.
12744
12745 2017-05-12  Tom Tromey  <tom@tromey.com>
12746
12747         * rust-lang.c (rust_print_subexp): Replace "return" with "break".
12748
12749 2017-05-09  Yao Qi  <yao.qi@linaro.org>
12750
12751         * regcache.c: Include <forward_list>.
12752         (struct regcache_list): Remove.
12753         (current_regcache): Update.
12754         (get_thread_arch_aspace_regcache): Update for std::forward_list.
12755         (regcache_thread_ptid_changed): Likewise.
12756         (registers_changed_ptid): Likewise.
12757         (current_regcache_size): Likewise.
12758
12759 2017-05-09  Yao Qi  <yao.qi@linaro.org>
12760
12761         * regcache.c [GDB_SELF_TEST]: Include selftest.h.
12762         (current_regcache_size): New function.
12763         (current_regcache_test): New function.
12764         (_initialize_regcache) [GDB_SELF_TEST]: Register the unit test.
12765
12766 2017-05-08  Alan Hayward  <alan.hayward@arm.com>
12767
12768         * mips-tdep.c (mips_o32_return_value): Remove unused buffer.
12769         (print_gp_register_row): Use get_frame_register_value.
12770
12771 2017-05-08  Alan Hayward  <alan.hayward@arm.com>
12772
12773         * mips-linux-tdep.c (mips_supply_gregset): Use raw_supply_zeroed.
12774         (mips_supply_fpregset): Likewise.
12775         (mips64_supply_gregset): Likewise.
12776
12777 2017-05-08  Alan Hayward  <alan.hayward@arm.com>
12778
12779         * mn10300-linux-tdep.c (am33_supply_gregset_method): Use 
12780         regcache->raw_supply_zeroed.
12781
12782 2017-05-06  Sergio Durigan Junior  <sergiodj@redhat.com>
12783
12784         * configure.nat: Rearrange 'case' statements to match
12785         host before cpu.
12786
12787 2017-05-06  Sergio Durigan Junior  <sergiodj@redhat.com>
12788
12789         * Makefile.in: Remove "@host_makefile_frag@".  Add variables
12790         NAT_FILE, NATDEPFILES, NAT_CDEPS, LOADLIBES, MH_CFLAGS, XM_CLIBS,
12791         NAT_GENERATED_FILES, HAVE_NATIVE_GCORE_HOST.  Add
12792         "@nat_extra_makefile_frag@".
12793         (Makefile): Remove dependency on "@frags@".
12794         ($(GNULIB_BUILDDIR)/Makefile): Likewise.
12795         (data-directory/Makefile): Likewise.
12796         * config/aarch64/linux.mh: Deleted; moved contents to
12797         "gdb/configure.nat".
12798         * config/alpha/alpha-linux.mh: Likewise.
12799         * config/alpha/nbsd.mh: Likewise.
12800         * config/arm/linux.mh: Likewise.
12801         * config/arm/nbsdelf.mh: Likewise.
12802         * config/i386/cygwin.mh: Likewise.
12803         * config/i386/cygwin64.mh: Likewise.
12804         * config/i386/darwin.mh: Likewise.
12805         * config/i386/fbsd.mh: Likewise.
12806         * config/i386/fbsd64.mh: Likewise.
12807         * config/i386/go32.mh: Likewise.
12808         * config/i386/i386gnu.mh: Likewise.
12809         * config/i386/i386sol2.mh: Likewise.
12810         * config/i386/linux.mh: Likewise.
12811         * config/i386/linux64.mh: Likewise.
12812         * config/i386/mingw.mh: Likewise.
12813         * config/i386/mingw64.mh: Likewise.
12814         * config/i386/nbsd64.mh: Likewise.
12815         * config/i386/nbsdelf.mh: Likewise.
12816         * config/i386/nto.mh: Likewise.
12817         * config/i386/obsd.mh: Likewise.
12818         * config/i386/obsd64.mh: Likewise.
12819         * config/i386/sol2-64.mh: Likewise.
12820         * config/ia64/linux.mh: Likewise.
12821         * config/m32r/linux.mh: Likewise.
12822         * config/m68k/linux.mh: Likewise.
12823         * config/m68k/nbsdelf.mh: Likewise.
12824         * config/m68k/obsd.mh: Likewise.
12825         * config/m88k/obsd.mh: Likewise.
12826         * config/mips/fbsd.mh: Likewise.
12827         * config/mips/linux.mh: Likewise.
12828         * config/mips/nbsd.mh: Likewise.
12829         * config/mips/obsd64.mh: Likewise.
12830         * config/pa/linux.mh: Likewise.
12831         * config/pa/nbsd.mh: Likewise.
12832         * config/pa/obsd.mh: Likewise.
12833         * config/powerpc/aix.mh: Likewise.
12834         * config/powerpc/fbsd.mh: Likewise.
12835         * config/powerpc/linux.mh: Likewise.
12836         * config/powerpc/nbsd.mh: Likewise.
12837         * config/powerpc/obsd.mh: Likewise.
12838         * config/powerpc/ppc64-linux.mh: Likewise.
12839         * config/powerpc/spu-linux.mh: Likewise.
12840         * config/s390/linux.mh: Likewise.
12841         * config/sh/nbsd.mh: Likewise.
12842         * config/sparc/fbsd.mh: Likewise.
12843         * config/sparc/linux.mh: Likewise.
12844         * config/sparc/linux64.mh: Likewise.
12845         * config/sparc/nbsd64.mh: Likewise.
12846         * config/sparc/nbsdelf.mh: Likewise.
12847         * config/sparc/obsd64.mh: Likewise.
12848         * config/sparc/sol2.mh: Likewise.
12849         * config/tilegx/linux.mh: Likewise.
12850         * config/vax/nbsdelf.mh: Likewise.
12851         * config/vax/obsd.mh: Likewise.
12852         * config/xtensa/linux.mh: Likewise.
12853         * config/i386/i386gnu.mn: New file, with excerpts from
12854         "config/i386/i386gnu.mh".
12855         * configure: Regenerate.
12856         * configure.ac: Rewrite code to use "gdb/configure.nat" instead of
12857         *.mh files under "gdb/config".
12858         * configure.nat: New file, with contents from the
12859         "gdb/config/*/*.mh" files.
12860
12861 2017-05-05  Tim Wiederhake  <tim.wiederhake@intel.com>
12862
12863         * btrace.c (btrace_clear): Free insn vector.
12864
12865 2017-05-05  Pedro Alves  <palves@redhat.com>
12866
12867         * warning.m4 (build_warnings): Add -Wno-error=maybe-uninitialized.
12868         * configure: Regenerate.
12869
12870 2017-05-04  Pedro Alves  <palves@redhat.com>
12871
12872         * Makefile.in (SFILES): Add progspace-and-thread.c.
12873         (HFILES_NO_SRCDIR): Add progspace-and-thread.h.
12874         (COMMON_OBS): Add progspace-and-thread.o.
12875         * breakpoint.c: Include "progspace-and-thread.h".
12876         (update_inserted_breakpoint_locations)
12877         (insert_breakpoint_locations, create_longjmp_master_breakpoint):
12878         Use scoped_restore_current_pspace_and_thread.
12879         (create_std_terminate_master_breakpoint): Use
12880         scoped_restore_current_program_space.
12881         (remove_breakpoint): Use scoped_restore_current_pspace_and_thread.
12882         (print_breakpoint_location): Use
12883         scoped_restore_current_program_space.
12884         (bp_loc_is_permanent): Use
12885         scoped_restore_current_pspace_and_thread.
12886         (resolve_sal_pc): Use scoped_restore_current_pspace_and_thread.
12887         (download_tracepoint_locations): Use
12888         scoped_restore_current_pspace_and_thread.
12889         (breakpoint_re_set): Use scoped_restore_current_pspace_and_thread.
12890         * exec.c (exec_close_1): Use scoped_restore_current_program_space.
12891         (enum step_over_calls_kind): Moved from inferior.h.
12892         (class scoped_restore_current_thread): New class.
12893         * gdbthread.h (make_cleanup_restore_current_thread): Delete
12894         declaration.
12895         (scoped_restore_current_thread): New class.
12896         * infcmd.c: Include "common/gdb_optional.h".
12897         (continue_1, proceed_after_attach): Use
12898         scoped_restore_current_thread.
12899         (notice_new_inferior): Use scoped_restore_current_thread.
12900         * inferior.c: Include "progspace-and-thread.h".
12901         (restore_inferior, save_current_inferior): Delete.
12902         (add_inferior_command, clone_inferior_command): Use
12903         scoped_restore_current_pspace_and_thread.
12904         * inferior.h (scoped_restore_current_inferior): New class.
12905         * infrun.c: Include "progspace-and-thread.h" and
12906         "common/gdb_optional.h".
12907         (follow_fork_inferior): Use
12908         scoped_restore_current_pspace_and_thread.
12909         (scoped_restore_exited_inferior): New class.
12910         (handle_vfork_child_exec_or_exit): Use
12911         scoped_restore_exited_inferior,
12912         scoped_restore_current_pspace_and_thread,
12913         scoped_restore_current_thread and scoped_restore.
12914         (fetch_inferior_event): Use scoped_restore_current_thread.
12915         * linespec.c (decode_line_full, decode_line_1): Use
12916         scoped_restore_current_program_space.
12917         * mi/mi-main.c: Include "progspace-and-thread.h".
12918         (exec_continue): Use scoped_restore_current_thread.
12919         (mi_cmd_exec_run): Use scoped_restore_current_pspace_and_thread.
12920         (mi_cmd_trace_frame_collected): Use scoped_restore_current_thread.
12921         * proc-service.c (ps_pglobal_lookup): Use
12922         scoped_restore_current_program_space.
12923         * progspace-and-thread.c: New file.
12924         * progspace-and-thread.h: New file.
12925         * progspace.c (release_program_space, clone_program_space): Use
12926         scoped_restore_current_program_space.
12927         (restore_program_space, save_current_program_space)
12928         (save_current_space_and_thread): Delete.
12929         (switch_to_program_space_and_thread): Moved to
12930         progspace-and-thread.c.
12931         * progspace.h (save_current_program_space)
12932         (save_current_space_and_thread): Delete declarations.
12933         (scoped_restore_current_program_space): New class.
12934         * remote.c (remote_btrace_maybe_reopen): Use
12935         scoped_restore_current_thread.
12936         * symtab.c: Include "progspace-and-thread.h".
12937         (skip_prologue_sal): Use scoped_restore_current_pspace_and_thread.
12938         * thread.c (print_thread_info_1): Use
12939         scoped_restore_current_thread.
12940         (struct current_thread_cleanup): Delete.
12941         (do_restore_current_thread_cleanup)
12942         (restore_current_thread_cleanup_dtor): Rename/convert both to ...
12943         (scoped_restore_current_thread::~scoped_restore_current_thread):
12944         ... this new dtor.
12945         (make_cleanup_restore_current_thread): Rename/convert to ...
12946         (scoped_restore_current_thread::scoped_restore_current_thread):
12947         ... this new ctor.
12948         (thread_apply_all_command): Use scoped_restore_current_thread.
12949         (thread_apply_command): Use scoped_restore_current_thread.
12950         * tracepoint.c (tdump_command): Use scoped_restore_current_thread.
12951         * varobj.c (value_of_root_1): Use scoped_restore_current_thread.
12952
12953 2017-05-04  Pedro Alves  <palves@redhat.com>
12954
12955         * thread.c (make_cleanup_restore_current_thread): Move
12956         find_thread_ptid call before the is_stopped call.  Assert that the
12957         thread is found.  Replace is_stopped call by checking the thread's
12958         state directly.  Remove unnecessary NULL-thread check.
12959
12960 2017-05-04  Pedro Alves  <palves@redhat.com>
12961
12962         * corelow.c (thread_section_name): New class.
12963         (get_core_register_section, get_core_siginfo): Use it.
12964
12965 2017-05-04  Andreas Arnez  <arnez@linux.vnet.ibm.com>
12966
12967         * corelow.c (sniff_core_bfd): Remove extra semicolon.
12968         (get_core_register_section): Remove xfree of NULL pointer.
12969
12970 2017-05-03  Alan Hayward  <alan.hayward@arm.com>
12971
12972         * frv-linux-tdep.c (frv_linux_supply_gregset): Use raw_supply_zeroed.
12973         * regcache.c (regcache::raw_supply_zeroed): New function.
12974         * regcache.h (regcache::raw_supply_zeroed): New declaration.
12975
12976 2017-05-03  Simon Marchi  <simon.marchi@ericsson.com>
12977
12978         * gdbarch.sh: Remove commented out definition of
12979         TARGET_CHAR_BIT.
12980         * gdbarch.h: Re-generate.
12981
12982 2017-05-03  Sergio Durigan Junior  <sergiodj@redhat.com>
12983
12984         * configure: Regenerate.
12985
12986 2017-05-02  Simon Marchi  <simon.marchi@ericsson.com>
12987
12988         * solib-target.c (solib_target_relocate_section_addresses):
12989         Remove num_section_bases, num_bases, segment_bases variables.
12990
12991 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
12992
12993         * common/gdb_vecs.h (DEF_VEC_I (CORE_ADDR)): Remove.
12994
12995 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
12996
12997         * solib-target.c: Include <vector>
12998         (struct lm_info_target) <~lm_info_target>: Remove.
12999         <segment_bases, section_bases>: Change type to
13000         std::vector<CORE_ADDR>.
13001         (library_list_start_segment, library_list_start_section,
13002         library_list_end_library,
13003         solib_target_relocate_section_addresses): Adjust.
13004
13005 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
13006
13007         * gdbarch.sh (software_single_step): Change return type to
13008         std::vector<CORE_ADDR>.
13009         * gdbarch.c, gdbarch.h: Re-generate.
13010         * arch/arm-get-next-pcs.c (thumb_deal_with_atomic_sequence_raw):
13011         Adjust.
13012         (arm_deal_with_atomic_sequence_raw): Adjust.
13013         (thumb_get_next_pcs_raw): Adjust.
13014         (arm_get_next_pcs_raw): Adjust.
13015         (arm_get_next_pcs): Adjust.
13016         * arch/arm-get-next-pcs.h (arm_get_next_pcs): Adjust.
13017         * aarch64-tdep.c (aarch64_software_single_step): Adjust.
13018         * alpha-tdep.c (alpha_deal_with_atomic_sequence): Adjust.
13019         (alpha_software_single_step): Adjust.
13020         * alpha-tdep.h (alpha_software_single_step): Adjust.
13021         * arm-linux-tdep.c (arm_linux_software_single_step): Adjust.
13022         * arm-tdep.c (arm_software_single_step): Adjust.
13023         (arm_breakpoint_kind_from_current_state): Adjust.
13024         * arm-tdep.h (arm_software_single_step): Adjust.
13025         * breakpoint.c (insert_single_step_breakpoint): Adjust.
13026         * cris-tdep.c (cris_software_single_step): Adjust.
13027         * mips-tdep.c (mips_deal_with_atomic_sequence): Adjust.
13028         (micromips_deal_with_atomic_sequence): Adjust.
13029         (deal_with_atomic_sequence): Adjust.
13030         (mips_software_single_step): Adjust.
13031         * mips-tdep.h (mips_software_single_step): Adjust.
13032         * moxie-tdep.c (moxie_software_single_step): Adjust.
13033         * nios2-tdep.c (nios2_software_single_step): Adjust.
13034         * ppc-tdep.h (ppc_deal_with_atomic_sequence): Adjust.
13035         * rs6000-aix-tdep.c (rs6000_software_single_step): Adjust.
13036         * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Adjust.
13037         * s390-linux-tdep.c (s390_software_single_step): Adjust.
13038         * sparc-tdep.c (sparc_software_single_step): Adjust.
13039         * spu-tdep.c (spu_software_single_step): Adjust.
13040         * tic6x-tdep.c (tic6x_software_single_step): Adjust.
13041
13042 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
13043
13044         * gdbarch.sh: Use semi-colon as field separator instead of colon.
13045         * gdbarch.h: Re-generate.
13046
13047 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13048
13049         * Makefile.in (SUBDIR_PYTHON_OBS): Add py-instruction.o.
13050         (SUBDIR_PYTHON_SRCS): Add py-instruction.c.
13051         * python/py-instruction.c, python/py-instruction.h: New file.
13052         * python/py-record.c: Add py-instruction.h include.
13053         (gdbpy_initialize_record): Make gdb.Instruction a super class of
13054         gdb.RecordInstruction.
13055         * python/python-internal.h: Add gdbpy_initialize_instruction
13056         declaration.
13057         * python/python.c (do_start_initialization): Add
13058         gdbpy_initialize_instruction.
13059
13060 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13061
13062         * python/py-record-btrace.c (BTPY_REQUIRE_VALID_CALL, btpy_call_type):
13063         Remove.
13064         (btrace_func_from_recpy_func): New function.
13065         (btpy_call_new, btpy_number, btpy_hash, btpy_richcompare): Remove.
13066         (btpy_call_level, btpy_call_symbol, btpy_call_instructions,
13067         btpy_call_up, btpy_call_prev_sibling, btpy_call_next_sibling): Rename to ...
13068         (recpy_bt_func_level, recpy_bt_func_symbol, recpy_bt_func_instructions,
13069         recpy_bt_func_up, recpy_bt_func_prev, recpy_bt_func_next): This.
13070         Also, use new helper functions.
13071         (btpy_list_item): Use new helper functions.
13072         (recpy_bt_function_call_history): Use new type name.
13073         (btpy_call_getset): Remove.
13074         (gdbpy_initialize_btrace): Remove code to initialize
13075         gdb.BtraceFunctionCall.
13076         * python/py-record-btrace.h (recpy_bt_func_number, recpy_btb_func_level,
13077         recpy_btb_func_symbol, recpy_bt_func_instructions, recpy_bt_func_up,
13078         recpy_bt_func_prev, recpy_bt_func_next): New export.
13079         * python/py-record.c (recpy_func_type): New static object.
13080         (recpy_func_new, recpy_func_level, recpy_func_symbol,
13081         recpy_func_instructions, recpy_func_up, recpy_func_prev,
13082         recpy_func_next): New function.
13083         (recpy_element_hash, recpy_element_richcompare): Updated comment.
13084         (recpy_func_getset): New static object.
13085         (gdbpy_initialize_record): Add code to initialize gdb.RecordInstruction.
13086         * python/py-record.h (recpy_func_type, recpy_func_new): New export.
13087
13088 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13089
13090         * python/py-record-btrace.c (BTPY_REQUIRE_VALID_INSN): Remove.
13091         (btpy_object, btpy_insn_type, btpy_new): Remove.
13092         (btpy_list_object): Use gdb.RecordInstruction type instead of
13093         gdb.BtraceInstruction type.
13094         (btrace_insn_from_recpy_insn): New function.
13095         (btpy_insn_or_gap_new): Adjust comment. Use recpy_insn_new instead of
13096         btpy_new.
13097         (btpy_call_new, btpy_list_item): Do not use btpy_new anymore.
13098         (btpy_number, btpy_hash, btpy_call_level, btpy_call_symbol,
13099         btpy_call_instructions, btpy_call_up, btpy_call_prev_sibling,
13100         btpy_call_next_sibling, btpy_richcompare): Use recpy_element_object
13101         instead of btpy_object.
13102         (btpy_insn_sal, btpy_insn_pc, btpy_insn_size, btpy_insn_is_speculative,
13103         btpy_insn_data, btpy_insn_decode): Rename to ...
13104         (recpy_bt_insn_sal, recpy_bt_insn_pc, recpy_bt_insn_size,
13105         recpy_bt_insn_is_speculative, recpy_bt_insn_data,
13106         recpy_bt_insn_decode): This.  Also, use new helper functions.
13107         (btpy_list_position, recpy_bt_goto): Use recpy_element_object and
13108         recpy_insn_type.
13109         (btpy_insn_getset): Remove.
13110         (gdbpy_initialize_btrace): Remove code to initialize
13111         gdb.BtraceInstruction.  Use recpy_element_object.
13112         * python/py-record-btrace.h (recpy_bt_insn_number, recpy_bt_insn_sal,
13113         recpy_bt_insn_pc, recpy_bt_insn_data, recpy_bt_insn_decoded,
13114         recpy_bt_insn_size, recpy_bt_insn_is_speculative): New export.
13115         * python/py-record.c (recpy_insn_type): New static object.
13116         (recpy_insn_new, recpy_insn_sal, recpy_insn_pc, recpy_insn_data,
13117         recpy_insn_decoded, recpy_insn_size, recpy_insn_is_speculative,
13118         recpy_element_number, recpy_element_hash, recpy_element_richcompare):
13119         New function.
13120         (recpy_insn_getset): New static object.
13121         (gdbpy_initialize_record): Initialize gdb.RecordInstruction.
13122         * python/py-record.h (recpy_element_object): New typedef.
13123         (recpy_insn_type, recpy_insn_new): New export.
13124
13125 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13126
13127         * py-record-btrace.c (btpy_insn_new): Removed.
13128         (btpy_insn_or_gap_new): New function.
13129         (btpy_insn_error): Removed.
13130         (btpy_insn_sal, btpy_insn_pc, btpy_insn_size, btpy_insn_is_speculative,
13131         btpy_insn_data, btpy_insn_decode): Remove code path for gaps.
13132         (recpy_bt_replay_position, recpy_bt_begin, recpy_bt_end): Call
13133         btpy_insn_or_gap_new instead of btpy_insn_new.
13134         (btpy_insn_getset): Remove btpy_insn_error.
13135         * py-record.c (recpy_gap_type): New static object.
13136         (recpy_gap_object): New typedef.
13137         (recpy_gap_new, recpy_gap_number, recpy_gap_reason_code,
13138         recpy_gap_reason_string): New function.
13139         (recpy_gap_getset): New static object.
13140         (gdbpy_initialize_record): Initialize gdb.RecordGap type.
13141         * py-record.h (recpy_gap_new): New export.
13142
13143 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13144
13145         * python/py-record.c (recpy_ptid): Remove.
13146         (recpy_record_getset): Remove recpy_ptid.
13147
13148 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13149
13150         * btrace.c (btrace_fetch): Set inferior_ptid.
13151         * python/py-record-btrace.c: Add "py-record.h" include.
13152         (recpy_bt_format, recpy_bt_replay_position, recpy_bt_begin,
13153         recpy_bt_end, recpy_bt_instruction_history,
13154         recpy_bt_function_call_history, recpy_bt_goto): Use ptid stored
13155         in gdb.Record object instead of current ptid.
13156         * python/py-record.c: Include new "py-record.h" file.
13157         (recpy_record_object): Moved to py-record.h.
13158         * python/py-record.h: New file.
13159
13160 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13161
13162         * python/py-record-btrace.c (BTPY_REQUIRE_VALID_INSN,
13163         BTPY_REQUIRE_VALID_CALL, recpy_bt_function_call_history): Fix
13164         indentation.
13165
13166 2017-05-01  Joel Brobecker  <brobecker@adacore.com>
13167
13168         * MAINTAINERS: Move Daniel Jacobowitz and Mark Kettenis to
13169         the past maintainers section.
13170
13171 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13172
13173         * infcmd.c (get_return_value): Use regcache ctor, and remove
13174         cleanup.
13175
13176 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13177             Pedro Alves  <palves@redhat.com>
13178
13179         * regcache.c (regcache::regcache): New tag dispatch ctor.
13180         (do_cooked_read): Moved above.
13181         (regcache_dup): Use the tag dispatch ctor..
13182         * regcache.h (regcache): Declare ctor, delete copy ctor and
13183         assignment operator, remove friend regcache_dup.
13184
13185 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13186
13187         * regcache.c (regcache_dup): Assert !src->m_readonly_p and
13188         call method save instead of regcache_cpy.
13189         * regcache.h (struct regcache): Make regcache_dup a friend.
13190
13191 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13192
13193         * regcache.c (struct regcache): Move to regcache.h
13194         (regcache::arch): New method.
13195         (regcache_get_ptid): Update.
13196         (get_regcache_arch): Call arch method.
13197         (get_regcache_aspace): Call method aspace.
13198         (register_buffer): Change it to method.
13199         (regcache_save): Change it to regcache::save.
13200         (regcache_restore): Likewise.
13201         (regcache_cpy_no_passthrough): Remove the declaration.
13202         (regcache_cpy): Call methods restore and cpy_no_passthrough.
13203         (regcache_cpy_no_passthrough): Change it to method
13204         cpy_no_passthrough.
13205         (regcache_register_status): Change it to method
13206         get_register_status.
13207         (regcache_invalidate): Change it to method invalidate.
13208         (regcache_thread_ptid_changed): Use methods ptid and set_ptid.
13209         (regcache_raw_update): Change it to method raw_update.
13210         (regcache_raw_read): Likewise.
13211         (regcache_raw_read_signed): Likewise.
13212         (regcache_raw_read_unsigned): Likewise.
13213         (regcache_raw_write_signed): Likewise.
13214         (regcache_raw_write_unsigned): Likewise.
13215         (regcache_cooked_read): Likewise.
13216         (regcache_cooked_read_value): Likewise.
13217         (regcache_cooked_read_signed): Likewise.
13218         (regcache_cooked_read_unsigned): Likewise.
13219         (regcache_cooked_write_signed): Likewise.
13220         (regcache_cooked_write_unsigned): Likewise.
13221         (regcache_raw_set_cached_value): Likewise.
13222         (regcache_raw_write): Likewise.
13223         (regcache_cooked_write): Likewise.
13224         (regcache_xfer_part): Likewise.
13225         (regcache_raw_read_part): Likewise.
13226         (regcache_raw_write_part): Likewise.
13227         (regcache_cooked_read_part): Likewise.
13228         (regcache_cooked_write_part): Likewise.
13229         (regcache_raw_supply): Likewise.
13230         (regcache_raw_collect): Likewise.
13231         (regcache_transfer_regset): Likewise.
13232         (regcache_supply_regset): Likewise.
13233         (regcache_collect_regset): Likewise.
13234         (regcache_debug_print_register): Likewise.
13235         (enum regcache_dump_what): Move it to regcache.h.
13236         (regcache_dump): Change it to method dump.
13237         * regcache.h (enum regcache_dump_what): New.
13238         (class regcache): New.
13239         * target.c (target_fetch_registers): Call method
13240         debug_print_register.
13241         (target_store_registers): Likewise.
13242
13243 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13244
13245         * windows-nat.c (struct lm_info_windows): Initialize field.
13246         (windows_make_so): Allocate lm_info_windows with new.
13247         (windows_free_so): Free lm_info_windows with delete.
13248
13249 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13250
13251         * solib-darwin.c (struct lm_info_darwin): Initialize field.
13252         (darwin_current_sos): Allocate lm_info_darwin with new, remove
13253         cleanup.
13254         (darwin_free_so): Free lm_info_darwin with delete.
13255
13256 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13257
13258         * solib-svr4.h (struct lm_info_svr4): Initialize fields.
13259         <l_addr_p>: Change type to bool.
13260         * solib-svr4.c (lm_info_read): Allocate lm_info_svr4 with new.
13261         (svr4_free_so): Free lm_info_svr4 with delete.
13262         (svr4_copy_library_list): Replace memcpy with call to copy
13263         constructor.
13264         (library_list_start_library, svr4_default_sos): Allocate
13265         lm_info_svr4 with new.
13266
13267 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13268
13269         * solib-target.c (struct lm_info_target): Add destructor,
13270         initialize fields.
13271         <name>: Change type to std::string.
13272         (library_list_start_library): Allocate lm_info_target with new.
13273         (solib_target_free_library_list): Free lm_info_target with
13274         delete.
13275         (solib_target_current_sos): Adapt to std::string.
13276         (solib_target_free_so): Free lm_info_target with delete.
13277
13278 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13279
13280         * solib-frv.c (struct lm_info_frv): Add destructor, initialize
13281         fields.
13282         (frv_current_sos): Allocate lm_info_frv with new.
13283         (frv_relocate_main_executable): Free lm_info_frv with delete,
13284         allocate with new.
13285         (frv_clear_solib, frv_free_so): Free lm_info_frv with delete.
13286
13287 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13288
13289         * solib-frv.c (struct lm_info_frv): Fix indentation.
13290
13291 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13292
13293         * solib-dsbt.c (struct lm_info_dsbt): Add destructor, initialize
13294         map field.
13295         (dsbt_current_sos): Allocate lm_info_dsbt with new.
13296         (dsbt_relocate_main_executable): Free lm_info_dsbt with delete
13297         and allocate with new.
13298         (dsbt_clear_solib, dsbt_free_so): Free lm_info_dsbt with delete.
13299
13300 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13301
13302         * solib-aix.c (struct lm_info_aix): Initialize fields in-class.
13303         <filename, member_name>: Change type to std::string.
13304         (solib_aix_new_lm_info, solib_aix_xfree_lm_info): Remove.
13305         (library_list_start_library): Allocate lm_info_aix with new.
13306         (solib_aix_free_library_list, solib_aix_free_so): Free with delete.
13307         (solib_aix_current_sos): Adapt to std::string, copy lm_info_aix
13308         with copy constructor.
13309
13310 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13311
13312         * solist.h (struct lm_info): Remove.
13313         (struct lm_info_base): New class.
13314         (struct so_list) <lm_info>: Change type to lm_info_base *.
13315         * nto-tdep.c (struct lm_info): Remove.
13316         (lm_addr): Adjust.
13317         * solib-aix.c (struct lm_info): Rename to ...
13318         (struct lm_info_aix): ... this.  Extend lm_info_base.
13319         (lm_info_p): Rename to ...
13320         (lm_info_aix_p): ... this, and adjust.
13321         (solib_aix_new_lm_info, solib_aix_xfree_lm_info,
13322         solib_aix_parse_libraries, library_list_start_library,
13323         solib_aix_free_library_list, solib_aix_parse_libraries,
13324         solib_aix_get_library_list,
13325         solib_aix_relocate_section_addresses, solib_aix_free_so,
13326         solib_aix_get_section_offsets,
13327         solib_aix_solib_create_inferior_hook, solib_aix_current_sos):
13328         Adjust.
13329         (struct solib_aix_inferior_data) <library_list>: Adjust.
13330         * solib-darwin.c (struct lm_info): Rename to ...
13331         (struct lm_info_darwin): ... this.  Extend lm_info_base.
13332         (darwin_current_sos, darwin_relocate_section_addresses): Adjust.
13333         * solib-dsbt.c (struct lm_info): Rename to ...
13334         (struct lm_info_dsbt): ... this.  Extend lm_info_base.
13335         (struct dsbt_info) <main_executable_lm_info): Adjust.
13336         (dsbt_current_sos, dsbt_relocate_main_executable, dsbt_free_so,
13337         dsbt_relocate_section_addresses): Adjust.
13338         * solib-frv.c (struct lm_info): Rename to ...
13339         (struct lm_info_frv): ... this.  Extend lm_info_base.
13340         (main_executable_lm_info): Adjust.
13341         (frv_current_sos, frv_relocate_main_executable, frv_free_so,
13342         frv_relocate_section_addresses, frv_fdpic_find_global_pointer,
13343         find_canonical_descriptor_in_load_object,
13344         frv_fdpic_find_canonical_descriptor): Adjust.
13345         * solib-svr4.c (struct lm_info): Move to solib-svr4.h, renamed
13346         to lm_info_svr4.
13347         (lm_info_read, lm_addr_check, svr4_keep_data_in_core,
13348         svr4_clear_so, svr4_copy_library_list,
13349         library_list_start_library, svr4_default_sos, svr4_read_so_list,
13350         svr4_current_sos, svr4_fetch_objfile_link_map,
13351         solist_update_incremental): Adjust.
13352         * solib-svr4.h (struct lm_info_svr4): Move here from
13353         solib-svr4.c.
13354         * solib-target.c (struct lm_info): Rename to ...
13355         (struct lm_info_target): ... this.  Extend lm_info_base.
13356         (lm_info_p): Rename to ...
13357         (lm_info_target_p): ... this.
13358         (solib_target_parse_libraries, library_list_start_segment,
13359         library_list_start_section, library_list_start_library,
13360         library_list_end_library, solib_target_free_library_list,
13361         solib_target_current_sos, solib_target_free_so,
13362         solib_target_relocate_section_addresses): Adjust.
13363         * windows-nat.c (struct lm_info): Rename to ...
13364         (struct lm_info_windows): ... this.  Extend lm_info_base.
13365         (windows_make_so, handle_load_dll, handle_unload_dll,
13366         windows_xfer_shared_libraries): Adjust.
13367
13368 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13369
13370         * solib-darwin.c (struct darwin_so_list): Remove.
13371         (darwin_current_sos): Allocate an so_list object instead of a
13372         darwin_so_list, separately allocate an lm_info object.
13373         (darwin_free_so): Free lm_info.
13374
13375 2017-04-28  John Baldwin  <jhb@FreeBSD.org>
13376
13377         * mips-tdep.c (print_gp_register_row): Replace printf_filtered
13378         with fprintf_filtered.
13379
13380 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13381
13382         * regcache.c (regcache::regcache): New function.
13383         (regcache::~regcache): New function.
13384         (regcache_xmalloc_1): Remove.
13385         (regcache_xmalloc): Call new regcache.
13386         (regcache_xfree): Call delete regcache.
13387         (get_thread_arch_aspace_regcache): Call new regcache.
13388
13389 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13390
13391         * mips-linux-nat.c (mips_linux_new_thread): Use ptid method
13392         lwp instead of ptid_get_lwp.
13393
13394 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13395
13396         * mips-linux-nat.c (mips_linux_new_thread): Get lwpid from
13397         lwp_info instead of getting from inferior_ptid.
13398
13399 2017-04-27  Keith Seitz  <keiths@redhat.com>
13400
13401         * gdbtypes.c (LVALUE_REFERENCE_TO_RVALUE_BINDING_BADNESS)
13402         DIFFERENT_REFERENCE_TYPE_BADNESS): Remove.
13403         (CV_CONVERSION_BADNESS): Define.
13404         (rank_one_type): Remove overly restrictive rvalue reference
13405         rank checks.
13406         Add cv-qualifier checks and subranks for type equality.
13407         * gdbtypes.h (REFERENCE_CONVERSION_RVALUE,
13408         REFERENCE_CONVERSION_CONST_LVALUE, CV_CONVERSION_BADNESS,
13409         CV_CONVERSION_CONST, CV_CONVERSION_VOLATILE): Declare.
13410
13411 2017-04-27  Simon Marchi  <simon.marchi@ericsson.com>
13412
13413         * python/py-inferior.c (inferior_to_inferior_object): Increment reference
13414         count when creating the object.
13415
13416 2017-04-27  Sangamesh Mallayya  <sangamesh.swamy@in.ibm.com>
13417             Ulrich Weigand  <uweigand@de.ibm.com>
13418
13419         * xcoffread.c (read_xcoff_symtab): Read correct function auxiliary
13420         entry if xlc -qfuncsect or gcc -ffunction-sections compiler option
13421         is used in AIX.
13422         (read_xcoff_symtab): Handle C_WEAKEXT storage class.
13423         (process_xcoff_symbol): Likewise.
13424         (scan_xcoff_symtab): Likewise.
13425
13426 2017-04-26  Alan Hayward  <alan.hayward@arm.com>
13427
13428         * ia64-tdep.c (examine_prologue): Use get_frame_register_unsigned.
13429         (ia64_sigtramp_frame_prev_register): Use read_memory_unsigned_integer.
13430         (ia64_access_reg): Use get_frame_register_unsigned.
13431         (ia64_access_rse_reg): Likewise.
13432         (ia64_libunwind_frame_prev_register): Likewise.
13433
13434 2017-04-26  Jiong Wang  <jiong.wang@arm.com>
13435
13436         * gdbarch.sh: New gdbarch method execute_dwarf_cfa_vendor_op.
13437         * gdbarch.c: Regenerated.
13438         * gdbarch.h: Regenerated.
13439         * dwarf2-frame.c (dwarf2_frame_state_alloc_regs): Made the
13440         visibility external.
13441         (execute_cfa_program): Call execute_dwarf_cfa_vendor_op for CFI
13442         between DW_CFA_lo_user and DW_CFA_high_user inclusive.
13443         (enum cfa_how_kind): Move to ...
13444         (struct dwarf2_frame_state_reg_info): Likewise.
13445         (struct dwarf2_frame_state): Likewise.
13446         * dwarf2-frame.h: ... here.
13447         (dwarf2_frame_state_alloc_regs): New declaration.
13448         * sparc-tdep.c (sparc_execute_dwarf_cfa_vendor_op): New function.
13449         (sparc32_gdbarch_init): Register execute_dwarf_cfa_vendor_op hook.
13450
13451 2017-04-26  Alan Hayward  <alan.hayward@arm.com>
13452
13453         * xtensa-tdep.c (xtensa_pseudo_register_read): Use
13454         regcache_raw_read_unsigned.
13455         (xtensa_pseudo_register_write): Likewise.
13456
13457 2017-04-26  Alan Hayward  <alan.hayward@arm.com>
13458
13459         * nds32-tdep.c (nds32_pseudo_register_read): Abort on errors.
13460         (nds32_pseudo_register_write): Likewise.
13461
13462 2017-04-25  Yao Qi  <yao.qi@linaro.org>
13463
13464         * regcache.c (struct regcache) <readonly_p>: Change its type
13465         to bool.
13466         (regcache_xmalloc_1): Update parameter type and callers update.
13467
13468 2017-04-25  Yao Qi  <yao.qi@linaro.org>
13469
13470         * aarch64-tdep.c (aarch64_gdbarch_init): Don't call
13471         set_gdbarch_wchar_bit.
13472         * arm-tdep.c (arm_gdbarch_init): Likewise.
13473
13474 2017-04-25  Pedro Alves  <palves@redhat.com>
13475
13476         * common/poison.h [!HAVE_IS_TRIVIALLY_COPYABLE] (IsRelocatable)
13477         (BothAreRelocatable, memcopy, memmove): Don't define.
13478         * common/traits.h (__has_feature, HAVE_IS_TRIVIALLY_COPYABLE): New
13479         macros.
13480
13481 2017-04-25  Pedro Alves  <palves@redhat.com>
13482
13483         * common/common-defs.h: Include "common/poison.h".
13484         * common/function-view.h: (Not, Or, Requires): Move to traits.h
13485         and adjust.
13486         * common/poison.h: New file.
13487         * common/traits.h: Include <type_traits>.
13488         (Not, Or, Requires): New, moved from common/function-view.h.
13489
13490 2017-04-25  Pedro Alves  <palves@redhat.com>
13491
13492         * breakpoint.h (struct breakpoint): In-class initialize all
13493         fields.  Make boolean fields "bool".
13494         * breakpoint.c (init_raw_breakpoint_without_location): Remove
13495         memset call and initializations no longer necessary.
13496
13497 2017-04-25  Pedro Alves  <palves@redhat.com>
13498
13499         * btrace.c (pt_btrace_insn_flags): Change parameter type to
13500         reference.
13501         (pt_btrace_insn): New function.
13502         (ftrace_add_pt): Remove memset call and use pt_btrace_insn.
13503
13504 2017-04-25  Pedro Alves  <palves@redhat.com>
13505
13506         * ada-lang.c (ada_catchpoint_location): Now a "class".  Remove
13507         "base" field and inherit from "bp_location" instead.  Add
13508         non-default ctor.
13509         (allocate_location_exception): Use new non-default ctor.
13510         * breakpoint.c (get_first_locp_gte_addr): Remove memset call.
13511         (init_bp_location): Convert to ...
13512         (bp_location::bp_location): ... this new ctor, and remove memset
13513         call.
13514         (base_breakpoint_allocate_location): Use the new non-default ctor.
13515         * breakpoint.h (bp_location): Now a class.  Declare default and
13516         non-default ctors.  In-class initialize all members.
13517         (init_bp_location): Remove declaration.
13518
13519 2017-04-25  Pedro Alves  <palves@redhat.com>
13520
13521         * common/enum-flags.h (enum_flags): Don't implement copy ctor and
13522         assignment operator.
13523
13524 2017-04-24  Yao Qi  <yao.qi@linaro.org>
13525
13526         * doublest.c (convert_doublest_to_floatformat): Call
13527         floatformat_totalsize_bytes.
13528
13529 2017-04-22  Tom Tromey  <tom@tromey.com>
13530
13531         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Use
13532         ui_out_emit_list.
13533         * stack.c (print_frame): Use ui_out_emit_list.
13534         * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Use
13535         ui_out_emit_list.
13536         * mi/mi-main.c (print_one_inferior)
13537         (mi_cmd_data_list_register_names)
13538         (mi_cmd_data_list_register_values, mi_cmd_list_features)
13539         (mi_cmd_list_target_features, mi_cmd_trace_frame_collected): Use
13540         ui_out_emit_list.
13541         * mi/mi-interp.c (mi_on_normal_stop_1): Use ui_out_emit_list.
13542         (mi_output_solib_attribs): Use ui_out_emit_list,
13543         ui_out_emit_tuple.
13544         * mi/mi-cmd-var.c (varobj_update_one): Use ui_out_emit_list.
13545         * mi/mi-cmd-stack.c (mi_cmd_stack_list_frames)
13546         (mi_cmd_stack_list_args, list_args_or_locals): Use
13547         ui_out_emit_list.
13548         * disasm.c (do_assembly_only): Use ui_out_emit_list.
13549         * breakpoint.c (print_solib_event, output_thread_groups): Use
13550         ui_out_emit_list.
13551
13552 2017-04-22  Tom Tromey  <tom@tromey.com>
13553
13554         * mi/mi-main.c (print_variable_or_computed): Use ui_out_emit_tuple.
13555         * mi/mi-cmd-var.c (varobj_update_one): Use ui_out_emit_tuple.
13556         * mi/mi-cmd-stack.c (list_arg_or_local): Use ui_out_emit_tuple.
13557
13558 2017-04-22  Tom Tromey  <tom@tromey.com>
13559
13560         * tracepoint.c (tvariables_info_1)
13561         (print_one_static_tracepoint_marker): Use ui_out_emit_tuple.
13562
13563 2017-04-22  Tom Tromey  <tom@tromey.com>
13564
13565         * stack.c (print_frame_arg): Use ui_out_emit_tuple,
13566         annotate_arg_emitter.
13567         * breakpoint.c (print_mention_watchpoint)
13568         (print_mention_masked_watchpoint): Use ui_out_emit_tuple.
13569         * annotate.h (struct annotate_arg_emitter): New.
13570
13571 2017-04-22  Tom Tromey  <tom@tromey.com>
13572
13573         * record-btrace.c (record_btrace_insn_history)
13574         (record_btrace_insn_history_range, record_btrace_call_history)
13575         (record_btrace_call_history_range): Use ui_out_emit_tuple.
13576         * thread.c (do_captured_list_thread_ids, print_thread_info_1): Use
13577         ui_out_emit_tuple.
13578         * stack.c (print_frame_info): Use ui_out_emit_tuple.
13579         * solib.c (info_sharedlibrary_command): Use ui_out_emit_tuple.
13580         * skip.c (skip_info): Use ui_out_emit_tuple.
13581         * remote.c (show_remote_cmd): Use ui_out_emit_tuple.
13582         * progspace.c (print_program_space): Use ui_out_emit_tuple.
13583         * probe.c (info_probes_for_ops): Use ui_out_emit_tuple.
13584         * osdata.c (info_osdata): Use ui_out_emit_tuple.
13585         * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Use
13586         ui_out_emit_tuple.
13587         * mi/mi-main.c (print_one_inferior, list_available_thread_groups)
13588         (output_register, mi_cmd_data_read_memory)
13589         (mi_cmd_data_read_memory_bytes, mi_load_progress)
13590         (mi_cmd_trace_frame_collected): Use ui_out_emit_tuple.
13591         * mi/mi-cmd-var.c (mi_cmd_var_list_children, varobj_update_one):
13592         Use ui_out_emit_tuple.
13593         * mi/mi-cmd-stack.c (mi_cmd_stack_list_args): Use
13594         ui_out_emit_tuple.
13595         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions)
13596         (mi_cmd_info_gdb_mi_command): Use ui_out_emit_tuple.
13597         * linux-thread-db.c (info_auto_load_libthread_db): Use
13598         ui_out_emit_tuple.
13599         * inferior.c (print_inferior): Use ui_out_emit_tuple.
13600         * gdb_bfd.c (print_one_bfd): Use ui_out_emit_tuple.
13601         * disasm.c (do_mixed_source_and_assembly_deprecated)
13602         (do_mixed_source_and_assembly): Use ui_out_emit_tuple.
13603         * cp-abi.c (list_cp_abis): Use ui_out_emit_tuple.
13604         * cli/cli-setshow.c (cmd_show_list): Use ui_out_emit_tuple.
13605         * breakpoint.c (print_one_breakpoint_location)
13606         (print_one_breakpoint): Use ui_out_emit_tuple.
13607         * auto-load.c (print_script, info_auto_load_cmd): Use
13608         ui_out_emit_tuple.
13609         * ada-tasks.c (print_ada_task_info): Use ui_out_emit_tuple.
13610
13611 2017-04-21  Simon Marchi  <simon.marchi@ericsson.com>
13612
13613         * thread.c (print_thread_info_1): Remove dead code.
13614
13615 2017-04-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
13616
13617         * aarch64-tdep.c (selftests::aarch64_process_record_test): Make it #if
13618         GDB_SELF_TEST.
13619         * arm-tdep.c (selftests::arm_record_test): Likewise.
13620
13621 2017-04-21  Yao Qi  <yao.qi@linaro.org>
13622
13623         * regcache.c (regcache_restore): Remove argument 2.  Replace
13624         argument 3 with regcache.  Get register status from
13625         src->register_status and get register contents from
13626         register_buffer (src, regnum).
13627         (regcache_cpy): Update.
13628
13629 2017-04-19  Pedro Alves  <palves@redhat.com>
13630
13631         * gdbthread.h (thread): Add missing closing parenthesis in
13632         comment.
13633
13634 2017-04-19  Pedro Alves  <palves@redhat.com>
13635
13636         * common/refcounted-object.h: New file.
13637         * gdbthread.h: Include "common/refcounted-object.h".
13638         (thread_info): Inherit from refcounted_object and add comments.
13639         (thread_info::incref, thread_info::decref)
13640         (thread_info::m_refcount): Delete.
13641         (thread_info::deletable): Use the refcounted_object::refcount()
13642         method.
13643         * inferior.c (current_inferior_): Add comment.
13644         (set_current_inferior): Increment/decrement refcounts.
13645         (prune_inferiors, remove_inferior_command): Skip inferiors marked
13646         not-deletable instead of comparing with the current inferior.
13647         (initialize_inferiors): Increment the initial inferior's refcount.
13648         * inferior.h (struct inferior): Forward declare.
13649         Include "common/refcounted-object.h".
13650         (current_inferior, set_current_inferior): Move declaration to
13651         before struct inferior's definition, and fix comment.
13652         (inferior): Inherit from refcounted_object.  Add comments.
13653         * thread.c (switch_to_thread_no_regs): Reference the thread's
13654         inferior pointer directly instead of doing a ptid lookup.
13655         (switch_to_no_thread): New function.
13656         (switch_to_thread(thread_info *)): New function, factored out
13657         from ...
13658         (switch_to_thread(ptid_t)): ... this.
13659         (restore_current_thread): Delete.
13660         (current_thread_cleanup): Remove 'inf_id' and 'was_removable'
13661         fields, and add 'inf' field.
13662         (do_restore_current_thread_cleanup): Check whether old->inf is
13663         alive instead of looking up an inferior by ptid.  Use
13664         switch_to_thread and switch_to_no_thread.
13665         (restore_current_thread_cleanup_dtor): Use old->inf directly
13666         instead of lookup up an inferior by id.  Decref the inferior.
13667         Don't restore 'removable'.
13668         (make_cleanup_restore_current_thread): Same the inferior pointer
13669         in old, instead of the inferior number.  Incref the inferior.
13670         Don't save/clear 'removable'.
13671
13672 2017-04-19  Pedro Alves  <palves@redhat.com>
13673
13674         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
13675         unittests/scoped_restore-selftests.c.
13676         (SUBDIR_UNITTESTS_OBS): Add scoped_restore-selftests.o.
13677         * common/scoped_restore.h (scoped_restore_base): Make "class".
13678         (scoped_restore_base::release): New public method.
13679         (scoped_restore_base::scoped_restore_base): New protected ctor.
13680         (scoped_restore_base::m_saved_var): New protected field.
13681         (scoped_restore_tmpl::scoped_restore_tmpl(T*)): Initialize the
13682         scoped_restore_base base class instead of m_saved_var directly.
13683         (scoped_restore_tmpl::scoped_restore_tmpl(T*, T2)): Likewise.
13684         (scoped_restore_tmpl::scoped_restore_tmpl(const
13685         scoped_restore_tmpl<T>&)): Likewise.
13686         (scoped_restore_tmpl::~scoped_restore_tmpl): Use the saved_var
13687         method.
13688         (scoped_restore_tmpl::saved_var): New method.
13689         (scoped_restore_tmpl::m_saved_var): Delete.
13690         * inferior.h (inferior::detaching): Now a bool.
13691         * infrun.c (prepare_for_detach): Use a scoped_restore instead of a
13692         cleanup.
13693         * unittests/scoped_restore-selftests.c: New file.
13694
13695 2017-04-19  Pedro Alves  <palves@redhat.com>
13696
13697         * Makefile.in (SUBDIR_UNITTESTS_SRCS, SUBDIR_UNITTESTS_OBS):
13698         Re-sort in alphabetic order.
13699
13700 2017-04-18  Pedro Alves  <palves@redhat.com>
13701
13702         * xml-support.c (obstack_xml_printf): Delete.
13703         * xml-support.h (obstack_xml_printf): Delete.
13704
13705 2017-04-18  Pedro Alves  <palves@redhat.com>
13706
13707         * xml-support.c (gdb_xml_parser) <use_dtd, dtd_name, parse,
13708         vdebug, verror, body_text, start_element, end_element, name,
13709         user_data, set_is_xinclude, set_error, expat_parser>: New methods.
13710         <name, user_data, expat_parser, scopes, error, last_line, dtd_name,
13711         is_xinclude>: Make private and add m_ prefix.
13712         (gdb_xml_parser::body_text): New method, based on ...
13713         (gdb_xml_body_text): ... this.  Adjust.
13714         (gdb_xml_parser::vdebug): New method, based on ...
13715         (gdb_xml_debug): ... this.  Adjust.
13716         (gdb_xml_parser::verror): New method, based on ...
13717         (gdb_xml_error): ... this.  Adjust.
13718         (gdb_xml_parser::start_element): New method, based on ...
13719         (gdb_xml_start_element): ... this.  Adjust.
13720         (gdb_xml_start_element_wrapper): Defer to
13721         gdb_xml_parser::start_element and gdb_xml_parser::set_error.
13722         (gdb_xml_parser::end_element): New method, based on ...
13723         (gdb_xml_end_element_wrapper): ... this.  Adjust.
13724         (gdb_xml_parser::~gdb_xml_parser): Adjust.
13725         (gdb_xml_parser::gdb_xml_parser): Adjust to field renames.
13726         (gdb_xml_parser::use_dtd): New method, based on ...
13727         (gdb_xml_use_dtd): ... this.  Adjust.
13728         (gdb_xml_parser::parse): New method, based on ...
13729         (gdb_xml_parse): ... this.  Adjust.
13730         (gdb_xml_parse_quick): Adjust to call the parser's parse method.
13731         (xinclude_start_include): Adjust to call the parser's name method.
13732         (xml_xinclude_default, xml_xinclude_start_doctype)
13733         (xml_xinclude_end_doctype): Adjust to call the parser's user_data
13734         method.
13735         (xml_process_xincludes): Adjust to call parser methods.
13736         * xml-support.h (gdb_xml_use_dtd, gdb_xml_parse): Delete
13737         declarations.
13738
13739 2017-04-18  Pedro Alves  <palves@redhat.com>
13740
13741         * tracefile-tfile.c (tfile_write_tdesc): Adjust to use
13742         gdb::optional<std::string>.
13743         * xml-support.c: Include <string>.
13744         (scope_level::scope_level(scope_level &&))
13745         (scope_level::~scope_level): Delete.
13746         (scope_level::body): Now a std::string.
13747         (gdb_xml_body_text, gdb_xml_end_element): Adjust.
13748         (xinclude_parsing_data::xinclude_parsing_data): Add 'output'
13749         parameter.
13750         (xinclude_parsing_data::~xinclude_parsing_data): Delete.
13751         (xinclude_parsing_data::output): Now a std::string reference.
13752         (xinclude_start_include): Adjust.
13753         (xml_xinclude_default): Adjust.
13754         (xml_process_xincludes): Add 'output' parameter, and return bool.
13755         * xml-support.h (xml_process_xincludes): Add 'output' parameter,
13756         and return bool.
13757         * xml-tdesc.c: Include <unordered_map> and <string>.
13758         (tdesc_xml_cache): Delete.
13759         (tdesc_xml_cache_s): Delete.
13760         (xml_cache): Now an std::unordered_map.
13761         (tdesc_parse_xml): Adjust to use std::string and unordered_map.
13762         (target_fetch_description_xml): Change return type to
13763         gdb::optional<std::string>, and adjust.
13764         * xml-tdesc.h: Include "common/gdb_optional.h" and <string>.
13765         (target_fetch_description_xml): Change return type to
13766         gdb::optional<std::string>.
13767
13768 2017-04-18  Pedro Alves  <palves@redhat.com>
13769
13770         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
13771         unittests/optional-selftests.c.
13772         (SUBDIR_UNITTESTS_OBS): Add optional-selftests.o.
13773         * unittests/optional-selftests.c: New file.
13774         * unittests/optional/assignment/1.cc: New file.
13775         * unittests/optional/assignment/2.cc: New file.
13776         * unittests/optional/assignment/3.cc: New file.
13777         * unittests/optional/assignment/4.cc: New file.
13778         * unittests/optional/assignment/5.cc: New file.
13779         * unittests/optional/assignment/6.cc: New file.
13780         * unittests/optional/assignment/7.cc: New file.
13781         * unittests/optional/cons/copy.cc: New file.
13782         * unittests/optional/cons/default.cc: New file.
13783         * unittests/optional/cons/move.cc: New file.
13784         * unittests/optional/cons/value.cc: New file.
13785         * unittests/optional/in_place.cc: New file.
13786         * unittests/optional/observers/1.cc: New file.
13787         * unittests/optional/observers/2.cc: New file.
13788
13789 2017-04-18  Pedro Alves  <palves@redhat.com>
13790
13791         * common/gdb_optional.h: Include common/traits.h.
13792         (in_place_t): New type.
13793         (in_place): New constexpr variable.
13794         (optional::optional): Remove member initialization of
13795         m_instantiated.
13796         (optional::optional(in_place_t...)): New constructor.
13797         (optional::~optional): Use reset.
13798         (optional::optional(const optional&)): New.
13799         (optional::optional(const optional&&)): New.
13800         (optional::optional(T &)): New.
13801         (optional::optional(T &&)): New.
13802         (operator::operator=(const optional &)): New.
13803         (operator::operator=(optional &&)): New.
13804         (operator::operator= (const T &))
13805         (operator::operator= (T &&))
13806         (operator::emplace (Args &&... args)): Return a T&.  Use reset.
13807         (operator::reset): New.
13808         (operator::m_instantiated):: Add in-class initializer.
13809         * common/traits.h: Include <type_traits>.
13810         (struct And): New types.
13811
13812 2017-04-18  Pedro Alves  <palves@redhat.com>
13813
13814         * xml-support.c: Include <vector>.
13815         (scope_level::scope_level(const gdb_xml_element *))
13816         (scope_level::scope_level(scope_level&&)): New.
13817         (scope_level::~scope_level): New.
13818         (scope_level_s): Delete.
13819         (gdb_xml_parser::scopes): Now a std::vector.
13820         (gdb_xml_body_text, gdb_xml_start_element, gdb_xml_end_element):
13821         Use std::vector.
13822         (gdb_xml_parser::~gdb_xml_parser): Remove now unnecessary
13823         scope cleanup code.
13824         (gdb_xml_parser::gdb_xml_parser): Remove explicit initialization
13825         of the scopes member.  Use std::vector::emplace_back.
13826
13827 2017-04-18  Pedro Alves  <palves@redhat.com>
13828
13829         * xml-support.c (gdb_xml_parser): Add ctor/dtor.  Make is_xinclude
13830         a bool.
13831         (gdb_xml_end_element): Change type of first parameter.
13832         (gdb_xml_cleanup): Rename to ...
13833         (gdb_xml_parser::~gdb_xml_parser): ... this.
13834         (gdb_xml_create_parser_and_cleanup): Delete with ...
13835         (gdb_xml_parser::gdb_xml_parser): ... creation parts factored out
13836         to this new ctor.
13837         (gdb_xml_parse_quick): Create a local gdb_xml_parser instead of
13838         using gdb_xml_create_parser_and_cleanup.
13839         (xinclude_parsing_data): Add ctor/dtor.
13840         (xml_xinclude_cleanup): Delete.
13841         (xml_process_xincludes): Create a local xinclude_parsing_data
13842         instead of heap-allocating one.  Create a local gdb_xml_parser
13843         instead of heap-allocating one with
13844         gdb_xml_create_parser_and_cleanup.
13845
13846 2017-04-18  John Baldwin  <jhb@FreeBSD.org>
13847
13848         PR threads/20743
13849         * fbsd-nat.c (resume_one_thread_cb): Remove.
13850         (resume_all_threads_cb): Remove.
13851         (fbsd_resume): Use ALL_NON_EXITED_THREADS instead of
13852         iterate_over_threads.
13853
13854 2017-04-17  Joel Brobecker  <brobecker@adacore.com>
13855
13856         * NEWS: Create a new section for the next release branch.
13857         Rename the section of the current branch, now that it has
13858         been cut.
13859
13860 2017-04-17  Joel Brobecker  <brobecker@adacore.com>
13861
13862         GDB 8.0 branch created (725bf5cf125783c2a7ca4ab63d3768e220bab2db):
13863         * version.in: Bump version to 8.0.50.DATE-git.
13864
13865 2017-04-13  Sergio Durigan Junior  <sergiodj@redhat.com>
13866
13867         PR gdb/21385
13868         * windows-nat.c (windows_create_inferior): Declare 'allargs'
13869         independently of the host, and fix build breakage on Cygwin.
13870
13871 2017-04-13  Pedro Alves  <palves@redhat.com>
13872
13873         * inferior.c (free_inferior): Convert to ...
13874         (inferior::~inferior): ... this dtor.
13875         (inferior::inferior): New ctor, factored out from ...
13876         (add_inferior_silent): ... here.  Allocate the inferior with a new
13877         expression.
13878         (delete_inferior): Call delete instead of free_inferior.
13879         * inferior.h (gdb_environ, continuation): Forward declare.
13880         (inferior): Now a class.  Add in-class initialization to all
13881         members.  Make boolean fields bool, except 'detaching'.
13882         (inferior::inferior): New explicit ctor.
13883         (inferior::~inferior): New.
13884
13885 2017-04-13  Pedro Alves  <palves@redhat.com>
13886
13887         * inferior.c (init_inferior_list): Delete.
13888         * inferior.h (init_inferior_list): Delete.
13889
13890 2017-04-13  Pedro Alves  <palves@redhat.com>
13891
13892         PR threads/13217
13893         * gdb.threads/threadapply.exp (thr_apply_detach): New procedure.
13894         (top level): Call it twice, with different thread sets.
13895
13896 2017-04-13  Pedro Alves  <palves@redhat.com>
13897
13898         * thread.c: Include <algorithm>.
13899         (thread_array_cleanup): Delete.
13900         (scoped_inc_dec_ref): New class.
13901         (live_threads_count): New function.
13902         (set_thread_refcount): Delete.
13903         (tp_array_compar_ascending): Now a bool.
13904         (tp_array_compar): Convert to a std::sort comparison function.
13905         (thread_apply_all_command): Use std::vector and scoped_inc_dec_ref
13906         and live_threads_count.
13907
13908 2017-04-13  Pedro Alves  <palves@redhat.com>
13909
13910         * infrun.c (follow_fork_inferior): Also switch the current
13911         inferior.
13912
13913 2017-04-13  Pedro Alves  <palves@redhat.com>
13914
13915         * breakpoint.c (watch_command_1): Save watchpoint-frame info
13916         before calling create_internal_breakpoint.
13917
13918 2017-04-13  Pedro Alves  <palves@redhat.com>
13919
13920         * fork-child.c (execv_argv): New class.
13921         (breakup_args): Refactored as ...
13922         (execv_argv::init_for_no_shell): .. this method of execv_argv.
13923         Copy arguments to storage and replace separators with NULL
13924         terminators in place.
13925         (escape_bang_in_quoted_argument): Adjust to return bool.
13926         (execv_argv::execv_argv): New ctor.
13927         (execv_argv::init_for_shell): New method, factored out from
13928         fork_inferior.  Don't strdup strings into the vector.
13929         (fork_inferior): Eliminate "shell" local and use execv_argv.  Use
13930         Remove free_vector_argv call.
13931
13932 2017-04-13  Yao Qi  <yao.qi@linaro.org>
13933
13934         * rx-tdep.c (rx_fpsw_type): Check tdep->rx_fpsw_type instead of
13935         tdep->rx_psw_type.
13936
13937 2017-04-13  Yao Qi  <yao.qi@linaro.org>
13938
13939         * rl78-tdep.c (rl78_gdbarch_init): Use XCNEW instead of XNEW.
13940         * rx-tdep.c (rx_gdbarch_init): Likewise.
13941
13942 2017-04-13  Pedro Alves  <palves@redhat.com>
13943
13944         * breakpoint.h (struct breakpoint): Reindent.
13945
13946 2017-04-13  Pedro Alves  <palves@redhat.com>
13947
13948         * breakpoint.c (bp_location): Rename to ...
13949         (bp_locations): ... this.  All references updated.
13950         (bp_location_count): Rename to ...
13951         (bp_locations_count): ... this.  All references updated.
13952         (bp_location_placed_address_before_address_max): Rename to ...
13953         (bp_locations_placed_address_before_address_max): ... this.  All
13954         references updated.
13955         (bp_location_shadow_len_after_address_max): Rename to ...
13956         (bp_locations_shadow_len_after_address_max): ... this.  All
13957         references updated.
13958         (bp_location_compare_addrs): Rename to ...
13959         (bp_locations_compare_addrs): ... this.  All references updated.
13960         (bp_location_compare):Rename to ...
13961         (bp_locations_compare): ... this.  All references updated.
13962         (bp_location_target_extensions_update): Rename to ...
13963         (bp_locations_target_extensions_update): ... this.  All references
13964         updated.
13965
13966 2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
13967
13968         * Makefile.in (HFILES_NO_SRCDIR): Add "common/gdb_termios.h".
13969         * common/common.m4: Check headers 'termios.h', 'termio.h' and
13970         'sgtty.h'.
13971         * common/gdb_termios.h: New file, with parts of "terminal.h".
13972         * inflow.c: Include "gdb_termios.h".
13973         * ser-unix.c: Include "gdb_termios.h".
13974         * terminal.h: Move terminal-related defines to
13975         "common/gdb_termios.h".
13976
13977 2017-04-12  Tom Tromey  <tom@tromey.com>
13978
13979         * probe.c (parse_probes): Update.
13980         * location.h (delete_event_location): Don't declare.
13981         (event_location_deleter::operator()): Update.
13982         * location.c (event_location_deleter::operator()): Rename from
13983         delete_event_location.
13984         * linespec.h (linespec_result) <location>: Change type to
13985         event_location_up.
13986         * linespec.c (canonicalize_linespec, event_location_to_sals)
13987         (decode_objc): Update.
13988         (linespec_result): Don't call delete_event_location.
13989         * breakpoint.c (create_breakpoints_sal)
13990         (bkpt_probe_create_sals_from_location)
13991         (strace_marker_create_sals_from_location): Update.
13992
13993 2017-04-12  Tom Tromey  <tom@tromey.com>
13994
13995         * linespec.h (struct linespec_result): Add constructor and
13996         destructor.
13997         (init_linespec_result, destroy_linespec_result)
13998         (make_cleanup_destroy_linespec_result): Don't declare.
13999         * linespec.c (init_linespec_result): Remove.
14000         (linespec_result::~linespec_result): Rename from
14001         destroy_linespec_result.  Update.
14002         (cleanup_linespec_result, make_cleanup_destroy_linespec_result):
14003         Remove.
14004         * breakpoint.c (create_breakpoint, break_range_command)
14005         (decode_location_default): Update.
14006         * ax-gdb.c (agent_command_1): Update.
14007
14008 2017-04-12  Tom Tromey  <tom@tromey.com>
14009
14010         * remote.c (remote_download_tracepoint): Update.
14011         * python/py-breakpoint.c (bppy_get_location): Update.
14012         * guile/scm-breakpoint.c (bpscm_print_breakpoint_smob)
14013         (gdbscm_breakpoint_location): Update.
14014         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Update.
14015         * breakpoint.h (struct breakpoint) <location, location_range_end>:
14016         Change type to event_location_up.
14017         * breakpoint.c (create_overlay_event_breakpoint)
14018         (create_longjmp_master_breakpoint)
14019         (create_std_terminate_master_breakpoint)
14020         (create_exception_master_breakpoint)
14021         (breakpoint_event_location_empty_p, print_breakpoint_location)
14022         (print_one_breakpoint_location, create_thread_event_breakpoint)
14023         (init_breakpoint_sal, create_breakpoint)
14024         (print_recreate_ranged_breakpoint, break_range_command)
14025         (init_ada_exception_breakpoint, say_where): Update.
14026         (base_breakpoint_dtor): Don't call delete_event_location.
14027         (bkpt_print_recreate, tracepoint_print_recreate)
14028         (dprintf_print_recreate, update_static_tracepoint)
14029         (breakpoint_re_set_default): Update.
14030
14031 2017-04-12  Tom Tromey  <tom@tromey.com>
14032
14033         * compile/compile-loc2c.c (compute_stack_depth_worker): Change
14034         type of "to_do".  Update.
14035         (compute_stack_depth): Use std::vector.
14036
14037 2017-04-12  Tom Tromey  <tom@tromey.com>
14038
14039         * printcmd.c (find_instruction_backward): Use std::vector.
14040
14041 2017-04-12  Tom Tromey  <tom@tromey.com>
14042
14043         * symfile.c (objfilep): Remove typedef.
14044         (reread_symbols): Use a std::vector.
14045
14046 2017-04-12  Tom Tromey  <tom@tromey.com>
14047
14048         * mi/mi-main.c (exec_direction_forward): Remove.
14049         (exec_reverse_continue, mi_execute_command): Use scoped_restore.
14050         * guile/scm-ports.c (ioscm_with_output_to_port_worker): Use
14051         scoped_restore.
14052         * guile/guile.c (guile_repl_command, guile_command)
14053         (gdbscm_execute_gdb_command): Use scoped_restore.
14054         * go-exp.y (go_parse): Use scoped_restore.
14055         * d-exp.y (d_parse): Use scoped_restore.
14056         * cli/cli-decode.c (cmd_func): Use scoped_restore.
14057         * c-exp.y (c_parse): Use scoped_restore.
14058
14059 2017-04-12  Tom Tromey  <tom@tromey.com>
14060
14061         * mi/mi-parse.h (struct mi_parse): Add constructor, destructor.
14062         (mi_parse): Update return type.
14063         (mi_parse_free): Remove.
14064         * mi/mi-parse.c (mi_parse::mi_parse): New constructor.
14065         (mi_parse::~mi_parse): Rename from mi_parse_free.
14066         (mi_parse_cleanup): Remove.
14067         (mi_parse): Return a unique_ptr.  Use new.
14068         * mi/mi-main.c (mi_execute_command): Update.
14069
14070 2017-04-12  Tom Tromey  <tom@tromey.com>
14071
14072         * location.c (explicit_location_lex_one): Return a
14073         unique_xmalloc_ptr.
14074         (string_to_explicit_location): Update.  Remove cleanups.
14075
14076 2017-04-12  Tom Tromey  <tom@tromey.com>
14077
14078         * gnu-v3-abi.c (value_and_voffset_p): Remove typedef.
14079         (compare_value_and_voffset): Change type.  Update.
14080         (compute_vtable_size): Change type of "offset_vec".
14081         (gnuv3_print_vtable): Use std::vector.  Remove cleanups.
14082         (gnuv3_get_typeid): Remove extraneous declaration.
14083
14084 2017-04-12  Tom Tromey  <tom@tromey.com>
14085
14086         * charset.h (wchar_iterator): Fix comment.
14087
14088 2017-04-12  Tom Tromey  <tom@tromey.com>
14089
14090         * charset.c (iconv_wrapper): New class.
14091         (cleanup_iconv): Remove.
14092         (convert_between_encodings): Use it.
14093
14094 2017-04-12  Tom Tromey  <tom@tromey.com>
14095
14096         * symfile.h (increment_reading_symtab): Update type.
14097         * symfile.c (decrement_reading_symtab): Remove.
14098         (increment_reading_symtab): Return a scoped_restore_tmpl<int>.
14099         * psymtab.c (psymtab_to_symtab): Update.
14100         * dwarf2read.c (dw2_instantiate_symtab): Update.
14101
14102 2017-04-12  Tom Tromey  <tom@tromey.com>
14103
14104         * jit.c (struct jit_reader): Declare separately.  Add constructor
14105         and destructor.  Change type of "handle".
14106         (loaded_jit_reader): Define separately.
14107         (jit_reader_load): Update.  New "new".
14108         (jit_reader_unload_command): Use "delete".
14109         * gdb-dlfcn.h (struct dlclose_deleter): New.
14110         (gdb_dlhandle_up): New typedef.
14111         (gdb_dlopen, gdb_dlsym): Update types.
14112         (gdb_dlclose): Remove.
14113         * gdb-dlfcn.c (gdb_dlopen): Return a gdb_dlhandle_up.
14114         (gdb_dlsym): Change type of "handle".
14115         (make_cleanup_dlclose): Remove.
14116         (dlclose_deleter::operator()): Rename from gdb_dlclose.
14117         * compile/compile-c-support.c (load_libcc): Update.
14118
14119 2017-04-12  Tom Tromey  <tom@tromey.com>
14120
14121         * symtab.h (find_pcs_for_symtab_line): Change return type.
14122         * symtab.c (find_pcs_for_symtab_line): Change return type.
14123         * python/py-linetable.c (build_line_table_tuple_from_pcs): Change
14124         type of "vec".  Update.
14125         (ltpy_get_pcs_for_line): Update.
14126         * linespec.c (decode_digits_ordinary): Update.
14127
14128 2017-04-12  Tom Tromey  <tom@tromey.com>
14129
14130         * tracepoint.c (actions_command): Update.
14131         * python/python.c (python_command, python_interactive_command):
14132         Update.
14133         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
14134         * guile/guile.c (guile_command): Update.
14135         * defs.h (read_command_lines, read_command_lines_1): Return
14136         command_line_up.
14137         (command_lines_deleter): New struct.
14138         (command_line_up): New typedef.
14139         * compile/compile.c (compile_code_command)
14140         (compile_print_command): Update.
14141         * cli/cli-script.h (get_command_line, copy_command_lines): Return
14142         command_line_up.
14143         (make_cleanup_free_command_lines): Remove.
14144         * cli/cli-script.c (get_command_line, read_command_lines_1)
14145         (copy_command_lines): Return command_line_up.
14146         (while_command, if_command, read_command_lines, define_command)
14147         (document_command): Update.
14148         (do_free_command_lines_cleanup, make_cleanup_free_command_lines):
14149         Remove.
14150         * breakpoint.h (breakpoint_set_commands): Change type of
14151         "commands".
14152         * breakpoint.c (breakpoint_set_commands): Change type of
14153         "commands".  Update.
14154         (do_map_commands_command, update_dprintf_command_list)
14155         (create_tracepoint_from_upload): Update.
14156
14157 2017-04-12  Tom Tromey  <tom@tromey.com>
14158
14159         * tracepoint.c (scope_info): Update.
14160         * spu-tdep.c (spu_catch_start): Update.
14161         * python/python.c (gdbpy_decode_line): Update.
14162         * python/py-finishbreakpoint.c (bpfinishpy_init): Update.
14163         * python/py-breakpoint.c (bppy_init): Update.
14164         * probe.c (parse_probes): Update.
14165         * mi/mi-cmd-break.c (mi_cmd_break_insert_1): Update.
14166         * location.h (event_location_deleter): New struct.
14167         (event_location_up): New typedef.
14168         (new_linespec_location, new_address_location, new_probe_location)
14169         (new_explicit_location, copy_event_location)
14170         (string_to_event_location, string_to_event_location_basic)
14171         (string_to_explicit_location): Update return type.
14172         (make_cleanup_delete_event_location): Remove.
14173         * location.c (new_linespec_location, new_address_location)
14174         (new_probe_location, new_explicit_location, copy_event_location):
14175         Return event_location_up.
14176         (delete_event_location_cleanup)
14177         (make_cleanup_delete_event_location): Remove.
14178         (string_to_explicit_location, string_to_event_location_basic)
14179         (string_to_event_location): Return event_location_up.
14180         * linespec.c (canonicalize_linespec, event_location_to_sals)
14181         (decode_line_with_current_source)
14182         (decode_line_with_last_displayed, decode_objc): Update.
14183         * guile/scm-breakpoint.c (gdbscm_register_breakpoint_x): Update.
14184         * completer.c (location_completer): Update.
14185         * cli/cli-cmds.c (edit_command, list_command): Update.
14186         * breakpoint.c (create_overlay_event_breakpoint)
14187         (create_longjmp_master_breakpoint)
14188         (create_std_terminate_master_breakpoint)
14189         (create_exception_master_breakpoint)
14190         (create_thread_event_breakpoint): Update.
14191         (init_breakpoint_sal): Update.  Remove some dead code.
14192         (create_breakpoint_sal): Change type of "location".  Update.
14193         (create_breakpoints_sal, create_breakpoint, break_command_1)
14194         (dprintf_command, break_range_command, until_break_command)
14195         (init_ada_exception_breakpoint)
14196         (strace_marker_create_sals_from_location)
14197         (update_static_tracepoint, trace_command, ftrace_command)
14198         (strace_command, create_tracepoint_from_upload): Update.
14199         * break-catch-throw.c (re_set_exception_catchpoint): Update.
14200         * ax-gdb.c (agent_command_1): Update.
14201
14202 2017-04-12  Pedro Alves  <palves@redhat.com>
14203
14204         * Makefile.in (ALL_TARGET_OBS): Add i386-go32-tdep.o.
14205         * configure.tgt: Handle i[34567]86-*-go32* and
14206         i[34567]86-*-msdosdjgpp*.
14207         * i386-tdep.c (i386_svr4_reg_to_regnum):
14208         Make extern.
14209         (i386_go32_init_abi, i386_coff_osabi_sniffer): Moved to
14210         i386-go32-tdep.c.
14211         (_initialize_i386_tdep): DJGPP bits moved to i386-go32-tdep.c.
14212         * i386-go32-tdep.c: New file.
14213         * i386-tdep.h (tdesc_i386_mmx, i386_svr4_reg_to_regnum): New
14214         declarations.
14215
14216 2017-04-12  Simon Marchi  <simon.marchi@ericsson.com>
14217
14218         * aix-thread.c (pd_status2str): Change return type to const char *.
14219
14220 2017-04-12  Pedro Alves  <palves@redhat.com>
14221
14222         * i386-tdep.c (i386_elf_init_abi, i386_go32_init_abi): Remove
14223         calls to set_gdbarch_gnu_triplet_regexp.
14224
14225 2017-04-12  Pedro Alves  <palves@redhat.com>
14226
14227         PR gdb/21323
14228         * c-lang.c (cplus_primitive_types) <cplus_primitive_type_wchar_t>:
14229         New enum value.
14230         (cplus_language_arch_info): Register cplus_primitive_type_wchar_t.
14231         * gdbtypes.h (struct builtin_type) <builtin_wchar>: New field.
14232         * gdbtypes.c (gdbtypes_post_init): Create the "wchar_t" type.
14233         * gdbarch.sh (wchar_bit, wchar_signed): New per-arch values.
14234         * gdbarch.h, gdbarch.c: Regenerate.
14235         * aarch64-tdep.c (aarch64_gdbarch_init): Override
14236         gdbarch_wchar_bit and gdbarch_wchar_signed.
14237         * alpha-tdep.c (alpha_gdbarch_init): Likewise.
14238         * arm-tdep.c (arm_gdbarch_init): Likewise.
14239         * avr-tdep.c (avr_gdbarch_init): Likewise.
14240         * h8300-tdep.c (h8300_gdbarch_init): Likewise.
14241         * i386-nto-tdep.c (i386nto_init_abi): Likewise.
14242         * i386-tdep.c (i386_go32_init_abi): Likewise.
14243         * m32r-tdep.c (m32r_gdbarch_init): Likewise.
14244         * moxie-tdep.c (moxie_gdbarch_init): Likewise.
14245         * nds32-tdep.c (nds32_gdbarch_init): Likewise.
14246         * rs6000-aix-tdep.c (rs6000_aix_init_osabi): Likewise.
14247         * sh-tdep.c (sh_gdbarch_init): Likewise.
14248         * sparc-tdep.c (sparc32_gdbarch_init): Likewise.
14249         * sparc64-tdep.c (sparc64_init_abi): Likewise.
14250         * windows-tdep.c (windows_init_abi): Likewise.
14251         * xstormy16-tdep.c (xstormy16_gdbarch_init): Likewise.
14252
14253 2017-04-12  Pedro Alves  <palves@redhat.com>
14254
14255         PR c++/21323
14256         * c-lang.c (cplus_primitive_types) <cplus_primitive_type_char16_t,
14257         cplus_primitive_type_char32_t>: New enum values.
14258         (cplus_language_arch_info): Register cplus_primitive_type_char16_t
14259         and cplus_primitive_type_char32_t.
14260         * dwarf2read.c (read_base_type) <DW_ATE_UTF>: If bit size is 16 or
14261         32, use the archtecture's built-in type for char16_t and char32_t,
14262         respectively.  Otherwise, fallback to init_integer_type as before,
14263         but make the type unsigned, and issue a complaint.
14264         * gdbtypes.c (gdbtypes_post_init): Make char16_t and char32_t unsigned.
14265
14266 2017-04-12  Alan Hayward  <alan.hayward@arm.com>
14267
14268         * m32r-tdep.c (M32R_ARG_REGISTER_SIZE): Added.
14269         (m32r_push_dummy_call): Use M32R_ARG_REGISTER_SIZE.
14270
14271 2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
14272
14273         * windows-nat.c (windows_create_inferior): Declare 'toexec' as
14274         'const char *'.
14275
14276 2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
14277
14278         * common/common-utils.c (free_vector_argv): New function.
14279         * common/common-utils.h: Include <vector>.
14280         (free_vector_argv): New prototype.
14281         * darwin-nat.c (darwin_create_inferior): Rewrite function
14282         prototype in order to constify "exec_file" and accept a
14283         "std::string" for "allargs".
14284         * fork-child.c: Include <vector>.
14285         (breakup_args): Rewrite function, using C++.
14286         (fork_inferior): Rewrite function header, constify "exec_file_arg"
14287         and accept "std::string" for "allargs".  Update the code to
14288         calculate "argv" based on "allargs".  Update calls to "exec_fun"
14289         and "execvp".
14290         * gnu-nat.c (gnu_create_inferior): Rewrite function prototype in
14291         order to constify "exec_file" and accept a "std::string" for
14292         "allargs".
14293         * go32-nat.c (go32_create_inferior): Likewise.
14294         * inf-ptrace.c (inf_ptrace_create_inferior): Likewise.
14295         * infcmd.c (run_command_1): Constify "exec_file".  Use
14296         "std::string" for inferior arguments.
14297         * inferior.h (fork_inferior): Update prototype.
14298         * linux-nat.c (linux_nat_create_inferior): Rewrite function
14299         prototype in order to constify "exec_file" and accept a
14300         "std::string" for "allargs".
14301         * nto-procfs.c (procfs_create_inferior): Likewise.
14302         * procfs.c (procfs_create_inferior): Likewise.
14303         * remote-sim.c (gdbsim_create_inferior): Likewise.
14304         * remote.c (extended_remote_run): Update code to accept
14305         "std::string" as argument.
14306         (extended_remote_create_inferior): Rewrite function prototype in
14307         order to constify "exec_file" and accept a "std::string" for
14308         "allargs".
14309         * rs6000-nat.c (super_create_inferior): Likewise.
14310         (rs6000_create_inferior): Likewise.
14311         * target.h (struct target_ops) <to_create_inferior>: Likewise.
14312         * windows-nat.c (windows_create_inferior): Likewise.
14313
14314 2017-04-11  Pedro Alves  <palves@redhat.com>
14315
14316         * thread.c: Fix whitespace throughout.
14317
14318 2017-04-11  Philipp Rudo  <prudo@linux.vnet.ibm.com>
14319
14320         * linux-nat.c (linux_nat_detach): Remove delete_lwp call.
14321
14322 2017-04-11  Alan Hayward  <alan.hayward@arm.com>
14323
14324         * arm-tdep.c (arm_store_return_value): Use FP_REGISTER_SIZE
14325
14326 2017-04-10  Sergio Durigan Junior  <sergiodj@redhat.com>
14327
14328         PR gdb/21364
14329         * osdata.c (info_osdata): Check if 'type' is an empty string
14330         instead of NULL.
14331
14332 2017-04-10  Pedro Alves  <palves@redhat.com>
14333
14334         * thread.c (add_thread_silent, delete_thread_1, find_thread_ptid)
14335         (ptid_to_global_thread_id, in_thread_list)
14336         (do_captured_list_thread_ids, set_resumed, set_running)
14337         (set_executing, set_stop_requested, finish_thread_state)
14338         (validate_registers_access, can_access_registers_ptid)
14339         (print_thread_info_1, switch_to_thread)
14340         (do_restore_current_thread_cleanup)
14341         (make_cleanup_restore_current_thread, thread_command)
14342         (thread_name_command): Use operator== instead of ptid_equal.
14343
14344 2017-04-10  Pedro Alves  <palves@redhat.com>
14345
14346         * thread.c (struct current_thread_cleanup) <next>: Delete field.
14347         (current_thread_cleanup_chain): Delete.
14348         (restore_current_thread_cleanup_dtor)
14349         (make_cleanup_restore_current_thread): Remove references to
14350         current_thread_cleanup_chain.
14351
14352 2017-04-10  Alan Hayward  <alan.hayward@arm.com>
14353
14354         * msp430-tdep.c (msp430_pseudo_register_read): Never return
14355         REG_UNKNOWN.
14356
14357 2017-04-10  Yao Qi  <yao.qi@linaro.org>
14358
14359         PR gdb/19942
14360         * gdbthread.h (thread_info::deletable): New method.
14361         (thread_info::incref): New method.
14362         (thread_info::decref): New method.
14363         (thread_info::refcount): Move it to private.
14364         * infrun.c (save_stop_context): Call inc_refcount.
14365         (release_stop_context_cleanup): Likewise.
14366         * thread.c (set_thread_exited): New function.
14367         (init_thread_list): Delete "tp" only it is deletable, otherwise
14368         call set_thread_exited.
14369         (delete_thread_1): Call set_thread_exited.
14370         (current_thread_cleanup) <inferior_pid>: Remove.
14371         <thread>: New field.
14372         (restore_current_thread_ptid_changed): Removed.
14373         (do_restore_current_thread_cleanup): Adjust.
14374         (restore_current_thread_cleanup_dtor): Don't call
14375         find_thread_ptid.
14376         (set_thread_refcount): Use dec_refcount.
14377         (make_cleanup_restore_current_thread): Adjust.
14378         (thread_apply_all_command): Call inc_refcount.
14379         (_initialize_thread): Don't call
14380         observer_attach_thread_ptid_changed.
14381
14382 2017-04-10  Yao Qi  <yao.qi@linaro.org>
14383
14384         * thread.c (delete_thread_1): Hoist code on marking thread as
14385         exited.
14386
14387 2017-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
14388
14389         * windows-nat.c (windows_detach): Initialize ptid with
14390         minus_one_ptid.
14391
14392 2017-04-07  Simon Marchi  <simon.marchi@ericsson.com>
14393
14394         * unittests/ptid-selftests.c: Fix erroneous assert messages.
14395
14396 2017-04-07  Alan Hayward  <alan.hayward@arm.com>
14397
14398         * bfin-tdep.c (BFIN_MAX_REGISTER_SIZE): Add.
14399         (bfin_pseudo_register_read): Use BFIN_MAX_REGISTER_SIZE.
14400         (bfin_pseudo_register_write): Likewise
14401
14402 2017-04-06  Simon Marchi  <simon.marchi@ericsson.com>
14403
14404         * common/ptid.h (struct ptid): Change to...
14405         (class ptid_t): ... this.
14406         <ptid_t>: New constructors.
14407         <pid, lwp_p, lwp, tid_p, tid, is_pid, operator==, operator!=,
14408         matches>: New methods.
14409         <make_null, make_minus_one>: New static methods.
14410         <pid>: Rename to...
14411         <m_pid>: ...this.
14412         <lwp>: Rename to...
14413         <m_lwp>: ...this.
14414         <tid>: Rename to...
14415         <m_tid>: ...this.
14416         (ptid_build, ptid_get_pid, ptid_get_lwp, ptid_get_tid, ptid_equal,
14417         ptid_is_pid, ptid_lwp_p, ptid_tid_p, ptid_match): Take ptid arguments
14418         as references, move comment to class ptid_t.
14419         * common/ptid.c (null_ptid, minus_one_ptid): Initialize with
14420         ptid_t static methods.
14421         (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_tid,
14422         ptid_equal, ptid_is_pid, ptid_lwp_p, ptid_tid_p, ptid_match):
14423         Take ptid arguments as references, implement using ptid_t methods.
14424         * unittests/ptid-selftests.c: New file.
14425         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
14426         unittests/ptid-selftests.c.
14427         (SUBDIR_UNITTESTS_OBS): Add unittests/ptid-selftests.o.
14428
14429 2017-04-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
14430
14431         * python/python.c (python_run_simple_file): Cast mode literal to
14432         non-const char pointer as expected by PyFile_FromString.
14433
14434 2017-04-05  Simon Marchi  <simon.marchi@ericsson.com>
14435
14436         * common/ptid.c (ptid_lwp_p, ptid_tid_p): Remove comparison with
14437         minus_one_ptid and null_ptid.
14438
14439 2017-04-05  Pedro Alves  <palves@redhat.com>
14440
14441         * warning.m4 (build_warnings): Remove -Wno-write-strings.
14442         * configure: Regenerate.
14443
14444 2017-04-05  Pedro Alves  <palves@redhat.com>
14445
14446         * ada-exp.y (yyerror): Constify.
14447         * ada-lang.c (bound_name, get_selections)
14448         (ada_variant_discrim_type)
14449         (ada_variant_discrim_name, ada_value_struct_elt)
14450         (ada_lookup_struct_elt_type, is_unchecked_variant)
14451         (ada_which_variant_applies, standard_exc, ada_get_next_arg)
14452         (catch_ada_exception_command_split)
14453         (catch_ada_assert_command_split, catch_assert_command)
14454         (ada_op_name): Constify.
14455         * ada-lang.h (ada_yyerror, get_selections)
14456         (ada_variant_discrim_name, ada_value_struct_elt): Constify.
14457         * arc-tdep.c (arc_print_frame_cache): Constify.
14458         * arm-tdep.c (arm_skip_stub): Constify.
14459         * ax-gdb.c (gen_binop, gen_struct_ref_recursive, gen_struct_ref)
14460         (gen_aggregate_elt_ref): Constify.
14461         * bcache.c (print_bcache_statistics): Constify.
14462         * bcache.h (print_bcache_statistics): Constify.
14463         * break-catch-throw.c (catch_exception_command_1):
14464         * breakpoint.c (struct ep_type_description::description):
14465         Constify.
14466         (add_solib_catchpoint): Constify.
14467         (catch_fork_command_1): Add cast.
14468         (add_catch_command): Constify.
14469         * breakpoint.h (add_catch_command, add_solib_catchpoint):
14470         Constify.
14471         * bsd-uthread.c (bsd_uthread_state): Constify.
14472         * buildsym.c (patch_subfile_names): Constify.
14473         * buildsym.h (next_symbol_text_func, patch_subfile_names):
14474         Constify.
14475         * c-exp.y (yyerror): Constify.
14476         (token::oper): Constify.
14477         * c-lang.h (c_yyerror, cp_print_class_member): Constify.
14478         * c-varobj.c (cplus_describe_child): Constify.
14479         * charset.c (find_charset_names): Add cast.
14480         (find_charset_names): Constify array and add const_cast.
14481         * cli/cli-cmds.c (complete_command, cd_command): Constify.
14482         (edit_command): Constify.
14483         * cli/cli-decode.c (lookup_cmd): Constify.
14484         * cli/cli-dump.c (dump_memory_command, dump_value_command):
14485         Constify.
14486         (struct dump_context): Constify.
14487         (add_dump_command, restore_command): Constify.
14488         * cli/cli-script.c (get_command_line): Constify.
14489         * cli/cli-script.h (get_command_line): Constify.
14490         * cli/cli-utils.c (check_for_argument): Constify.
14491         * cli/cli-utils.h (check_for_argument): Constify.
14492         * coff-pe-read.c (struct read_pe_section_data): Constify.
14493         * command.h (lookup_cmd): Constify.
14494         * common/print-utils.c (decimal2str): Constify.
14495         * completer.c (gdb_print_filename): Constify.
14496         * corefile.c (set_gnutarget): Constify.
14497         * cp-name-parser.y (yyerror): Constify.
14498         * cp-valprint.c (cp_print_class_member): Constify.
14499         * cris-tdep.c (cris_register_name, crisv32_register_name):
14500         Constify.
14501         * d-exp.y (yyerror): Constify.
14502         (struct token::oper): Constify.
14503         * d-lang.h (d_yyerror): Constify.
14504         * dbxread.c (struct header_file_location::name): Constify.
14505         (add_old_header_file, add_new_header_file, last_function_name)
14506         (dbx_next_symbol_text, add_bincl_to_list)
14507         (find_corresponding_bincl_psymtab, set_namestring)
14508         (find_stab_function_addr, read_dbx_symtab, start_psymtab)
14509         (dbx_end_psymtab, read_ofile_symtab, process_one_symbol):
14510         * defs.h (command_line_input, print_address_symbolic)
14511         (deprecated_readline_begin_hook): Constify.
14512         * dwarf2read.c (anonymous_struct_prefix, dwarf_bool_name):
14513         Constify.
14514         * event-top.c (handle_line_of_input): Constify and add cast.
14515         * exceptions.c (catch_errors): Constify.
14516         * exceptions.h (catch_errors): Constify.
14517         * expprint.c (print_subexp_standard, op_string, op_name)
14518         (op_name_standard, dump_raw_expression, dump_raw_expression):
14519         * expression.h (op_name, op_string, dump_raw_expression):
14520         Constify.
14521         * f-exp.y (yyerror): Constify.
14522         (struct token::oper): Constify.
14523         (struct f77_boolean_val::name): Constify.
14524         * f-lang.c (f_word_break_characters): Constify.
14525         * f-lang.h (f_yyerror): Constify.
14526         * fork-child.c (fork_inferior): Add cast.
14527         * frv-tdep.c (struct gdbarch_tdep::register_names): Constify.
14528         (new_variant): Constify.
14529         * gdbarch.sh (pstring_ptr, pstring_list): Constify.
14530         * gdbarch.c: Regenerate.
14531         * gdbcore.h (set_gnutarget): Constify.
14532         * go-exp.y (yyerror): Constify.
14533         (token::oper): Constify.
14534         * go-lang.h (go_yyerror): Constify.
14535         * go32-nat.c (go32_sysinfo): Constify.
14536         * guile/scm-breakpoint.c (gdbscm_breakpoint_expression): Constify.
14537         * guile/scm-cmd.c (cmdscm_function): Constify.
14538         * guile/scm-param.c (pascm_param_value): Constify.
14539         * h8300-tdep.c (h8300_register_name, h8300s_register_name)
14540         (h8300sx_register_name): Constify.
14541         * hppa-tdep.c (hppa32_register_name, hppa64_register_name):
14542         Constify.
14543         * ia64-tdep.c (ia64_register_names): Constify.
14544         * infcmd.c (construct_inferior_arguments): Constify.
14545         (path_command, attach_post_wait): Constify.
14546         * language.c (show_range_command, show_case_command)
14547         (unk_lang_error): Constify.
14548         * language.h (language_defn::la_error)
14549         (language_defn::la_name_of_this): Constify.
14550         * linespec.c (decode_line_2): Constify.
14551         * linux-thread-db.c (thread_db_err_str): Constify.
14552         * lm32-tdep.c (lm32_register_name): Constify.
14553         * m2-exp.y (yyerror): Constify.
14554         * m2-lang.h (m2_yyerror): Constify.
14555         * m32r-tdep.c (m32r_register_names): Constify and make static.
14556         * m68hc11-tdep.c (m68hc11_register_names): Constify.
14557         * m88k-tdep.c (m88k_register_name): Constify.
14558         * macroexp.c (appendmem): Constify.
14559         * mdebugread.c (fdr_name, add_data_symbol, parse_type)
14560         (upgrade_type, parse_external, parse_partial_symbols)
14561         (mdebug_next_symbol_text, cross_ref, mylookup_symbol, new_psymtab)
14562         (new_symbol): Constify.
14563         * memattr.c (mem_info_command): Constify.
14564         * mep-tdep.c (register_name_from_keyword): Constify.
14565         * mi/mi-cmd-env.c (mi_cmd_env_path, _initialize_mi_cmd_env):
14566         Constify.
14567         * mi/mi-cmd-stack.c (list_args_or_locals): Constify.
14568         * mi/mi-cmd-var.c (mi_cmd_var_show_attributes): Constify.
14569         * mi/mi-main.c (captured_mi_execute_command): Constify and add
14570         cast.
14571         (mi_execute_async_cli_command): Constify.
14572         * mips-tdep.c (mips_register_name): Constify.
14573         * mn10300-tdep.c (register_name, mn10300_generic_register_name)
14574         (am33_register_name, am33_2_register_name)
14575         * moxie-tdep.c (moxie_register_names): Constify.
14576         * nat/linux-osdata.c (osdata_type): Constify fields.
14577         * nto-tdep.c (nto_parse_redirection): Constify.
14578         * objc-lang.c (lookup_struct_typedef, lookup_objc_class)
14579         (lookup_child_selector): Constify.
14580         (objc_methcall::name): Constify.
14581         * objc-lang.h (lookup_objc_class, lookup_child_selector)
14582         (lookup_struct_typedef): Constify.
14583         * objfiles.c (pc_in_section): Constify.
14584         * objfiles.h (pc_in_section): Constify.
14585         * p-exp.y (struct token::oper): Constify.
14586         (yyerror): Constify.
14587         * p-lang.h (pascal_yyerror): Constify.
14588         * parser-defs.h (op_name_standard): Constify.
14589         (op_print::string): Constify.
14590         (exp_descriptor::op_name): Constify.
14591         * printcmd.c (print_address_symbolic): Constify.
14592         * psymtab.c (print_partial_symbols): Constify.
14593         * python/py-breakpoint.c (stop_func): Constify.
14594         (bppy_get_expression): Constify.
14595         * python/py-cmd.c (cmdpy_completer::name): Constify.
14596         (cmdpy_function): Constify.
14597         * python/py-event.c (evpy_add_attribute)
14598         (gdbpy_initialize_event_generic): Constify.
14599         * python/py-event.h (evpy_add_attribute)
14600         (gdbpy_initialize_event_generic): Constify.
14601         * python/py-evts.c (add_new_registry): Constify.
14602         * python/py-finishbreakpoint.c (outofscope_func): Constify.
14603         * python/py-framefilter.c (get_py_iter_from_func): Constify.
14604         * python/py-inferior.c (get_buffer): Add cast.
14605         * python/py-param.c (parm_constant::name): Constify.
14606         * python/py-unwind.c (fprint_frame_id): Constify.
14607         * python/python.c (gdbpy_parameter_value): Constify.
14608         * remote-fileio.c (remote_fio_func_map): Make 'name' const.
14609         * remote.c (memory_packet_config::name): Constify.
14610         (show_packet_config_cmd, remote_write_bytes)
14611         (remote_buffer_add_string):
14612         * reverse.c (exec_reverse_once): Constify.
14613         * rs6000-tdep.c (variant::name, variant::description): Constify.
14614         * rust-exp.y (rustyyerror): Constify.
14615         * rust-lang.c (rust_op_name): Constify.
14616         * rust-lang.h (rustyyerror): Constify.
14617         * serial.h (serial_ops::name): Constify.
14618         * sh-tdep.c (sh_sh_register_name, sh_sh3_register_name)
14619         (sh_sh3e_register_name, sh_sh2e_register_name)
14620         (sh_sh2a_register_name, sh_sh2a_nofpu_register_name)
14621         (sh_sh_dsp_register_name, sh_sh3_dsp_register_name)
14622         (sh_sh4_register_name, sh_sh4_nofpu_register_name)
14623         (sh_sh4al_dsp_register_name): Constify.
14624         * sh64-tdep.c (sh64_register_name): Constify.
14625         * solib-darwin.c (lookup_symbol_from_bfd): Constify.
14626         * spu-tdep.c (spu_register_name, info_spu_dma_cmdlist): Constify.
14627         * stabsread.c (patch_block_stabs, read_type_number)
14628         (ref_map::stabs, ref_add, process_reference)
14629         (symbol_reference_defined, define_symbol, define_symbol)
14630         (error_type, read_type, read_member_functions, read_cpp_abbrev)
14631         (read_one_struct_field, read_struct_fields, read_baseclasses)
14632         (read_tilde_fields, read_struct_type, read_array_type)
14633         (read_enum_type, read_sun_builtin_type, read_sun_floating_type)
14634         (read_huge_number, read_range_type, read_args, common_block_start)
14635         (find_name_end): Constify.
14636         * stabsread.h (common_block_start, define_symbol)
14637         (process_one_symbol, symbol_reference_defined, ref_add):
14638         * symfile.c (get_section_index, add_symbol_file_command):
14639         * symfile.h (get_section_index): Constify.
14640         * target-descriptions.c (tdesc_type::name): Constify.
14641         (tdesc_free_type): Add cast.
14642         * target.c (find_default_run_target):
14643         (add_deprecated_target_alias, find_default_run_target)
14644         (target_announce_detach): Constify.
14645         (do_option): Constify.
14646         * target.h (add_deprecated_target_alias): Constify.
14647         * thread.c (print_thread_info_1): Constify.
14648         * top.c (deprecated_readline_begin_hook, command_line_input):
14649         Constify.
14650         (init_main): Add casts.
14651         * top.h (handle_line_of_input): Constify.
14652         * tracefile-tfile.c (tfile_write_uploaded_tsv): Constify.
14653         * tracepoint.c (tvariables_info_1, trace_status_mi): Constify.
14654         (tfind_command): Rename to ...
14655         (tfind_command_1): ... this and constify.
14656         (tfind_command): New function.
14657         (tfind_end_command, tfind_start_command): Adjust.
14658         (encode_source_string): Constify.
14659         * tracepoint.h (encode_source_string): Constify.
14660         * tui/tui-data.c (tui_partial_win_by_name): Constify.
14661         * tui/tui-data.h (tui_partial_win_by_name): Constify.
14662         * tui/tui-source.c (tui_set_source_content_nil): Constify.
14663         * tui/tui-source.h (tui_set_source_content_nil): Constify.
14664         * tui/tui-win.c (parse_scrolling_args): Constify.
14665         * tui/tui-windata.c (tui_erase_data_content): Constify.
14666         * tui/tui-windata.h (tui_erase_data_content): Constify.
14667         * tui/tui-winsource.c (tui_erase_source_content): Constify.
14668         * tui/tui.c (tui_enable): Add cast.
14669         * utils.c (defaulted_query): Constify.
14670         (init_page_info): Add cast.
14671         (puts_debug, subset_compare): Constify.
14672         * utils.h (subset_compare): Constify.
14673         * varobj.c (varobj_format_string): Constify.
14674         * varobj.h (varobj_format_string): Constify.
14675         * vax-tdep.c (vax_register_name): Constify.
14676         * windows-nat.c (windows_detach): Constify.
14677         * xcoffread.c (process_linenos, xcoff_next_symbol_text): Constify.
14678         * xml-support.c (gdb_xml_end_element): Constify.
14679         * xml-tdesc.c (tdesc_start_reg): Constify.
14680         * xstormy16-tdep.c (xstormy16_register_name): Constify.
14681         * xtensa-tdep.c (xtensa_find_register_by_name): Constify.
14682         * xtensa-tdep.h (xtensa_register_t::name): Constify.
14683
14684 2017-04-05  Pedro Alves  <palves@redhat.com>
14685
14686         * proc-api.c (struct trans): Constify.
14687         (procfs_note): Constify.
14688         * proc-events.c (struct trans, syscall_table):
14689         * proc-flags.c (struct trans): Constify.
14690         * proc-utils.h (procfs_note): Constify.
14691         * proc-why.c (struct trans): Constify.
14692         * procfs.c (dead_procinfo, find_syscall, proc_warn, proc_error)
14693         (procfs_detach): Constify.
14694         * sol-thread.c (struct string_map): Constify.
14695         (td_err_string, td_state_string): Constify.
14696
14697 2017-04-05  Pedro Alves  <palves@redhat.com>
14698
14699         * proc-api.c (procfs_filename): Don't initialize
14700         procfs_filename.
14701         (prepare_to_trace): Assume procfs_filename is non-NULL.
14702         (_initialize_proc_api): Give procfs_filename a default value here.
14703
14704 2017-04-05  Pedro Alves  <palves@redhat.com>
14705
14706         * break-catch-throw.c (handle_gnu_v3_exceptions): Constify
14707         'cond_string' parameter.
14708         (extract_exception_regexp): Constify 'string' parameter.
14709         (catch_exception_command_1): Constify.
14710         * breakpoint.c (init_catchpoint)
14711         (create_fork_vfork_event_catchpoint): Constify 'cond_string'
14712         parameter.
14713         (ep_parse_optional_if_clause, catch_fork_command_1)
14714         (catch_exec_command_1): Constify.
14715         * breakpoint.h (init_catchpoint): Constify 'cond_string'
14716         parameter.
14717         (ep_parse_optional_if_clause): Constify.
14718         * cli/cli-utils.c (remove_trailing_whitespace)
14719         (check_for_argument): Constify.
14720         * cli/cli-utils.h (remove_trailing_whitespace): Constify and add
14721         non-const overload.
14722         (check_for_argument): Likewise.
14723
14724 2017-04-05  Pedro Alves  <palves@redhat.com>
14725
14726         * event-top.c (command_line_handler): Add cast to execute_command
14727         call.
14728         * record-btrace.c (cmd_record_btrace_bts_start)
14729         (cmd_record_btrace_pt_start, cmd_record_btrace_start)
14730         (cmd_record_btrace_start): Add cast to execute_command call.
14731         * record-full.c (record_full_goto_insn):
14732         * record.c (record_start, record_stop): Add cast to
14733         execute_command_to_string calls.
14734         (cmd_record_start): Add cast to execute_command calls.
14735
14736 2017-04-05  Pedro Alves  <palves@redhat.com>
14737
14738         * python/python-internal.h (gdb_PyArg_ParseTupleAndKeywords): New
14739         static inline function.
14740         * python/py-arch.c (archpy_disassemble): Constify 'keywords'
14741         array and use gdb_PyArg_ParseTupleAndKeywords.
14742         * python/py-cmd.c (cmdpy_init): Likewise.
14743         * python/py-finishbreakpoint.c (bpfinishpy_init): Likewise.
14744         * python/py-inferior.c (infpy_read_memory, infpy_write_memory)
14745         (infpy_search_memory): Likewise.
14746         * python/py-objfile.c (objfpy_add_separate_debug_file)
14747         (gdbpy_lookup_objfile): Likewise.
14748         * python/py-symbol.c (gdbpy_lookup_symbol)
14749         (gdbpy_lookup_global_symbol): Likewise.
14750         * python/py-type.c (gdbpy_lookup_type): Likewise.
14751         * python/py-value.c (valpy_lazy_string, valpy_string): Likewise.
14752         * python/python.c (execute_gdb_command, gdbpy_write, gdbpy_flush):
14753         Likewise.
14754
14755 2017-04-05  Pedro Alves  <palves@redhat.com>
14756
14757         * python/python-internal.h (gdb_PyGetSetDef): New type.
14758         * python/py-block.c (block_object_getset)
14759         (breakpoint_object_getset): Now a gdb_PyGetSetDef array.
14760         * python/py-event.c (event_object_getset)
14761         (finish_breakpoint_object_getset): Likewise.
14762         * python/py-inferior.c (inferior_object_getset): Likewise.
14763         * python/py-infthread.c (thread_object_getset): Likewise.
14764         * python/py-lazy-string.c (lazy_string_object_getset): Likewise.
14765         * python/py-linetable.c (linetable_entry_object_getset): Likewise.
14766         * python/py-objfile.c (objfile_getset): Likewise.
14767         * python/py-progspace.c (pspace_getset): Likewise.
14768         * python/py-record-btrace.c (btpy_insn_getset, btpy_call_getset):
14769         Likewise.
14770         * python/py-record.c (recpy_record_getset): Likewise.
14771         * python/py-symbol.c (symbol_object_getset): Likewise.
14772         * python/py-symtab.c (symtab_object_getset, sal_object_getset):
14773         Likewise.
14774         * python/py-type.c (type_object_getset, field_object_getset):
14775         Likewise.
14776         * python/py-value.c (value_object_getset): Likewise.
14777
14778 2017-04-05  Pedro Alves  <palves@redhat.com>
14779
14780         * python/python-internal.h (gdb_PyObject_CallMethod)
14781         (gdb_PyErr_NewException, gdb_PySys_GetObject, gdb_PySys_SetPath):
14782         New functions.
14783         (GDB_PYSYS_SETPATH_CHAR, PyObject_CallMethod, PyErr_NewException)
14784         (PySys_GetObject, PySys_SetPath): New macros.
14785
14786 2017-04-05  Pedro Alves  <palves@redhat.com>
14787
14788         * mi/mi-cmd-info.c (mi_cmd_info_os): Call info_osdata instead of
14789         info_osdata_command.
14790         * osdata.c (info_osdata_command): Rename to ...
14791         (info_osdata): ... this.  Constify 'type' parameter, and remove
14792         the 'from_tty' parameter.  Accept NULL TYPE.
14793         (info_osdata_command): New function.
14794         * osdata.h (info_osdata_command): Remove declaration.
14795         (info_osdata): New declaration.
14796
14797 2017-04-05  Pedro Alves  <palves@redhat.com>
14798
14799         * mi/mi-cmd-break.c (mi_cmd_break_insert_1, mi_cmd_break_insert)
14800         (mi_cmd_dprintf_insert, mi_cmd_break_passcount)
14801         (mi_cmd_break_watch, mi_cmd_break_commands): Constify 'command'
14802         parameter.
14803         * mi/mi-cmd-catch.c (mi_cmd_catch_assert, mi_cmd_catch_exception)
14804         (mi_cmd_catch_load, mi_cmd_catch_unload): Constify cmd' parameter.
14805         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Constify 'command'
14806         parameter.
14807         * mi/mi-cmd-env.c (mi_cmd_env_pwd, mi_cmd_env_cd, mi_cmd_env_path)
14808         (mi_cmd_env_dir, mi_cmd_inferior_tty_set, _cmd_inferior_tty_show)
14809         * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file)
14810         (mi_cmd_file_list_exec_source_files)
14811         (mi_cmd_file_list_shared_libraries): Constify 'command' parameter.
14812         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions)
14813         (mi_cmd_info_gdb_mi_command, mi_cmd_info_os): Constify 'command'
14814         parameter.
14815         * mi/mi-cmd-stack.c (mi_cmd_enable_frame_filters)
14816         (mi_cmd_stack_list_frames, mi_cmd_stack_info_depth)
14817         (mi_cmd_stack_list_locals, mi_cmd_stack_list_args)
14818         (mi_cmd_stack_list_variables, mi_cmd_stack_select_frame)
14819         (mi_cmd_stack_info_frame): Constify 'command' parameter.
14820         * mi/mi-cmd-target.c (mi_cmd_target_file_get)
14821         (mi_cmd_target_file_put, mi_cmd_target_file_delete): Constify
14822         'command' parameter.
14823         * mi/mi-cmd-var.c (mi_cmd_var_create, mi_cmd_var_delete)
14824         (mi_cmd_var_set_format, mi_cmd_var_set_visualizer)
14825         (mi_cmd_var_set_frozen, mi_cmd_var_show_format)
14826         (mi_cmd_var_info_num_children, mi_cmd_var_list_children)
14827         (mi_cmd_var_info_type, mi_cmd_var_info_path_expression)
14828         (mi_cmd_var_info_expression, mi_cmd_var_show_attributes)
14829         (mi_cmd_var_evaluate_expression, mi_cmd_var_assign)
14830         (mi_cmd_var_update, mi_cmd_enable_pretty_printing)
14831         (mi_cmd_var_set_update_range): Constify 'command' parameter.
14832         * mi/mi-cmds.h (mi_cmd_argv_ftype): Constify 'command' parameter.
14833         * mi/mi-interp.c (mi_cmd_interpreter_exec): Constify 'command'
14834         parameter.
14835         * mi/mi-main.c (mi_cmd_gdb_exit, mi_cmd_exec_next)
14836         (mi_cmd_exec_next_instruction, mi_cmd_exec_step)
14837         (mi_cmd_exec_step_instruction, mi_cmd_exec_finish)
14838         (mi_cmd_exec_return ,mi_cmd_exec_jump, mi_cmd_exec_continue)
14839         (mi_cmd_exec_interrupt, mi_cmd_exec_run, mi_cmd_target_detach)
14840         (mi_cmd_target_flash_erase, mi_cmd_thread_select)
14841         (mi_cmd_thread_list_ids, mi_cmd_thread_info)
14842         (mi_cmd_list_thread_groups, mi_cmd_data_list_register_names)
14843         (mi_cmd_data_list_changed_registers)
14844         (mi_cmd_data_write_register_values)
14845         (mi_cmd_data_evaluate_expression, mi_cmd_data_read_memory)
14846         (mi_cmd_data_read_memory_bytes, mi_cmd_data_write_memory)
14847         (mi_cmd_data_write_memory_bytes, mi_cmd_enable_timings)
14848         (mi_cmd_list_features, mi_cmd_list_target_features)
14849         (mi_cmd_add_inferior, mi_cmd_remove_inferior)
14850         (mi_cmd_trace_define_variable, mi_cmd_trace_list_variables)
14851         (mi_cmd_trace_find, mi_cmd_trace_save, mi_cmd_trace_start)
14852         (mi_cmd_trace_status, mi_cmd_trace_stop, mi_cmd_ada_task_info)
14853         (mi_cmd_trace_frame_collected): Constify 'command'
14854         parameter.
14855         * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Constify
14856         'command' parameter.
14857
14858 2017-04-05  Pedro Alves  <palves@redhat.com>
14859
14860         * ada-lang.c (ada_completer_word_break_characters): Now a const
14861         array.
14862         (ada_get_gdb_completer_word_break_characters): Constify.
14863         * completer.c (gdb_completer_command_word_break_characters)
14864         (gdb_completer_file_name_break_characters)
14865         (gdb_completer_quote_characters): Now const arrays.
14866         (get_gdb_completer_quote_characters): Constify.
14867         (set_rl_completer_word_break_characters): New function.
14868         (set_gdb_completion_word_break_characters)
14869         (complete_line_internal): Use it.
14870         * completer.h (get_gdb_completer_quote_characters): Constify.
14871         (set_rl_completer_word_break_characters): Declare.
14872         * f-lang.c (f_word_break_characters): Constify.
14873         * language.c (default_word_break_characters): Constify.
14874         * language.h (language_defn::la_word_break_characters): Constify.
14875         (default_word_break_characters): Constify.
14876         * top.c (init_main): Use set_rl_completer_word_break_characters.
14877
14878 2017-04-05  Pedro Alves  <palves@redhat.com>
14879
14880         * aix-thread.c (aix_thread_pid_to_str)
14881         (aix_thread_extra_thread_info): Constify.
14882         * bsd-kvm.c (bsd_kvm_pid_to_str): Constify.
14883         * bsd-uthread.c (bsd_uthread_extra_thread_info)
14884         (bsd_uthread_pid_to_str): Constify.
14885         * corelow.c (core_pid_to_str): Constify.
14886         * darwin-nat.c (darwin_pid_to_str): Constify.
14887         * fbsd-nat.c (fbsd_pid_to_str): Constify.
14888         * fbsd-tdep.c (fbsd_core_pid_to_str, gdbarch_core_pid_to_str):
14889         Constify.
14890         * gnu-nat.c (gnu_pid_to_str): Constify.
14891         * go32-nat.c (go32_pid_to_str): Constify.
14892         * i386-cygwin-tdep.c (i386_windows_core_pid_to_str): Constify.
14893         * inf-ptrace.c (inf_ptrace_pid_to_str): Constify.
14894         * inferior.c (inferior_pid_to_str): Constify.
14895         * linux-nat.c (linux_nat_pid_to_str): Constify.
14896         * linux-tdep.c (linux_core_pid_to_str): Constify.
14897         * linux-thread-db.c (thread_db_pid_to_str)
14898         (thread_db_extra_thread_info): Constify.
14899         * nto-tdep.c (nto_extra_thread_info): Constify.
14900         * nto-tdep.h (nto_extra_thread_info): Constify.
14901         * obsd-nat.c (obsd_pid_to_str): Constify.
14902         * procfs.c (procfs_pid_to_str): Constify.
14903         * ravenscar-thread.c (ravenscar_extra_thread_info)
14904         (ravenscar_pid_to_str): Constify.
14905         * remote-sim.c (gdbsim_pid_to_str): Constify.
14906         * remote.c (remote_threads_extra_info, remote_pid_to_str):
14907         Constify.
14908         * sol-thread.c (solaris_pid_to_str): Constify.
14909         * sol2-tdep.c (sol2_core_pid_to_str): Constify.
14910         * sol2-tdep.h (sol2_core_pid_to_str): Constify.
14911         * target.c (default_pid_to_str, target_pid_to_str)
14912         (normal_pid_to_str, default_pid_to_str): Constify.
14913         * target.h (target_ops::to_pid_to_str)
14914         (target_ops::to_extra_thread_info): Constify.
14915         (target_pid_to_str, normal_pid_to_str): Constify.
14916         * windows-nat.c (windows_pid_to_str): Constify.
14917         * gdbarch.sh (core_pid_to_str): Constify.
14918         * target-delegates.c: Regenerate.
14919         * gdbarch.h, gdbarch.c: Regenerate.
14920
14921 2017-04-05  Pedro Alves  <palves@redhat.com>
14922
14923         * main.c (captured_main_1): Use gdb::unique_xmalloc_ptr to manage
14924         the memory of the temporary warning_pre_print override.
14925         * utils.c (warning_pre_print): Constify.
14926         * utils.h (warning_pre_print): Constify.
14927
14928 2017-04-05  Pedro Alves  <palves@redhat.com>
14929
14930         * cli/cli-cmds.c (shell_escape): Constify 'arg' parameter.
14931         (shell_command): New function.
14932         (make_command): Use std::string.
14933         (init_cli_cmds): Register shell_command instead of shell_escape.
14934
14935 2017-04-05  Pedro Alves  <palves@redhat.com>
14936
14937         * breakpoint.c (dprintf_function, dprintf_channel): Don't initialize.
14938         * tracepoint.c (default_collect): Don't initialize.
14939
14940 2017-04-05  Pedro Alves  <palves@redhat.com>
14941
14942         * macroexp.c (macro_buffer::shared): Now a bool.
14943         (init_buffer): Update.
14944         (init_shared_buffer): Constify 'addr' parameter.
14945         (substitute_args, expand, macro_expand, macro_expand_next): Remove
14946         casts.
14947
14948 2017-04-05  Pedro Alves  <palves@redhat.com>
14949
14950         * arm-tdep.c (show_disassembly_style_sfunc): Constify local.
14951         * disasm.c (set_disassembler_options): Constify local.
14952         * i386-tdep.c (i386_print_insn): Remove cast and FIXME comment.
14953
14954 2017-04-05  Sergio Durigan Junior  <sergiodj@redhat.com>
14955
14956         PR gdb/21352
14957         * tracefile.c (tsave_command): Fix argument parsing for '-r'
14958         option.
14959
14960 2017-04-05  Yao Qi  <yao.qi@linaro.org>
14961
14962         * frame.c (frame_unwind_register_unsigned): Call
14963         frame_unwind_register_value.
14964
14965 2017-04-05  Yao Qi  <yao.qi@linaro.org>
14966
14967         * gdb.threads/thread-specific-bp.exp (check_thread_specific_breakpoint):
14968         Use gdb_test_multiple, and don't match anchor.
14969
14970 2017-04-05  Pedro Alves  <palves@redhat.com>
14971
14972         * MAINTAINERS (Global Maintainers): Add Simon Marchi.
14973         (Write After Approval): Remove Simon Marchi.
14974
14975 2017-04-05  Pedro Alves  <palves@redhat.com>
14976
14977         * common/gdb_optional.h (optional::optional): Make constexpr and
14978         initialize m_dummy.
14979
14980 2017-04-04  John Baldwin  <jhb@FreeBSD.org>
14981
14982         * amd64-fbsd-tdep.c: Remove "bsd-uthread.h" include.
14983         (amd64fbsd_jmp_buf_reg_offset): Remove.
14984         (amd64fbsd_supply_uthread): Remove function.
14985         (amd64fbsd_collect_uthread): Remove function.
14986         (amd64fbsd_init_abi): Don't set bsd-uthread callbacks.
14987         * configure.tgt (i[34567]86-*-freebsd*): Remove bsd-uthread.o.
14988         (x86_64-*-freebsd*): Remove bsd-uthread.o.
14989         (fbsd-nat.c): Update comment.
14990         * i386-fbsd-tdep.c: Remove "bsd-uthread.h" include.
14991         (i386fbsd_jmp_buf_reg_offset): Remove.
14992         (i386fbsd_supply_uthread): Remove function.
14993         (i386fbsd_collect_uthread): Remove function.
14994         (i386fbsd_init_abi): Don't set bsd-uthread callbacks.
14995
14996 2017-04-04  John Baldwin  <jhb@FreeBSD.org>
14997
14998         * Makefile.in (ALL_64_TARGET_OBS): Remove alpha-fbsd-tdep.o.
14999         (ALLDEPFILES): Remove alpha-fbsd-tdep.c
15000         * NEWS: Mention that support for FreeBSD/alpha was removed.
15001         * alpha-fbsd-tdep.c: Delete file.
15002         * config/alpha/fbsd.mh: Delete file.
15003         * configure.host: Delete alpha*-*-freebsd* and
15004         alpha*-*-kfreebsd*-gnu.
15005         * configure.tgt: Delete alpha*-*-freebsd* and
15006         alpha*-*-kfreebsd*-gnu.
15007
15008 2017-04-04  John Baldwin  <jhb@FreeBSD.org>
15009
15010         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers,
15011         amd64bsd_store_inferior_registers): Use ptid from regcache.
15012
15013 2017-04-04  Pedro Alves  <palves@redhat.com>
15014
15015         * dwarf2read.c (lnp_state_machine): Now a class.  Initialize all
15016         data fields, make them private and add "m_" prefixes.
15017         (lnp_state_machine::lnp_state_machine): New ctor.
15018         (record_line, check_line_address, handle_set_discriminator)
15019         (handle_set_address, handle_advance_pc, handle_special_opcode)
15020         (handle_advance_line, handle_set_file, handle_negate_stmt)
15021         (handle_const_add_pc, handle_fixed_advance_pc, handle_copy)
15022         (end_sequence, advance_line): New methods.
15023         (m_gdbarch, m_record_lines_p): New fields.
15024         (lnp_reader_state): Delete.
15025         (dwarf_record_line): Rename to ...
15026         (lnp_state_machine::record_line): ... adjust.
15027         (init_lnp_state_machine): Delete.
15028         (lnp_state_machine::lnp_state_machine): New.
15029         (check_line_address): Rename to ...
15030         (lnp_state_machine::check_line_address): This.
15031         (dwarf_decode_lines_1): Remove reference to "reader_state".
15032         Adjust lnp_state_machine having a non-default ctor.  Use bool.
15033         State machine internal state manipulation moved to
15034         lnp_state_machine methods.
15035
15036 2017-04-04  Pedro Alves  <palves@redhat.com>
15037
15038         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
15039         unittests/offset-type-selftests.c.
15040         (SUBDIR_UNITTESTS_OBS): Add offset-type-selftests.o.
15041         * common/offset-type.h: New file.
15042         * common/preprocessor.h: New file.
15043         * common/traits.h: New file.
15044         * common/valid-expr.h: New file.
15045         * dwarf2expr.c: Include "common/underlying.h".  Adjust to use
15046         sect_offset and cu_offset strong typedefs throughout.
15047         * dwarf2expr.h: Adjust to use sect_offset and cu_offset strong
15048         typedefs throughout.
15049         * dwarf2loc.c: Include "common/underlying.h".  Adjust to use
15050         sect_offset and cu_offset strong typedefs throughout.
15051         * dwarf2read.c: Adjust to use sect_offset and cu_offset strong
15052         typedefs throughout.
15053         * gdbtypes.h: Include "common/offset-type.h".
15054         (cu_offset): Now an offset type (strong typedef) instead of a
15055         struct.
15056         (sect_offset): Likewise.
15057         (union call_site_parameter_u): Rename "param_offset" field to
15058         "param_cu_off".
15059         * unittests/offset-type-selftests.c: New file.
15060
15061 2017-04-04  Pedro Alves  <palves@redhat.com>
15062
15063         * common/underlying.h: New file.
15064         * dwarf2read.c: Include "common/gdb_optional.h" and
15065         "common/underlying.h".
15066         (dir_index, file_name_index): New types.
15067         (file_entry): Use them.
15068         (file_entry::include): Use to_underlying.
15069         (line_header::add_file_name): Use dir_index.
15070         (read_formatted_entries): Use gdb::optional.  Read form before
15071         writting to file_entry.
15072         (dwarf_decode_line_header): Use dir_index.
15073         (lnp_state_machine::current_file): Use to_underlying.
15074         (lnp_state_machine::file): Change type to file_name_index.
15075         (dwarf_record_line): Use to_underlying.
15076         (init_lnp_state_machine): Use file_name_index.
15077         (dwarf_decode_lines_1): Use dir_index and file_name_index.
15078
15079 2017-04-04  Pedro Alves  <palves@redhat.com>
15080
15081         * common/gdb_optional.h (gdb::optiona): Add operator->, operator*,
15082         operator bool, has_value and get methods.
15083
15084 2017-04-04  Pedro Alves  <palves@redhat.com>
15085
15086         * dwarf2read.c (struct file_entry): Add ctors, and initialize all
15087         fields.
15088         (line_header): Initialize all data fields.  Change type of
15089         standard_opcode_lengths to std::unique_ptr<unsigned char[]>.
15090         Change type of include_dirs to std::vector<const char *>.  Remove
15091         num_include_dirs, include_dirs_size.  Change type of file_names to
15092         std::vector<file_entry>.  Remove num_file_names, file_names_size.
15093         (line_header::line_header): New.
15094         (line_header::add_include_dir, line_header::add_file_name): New
15095         methods.
15096         (line_header::include_dir_at): Remove NULL check.
15097         (line_header::file_name_at): Add const overload.
15098         (line_header_up): New unique_ptr typedef.
15099         (dw2_get_file_names_reader): Use line_header_up.  Adjust to use
15100         std::vector.  Remove free_line_header call.
15101         (dwarf2_build_include_psymtabs): Use line_header_up.  Remove
15102         free_line_header call.
15103         (free_cu_line_header): Delete.
15104         (handle_DW_AT_stmt_list, handle_DW_AT_stmt_list)
15105         (setup_type_unit_groups): Use line_header_up instead of cleanups.
15106         Adjust to use std::vector.
15107         (free_line_header): Delete.
15108         (free_line_header_voidp): Use delete.
15109         (add_include_dir): Replace with ...
15110         (line_header::add_include_dir): ... this method.  Use std::vector.
15111         (add_file_name): Replace with ...
15112         (line_header::add_file_name): ... this method.  Use std::vector.
15113         (add_include_dir_stub): Delete.
15114         (read_formatted_entries): Remove memset.
15115         (dwarf_decode_line_header): Return a line_header_up instead of a
15116         raw pointer.  Remove cleanup handling.  Pass lambdas to
15117         read_formatted_entries.  Adjust to use line_header methods.
15118         (dwarf_decode_lines_1): Adjust to use line_header methods.
15119         (dwarf_decode_lines, file_file_name, file_full_name): Adjust to
15120         use std::vector.
15121
15122 2017-04-04  Simon Marchi  <simon.marchi@polymtl.ca>
15123
15124         * remote.c (set_general_thread, set_continue_thread): Use ptid_t
15125         instead of struct ptid.
15126
15127 2017-05-04  Alan Hayward  <alan.hayward@arm.com>
15128
15129         * frame.c (get_frame_register_bytes): Unwind using value.
15130         (put_frame_register_bytes): Likewise.
15131
15132 2017-03-30  Iain Buclaw  <ibuclaw@gdcproject.org>
15133
15134         * d-exp.y (type_aggregate_p): Treat TYPE_CODE_MODULE as being
15135         aggregate-like.
15136
15137 2017-03-29  Jan Kratochvil  <jan.kratochvil@redhat.com>
15138
15139         * auto-load.c (auto_load_section_scripts): Check SEC_HAS_CONTENTS.
15140
15141 2017-03-29  Yao Qi  <yao.qi@linaro.org>
15142
15143         * gdbthread.h (struct thread_info): Declare constructor and
15144         destructor.  Add some in-class member initializers.
15145         * thread.c (free_thread): Remove.
15146         (init_thread_list): Call delete instead of free_thread.
15147         (new_thread): Call thread_info constructor.
15148         (thread_info::thread_info): New function.
15149         (thread_info::~thread_info): New function.
15150         (delete_thread_1): Call delete instead of free_thread.
15151         (make_cleanup_restore_current_thread): Move tp and frame to
15152         inner block.
15153
15154 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15155
15156         * arc-tdep.c (arc_frame_cache): Add support for prologue analysis.
15157         (arc_skip_prologue): Likewise.
15158         (arc_make_frame_cache): Likewise.
15159         (arc_pv_get_operand): New function.
15160         (arc_is_in_prologue): Likewise.
15161         (arc_analyze_prologue): Likewise.
15162         (arc_print_frame_cache): Likewise.
15163         (MAX_PROLOGUE_LENGTH): New constant.
15164
15165 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15166
15167         * configure.tgt: Add arc-insn.o.
15168         * arc-tdep.c (arc_delayed_print_insn): Make non-static.
15169         (dump_arc_instruction_command): New function.
15170         (arc_fprintf_disasm): Likewise.
15171         (arc_disassemble_info): Likewise.
15172         (arc_insn_get_operand_value): Likewise.
15173         (arc_insn_get_operand_value_signed): Likewise.
15174         (arc_insn_get_memory_base_reg): Likewise.
15175         (arc_insn_get_memory_offset): Likewise.
15176         (arc_insn_get_branch_target): Likewise.
15177         (arc_insn_dump): Likewise.
15178         (arc_insn_get_linear_next_pc): Likewise.
15179         * arc-tdep.h (arc_delayed_print_insn): Add function declaration.
15180         (arc_disassemble_info): Likewise.
15181         (arc_insn_get_branch_target): Likewise.
15182         (arc_insn_get_linear_next_pc): Likewise.
15183         * NEWS: Mention new "maint print arc arc-instruction".
15184
15185 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15186
15187         * arc-tdep (maintenance_print_arc_list): New variable.
15188         (maintenance_print_arc_command): New function.
15189
15190 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15191
15192         * arc-tdep.c (core_v2_register_names, core_arcompact_register_names)
15193         Add "limm" and "reserved".
15194         (arc_cannot_fetch_register, arc_cannot_store_register): Add
15195         ARC_RESERVED_REGNUM and ARC_LIMM_REGNUM.
15196         * arc-tdep.h (arc_regnum): Likewise.
15197
15198 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15199
15200         * xtensa-linux-nat.c (fill_gregset): Call regcache_raw_collect
15201         for THREADPTR register.
15202         (supply_gregset_reg): Call regcache_raw_supply for THREADPTR
15203         register.
15204         * xtensa-tdep.c (XTENSA_DBREGN_UREG): New definition.
15205         (xtensa_derive_tdep): Initialize tdep->threadptr_regnum.
15206         * xtensa-tdep.h (gdbarch_tdep::threadptr_regnum): New field.
15207
15208 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15209
15210         * xtensa-tdep.c (xtensa_pseudo_register_read): Treat all
15211         registers above gdbarch_num_regs (gdbarch) as privileged in
15212         call0 ABI.
15213
15214 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15215
15216         * xtensa-linux-nat.c (fill_gregset): Call regcache_raw_collect
15217         for a single specified register or for all registers in
15218         a0_base..a0_base + C0_NREGS range.
15219         (supply_gregset_reg): Call regcache_raw_supply for a single
15220         specified register or for all registers in a0_base..a0_base +
15221         C0_NREGS range.
15222
15223 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15224
15225         * arch/xtensa.h (C0_NREGS): Add definition.
15226         * xtensa-tdep.c (C0_NREGS): Remove definition.
15227
15228 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15229
15230         * xtensa-tdep.c (xtensa_scan_prologue, call0_analyze_prologue):
15231         Drop xtensa_default_isa initialization.
15232         (xtensa_gdbarch_init): Initialize xtensa_default_isa.
15233
15234 2017-03-27  Pedro Alves  <palves@redhat.com>
15235
15236         * dwarf2read.c (file_entry) <dir_index>: Add comment.
15237         (file_entry::include_dir): New method.
15238         (line_header::include_dir_at, line_header::file_name_at): New
15239         methods.
15240         (setup_type_unit_groups, setup_type_unit_groups)
15241         (psymtab_include_file_name): Simplify using the new methods.
15242         (lnp_state_machine) <the_line_header>: New field.
15243         <file>: Add comment.
15244         (lnp_state_machine::current_file): New method.
15245         (dwarf_record_line): Simplify using the new methods.
15246         (init_lnp_state_machine): Initialize the "the_line_header" field.
15247         (dwarf_decode_lines_1, dwarf_decode_lines, file_file_name):
15248         Simplify using the new methods.
15249
15250 2017-03-27  Pedro Alves  <palves@redhat.com>
15251
15252         * cp-name-parser.y (make_empty): Delete.
15253         (demangler_special, nested_name, ptr_operator, array_indicator)
15254         (direct_declarator, declarator_1): Use fill_comp instead of
15255         make_empty.
15256
15257 2017-03-27  Pedro Alves  <palves@redhat.com>
15258
15259         * xml-support.h (gdb_xml_debug): Pass a "first-to-check" argument
15260         to ATTRIBUTE_PRINTF.
15261         * solib-target.c (library_list_start_list): Print "string" not
15262         "version".
15263         * xml-tdesc.c (tdesc_start_field): Pass "field_name" to
15264         gdb_xml_error call.
15265
15266 2017-03-27  Pedro Alves  <palves@redhat.com>
15267
15268         * dwarf2read.c (struct file_and_directory): New.
15269         (dwarf2_get_dwz_file): Adjust to use std::string.
15270         (dw2_get_file_names_reader): Adjust to use file_and_directory.
15271         (find_file_and_directory): Adjust to return a file_and_directory
15272         object.
15273         (read_file_scope): Adjust to use file_and_directory.  Remove
15274         make_cleanup/do_cleanups calls.
15275         (open_and_init_dwp_file): Adjust to use std::string.  Remove
15276         make_cleanup/do_cleanups calls.
15277         * python/python.c (do_start_initialization): Adjust to ldirname
15278         returning a std::string.
15279         * utils.c (ldirname): Now returns a std::string.
15280         * utils.h (ldirname): Change return type to std::string.
15281         * xml-syscall.c (xml_init_syscalls_info): Adjust to ldirname
15282         returning a std::string.
15283         * xml-tdesc.c (file_read_description_xml): Likewise.
15284
15285 2017-03-24  Alan Hayward  <alan.hayward@arm.com>
15286
15287         * regcache.c (regcache_debug_print_register): New function.
15288         * regcache.h (regcache_debug_print_register): New declaration.
15289         * target.c (debug_print_register): Remove.
15290         (target_fetch_registers): Call regcache_debug_print_register.
15291         (target_store_registers): Likewise.
15292
15293 2017-03-24  Pádraig Brady  <pbrady@fb.com>
15294
15295         * dwarf2read.c (setup_type_unit_groups): Ensure dir_index doesn't
15296         reference beyond the 'lh->include_dirs' array before accessing to
15297         it.
15298         (psymtab_include_file_name): Likewise.
15299         (dwarf_decode_lines_1): Likewise.
15300         (dwarf_decode_lines): Likewise.
15301         (file_file_name): Likewise.
15302
15303 2017-03-23  Simon Marchi  <simon.marchi@ericsson.com>
15304
15305         * fbsd-tdep.c (fbsd_corefile_thread): Don't set/restore
15306         inferior_ptid.
15307         * proc-service.c (ps_lgetregs, ps_lsetregs, ps_lgetfpregs,
15308         ps_lsetfpregs): Likewise.
15309         * regcache.c (regcache_raw_update, regcache_raw_write): Likewise.
15310         * sol-thread.c (ps_lgetregs, ps_lsetregs, ps_lgetfpregs,
15311         ps_lsetfpregs): Likewise.
15312         * target.c (target_fetch_registers, target_store_registers):
15313         Remove asserts.
15314
15315 2017-03-23  Alan Hayward  <alan.hayward@arm.com>
15316
15317         * sol-thread.c (sol_thread_store_registers): Remove regcache calls.
15318
15319 2017-03-23  Yao Qi  <yao.qi@linaro.org>
15320
15321         * aarch64-tdep.c (aarch64_process_record_test): Declare.
15322         (_initialize_aarch64_tdep): Register it.
15323         (aarch64_record_load_store): Handle PRFM instruction.
15324         (aarch64_process_record_test): New function.
15325
15326 2017-03-23  Yao Qi  <yao.qi@linaro.org>
15327
15328         * aarch64-tdep.c (aarch64_record_load_store): Fix code
15329         indentation.
15330
15331 2017-03-23  Yao Qi  <yao.qi@linaro.org>
15332
15333         * aarch64-tdep.c: Remove AARCH64_RECORD_FAILURE.
15334
15335 2017-03-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
15336
15337         python/python.c (do_start_initialization): Fix memory leak.
15338
15339 2017-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
15340
15341         * inf-ptrace.c (inf_ptrace_xfer_partial): Get pid from ptid
15342         using get_ptrace_pid.
15343         * linux-nat.c (linux_nat_xfer_partial): Don't set/restore
15344         inferior_ptid.
15345         (linux_proc_xfer_partial, linux_proc_xfer_spu): Use lwp of
15346         inferior_ptid instead of pid.
15347
15348 2017-03-22  Yao Qi  <yao.qi@linaro.org>
15349
15350         * aarch64-tdep.c: Wrap locally used classes in anonymous
15351         namespace.
15352         * arm-tdep.c: Likewise.
15353         * linespec.c: Likewise.
15354         * ui-out.c: Likewise.
15355
15356 2017-03-22  Jonah Graham  <jonah@kichwacoders.com>
15357
15358         PR gdb/19637
15359         * python/lib/gdb/printer/bound_registers.py: Import sys.
15360
15361 2017-03-21  Simon Marchi  <simon.marchi@ericsson.com>
15362
15363         * windows-nat.c (do_windows_fetch_inferior_registers): Add
15364         windows_thread_info parameter and use it instead of
15365         current_thread.
15366         (windows_fetch_inferior_registers): Don't set current_thread,
15367         pass the thread to do_windows_fetch_inferior_registers.  Use
15368         ptid from regcache instead of inferior_ptid.
15369         (do_windows_store_inferior_registers): Add windows_thread_info
15370         parameter and use it instead of current_thread.
15371         (windows_store_inferior_registers): Don't set current_thread,
15372         pass the thread to do_windows_store_inferior_registers.  Use
15373         ptid from regcache instead of inferior_ptid.
15374
15375 2017-03-21  Simon Marchi  <simon.marchi@ericsson.com>
15376
15377         * ser-mingw.c (ser_windows_raw): Remove reference to
15378         struct serial::current_timeout.
15379
15380 2017-03-21  Ivo Raisr  <ivo.raisr@oracle.com>
15381
15382         PR tdep/20928
15383         * gdb/sparc-tdep.h (gdbarch_tdep) <sparc64_ccr_type>: New field.
15384         * gdb/sparc64-tdep.c (sparc64_ccr_type): New function.
15385         (sparc64_fsr_type): Fix %fsr decoding.
15386
15387 2017-03-21  Tim Wiederhake  <tim.wiederhake@intel.com>
15388
15389         * python/py-record-btrace.c (btpy_insn_data): Change return type
15390         for Python 2.
15391
15392 2017-03-20  Simon Marchi  <simon.marchi@polymtl.ca>
15393
15394         * spu-linux-nat.c (spu_fetch_inferior_registers,
15395         spu_store_inferior_registers): Use ptid from regcache, set and
15396         restore inferior_ptid.
15397         * spu-multiarch.c (spu_fetch_registers, spu_store_registers):
15398         Likewise.
15399
15400 2017-03-20  Simon Marchi  <simon.marchi@polymtl.ca>
15401
15402         * i386-linux-nat.c (fetch_register, store_register,
15403         i386_linux_fetch_inferior_registers,
15404         i386_linux_store_inferior_registers): Use ptid from regcache.
15405         * ia64-linux-nat.c (ia64_linux_fetch_register,
15406         ia64_linux_store_register): Likewise.
15407         * inf-ptrace.c (inf_ptrace_fetch_register,
15408         inf_ptrace_store_register): Likewise.
15409         * m32r-linux-nat.c (m32r_linux_fetch_inferior_registers,
15410         m32r_linux_store_inferior_registers): Likewise.
15411         * m68k-bsd-nat.c (m68kbsd_fetch_inferior_registers,
15412         m68kbsd_store_inferior_registers): Likewise.
15413         * m68k-linux-nat.c (fetch_register, store_register,
15414         m68k_linux_fetch_inferior_registers,
15415         m68k_linux_store_inferior_registers): Likewise.
15416         * m88k-bsd-nat.c (m88kbsd_fetch_inferior_registers,
15417         m88kbsd_store_inferior_registers): Likewise.
15418         * mips-fbsd-nat.c (mips_fbsd_fetch_inferior_registers,
15419         mips_fbsd_store_inferior_registers): Likewise.
15420         * mips-linux-nat.c (mips64_linux_regsets_fetch_registers,
15421         mips64_linux_regsets_store_registers): Likewise.
15422         * mips-nbsd-nat.c (mipsnbsd_fetch_inferior_registers,
15423         mipsnbsd_store_inferior_registers): Likewise.
15424         * mips-obsd-nat.c (mips64obsd_fetch_inferior_registers,
15425         mips64obsd_store_inferior_registers): Likewise.
15426         * nto-procfs.c (procfs_fetch_registers, procfs_store_registers):
15427         Likewise.
15428         * ppc-fbsd-nat.c (ppcfbsd_fetch_inferior_registers,
15429         ppcfbsd_store_inferior_registers): Likewise.
15430         * ppc-linux-nat.c (ppc_linux_fetch_inferior_registers,
15431         ppc_linux_store_inferior_registers): Likewise.
15432         * ppc-nbsd-nat.c (ppcnbsd_fetch_inferior_registers,
15433         ppcnbsd_store_inferior_registers): Likewise.
15434         * ppc-obsd-nat.c (ppcobsd_fetch_registers,
15435         ppcobsd_store_registers): Likewise.
15436         * procfs.c (procfs_fetch_registers, procfs_store_registers):
15437         Likewise.
15438         * ravenscar-thread.c (ravenscar_fetch_registers,
15439         ravenscar_store_registers, ravenscar_prepare_to_store):
15440         Likewise.
15441         * record-btrace.c (record_btrace_fetch_registers,
15442         record_btrace_store_registers, record_btrace_prepare_to_store):
15443         Likewise.
15444         * remote-sim.c (gdbsim_fetch_register, gdbsim_store_register):
15445         Lookup inferior using ptid from regcache, instead of
15446         current_inferior.
15447         * remote.c (remote_fetch_registers, remote_store_registers): Use
15448         ptid from regcache.
15449         * rs6000-nat.c (fetch_register, store_register): Likewise.
15450         * s390-linux-nat.c (s390_linux_fetch_inferior_registers,
15451         s390_linux_store_inferior_registers): Likewise.
15452         * sh-nbsd-nat.c (shnbsd_fetch_inferior_registers,
15453         shnbsd_store_inferior_registers): Likewise.
15454         * sol-thread.c (sol_thread_fetch_registers,
15455         sol_thread_store_registers): Likewise.
15456         * sparc-nat.c (sparc_fetch_inferior_registers,
15457         sparc_store_inferior_registers): Likewise.
15458         * tilegx-linux-nat.c (fetch_inferior_registers,
15459         store_inferior_registers): Likewise.
15460         * vax-bsd-nat.c (vaxbsd_fetch_inferior_registers,
15461         vaxbsd_store_inferior_registers): Likewise.
15462         * xtensa-linux-nat.c (fetch_gregs, store_gregs, fetch_xtregs,
15463         store_xtregs): Likewise.
15464
15465 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15466
15467         PR gdb/14441
15468         * NEWS: Mention support for rvalue references in GDB and python.
15469         * doc/gdb.texinfo (C Plus Plus Expressions): Mention that GDB
15470         supports both lvalue and rvalue references.
15471
15472 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15473
15474         PR gdb/14441
15475         * gdbtypes.c (rank_one_type): Implement overloading
15476         resolution rules regarding rvalue references.
15477
15478 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15479
15480         PR gdb/14441
15481         * aarch64-tdep.c (aarch64_type_align)
15482         (aarch64_extract_return_value, aarch64_store_return_value): Change
15483         lvalue reference type checks to general reference type checks.
15484         * amd64-tdep.c (amd64_classify): Likewise.
15485         * amd64-windows-tdep.c (amd64_windows_passed_by_integer_register):
15486         Likewise.
15487         * arm-tdep.c (arm_type_align, arm_extract_return_value)
15488         (arm_store_return_value): Likewise.
15489         * ax-gdb.c (gen_fetch, gen_cast): Likewise.
15490         * c-typeprint.c (c_print_type): Likewise.
15491         * c-varobj.c (adjust_value_for_child_access, c_value_of_variable)
15492         (cplus_number_of_children, cplus_describe_child): Likewise.
15493         * compile/compile-c-symbols.c (generate_vla_size): Likewise.
15494         * completer.c (expression_completer): Likewise.
15495         * cp-support.c (make_symbol_overload_list_adl_namespace):
15496         Likewise.
15497         * darwin-nat-info.c (info_mach_region_command): Likewise.
15498         * dwarf2loc.c (entry_data_value_coerce_ref)
15499         (value_of_dwarf_reg_entry): Likewise.
15500         * eval.c (ptrmath_type_p, evaluate_subexp_standard)
15501         (evaluate_subexp_for_address, evaluate_subexp_for_sizeof):
15502         Likewise.
15503         * findvar.c (extract_typed_address, store_typed_address):
15504         Likewise.
15505         * gdbtypes.c (rank_one_type): Likewise.
15506         * hppa-tdep.c (hppa64_integral_or_pointer_p): Likewise.
15507         * infcall.c (value_arg_coerce): Likewise.
15508         * language.c (pointer_type): Likewise.
15509         * m32c-tdep.c (m32c_reg_arg_type, m32c_m16c_address_to_pointer):
15510         Likewise.
15511         * m88k-tdep.c (m88k_integral_or_pointer_p): Likewise.
15512         * mn10300-tdep.c (mn10300_type_align): Likewise.
15513         * msp430-tdep.c (msp430_push_dummy_call): Likewise.
15514         * ppc-sysv-tdep.c (do_ppc_sysv_return_value)
15515         (ppc64_sysv_abi_push_param, ppc64_sysv_abi_return_value):
15516         Likewise.
15517         * printcmd.c (print_formatted, x_command): Likewise.
15518         * python/py-type.c (typy_get_composite, typy_template_argument):
15519         Likewise.
15520         * python/py-value.c (valpy_referenced_value)
15521         (valpy_get_dynamic_type, value_has_field): Likewise.
15522         * s390-linux-tdep.c (s390_function_arg_integer): Likewise.
15523         * sparc-tdep.c (sparc_integral_or_pointer_p): Likewise.
15524         * sparc64-tdep.c (sparc64_integral_or_pointer_p): Likewise.
15525         * spu-tdep.c (spu_scalar_value_p): Likewise.
15526         * symtab.c (lookup_symbol_aux): Likewise.
15527         * typeprint.c (whatis_exp, print_type_scalar): Likewise.
15528         * valarith.c (binop_types_user_defined_p, unop_user_defined_p):
15529         Likewise.
15530         * valops.c (value_cast_pointers, value_cast)
15531         (value_reinterpret_cast, value_dynamic_cast, value_addr, typecmp)
15532         (value_struct_elt, value_struct_elt_bitpos)
15533         (value_find_oload_method_list, find_overload_match)
15534         (value_rtti_indirect_type): Likewise.
15535         * valprint.c (val_print_scalar_type_p, generic_val_print):
15536         Likewise.
15537         * value.c (value_actual_type, value_as_address, unpack_long)
15538         (pack_long, pack_unsigned_long, coerce_ref_if_computed)
15539         (coerce_ref): Likewise.
15540         * varobj.c (varobj_get_value_type): Likewise.
15541
15542 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15543
15544         PR gdb/14441
15545         * doc/python.texi (Types in Python): Add TYPE_CODE_RVALUE_REF to
15546         table of constants.
15547         * python/lib/gdb/command/explore.py: Support exploring values
15548         of rvalue reference types.
15549         * python/lib/gdb/types.py: Implement get_basic_type() for
15550         rvalue reference types.
15551         * python/py-type.c (pyty_codes) <TYPE_CODE_RVALUE_REF>: New
15552         constant.
15553         * python/py-value.c (valpy_getitem): Add an rvalue reference
15554         check.
15555         (valpy_reference_value): Add new parameter "refcode".
15556         (valpy_lvalue_reference_value, valpy_rvalue_reference_value):
15557         New wrappers for valpy_reference_value().
15558         * python/py-xmethods.c (gdbpy_get_xmethod_result_type)
15559         (gdbpy_invoke_xmethod): Likewise.
15560
15561 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15562
15563         PR gdb/14441
15564         * dwarf2read.c (process_die, read_type_die_1): Handle the
15565         DW_TAG_rvalue_reference_type DIE.
15566         (read_tag_reference_type): Add new parameter "refcode".
15567
15568 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15569
15570         PR gdb/14441
15571         * c-typeprint.c (c_print_type, c_type_print_varspec_prefix)
15572         (c_type_print_modifier, c_type_print_varspec_suffix)
15573         (c_type_print_base): Support printing rvalue reference types.
15574         * c-valprint.c (c_val_print, c_value_print): Support printing
15575         rvalue reference values.
15576
15577 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15578
15579         PR gdb/14441
15580         * cp-name-parser.y (ptr_operator): Handle the '&&' token in
15581         typename.
15582         * cp-support.c (replace_typedefs): Handle
15583         DEMANGLE_COMPONENT_RVALUE_REFERENCE.
15584         * python/py-type.c (typy_lookup_type): Likewise.
15585
15586 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15587
15588         PR gdb/14441
15589         * c-exp.y (ptr_operator): Handle the '&&' token in the typename.
15590         * parse.c (insert_type): Change assert statement.
15591         (follow_types): Handle rvalue reference types.
15592         * parser-defs.h (enum type_pieces) <tp_rvalue_reference>: New
15593         constant.
15594
15595 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15596
15597         PR gdb/14441
15598         * ada-lang.c (ada_evaluate_subexp): Adhere to the new
15599         value_ref() interface.
15600         * c-valprint.c (c_value_print): Likewise.
15601         * infcall.c (value_arg_coerce): Likewise.
15602         * python/py-value.c (valpy_reference_value): Likewise.
15603         * valops.c (value_cast, value_reinterpret_cast)
15604         (value_dynamic_cast, typecmp): Likewise.
15605         (value_ref): Parameterize by kind of return value reference type.
15606         * value.h (value_ref): Add new parameter "refcode".
15607
15608 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15609
15610         PR gdb/14441
15611         * dwarf2read.c (read_tag_reference_type): Use
15612         lookup_lvalue_reference_type() instead of lookup_reference_type().
15613         * eval.c (evaluate_subexp_standard): Likewise.
15614         * f-exp.y: Likewise.
15615         * gdbtypes.c (make_reference_type, lookup_reference_type):
15616         Generalize with rvalue reference types.
15617         (lookup_lvalue_reference_type, lookup_rvalue_reference_type): New
15618         convenience wrappers for lookup_reference_type().
15619         * gdbtypes.h (make_reference_type, lookup_reference_type): Add a
15620         reference kind parameter.
15621         (lookup_lvalue_reference_type, lookup_rvalue_reference_type): Add
15622         wrappers for lookup_reference_type().
15623         * guile/scm-type.c (gdbscm_type_reference): Use
15624         lookup_lvalue_reference_type() instead of lookup_reference_type().
15625         * guile/scm-value.c (gdbscm_value_dynamic_type): Likewise.
15626         * parse.c (follow_types): Likewise.
15627         * python/py-type.c (typy_reference, typy_lookup_type): Likewise.
15628         * python/py-value.c (valpy_get_dynamic_type, valpy_getitem):
15629         Likewise.
15630         * python/py-xmethods.c (gdbpy_get_xmethod_result_type)
15631         (gdbpy_invoke_xmethod): Likewise.
15632         * stabsread.c: Provide extra argument to make_reference_type()
15633         call.
15634         * valops.c (value_ref, value_rtti_indirect_type): Use
15635         lookup_lvalue_reference_type() instead of lookup_reference_type().
15636
15637 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15638
15639         PR gdb/14441
15640         * gdbtypes.h (enum type_code) <TYPE_CODE_RVALUE_REF>: New constant.
15641         (TYPE_IS_REFERENCE): New macro.
15642         (struct type): Add rvalue_reference_type field.
15643         (TYPE_RVALUE_REFERENCE_TYPE): New macro.
15644
15645 2017-03-20  Marc-Andre Laperle  <marc-andre.laperle@ericsson.com>
15646
15647         * NEWS: Add an entry about new '-file-list-shared-libraries' command.
15648         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries):
15649         New function definition.
15650         * mi/mi-cmds.c (mi_cmds): Add -file-list-shared-libraries command.
15651         * mi/mi-cmds.h (mi_cmd_file_list_shared_libraries):
15652         New function declaration.
15653         * mi/mi-interp.c (mi_output_solib_attribs): New Function.
15654         * mi/mi-interp.h: New file.
15655         * solib.c (info_sharedlibrary_command): Replace for loop with
15656         ALL_SO_LIBS macro
15657         * solib.h (update_solib_list): New function declaration.
15658         (so_list_head): Move macro.
15659         * solist.h (ALL_SO_LIBS): New macro.
15660
15661 2017-03-20  Marc-Andre Laperle  <marc-andre.laperle@ericsson.com>
15662
15663         * infcmd.c (post_create_inferior): Remove unused argument in
15664         call to solib_add.
15665         * remote.c (remote_start_remote): Likewise.
15666         * solib-frv.c (frv_fetch_objfile_link_map): Likewise.
15667         * solib-svr4.c: (svr4_fetch_objfile_link_map): Likewise.
15668         (enable_break): Likewise.
15669         * solib.c (update_solib_list): Remove unused target argument
15670         and its documentation.
15671         (solib_add): Remove unused target argument.  Remove unused
15672         argument in call to update_solib_list.
15673         (info_sharedlibrary_command): Remove unused argument in call
15674         to update_solib_list.
15675         (sharedlibrary_command): Remove unused argument in call to
15676         solib_add.
15677         (handle_solib_event): Likewise.
15678         (reload_shared_libraries): Likewise.
15679         * solib.h (solib_add): Remove unused target argument.
15680
15681 2017-03-20  Andreas Arnez  <arnez@linux.vnet.ibm.com>
15682
15683         * s390-linux-tdep.c (is_rsi, is_rie): Remove functions.
15684         (s390_displaced_step_fixup): Cover relative branches with the
15685         default fixup handling.  This fixes lack of support for some
15686         relative branch instructions.
15687
15688 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15689
15690         * i386-gnu-nat.c (gnu_fetch_registers, gnu_store_registers): Use
15691         ptid from regcache.
15692
15693 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15694
15695         * i386-darwin-nat.c (i386_darwin_fetch_inferior_registers,
15696         i386_darwin_store_inferior_registers): Use ptid from regcache.
15697
15698 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15699
15700         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers,
15701         i386bsd_store_inferior_registers): Use ptid from regcache.
15702
15703 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15704
15705         * hppa-obsd-nat.c (hppaobsd_fetch_registers,
15706         hppaobsd_store_registers): Use ptid from regcache.
15707
15708 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15709
15710         * hppa-nbsd-nat.c (hppanbsd_fetch_registers,
15711         hppanbsd_store_registers): Use ptid from regcache.
15712
15713 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15714
15715         * hppa-linux-nat.c (fetch_register, store_register): Use ptid
15716         from regcache.  Use get_ptrace_pid.
15717
15718 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15719
15720         * corelow.c (get_core_register_section): Use ptid from regcache,
15721         update doc.
15722
15723 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15724
15725         * bsd-uthread.c (bsd_uthread_fetch_registers,
15726         bsd_uthread_store_registers): Use ptid from regcache, set and
15727         restore inferior_ptid.
15728
15729 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15730
15731         * arm-nbsd-nat.c (fetch_register, fetch_regs, fetch_fp_register,
15732         fetch_fp_regs, store_register, store_regs, store_fp_register,
15733         store_fp_regs): Use ptid from regcache.
15734
15735 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15736
15737         * arm-linux-nat.c (fetch_fpregs, store_fpregs, fetch_regs,
15738         store_regs, fetch_wmmx_regs, store_wmmx_regs, fetch_vfp_regs,
15739         store_vfp_regs): Use ptid from regcache.
15740
15741 2017-03-17  Pedro Alves  <palves@redhat.com>
15742
15743         PR remote/21188
15744         * ser-base.c (ser_base_wait_for): Add comment.
15745         (do_ser_base_readchar): Improve comment based on the ser-unix.c's
15746         version.
15747         * ser-unix.c (hardwire_raw): Remove reference to
15748         scb->current_timeout.
15749         (wait_for, do_hardwire_readchar, hardwire_readchar): Delete.
15750         (hardwire_ops): Install ser_base_readchar instead of
15751         hardwire_readchar.
15752         * serial.h (struct serial) <current_timeout, timeout_remaining>:
15753         Remove fields.
15754
15755 2017-03-17  Jonah Graham  <jonah@kichwacoders.com>
15756
15757         PR gdb/19637
15758         * python/lib/gdb/printer/bound_registers.py: Add support for
15759         Python 3.
15760
15761 2017-03-16  Andreas Arnez  <arnez@linux.vnet.ibm.com>
15762
15763         * dwarf2loc.c (indirect_synthetic_pointer): Get data type of
15764         pointed-to DIE and pass it to dwarf2_evaluate_loc_desc_full.
15765         (dwarf2_evaluate_loc_desc_full): New parameter subobj_type; rename
15766         byte_offset to subobj_byte_offset.  Fix the handling of
15767         DWARF_VALUE_STACK on big-endian targets when coming via an
15768         implicit pointer.
15769         (dwarf2_evaluate_loc_desc): Adjust call to
15770         dwarf2_evaluate_loc_desc_full.
15771         * dwarf2loc.h (dwarf2_fetch_die_type_sect_off): New declaration.
15772         * dwarf2read.c (dwarf2_fetch_die_type_sect_off): New function.
15773
15774 2017-03-16  Yao Qi  <yao.qi@linaro.org>
15775
15776         * arm-tdep.c (thumb_record_misc): Decode CBNZ, CBZ, REV16,
15777         and REVSH instructions.
15778
15779 2017-03-16  Yao Qi  <yao.qi@linaro.org>
15780
15781         * arm-tdep.c [GDB_SELF_TEST]: include "selftests.h".
15782         (arm_record_test): Declare.
15783         (_initialize_arm_tdep) [GDB_SELF_TEST]: call register_self_test.
15784         (thumb_record_ld_st_reg_offset): Rewrite the opcode matching to
15785         align with the manual.
15786         (thumb_record_misc): Adjust the code order to align with the
15787         manual.
15788         (thumb2_record_decode_insn_handler): Fix instruction matching.
15789         (instruction_reader_thumb): New class.
15790         (arm_record_test): New function.
15791
15792 2017-03-16  Yao Qi  <yao.qi@linaro.org>
15793
15794         * arm-tdep.c (abstract_memory_reader): New class.
15795         (instruction_reader): New class.
15796         (extract_arm_insn): Add argument 'reader'.  Callers updated.
15797         (decode_insn): Likewise.
15798
15799 2017-03-16  Doug Evans  <dje@google.com>
15800
15801         * guile/scm-lazy-string.c (lazy_string_smob): Clarify use of LENGTH
15802         member.  Change type of TYPE member to SCM.  All uses updated.
15803         (lsscm_make_lazy_string_smob): Add assert.
15804         (lsscm_make_lazy_string): Flag bad length values.
15805         (lsscm_elt_type): New function.
15806         (gdbscm_lazy_string_to_value): Rewrite to use
15807         lsscm_safe_lazy_string_to_value.
15808         (lsscm_safe_lazy_string_to_value): Fix handling of TYPE_CODE_PTR.
15809         * guile/scm-value.c (gdbscm_value_to_lazy_string): Flag bad length
15810         values.  Fix TYPE_CODE_PTR.  Handle TYPE_CODE_ARRAY.  Handle typedefs
15811         in incoming type.
15812         * guile/guile-internal.h (tyscm_scm_to_type): Declare.
15813         * guile/scm-type.c (tyscm_scm_to_type): New function.
15814
15815 2017-03-15  Doug Evans  <dje@google.com>
15816
15817         PR python/17728, python/18439, python/18779
15818         * python/py-lazy-string.c (lazy_string_object): Clarify use of LENGTH
15819         member.  Change type of TYPE member to PyObject *.  All uses updated.
15820         (stpy_convert_to_value): Fix handling of TYPE_CODE_PTR.
15821         (gdbpy_create_lazy_string_object): Flag bad length values.
15822         Handle TYPE_CODE_ARRAY with possibly different user-provided length.
15823         Handle typedefs in incoming type.
15824         (stpy_lazy_string_elt_type): New function.
15825         (gdbpy_extract_lazy_string): Call it.
15826         * python/py-value.c (valpy_lazy_string): Flag bad length values.
15827         Fix handling of TYPE_CODE_PTR.  Handle TYPE_CODE_ARRAY.  Handle
15828         typedefs in incoming type.
15829
15830 2017-03-16  Doug Evans  <dje@google.com>
15831
15832         * guile/guile-internal.h (tyscm_scm_to_type): Declare.
15833         * guile/scm-type.c (tyscm_scm_to_type): New function.
15834
15835 2017-03-16  Jiong Wang  <jiong.wang@arm.com>
15836
15837         * inf-ptrace.c (inf_ptrace_peek_poke): Change the type to
15838         "ULONGEST" for "skip".
15839
15840 2017-03-14  Andreas Arnez  <arnez@linux.vnet.ibm.com>
15841
15842         PR gdb/21220
15843         * inf-ptrace.c (inf_ptrace_xfer_partial): In "case
15844         TARGET_OBJECT_MEMORY", extract the logic for ptrace peek/poke...
15845         (inf_ptrace_peek_poke): ...here.  New function.  Now also loop
15846         over ptrace peek/poke until end of buffer or error.
15847
15848 2017-03-14  Simon Marchi  <simon.marchi@ericsson.com>
15849
15850         * parse.c (length_of_subexp): Make static.
15851         * parser-defs.h (length_of_subexp): Remove.
15852
15853 2017-03-14  Andreas Arnez  <arnez@linux.vnet.ibm.com>
15854
15855         * linux-nat.c (linux_proc_xfer_partial): Handle write operations
15856         as well.
15857
15858 2017-03-14  Pedro Alves  <palves@redhat.com>
15859
15860         * cp-name-parser.y (cp_demangled_name_to_comp): Update comment.
15861         (main): Use std::unique_ptr.  Remove calls to
15862         cp_demangled_name_parse_free.
15863
15864 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15865
15866         * alpha-bsd-nat.c (alphabsd_fetch_inferior_registers,
15867         alphabsd_store_inferior_registers): Use regcache->ptid instead
15868         of inferior_ptid.
15869
15870 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15871
15872         * aix-thread.c (aix_thread_fetch_registers,
15873         aix_thread_store_registers): Use regcache->ptid instead of
15874         inferior_ptid.
15875
15876 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15877
15878         * aarch64-linux-nat.c (fetch_gregs_from_thread,
15879         store_gregs_to_thread, fetch_fpregs_from_thread,
15880         store_fpregs_to_thread): Use regcache->ptid instead of
15881         inferior_ptid.
15882
15883 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15884
15885         * amd64-linux-nat.c (amd64_linux_fetch_inferior_registers,
15886         amd64_linux_fetch_inferior_registers): Use regcache->ptid
15887         instead of inferior_ptid.
15888
15889 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15890
15891         * target.c (target_fetch_registers, target_store_registers): Add
15892         assert.
15893
15894 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15895
15896         * regcache.h (regcache_get_ptid): New function.
15897         * regcache.c (regcache_get_ptid): New function.
15898
15899 2017-03-13  Mark Wielaard  <mark@klomp.org>
15900
15901         * cp-name-parser.y (make_empty): Initialize d_printing to zero.
15902
15903 2017-03-10  Keith Seitz  <keiths@redhat.com>
15904
15905         PR c++/8218
15906         * c-typeprint.c (cp_type_print_method_args): Skip artificial arguments.
15907
15908 2017-03-08  Pedro Alves  <palves@redhat.com>
15909
15910         PR gdb/18360
15911         * infrun.c (start_step_over, do_target_resume, resume)
15912         (restart_threads): Assert we're not resuming a thread that is
15913         meant to be stopped.
15914         (infrun_thread_stop_requested_callback): Delete.
15915         (infrun_thread_stop_requested): If the thread is internally
15916         stopped, queue a pending stop event and clear the thread's
15917         inline-frame state.
15918         (handle_stop_requested): New function.
15919         (handle_syscall_event, handle_inferior_event_1): Use
15920         handle_stop_requested.
15921         (handle_stop_requested): New function.
15922         (handle_signal_stop): Set the thread's stop_signal here instead of
15923         at caller.
15924         (finish_step_over): Clear step over info unconditionally.
15925         (handle_signal_stop): If the user had interrupted the event
15926         thread, consider the stop a random signal.
15927         (handle_signal_stop) <signal arrived while stepping over
15928         breakpoint>: Don't restart threads here.
15929         (stop_waiting): Don't clear step-over info here.
15930
15931 2017-03-08  Pedro Alves  <palves@redhat.com>
15932
15933         PR 21206
15934         * common/gdb_unlinker.h (unlinker::unlinker): Attribute nonnull
15935         goes to argument 2, not 1.
15936
15937 2017-03-08  Pedro Alves  <palves@redhat.com>
15938
15939         PR cli/21218
15940         * top.c (gdb_readline_wrapper): Avoid passing NULL to
15941         display_gdb_prompt.
15942         (command_line_input): Add comment.
15943
15944 2017-03-08  Pedro Alves  <palves@redhat.com>
15945
15946         PR tui/21216
15947         * tui/tui-file.c (tui_file::write): New.
15948         * tui/tui-file.h (tui_file): Override "write".
15949         * tui/tui-io.c (do_tui_putc, update_start_line): New functions,
15950         factored out from ...
15951         (tui_puts): ... here.
15952         (tui_putc): Use them.
15953         (tui_write): New function.
15954         * tui/tui-io.h (tui_write): Declare.
15955
15956 2017-03-07  Sergio Durigan Junior  <sergiodj@redhat.com>
15957
15958         * Makefile.in (SFILES): Replace "environ.c" with
15959         "common/environ.c".
15960         (HFILES_NO_SRCDIR): Likewise, for "environ.h".
15961         * environ.c: Include "common-defs.h" instead of "defs.h.  Moved
15962         to...
15963         * common/environ.c: ... here.
15964         * environ.h: Moved to...
15965         * common/environ.h: ... here.
15966
15967 2017-03-07  Peter Bergner  <bergner@vnet.ibm.com>
15968
15969         * gdbarch.sh (pstring_ptr): New static function.
15970         (gdbarch_disassembler_options): Use it.
15971         (gdbarch_verify_disassembler_options): Print valid_disassembler_options,
15972         not valid_disassembler_option->name.
15973         * gdbarch.c: Regenerate.
15974
15975 2017-03-07  Peter Bergner  <bergner@vnet.ibm.com>
15976
15977         * config/powerpc/ppc64-linux.mh (MH_CFLAGS): Delete.
15978
15979 2017-03-07  Pedro Alves  <palves@redhat.com>
15980
15981         * tui/tui-regs.c (tui_restore_gdbout): Don't delete gdb_stdout.
15982
15983 2017-03-07  Walfred Tedeschi  <walfred.tedeschi@intel.com>
15984
15985         * i387-tdep.h (i387_reset_bnd_regs): Add function definition.
15986         * i387-tdep.c (i387_reset_bnd_regs): Add function implementation.
15987         * i386-tdep.c (i386_push_dummy_call): Call i387_reset_bnd_regs.
15988         * amd64-tdep.c (amd64_push_dummy_call): Call i387_reset_bnd_regs.
15989
15990 2017-03-06  Simon Marchi  <simon.marchi@ericsson.com>
15991
15992         * xtensa-linux-nat.c (fetch_gregs): Remove const.
15993
15994 2017-03-03  Simon Marchi  <simon.marchi@ericsson.com>
15995
15996         * remote.c (remote_add_target_side_commands): Use range-based
15997         for loop.
15998
15999 2017-03-03  Yao Qi  <yao.qi@linaro.org>
16000
16001         PR gdb/21165
16002         * ada-valprint.c (ada_val_print_ref): Call value_fetch_lazy if
16003         value is lazy.
16004         * valprint.c (common_val_print): Likewise.
16005
16006 2017-02-28  Peter Bergner  <bergner@vnet.ibm.com>
16007
16008         * NEWS: Mention new set/show disassembler-options commands.
16009         * doc/gdb.texinfo: Document new set/show disassembler-options commands.
16010         * disasm.c: Include "arch-utils.h", "gdbcmd.h" and "safe-ctype.h".
16011         (prospective_options): New static variable.
16012         (gdb_disassembler::gdb_disassembler): Initialize
16013         m_di.disassembler_options.
16014         (gdb_buffered_insn_length_init_dis): Initilize di->disassembler_options.
16015         (get_disassembler_options): New function.
16016         (set_disassembler_options): Likewise.
16017         (set_disassembler_options_sfunc): Likewise.
16018         (show_disassembler_options_sfunc): Likewise.
16019         (disassembler_options_completer): Likewise.
16020         (_initialize_disasm): Likewise.
16021         * disasm.h (get_disassembler_options): New prototype.
16022         (set_disassembler_options): Likewise.
16023         * gdbarch.sh (gdbarch_disassembler_options): New variable.
16024         (gdbarch_verify_disassembler_options): Likewise.
16025         * gdbarch.c: Regenerate.
16026         * gdbarch.h: Likewise.
16027         * arm-tdep.c (num_disassembly_options): Delete.
16028         (set_disassembly_style): Likewise.
16029         (arm_disassembler_options): New static variable.
16030         (set_disassembly_style_sfunc): Convert short style name into long
16031         option name.  Call set_disassembler_options.
16032         (show_disassembly_style_sfunc): New function.
16033         (arm_gdbarch_init): Call set_gdbarch_disassembler_options and
16034         set_gdbarch_verify_disassembler_options.
16035         (_initialize_arm_tdep): Delete regnames variable and update callers.
16036         (arm_disassembler_options): Initialize.
16037         (disasm_options): New variable.
16038         (num_disassembly_options): Rename from this...
16039         (num_disassembly_styles): ...to this.  Compute by scanning through
16040         disasm_options.
16041         (valid_disassembly_styles): Initialize using disasm_options.
16042         Remove calls to parse_arm_disassembler_option, get_arm_regnames and
16043         set_arm_regname_option.
16044         Pass show_disassembly_style_sfunc to the "disassembler" setshow command.
16045         * rs6000-tdep.c (powerpc_disassembler_options): New static variable.
16046         (rs6000_gdbarch_init): Call set_gdbarch_disassembler_options and
16047         set_gdbarch_verify_disassembler_options.
16048         * s390-tdep.c (s390_disassembler_options): New static variable.
16049         (s390_gdbarch_init):all set_gdbarch_disassembler_options and
16050         set_gdbarch_verify_disassembler_options.
16051
16052 2017-02-27  Simon Marchi  <simon.marchi@ericsson.com>
16053
16054         * remote.c (remote_add_target_side_condition): Remove "struct"
16055         keyword from range-based for loop.
16056
16057 2017-02-27  Simon Marchi  <simon.marchi@ericsson.com>
16058
16059         * remote.c (remote_add_target_side_condition): Use range-based
16060         for loop.  Update comment.
16061
16062 2017-02-27  Yao Qi  <yao.qi@linaro.org>
16063
16064         * f-typeprint.c (f_print_type): Check "varstring" is empty first.
16065
16066 2017-02-26  Alan Hayward  <alan.hayward@arm.com>
16067
16068         * regcache.c (regcache_raw_update): New function.
16069         (regcache_raw_read): Move code to regcache_raw_update.
16070         * regcache.h (regcache_raw_update): New declaration.
16071         * remote.c (remote_prepare_to_store): Call regcache_raw_update.
16072
16073 2017-02-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
16074
16075         * dwarf2read.c (create_debug_type_hash_table): Initialize
16076         header.signature and header.type_offset_in_tu.
16077
16078 2017-02-24  Pedro Alves  <palves@redhat.com>
16079
16080         * symtab.c (make_file_symbol_completion_list_1): Use
16081         add_symtab_completions.
16082
16083 2017-02-24  Alan Hayward  <alan.hayward@arm.com>
16084
16085         * stack.c (frame_info): Use frame_unwind_register_value to avoid buf.
16086
16087 2017-02-24  Alan Hayward  <alan.hayward@arm.com>
16088
16089         * i386-tdep.c (i386_pseudo_register_read_into_value): Use
16090         I386_MAX_REGISTER_SIZE.
16091         (i386_pseudo_register_write): Likewise.
16092         (i386_process_record): Likewise.
16093         * i387-tdep.c (i387_supply_xsave): Likewise.
16094         * m68k-linux-nat.c (fetch_register): Use M68K_MAX_REGISTER_SIZE.
16095         (store_register): Likewise.
16096
16097 2017-02-23  Pedro Alves  <palves@redhat.com>
16098
16099         * ada-lang.c: Include "common/function-view.h".
16100         (ada_iterate_over_symbols): Adjust to use function_view as
16101         callback type.
16102         (struct add_partial_datum, ada_complete_symbol_matcher): Delete.
16103         (ada_make_symbol_completion_list): Use a lambda.
16104         (ada_exc_search_name_matches): Delete.
16105         (name_matches_regex): New.
16106         (ada_add_global_exceptions): Use a lambda and name_matches_regex.
16107         * compile/compile-c-support.c: Include "common/function-view.h".
16108         (print_one_macro): Change prototype to accept a ui_file pointer.
16109         (write_macro_definitions): Use a lambda.
16110         * dwarf2read.c: Include "common/function-view.h".
16111         (dw2_map_expand_apply, dw2_map_symtabs_matching_filename)
16112         (dw2_expand_symtabs_matching): Adjust to use function_view as
16113         callback type.
16114         * language.h: Include "common/function-view.h".
16115         (struct language_defn) <la_iterate_over_symbols>: Adjust to use
16116         function_view as callback type.
16117         (LA_ITERATE_OVER_SYMBOLS): Remove DATA parameter.
16118         * linespec.c: Include "common/function-view.h".
16119         (collect_info::add_symbol): New method.
16120         (struct symbol_and_data_callback, iterate_inline_only, struct
16121         symbol_matcher_data, iterate_name_matcher): Delete.
16122         (iterate_over_all_matching_symtabs): Adjust to use function_view
16123         as callback type and lambdas.
16124         (iterate_over_file_blocks): Adjust to use function_view as
16125         callback type.
16126         (decode_compound_collector): Now a class with private fields.
16127         (decode_compound_collector::release_symbols): New method.
16128         (collect_one_symbol): Rename to...
16129         (decode_compound_collector::operator()): ... this and adjust.
16130         (lookup_prefix_sym): decode_compound_collector construction bits
16131         move to decode_compound_collector ctor.  Pass the
16132         decode_compound_collector object directly as callback.  Remove
16133         cleanups and use decode_compound_collector::release_symbols
16134         instead.
16135         (symtab_collector): Now a class with private fields.
16136         (symtab_collector::release_symtabs): New method.
16137         (add_symtabs_to_list): Rename to...
16138         (symtab_collector::operator()): ... this and adjust.
16139         (collect_symtabs_from_filename): symtab_collector construction
16140         bits move to symtab_collector ctor.  Pass the symtab_collector
16141         object directly as callback.  Remove cleanups and use
16142         symtab_collector::release_symtabs instead.
16143         (collect_symbols): Delete.
16144         (add_matching_symbols_to_info): Use lambdas.
16145         * macrocmd.c (print_macro_callback): Delete.
16146         (info_macro_command): Use a lambda.
16147         (info_macros_command): Pass print_macro_definition as callable
16148         directly.
16149         (print_one_macro): Remove 'ignore' parameter.
16150         (macro_list_command): Adjust.
16151         * macrotab.c (macro_for_each_data::fn): Now a function_view.
16152         (macro_for_each_data::user_data): Delete field.
16153         (foreach_macro): Adjust to call the function_view.
16154         (macro_for_each): Adjust to use function_view as callback type.
16155         (foreach_macro_in_scope): Adjust to call the function_view.
16156         (macro_for_each_in_scope): Adjust to use function_view as callback
16157         type.
16158         * macrotab.h: Include "common/function-view.h".
16159         (macro_callback_fn): Declare a prototype instead of a pointer.
16160         Remove "user_data" parameter.
16161         (macro_for_each, macro_for_each_in_scope): Adjust to use
16162         function_view as callback type.
16163         * psymtab.c (partial_map_expand_apply)
16164         (psym_map_symtabs_matching_filename, recursively_search_psymtabs):
16165         Adjust to use function_view as callback type and to return bool.
16166         (psym_expand_symtabs_matching): Adjust to use function_view as
16167         callback types.
16168         * symfile-debug.c (debug_qf_map_symtabs_matching_filename): Adjust
16169         to use function_view as callback type and to return bool.
16170         (debug_qf_expand_symtabs_matching): Adjust to use function_view as
16171         callback types.
16172         * symfile.c (expand_symtabs_matching): Adjust to use function_view
16173         as callback types.
16174         * symfile.h: Include "common/function-view.h".
16175         (expand_symtabs_file_matcher_ftype)
16176         (expand_symtabs_symbol_matcher_ftype)
16177         (expand_symtabs_exp_notify_ftype): Remove "data" parameter and
16178         return bool.
16179         (quick_symbol_functions::map_symtabs_matching_filename)
16180         (quick_symbol_functions::expand_symtabs_matching): Adjust to use
16181         function_view as callback type and return bool.
16182         (expand_symtabs_matching): Adjust to use function_view as callback
16183         type.
16184         (maintenance_expand_name_matcher)
16185         (maintenance_expand_file_matcher): Delete.
16186         (maintenance_expand_symtabs): Use lambdas.
16187         * symtab.c (iterate_over_some_symtabs): Adjust to use
16188         function_view as callback types and return bool.
16189         (iterate_over_symtabs): Likewise.  Use unique_xmalloc_ptr instead
16190         of a cleanup.
16191         (lookup_symtab_callback): Delete.
16192         (lookup_symtab): Use a lambda.
16193         (iterate_over_symbols): Adjust to use function_view as callback
16194         type.
16195         (struct search_symbols_data, search_symbols_file_matches)
16196         (search_symbols_name_matches): Delete.
16197         (search_symbols): Use a pair of lambdas.
16198         (struct add_name_data, add_macro_name, symbol_completion_matcher)
16199         (symtab_expansion_callback): Delete.
16200         (default_make_symbol_completion_list_break_on_1): Use lambdas.
16201         * symtab.h: Include "common/function-view.h".
16202         (iterate_over_some_symtabs): Adjust to use function_view as
16203         callback type and return bool.
16204         (iterate_over_symtabs): Adjust to use function_view as callback
16205         type.
16206         (symbol_found_callback_ftype): Remove 'data' parameter and return
16207         bool.
16208         (iterate_over_symbols): Adjust to use function_view as callback
16209         type.
16210
16211 2017-02-23  Pedro Alves  <palves@redhat.com>
16212
16213         * Makefile.in (SUBDIR_UNITTESTS_SRCS, SUBDIR_UNITTESTS_OBS): New.
16214         (%.o) <unittests/%.c>: New pattern.
16215         * configure.ac ($development): Add $(SUBDIR_UNITTESTS_OBS) to
16216         CONFIG_OBS, and $(SUBDIR_UNITTESTS_SRCS) to CONFIG_SRCS.
16217         * common/function-view.h: New file.
16218         * unittests/function-view-selftests.c: New file.
16219         * configure: Regenerate.
16220
16221 2017-02-23  Simon Marchi  <simon.marchi@ericsson.com>
16222
16223         * bsd-uthread.c (bsd_uthread_thread_alive): Use ptid instead of
16224         inferior_ptid.
16225         * go32-nat.c (go32_thread_alive): Likewise.
16226
16227 2017-02-23  Yao Qi  <yao.qi@linaro.org>
16228
16229         * varobj-iter.h (varobj_iter_delete): Call xfree instead of
16230         delete.
16231
16232 2017-02-23  Yao Qi  <yao.qi@linaro.org>
16233
16234         * varobj.c (varobj_clear_saved_item): Use delete instead of
16235         xfree.
16236         (update_dynamic_varobj_children): Likewise.
16237
16238 2017-02-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
16239
16240         * dwarf2read.c (dwarf2_record_block_ranges): Add forgotten BASEADDR.
16241
16242 2017-02-21  Simon Marchi  <simon.marchi@ericsson.com>
16243
16244         * common/enum-flags.h (enum_flags::enum_flags): Initialize
16245         m_enum_value to 0 in default constructor.
16246
16247 2017-02-21  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
16248
16249         * rs6000-tdep.c (LOAD_AND_RESERVE_MASK): Rename from LWARX_MASK.
16250         (STORE_CONDITIONAL_MASK): Rename from STWCX_MASK.
16251         (LBARX_INSTRUCTION, LHARX_INSTRUCTION, LQARX_INSTRUCTION,
16252         STBCX_INSTRUCTION, STHCX_INSTRUCTION, STQCX_INSTRUCTION): New defines.
16253         (IS_LOAD_AND_RESERVE_INSN, IS_STORE_CONDITIONAL_INSN): New macros.
16254         (ppc_displaced_step_copy_insn): Use IS_LOAD_AND_RESERVE_INSN.
16255         (ppc_deal_with_atomic_sequence): Use IS_LOAD_AND_RESERVE_INSN and
16256         IS_STORE_CONDITIONAL_INSN.
16257
16258 2017-02-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
16259
16260         * dwarf2_rnglists_process: Initialize range_beginning and range_end.
16261
16262 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16263
16264         * NEWS (Changes since GDB 7.12): Add DWARF-5.
16265
16266 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16267
16268         * dwarf2read.c (skip_one_die, read_attribute_value)
16269         (dwarf2_const_value_attr, dump_die_shallow)
16270         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
16271         (skip_form_bytes, attr_form_is_constant): Handle DW_FORM_data16.
16272
16273 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16274
16275         * dwarf2read.c (read_file_scope): Rename DW_MACRO_GNU_*.
16276         (dwarf_parse_macro_header): Accept DWARF version 5.
16277         (dwarf_decode_macro_bytes, dwarf_decode_macros): Rename DW_MACRO_GNU_*.
16278
16279 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16280
16281         * block.c (call_site_for_pc): Rename DW_OP_GNU_*, DW_TAG_GNU_* and
16282         DW_AT_GNU_*.
16283         * common/common-exceptions.h (enum errors): Likewise.
16284         * dwarf2-frame.c (class dwarf_expr_executor): Likewise.
16285         * dwarf2expr.c (dwarf_block_to_dwarf_reg)
16286         (dwarf_expr_context::execute_stack_op): Likewise.
16287         * dwarf2expr.h (struct dwarf_expr_context, struct dwarf_expr_piece):
16288         Likewise.
16289         * dwarf2loc.c (dwarf_evaluate_loc_desc::get_base_type)
16290         (dwarf_evaluate_loc_desc::push_dwarf_reg_entry_value)
16291         (show_entry_values_debug, call_site_to_target_addr)
16292         (func_addr_to_tail_call_list, func_verify_no_selftailcall)
16293         (dwarf_expr_reg_to_entry_parameter, dwarf_entry_parameter_to_value)
16294         (entry_data_value_free_closure, value_of_dwarf_reg_entry)
16295         (value_of_dwarf_block_entry, indirect_pieced_value)
16296         (symbol_needs_eval_context::push_dwarf_reg_entry_value):
16297         (disassemble_dwarf_expression): Likewise.
16298         * dwarf2read.c (process_die, inherit_abstract_dies)
16299         (read_call_site_scope): Likewise.
16300         * gdbtypes.h (struct func_type, struct call_site_parameter)
16301         (struct call_site): Likewise.
16302         * stack.c (read_frame_arg): Likewise.
16303         * std-operator.def (OP_VAR_ENTRY_VALUE): Likewise.
16304
16305 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16306
16307         * defs.h (read_unsigned_leb128): New declaration.
16308         * dwarf2loc.c (decode_debug_loclists_addresses): New function.
16309         (decode_debug_loc_dwo_addresses): Update DEBUG_LOC_* to DW_LLE_*.
16310         (dwarf2_find_location_expression): Call also
16311         decode_debug_loclists_addresses.  Handle DWARF-5 ULEB128 length.
16312         * dwarf2loc.h (dwarf2_version): New declaration.
16313         * dwarf2read.c (struct dwarf2_per_objfile): Add loclists, line_str,
16314         rnglists.
16315         (dwarf2_elf_names): Add .debug_loclists, .debug_line_str,
16316         .debug_rnglists.
16317         (struct dwop_section_names): Add loclists_dwo.
16318         (dwop_section_names): Add .debug_loclists.dwo.
16319         (struct comp_unit_head): Add unit_type, signature, type_offset_in_tu.
16320         (struct dwarf2_per_cu_data): Add dwarf_version.
16321         (struct dwo_sections): Add loclists.
16322         (struct attr_abbrev): Add implicit_const.
16323         (read_indirect_line_string): New declaration.
16324         (read_unsigned_leb128): Delete declaration.
16325         (rcuh_kind): New definition.
16326         (read_and_check_comp_unit_head): Change parameter
16327         is_debug_types_section to section_kind.
16328         (dwarf2_locate_sections): Handle loclists, line_str and rnglists.
16329         (read_comp_unit_head): Change parameter abfd to section, add parameter
16330         section_kind.  Handle DWARF-5.
16331         (error_check_comp_unit_head): Accept also DWARF version 5.
16332         (read_and_check_comp_unit_head): Change parameter
16333         is_debug_types_section to section_kind.
16334         (read_and_check_type_unit_head): Delete function.
16335         (read_abbrev_offset): Handle DWARF-5.
16336         (create_debug_type_hash_table): Add parameter section_kind.  Process
16337         only DW_UT_type.  Use signature and type_offset_in_tu from struct
16338         comp_unit_head.
16339         (create_debug_types_hash_table): Update create_debug_type_hash_table
16340         caller.
16341         (create_all_type_units): Call create_debug_type_hash_table.
16342         (read_cutu_die_from_dwo, init_cutu_and_read_dies): Change
16343         read_and_check_type_unit_head caller to read_and_check_comp_unit_head
16344         caller.
16345         (skip_one_die): Handle DW_FORM_implicit_const.
16346         (dwarf2_rnglists_process): New function.
16347         (dwarf2_ranges_process): Call dwarf2_rnglists_process for DWARF-5.
16348         (abbrev_table_read_table): Handle DW_FORM_implicit_const.
16349         (read_attribute_value): Handle DW_FORM_implicit_const,
16350         DW_FORM_line_strp.
16351         (read_attribute): Handle DW_FORM_implicit_const.
16352         (read_indirect_string_at_offset_from): New function from
16353         read_indirect_string_at_offset.
16354         (read_indirect_string_at_offset): Call
16355         read_indirect_string_at_offset_from.
16356         (read_indirect_line_string_at_offset): New function.
16357         (read_indirect_string): New function comment.
16358         (read_indirect_line_string): New function.
16359         (read_unsigned_leb128): Make it global.
16360         (dwarf2_string_attr): Handle DWARF-5.
16361         (add_include_dir_stub, read_formatted_entries): New functions.
16362         (dwarf_decode_line_header, dump_die_shallow, cu_debug_loc_section):
16363         Handle DWARF-5.
16364         (per_cu_header_read_in): Update read_comp_unit_head caller.
16365         (dwarf2_version): New function.
16366         * symfile.h (struct dwarf2_debug_sections): Add loclists, line_str and
16367         rnglists.
16368         * xcoffread.c (dwarf2_xcoff_names): Update struct dwarf2_debug_sections
16369         fields.
16370
16371 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16372
16373         * dwarf2read.c (abbrev_table_read_table): Read the data only once.
16374
16375 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16376
16377         * dwarf2read.c (dwarf2_ranges_process): New function from
16378         dwarf2_ranges_read.
16379         (dwarf2_ranges_read, dwarf2_record_block_ranges): Use
16380         dwarf2_ranges_process.
16381
16382 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16383
16384         * dwarf2read.c (create_debug_type_hash_table): New function from
16385         create_debug_types_hash_table.
16386         (create_debug_types_hash_table): Call create_debug_type_hash_table.
16387         (create_all_type_units, open_and_init_dwo_file): Update
16388         create_debug_types_hash_table callers.
16389
16390 2017-02-20  Sergio Durigan Junior  <sergiodj@redhat.com>
16391
16392         PR gdb/16188
16393         * fork-child.c (trace_start_error): Fix thinko.  va_end should
16394         refer to 'ap', not 'args'.
16395
16396 2017-02-20  Sergio Durigan Junior  <sergiodj@redhat.com>
16397             Pedro Alves  <palves@redhat.com>
16398
16399         PR gdb/16188
16400         * darwin-nat.c (darwin_ptrace_me): Check if calls to system
16401         calls succeeded.
16402         * fork-child.c (trace_start_error): New function.
16403         (trace_start_error_with_name): Likewise.
16404         * gnu-nat.c (gnu_ptrace_me): Check if call to PTRACE succeeded.
16405         * inf-ptrace.c (inf_ptrace_me): Likewise.
16406         * inferior.h (trace_start_error): New prototype.
16407         (trace_start_error_with_name): Likewise.
16408
16409 2017-02-15  Sergio Durigan Junior  <sergiodj@redhat.com>
16410
16411         PR gdb/21164
16412         * psymtab.c (maintenance_print_psymbols): Verify if 'argv' is not
16413         NULL before using it.
16414         * symmisc.c (maintenance_print_symbols): Likewise.
16415         (maintenance_print_msymbols): Likewise.
16416
16417 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16418
16419         * NEWS: Add record Python bindings entry.
16420
16421 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16422
16423         * Makefile.in (SUBDIR_PYTHON_OBS): Add py-record-btrace.o,
16424         py-record-full.o.
16425         (SUBDIR_PYTHON_SRCS): Add py-record-btrace.c, py-record-full.c.
16426         * python/py-record-btrace.c, python/py-record-btrace.h,
16427         python/py-record-full.c, python/py-record-full.h: New file.
16428         * python/py-record.c: Add include for py-record-btrace.h and
16429         py-record-full.h.
16430         (recpy_method, recpy_format, recpy_goto, recpy_replay_position,
16431         recpy_instruction_history, recpy_function_call_history, recpy_begin,
16432         recpy_end): Use functions from py-record-btrace.c and py-record-full.c.
16433         * python/python-internal.h (PyInt_FromSsize_t, PyInt_AsSsize_t):
16434         New definition.
16435         (gdbpy_initialize_btrace): New export.
16436         * python/python.c (_initialize_python): Add gdbpy_initialize_btrace.
16437
16438 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16439
16440         * Makefile.in (SUBDIR_PYTHON_OBS): Add python/py-record.o.
16441         (SUBDIR_PYTHON_SRCS): Add python/py-record.c.
16442         * python/py-record.c: New file.
16443         * python/python-internal.h (gdbpy_start_recording,
16444         gdbpy_current_recording, gdpy_stop_recording,
16445         gdbpy_initialize_record): New export.
16446         * python/python.c (_initialize_python): Add gdbpy_initialize_record.
16447         (python_GdbMethods): Add gdbpy_start_recording,
16448         gdbpy_current_recording and gdbpy_stop_recording.
16449
16450 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16451
16452         * record-btrace.c (record_btrace_record_method): New function.
16453         (init_record_btrace_ops): Initialize to_record_method.
16454         * record-full.c (record_full_record_method): New function.
16455         (init_record_full_ops, init_record_full_core_ops): Add
16456         record_full_record_method.
16457         * record.h (enum record_method): New enum.
16458         * target-debug.h (target_debug_print_enum_record_method: New define.
16459         * target-delegates.c: Regenerate.
16460         * target.c (target_record_method): New function.
16461         * target.h: Include record.h.
16462         (struct target_ops) <to_record_method>: New field.
16463         (target_record_method): New export.
16464
16465 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16466
16467         * record.h (record_start, record_stop): New export.
16468         * record.c (record_start, record_stop): New function.
16469
16470 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16471
16472         * btrace.c (btrace_fetch): Copy function call segments pointer
16473         into a vector.
16474         (btrace_clear): Clear the vector.
16475         (btrace_find_insn_by_number): Use binary search to find the correct
16476         function call segment.
16477         * btrace.h (brace_fun_p): New typedef.
16478         (struct btrace_thread_info) <functions>: New field.
16479
16480 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16481
16482         * record-btrace.c (btrace_ui_out_decode_error): Move most of it ...
16483         * btrace.c (btrace_decode_error): ... here.  New function.
16484         * btrace.h (btrace_decode_error): New export.
16485
16486 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16487
16488         * btrace.c (ftrace_call_num_insn, btrace_insn_get_error): New function.
16489         (ftrace_new_function, btrace_insn_number, btrace_insn_cmp,
16490         btrace_find_insn_by_number): Remove special case for gaps.
16491         * btrace.h (btrace_insn_get_error): New export.
16492         (btrace_insn_number, btrace_find_insn_by_number): Adjust comment.
16493         * record-btrace.c (btrace_insn_history): Print number for gaps.
16494         (record_btrace_info, record_btrace_goto): Handle gaps.
16495
16496 2017-02-14  Tom Tromey  <tom@tromey.com>
16497
16498         PR python/13598:
16499         * python/python.c (gdbpy_before_prompt_hook): Emit before_prompt
16500         event.
16501         * python/py-evts.c (gdbpy_initialize_py_events): Add
16502         before_prompt registry.
16503         * python/py-events.h (events_object) <before_prompt>: New field.
16504
16505 2017-02-14  Markus Metzger  <markus.t.metzger@intel.com>
16506
16507         * btrace.c (ftrace_new_switch): Preserve up link and flags.
16508
16509 2017-02-13  Luis Machado  <lgustavo@codesourcery.com>
16510
16511         * symfile (_initialize_symfile): Add usage text to the load command's
16512         help text.
16513
16514 2017-02-10  Simon Marchi  <simon.marchi@ericsson.com>
16515
16516         * utils.c (defaulted_query): Don't query on secondary UIs.
16517
16518 2017-02-10  Tom Tromey  <tom@tromey.com>
16519
16520         * rust-lang.c (rust_get_disr_info): Remove unused variable.
16521
16522 2017-02-10  Tom Tromey  <tom@tromey.com>
16523
16524         * python/py-value.c (valpy_richcompare_throw): Remove unnecessary
16525         "cleanup" local.
16526         * python/py-type.c (typy_legacy_template_argument): Remove
16527         unnecessary "cleanup" local.
16528
16529 2017-02-10  Tom Tromey  <tom@tromey.com>
16530
16531         * python/python.c (do_start_initialization): New function, from
16532         _initialize_python.
16533         (_initialize_python): Call do_start_initialization.
16534         * python/py-linetable.c (ltpy_iternext): Use explicit returns, not
16535         goto.
16536
16537 2017-02-10  Tom Tromey  <tom@tromey.com>
16538
16539         * python/py-prettyprint.c (pretty_print_one_value): Use
16540         gdbpy_ref.
16541
16542 2017-02-10  Tom Tromey  <tom@tromey.com>
16543
16544         * python/py-cmd.c (cmdpy_destroyer): Use gdbpy_ref.
16545         * python/py-breakpoint.c (gdbpy_breakpoint_deleted): Use
16546         gdbpy_ref.
16547         * python/py-type.c (field_new): Use gdbpy_ref.
16548         * python/py-symtab.c (symtab_and_line_to_sal_object): Use
16549         gdbpy_ref.
16550         * python/py-progspace.c (pspy_new): Use gdbpy_ref.
16551         (py_free_pspace): Likewise.
16552         (pspace_to_pspace_object): Likewise.
16553         * python/py-objfile.c (objfpy_new): Use gdbpy_ref.
16554         (py_free_objfile): Likewise.
16555         (objfile_to_objfile_object): Likewise.
16556         * python/py-inferior.c (delete_thread_object): Use
16557         gdbpy_ref.
16558         (infpy_read_memory): Likewise.
16559         (py_free_inferior): Likewise.
16560         * python/py-evtregistry.c (create_eventregistry_object): Use
16561         gdbpy_ref.
16562         * python/py-event.c (create_event_object): Use gdbpy_ref.
16563
16564 2017-02-10  Tom Tromey  <tom@tromey.com>
16565
16566         * python/py-ref.h (gdbpy_ref_policy): Now a template.
16567         (gdbpy_ref): Now a template; allow subclasses of PyObject to be
16568         used.
16569         * python/py-arch.c, python/py-bpevent.c, python/py-breakpoint.c,
16570         python/py-cmd.c, python/py-continueevent.c, python/py-event.c,
16571         python/py-exitedevent.c, python/py-finishbreakpoint.c,
16572         python/py-framefilter.c, python/py-function.c,
16573         python/py-inferior.c, python/py-infevents.c,
16574         python/py-linetable.c, python/py-newobjfileevent.c,
16575         python/py-param.c, python/py-prettyprint.c, python/py-ref.h,
16576         python/py-signalevent.c, python/py-stopevent.c,
16577         python/py-symbol.c, python/py-threadevent.c, python/py-type.c,
16578         python/py-unwind.c, python/py-utils.c, python/py-value.c,
16579         python/py-varobj.c, python/py-xmethods.c, python/python.c,
16580         varobj.c: Change gdbpy_ref to gdbpy_ref<>.
16581
16582 2017-02-10  Tom Tromey  <tom@tromey.com>
16583
16584         * ui-out.h (ui_out_emit_type): New class.
16585         (ui_out_emit_tuple, ui_out_emit_list): New typedefs.
16586         * python/py-framefilter.c (py_print_single_arg): Use gdb::optional
16587         and ui_out_emit_tuple.
16588         (enumerate_locals): Likewise.
16589         (py_mi_print_variables, py_print_locals, py_print_args): Use
16590         ui_out_emit_list.
16591         (py_print_frame): Use gdb::optional, ui_out_emit_tuple,
16592         ui_out_emit_list.
16593         * common/gdb_optional.h: New file.
16594
16595 2017-02-10  Martin Galvan  <martingalvan@sourceware.org>
16596
16597         * MAINTAINERS (Write After Approval): Update my e-mail address.
16598
16599 2017-02-10  Martin Galvan  <martingalvan@sourceware.org>
16600
16601         PR gdb/21122
16602         * breakpoint.c (_initialize_breakpoint): Update the help description
16603         of the 'commands' command to indicate that it takes a list argument.
16604
16605 2017-02-09  Simon Marchi  <simon.marchi@ericsson.com>
16606
16607         * interps.c (current_interp_set_logging): Remove "return".
16608
16609 2017-02-09  Gary Benson  <gbenson@redhat.com>
16610
16611         * symtab.c (add_symtab_completions): Prevent NULL pointer
16612         dereference.
16613
16614 2017-02-08  Pedro Alves  <palves@redhat.com>
16615
16616         * interps.c (interp::interp): Remove reference to quiet_p.
16617         (interp_set): Make static.  Remove dead "Switching to" output
16618         code.
16619         (interp_quiet_p, interp_set_quiet): Delete.
16620         (interpreter_exec_cmd): Don't set the interpreter quiet.
16621         * interps.h (interp_quiet_p): Make static.
16622         (class interp) <quiet_p>: Remove field
16623
16624 2017-02-08  Jerome Guitton  <guitton@adacore.com>
16625
16626         * cli/cli-decode.c (find_command_name_length): Make it extern.
16627         * cli/cli-decode.h (find_command_name_length): Declare.
16628         * cli/cli-script.c (command_name_equals, line_first_arg):
16629         New functions.
16630         (process_next_line): Use cli-decode to parse command names.
16631         (build_command_line): Make args a constant pointer.
16632
16633 2017-02-08  Jerome Guitton  <guitton@adacore.com>
16634
16635         * cli-decode.c (lookup_cmd_1, lookup_cmd_composition):
16636         Remove case-insensitive search.
16637
16638 2017-02-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
16639
16640         * sparc-tdep.c (sparc32_gdbarch_init): Do not place a + operator
16641         at the end of the line.  Avoids an ARI warning.
16642
16643 2017-02-06  Luis Machado  <lgustavo@codesourcery.com>
16644
16645         * NEWS: Mention support for record/replay of Intel 64 rdrand and
16646         rdseed instructions.
16647         i386-tdep.c (i386_process_record): Handle Intel 64 rdrand and rseed.
16648
16649 2017-02-06  Ivo Raisr  <ivo.raisr@oracle.com>
16650
16651         PR tdep/20936
16652         Provide and use sparc32 and sparc64 target description XML files.
16653         * features/sparc/sparc32-cp0.xml, features/sparc/sparc32-cpu.xml,
16654         features/sparc/sparc32-fpu.xml: New files for sparc 32-bit.
16655         * features/sparc/sparc64-cp0.xml, features/sparc/sparc64-cpu.xml,
16656         features/sparc/sparc64-fpu.xml: New files for sparc 64-bit.
16657         * features/sparc/sparc32-solaris.xml: New file.
16658         * features/sparc/sparc64-solaris.xml: New file.
16659         * features/sparc/sparc32-solaris.c: Generated.
16660         * features/sparc/sparc64-solaris.c: Generated.
16661         * sparc-tdep.h: Account for differences in target descriptions.
16662         * sparc-tdep.c (sparc32_register_name): Use target provided registers.
16663         (sparc32_register_type): Use target provided registers.
16664         (validate_tdesc_registers): New function.
16665         (sparc32_gdbarch_init): Use tdesc_has_registers.
16666         Set pseudoregister functions.
16667         * sparc64-tdep.c (sparc64_register_name): Use target provided registers.
16668         (sparc64_register_type): Use target provided registers.
16669         (sparc64_init_abi): Set pseudoregister functions.
16670
16671 2017-02-03  Tom Tromey  <tom@tromey.com>
16672
16673         PR rust/21097:
16674         * rust-lang.c (rust_print_type) <TYPE_CODE_UNION>: Handle enums
16675         with a single member.
16676
16677 2017-02-03  Pedro Alves  <palves@redhat.com>
16678
16679         * cli/cli-interp.c (cli_interp_base::cli_interp_base)
16680         (cli_interp_base::~cli_interp_base): New.
16681         (cli_interp): New struct.
16682         (as_cli_interp): Cast the interp itself to cli_interp.
16683         (cli_interpreter_pre_command_loop): Rename to ...
16684         (cli_interp_base::pre_command_loop): ... this.  Remove 'self'
16685         parameter.
16686         (cli_interpreter_init): Rename to ...
16687         (cli_interp::init): ... this.  Remove 'self' parameter.  Use
16688         boolean.  Make extern.
16689         (cli_interpreter_resume): Rename to ...
16690         (cli_interp::resume): ... this.  Remove 'data' parameter.  Make
16691         extern.
16692         (cli_interpreter_suspend): Rename to ...
16693         (cli_interp::suspend): ... this.  Remove 'data' parameter.  Make
16694         extern.
16695         (cli_interpreter_exec): Rename to ...
16696         (cli_interp::exec): ... this.  Remove 'data' parameter.  Make
16697         extern.
16698         (cli_interpreter_supports_command_editing): Rename to ...
16699         (cli_interp_base::supports_command_editing): ... this.  Remove
16700         'interp' parameter.  Make extern.
16701         (cli_ui_out): Rename to ...
16702         (cli_interp::interp_ui_out): ... this.  Remove 'interp' parameter.
16703         Make extern.
16704         (cli_set_logging): Rename to ...
16705         (cli_interp_base::set_logging): ... this.  Remove 'interp'
16706         parameter.  Make extern.
16707         (cli_interp_procs): Delete.
16708         (cli_interp_factory): Adjust to use "new".
16709         * cli/cli-interp.h: Include "interps.h".
16710         (struct cli_interp_base): New struct.
16711         * interps.c (struct interp): Delete.  Fields moved to interps.h.
16712         (interp_new): Delete.
16713         (interp::interp, interp::~interp): New.
16714         (interp_set): Use bool, and return void.  Assume the interpreter
16715         has suspend, init and resume methods, and that the all return
16716         void.
16717         (set_top_level_interpreter): interp_set returns void.
16718         (interp_ui_out): Adapt.
16719         (current_interp_set_logging): Adapt.
16720         (interp_data): Delete.
16721         (interp_pre_command_loop, interp_supports_command_editing): Adapt.
16722         (interp_exec): Adapt.
16723         (top_level_interpreter_data): Delete.
16724         * interps.h (interp_init_ftype, interp_resume_ftype)
16725         (interp_suspend_ftype, interp_exec_ftype)
16726         (interp_pre_command_loop_ftype, interp_ui_out_ftype): Delete.
16727         (class interp): New.
16728         (interp_new): Delete.
16729         (interp_set): Now returns void.  Use bool.
16730         (interp_data, top_level_interpreter_data): Delete.
16731         * mi/mi-common.h: Include interps.h.
16732         (class mi_interp): Inherit from interp.  Define a ctor.  Declare
16733         init, resume, suspect, exec, interp_ui_out, set_logging and
16734         pre_command_loop methods.
16735         * mi/mi-interp.c (as_mi_interp): Cast the interp itself.
16736         (mi_interpreter_init): Rename to ...
16737         (mi_interp::init): ... this.  Remove the 'interp' parameter, use
16738         bool, return void and make extern.  Adjust.
16739         (mi_interpreter_resume): ... Rename to ...
16740         (mi_interp::resume): ... this.  Remove the 'data' parameter,
16741         return void and make extern.  Adjust.
16742         (mi_interpreter_suspend): ... Rename to ...
16743         (mi_interp::suspend): ... this.  Remove the 'data' parameter,
16744         return void and make extern.  Adjust.
16745         (mi_interpreter_exec): ... Rename to ...
16746         (mi_interp::exec): ... this.  Remove the 'data' parameter and make
16747         extern.  Adjust.
16748         (mi_interpreter_pre_command_loop): ... Rename to ...
16749         (mi_interp::pre_command_loop): ... this.  Remove the 'self'
16750         parameter and make extern.
16751         (mi_on_normal_stop_1): Adjust.
16752         (mi_ui_out): Rename to ...
16753         (mi_interp::interp_ui_out): ... this.  Remove the 'interp'
16754         parameter and make extern.  Adjust.
16755         (mi_set_logging): Rename to ...
16756         (mi_interp::set_logging): ... this.  Remove the 'interp'
16757         parameter and make extern.  Adjust.
16758         (mi_interp_procs): Delete.
16759         (mi_interp_factory): Adjust to use 'new'.
16760         * mi/mi-main.c (mi_cmd_gdb_exit, captured_mi_execute_command)
16761         (mi_print_exception, mi_execute_command, mi_load_progress):
16762         Adjust.
16763         * tui/tui-interp.c (tui_interp): New class.
16764         (as_tui_interp): Return a tui_interp pointer.
16765         (tui_on_normal_stop, tui_on_signal_received)
16766         (tui_on_end_stepping_range, tui_on_signal_exited, tui_on_exited)
16767         (tui_on_no_history, tui_on_user_selected_context_changed): Adjust
16768         to use interp::interp_ui_out.
16769         (tui_init): Rename to ...
16770         (tui_interp::init): ... this.  Remove the 'self' parameter, use
16771         bool, return void and make extern.  Adjust.
16772         (tui_resume): Rename to ...
16773         (tui_interp::resume): ... this.  Remove the 'data' parameter,
16774         return void and make extern.  Adjust.
16775         (tui_suspend): Rename to ...
16776         (tui_interp::suspend): ... this.  Remove the 'data' parameter,
16777         return void and make extern.  Adjust.
16778         (tui_ui_out): Rename to ...
16779         (tui_interp::interp_ui_out): ... this.  Remove the 'self'
16780         parameter, and make extern.  Adjust.
16781         (tui_exec): Rename to ...
16782         (tui_interp::exec): ... this.  Remove the 'data' parameter and
16783         make extern.
16784         (tui_interp_procs): Delete.
16785         (tui_interp_factory): Use "new".
16786
16787 2017-02-02  Tom Tromey  <tom@tromey.com>
16788
16789         * rust-exp.y (ends_raw_string, space_then_number)
16790         (rust_identifier_start_p): Return bool.
16791         * rust-lang.c (rust_tuple_type_p, rust_underscore_fields)
16792         (rust_tuple_struct_type_p, rust_tuple_variant_type_p)
16793         (rust_slice_type_p, rust_range_type_p, rust_u8_type_p)
16794         (rust_chartype_p): Return bool.
16795         (val_print_struct, rust_print_struct_def, rust_print_type):
16796         Update.
16797         * rust-lang.h (rust_tuple_type_p, rust_tuple_struct_type_p):
16798         Return bool.
16799
16800 2017-02-02  Tom Tromey  <tom@tromey.com>
16801
16802         * rust-lang.c: Reindent.
16803
16804 2017-02-02  Tom Tromey  <tom@tromey.com>
16805
16806         * rust-lang.h (rust_crate_for_block): Update.
16807         * rust-lang.c (rust_crate_for_block): Return std::string.
16808         (rust_get_disr_info): Use std:;string, not
16809         gdb::unique_xmalloc_ptr.
16810         * rust-exp.y (crate_name): Update.
16811
16812 2017-02-02  Pedro Alves  <palves@redhat.com>
16813
16814         * disasm-selftests.c (print_one_insn_test): Move the "verbose"
16815         field out of gdb_disassembler_test and make it static.
16816
16817 2017-02-02  Pedro Alves  <palves@redhat.com>
16818
16819         * mi/mi-common.h (struct mi_interp): Delete the mi2_interp,
16820         mi1_interp and mi_interp fields.
16821
16822 2017-02-02  Pedro Alves  <palves@redhat.com>
16823
16824         * cli/cli-interp.c (struct saved_output_files, saved_output):
16825         Moved from cli/cli-logging.c.
16826         (cli_set_logging): New function.
16827         (cli_interp_procs): Install cli_set_logging.
16828         * cli/cli-interp.h (make_logging_output, cli_set_logging):
16829         Declare.
16830         * cli/cli-logging.c (struct saved_output_files, saved_output):
16831         Moved to cli/cli-interp.c.
16832         (pop_output_files): Don't save outputs here.
16833         (make_logging_output): New function.
16834         (handle_redirections): Don't build tee nor save previous outputs
16835         here.
16836         * interps.c (current_interp_set_logging): Change prototype.
16837         Assume there's always a set_logging_proc method installed.
16838         * interps.h (interp_set_logging_ftype): Change prototype.
16839         (current_interp_set_logging): Change prototype and adjust comment.
16840         * mi/mi-interp.c (mi_set_logging): Change protototype.  Adjust to
16841         use make_logging_output.
16842         * tui/tui-interp.c (tui_interp_procs): Install cli_set_logging.
16843 2017-02-02  Pedro Alves  <palves@redhat.com>
16844
16845         * cli/cli-logging.c (maybe_warn_already_logging): New factored out
16846         from ...
16847         (set_logging_overwrite): ... here.
16848         (logging_no_redirect_file): Delete.
16849         (set_logging_redirect): Don't handle redirection on the fly.
16850         Instead warn that "logging off" / "logging on" is necessary.
16851         (pop_output_files): Delete references to logging_no_redirect_file.
16852         (show_logging_command): Always speak in terms of what will happen
16853         once logging is reenabled.
16854
16855 2017-02-02  Pedro Alves  <palves@redhat.com>
16856
16857         * disasm.h (gdb_pretty_print_disassembler): Tweak intro comment.
16858
16859 2017-02-02  Pedro Alves  <palves@redhat.com>
16860
16861         * disasm.c (gdb_pretty_print_insn): Rename to ...
16862         (gdb_pretty_print_disassembler::pretty_print_insn): ... this.
16863         Remove gdbarch parameter.  Adapt to clear the object's buffers
16864         instead of allocating new buffers, and to print using the object's
16865         gdb_disassembler instead of calling gdb_print_insn.
16866         (dump_insns): Use gdb_pretty_print_disassembler.
16867         * disasm.h (gdb_pretty_print_insn): Delete declaration.
16868         (gdb_pretty_print_disassembler): New class.
16869         * record-btrace.c (btrace_insn_history): Use
16870         gdb_pretty_print_disassembler.
16871
16872 2017-02-02  Pedro Alves  <palves@redhat.com>
16873
16874         * ada-lang.c (type_as_string): Use string_file.
16875         * ada-valprint.c (ada_print_floating): Use string_file.
16876         * ada-varobj.c (ada_varobj_scalar_image)
16877         (ada_varobj_get_value_image): Use string_file.
16878         * aix-thread.c (aix_thread_extra_thread_info): Use string_file.
16879         * arm-tdep.c (_initialize_arm_tdep): Use string_printf.
16880         * breakpoint.c (update_inserted_breakpoint_locations)
16881         (insert_breakpoint_locations, reattach_breakpoints)
16882         (print_breakpoint_location, print_one_detail_ranged_breakpoint)
16883         (print_it_watchpoint): Use string_file.
16884         (save_breakpoints): Use stdio_file.
16885         * c-exp.y (oper): Use string_file.
16886         * cli/cli-logging.c (set_logging_redirect): Use ui_file_up and
16887         tee_file.
16888         (pop_output_files): Use delete.
16889         (handle_redirections): Use stdio_file and tee_file.
16890         * cli/cli-setshow.c (do_show_command): Use string_file.
16891         * compile/compile-c-support.c (c_compute_program): Use
16892         string_file.
16893         * compile/compile-c-symbols.c (generate_vla_size): Take a
16894         'string_file &' instead of a 'ui_file *'.
16895         (generate_c_for_for_one_variable): Take a 'string_file &' instead
16896         of a 'ui_file *'.  Use string_file.
16897         (generate_c_for_variable_locations): Take a 'string_file &'
16898         instead of a 'ui_file *'.
16899         * compile/compile-internal.h (generate_c_for_for_one_variable):
16900         Take a 'string_file &' instead of a 'ui_file *'.
16901         * compile/compile-loc2c.c (push, pushf, unary, binary)
16902         (print_label, pushf_register_address, pushf_register)
16903         (do_compile_dwarf_expr_to_c): Take a 'string_file &' instead of a
16904         'ui_file *'.  Adjust.
16905         * compile/compile.c (compile_to_object): Use string_file.
16906         * compile/compile.h (compile_dwarf_expr_to_c)
16907         (compile_dwarf_bounds_to_c): Take a 'string_file &' instead of a
16908         'ui_file *'.
16909         * cp-support.c (inspect_type): Use string_file and obstack_copy0.
16910         (replace_typedefs_qualified_name): Use string_file and
16911         obstack_copy0.
16912         * disasm.c (gdb_pretty_print_insn): Use string_file.
16913         (gdb_disassembly): Adjust reference the null_stream global.
16914         (do_ui_file_delete): Delete.
16915         (gdb_insn_length): Use null_stream.
16916         * dummy-frame.c (maintenance_print_dummy_frames): Use stdio_file.
16917         * dwarf2loc.c (dwarf2_compile_property_to_c)
16918         (locexpr_generate_c_location, loclist_generate_c_location): Take a
16919         'string_file &' instead of a 'ui_file *'.
16920         * dwarf2loc.h (dwarf2_compile_property_to_c): Likewise.
16921         * dwarf2read.c (do_ui_file_peek_last): Delete.
16922         (dwarf2_compute_name): Use string_file.
16923         * event-top.c (gdb_setup_readline): Use stdio_file.
16924         * gdbarch.sh (verify_gdbarch): Use string_file.
16925         * gdbtypes.c (safe_parse_type): Use null_stream.
16926         * guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Use
16927         string_file.
16928         * guile/scm-disasm.c (gdbscm_print_insn_from_port): Take a
16929         'string_file *' instead of a 'ui_file *'.
16930         (gdbscm_arch_disassemble): Use string_file.
16931         * guile/scm-frame.c (frscm_print_frame_smob): Use string_file.
16932         * guile/scm-ports.c (class ioscm_file_port): Now a class that
16933         inherits from ui_file.
16934         (ioscm_file_port_delete, ioscm_file_port_rewind)
16935         (ioscm_file_port_put): Delete.
16936         (ioscm_file_port_write): Rename to ...
16937         (ioscm_file_port::write): ... this.  Remove file_port_magic
16938         checks.
16939         (ioscm_file_port_new): Delete.
16940         (ioscm_with_output_to_port_worker): Use ioscm_file_port and
16941         ui_file_up.
16942         * guile/scm-type.c (tyscm_type_name): Use string_file.
16943         * guile/scm-value.c (vlscm_print_value_smob, gdbscm_value_print):
16944         Use string_file.
16945         * infcmd.c (print_return_value_1): Use string_file.
16946         * infrun.c (print_target_wait_results): Use string_file.
16947         * language.c (add_language): Use string_file.
16948         * location.c (explicit_to_string_internal): Use string_file.
16949         * main.c (captured_main_1): Use null_file.
16950         * maint.c (maintenance_print_architecture): Use stdio_file.
16951         * mi/mi-cmd-stack.c (list_arg_or_local): Use string_file.
16952         * mi/mi-common.h (struct mi_interp) <out, err, log, targ,
16953         event_channel>: Change type to mi_console_file pointer.
16954         * mi/mi-console.c (mi_console_file_fputs, mi_console_file_flush)
16955         (mi_console_file_delete): Delete.
16956         (struct mi_console_file): Delete.
16957         (mi_console_file_magic): Delete.
16958         (mi_console_file_new): Delete.
16959         (mi_console_file::mi_console_file): New.
16960         (mi_console_file_delete): Delete.
16961         (mi_console_file_fputs): Delete.
16962         (mi_console_file::write): New.
16963         (mi_console_raw_packet): Delete.
16964         (mi_console_file::flush): New.
16965         (mi_console_file_flush): Delete.
16966         (mi_console_set_raw): Rename to ...
16967         (mi_console_file::set_raw): ... this.
16968         * mi/mi-console.h (class mi_console_file): New class.
16969         (mi_console_file_new, mi_console_set_raw): Delete.
16970         * mi/mi-interp.c (mi_interpreter_init): Use mi_console_file.
16971         (mi_set_logging): Use delete and tee_file.  Adjust.
16972         * mi/mi-main.c (output_register): Use string_file.
16973         (mi_cmd_data_evaluate_expression): Use string_file.
16974         (mi_cmd_data_read_memory): Use string_file.
16975         (mi_cmd_execute, print_variable_or_computed): Use string_file.
16976         * mi/mi-out.c (mi_ui_out::main_stream): New.
16977         (mi_ui_out::rewind): Use main_stream and
16978         string_file.
16979         (mi_ui_out::put): Use main_stream and string_file.
16980         (mi_ui_out::mi_ui_out): Remove 'stream' parameter.
16981         Allocate a 'string_file' instead.
16982         (mi_out_new): Don't allocate a mem_fileopen stream here.
16983         * mi/mi-out.h (mi_ui_out::mi_ui_out): Remove 'stream' parameter.
16984         (mi_ui_out::main_stream): Declare method.
16985         * printcmd.c (eval_command): Use string_file.
16986         * psymtab.c (maintenance_print_psymbols): Use stdio_file.
16987         * python/py-arch.c (archpy_disassemble): Use string_file.
16988         * python/py-breakpoint.c (bppy_get_commands): Use string_file.
16989         * python/py-frame.c (frapy_str): Use string_file.
16990         * python/py-framefilter.c (py_print_type, py_print_single_arg):
16991         Use string_file.
16992         * python/py-type.c (typy_str): Use string_file.
16993         * python/py-unwind.c (unwind_infopy_str): Use string_file.
16994         * python/py-value.c (valpy_str): Use string_file.
16995         * record-btrace.c (btrace_insn_history): Use string_file.
16996         * regcache.c (regcache_print): Use stdio_file.
16997         * reggroups.c (maintenance_print_reggroups): Use stdio_file.
16998         * remote.c (escape_buffer): Use string_file.
16999         * rust-lang.c (rust_get_disr_info): Use string_file.
17000         * serial.c (serial_open_ops_1): Use stdio_file.
17001         (do_serial_close): Use delete.
17002         * stack.c (print_frame_arg): Use string_file.
17003         (print_frame_args): Remove local mem_fileopen stream, not used.
17004         (print_frame): Use string_file.
17005         * symmisc.c (maintenance_print_symbols): Use stdio_file.
17006         * symtab.h (struct symbol_computed_ops) <generate_c_location>:
17007         Take a 'string_file *' instead of a 'ui_file *'.
17008         * top.c (new_ui): Use stdio_file and stderr_file.
17009         (free_ui): Use delete.
17010         (execute_command_to_string): Use string_file.
17011         (quit_confirm): Use string_file.
17012         * tracepoint.c (collection_list::append_exp): Use string_file.
17013         * tui/tui-disasm.c (tui_disassemble): Use string_file.
17014         * tui/tui-file.c: Don't include "ui-file.h".
17015         (enum streamtype, struct tui_stream): Delete.
17016         (tui_file_new, tui_file_delete, tui_fileopen, tui_sfileopen)
17017         (tui_file_isatty, tui_file_rewind, tui_file_put): Delete.
17018         (tui_file::tui_file): New method.
17019         (tui_file_fputs): Delete.
17020         (tui_file_get_strbuf): Delete.
17021         (tui_file::puts): New method.
17022         (tui_file_adjust_strbuf): Delete.
17023         (tui_file_flush): Delete.
17024         (tui_file::flush): New method.
17025         * tui/tui-file.h: Tweak intro comment.
17026         Include ui-file.h.
17027         (tui_fileopen, tui_sfileopen, tui_file_get_strbuf)
17028         (tui_file_adjust_strbuf): Delete declarations.
17029         (class tui_file): New class.
17030         * tui/tui-io.c (tui_initialize_io): Use tui_file.
17031         * tui/tui-regs.c (tui_restore_gdbout): Use delete.
17032         (tui_register_format): Use string_stream.
17033         * tui/tui-stack.c (tui_make_status_line): Use string_file.
17034         (tui_get_function_from_frame): Use string_file.
17035         * typeprint.c (type_to_string): Use string_file.
17036         * ui-file.c (struct ui_file, ui_file_magic, ui_file_new): Delete.
17037         (null_stream): New global.
17038         (ui_file_delete): Delete.
17039         (ui_file::ui_file): New.
17040         (null_file_isatty): Delete.
17041         (ui_file::~ui_file): New.
17042         (null_file_rewind): Delete.
17043         (ui_file::printf): New.
17044         (null_file_put): Delete.
17045         (null_file_flush): Delete.
17046         (ui_file::putstr): New.
17047         (null_file_write): Delete.
17048         (ui_file::putstrn): New.
17049         (null_file_read): Delete.
17050         (ui_file::putc): New.
17051         (null_file_fputs): Delete.
17052         (null_file_write_async_safe): Delete.
17053         (ui_file::vprintf): New.
17054         (null_file_delete): Delete.
17055         (null_file::write): New.
17056         (null_file_fseek): Delete.
17057         (null_file::puts): New.
17058         (ui_file_data): Delete.
17059         (null_file::write_async_safe): New.
17060         (gdb_flush, ui_file_isatty): Adjust.
17061         (ui_file_put, ui_file_rewind): Delete.
17062         (ui_file_write): Adjust.
17063         (ui_file_write_for_put): Delete.
17064         (ui_file_write_async_safe, ui_file_read): Adjust.
17065         (ui_file_fseek): Delete.
17066         (fputs_unfiltered): Adjust.
17067         (set_ui_file_flush, set_ui_file_isatty, set_ui_file_rewind)
17068         (set_ui_file_put, set_ui_file_write, set_ui_file_write_async_safe)
17069         (set_ui_file_read, set_ui_file_fputs, set_ui_file_fseek)
17070         (set_ui_file_data): Delete.
17071         (string_file::~string_file, string_file::write)
17072         (struct accumulated_ui_file, do_ui_file_xstrdup, ui_file_xstrdup)
17073         (do_ui_file_as_string, ui_file_as_string): Delete.
17074         (do_ui_file_obsavestring, ui_file_obsavestring): Delete.
17075         (struct mem_file): Delete.
17076         (mem_file_new): Delete.
17077         (stdio_file::stdio_file): New.
17078         (mem_file_delete): Delete.
17079         (stdio_file::stdio_file): New.
17080         (mem_fileopen): Delete.
17081         (stdio_file::~stdio_file): New.
17082         (mem_file_rewind): Delete.
17083         (stdio_file::set_stream): New.
17084         (mem_file_put): Delete.
17085         (stdio_file::open): New.
17086         (mem_file_write): Delete.
17087         (stdio_file_magic, struct stdio_file): Delete.
17088         (stdio_file_new, stdio_file_delete, stdio_file_flush): Delete.
17089         (stdio_file::flush): New.
17090         (stdio_file_read): Rename to ...
17091         (stdio_file::read): ... this.  Adjust.
17092         (stdio_file_write): Rename to ...
17093         (stdio_file::write): ... this.  Adjust.
17094         (stdio_file_write_async_safe): Rename to ...
17095         (stdio_file::write_async_safe) ... this.  Adjust.
17096         (stdio_file_fputs): Rename to ...
17097         (stdio_file::puts) ... this.  Adjust.
17098         (stdio_file_isatty): Delete.
17099         (stdio_file_fseek): Delete.
17100         (stdio_file::isatty): New.
17101         (stderr_file_write): Rename to ...
17102         (stderr_file::write) ... this.  Adjust.
17103         (stderr_file_fputs): Rename to ...
17104         (stderr_file::puts) ... this.  Adjust.
17105         (stderr_fileopen, stdio_fileopen, gdb_fopen): Delete.
17106         (stderr_file::stderr_file): New.
17107         (tee_file_magic): Delete.
17108         (struct tee_file): Delete.
17109         (tee_file::tee_file): New.
17110         (tee_file_new): Delete.
17111         (tee_file::~tee_file): New.
17112         (tee_file_delete): Delete.
17113         (tee_file_flush): Rename to ...
17114         (tee_file::flush): ... this.  Adjust.
17115         (tee_file_write): Rename to ...
17116         (tee_file::write): ... this.  Adjust.
17117         (tee_file::write_async_safe): New.
17118         (tee_file_fputs): Rename to ...
17119         (tee_file::puts): ... this.  Adjust.
17120         (tee_file_isatty): Rename to ...
17121         (tee_file::isatty): ... this.  Adjust.
17122         * ui-file.h (struct obstack, struct ui_file): Don't
17123         forward-declare.
17124         (ui_file_new, ui_file_flush_ftype, set_ui_file_flush)
17125         (ui_file_write_ftype)
17126         (set_ui_file_write, ui_file_fputs_ftype, set_ui_file_fputs)
17127         (ui_file_write_async_safe_ftype, set_ui_file_write_async_safe)
17128         (ui_file_read_ftype, set_ui_file_read, ui_file_isatty_ftype)
17129         (set_ui_file_isatty, ui_file_rewind_ftype, set_ui_file_rewind)
17130         (ui_file_put_method_ftype, ui_file_put_ftype, set_ui_file_put)
17131         (ui_file_delete_ftype, set_ui_file_data, ui_file_fseek_ftype)
17132         (set_ui_file_fseek): Delete.
17133         (ui_file_data, ui_file_delete, ui_file_rewind)
17134         (struct ui_file): New.
17135         (ui_file_up): New.
17136         (class null_file): New.
17137         (null_stream): Declare.
17138         (ui_file_write_for_put, ui_file_put): Delete.
17139         (ui_file_xstrdup, ui_file_as_string, ui_file_obsavestring):
17140         Delete.
17141         (ui_file_fseek, mem_fileopen, stdio_fileopen, stderr_fileopen)
17142         (gdb_fopen, tee_file_new): Delete.
17143         (struct string_file): New.
17144         (struct stdio_file): New.
17145         (stdio_file_up): New.
17146         (struct stderr_file): New.
17147         (class tee_file): New.
17148         * ui-out.c (ui_out::field_stream): Take a 'string_file &' instead
17149         of a 'ui_file *'.  Adjust.
17150         * ui-out.h (class ui_out) <field_stream>: Likewise.
17151         * utils.c (do_ui_file_delete, make_cleanup_ui_file_delete)
17152         (null_stream): Delete.
17153         (error_stream): Take a 'string_file &' instead of a 'ui_file *'.
17154         Adjust.
17155         * utils.h (struct ui_file): Delete forward declaration..
17156         (make_cleanup_ui_file_delete, null_stream): Delete declarations.
17157         (error_stream): Take a 'string_file &' instead of a
17158         'ui_file *'.
17159         * varobj.c (varobj_value_get_print_value): Use string_file.
17160         * xtensa-tdep.c (xtensa_verify_config): Use string_file.
17161         * gdbarch.c: Regenerate.
17162
17163 2017-02-02  Pedro Alves  <palves@redhat.com>
17164
17165         * disasm.c (gdb_disassembler::pretty_print_insn): Rename to...
17166         (gdb_pretty_print_insn): ... this.  Now a free function.  Add back
17167         a 'gdbarch' parameter.  Allocate a mem_fileopen stream here.
17168         Adjust to call gdb_print_insn instead of
17169         gdb_disassembler::print_insn.
17170         (dump_insns, do_mixed_source_and_assembly_deprecated)
17171         (do_mixed_source_and_assembly, do_assembly_only): Add back a
17172         'gdbarch' parameter.  Remove gdb_disassembler parameter.
17173         (gdb_disassembly): Don't allocate a gdb_disassembler here.
17174         * disasm.h (gdb_disassembler::pretty_print_insn): Delete
17175         declaration.
17176         (gdb_pretty_print_insn): Re-add declaration.
17177         * record-btrace.c (btrace_insn_history): Don't allocate a
17178         gdb_disassembler here.  Adjust to call gdb_pretty_print_insn.
17179
17180 2017-02-01  Simon Marchi  <simon.marchi@polymtl.ca>
17181
17182         * disasm.h (gdb_disassembly): Remove file_string parameter.
17183         * disasm.c (gdb_disassembly): Likewise.
17184         * cli/cli-cmds.c (print_disassembly): Adapt.
17185         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Likewise.
17186         * stack.c (do_gdb_disassembly): Likewise.
17187
17188 2017-02-01  Andreas Arnez  <arnez@linux.vnet.ibm.com>
17189
17190         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): For
17191         DWARF_VALUE_LITERAL, no longer ignore the offset on big-endian
17192         targets.  And if the implicit value is longer than needed, extract
17193         the first bytes instead of the "least significant" ones.
17194
17195 2017-02-01  Markus Metzger  <markus.t.metzger@intel.com>
17196
17197         * btrace.c (btrace_enable): Do not call btrace_add_pc for
17198         BTRACE_FORMAT_PT or if can_access_registers_ptid returns false.
17199         (btrace_fetch): Assert can_access_registers_ptid.
17200         * record-btrace.c (require_btrace_thread, record_btrace_info): Call
17201         validate_registers_access.
17202
17203 2017-02-01  Markus Metzger  <markus.t.metzger@intel.com>
17204
17205         * gdbthread.h (can_access_registers_ptid): New.
17206         * thread.c (can_access_registers_ptid): New.
17207
17208 2017-02-01  Pedro Alves  <palves@redhat.com>
17209
17210         * i386-tdep.c (i386_fast_tracepoint_valid_at): Use gdb_insn_length.
17211
17212 2017-01-31  Pedro Alves  <palves@redhat.com>
17213
17214         * mi/mi-interp.c (mi_breakpoint_created, mi_breakpoint_modified):
17215         Fix typos.
17216
17217 2017-01-31  Pedro Alves  <palves@redhat.com>
17218
17219         * stack.c (print_frame_args): Remove local mem_fileopen stream,
17220         not used.
17221
17222 2017-01-31  Pedro Alves  <palves@redhat.com>
17223
17224         * varobj.c (varobj_value_get_print_value): Remove xstrdup call.
17225
17226 2017-01-31  Pedro Alves  <palves@redhat.com>
17227
17228         * common/scoped_restore.h
17229         (scoped_restore_tmpl::scoped_restore_tmpl): Template on T2, and
17230         change the value's parameter type to T2.
17231         (make_scoped_restore): Likewise.
17232
17233 2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
17234             Richard Henderson  <rth@redhat.com>
17235
17236         * amd64-linux-nat.c (PTRACE_ARCH_PRCTL): New define.
17237         (amd64_linux_fetch_inferior_registers): Add case to fetch FS_BASE
17238         GS_BASE for older kernels.
17239         (amd64_linux_store_inferior_registers): Add case to store FS_BASE
17240         GS_BASE for older kernels.
17241         * amd64-linux-tdep.c (amd64_linux_gregset_reg_offset): Add FS_BASE
17242         and GS_BASE to the offset table.
17243         (amd64_linux_register_reggroup_p): Add FS_BASE and GS_BASE to the
17244         system register group.
17245         * amd64-nat.c (amd64_native_gregset_reg_offset): Implements case
17246         for older kernels.
17247         * amd64-tdep.c (amd64_init_abi): Add segment registers for the
17248         amd64 ABI.
17249         * amd64-tdep.h (amd64_regnum): Add AMD64_FSBASE_REGNUM and
17250         AMD64_GSBASE_REGNUM.
17251         (AMD64_NUM_REGS): Set to AMD64_GSBASE_REGNUM + 1.
17252         * features/Makefile (amd64-linux.dat, amd64-avx-linux.dat)
17253         (amd64-mpx-linux.dat, amd64-avx512-linux.dat, x32-linux.dat)
17254         (x32-avx-linux.dat, x32-avx512-linux.dat): Add
17255         i386/64bit-segments.xml in those rules.
17256         * features/i386/64bit-segments.xml: New file.
17257         * features/i386/amd64-avx-mpx-linux.xml: Add 64bit-segments.xml.
17258         * features/i386/amd64-avx-linux.xml: Add 64bit-segments.xml.
17259         * features/i386/amd64-avx512-linux.xml: Add 64bit-segments.xml.
17260         * features/i386/amd64-mpx-linux.xml: Add 64bit-segments.xml.
17261         * features/i386/x32-avx512-linux.xml: Add 64bit-segments.xml.
17262         * features/i386/x32-avx-linux.xml: Add 64bit-segments.xml.
17263         * features/i386/amd64-linux.xml: Add 64bit-segments.xml.
17264         * features/i386/amd64-avx-linux.c: Regenerated.
17265         * features/i386/amd64-avx-mpx-linux.c: Regenerated.
17266         * features/i386/amd64-avx-mpx.c: Regenerated.
17267         * features/i386/amd64-avx512-linux.c: Regenerated.
17268         * features/i386/amd64-linux.c: Regenerated.
17269         * features/i386/amd64-mpx-linux.c: Regenerated.
17270         * features/i386/i386-avx-mpx-linux.c: Regenerated.
17271         * features/i386/i386-avx-mpx.c: Regenerated.
17272         * features/i386/x32-avx-linux.c: Regenerated.
17273         * features/i386/x32-avx512-linux.c: Regenerated.
17274         * regformats/i386/amd64-avx-linux.dat: Regenerated.
17275         * regformats/i386/amd64-avx-mpx-linux.dat: Regenerated.
17276         * regformats/i386/amd64-avx512-linux.dat: Regenerated.
17277         * regformats/i386/amd64-linux.dat: Regenerated.
17278         * regformats/i386/amd64-mpx-linux.dat: Regenerated.
17279         * regformats/i386/x32-avx-linux.dat: Regenerated.
17280         * regformats/i386/x32-avx512-linux.dat: Regenerated.
17281         * regformats/i386/x32-linux.dat: Regenerated.
17282
17283 2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
17284
17285         * amd64-linux-tdep.h (AMD64_LINUX_ORIG_RAX_REGNUM):
17286         Set to AMD64_NUM_REGS.
17287
17288 2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
17289
17290         * amd64-nat.c (amd64_native_gregset_reg_offset): Simplify logic
17291         that checks validity of a register number.
17292
17293 2017-01-27  Kees Cook  <keescook@google.com>
17294
17295         * gdb/arm-linux-nat.c (arm_linux_fetch_inferior_registers): Call
17296         fetch_fpregs if target has fpa registers.
17297         (arm_linux_store_inferior_registers): Call store_fpregs if target
17298         has fpa registers.
17299
17300 2017-01-26  Andreas Arnez  <arnez@linux.vnet.ibm.com>
17301
17302         * cris-tdep.c (cris_gdbarch_init): Remove check for
17303         info.byte_order and force it to BFD_ENDIAN_LITTLE.
17304
17305 2017-01-26  Antoine Tremblay  <antoine.tremblay@ericsson.com>
17306
17307         * corelow.c (get_core_register_section): Check for regset
17308         existence before checking for REGSET_VARIABLE_SIZE.
17309
17310 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17311             Pedro Alves  <palves@redhat.com>
17312
17313         PR gdb/20939
17314         * disasm.c (gdb_disassembler::dis_asm_memory_error): Don't
17315         call memory_error, save memaddr instead.
17316         (gdb_disassembler::print_insn): If gdbarch_print_insn returns
17317         negative, cal memory_error.
17318         * disasm.h (gdb_disassembler) <m_err_memaddr>: New field.
17319
17320 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17321
17322         * disasm-selftests.c (memory_error_test): New function.
17323         (_initialize_disasm_selftests): Register memory_error_test.
17324
17325 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17326
17327         * Makefile.in (SFILES): Add disasm-selftests.c and
17328         selftest-arch.c.
17329         (COMMON_OBS): Add disasm-selftests.o and selftest-arch.o.
17330         * disasm-selftests.c: New file.
17331         * selftest-arch.c: New file.
17332         * selftest-arch.h: New file.
17333
17334 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17335
17336         * mep-tdep.c (mep_gdb_print_insn): Set info->arch
17337         to bfd_arch_mep.  Don't return 0 if section is not
17338         found.  Call print_insn_mep.
17339
17340 2017-01-26  Pedro Alves  <palves@redhat.com>
17341             Yao Qi  <yao.qi@linaro.org>
17342
17343         * arm-tdep.c: Include "disasm.h".
17344         (gdb_print_insn_arm): Update code to get gdbarch.
17345         * disasm.c (dis_asm_read_memory): Change it to
17346         gdb_disassembler::dis_asm_read_memory.
17347         (dis_asm_memory_error): Likewise.
17348         (dis_asm_print_address): Likewise.
17349         (gdb_pretty_print_insn): Change it to
17350         gdb_disassembler::pretty_print_insn.
17351         (dump_insns): Add one argument gdb_disassemlber.  All
17352         callers updated.
17353         (do_mixed_source_and_assembly_deprecated): Likewise.
17354         (do_mixed_source_and_assembly): Likewise.
17355         (do_assembly_only): Likewise.
17356         (gdb_disassembler::gdb_disassembler): New.
17357         (gdb_disassembler::print_insn): New.
17358         * disasm.h (class gdb_disassembler): New.
17359         (gdb_pretty_print_insn): Remove declaration.
17360         (gdb_disassemble_info): Likewise.
17361         * guile/scm-disasm.c (class gdbscm_disassembler): New.
17362         (gdbscm_disasm_read_memory_worker): Update.
17363         (gdbscm_disasm_read_memory): Update.
17364         (gdbscm_disasm_memory_error): Remove.
17365         (gdbscm_disasm_print_address): Remove.
17366         (gdbscm_disassembler::gdbscm_disassembler): New.
17367         (gdbscm_print_insn_from_port): Update.
17368         * mips-tdep.c: Include disasm.h.
17369         (gdb_print_insn_mips): Update code to get gdbarch.
17370         * record-btrace.c (btrace_insn_history): Update.
17371         * spu-tdep.c: Include disasm.h.
17372         (struct spu_dis_asm_data): Remove.
17373         (struct spu_dis_asm_info): New.
17374         (spu_dis_asm_print_address): Use spu_dis_asm_info to get
17375         SPU id.
17376         (gdb_print_insn_spu): Cast disassemble_info to
17377         spu_dis_asm_info.
17378
17379 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17380
17381         * disasm.c (do_ui_file_delete): Delete.
17382         (gdb_insn_length): Move code creating stream to ...
17383         * utils.c (null_stream): ... here.  New function.
17384         * utils.h (null_stream): Declare.
17385
17386 2017-01-23  Simon Marchi  <simon.marchi@polymtl.ca>
17387
17388         * python/py-inferior.c (find_thread_object): Return directly
17389         from the loop.  Remove "found" variable.
17390
17391 2017-01-21  Joel Brobecker  <brobecker@adacore.com>
17392
17393         GDB 7.12.1 released.
17394
17395 2017-01-20  Simon Marchi  <simon.marchi@ericsson.com>
17396
17397         * python/py-function.c (fnpy_call): Reorder declarations to have
17398         the gdbpy_enter object declared first.
17399         * python/py-xmethods.c (gdbpy_get_xmethod_arg_types): Likewise.
17400
17401 2017-01-20  Simon Marchi  <simon.marchi@ericsson.com>
17402
17403         PR python/21068
17404         * python/python-internal.h (PyMem_RawMalloc): Define for
17405         Python < 3.4.
17406         * python/py-gdb-readline.c (gdbpy_readline_wrapper): Use
17407         PyMem_RawMalloc instead of PyMem_Malloc.
17408
17409 2017-01-20  Mike Wrighton  <mike_wrighton@codesourcery.com>
17410             Luis Machado  <lgustavo@codesourcery.com>
17411
17412         * NEWS (New commands): Mention flash-erase.
17413         (New MI commands): Mention target-flash-erase.
17414         * mi/mi-cmds.c (mi_cmd_target_flash_erase): Add target-flash-erase MI
17415         command.
17416         * mi/mi-cmds.h (mi_cmd_target_flash_erase): New declaration.
17417         * mi/mi-main.c (mi_cmd_target_flash_erase): New function.
17418         * target.c (flash_erase_command): New function.
17419         (initialize_targets): Add new flash-erase command.
17420         * target.h (flash_erase_command): New declaration.
17421
17422 2017-01-20  Joel Brobecker  <brobecker@adacore.com>
17423
17424         * nat/linux-ptrace.c: Only include <sys/procfs.h> if
17425         HAVE_SYS_PROCFS_H is defined.
17426
17427 2017-01-18  Alan Hayward  <alan.hayward@arm.com>
17428
17429         * remote.c (struct cached_reg): Change data into a pointer.
17430         * (stop_reply_dtr): Free data pointers before deleting vector.
17431         (process_stop_reply): Likewise.
17432         (remote_parse_stop_reply): Allocate space for data
17433
17434 2017-01-18  Alan Hayward  <alan.hayward@arm.com>
17435
17436         * amd64-tdep.c (amd64_pseudo_register_read_value): remove
17437         MAX_REGISTER_SIZE.
17438         (amd64_pseudo_register_read_value): Likewise.
17439         * remote.c (fetch_register_using_p): Remove MAX_REGISTER_SIZE.
17440         (store_register_using_P): Likewise.
17441         * regcache.c (regcache_xfer_part): Likewise.
17442
17443 2017-01-16  Ivo Raisr  <ivo.raisr@oracle.com>
17444
17445         Split real and pseudo registers.
17446         * sparc-tdep.h (SPARC_CORE_REGISTERS): New macro.
17447         (sparc32_pseudo_regnum): New enum.
17448         * sparc64-tdep.h (sparc64_pseudo_regnum): New enum.
17449         * sparc-tdep.c (SPARC32_FPU_REGISTERS): New macro.
17450         (SPARC32_CP0_REGISTERS): New macro.
17451         (sparc32_pseudo_register_name): New function.
17452         (sparc32_register_name): Use sparc32_pseudo_register_name.
17453         (sparc32_pseudo_register_type): New function.
17454         (sparc32_register_type): Use sparc32_pseudo_register_type.
17455         (sparc32_pseudo_register_read, sparc32_pseudo_register_write): Handle
17456         pseudo register numbers.
17457         * sparc64-tdep.c SPARC64_FPU_REGISTERS): New macro.
17458         (SPARC64_CP0_REGISTERS): New macro.
17459         (sparc64_pseudo_register_name): New function.
17460         (sparc64_register_name): Use sparc64_pseudo_register_name.
17461         (sparc64_pseudo_register_type): New function.
17462         (sparc64_register_type): Use sparc64_pseudo_register_type.
17463         (sparc64_pseudo_register_read, sparc64_pseudo_register_write): Handle
17464         pseudo register numbers.
17465         (sparc64_store_floating_fields, sparc64_extract_floating_fields,
17466         sparc64_store_arguments): Handle pseudo register numbers.
17467
17468 2017-01-13  Yao Qi  <yao.qi@linaro.org>
17469
17470         * remote.c (REMOTE_DEBUG_MAX_CHAR): New macro.
17471         (putpkt_binary): Print only REMOTE_DEBUG_MAX_CHAR chars in debug
17472         output.
17473         (getpkt_or_notif_sane_1): Likewise.
17474
17475 2017-01-13  Yao Qi  <yao.qi@linaro.org>
17476
17477         * Makefile.in (checker-headers): Use CXX and CXX_DIALET instead
17478         of CC.  Pass "-x c++-header" instead of "-x c".
17479
17480 2017-01-12  Simon Marchi  <simon.marchi@ericsson.com>
17481
17482         * remote.c (remote_can_async_p): Update comment.
17483
17484 2017-01-12  Simon Marchi  <simon.marchi@ericsson.com>
17485
17486         * linux-nat.c (linux_nat_can_async_p): Update comment.
17487
17488 2017-01-12  Simon Marchi  <simon.marchi@ericsson.com>
17489
17490         * serial.c (serial_open): Forget about "pc" and "lpt" serial interface.
17491
17492 2017-01-11  Simon Marchi  <simon.marchi@ericsson.com>
17493
17494         * cli/cli-decode.c (lookup_cmd_1): Fix typo in comment.
17495
17496 2017-01-10  Tom Tromey  <tom@tromey.com>
17497
17498         * python/py-type.c (typy_legacy_template_argument): Update.
17499         * cp-support.h (struct demangle_parse_info) (demangle_parse_info,
17500         ~demangle_parse_info): Declare new members.
17501         (cp_demangled_name_to_comp): Return unique_ptr.
17502         (cp_demangled_name_parse_free)
17503         (make_cleanup_cp_demangled_name_parse_free)
17504         (cp_new_demangle_parse_info): Remove.
17505         * cp-support.c (do_demangled_name_parse_free_cleanup)
17506         (make_cleanup_cp_demangled_name_parse_free): Remove.
17507         (inspect_type, cp_canonicalize_string_full)
17508         (cp_canonicalize_string): Update.
17509         (mangled_name_to_comp): Change return type.
17510         (cp_class_name_from_physname, method_name_from_physname)
17511         (cp_func_name, cp_remove_params): Update.
17512         * cp-name-parser.y (demangle_parse_info): New constructor, from
17513         cp_new_demangle_parse_info.
17514         (~demangle_parse_info): New destructor, from
17515         cp_demangled_name_parse_free.
17516         (cp_merge_demangle_parse_infos): Update.
17517         (cp_demangled_name_to_comp): Change return type.
17518
17519 2017-01-10  Tom Tromey  <tom@tromey.com>
17520
17521         * top.c (prevent_dont_repeat): Change return type.
17522         * python/python.c (execute_gdb_command): Use std::string.
17523         Update.
17524         * guile/guile.c (gdbscm_execute_gdb_command): Update.
17525         * command.h (prevent_dont_repeat): Change return type.
17526         * breakpoint.c (bpstat_do_actions_1): Update.
17527
17528 2017-01-10  Tom Tromey  <tom@tromey.com>
17529
17530         * value.h (scoped_value_mark::~scoped_value_mark): Call
17531         free_to_mark.
17532         (scoped_value_mark::free_to_mark): New method.
17533         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use
17534         scoped_value_mark.
17535
17536 2017-01-10  Tom Tromey  <tom@tromey.com>
17537
17538         * python/py-value.c (valpy_dereference, valpy_referenced_value)
17539         (valpy_reference_value, valpy_const_value, valpy_get_address)
17540         (valpy_get_dynamic_type, valpy_lazy_string, valpy_do_cast)
17541         (valpy_getitem, valpy_call, valpy_binop_throw, valpy_negative)
17542         (valpy_absolute, valpy_richcompare_throw): Use scoped_value_mark.
17543         * dwarf2loc.c (dwarf2_loc_desc_get_symbol_read_needs): Use
17544         scoped_value_mark.
17545         * dwarf2-frame.c (execute_stack_op): Use scoped_value_mark.
17546         * value.h (scoped_value_mark): New class.
17547
17548 2017-01-10  Tom Tromey  <tom@tromey.com>
17549
17550         * dwarf2read.c (dwarf2_build_psymtabs): Use psymtab_discarder.
17551         * psympriv.h (make_cleanup_discard_psymtabs): Don't declare.
17552         * psymtab.c (discard_psymtabs_upto): Remove.
17553         (make_cleanup_discard_psymtabs): Remove.
17554         (struct psymtab_state): Remove.
17555
17556 2017-01-10  Tom Tromey  <tom@tromey.com>
17557
17558         * record-full.c (record_full_save_cleanups): Remove.
17559         (record_full_save): Use gdb::unlinker.
17560         * gcore.c (do_bfd_delete_cleanup): Remove.
17561         (gcore_command): Use gdb::unlinker, unique_xmalloc_ptr.  Remove
17562         cleanups.
17563         * dwarf2read.c (unlink_if_set): Remove.
17564         (write_psymtabs_to_index): Use gdb::unlinker.
17565         * common/gdb_unlinker.h: New file.
17566
17567 2017-01-10  Tom Tromey  <tom@tromey.com>
17568
17569         * windows-tdep.c (windows_xfer_shared_library): Update.
17570         * windows-nat.c (windows_make_so): Update.
17571         * utils.h (make_cleanup_bfd_unref): Remove.
17572         * utils.c (do_bfd_close_cleanup, make_cleanup_bfd_unref): Remove.
17573         * symfile.h (symfile_bfd_open)
17574         (find_separate_debug_file_in_section): Return gdb_bfd_ref_ptr.
17575         * symfile.c (read_symbols, symbol_file_add)
17576         (separate_debug_file_exists): Update.
17577         (symfile_bfd_open): Return gdb_bfd_ref_ptr.
17578         (generic_load, reread_symbols): Update.
17579         * symfile-mem.c (symbol_file_add_from_memory): Update.
17580         * spu-linux-nat.c (spu_bfd_open): Return gdb_bfd_ref_ptr.
17581         (spu_symbol_file_add_from_memory): Update.
17582         * solist.h (struct target_so_ops) <bfd_open>: Return
17583         gdb_bfd_ref_ptr.
17584         (solib_bfd_fopen, solib_bfd_open): Return gdb_bfd_ref_ptr.
17585         * solib.c (solib_bfd_fopen, solib_bfd_open): Return
17586         gdb_bfd_ref_ptr.
17587         (solib_map_sections, reload_shared_libraries_1): Update.
17588         * solib-svr4.c (enable_break): Update.
17589         * solib-spu.c (spu_bfd_fopen): Return gdb_bfd_ref_ptr.
17590         * solib-frv.c (enable_break2): Update.
17591         * solib-dsbt.c (enable_break): Update.
17592         * solib-darwin.c (gdb_bfd_mach_o_fat_extract): Return
17593         gdb_bfd_ref_ptr.
17594         (darwin_solib_get_all_image_info_addr_at_init): Update.
17595         (darwin_bfd_open): Return gdb_bfd_ref_ptr.
17596         * solib-aix.c (solib_aix_bfd_open): Return gdb_bfd_ref_ptr.
17597         * record-full.c (record_full_save): Update.
17598         * python/py-objfile.c (objfpy_add_separate_debug_file): Update.
17599         * procfs.c (insert_dbx_link_bpt_in_file): Update.
17600         * minidebug.c (find_separate_debug_file_in_section): Return
17601         gdb_bfd_ref_ptr.
17602         * machoread.c (macho_add_oso_symfile): Change abfd to
17603         gdb_bfd_ref_ptr.
17604         (macho_symfile_read_all_oso): Update.
17605         (macho_check_dsym): Return gdb_bfd_ref_ptr.
17606         (macho_symfile_read): Update.
17607         * jit.c (bfd_open_from_target_memory): Return gdb_bfd_ref_ptr.
17608         (jit_bfd_try_read_symtab): Update.
17609         * gdb_bfd.h (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
17610         (gdb_bfd_openw, gdb_bfd_openr_iovec)
17611         (gdb_bfd_openr_next_archived_file, gdb_bfd_fdopenr): Return
17612         gdb_bfd_ref_ptr.
17613         (gdb_bfd_ref_policy): New struct.
17614         (gdb_bfd_ref_ptr): New typedef.
17615         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
17616         (gdb_bfd_openw, gdb_bfd_openr_iovec)
17617         (gdb_bfd_openr_next_archived_file, gdb_bfd_fdopenr): Return
17618         gdb_bfd_ref_ptr.
17619         * gcore.h (create_gcore_bfd): Return gdb_bfd_ref_ptr.
17620         * gcore.c (create_gcore_bfd): Return gdb_bfd_ref_ptr.
17621         (gcore_command): Update.
17622         * exec.c (exec_file_attach): Update.
17623         * elfread.c (elf_symfile_read): Update.
17624         * dwarf2read.c (dwarf2_get_dwz_file): Update.
17625         (try_open_dwop_file, open_dwo_file): Return gdb_bfd_ref_ptr.
17626         (open_and_init_dwo_file): Update.
17627         (open_dwp_file): Return gdb_bfd_ref_ptr.
17628         (open_and_init_dwp_file): Update.
17629         * corelow.c (core_open): Update.
17630         * compile/compile-object-load.c (compile_object_load): Update.
17631         * common/gdb_ref_ptr.h (ref_ptr::operator->): New operator.
17632         * coffread.c (coff_symfile_read): Update.
17633         * cli/cli-dump.c (bfd_openr_or_error, bfd_openw_or_error): Return
17634         gdb_bfd_ref_ptr.  Rename.
17635         (dump_bfd_file, restore_command): Update.
17636         * build-id.h (build_id_to_debug_bfd): Return gdb_bfd_ref_ptr.
17637         * build-id.c (build_id_to_debug_bfd): Return gdb_bfd_ref_ptr.
17638         (find_separate_debug_file_by_buildid): Update.
17639
17640 2017-01-10  Tom Tromey  <tom@tromey.com>
17641
17642         * common/gdb_ref_ptr.h: New file.
17643         * python/py-ref.h (struct gdbpy_ref_policy): New.
17644         (gdbpy_ref): Now a typedef.
17645
17646 2017-01-10  Tom Tromey  <tom@tromey.com>
17647
17648         * utils.h (make_cleanup_htab_delete): Don't declare.
17649         * utils.c (do_htab_delete_cleanup, make_cleanup_htab_delete):
17650         Remove.
17651         * linespec.c (decode_compound_collector): Add constructor,
17652         destructor.
17653         (lookup_prefix_sym): Remove cleanup.
17654         (symtab_collector): Add constructor, destructor.
17655         (collect_symtabs_from_filename): Remove cleanup.
17656         * disasm.c (do_mixed_source_and_assembly): Use htab_up.
17657         * compile/compile-c-symbols.c (generate_c_for_variable_locations):
17658         Use htab_up.
17659         * gnu-v3-abi.c (gnuv3_print_vtable): Use htab_up.
17660         * dwarf2read.c (dw2_expand_symtabs_matching)
17661         (dw2_map_symbol_filenames, dwarf_decode_macros)
17662         (write_psymtabs_to_index): Use htab_up.
17663         * dwarf2loc.c (func_verify_no_selftailcall)
17664         (call_site_find_chain_1, func_verify_no_selftailcall)
17665         (chain_candidate, call_site_find_chain_1): Use std::unordered_set,
17666         std::vector, gdb::unique_xmalloc_ptr.
17667         (call_sitep): Remove typedef.
17668         (dwarf2_locexpr_baton_eval): Remove unused variable.
17669
17670 2017-01-10  Tom Tromey  <tom@tromey.com>
17671
17672         * python/python-internal.h (make_cleanup_py_decref)
17673         (make_cleanup_py_xdecref): Don't declare.
17674         * python/py-utils.c (py_decref, make_cleanup_py_decref)
17675         (py_xdecref, make_cleanup_py_xdecref): Remove.
17676
17677 2017-01-10  Tom Tromey  <tom@tromey.com>
17678
17679         * python/py-framefilter.c (py_mi_print_variables): Use gdbpy_ref.
17680         (py_print_locals, enumerate_locals, py_print_args): Use gdbpy_ref.
17681
17682 2017-01-10  Tom Tromey  <tom@tromey.com>
17683
17684         * python/py-framefilter.c (enumerate_args): Use gdbpy_ref.
17685
17686 2017-01-10  Tom Tromey  <tom@tromey.com>
17687
17688         * python/py-utils.c (unicode_to_encoded_string)
17689         (python_string_to_target_string)
17690         (python_string_to_target_python_string)
17691         (python_string_to_host_string, gdbpy_obj_to_string)
17692         (get_addr_from_python): Use gdbpy_ref.
17693
17694 2017-01-10  Tom Tromey  <tom@tromey.com>
17695
17696         * python/py-unwind.c (pyuw_object_attribute_to_pointer): Use
17697         gdbpy_ref.
17698
17699 2017-01-10  Tom Tromey  <tom@tromey.com>
17700
17701         * python/python.c (eval_python_command, gdbpy_decode_line)
17702         (gdbpy_run_events, gdbpy_start_type_printers)
17703         (gdbpy_apply_type_printers): Use gdbpy_ref.
17704
17705 2017-01-10  Tom Tromey  <tom@tromey.com>
17706
17707         * python/py-param.c (get_doc_string, compute_enum_values): Use
17708         gdbpy_ref.
17709
17710 2017-01-10  Tom Tromey  <tom@tromey.com>
17711
17712         * python/py-inferior.c (find_thread_object, build_inferior_list):
17713         Use gdbpy_ref.
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/py-finishbreakpoint.c (bpfinishpy_out_of_scope): Use
17722         gdbpy_ref.
17723
17724 2017-01-10  Tom Tromey  <tom@tromey.com>
17725
17726         * python/py-cmd.c (cmdpy_completer_helper): Use gdbpy_ref.  Remove
17727         extra incref.
17728         (cmdpy_completer_handle_brkchars, cmdpy_completer, cmdpy_init):
17729         Use gdbpy_ref.
17730
17731 2017-01-10  Tom Tromey  <tom@tromey.com>
17732
17733         * python/py-breakpoint.c (gdbpy_breakpoint_cond_says_stop): Use
17734         gdbpy_ref.
17735
17736 2017-01-10  Tom Tromey  <tom@tromey.com>
17737
17738         * python/py-arch.c (archpy_disassemble): Use gdbpy_ref.  Don't
17739         decref results of PyArg_ParseTupleAndKeywords.
17740
17741 2017-01-10  Tom Tromey  <tom@tromey.com>
17742
17743         * python/python.c (python_run_simple_file): Use
17744         unique_xmalloc_ptr, gdbpy_ref.
17745
17746 2017-01-10  Tom Tromey  <tom@tromey.com>
17747
17748         * python/py-prettyprint.c (print_stack_unless_memory_error)
17749         (print_string_repr, print_children): Use gdbpy_ref.
17750         (dummy_python_frame): New class.
17751         (dummy_python_frame::dummy_python_frame): Rename from
17752         push_dummy_python_frame.
17753         (py_restore_tstate): Remove.
17754
17755 2017-01-10  Tom Tromey  <tom@tromey.com>
17756
17757         * python/py-framefilter.c (py_print_frame): Use gdbpy_ref.
17758
17759 2017-01-10  Tom Tromey  <tom@tromey.com>
17760
17761         * python/python.c (ensure_python_env, restore_python_env):
17762         Remove.
17763         * python/python-internal.h (ensure_python_env): Don't declare.
17764         * varobj.h (varobj_ensure_python_env): Don't declare.
17765         * varobj.c (varobj_ensure_python_env): Remove.
17766
17767 2017-01-10  Tom Tromey  <tom@tromey.com>
17768
17769         * varobj.c (varobj_value_get_print_value): Use
17770         gdbpy_enter_varobj.
17771
17772 2017-01-10  Tom Tromey  <tom@tromey.com>
17773
17774         * python/py-prettyprint.c (print_string_repr, print_children):
17775         Update.
17776         * python/py-lazy-string.c (gdbpy_extract_lazy_string): Change type
17777         of "encoding".
17778         * varobj.c (varobj_value_get_print_value): Update.
17779         * python/python-internal.h (gdbpy_extract_lazy_string): Update.
17780
17781 2017-01-10  Tom Tromey  <tom@tromey.com>
17782
17783         * varobj.c (varobj_get_display_hint)
17784         (dynamic_varobj_has_child_method, install_new_value_visualizer)
17785         (varobj_set_visualizer, free_variable): Use
17786         gdbpy_enter_varobj.
17787
17788 2017-01-10  Tom Tromey  <tom@tromey.com>
17789
17790         * python/python.c (python_command): Use gdbpy_enter, gdbpy_ref.
17791         (do_finish_initialization): New function.  Use gdbpy_ref.
17792         (gdbpy_finish_initialization): Use gdbpy_enter.  Call
17793         do_finish_initialization.
17794
17795 2017-01-10  Tom Tromey  <tom@tromey.com>
17796
17797         * python/py-param.c (get_set_value, get_show_value): Use
17798         gdbpy_enter, gdbpy_ref.
17799
17800 2017-01-10  Tom Tromey  <tom@tromey.com>
17801
17802         * python/py-function.c (fnpy_call): Use gdbpy_enter, gdbpy_ref.
17803
17804 2017-01-10  Tom Tromey  <tom@tromey.com>
17805
17806         * python/py-cmd.c (cmdpy_function): Use gdbpy_enter, gdbpy_ref.
17807
17808 2017-01-10  Tom Tromey  <tom@tromey.com>
17809
17810         * python/py-varobj.c (py_varobj_iter_dtor, py_varobj_iter_next):
17811         Use gdbpy_enter_varobj.
17812
17813 2017-01-10  Tom Tromey  <tom@tromey.com>
17814
17815         * varobj.c (gdbpy_enter_varobj): New constructor.
17816         * python/python-internal.h (gdbpy_enter_varobj): New class.
17817         * python/py-varobj.c (py_varobj_get_iterator): Use
17818         gdbpy_enter_varobj.
17819
17820 2017-01-10  Tom Tromey  <tom@tromey.com>
17821
17822         * python/py-xmethods.c (gdbpy_get_xmethod_result_type): Use
17823         gdbpy_enter, gdbpy_ref, unique_xmalloc_ptr.
17824         (gdbpy_invoke_xmethod): Use gdbpy_ref, gdbpy_enter.
17825         (gdbpy_get_xmethod_arg_types): Use gdbpy_ref,
17826         unique_xmalloc_ptr.
17827         (gdbpy_get_xmethod_arg_types): Use gdbpy_ref, gdbpy_enter.
17828
17829 2017-01-10  Tom Tromey  <tom@tromey.com>
17830
17831         * python/py-xmethods.c (invoke_match_method): Use
17832         gdbpy_ref.
17833
17834 2017-01-10  Tom Tromey  <tom@tromey.com>
17835
17836         * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers): use
17837         gdbpy_enter, gdbpy_ref.
17838
17839 2017-01-10  Tom Tromey  <tom@tromey.com>
17840
17841         * python/python.c (python_interactive_command): Use gdbpy_enter.
17842
17843 2017-01-10  Tom Tromey  <tom@tromey.com>
17844
17845         * python/python.c (gdbpy_before_prompt_hook): Use gdbpy_enter,
17846         gdbpy_ref.
17847
17848 2017-01-10  Tom Tromey  <tom@tromey.com>
17849
17850         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Use
17851         gdbpy_enter, gdbpy_ref, unique_xmalloc_ptr.
17852
17853 2017-01-10  Tom Tromey  <tom@tromey.com>
17854
17855         * utils.h (htab_deleter): New struct.
17856         (htab_up): New typedef.
17857         * python/py-framefilter.c (gdbpy_apply_frame_filter): Use
17858         gdbpy_enter, gdbpy_ref, htab_up.
17859
17860 2017-01-10  Tom Tromey  <tom@tromey.com>
17861
17862         * python/py-unwind.c (pending_frame_invalidate): Remove.
17863         (pyuw_sniffer): Use gdbpy_enter and gdbpy_ref.
17864
17865 2017-01-10  Tom Tromey  <tom@tromey.com>
17866
17867         * python/py-xmethods.c (gdbpy_free_xmethod_worker_data)
17868         (gdbpy_clone_xmethod_worker_data): Use gdbpy_enter.
17869
17870 2017-01-10  Tom Tromey  <tom@tromey.com>
17871
17872         * python/py-type.c (save_objfile_types): Use gdbpy_enter.
17873
17874 2017-01-10  Tom Tromey  <tom@tromey.com>
17875
17876         * python/python.c (gdbpy_eval_from_control_command)
17877         (gdbpy_source_script, gdbpy_run_events)
17878         (gdbpy_source_objfile_script, gdbpy_execute_objfile_script)
17879         (gdbpy_free_type_printers, gdbpy_finish_initialization): Use
17880         gdbpy_enter.
17881
17882 2017-01-10  Tom Tromey  <tom@tromey.com>
17883
17884         * python/py-progspace.c (py_free_pspace): Use gdbpy_enter.
17885
17886 2017-01-10  Tom Tromey  <tom@tromey.com>
17887
17888         * python/py-objfile.c (py_free_objfile): Use gdbpy_enter.
17889
17890 2017-01-10  Tom Tromey  <tom@tromey.com>
17891
17892         * python/py-inferior.c (python_on_normal_stop, python_on_resume)
17893         (python_on_inferior_call_pre, python_on_inferior_call_post)
17894         (python_on_memory_change, python_on_register_change)
17895         (python_inferior_exit, python_new_objfile, add_thread_object)
17896         (delete_thread_object, py_free_inferior): Use gdbpy_enter.
17897
17898 2017-01-10  Tom Tromey  <tom@tromey.com>
17899
17900         * python/py-finishbreakpoint.c (bpfinishpy_handle_stop)
17901         (bpfinishpy_handle_exit): Use gdbpy_enter.
17902
17903 2017-01-10  Tom Tromey  <tom@tromey.com>
17904
17905         * python/py-cmd.c (cmdpy_destroyer)
17906         (cmdpy_completer_handle_brkchars, cmdpy_completer): Use
17907         gdbpy_enter.
17908
17909 2017-01-10  Tom Tromey  <tom@tromey.com>
17910
17911         * python/py-breakpoint.c (gdbpy_breakpoint_cond_says_stop): Use
17912         gdbpy_enter.
17913         (gdbpy_breakpoint_has_cond): Likewise.
17914
17915 2017-01-10  Tom Tromey  <tom@tromey.com>
17916
17917         * python/python.c (gdbpy_enter): New constructor.
17918         (~gdbpy_enter): New destructor.
17919         (restore_python_env, ensure_python_env): Rewrite.
17920         * python/python-internal.h (gdbpy_enter): New class.
17921
17922 2017-01-10  Tom Tromey  <tom@tromey.com>
17923
17924         * python/py-symbol.c (gdbpy_lookup_symbol): Use gdbpy_ref.
17925
17926 2017-01-10  Tom Tromey  <tom@tromey.com>
17927
17928         * python/py-value.c (value_has_field, get_field_flag)
17929         (get_field_type, valpy_getitem, convert_value_from_python): Use
17930         gdbpy_ref.
17931
17932 2017-01-10  Tom Tromey  <tom@tromey.com>
17933
17934         * python/python.c (gdbpy_progspaces, gdbpy_objfiles): Use
17935         gdbpy_ref.
17936
17937 2017-01-10  Tom Tromey  <tom@tromey.com>
17938
17939         * python/py-prettyprint.c (search_pp_list)
17940         (find_pretty_printer_from_objfiles)
17941         (find_pretty_printer_from_progspace)
17942         (find_pretty_printer_from_gdb, find_pretty_printer)
17943         (gdbpy_get_display_hint, gdbpy_get_varobj_pretty_printer): Use
17944         gdbpy_ref.
17945
17946 2017-01-10  Tom Tromey  <tom@tromey.com>
17947
17948         * python/py-param.c (call_doc_function): Use gdbpy_ref.
17949
17950 2017-01-10  Tom Tromey  <tom@tromey.com>
17951
17952         * python/py-linetable.c (build_line_table_tuple_from_pcs)
17953         (ltpy_get_all_source_lines): Use gdbpy_ref.
17954
17955 2017-01-10  Tom Tromey  <tom@tromey.com>
17956
17957         * python/py-framefilter.c (extract_sym, extract_value)
17958         (get_py_iter_from_func, bootstrap_python_frame_filters): Use
17959         gdbpy_ref.
17960
17961 2017-01-10  Tom Tromey  <tom@tromey.com>
17962
17963         * python/py-breakpoint.c (gdbpy_breakpoints): Use gdbpy_ref.
17964
17965 2017-01-10  Tom Tromey  <tom@tromey.com>
17966
17967         * python/py-inferior.c (gdbpy_inferiors): Use gdbpy_ref.
17968
17969 2017-01-10  Tom Tromey  <tom@tromey.com>
17970
17971         * python/py-function.c (convert_values_to_python, fnpy_init): Use
17972         gdbpy_ref.
17973
17974 2017-01-10  Tom Tromey  <tom@tromey.com>
17975
17976         * python/py-cmd.c (gdbpy_string_to_argv): Use gdbpy_ref.
17977
17978 2017-01-10  Tom Tromey  <tom@tromey.com>
17979
17980         * python/py-type.c (convert_field, make_fielditem, typy_fields)
17981         (typy_range): Use gdbpy_ref.
17982
17983 2017-01-10  Tom Tromey  <tom@tromey.com>
17984
17985         * python/py-threadevent.c (create_thread_event_object): Use
17986         gdbpy_ref.
17987         * python/py-stopevent.c (create_stop_event_object): Simplify.
17988         (emit_stop_event): Use gdbpy_ref.
17989         * python/py-signalevent.c (create_signal_event_object): Use
17990         gdbpy_ref.
17991         * python/py-newobjfileevent.c (create_new_objfile_event_object)
17992         (emit_new_objfile_event, create_clear_objfiles_event_object)
17993         (emit_clear_objfiles_event): Use gdbpy_ref.
17994         * python/py-infevents.c (create_inferior_call_event_object)
17995         (create_register_changed_event_object)
17996         (create_memory_changed_event_object, emit_inferior_call_event)
17997         (emit_memory_changed_event, emit_register_changed_event): Use
17998         gdbpy_ref.
17999         * python/py-exitedevent.c (create_exited_event_object)
18000         (emit_exited_event): Use gdbpy_ref.
18001         * python/py-event.h (evpy_emit_event): Remove
18002         CPYCHECKER_STEALS_REFERENCE_TO_ARG annotation.
18003         * python/py-event.c (evpy_emit_event): Use gdbpy_ref.
18004         * python/py-continueevent.c (emit_continue_event): Use
18005         gdbpy_ref.
18006         * python/py-breakpoint.c (gdbpy_breakpoint_created)
18007         (gdbpy_breakpoint_deleted, gdbpy_breakpoint_modified): Use
18008         gdbpy_ref.
18009         * python/py-bpevent.c (create_breakpoint_event_object): Use
18010         gdbpy_ref.
18011
18012 2017-01-10  Tom Tromey  <tom@tromey.com>
18013
18014         * python/py-ref.h: New file.
18015
18016 2017-01-10  Simon Marchi  <simon.marchi@ericsson.com>
18017
18018         * cli-out.c (cli_ui_out::do_redirect): Change return type to
18019         void.
18020         * cli-out.h (cli_ui_out::do_redirect): Likewise.
18021         * mi/mi-out.c (mi_ui_out::do_redirect): Likewise.
18022         * mi/mi-out.h (mi_ui_out::do_redirect): Likewise.
18023         * ui-out.c (ui_out::redirect): Likewise.
18024         * ui-out.h (ui_out::redirect, ui_out::do_redirect): Likewise.
18025         * cli/cli-logging.c (set_logging_redirect): Update call site of
18026         ui_out::redirect.
18027         (handle_redirections): Likewise.
18028         * scm-ports.c (ioscm_with_output_to_port_worker): Likewise.
18029         * top.c (execute_command_to_string): Likewise.
18030         * utils.c (do_ui_out_redirect_pop): Likewise.
18031
18032 2017-01-10  Simon Marchi  <simon.marchi@ericsson.com>
18033
18034         * stack.c (_initialize_stack): Update "frame" command help message.
18035
18036 2017-01-08  Iain Buclaw  <ibuclaw@gdcproject.org>
18037
18038         * d-exp.y (CastExpression): Emit UNOP_CAST_TYPE.
18039
18040 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18041
18042         * x86-linux-nat.h: Include gdb_proc_service.h.
18043
18044 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18045
18046         * ser-base.h: Include serial.h.
18047
18048 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18049
18050         * ppc-linux-tdep.h: Include ppc-tdep.h.
18051
18052 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18053
18054         * nat/amd64-linux-siginfo.h: Include signal.h.
18055
18056 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18057
18058         * nat/aarch64-linux-hw-point.h: Include break-common.h.
18059
18060 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18061
18062         * mi/mi-parse.h: Include mi-cmds.h.
18063
18064 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18065
18066         * inf-loop.c: Don't include "target.h".
18067         * inf-loop.h: Include it here.
18068
18069 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18070
18071         * dfp.h: Include "dboulest.h" and "expression.h".
18072
18073 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18074
18075         * ax-gdb.h: Include "ax.h".
18076
18077 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18078
18079         * Makefile.in (HFILES_NO_SRCDIR): Replace gdb_ptrace.h
18080         with nat/gdb_ptrace.h.
18081
18082 2017-01-05  Yao Qi  <yao.qi@linaro.org>
18083
18084         * mips-fbsd-tdep.c (mips_fbsd_sigframe_init): Move && to
18085         new line.
18086         (mips64_fbsd_sigframe_init): Likewise.
18087
18088 2017-01-04  John Baldwin  <jhb@FreeBSD.org>
18089
18090         * mips-fbsd-tdep.c (_initialize_mips_fbsd_tdep): Use
18091         GDB_OSABI_FREEBSD instead of GDB_OSABI_FREEBSD_ELF.
18092
18093 2017-01-04  John Baldwin  <jhb@FreeBSD.org>
18094
18095         * Makefile.in (ALLDEPFILES): Add mips-fbsd-nat.c.
18096         * NEWS: Mention new FreeBSD/mips native configuration.
18097         * config/mips/fbsd.mh: New file.
18098         * configure.host: Add mips*-*-freebsd*.
18099         * mips-fbsd-nat.c: New file.
18100
18101 2017-01-04  John Baldwin  <jhb@FreeBSD.org>
18102
18103         * Makefile.in (ALL_TARGET_OBS): Add mips-fbsd-tdep.o.
18104         (ALLDEPFILES): Add mips-fbsd-tdep.c.
18105         * NEWS: Mention new FreeBSD/mips target.
18106         * configure.tgt: Add mips*-*-freebsd*.
18107         * mips-fbsd-tdep.c: New file.
18108         * mips-fbsd-tdep.h: New file.
18109
18110 2017-01-04  Yao Qi  <yao.qi@linaro.org>
18111
18112         * dwarf2loc.c (write_pieced_value): Don't use VALUE_FRAME_ID (to),
18113         use c->frame_id when the piece location is DWARF_VALUE_REGISTER.
18114
18115 2017-01-01  Joel Brobecker  <brobecker@adacore.com>
18116
18117         Update copyright year range in all GDB files.
18118
18119 2017-01-01  Joel Brobecker  <brobecker@adacore.com>
18120
18121         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2016.
18122
18123 For older changes see ChangeLog-2016.
18124 \f
18125 Local Variables:
18126 mode: change-log
18127 left-margin: 8
18128 fill-column: 74
18129 version-control: never
18130 coding: utf-8
18131 End: