gdb: Fix ARI warnings in or1k-tdep.c
[external/binutils.git] / gdb / ChangeLog
1 2017-12-13  Stafford Horne  <shorne@gmail.com>
2
3         * or1k-tdep.c (or1k_analyse_inst): Use _() wrapper for message
4         strings.
5         (or1k_unwind_pc): Use paddress() instead of %p.
6         (or1k_unwind_sp): Likewise.
7         (or1k_frame_cache): Use host_address_to_string()/paddress()
8         instead of %p and use _() wrapper for message strings.
9
10 2017-12-13  Simon Marchi  <simon.marchi@ericsson.com>
11
12         * contrib/ari/gdb_ari.sh: Fix typo in help.
13
14 2017-12-13  Joel Brobecker  <brobecker@adacore.com>
15
16         * event-top.c (handle_line_of_input): Set server_command.
17
18 2017-12-12  Stafford Horne  <shorne@gmail.com>
19             Stefan Wallentowitz  <stefan@wallentowitz.de>
20             Stefan Kristiansson  <stefan.kristiansson@saunalahti.fi>
21             Franck Jullien  <franck.jullien@gmail.com>
22             Jeremy Bennett  <jeremy.bennett@embecosm.com>
23
24         * configure.tgt: Add targets for or1k and or1knd.
25         * or1k-tdep.c: New file.
26         * or1k-tdep.h: New file.
27         * features/Makefile: Add or1k.xml to build.
28         * features/or1k.xml: New file.
29         * features/or1k-core.xml: New file.
30         * features/or1k.c: Generated.
31
32 2017-12-12  Alan Modra  <amodra@gmail.com>
33
34         PR tdep/22576
35         * ppc64-tdep.c (ppc64_plt_entry_point): Rewrite to take TOC-relative
36         PLT offset, and retrieve r2 from stack when executing in reverse.
37         (ppc64_standard_linkage1_target): Drop pc param.  Calculate offset
38         rather than PLT address.
39         (ppc64_standard_linkage2_target): Likewise.
40         (ppc64_standard_linkage3_target): Likewise.
41         (ppc64_standard_linkage4_target): Likewise.
42         (ppc64_skip_trampoline_code_1): Adjust to suit.
43
44 2017-12-11  Simon Marchi  <simon.marchi@ericsson.com>
45
46         PR gdb/22556
47         * remote.c (remote_thread_name): Return NULL if name is empty.
48         (remote_threads_extra_info): Return NULL if extra info is empty.
49
50 2017-12-11  Pedro Alves  <palves@redhat.com>
51
52         * defs.h (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index)
53         (elf_sym_fns_debug_names): Move to elfread.c.
54         * dwarf2read.c (dwarf2_initialize_objfile): Return a boolean
55         instead of a sym_fns and add 'index_kind' output parameter.  Fill
56         the latter in with the index variant kind if using an index.
57         (enum dw_index_kind): Moved to symfile.h.
58         * elfread.c (elf_sym_fns_gdb_index, elf_sym_fns_debug_names)
59         (elf_sym_fns_lazy_psyms): Move from defs.h.
60         (elf_symfile_read): Adjust to new dwarf2_initialize_objfile
61         interface.
62         * symfile.h (enum class dw_index_kind): New, moved from
63         dwarf2read.c.
64         (dwarf2_initialize_objfile): Change prototype.
65
66 2017-12-11  Ulrich Weigand  <uweigand@de.ibm.com>
67
68         * target-float.c (mpfr_float_ops::from_target): Use mpfr_set_ui
69         instead of mpfr_set_si to convert mantissa bits.
70
71 2017-12-11  Xavier Roirand <roirand@adacore.com>
72             Joel Brobecker  <brobecker@adacore.com>
73
74         * ada-lang.c (ada_tag_value_at_base_address): Change the way
75         tagged type base address is computed.
76         (enum ada_primitive_types) <ada_primitive_type_storage_offset>:
77         New enumerate.
78         (ada_language_arch_info): Set the ada_primitive_type_storage_offset
79         element of lai->primitive_type_vector.
80
81 2017-12-08  Pedro Alves  <palves@redhat.com>
82
83         * dwarf2read.c (mock_mapped_index): Reimplement as an extension of
84         mapped_index_base.
85         (check_match): Adjust to use mock_index directly.
86         (check_find_bounds_finds)
87         (test_mapped_index_find_name_component_bounds): Adjust to work
88         with a mapped_index_base.
89
90 2017-12-08  Pedro Alves  <palves@redhat.com>
91
92         * dwarf2read.c (struct mapped_index_base): New, partially factored
93         out from ...
94         (struct mapped_index): ... this.  Inherit mapped_index_base.
95         (mapped_index::symbol_name_slot_invalid):
96         (mapped_index::symbol_name_at): Add override marker.
97         (mapped_index::symbol_name_count): New.
98         (struct mapped_debug_names): Inherit mapped_index_base.
99         (mapped_debug_names::symbol_name_at): New.
100         (mapped_debug_names::symbol_name_count): New.
101         (mapped_index::find_name_components_bounds): Rename to ...
102         (mapped_index_base::find_name_components_bounds): ... this.
103         (mapped_index::build_name_components): Rename to ...
104         (mapped_index_base::build_name_components): ... this.  Adjust to
105         use mapped_index_base::symbol_name_count and
106         mapped_index_base::symbol_name_slot_invalid.
107         (dw2_expand_symtabs_matching_symbol): Take a mapped_index_base
108         instead of a mapped_index.  Use
109         dw2_expand_symtabs_matching_symbol.
110
111 2017-12-08  Pedro Alves  <palves@redhat.com>
112
113         * dwarf2read.c (mapped_index::symbol_table_slot): New.
114         (mapped_index::address_table): Now a gdb::array_view of const
115         gdb_byte.
116         (mapped_index::symbol_table): Now a gdb::array_view of
117         symbol_table_slot.
118         (mapped_index::address_table_size)
119         (mapped_index::symbol_table_slots): Delete.
120         (create_addrmap_from_index): Adjust.
121         (find_slot_in_mapped_hash): Adjust.
122         (read_index_from_section): Adjust.
123         (dwarf2_read_index): Adjust.
124
125 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
126             Pedro Alves  <palves@redhat.com>
127
128         * defs.h (elf_sym_fns_debug_names): New declaration.
129         * dwarf2read.c: Include "hash_enum.h".
130         (mapped_debug_names): New.
131         (struct dwarf2_per_objfile): Add debug_names, debug_aranges and
132         debug_names_table.
133         (dwarf2_elf_names): Add ".debug_names" and ".debug_aranges".
134         (struct dwz_file): Add debug_names.
135         (dwarf2_per_objfile::locate_sections): Handle debug_names and
136         debug_aranges.
137         (locate_dwz_sections): Handle debug_names.
138         (create_signatured_type_table_from_debug_names)
139         (create_addrmap_from_aranges): New.
140         (dwarf2_read_index): Update function comment.
141         (dwarf5_augmentation): Moved up.
142         (read_debug_names_from_section, create_cus_from_debug_names_list)
143         (create_cus_from_debug_names, dwarf2_read_debug_names): New.
144         (dwarf5_djb_hash): Moved up.
145         (dw2_debug_names_iterator): New.
146         (read_indirect_string_at_offset): New declaration.
147         (mapped_debug_names::namei_to_name)
148         (dw2_debug_names_iterator::find_vec_in_debug_names)
149         (dw2_debug_names_iterator::next, dw2_debug_names_lookup_symbol)
150         (dw2_debug_names_dump, dw2_debug_names_expand_symtabs_for_function)
151         (dw2_debug_names_expand_symtabs_matching, dwarf2_debug_names_functions):
152         New.
153         (dwarf2_initialize_objfile): Return also elf_sym_fns_debug_names.
154         (debug_names::djb_hash): Rename it to dwarf5_djb_hash.
155         (debug_names::build): Update djb_hash caller.
156         (write_debug_names): Move out and rename augmentation to
157         dwarf5_augmentation.
158         * elfread.c (elf_sym_fns_debug_names): New.
159         * psymtab.h (dwarf2_debug_names_functions): New declaration.
160         * symfile.h (struct dwarf2_debug_sections): Add debug_names and
161         debug_aranges.
162         * xcoffread.c (dwarf2_xcoff_names): Add debug_names and debug_aranges.
163
164 2017-12-08  Pedro Alves  <palves@redhat.com>
165
166         * common/hash_enum.h: New file.
167
168 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
169
170         * dwarf2read.c (create_cu_from_index_list): New from ...
171         (create_cus_from_index_list): ... this function, use it.
172         (dw_expand_symtabs_matching_file_matcher)
173         (dw2_expand_symtabs_matching_one): New from ...
174         (dw2_expand_symtabs_matching): ... this function, use them.
175
176 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
177
178         * defs.h (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index): Move here
179         declarations from elfread.c.
180         (dwarf2_initialize_objfile): Change return value.
181         * elfread.c (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index): Move these
182         declarations to defs.h.
183         (elf_symfile_read): Adjust dwarf2_initialize_objfile caller.
184         * symfile.h (dwarf2_initialize_objfile): Change return type.
185
186 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
187             Pedro Alves  <palves@redhat.com>
188
189         * contrib/gdb-add-index.sh (index): Rename to ...
190         (index4): ... here.
191         (index5, debugstr, debugstrmerge, debugstrerr): New variables.
192         Support also .debug_names and .debug_str.
193         * dwarf2read.c: Include cmath, set, list.
194         (INDEX_SUFFIX): Rename to ...
195         (INDEX4_SUFFIX): ... here.
196         (INDEX5_SUFFIX, DEBUG_STR_SUFFIX): New.
197         (file_write(FILE *, const void *, size_t)): New.
198         (file_write(FILE *, const std::vector<Elem, Alloc> &)): New.
199         (data_buf::append_unsigned_leb128, data_buf::empty): New.
200         (data_buf::file_write): Use ::file_write.
201         (data_buf::c_str, dwarf5_djb_hash, debug_names)
202         (check_dwarf64_offsets): New.
203         (psyms_seen_size, write_gdbindex): New from
204         write_psymtabs_to_index code.
205         (dwarf5_gdb_augmentation, write_debug_names, assert_file_size)
206         (enum dw_index_kind): New.
207         (write_psymtabs_to_index): New parameter index_kind.  Support
208         filename_str and out_file_str.  Move code to write_gdbindex,
209         possibly call write_debug_names.
210         (save_gdb_index_command): New parameter -dwarf-5.
211         (_initialize_dwarf2_read): Document the new parameter -dwarf-5.
212
213 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
214             Pedro Alves  <palves@redhat.com>
215
216         * contrib/cc-with-tweaks.sh: Change interpreter to bash, incl. initial
217         comment.
218         (GDB_ADD_INDEX): New variable.
219         <$want_index>: Call $GDB_ADD_INDEX.
220
221 2017-12-08  Sergio Durigan Junior  <sergiodj@redhat.com>
222
223         * dtrace-probe.c (dtrace_process_dof_probe): Do not declare a new
224         "expression_up" inside the TRY block.
225
226 2017-12-08  Yao Qi  <yao.qi@linaro.org>
227
228         * breakpoint.c (update_watchpoint): Call
229         address_significant.
230
231 2017-12-08  Yao Qi  <yao.qi@linaro.org>
232
233         * breakpoint.c (adjust_breakpoint_address): Call
234         address_significant.
235
236 2017-12-08  Yao Qi  <yao.qi@linaro.org>
237
238         * aarch64-tdep.c (aarch64_gdbarch_init): Install gdbarch
239         significant_addr_bit.
240         * gdbarch.sh (significant_addr_bit): New.
241         * gdbarch.c, gdbarch.h: Re-generated.
242         * target.c (memory_xfer_partial): Call address_significant.
243         * utils.c (address_significant): New function.
244         * utils.h (address_significant): Declare.
245
246 2017-12-08  Tom Tromey  <tom@tromey.com>
247
248         * printcmd.c (ui_printf): Update.  Use std::vector.
249         * common/format.h (struct format_piece): Add constructor.
250         <string>: Now const.
251         (class format_pieces): New class.
252         (parse_format_string, free_format_pieces)
253         (free_format_pieces_cleanup): Remove.
254         * common/format.c (format_pieces::format_pieces): Rename from
255         parse_format_string.  Update.
256         (free_format_pieces, free_format_pieces_cleanup): Remove.
257         * breakpoint.c (parse_cmd_to_aexpr): Update.  Use std::vector.
258         * ax-gdb.h (gen_printf): Remove argument.
259         * ax-gdb.c (gen_printf): Remove "frags" argument.
260         (maint_agent_printf_command): Update.  Use std::vector.
261
262 2017-12-08  Yao Qi  <yao.qi@linaro.org>
263
264         PR breakpionts/22567
265         * linespec.c (minsym_found): Set sal.section.
266
267 2017-12-08  Andreas Arnez  <arnez@linux.vnet.ibm.com>
268
269         * configure.tgt (s390*-*-linux*): Add symfile-mem.o.
270
271 2017-12-07  Keith Seitz  <keiths@redhat.com>
272
273         PR breakpoints/22569
274         * location.c (string_to_explicit_location): When terminating
275         parsing early, break out of enclosing loop instead of returning.
276
277 2017-12-07  Keith Seitz  <keiths@redhat.com>
278
279         * NEWS (New commands): Mention set/show print type nested-type-limit.
280         * c-typeprint.c (c_type_print_base): Print out nested types.
281         * dwarf2read.c (struct typedef_field_list): Rename to ...
282         (struct decl_field_list): ... this.  Change all uses.
283         (struct field_info) <nested_types_list, nested_types_list_count>:
284         New fields.
285         (add_partial_symbol): Look for nested type definitions in C++, too.
286         (dwarf2_add_typedef): Rename to ...
287         (dwarf2_add_type_defn): ... this.
288         (type_can_define_types): New function.
289         Update assertion to use type_can_define_types.
290         Permit NULL for a field's name.
291         (process_structure_scope): Handle child DIEs of types that can
292         define types.
293         Copy the list of nested types into the type struct.
294         * gdbtypes.h (struct typedef_field): Rename to ...
295         (struct decl_field): ... this.  Change all uses.
296         [is_protected, is_private]: New fields.
297         (struct cplus_struct_type) <nested_types, nested_types_count>: New
298         fields.
299         (TYPE_NESTED_TYPES_ARRAY, TYPE_NESTED_TYPES_FIELD)
300         (TYPE_NESTED_TYPES_FIELD_NAME, TYPE_NESTED_TYPES_FIELD_TYPE)
301         (TYPE_NESTED_TYPES_COUNT, TYPE_NESTED_TYPES_FIELD_PROTECTED)
302         (TYPE_NESTED_TYPES_FIELD_PRIVATE): New macros.
303         * typeprint.c (type_print_raw_options, default_ptype_flags): Add
304         default value for print_nested_type_limit.
305         (print_nested_type_limit): New static variable.
306         (set_print_type_nested_types, show_print_type_nested_types): New
307         functions.
308         (_initialize_typeprint): Register new commands for set/show
309         `print-nested-type-limit'.
310         * typeprint.h (struct type_print_options) [print_nested_type_limit]:
311         New field.
312
313 2017-12-07  Tom Tromey  <tom@tromey.com>
314
315         PR breakpoints/22511:
316         * breakpoint.c (commands_command_1): Don't throw an exception when
317         no commands have been read.
318
319 2017-12-07  Adam Stylinski  <adam.stylinski@etegent.com>
320
321         PR c++/21222
322         * target-descriptions.c (print_c_tdesc::visit_pre): Change type of
323         range-for variable.
324
325 2017-12-07  Simon Marchi  <simon.marchi@ericsson.com>
326
327         * common/selftest.h (struct selftest): Add virtual destructor.
328
329 2017-12-07  Phil Muldoon  <pmuldoon@redhat.com>
330
331         * python/py-breakpoint.c (bppy_init): Use string_to_event_location
332         over basic location code. Implement explicit location keywords.
333         (bppy_init_validate_args): New function.
334         * NEWS: Document Python explicit breakpoint locations.
335
336 2017-12-07  Joel Brobecker  <brobecker@adacore.com>
337
338         * MAINTAINERS: Restore target entries for m68hc11-elf,
339         score-elf and xstormy16-elf, incorrectly removed in a previous
340         patch meant to only update the list of active maintainers.
341
342 2017-12-06  Pedro Alves  <palves@redhat.com>
343
344         * break-catch-syscall.c (insert_catch_syscall)
345         (remove_catch_syscall): Adjust to pass reference to
346         inf_data->syscalls_counts directly via gdb::array_view.
347         * fbsd-nat.c (fbsd_set_syscall_catchpoint): Adjust to use bool
348         and gdb::array_view.
349         * linux-nat.c (linux_child_set_syscall_catchpoint): Likewise.
350         * remote.c (remote_set_syscall_catchpoint): Likewise.
351         * target-debug.h (target_debug_print_bool): New.
352         (define target_debug_print_gdb_array_view_const_int): New.
353         * target-delegates.c: Regenerate.
354         * target.h (target_ops) <to_set_syscall_catchpoint>: Use
355         gdb::array_view and bool.
356         (target_set_syscall_catchpoint): Likewise.
357
358 2017-12-06  Simon Marchi  <simon.marchi@ericsson.com>
359
360         * break-catch-syscall.c (catch_syscall_completer): Get pointers
361         to syscall group strings after building the string vector.
362
363 2017-12-06  Pedro Alves  <palves@redhat.com>
364
365         * remote.c (remote_query_supported): Don't send "xmlRegisters=" if
366         "qXfer:features:read"" is disabled.
367         (remote_write_qxfer, remote_read_qxfer, remote_search_memory):
368         Check packet_config_support instead of packet->support directly.
369
370 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
371
372         * target-descriptions.c (struct tdesc_feature) <registers>: Use
373         tdesc_reg_up typedef.
374         (struct target_desc) <features>: Use tdesc_feature_up typedef.
375
376 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
377
378         * target-descriptions.c (struct tdesc_type): Use default
379         destructor.
380         <u>: Remove.
381         <accept>: Remove.
382         (struct tdesc_type_builtin): New.
383         (struct tdesc_type_vector): New.
384         (struct tdesc_type_with_fields): New.
385         (tdesc_predefined_types): Change type to tdesc_type_builtin[].
386         (tdesc_gdb_type): Remove.
387         (tdesc_register_type): Adjust.
388         (tdesc_create_vector): Create tdesc_type_vector.
389         (tdesc_create_struct): Create tdesc_type_with_fields.
390         (tdesc_set_struct_size): Change parameter type.
391         (tdesc_create_union): Create tdesc_type_with_fields.
392         (tdesc_create_flags): Likewise.
393         (tdesc_create_enum): Likewise.
394         (tdesc_add_field): Change parameter type.
395         (tdesc_add_typed_bitfield): Likewise.
396         (tdesc_add_bitfield): Likewise.
397         (tdesc_add_flag): Likewise.
398         (tdesc_add_enum_value): Likewise.
399         (print_c_tdesc) <visit>: Remove overload with tdesc_type
400         parameter, add overloads for tdesc_type_builtin,
401         tdesc_type_with_fields and tdesc_type_vector.
402         <m_printed_type>: Remove.
403         <m_printed_element_type, m_printed_type_with_fields>: Add.
404         * target-descriptions.h (tdesc_create_enum): Change return type.
405         (tdesc_add_typed_bitfield): Change parameter type.
406         (tdesc_add_enum_value): Change parameter type.
407         * xml-tdesc.c (struct tdesc_parsing_data) <current_type>: Change
408         type to tdesc_type_with_fields.
409         (tdesc_start_struct): Adjust.
410         (tdesc_start_flags): Adjust.
411         (tdesc_start_enum): Adjust.
412         (tdesc_start_field): Adjust.
413         * arch/tdesc.h (struct tdesc_type_builtin): Forward-declare.
414         (struct tdesc_type_vector): Forward-declare.
415         (struct tdesc_type_with_fields): Forward-declare.
416         (tdesc_create_struct): Change return type.
417         (tdesc_create_union): Likewise.
418         (tdesc_create_flags): Likewise.
419         (tdesc_add_field): Change parameter type.
420         (tdesc_set_struct_size): Likewise.
421         (tdesc_add_bitfield): Likewise.
422         (tdesc_add_flag): Likewise.
423         * features: Re-generate C files.
424
425 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
426
427         * target-descriptions.c (tdesc_arch_reg): Remove typedef.
428         (struct tdesc_arch_reg): Add constructor.
429         (DEF_VEC_O (tdesc_arch_reg)): Remove.
430         (struct tdesc_arch_data): Initialize fields.
431         <arch_regs>: Change type to std::vector.
432         (target_find_description): Adjust.
433         (tdesc_find_type): Adjust.
434         (tdesc_data_init): Call tdesc_arch_data constructor.
435         (tdesc_data_alloc): Allocate tdesc_arch_data with new.
436         (tdesc_data_cleanup): Free data with delete.
437         (tdesc_numbered_register): Adjust.
438         (tdesc_find_arch_register): Adjust.
439         (tdesc_use_registers): Adjust.
440
441 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
442
443         * target-descriptions.c (tdesc_type_field): Remove typedef.
444         (DEF_VEC_O (tdesc_type_field)): Remove.
445         (struct tdesc_type_field): Add constructor.
446         <name>: Change type to std::string.
447         (struct tdesc_type) <tdesc_type>: Instantiate vector if the type
448         kind uses it.
449         <~tdesc_type>: Destroy vector if the type kind uses it.
450         <u::u::fields>: Change type to std::vector.
451         (tdesc_gdb_type): Adjust.
452         (tdesc_add_field): Adjust.
453         (tdesc_add_typed_bitfield): Adjust.
454         (tdesc_add_field): Adjust.
455         (tdesc_add_enum_value): Adjust.
456         (class print_c_tdesc) <visit>: Adjust.
457
458 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
459
460         * target-descriptions.c (struct tdesc_type) <name>: Change type
461         to std::string.
462         <~tdesc_type>: Don't manually free name.
463         <operator==>: Adjust.
464         (tdesc_named_type): Adjust.
465         (tdesc_find_type): Adjust.
466         (tdesc_gdb_type): Adjust.
467         (class print_c_tdesc) <visit>: Adjust.
468
469 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
470
471         * target-descriptions.c (tdesc_type_p): Remove typedef.
472         (DEF_VEC_P (tdesc_type_p)): Remove.
473         (struct tdesc_feature) <types>: Change type to std::vector.
474         <~tdesc_feature>: Replace with default implementation.
475         <accept>: Adjust.
476         (tdesc_named_type): Adjust.
477         (tdesc_create_vector): Adjust.
478         (tdesc_create_struct): Adjust.
479         (tdesc_create_union): Adjust.
480         (tdesc_create_flags): Adjust.
481         (tdesc_create_enum): Adjust.
482
483 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
484
485         * target-descriptions.c (struct tdesc_reg) <tdesc_reg>: Change
486         type of name_ parameter, adjust to std::string change.
487         <name, group, type>: Change type to std::string.
488         <~tdesc_reg>: Replace with default implementation.
489         <operator==>: Adjust.
490         (tdesc_find_register_early): Adjust.
491         (tdesc_register_name): Adjust.
492         (tdesc_register_type): Adjust.
493         (tdesc_register_in_reggroup_p): Adjust.
494         (class print_c_tdesc) <visit>: Adjust.
495         (class print_c_feature) <visit>: Adjust.
496         * features/arc-arcompact.c: Re-generate.
497         * features/arc-v2.c: Re-generate.
498
499 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
500
501         * target-descriptions.c (tdesc_reg_p): Remove typedef.
502         (DEF_VEC_P (tdesc_reg_p)): Remove.
503         (struct tdesc_feature) <registers>: Change type to std::vector.
504         <~tdesc_feature>: Don't manually free registers.
505         <accept>: Adjust.
506         <operator==>: Adjust.
507         (tdesc_has_registers): Adjust.
508         (tdesc_find_register_early): Adjust.
509         (tdesc_use_registers): Adjust.
510         (tdesc_create_reg): Adjust.
511
512 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
513
514         * target-descriptions.c (tdesc_feature) <name>: Change type to
515         std::string.
516         <~tdesc_feature>: Don't manually free name.
517         <operator==>: Adjust.
518         (tdesc_find_feature): Adjust.
519         (tdesc_feature_name): Adjust.
520         (class print_c_tdesc) <visit_pre>: Adjust.
521         (class print_c_feature) <visit_pre>: Adjust.
522
523 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
524
525         * target-descriptions.c (tdesc_feature_p): Remove typedef.
526         (DEF_VEC_P (tdesc_feature_p)): Remove.
527         (struct target_desc) <features>: Change type to std::vector.
528         <~target_desc>: Replace with default implementation.
529         <accept>: Adjust.
530         <operator==>: Adjust.
531         (tdesc_has_registers): Adjust.
532         (tdesc_find_feature): Adjust.
533         (tdesc_use_registers): Adjust.
534         (tdesc_create_feature): Adjust.
535
536 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
537
538         * target-descriptions.c (arch_p): Remove typedef.
539         (DEF_VEC_P (arch_p)): Remove.
540         (struct target_desc) <compatible>: Change type to std::vector.
541         <~target_desc>: Don't manually free compatible.
542         (tdesc_compatible_p): Adjust.
543         (tdesc_add_compatible): Adjust.
544         (class print_c_tdesc) <visit_pre>: Adjust.
545
546 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
547
548         * target-descriptions.c (property_s): Remove typedef.
549         (DEF_VEC_O (property_s)): Remove.
550         (struct target_desc) <properties>: Make an std::vector.
551         <~target_desc>: Don't manually free properties.
552         (tdesc_property): Adjust.
553         (set_tdesc_property): Adjust.
554         (class print_c_tdesc) <visit_pre>: Adjust.
555
556 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
557
558         * common/gdb_assert.h (gdb_static_assert): Redefine using
559         static_assert.
560
561 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
562
563         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
564         unused variables.
565         (ada_is_redundant_range_encoding): Likewise.
566         * ada-varobj.c (ada_varobj_get_value_of_array_variable):
567         Likewise.
568         * alpha-tdep.c (alpha_software_single_step): Likewise.
569         * arm-tdep.c (_initialize_arm_tdep): Likewise.
570         * auto-load.c (info_auto_load_cmd): Likewise.
571         * break-catch-syscall.c (insert_catch_syscall): Likewise.
572         (remove_catch_syscall): Likewise.
573         * breakpoint.c (condition_completer): Likewise.
574         (clear_command): Likewise.
575         (update_breakpoint_locations): Likewise.
576         * btrace.c (btrace_disable): Likewise.
577         (btrace_teardown): Likewise.
578         (btrace_maint_update_pt_packets): Likewise.
579         (maint_btrace_clear_cmd): Likewise.
580         * cli/cli-decode.c (lookup_cmd_1): Likewise.
581         (lookup_cmd_composition): Likewise.
582         * cli/cli-dump.c (scan_filename): Likewise.
583         (restore_command): Likewise.
584         * compile/compile-loc2c.c (compute_stack_depth): Likewise.
585         * compile/compile-object-load.c (compile_object_load): Likewise.
586         * compile/compile-object-run.c (compile_object_run): Likewise.
587         * compile/compile.c (compile_to_object): Likewise.
588         * completer.c (filename_completer): Likewise.
589         (complete_files_symbols): Likewise.
590         (complete_expression): Likewise.
591         * corelow.c (core_open): Likewise.
592         * ctf.c (ctf_start): Likewise.
593         (ctf_write_status): Likewise.
594         (ctf_write_uploaded_tsv): Likewise.
595         (ctf_write_definition_end): Likewise.
596         (ctf_open_dir): Likewise.
597         (ctf_xfer_partial): Likewise.
598         (ctf_trace_find): Likewise.
599         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
600         Likewise.
601         * dwarf2loc.c (allocate_piece_closure): Likewise.
602         (indirect_pieced_value): Likewise.
603         (dwarf2_evaluate_loc_desc_full): Likewise.
604         * dwarf2read.c (dw2_expand_marked_cus): Likewise.
605         (dw2_expand_symtabs_matching): Likewise.
606         (dw2_map_symbol_filenames): Likewise.
607         (read_and_check_comp_unit_head): Likewise.
608         (read_cutu_die_from_dwo): Likewise.
609         (lookup_dwo_unit): Likewise.
610         (read_comp_units_from_section): Likewise.
611         (dwarf2_compute_name): Likewise.
612         (handle_DW_AT_stmt_list): Likewise.
613         (create_cus_hash_table): Likewise.
614         (create_dwp_v2_section): Likewise.
615         (dwarf2_rnglists_process): Likewise.
616         (dwarf2_ranges_process): Likewise.
617         (dwarf2_record_block_ranges): Likewise.
618         (is_vtable_name): Likewise.
619         (read_formatted_entries): Likewise.
620         (skip_form_bytes): Likewise.
621         * elfread.c (elf_symtab_read): Likewise.
622         * exec.c (exec_file_command): Likewise.
623         * f-valprint.c (f_val_print): Likewise.
624         (info_common_command_for_block): Likewise.
625         * guile/guile.c (initialize_scheme_side): Likewise.
626         * guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Likewise.
627         * guile/scm-cmd.c (cmdscm_completer): Likewise.
628         (gdbscm_register_command_x): Likewise.
629         * guile/scm-frame.c (gdbscm_frame_read_var): Likewise.
630         * guile/scm-param.c (gdbscm_parameter_value): Likewise.
631         * guile/scm-ports.c (file_port_magic): Likewise.
632         * guile/scm-pretty-print.c (ppscm_search_pp_list): Likewise.
633         (ppscm_pretty_print_one_value): Likewise.
634         (ppscm_print_children): Likewise.
635         * guile/scm-string.c (gdbscm_string_to_argv): Likewise.
636         * guile/scm-symtab.c (gdbscm_sal_symtab): Likewise.
637         * guile/scm-type.c (gdbscm_type_next_field_x): Likewise.
638         * guile/scm-utils.c (gdbscm_parse_function_args): Likewise.
639         * i386-tdep.c (i386_register_reggroup_p): Likewise.
640         * infcmd.c (run_command_1): Likewise.
641         (until_next_fsm_clean_up): Likewise.
642         * linespec.c (linespec_complete): Likewise.
643         (find_label_symbols): Likewise.
644         * m2-valprint.c (m2_val_print): Likewise.
645         * memattr.c (require_user_regions): Likewise.
646         (lookup_mem_region): Likewise.
647         (disable_mem_command): Likewise.
648         (mem_delete): Likewise.
649         * mep-tdep.c (mep_register_name): Likewise.
650         (mep_analyze_prologue): Likewise.
651         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Likewise.
652         * mi/mi-interp.c (mi_on_sync_execution_done): Likewise.
653         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
654         * microblaze-linux-tdep.c (microblaze_linux_init_abi): Likewise.
655         * minidebug.c (lzma_open): Likewise.
656         * minsyms.c (lookup_minimal_symbol): Likewise.
657         * mips-linux-tdep.c (mips64_fill_fpregset): Likewise.
658         * mips-tdep.c (mips_stub_frame_sniffer): Likewise.
659         (mips_o64_return_value): Likewise.
660         (mips_single_step_through_delay): Likewise.
661         (_initialize_mips_tdep): Likewise.
662         * nios2-tdep.c (nios2_push_dummy_call): Likewise.
663         (nios2_software_single_step): Likewise.
664         * parse.c (find_minsym_type_and_address): Likewise.
665         * psymtab.c (psym_relocate): Likewise.
666         * python/py-breakpoint.c (bppy_get_commands): Likewise.
667         (gdbpy_breakpoint_modified): Likewise.
668         * python/py-infevents.c (create_inferior_call_event_object):
669         Likewise.
670         * python/py-record-btrace.c (btpy_list_item): Likewise.
671         * python/py-type.c (typy_str): Likewise.
672         * python/py-value.c (valpy_call): Likewise.
673         * python/python.c (do_start_initialization): Likewise.
674         * record-btrace.c (record_btrace_insn_history_range): Likewise.
675         (record_btrace_call_history_range): Likewise.
676         (record_btrace_record_method): Likewise.
677         (record_btrace_xfer_partial): Likewise.
678         (btrace_get_frame_function): Likewise.
679         * record-full.c (record_full_open): Likewise.
680         * record.c (get_context_size): Likewise.
681         * registry.h (DEFINE_REGISTRY): Likewise.
682         * remote-fileio.c (remote_fileio_request): Likewise.
683         * remote.c (remote_update_thread_list): Likewise.
684         (remote_check_symbols): Likewise.
685         (remote_commit_resume): Likewise.
686         (remote_interrupt): Likewise.
687         (remote_insert_breakpoint): Likewise.
688         (compare_sections_command): Likewise.
689         * rust-exp.y (super_name): Likewise.
690         (lex_string): Likewise.
691         (convert_ast_to_type): Likewise.
692         (convert_ast_to_expression): Likewise.
693         * rust-lang.c (rust_print_struct_def): Likewise.
694         (rust_print_type): Likewise.
695         (rust_evaluate_subexp): Likewise.
696         * rx-tdep.c (rx_register_type): Likewise.
697         * ser-event.c (serial_event_clear): Likewise.
698         * serial.c (serial_open): Likewise.
699         * spu-tdep.c (spu_overlay_new_objfile): Likewise.
700         * symfile.c (section_is_overlay): Likewise.
701         (overlay_unmapped_address): Likewise.
702         (overlay_mapped_address): Likewise.
703         (simple_overlay_update_1): Likewise.
704         (simple_overlay_update): Likewise.
705         * symtab.c (symbol_find_demangled_name): Likewise.
706         (search_symbols): Likewise.
707         * target-descriptions.c (tdesc_predefined_type): Likewise.
708         * target.c (target_commit_resume): Likewise.
709         * thread.c (print_selected_thread_frame): Likewise.
710         * top.c (new_ui_command): Likewise.
711         (gdb_readline_no_editing): Likewise.
712         * tracefile-tfile.c (tfile_open): Likewise.
713         * tracepoint.c (create_tsv_from_upload): Likewise.
714         * utils.c (quit): Likewise.
715         (defaulted_query): Likewise.
716         * valarith.c (value_concat): Likewise.
717         * xml-syscall.c (xml_list_syscalls_by_group): Likewise.
718         * xml-tdesc.c (target_fetch_description_xml): Likewise.
719         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
720         (xtensa_pseudo_register_write): Likewise.
721
722 2017-12-04  Tom Tromey  <tom@tromey.com>
723
724         * NEWS: Mention Rust trait object inspection.
725
726 2017-12-04  Pedro Alves  <palves@redhat.com>
727
728         PR gdb/22499
729         * amd64-tdep.c (amd64_insn::rex_offset): Rename to...
730         (amd64_insn::enc_prefix_offset): ... this, and tweak comment.
731         (vex2_prefix_p, vex3_prefix_p): New functions.
732         (amd64_get_insn_details): Adjust to rename.  Also skip VEX2 and
733         VEX3 prefixes.
734         (fixup_riprel): Set VEX3.!B.
735
736 2017-12-03  Simon Marchi  <simon.marchi@ericsson.com>
737
738         * target.h (mem_region_vector): Remove.
739         (struct target_ops) <to_memory_map>: Change return type to
740         std::vector<mem_region>.
741         * target-debug.h (target_debug_print_mem_region_vector): Rename
742         to ...
743         (target_debug_print_std_vector_mem_region): ... this.
744         * target-delegates.c: Re-generate.
745
746 2017-12-03  Pedro Alves  <palves@redhat.com>
747
748         * make-target-delegates (munge_type): Also munge '<', '>', and
749         ':'.  Avoid double underscores in identifiers, and trailing
750         underscores.
751         * target-debug.h
752         (target_debug_print_VEC_static_tracepoint_marker_p__p): Rename to
753         ...
754         (target_debug_print_VEC_static_tracepoint_marker_p_p): ... this.
755         * target-delegates.c: Regenerate.
756
757 2017-12-02  Simon Marchi  <simon.marchi@polymtl.ca>
758
759         * common/poison.h (XDELETE): Fix typo.
760
761 2017-12-01  Andrew Cagney  <cagney@redhat.com>
762             Joel Brobecker  <brobecker@adacore.com>
763             Sergio Durigan Junior  <sergiodj@redhat.com>
764
765         * NEWS (Changes since GDB 8.0: Mention new '--readnever'
766         feature.
767         * coffread.c (coff_symfile_read): Do not map over sections with
768         'coff_locate_sections' if readnever is on.
769         * dwarf2read.c (dwarf2_has_info): Return 0 if
770         readnever is on.
771         * elfread.c (elf_symfile_read): Do not map over sections with
772         'elf_locate_sections' if readnever is on.
773         * main.c (validate_readnow_readnever): New function.
774         (captured_main_1): Add support for --readnever.
775         (print_gdb_help): Document --readnever.
776         * objfile-flags.h (enum objfile_flag) <OBJF_READNEVER>: New
777         flag.
778         * symfile.c (readnever_symbol_files): New global.
779         (symbol_file_add_with_addrs): Set 'OBJF_READNEVER' when
780         'READNEVER_SYMBOL_FILES' is set.
781         (validate_readnow_readnever): New function.
782         (symbol_file_command): Handle '-readnever' option.
783         Call 'validate_readnow_readnever'.
784         (add_symbol_file_command): Handle '-readnever' option.
785         Call 'validate_readnow_readnever'.
786         (_initialize_symfile): Document new '-readnever' option for
787         both 'symbol-file' and 'add-symbol-file' commands.
788         * top.h (readnever_symbol_files): New extern global.
789         * xcoffread.c (xcoff_initial_scan): Do not read debug
790         information if readnever is on.
791
792 2017-12-01  Sergio Durigan Junior  <sergiodj@redhat.com>
793
794         * symfile.c (symbol_file_command): Call
795         'symbol_file_add_main_1' only after processing all command
796         line options.
797         (add_symbol_file_command): Modify logic to make arguments
798         position-independent.
799
800 2017-12-01  Joel Brobecker  <brobecker@adacore.com>
801
802         * ada-lang.c (symbol_list_obstack): Delete.
803         (resolve_subexp): Make sure "candidates" gets xfree'ed.
804         (ada_lookup_symbol_list_worker): Remove the limitation that
805         the result is only good until the next call, now making it
806         the responsibility of the caller to free the result when no
807         longer needed.  Adjust the function's intro comment accordingly.
808         (ada_lookup_symbol_list): Adjust the function's intro comment.
809         (ada_iterate_over_symbols): Make sure "results" gets xfree'ed.
810         (ada_lookup_encoded_symbol, get_var_value): Likewise.
811         (_initialize_ada_language): Remove symbol_list_obstack
812         initialization.
813         * ada-exp.y (block_lookup): Make sure "syms" gets xfree'ed.
814         (write_var_or_type, write_name_assoc): Likewise.
815
816 2017-12-01  Tom Tromey  <tom@tromey.com>
817
818         * Makefile.in (all_deps_files): New variable.
819         Include .Po files using all_deps_files.
820
821 2017-12-01  Joel Brobecker  <brobecker@adacore.com>
822
823         * MAINTAINERS: Update list of maintainers, moving those who
824         stepped down or became inactive to the "Past Maintainers"
825         section.
826
827 2017-11-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
828
829         * configure.ac Don't check for sys/fault.h, sys/syscall.h,
830         sys/proc.h.
831         (NEW_PROC_API): Remove.
832         (prsysent_t, pr_sigset_t, pr_sigaction64_t, pr_siginfo64_t):
833         Likewise.
834         * common/common.m4 (GDB_AC_COMMON): Don't check for sys/syscall.h.
835         * configure: Regenerate.
836         * config.in: Regenerate.
837         * gdbserver/configure: Regenerate.
838         * gdbserver/config.in: Regenerate.
839
840         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Remove
841         NEW_PROC_API test.
842         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Likewise.
843
844         * linux-btrace.c: Remove HAVE_SYS_SYSCALL_H test.
845
846         * proc-api.c: Remove !NEW_PROC_API support.
847         Remove HAVE_SYS_PROC_H and HAVE_SYS_USER_H tests.
848         Remove tests for macros always defined on Solaris.
849         * proc-events.c: Remove !NEW_PROC_API support.
850         Remove Remove HAVE_SYS_SYSCALL_H, HAVE_SYS_PROC_H and
851         HAVE_SYS_USER_H tests.
852         (init_syscall_table): Remove non-Solaris syscalls.
853         Remove tests for syscalls present on all Solaris versions.
854         Add missing Solaris 10+ syscalls.
855         (signal_table): Remove non-Solaris signals.
856         Remove tests for signals present on all Solaris versions.
857         (fault_table): Remove non-Solaris faults.
858         Remove tests for faults present on all Solaris versions.
859         * proc-flags.c: Remove !NEW_PROC_API support.
860         (pr_flag_table): Remove non-Solaris and pre-Solaris 7 comments.
861         Remove non-Solaris flags.
862         * proc-why.c: Remove !NEW_PROC_API support.
863         (pr_why_table): Remove meaningless comments.
864         Remove tests for reasons present on all Solaris versions.
865         Remove OSF/1 cases.
866         (proc_prettyfprint_why): Likewise.
867
868         * procfs.c: Remove !NEW_PROC_API and DYNAMIC_SYSCALLS support.
869         Remove HAVE_SYS_FAULT_H and HAVE_SYS_SYSCALL_H tests.
870         Remove WA_READ test, IRIX watchpoint support.
871         (gdb_sigset_t, gdb_sigaction_t, gdb_siginfo_t): Replace by base
872         types.  Change users.
873         (gdb_praddset, gdb_prdelset, gdb_premptysysset, gdb_praddsysset)
874         (gdb_prdelset, gdb_pr_issyssetmember): Replace by base macros.
875         Change callers.
876         Remove CTL_PROC_NAME_FMT tests.
877         (gdb_prstatus_t, gdb_lwpstatus_t): Replace by base types.  Change
878         users.
879         (sysset_t_size): Remove.  Use sizeof (sysset_t) in callers.
880         Remove PROCFS_DONT_PIOCSSIG_CURSIG support.
881         (proc_modify_flag): Replace GDBRESET by PCUNSET.
882         Remove PR_ASYNC, PR_KLC tests.
883         (proc_unset_inherit_on_fork): Remove PR_ASYNC test.
884         (proc_parent_pid): Remove PCWATCH etc. tests.
885         (proc_set_watchpoint): Remove !PCWATCH && !PIOCSWATCH support.
886         Remove PCAGENT test.
887         (proc_get_nthreads) [PIOCNTHR && PIOCTLIST]: Remove.
888         Remove SYS_lwpcreate || SYS_lwp_create test.
889         (proc_get_current_thread): Likewise.
890         [PIOCNTHR && PIOCTLIST]: Remove.
891         [PIOCLSTATUS]: Remove.
892         (procfs_debug_inferior): Remove non-Solaris cases, conditionals.
893         [PRFS_STOPEXEC]: Remove.
894         (syscall_is_lwp_exit): Remove non-Solaris cases, conditionals.
895         (syscall_is_exit): Likewise.
896         (syscall_is_exec): Likewise.
897         (syscall_is_lwp_create): Likewise.
898         Remove SYS_syssgi support.
899         (procfs_wait): Remove PR_ASYNC, !PIOCSSPCACT tests.
900         [SYS_syssgi]: Remove.
901         Remove non-Solaris cases, conditionals.
902         (unconditionally_kill_inferior) [PROCFS_NEED_PIOCSSIG_FOR_KILL]:
903         Remove.
904         (procfs_init_inferior) [SYS_syssgi]: Remove.
905         (procfs_set_exec_trap) [PRFS_STOPEXEC]: Remove.
906         (procfs_inferior_created) [SYS_syssgi]: Remove.
907         (procfs_set_watchpoint): Remove !AIX5 test.
908         (procfs_stopped_by_watchpoint): Remove FLTWATCH test, FLTKWATCH
909         case.
910         (mappingflags) [MA_PHYS]: Remove.
911         (info_mappings_callback): Remove PCAGENT test.
912         Remove PIOCOPENLWP || PCAGENT test.
913
914 2017-11-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
915
916         * sol-thread.c (info_solthreads): Constify args.
917         Cast args to void *.
918
919 2017-11-29  John Baldwin  <jhb@FreeBSD.org>
920
921         * target-float.c [HAVE_LIBMPFR]: Define MPFR_USE_INTMAX_T.
922
923 2017-11-29  Joel Brobecker  <brobecker@adacore.com>
924
925         * ada-lang.c (to_fixed_range_type): Make sure that the size
926         of the range type being returned is the same as the size
927         of the range type being fixed.
928
929 2017-11-29  Pedro Alves  <palves@redhat.com>
930
931         PR c++/19436
932         * NEWS: Mention setting breakpoints on functions with C++ ABI
933         tags.
934         * completer.h (completion_match_for_lcd) <match,
935         mark_ignored_range>: New methods.
936         <finish>: Consider ignored ranges.
937         <clear>: Clear ignored ranges.
938         <m_ignored_ranges, m_finished_storage>: New fields.
939         * cp-support.c (cp_search_name_hash): Ignore ABI tags.
940         (cp_symbol_name_matches_1, cp_fq_symbol_name_matches): Pass the
941         completion_match_for_lcd pointer to strncmp_iw_with_mode.
942         (test_cp_symbol_name_cmp): Add [abi:...] tags unit tests.
943         * language.c (default_symbol_name_matcher): Pass the
944         completion_match_for_lcd pointer to strncmp_iw_with_mode.
945         * linespec.c (linespec_lexer_lex_string): Don't tokenize ABI tags.
946         * utils.c (skip_abi_tag): New function.
947         (strncmp_iw_with_mode): Add completion_match_for_lcd parameter.
948         Handle ABI tags.
949         * utils.h (strncmp_iw_with_mode): Add completion_match_for_lcd
950         parameter.
951
952 2017-11-29  Pedro Alves  <palves@redhat.com>
953
954         PR c++/19436
955         * NEWS: Mention setting breakpoints on functions with C++ ABI
956         tags.
957         * completer.h (completion_match_for_lcd) <match,
958         mark_ignored_range>: New methods.
959         <finish>: Consider ignored ranges.
960         <clear>: Clear ignored ranges.
961         <m_ignored_ranges, m_finished_storage>: New fields.
962         * cp-support.c (cp_search_name_hash): Ignore ABI tags.
963         (cp_symbol_name_matches_1, cp_fq_symbol_name_matches): Pass the
964         completion_match_for_lcd pointer to strncmp_iw_with_mode.
965         (test_cp_symbol_name_cmp): Add [abi:...] tags unit tests.
966         * language.c (default_symbol_name_matcher): Pass the
967         completion_match_for_lcd pointer to strncmp_iw_with_mode.
968         * linespec.c (linespec_lexer_lex_string): Don't tokenize ABI tags.
969         * utils.c (skip_abi_tag): New function.
970         (strncmp_iw_with_mode): Add completion_match_for_lcd parameter.
971         Handle ABI tags.
972         * utils.h (strncmp_iw_with_mode): Add completion_match_for_lcd
973         parameter.
974
975 2017-11-29  Pedro Alves  <palves@redhat.com>
976
977         * NEWS: Mention that breakpoints on C++ functions are now set on
978         on all namespaces/classes by default, and mention "break
979         -qualified".
980         * ax-gdb.c (agent_command_1): Adjust to pass a
981         symbol_name_match_type to new_linespec_location.
982         * breakpoint.c (parse_breakpoint_sals): Adjust to
983         get_linespec_location's return type change.
984         (strace_marker_create_sals_from_location): Adjust to pass a
985         symbol_name_match_type to new_linespec_location.
986         (strace_marker_decode_location): Adjust to get_linespec_location's
987         return type change.
988         (strace_command): Adjust to pass a symbol_name_match_type to
989         new_linespec_location.
990         (LOCATION_HELP_STRING): Add paragraph about wildmatching, and
991         mention "-qualified".
992         * c-lang.c (cplus_language_defn): Install cp_search_name_hash.
993         * completer.c (explicit_location_match_type::MATCH_QUALIFIED): New
994         enumerator.
995         (complete_address_and_linespec_locations): New parameter
996         'match_type'.  Pass it down.
997         (explicit_options): Add "-qualified".
998         (collect_explicit_location_matches): Pass the requested match type
999         to the linespec completers.  Handle MATCH_QUALIFIED.
1000         (location_completer): Handle "-qualified" combined with linespecs.
1001         * cp-support.c (cp_search_name_hash): New.
1002         (cp_symbol_name_matches_1): Implement wild matching for C++.
1003         (cp_fq_symbol_name_matches): Reimplement.
1004         (cp_get_symbol_name_matcher): Return different matchers depending
1005         on the lookup name's match type.
1006         (selftests::test_cp_symbol_name_matches): Add wild matching tests.
1007         * cp-support.h (cp_search_name_hash): New declaration.
1008         * dwarf2read.c
1009         (selftests::dw2_expand_symtabs_matching::test_symbols): Add
1010         symbols.
1011         (test_dw2_expand_symtabs_matching_symbol): Add wild matching
1012         tests.
1013         * guile/scm-breakpoint.c (gdbscm_register_breakpoint_x): Adjust to
1014         pass a symbol_name_match_type to new_linespec_location.
1015         * linespec.c (linespec_parse_basic): Lookup function symbols using
1016         the parser's symbol name match type.
1017         (convert_explicit_location_to_linespec): New
1018         symbol_name_match_type parameter.  Pass it down to
1019         find_linespec_symbols.
1020         (convert_explicit_location_to_sals): Pass the location's name
1021         match type to convert_explicit_location_to_linespec.
1022         (parse_linespec): New match_type parameter.  Save it in the
1023         parser.
1024         (linespec_parser_new): Default to symbol_name_match_type::WILD.
1025         (linespec_complete_function): New symbol_name_match_type
1026         parameter.  Use it.
1027         (complete_linespec_component): Pass down the parser's recorded
1028         name match type.
1029         (linespec_complete_label): New symbol_name_match_type parameter.
1030         Use it.
1031         (linespec_complete): New symbol_name_match_type parameter.  Save
1032         it in the parser and pass it down.  Adjust to
1033         get_linespec_location's prototype change.
1034         (find_function_symbols, find_linespec_symbols): New
1035         symbol_name_match_type parameter.  Pass it down instead of
1036         assuming symbol_name_match_type::WILD.
1037         * linespec.h (linespec_complete, linespec_complete_function)
1038         (linespec_complete_label): New symbol_name_match_type parameter.
1039         * location.c (event_location::linespec_location): Now a struct
1040         linespec_location.
1041         (EL_LINESPEC): Adjust.
1042         (initialize_explicit_location): Default to
1043         symbol_name_match_type::WILD.
1044         (new_linespec_location): New symbol_name_match_type parameter.
1045         Record it in the location.
1046         (get_linespec_location): Now returns a struct linespec_location.
1047         (new_explicit_location): Also copy func_name_match_type.
1048         (explicit_to_string_internal)
1049         (string_to_explicit_location): Handle "-qualified".
1050         (copy_event_location): Adjust to LINESPEC_LOCATION type change.
1051         Copy symbol_name_match_type fields.
1052         (event_location_deleter::operator()): Adjust to LINESPEC_LOCATION
1053         type change.
1054         (event_location_to_string): Adjust to LINESPEC_LOCATION type
1055         change.  Handle "-qualfied".
1056         (string_to_explicit_location): Handle "-qualified".
1057         (string_to_event_location_basic): New symbol_name_match_type
1058         parameter.  Pass it down.
1059         (string_to_event_location): Handle "-qualified".
1060         * location.h (struct linespec_location): New.
1061         (explicit_location::func_name_match_type): New field.
1062         (new_linespec_location): Now returns a const linespec_location *.
1063         (string_to_event_location_basic): New symbol_name_match_type
1064         parameter.
1065         (explicit_completion_info::saw_explicit_location_option): New
1066         field.
1067         * mi/mi-cmd-break.c (mi_cmd_break_insert_1): Adjust to pass a
1068         symbol_name_match_type to new_linespec_location.
1069         * python/py-breakpoint.c (bppy_init): Likewise.
1070         * python/python.c (gdbpy_decode_line): Likewise.
1071
1072 2017-11-29  Pedro Alves  <palves@redhat.com>
1073
1074         * ada-lang.c (ada_lookup_name_info::matches): Change type of
1075         parameter from completion_match to completion_match_result.
1076         Adjust.
1077         (do_wild_match, do_full_match, ada_symbol_name_matches): Likewise.
1078         * completer.c (completion_tracker::maybe_add_completion): Add
1079         match_for_lcd parameter and use it.
1080         (completion_tracker::add_completion): Likewise.
1081         * completer.h (class completion_match_for_lcd): New class.
1082         (completion_match_result::match_for_lcd): New field.
1083         (completion_match_result::set_match): New method.
1084         (completion_tracker): Add comments.
1085         (completion_tracker::add_completion): Add match_for_lcd parameter.
1086         (completion_tracker::reset_completion_match_result): Reset
1087         match_for_lcd too.
1088         (completion_tracker::maybe_add_completion): Add match_for_lcd
1089         parameter.
1090         (completion_tracker::m_lowest_common_denominator_unique): Extend
1091         comments.
1092         * cp-support.c (cp_symbol_name_matches_1)
1093         (cp_fq_symbol_name_matches): Change type of parameter from
1094         completion_match to completion_match_result.  Adjust.
1095         * language.c (default_symbol_name_matcher): Change type of
1096         parameter from completion_match to completion_match_result.
1097         Adjust.
1098         * language.h (completion_match_for_lcd): Forward declare.
1099         (default_symbol_name_matcher): Change type of parameter from
1100         completion_match to completion_match_result.
1101         * symtab.c (compare_symbol_name): Adjust.
1102         (completion_list_add_name): Pass the match_for_lcd to the tracker.
1103         * symtab.h (ada_lookup_name_info::matches): Change type of
1104         parameter from completion_match to completion_match_result.
1105         (symbol_name_matcher_ftype): Likewise, and update comments.
1106
1107 2017-11-29  Pedro Alves  <palves@redhat.com>
1108
1109         * linespec.c (minsym_found, add_minsym): Use msymbol_is_function.
1110         * minsyms.c (msymbol_is_text): Delete.
1111         (msymbol_is_function): New function.
1112         * minsyms.h (msymbol_is_text): Delete.
1113         (msymbol_is_function): New declaration.
1114         * symtab.c (find_function_alias_target): Use msymbol_is_function.
1115
1116 2017-11-29  Tom Tromey  <tom@tromey.com>
1117
1118         * Makefile.in (distclean): Handle the case where rmdir fails.
1119
1120 2017-11-29  Tom Tromey  <tom@tromey.com>
1121
1122         * symfile.c (_initialize_symfile): Update usage text for
1123         add-symbol-file, symbol-file, load.
1124
1125 2017-11-29  Tom Tromey  <tom@tromey.com>
1126
1127         * symfile.c (add_symbol_file_command): Error if some arguments to
1128         -s are missing.  Change unrecognized-argument error message.
1129         (_initialize_symfile): Fix usage text for add-symbol-file.
1130
1131 2017-11-27  Tom Tromey  <tom@tromey.com>
1132
1133         * Makefile.in (REMOTE_OBS): Remove.
1134         (SFILES): Remove remote sources.
1135         (COMMON_SFILES): Add remote sources.
1136         (ALLDEPFILES): Remove dcache.c.
1137
1138 2017-11-27  Tom Tromey  <tom@tromey.com>
1139
1140         * Makefile.in (SUBDIR_TARGET_SRCS, SUBDIR_TARGET_OBS): New
1141         variables.
1142         (SFILES): Use SUBDIR_TARGET_SRCS.
1143         (COMMON_OBS): Use SUBDIR_TARGET_OBS.  Remove waitstatus.o.
1144         (CONFIG_SRC_SUBDIR): Add target.
1145         (%.o): Remove target rule.
1146
1147 2017-11-27  Tom Tromey  <tom@tromey.com>
1148
1149         * Makefile.in (COMMON_OBS): Remove filename-seen-cache.o,
1150         registry.o, thread-fsm.o, debug.o.
1151         (COMMON_SFILES): Add filename-seen-cache.c, registry.c,
1152         thread-fsm.c, debug.c.
1153
1154 2017-11-27  Tom Tromey  <tom@tromey.com>
1155
1156         * Makefile.in (COMMON_SFILES): New.
1157         (SFILES): Move some entries to COMMON_SFILES.
1158         (COMMON_OBS): Use COMMON_SFILES.
1159
1160 2017-11-27  Tom Tromey  <tom@tromey.com>
1161
1162         * Makefile.in (YYFILES): Update comment.
1163         (YYOBJ): Redefine.
1164
1165 2017-11-27  Tom Tromey  <tom@tromey.com>
1166
1167         * Makefile.in (SUBDIR_PYTHON_OBS): Redefine.
1168         (CONFIG_SRC_SUBDIR): Add python.
1169         (%.o): Remove python rule.
1170         (python/%.o): New rule.
1171         * configure: Rebuild.
1172         * configure.ac (CONFIG_OBS): Refer to python/python.o
1173
1174 2017-11-27  Tom Tromey  <tom@tromey.com>
1175
1176         * configure: Rebuild.
1177         * configure.ac (CONFIG_OBS): Refer to guile/guile.o.
1178         * Makefile.in (SUBDIR_GUILE_OBS): Redefine.
1179         (CONFIG_SRC_SUBDIR): Add guile.
1180         (%.o): Remove guile rule.
1181
1182 2017-11-27  Tom Tromey  <tom@tromey.com>
1183
1184         * Makefile.in (SUBDIR_UNITTESTS_OBS): Redefine.
1185         (%.o): Remove unittests rule.
1186         (CONFIG_SRC_SUBDIR): Add unittests.
1187
1188 2017-11-27  Tom Tromey  <tom@tromey.com>
1189
1190         * Makefile.in (SUBDIR_TUI_OBS): Redefine.
1191         (CONFIG_SRC_SUBDIR): Add tui.
1192         (%.o): Remove tui rule.
1193
1194 2017-11-27  Tom Tromey  <tom@tromey.com>
1195
1196         * Makefile.in (SUBDIR_GCC_COMPILE_OBS): Redefine.
1197         (%.o): Remove compile rule.
1198         (CONFIG_SRC_SUBDIR): Add compile.
1199
1200 2017-11-27  Tom Tromey  <tom@tromey.com>
1201
1202         * Makefile.in (SUBDIR_MI_OBS): Redefine.
1203         (%.o): Remove mi rule.
1204         (CONFIG_SRC_SUBDIR): Add mi.
1205         (COMMON_OBS): Use mi/mi-common.o
1206
1207 2017-11-27  Tom Tromey  <tom@tromey.com>
1208
1209         * Makefile.in (SUBDIR_CLI_OBS): Redefine.
1210         (%.o): Remove cli rule.
1211         (CONFIG_SRC_SUBDIR): Add cli.
1212
1213 2017-11-27  Tom Tromey  <tom@tromey.com>
1214
1215         * configure.ac (CONFIG_SRC_SUBDIR): Don't subst.
1216         * configure: Rebuild.
1217         * Makefile.in (CONFIG_SRC_SUBDIR): Redefine.
1218         (CONFIG_DEP_SUBDIR): New variable.
1219         (%.o): Add order-only dependency.
1220         ($(CONFIG_DEP_SUBDIR)): New target.
1221
1222 2017-11-26  Dominik Czarnota  <dominik.b.czarnota@gmail.com>
1223
1224         PR gdb/21945
1225         * findcmd.c (_initialize_mem_search): Update find command help
1226         text.
1227
1228 2017-11-26  Simon Marchi  <simon.marchi@polymtl.ca>
1229
1230         * python/python.c (do_start_initialization): Change progname
1231         type to gdb::unique_xmalloc_ptr.  Release the pointer when using
1232         Python 2.
1233
1234 2017-11-26  Tom Tromey  <tom@tromey.com>
1235
1236         * common/format.h: Add include guards.
1237
1238 2017-11-26  Tom Tromey  <tom@tromey.com>
1239
1240         * nat/linux-personality.h (class
1241         maybe_disable_address_space_randomization): New class.
1242         (maybe_disable_address_space_randomization): Don't declare
1243         function.
1244         * nat/linux-personality.c (restore_personality)
1245         (make_disable_asr_cleanup): Remove.
1246         (maybe_disable_address_space_randomization): Now a constructor.
1247         (~maybe_disable_address_space_randomization): New destructor.
1248         * linux-nat.c (linux_nat_create_inferior): Update.
1249
1250 2017-11-26  Tom Tromey  <tom@tromey.com>
1251
1252         * gcore.c (write_gcore_file_1): Use gdb::unique_xmalloc_ptr.
1253
1254 2017-11-26  Ulrich Weigand  <uweigand@de.ibm.com>
1255
1256         * spu-tdep.c (spu_software_single_step): Access SPU_LSLR_REGNUM as
1257         "cooked" register.  Access only first four bytes of branch target
1258         registers.
1259
1260 2017-11-25  Sergio Durigan Junior  <sergiodj@redhat.com>
1261
1262         PR gdb/22491
1263         * stap-probe.c (relocate_address): New function.
1264         (stap_probe::get_relocated_address): Use 'relocate_address'.
1265         (stap_probe::set_semaphore): Use 'relocate_address' and pass
1266         'm_sem_addr'.
1267         (stap_probe::clear_semaphore): Likewise.
1268
1269 2017-11-25  Pedro Alves  <palves@redhat.com>
1270
1271         * dictionary.c: Include "safe-ctype.h".
1272         * minsyms.c: Include "safe-ctype.h".
1273         * minsyms.c (SYMBOL_HASH_NEXT): Use TOLOWER instead of tolower.
1274
1275 2017-11-25   Pedro Alves  <palves@redhat.com>
1276
1277         * completer.c (complete_line_internal_1): Skip spaces until the
1278         start of the command.
1279
1280 2017-11-24  Pedro Alves  <palves@redhat.com>
1281
1282         * cp-support.c (cp_symbol_name_matches_1): New, factored out from
1283         cp_fq_symbol_name_matches.  Pass language_cplus to
1284         strncmp_with_mode.
1285         (cp_fq_symbol_name_matches): Call cp_symbol_name_matches_1.
1286         (selftests::test_cp_symbol_name_cmp): New.
1287         (_initialize_cp_support): Register "cp_symbol_name_matches"
1288         selftests.
1289         * language.c (default_symbol_name_matcher): Pass language_minimal
1290         to strncmp_iw_with_mode.
1291         * utils.c: Include "cp-support.h" and <algorithm>.
1292         (valid_identifier_name_char, cp_skip_operator_token, skip_ws)
1293         (cp_is_operator): New functions.
1294         (strncmp_iw_with_mode): Use them.  Add language parameter.  Don't
1295         skip whitespace in the symbol name when the lookup name doesn't
1296         have spaces, and vice versa.
1297         (strncmp_iw, strcmp_iw): Pass language to strncmp_iw_with_mode.
1298         * utils.h (strncmp_iw_with_mode): Add language parameter.
1299
1300 2017-11-24  Joel Brobecker  <brobecker@adacore.com>
1301
1302         * ada-lang.c (ada_exception_message_1, ada_exception_message):
1303         New functions.
1304         (print_it_exception): If available, display the exception
1305         message as well.
1306         * NEWS: Document new feature.
1307
1308 2017-11-24  Ulrich Weigand  <uweigand@de.ibm.com>
1309
1310         * configure.nat <spu-linux>: Add fork-inferior.o to NATDEPFILES.
1311
1312 2017-11-24  Philipp Rudo  <prudo@linux.vnet.ibm.com>
1313
1314         * dtrace-probe.c (dtrace_probe::build_arg_exprs)
1315         (dtrace_probe::is_enabled, dtrace_probe::enable)
1316         (dtrace_probe::disable): Remove keyword 'struct' at for-range
1317         variable
1318         * probe.c (gen_ui_out_table_header_info)
1319         (print_ui_out_not_applicables):  Remove keyword 'struct' at
1320         for-range variable
1321
1322 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1323
1324         * configure.tgt: Add arch/aarch64.o
1325
1326 2017-11-24  Simon Marchi  <simon.marchi@polymtl.ca>
1327
1328         * common/common-utils.h: Include poison.h.
1329         (xfree): Remove declaration, add definition with static_assert.
1330         * common/common-utils.c (xfree): Remove.
1331         * common/poison.h (IsMallocatable): Define.
1332         (IsFreeable): Define.
1333         (free): Delete for non-freeable types.
1334         (xnew): New.
1335         (XNEW): Undef and redefine.
1336         (xcnew): New.
1337         (XCNEW): Undef and redefine.
1338         (xdelete): New.
1339         (XDELETE): Undef and redefine.
1340         (xnewvec): New.
1341         (XNEWVEC): Undef and redefine.
1342         (xcnewvec): New.
1343         (XCNEWVEC): Undef and redefine.
1344         (xresizevec): New.
1345         (XRESIZEVEC): Undef and redefine.
1346         (xdeletevec): New.
1347         (XDELETEVEC): Undef and redefine.
1348         (xnewvar): New.
1349         (XNEWVAR): Undef and redefine.
1350         (xcnewvar): New.
1351         (XCNEWVAR): Undef and redefine.
1352         (xresizevar): New.
1353         (XRESIZEVAR): Undef and redefine.
1354
1355 2017-11-24  Simon Marchi  <simon.marchi@polymtl.ca>
1356
1357         * gdbthread.h (private_thread_info): Define structure type, add
1358         virtual pure destructor.
1359         (thread_info) <priv>: Change type to unique_ptr.
1360         <private_dtor>: Remove.
1361         * thread.c (add_thread_with_info): Adjust to use of unique_ptr.
1362         (private_thread_info::~private_thread_info): Provide default
1363         implementation.
1364         (thread_info::~thread_info): Don't call private_dtor nor
1365         manually free priv.
1366         * aix-thread.c (private_thread_info): Rename to ...
1367         (aix_thread_info): ... this.
1368         (get_aix_thread_info): New.
1369         (sync_threadlists): Adjust.
1370         (iter_tid): Adjust.
1371         (aix_thread_resume): Adjust.
1372         (aix_thread_fetch_registers): Adjust.
1373         (aix_thread_store_registers): Adjust.
1374         (aix_thread_extra_thread_info): Adjust.
1375         * darwin-nat.h (private_thread_info): Rename to ...
1376         (darwin_thread_info): ... this.
1377         (get_darwin_thread_info): New.
1378         * darwin-nat.c (darwin_init_thread_list): Adjust.
1379         (darwin_check_new_threads): Adjust.
1380         (thread_info_from_private_thread_info): Adjust.
1381         * linux-thread-db.c (private_thread_info): Rename to ...
1382         (thread_db_thread_info): ... this, initialize fields.
1383         (get_thread_db_thread_info): New.
1384         <dying>: Change type to bool.
1385         (update_thread_state): Adjust to type rename.
1386         (record_thread): Adjust to type rename an use of unique_ptr.
1387         (thread_db_pid_to_str): Likewise.
1388         (thread_db_extra_thread_info): Likewise.
1389         (thread_db_thread_handle_to_thread_info): Likewise.
1390         (thread_db_get_thread_local_address): Likewise.
1391         * nto-tdep.h (private_thread_info): Rename to ...
1392         (nto_thread_info): ... this, initialize fields.
1393         (get_nto_thread_info): New.
1394         <name>: Change type to std::string.
1395         * nto-tdep.c (nto_extra_thread_info): Adjust to type rename and
1396         use of unique_ptr.
1397         * nto-procfs.c (update_thread_private_data_name): Adjust to
1398         std::string change, allocate nto_private_thread_info with new.
1399         (update_thread_private_data): Adjust to unique_ptr.
1400         * remote.c (private_thread_info): Rename to ...
1401         (remote_thread_info): ... this, initialize data members with
1402         default values.
1403         <extra, name>: Change type to std::string.
1404         <thread_handle>: Change type to non-pointer.
1405         (free_private_thread_info): Remove.
1406         (get_private_info_thread): Rename to...
1407         (get_remote_thread_info): ... this, change return type, adjust to
1408         use of unique_ptr, use remote_thread_info constructor.
1409         (remote_add_thread): Adjust.
1410         (get_private_info_ptid): Rename to...
1411         (get_remote_thread_info): ...this, change return type.
1412         (remote_thread_name): Use get_remote_thread_info, adjust to
1413         change to std::string.
1414         (struct thread_item) <~thread_item>: Remove.
1415         <thread_handle>: Make non pointer.
1416         (start_thread): Adjust to thread_item::thread_handle type
1417         change.
1418         (remote_update_thread_list): Adjust to type name change, move
1419         strings from temporary to long-lived object instead of
1420         duplicating.
1421         (remote_threads_extra_info): Use get_remote_thread_info.
1422         (process_initial_stop_replies): Likewise.
1423         (resume_clear_thread_private_info): Likewise.
1424         (remote_resume): Adjust to type name change.
1425         (remote_commit_resume): Use get_remote_thread_info.
1426         (process_stop_reply): Adjust to type name change.
1427         (remote_stopped_by_sw_breakpoint): Use get_remote_thread_info.
1428         (remote_stopped_by_hw_breakpoint): Likewise.
1429         (remote_stopped_by_watchpoint): Likewise.
1430         (remote_stopped_data_address): Likewise.
1431         (remote_core_of_thread): Likewise.
1432         (remote_thread_handle_to_thread_info): Use
1433         get_private_info_thread, adjust to thread_handle field type
1434         change.
1435
1436 2017-11-24  Simon Marchi  <simon.marchi@polymtl.ca>
1437
1438         * remote.c (struct thread_item): Add constructor, disable copy
1439         construction and copy assignment, define default move
1440         construction and move assignment.
1441         <extra, name>: Change type to std::string.
1442         <core>: Initialize.
1443         <thread_handle>: Make non-pointer.
1444         (thread_item_t): Remove typedef.
1445         (DEF_VEC_O(thread_item_t)): Remove.
1446         (threads_listing_context) <contains_thread>: New method.
1447         <remove_thread>: New method.
1448         <items>: Change type to std::vector.
1449         (clear_threads_listing_context): Remove.
1450         (threads_listing_context_remove): Remove.
1451         (remote_newthread_step): Use thread_item constructor, adjust to
1452         change to std::vector.
1453         (start_thread): Use thread_item constructor, adjust to change to
1454         std::vector.
1455         (end_thread): Adjust to change to std::vector and std::string.
1456         (remote_get_threads_with_qthreadinfo): Use thread_item
1457         constructor, adjust to std::vector.
1458         (remote_update_thread_list): Adjust to change to std::vector and
1459         std::string, use threads_listing_context methods.
1460         (remove_child_of_pending_fork): Adjust.
1461         (remove_new_fork_children): Adjust.
1462         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add rsp-low-selftests.c.
1463         (SUBDIR_UNITTESTS_OBS): Add rsp-low-selftests.o.
1464         * unittests/rsp-low-selftests.c: New file.
1465         * common/rsp-low.h: Include common/byte-vector.h.
1466         (hex2bin): New overload.
1467         * common/rsp-low.c (hex2bin): New overload.
1468
1469 2017-11-24  Simon Marchi  <simon.marchi@ericsson.com>
1470
1471         * inferior.h (private_inferior): Define structure type, add
1472         virtual pure destructor.
1473         (inferior) <priv>: Change type to unique_ptr.
1474         * inferior.c (private_inferior::~private_inferior): Provide
1475         default implementation.
1476         (inferior::~inferior): Don't free priv field.
1477         (exit_inferior_1): Likewise.
1478         * darwin-nat.h (struct darwin_exception_info): Initialize fields.
1479         (darwin_exception_info): Remove typedef.
1480         (DEF_VEC_O (darwin_thread_t)); Remove.
1481         (private_inferior): Rename to ...
1482         (darwin_private_inferior): ... this, extend private_inferior.
1483         (get_darwin_inferior): New.
1484         <threads>: Change type to std::vector of darwin_thread_t pointers.
1485         * darwin-nat.c (darwin_check_new_threads): Adjust.
1486         (find_inferior_task_it): Adjust.
1487         (darwin_find_thread); Adjust.
1488         (darwin_suspend_inferior): Adjust.
1489         (darwin_resume_inferior): Adjust.
1490         (darwin_find_new_inferior): Adjust.
1491         (darwin_decode_notify_message): Adjust.
1492         (darwin_send_reply): Adjust.
1493         (darwin_resume_inferior_threads): Adjust.
1494         (darwin_suspend_inferior_threads): Adjust.
1495         (darwin_decode_message): Adjust.
1496         (darwin_wait): Adjust.
1497         (darwin_interrupt): Adjust.
1498         (darwin_deallocate_threads): Adjust.
1499         (darwin_mourn_inferior): Adjust, don't free private data.
1500         (darwin_reply_to_all_pending_messages): Adjust.
1501         (darwin_stop_inferior): Adjust.
1502         (darwin_setup_exceptions): Adjust.
1503         (darwin_kill_inferior): Adjust.
1504         (darwin_setup_request_notification): Adjust.
1505         (darwin_attach_pid): Adjust.
1506         (darwin_init_thread_list): Adjust.
1507         (darwin_setup_fake_stop_event): Adjust.
1508         (darwin_attach): Adjust.
1509         (darwin_detach): Adjust.
1510         (darwin_xfer_partial): Adjust.
1511         (set_enable_mach_exceptions): Adjust.
1512         (darwin_pid_to_exec_file): Adjust.
1513         (darwin_get_ada_task_ptid): Adjust.
1514         * darwin-nat-info.c (get_task_from_args): Adjust.
1515         (info_mach_ports_command): Adjust.
1516         (info_mach_region_command): Adjust.
1517         (info_mach_exceptions_command): Adjust.
1518         * remote.c (private_inferior): Rename to ...
1519         (remote_private_inferior): ... this, initialize fields.
1520         (get_remote_inferior); New.
1521         (remote_commit_resume): Use get_remote_inferior.
1522         (check_pending_event_prevents_wildcard_vcont_callback): Likewise.
1523
1524 2017-11-24  Pedro Alves  <palves@redhat.com>
1525
1526         * NEWS: Mention linespecs and explicit locations, and completion
1527         improvements.
1528
1529 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1530
1531         * regcache.c (regcache::dump): Remove footnote_register_size.
1532
1533 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1534
1535         * regcache.c (cooked_read_test): Add more test for readonly
1536         regcache.
1537
1538 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1539
1540         * gdbarch-selftests.c (test_target_has_registers): Move it to
1541         target.c.
1542         (test_target_has_stack): Likewise.
1543         (test_target_has_memory): Likewise.
1544         (test_target_prepare_to_store): Likewise.
1545         (test_target_store_registers): Likewise.
1546         (test_target_ops): Likewise.
1547         * regcache.c: Include selftest-arch.h and gdbthread.h.
1548         (target_ops_no_register): New class.
1549         (test_target_fetch_registers): New.
1550         (test_target_store_registers): New.
1551         (test_target_xfer_partial): New.
1552         (readwrite_regcache): New.
1553         (cooked_read_test): New.
1554         (_initialize_regcache): Register the test.
1555         * target.c: (test_target_has_registers): Moved from
1556         gdbarch-selftests.c.
1557         (test_target_has_stack): Likewise.
1558         (test_target_has_memory): Likewise.
1559         (test_target_prepare_to_store): Likewise.
1560         (test_target_store_registers): Likewise.
1561         * target.h (test_target_ops): New class.
1562
1563 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1564
1565         * aarch64-tdep.c (_initialize_aarch64_tdep): Add target desc
1566         selftest.
1567
1568 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1569
1570         * aarch64-tdep.c (_initialize_aarch64_tdep): Remove init.
1571         * arch/aarch64.c (aarch64_create_target_description): Create
1572         new target description.
1573         * features/Makefile: Add new files.
1574         * features/aarch64.c: Remove file.
1575         * features/aarch64-core.c: New autogenerated file.
1576         * features/aarch64-fpu.c: New autogenerated file.
1577         * target-descriptions.c (maint_print_c_tdesc_cmd): Check for aarch64.
1578
1579 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1580
1581         * Makefile.in: Add new files.
1582         * aarch64-linux-nat.c (aarch64_linux_read_description): Call
1583         aarch64_read_description.
1584         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
1585         Call aarch64_read_description.
1586         * aarch64-tdep.c (aarch64_read_description): New function.
1587         (aarch64_gdbarch_init): Call aarch64_read_description.
1588         * aarch64-tdep.h (aarch64_read_description): New function.
1589         * arch/aarch64.c: New file.
1590         * configure.tgt: Add new files.
1591
1592 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1593
1594         * mi/mi-main.c (register_changed_p): Update.
1595         * value.c (value_contents_bits_eq): Change return type.
1596         (value_contents_eq): Likewise.
1597         * value.h: Update comments.
1598
1599 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1600
1601         * mi/mi-main.c (mi_cmd_data_list_changed_registers): Remove
1602         local 'changed'.  Remove error.
1603         (register_changed_p): Change return type to bool.
1604
1605 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1606
1607         * arch/tic6x.c: New file.
1608         * arch/tic6x.h: New file.
1609         * features/Makefile (FEATURE_XMLFILES): Add tic6x-c6xp.xml,
1610         tic6x-core.xml and tic6x-gp.xml.
1611         * features/tic6x-c6xp.c: Generated.
1612         * features/tic6x-core.c: Generated.
1613         * features/tic6x-gp.c: Generated.
1614         * target-descriptions.c (maint_print_c_tdesc_cmd): Match
1615         "tic6x-".
1616
1617 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1618
1619         * mi/mi-main.c (list_available_thread_groups): Change map value
1620         type to std::vector.
1621
1622 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1623
1624         * osdata.c (osdata_end_column, get_osdata): Remove std::move.
1625
1626 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1627
1628         * varobj.c (struct varobj_dynamic) <children_requested_>: Rename
1629         back to...
1630         <children_requested>: ... this.
1631         (varobj_get_num_children, varobj_update): Adjust.
1632
1633 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1634
1635         * ada-varobj.c (ada_value_is_changeable_p): Change int to bool where applicable.
1636         (ada_value_has_mutated): Likewise.
1637         * c-varobj.c (varobj_is_anonymous_child): Likewise.
1638         (c_is_path_expr_parent): Likewise.
1639         * mi/mi-cmd-var.c (varobj_update_one): Likewise.
1640         (mi_cmd_var_set_frozen): Likewise.
1641         (mi_cmd_var_update_iter): Likewise.
1642         (mi_cmd_var_update): Likewise.
1643         * varobj.c (pretty_printing): Likewise.
1644         (varobj_enable_pretty_printing): Likewise.
1645         (struct varobj_root) <floating, is_valid>: Likewise.
1646         (struct varobj_dynamic) <children_requested>: Likewise.
1647         (delete_variable): Likewise.
1648         (delete_variable_1): Likewise.
1649         (install_variable): Likewise.
1650         (update_type_if_necessary): Likewise.
1651         (install_new_value): Likewise.
1652         (value_of_root): Likewise.
1653         (is_root_p): Likewise.
1654         (varobj_create): Likewise.
1655         (varobj_delete): Likewise.
1656         (varobj_has_more): Likewise.
1657         (varobj_set_frozen): Likewise.
1658         (varobj_get_frozen): Likewise.
1659         (install_dynamic_child): Likewise.
1660         (dynamic_varobj_has_child_method): Likewise.
1661         (update_dynamic_varobj_children): Likewise.
1662         (varobj_get_num_children): Likewise.
1663         (varobj_list_children): Likewise.
1664         (is_path_expr_parent): Likewise.
1665         (varobj_default_is_path_expr_parent): Likewise.
1666         (varobj_is_dynamic_p): Likewise.
1667         (varobj_set_value): Likewise.
1668         (varobj_value_has_mutated): Likewise.
1669         (varobj_update): Likewise.
1670         (check_scope): Likewise.
1671         (value_of_root_1): Likewise.
1672         (varobj_value_get_print_value): Likewise.
1673         (varobj_editable_p): Likewise.
1674         (varobj_value_is_changeable_p): Likewise.
1675         (varobj_floating_p): Likewise.
1676         (varobj_default_value_is_changeable_p): Likewise.
1677         (varobj_invalidate_iter): Likewise.
1678         * varobj.h (struct varobj_update_result) <type_changed,
1679         children_changed, changed, value_installed>: Likewise.
1680         (struct varobj) <updated, frozen, not_fetched>: Likewise.
1681         (struct lang_varobj_ops) <value_is_changeable_p,
1682         value_has_mutated, is_path_expr_parent>: Likewise.
1683         (varobj_delete): Likewise.
1684         (varobj_set_frozen): Likewise.
1685         (varobj_get_frozen): Likewise.
1686         (varobj_set_value): Likewise.
1687         (varobj_update): Likewise.
1688         (varobj_editable_p): Likewise.
1689         (varobj_floating_p): Likewise.
1690         (varobj_has_more): Likewise.
1691         (varobj_is_dynamic_p): Likewise.
1692         (varobj_default_value_is_changeable_p): Likewise.
1693         (varobj_value_is_changeable_p): Likewise.
1694         (varobj_is_anonymous_child): Likewise.
1695         (varobj_default_is_path_expr_parent): Likewise.
1696
1697 2017-11-22  Sergio Durigan Junior  <sergiodj@redhat.com>
1698
1699         * dtrace-probe.c (struct probe_ops dtrace_probe_ops): Delete.
1700         (struct dtrace_probe_arg) <dtrace_probe_arg>: New constructor.
1701         <type_str>: Convert to 'std::string'.
1702         <expr>: Convert to 'expression_up'.
1703         (dtrace_probe_arg_s): Delete type and VEC.
1704         (dtrace_probe_enabler_s): Likewise.
1705         (struct dtrace_probe): Replace by...
1706         (class dtrace_static_probe_ops): ...this and...
1707         (class dtrace_probe): ...this.
1708         (dtrace_probe_is_linespec): Rename to...
1709         (dtrace_static_probe_ops::is_linespec): ...this.  Adjust code
1710         to reflect change.
1711         (dtrace_process_dof_probe): Use 'std::vector' instead of VEC.
1712         Adjust code.  Create new instance of 'dtrace_probe'.
1713         (dtrace_build_arg_exprs): Rename to...
1714         (dtrace_probe::build_arg_exprs): ...this.  Adjust code to
1715         reflect change.
1716         (dtrace_get_probes): Rename to...
1717         (dtrace_static_probe_ops::get_probes): ...this.  Adjust code
1718         to reflect change.
1719         (dtrace_get_arg): Rename to...
1720         (dtrace_probe::get_arg_by_number): ...this.  Adjust code to
1721         reflect change.
1722         (dtrace_probe_is_enabled): Rename to...
1723         (dtrace_probe::is_enabled): ...this.  Adjust code to reflect
1724         change.
1725         (dtrace_get_probe_address): Rename to...
1726         (dtrace_probe::get_relocated_address): ...this.  Adjust code
1727         to reflect change.
1728         (dtrace_get_probe_argument_count): Rename to...
1729         (dtrace_probe::get_argument_count): ...this.  Adjust code to
1730         reflect change.
1731         (dtrace_can_evaluate_probe_arguments): Rename to...
1732         (dtrace_probe::can_evaluate_arguments): ...this.  Adjust code
1733         to reflect change.
1734         (dtrace_evaluate_probe_argument): Rename to...
1735         (dtrace_probe::evaluate_argument): ...this.  Adjust code to
1736         reflect change.
1737         (dtrace_compile_to_ax): Rename to...
1738         (dtrace_probe::compile_to_ax): ...this.  Adjust code to
1739         reflect change.
1740         (dtrace_probe_destroy): Delete.
1741         (dtrace_type_name): Rename to...
1742         (dtrace_static_probe_ops::type_name): ...this.  Adjust code to
1743         reflect change.
1744         (dtrace_probe::get_static_ops): New method.
1745         (dtrace_gen_info_probes_table_header): Rename to...
1746         (dtrace_static_probe_ops::gen_info_probes_table_header):
1747         ...this.  Adjust code to reflect change.
1748         (dtrace_gen_info_probes_table_values): Rename to...
1749         (dtrace_probe::gen_info_probes_table_values): ...this.  Adjust
1750         code to reflect change.
1751         (dtrace_enable_probe): Rename to...
1752         (dtrace_probe::enable_probe): ...this.  Adjust code to reflect
1753         change.
1754         (dtrace_disable_probe): Rename to...
1755         (dtrace_probe::disable_probe): ...this.  Adjust code to reflect
1756         change.
1757         (struct probe_ops dtrace_probe_ops): Delete.
1758         (info_probes_dtrace_command): Call 'info_probes_for_spops'
1759         instead of 'info_probes_for_ops'.
1760         (_initialize_dtrace_probe): Use 'all_static_probe_ops' instead
1761         of 'all_probe_ops'.
1762
1763 2017-11-22  Sergio Durigan Junior  <sergiodj@redhat.com>
1764             Simon Marchi  <simark@simark.ca>
1765
1766         * stap-probe.c (struct probe_ops stap_probe_ops): Delete
1767         variable.
1768         (struct stap_probe_arg) <stap_probe_arg>: New constructor.
1769         <aexpr>: Change type to 'expression_up'.
1770         (stap_probe_arg_s): Delete type and VEC.
1771         (struct stap_probe): Delete.  Replace by...
1772         (class stap_static_probe_ops): ...this and...
1773         (class stap_probe): ...this.  Rename variables to add 'm_'
1774         prefix.  Do not use 'union' for arguments anymore.
1775         (stap_get_expected_argument_type): Receive probe name instead
1776         of 'struct stap_probe'.  Adjust code.
1777         (stap_parse_probe_arguments): Rename to...
1778         (stap_probe::parse_arguments): ...this.  Adjust code to
1779         reflect change.
1780         (stap_get_probe_address): Rename to...
1781         (stap_probe::get_relocated_address): ...this.  Adjust code
1782         to reflect change.
1783         (stap_get_probe_argument_count): Rename to...
1784         (stap_probe::get_argument_count): ...this.  Adjust code
1785         to reflect change.
1786         (stap_get_arg): Rename to...
1787         (stap_probe::get_arg_by_number'): ...this. Adjust code to
1788         reflect change.
1789         (can_evaluate_probe_arguments): Rename to...
1790         (stap_probe::can_evaluate_arguments): ...this.  Adjust code
1791         to reflect change.
1792         (stap_evaluate_probe_argument): Rename to...
1793         (stap_probe::evaluate_argument): ...this.  Adjust code
1794         to reflect change.
1795         (stap_compile_to_ax): Rename to...
1796         (stap_probe::compile_to_ax): ...this.  Adjust code to
1797         reflect change.
1798         (stap_probe_destroy): Delete.
1799         (stap_modify_semaphore): Adjust comment.
1800         (stap_set_semaphore): Rename to...
1801         (stap_probe::set_semaphore): ...this.  Adjust code to reflect
1802         change.
1803         (stap_clear_semaphore): Rename to...
1804         (stap_probe::clear_semaphore): ...this.  Adjust code to
1805         reflect change.
1806         (stap_probe::get_static_ops): New method.
1807         (handle_stap_probe): Adjust code to create instance of
1808         'stap_probe'.
1809         (stap_get_probes): Rename to...
1810         (stap_static_probe_ops::get_probes): ...this.  Adjust code to
1811         reflect change.
1812         (stap_probe_is_linespec): Rename to...
1813         (stap_static_probe_ops::is_linespec): ...this.  Adjust code to
1814         reflect change.
1815         (stap_type_name): Rename to...
1816         (stap_static_probe_ops::type_name): ...this.  Adjust code to
1817         reflect change.
1818         (stap_gen_info_probes_table_header): Rename to...
1819         (stap_static_probe_ops::gen_info_probes_table_header):
1820         ...this.  Adjust code to reflect change.
1821         (stap_gen_info_probes_table_values): Rename to...
1822         (stap_probe::gen_info_probes_table_values): ...this.  Adjust
1823         code to reflect change.
1824         (struct probe_ops stap_probe_ops): Delete.
1825         (info_probes_stap_command): Use 'info_probes_for_spops'
1826         instead of 'info_probes_for_ops'.
1827         (_initialize_stap_probe): Use 'all_static_probe_ops' instead
1828         of 'all_probe_ops'.
1829
1830 2017-11-22  Sergio Durigan Junior  <sergiodj@redhat.com>
1831
1832         * break-catch-throw.c (fetch_probe_arguments): Use
1833         'probe.prob' instead of 'probe.probe'.
1834         * breakpoint.c (create_longjmp_master_breakpoint): Call
1835         'can_evaluate_arguments' and 'get_relocated_address' methods
1836         from probe.
1837         (create_exception_master_breakpoint): Likewise.
1838         (add_location_to_breakpoint): Use 'sal->prob' instead of
1839         'sal->probe'.
1840         (bkpt_probe_insert_location): Call 'set_semaphore' method from
1841         probe.
1842         (bkpt_probe_remove_location): Likewise, for 'clear_semaphore'.
1843         * elfread.c (elf_get_probes): Use 'static_probe_ops' instead
1844         of 'probe_ops'.
1845         (probe_key_free): Call 'delete' on probe.
1846         (check_exception_resume): Use 'probe.prob' instead of
1847         'probe.probe'.
1848         * location.c (string_to_event_location_basic): Call
1849         'probe_linespec_to_static_ops'.
1850         * probe.c (class any_static_probe_ops): New class.
1851         (any_static_probe_ops any_static_probe_ops): New variable.
1852         (parse_probes_in_pspace): Receive 'static_probe_ops' as
1853         argument.  Adjust code to reflect change.
1854         (parse_probes): Use 'static_probe_ops' instead of
1855         'probe_ops'.  Adjust code to reflect change.
1856         (find_probes_in_objfile): Call methods to get name and
1857         provider from probe.
1858         (find_probe_by_pc): Use 'result.prob' instead of
1859         'result.probe'.  Call 'get_relocated_address' method from
1860         probe.
1861         (collect_probes): Adjust comment and argument list to receive
1862         'static_probe_ops' instead of 'probe_ops'.  Adjust code to
1863         reflect change.  Call necessary methods from probe.
1864         (compare_probes): Call methods to get name and provider from
1865         probes.
1866         (gen_ui_out_table_header_info): Receive 'static_probe_ops'
1867         instead of 'probe_ops'.  Use 'std::vector' instead of VEC,
1868         adjust code accordingly.
1869         (print_ui_out_not_applicables): Likewise.
1870         (info_probes_for_ops): Rename to...
1871         (info_probes_for_spops): ...this.  Receive 'static_probe_ops'
1872         as argument instead of 'probe_ops'.  Adjust code.  Call
1873         necessary methods from probe.
1874         (info_probes_command): Use 'info_probes_for_spops'.
1875         (enable_probes_command): Pass correct argument to
1876         'collect_probes'.  Call methods from probe.
1877         (disable_probes_command): Likewise.
1878         (get_probe_address): Move to 'any_static_probe_ops::get_address'.
1879         (get_probe_argument_count): Move to
1880         'any_static_probe_ops::get_argument_count'.
1881         (can_evaluate_probe_arguments): Move to
1882         'any_static_probe_ops::can_evaluate_arguments'.
1883         (evaluate_probe_argument): Move to
1884         'any_static_probe_ops::evaluate_argument'.
1885         (probe_safe_evaluate_at_pc): Use 'probe.prob' instead of
1886         'probe.probe'.
1887         (probe_linespec_to_ops): Rename to...
1888         (probe_linespec_to_static_ops): ...this.  Adjust code.
1889         (probe_any_is_linespec): Rename to...
1890         (any_static_probe_ops::is_linespec): ...this.
1891         (probe_any_get_probes): Rename to...
1892         (any_static_probe_ops::get_probes): ...this.
1893         (any_static_probe_ops::type_name): New method.
1894         (any_static_probe_ops::gen_info_probes_table_header): New
1895         method.
1896         (compute_probe_arg): Use 'pc_probe.prob' instead of
1897         'pc_probe.probe'.  Call methods from probe.
1898         (compile_probe_arg): Likewise.
1899         (std::vector<const probe_ops *> all_probe_ops): Delete.
1900         (std::vector<const static_probe_ops *> all_static_probe_ops):
1901         New variable.
1902         (_initialize_probe): Use 'all_static_probe_ops' instead of
1903         'all_probe_ops'.
1904         * probe.h (struct info_probe_column) <field_name>: Delete
1905         extraneous newline
1906         (info_probe_column_s): Delete type and VEC.
1907         (struct probe_ops): Delete.  Replace with...
1908         (class static_probe_ops): ...this and...
1909         (clas probe): ...this.
1910         (struct bound_probe) <bound_probe>: Delete extraneous
1911         newline.  Adjust constructor to receive 'probe' instead of
1912         'struct probe'.
1913         <probe>: Rename to...
1914         <prob>: ...this.  Delete extraneous newline.
1915         <objfile>: Delete extraneous newline.
1916         (register_probe_ops): Delete unused prototype.
1917         (info_probes_for_ops): Rename to...
1918         (info_probes_for_spops): ...this.  Adjust comment.
1919         (get_probe_address): Move to 'probe::get_address'.
1920         (get_probe_argument_count): Move to
1921         'probe::get_argument_count'.
1922         (can_evaluate_probe_arguments): Move to
1923         'probe::can_evaluate_arguments'.
1924         (evaluate_probe_argument): Move to 'probe::evaluate_argument'.
1925         * solib-svr4.c (struct svr4_info): Adjust comment.
1926         (struct probe_and_action) <probe>: Rename to...
1927         <prob>: ...this.
1928         (register_solib_event_probe): Receive 'probe' instead of
1929         'struct probe' as argument.  Use 'prob' instead of 'probe'
1930         when applicable.
1931         (solib_event_probe_action): Call 'get_argument_count' method
1932         from probe.  Adjust comment.
1933         (svr4_handle_solib_event): Adjust comment.  Call
1934         'evaluate_argument' method from probe.
1935         (svr4_create_probe_breakpoints): Call 'get_relocated_address'
1936         from probe.
1937         (svr4_create_solib_event_breakpoints): Use 'probe' instead of
1938         'struct probe'.  Call 'can_evaluate_arguments' from probe.
1939         * symfile.h: Forward declare 'class probe' instead of 'struct
1940         probe'.
1941         * symtab.h: Likewise.
1942         (struct symtab_and_line) <probe>: Rename to...
1943         <prob>: ...this.
1944         * tracepoint.c (start_tracing): Use 'prob' when applicable.
1945         Call probe methods.
1946         (stop_tracing): Likewise.
1947
1948 2017-11-22  Joel Brobecker  <brobecker@adacore.com>
1949
1950         * ravenscar-thread.c (ravenscar_inferior_created): Remove
1951         trailing newline at end of string in call to warning.
1952
1953 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
1954
1955         * osdata.h: Include vector isntead of vec.h.
1956         (osdata_column_s): Remove typedef.
1957         (struct osdata_column): Add constructor.
1958         <name, value>: Change type to std::string.
1959         (DEF_VEC_O (osdata_column_s)): Remove.
1960         (osdata_item_s): Remove typedef.
1961         (struct osdata_item) <columns>: Change type to std::vector.
1962         (DEF_VEC_O (osdata_item_s)): Remove.
1963         (struct osdata): Add constructor.
1964         <type>: Change type to std::string.
1965         <items>: Change type to std::vector.
1966         (osdata_p): Remove typedef.
1967         (DEF_VEC_P (osdata_p)): Remove.
1968         (osdata_parse): Return a unique_ptr.
1969         (osdata_free): Remove.
1970         (make_cleanup_osdata_free): Remove.
1971         (get_osdata): Return a unique_ptr.
1972         (get_osdata_column): Return pointer to std::string, take a
1973         reference to osdata_item as parameter.
1974         * osdata.c (struct osdata_parsing_data) <osdata>: Change type to
1975         unique_ptr.
1976         <property_name>: Change type to std::string.
1977         (osdata_start_osdata): Allocate osdata with new and adjust.
1978         (osdata_start_item): Adjust.
1979         (osdata_start_column): Adjust.
1980         (osdata_end_column): Adjust.
1981         (clear_parsing_data): Remove.
1982         (osdata_parse): Return a unique_ptr and adjust, remove cleanup.
1983         (osdata_item_clear): Remove.
1984         (get_osdata): return a unique_ptr and adjust.
1985         (get_osdata_column): Return a pointer to std::string and adjust.
1986         (info_osdata): Adjust.
1987         * mi/mi-main.c: Include <map>.
1988         (free_vector_of_osdata_items): Remove.
1989         (list_available_thread_groups): Adjust, use std::map instead of
1990         splay tree.
1991
1992 2017-11-22  Simon Marchi  <simon.marchi@ericsson.com>
1993
1994         * stack.c (iterate_over_block_locals): Add LOC_OPTIMIZED_OUT
1995         case in switch.
1996
1997 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
1998
1999         * varobj.h (DEF_VEC_P (varobj_p)): Remove.
2000
2001 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
2002
2003         * varobj.h (struct varobj_update_result): Add constructor, add
2004         move constructor, disable copy and assign, initialize fields.
2005         <newobj>: Change type to std::vector.
2006         (varobj_update): Return std::vector.
2007         * varobj.c (install_dynamic_child): Change VEC parameters to
2008         std::vector and adjust.
2009         (update_dynamic_varobj_children): Likewise.
2010         (varobj_update): Return std::vector and adjust.
2011         * mi/mi-cmd-var.c (varobj_update_one): Adjust to vector changes.
2012
2013 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
2014
2015         * varobj.h (struct varobj) <parent>: Remove const.
2016         <children>: Change type to std::vector.
2017         (varobj_list_children): Return std::vector const reference.
2018         (varobj_restrict_range): Change parameter type to std::vector
2019         const reference.
2020         * varobj.c (varobj_has_more): Adjust.
2021         (varobj_restrict_range): Change parameter type to std::vector
2022         const reference and adjust.
2023         (install_dynamic_child): Adjust.
2024         (update_dynamic_varobj_children): Adjust.
2025         (varobj_list_children): Return std::vector const reference and
2026         adjust.
2027         (varobj_add_child): Adjust.
2028         (update_type_if_necessary): Adjust.
2029         (varobj_update): Adjust.
2030         (delete_variable_1): Adjust.
2031         * ada-varobj.c (ada_value_has_mutated): Adjust.
2032         * mi/mi-cmd-var.c (mi_cmd_var_list_children): Adjust.
2033
2034 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
2035
2036         * varobj.h (struct varobj): Add constructor and destructor,
2037         initialize fields.
2038         * varobj.c (struct varobj_root): Initialize fields.
2039         (struct varobj_dynamic): Initialize fields.
2040         (varobj_create): Use unique_ptr instead of cleanup.  Create
2041         varobj with new instead of new_root_variable.
2042         (delete_variable_1): Free variable with delete instead of
2043         free_variable.
2044         (create_child_with_value): Create variable with new instead of
2045         new_variable.
2046         (varobj::varobj): New.
2047         (varobj::~varobj): New (body mostly coming from free_variable).
2048         (new_variable): Remove.
2049         (free_variable): Remove.
2050         (do_free_variable_cleanup): Remove.
2051         (make_cleanup_free_variable): Remove.
2052
2053 2017-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
2054
2055         * core-regset.c: Remove file.
2056         * Makefile.in (ALLDEPFILES): Remove core-regset.c.
2057
2058 2017-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
2059
2060         * NEWS: Document use of GNU MPFR.
2061         * README: Likewise.
2062
2063         * Makefile.in (LIBMPFR): Add define.
2064         (CLIBS): Add $(LIBMPFR).
2065         * configure.ac: Add --with-mpfr configure option.
2066         * configure: Regenerate.
2067         * config.in: Regenerate.
2068
2069         * target-float.c [HAVE_LIBMPFR]: Include <mpfr.h>.
2070         (class mpfr_float_ops): New type.
2071         (mpfr_float_ops::from_target): Two new overloaded functions.
2072         (mpfr_float_ops::to_target): Likewise.
2073         (mpfr_float_ops::to_string): New function.
2074         (mpfr_float_ops::from_string): Likewise.
2075         (mpfr_float_ops::to_longest): Likewise.
2076         (mpfr_float_ops::from_longest): Likewise.
2077         (mpfr_float_ops::from_ulongest): Likewise.
2078         (mpfr_float_ops::to_host_double): Likewise.
2079         (mpfr_float_ops::from_host_double): Likewise.
2080         (mpfr_float_ops::convert): Likewise.
2081         (mpfr_float_ops::binop): Likewise.
2082         (mpfr_float_ops::compare): Likewise.
2083         (get_target_float_ops): Use mpfr_float_ops if available.
2084
2085 2017-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
2086
2087         * target-float.c: Do not include <math.h>.
2088         Include <cmath> and <limits>.
2089         (DOUBLEST): Do not define.
2090         (class target_float_ops): New type.
2091         (class host_float_ops): New templated type.
2092         (class decimal_float_ops): New type.
2093
2094         (floatformat_to_doublest): Rename to ...
2095         (host_float_ops<T>::from_target): ... this.  Use template type T
2096         instead of DOUBLEST.  Use C++ math routines.  Update recursive calls.
2097         (host_float_ops<T>::from_target): New overload using a type argument.
2098         (floatformat_from_doublest): Rename to ...
2099         (host_float_ops<T>::to_target): ... this.  Use template type T
2100         instead of DOUBLEST.  Use C++ math routines.  Update recursive calls.
2101         (host_float_ops<T>::to_target): New overload using a type argument.
2102         (floatformat_printf_format): New function.
2103         (struct printf_length_modifier): New templated type.
2104         (floatformat_to_string): Rename to ...
2105         (host_float_ops<T>::to_string): ... this.  Use type instead of
2106         floatformat argument.  Use floatformat_printf_format and
2107         printf_length_modifier.  Remove special handling of invalid numbers,
2108         infinities and NaN (moved to target_float_to_string).
2109         (struct scanf_length_modifier): New templated type.
2110         (floatformat_from_string): Rename to ...
2111         (host_float_ops<T>::from_string): ... this.  Use type instead of
2112         floatformat argument.  Use scanf_length_modifier.
2113         (floatformat_to_longest): Rename to ...
2114         (host_float_ops<T>::to_longest): ... this.  Use type instead of
2115         floatformat argument.  Handle out-of-range values deterministically.
2116         (floatformat_from_longest): Rename to ...
2117         (host_float_ops<T>::from_longest): ... this.  Use type instead of
2118         floatformat argument.
2119         (floatformat_from_ulongest): Rename to ...
2120         (host_float_ops<T>::from_ulongest): ... this.  Use type instead of
2121         floatformat argument.
2122         (floatformat_to_host_double): Rename to ...
2123         (host_float_ops<T>::to_host_double): ... this.  Use type instead of
2124         floatformat argument.
2125         (floatformat_from_host_double): Rename to ...
2126         (host_float_ops<T>::from_host_double): ... this.  Use type instead of
2127         floatformat argument.
2128         (floatformat_convert): Rename to ...
2129         (host_float_ops<T>::convert): ... this.  Use type instead of
2130         floatformat arguments.  Remove handling of no-op conversions.
2131         (floatformat_binop): Rename to ...
2132         (host_float_ops<T>::binop): ... this.  Use type instead of
2133         floatformat arguments.
2134         (floatformat_compare): Rename to ...
2135         (host_float_ops<T>::compare): ... this.  Use type instead of
2136         floatformat arguments.
2137
2138         (match_endianness): Use type instead of length/byte_order arguments.
2139         (set_decnumber_context): Likewise.
2140         (decimal_from_number): Likewise.  Update calls.
2141         (decimal_to_number): Likewise.
2142         (decimal_is_zero): Likewise.  Update calls.  Move to earlier in file.
2143         (decimal_float_ops::to_host_double): New dummy function.
2144         (decimal_float_ops::from_host_double): Likewise.
2145         (decimal_to_string): Rename to ...
2146         (decimal_float_ops::to_string): ... this.  Use type instead of
2147         length/byte_order arguments.  Update calls.
2148         (decimal_from_string): Rename to ...
2149         (decimal_float_ops::from_string): ... this.  Use type instead of
2150         length/byte_order arguments.  Update calls.
2151         (decimal_from_longest): Rename to ...
2152         (decimal_float_ops::from_longest): ... this.  Use type instead of
2153         length/byte_order arguments.  Update calls.
2154         (decimal_from_ulongest): Rename to ...
2155         (decimal_float_ops::from_ulongest): ... this.  Use type instead of
2156         length/byte_order arguments.  Update calls.
2157         (decimal_to_longest): Rename to ...
2158         (decimal_float_ops::to_longest): ... this.  Use type instead of
2159         length/byte_order arguments.  Update calls.
2160         (decimal_binop): Rename to ...
2161         (decimal_float_ops::binop): ... this.  Use type instead of
2162         length/byte_order arguments.  Update calls.
2163         (decimal_compare): Rename to ...
2164         (decimal_float_ops::compare): ... this.  Use type instead of
2165         length/byte_order arguments.  Update calls.
2166         (decimal_convert): Rename to ...
2167         (decimal_float_ops::convert): ... this.  Use type instead of
2168         length/byte_order arguments.  Update calls.
2169
2170         (target_float_same_category_p): New function.
2171         (target_float_same_format_p): Likewise.
2172         (target_float_format_length): Likewise.
2173         (enum target_float_ops_kind): New type.
2174         (get_target_float_ops_kind): New function.
2175         (get_target_float_ops): Three new overloaded functions.
2176
2177         (target_float_is_zero): Update call.
2178         (target_float_to_string): Add special handling of invalid numbers,
2179         infinities and NaN (moved from floatformat_to_string).  Use
2180         target_float_ops callback.
2181         (target_float_from_string): Use target_float_ops callback.
2182         (target_float_to_longest): Likewise.
2183         (target_float_from_longest): Likewise.
2184         (target_float_from_ulongest): Likewise.
2185         (target_float_to_host_double): Likewise.
2186         (target_float_from_host_double): Likewise.
2187         (target_float_convert): Add special case for no-op conversions.
2188         Use target_float_ops callback.
2189         (target_float_binop): Use target_float_ops callback.
2190         (target_float_compare): Likewise.
2191
2192 2017-11-22  Yao Qi  <yao.qi@linaro.org>
2193
2194         * python/py-gdb-readline.c (gdbpy_readline_wrapper): Use strcpy.
2195
2196 2017-11-22  Yao Qi  <yao.qi@linaro.org>
2197
2198         * cli/cli-decode.c (help_list): Use memcpy instead of strncpy.
2199         * cp-namespace.c (cp_lookup_transparent_type_loop): Likewise.
2200
2201 2017-11-21  Jerome Guitton  <guitton@adacore.com>
2202
2203         * ravenscar-thread.c (ravenscar_wait): Update inferior ptid
2204         with event ptid from the lower layer before doing the
2205         ravenscar-specific update.
2206
2207 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2208
2209         * ravenscar-thread.c (is_ravenscar_task): Also verify that
2210         the ptid's TID is nonzero.
2211
2212 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2213
2214         * ada-lang.h (ada_get_tcb_types_info): Add declaration.
2215         * ada-tasks.c (ada_get_tcb_types_info): Renames get_tcb_types_info.
2216         Make non-static.  Change return type to char *.  Adjust code
2217         accordingly.  Rewrite the function's documentation.
2218         (read_atcb): Adjust call to get_tcb_types_info accordingly.
2219         * ravenscar-thread.c (ravenscar_inferior_created): Check that
2220         we have enough debugging information in the runtime to support
2221         Ada task debugging before we enable the ravenscar-thread layer.
2222
2223 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2224
2225         * ada-lang.h (ada_get_task_info_from_ptid): Add declaration.
2226         * ada-tasks.c (ada_get_task_info_from_ptid): New function.
2227         * ravenscar-thread.c: Add into comment.
2228         (base_magic_null_ptid): Delete.
2229         (base_ptid): Change documentation.
2230         (ravenscar_active_task): Renames ravenscar_running_thread.
2231         All callers updated throughout.
2232         (is_ravenscar_task, ravenscar_get_thread_base_cpu): New function.
2233         (ravenscar_task_is_currently_active): Likewise.
2234         (get_base_thread_from_ravenscar_task): Ditto.
2235         (ravenscar_update_inferior_ptid): Adjust to handle multiple CPUs.
2236         (ravenscar_runtime_initialized): Likewise.
2237         (get_running_thread_id): Add new parameter "cpu".  Adjust
2238         implementation to handle this new parameter.
2239         (ravenscar_fetch_registers): Small adjustment to use
2240         is_ravenscar_task and ravenscar_task_is_currently_active in
2241         order to decide whether to use the target beneath or this
2242         module's arch_ops.
2243         (ravenscar_store_registers, ravenscar_prepare_to_store): Likewise.
2244         (ravenscar_stopped_by_sw_breakpoint): Use
2245         get_base_thread_from_ravenscar_task to get the underlying
2246         thread, rather than using base_ptid.
2247         (ravenscar_stopped_by_hw_breakpoint, ravenscar_stopped_by_watchpoint)
2248         (ravenscar_stopped_data_address, ravenscar_core_of_thread):
2249         Likewise.
2250         (ravenscar_inferior_created): Do not set base_magic_null_ptid.
2251
2252 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2253
2254         * ada-lang.h (struct ada_task_info) <base_cpu>: New field.
2255         * ada-lang.c (struct atcb_fieldno) <base_cpu>: New field.
2256         (get_tcb_types_info): Set fieldnos.base_cpu.
2257         (read_atcb): Set task_info->base_cpu.
2258         (info_task): Print "Base CPU" info if set by runtime.
2259
2260 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2261
2262         * ravenscar-thread.c (ravenscar_stopped_by_sw_breakpoint)
2263         (ravenscar_stopped_by_hw_breakpoint, ravenscar_stopped_by_watchpoint)
2264         (ravenscar_stopped_data_address, ravenscar_core_of_thread):
2265         New functions.
2266         (init_ravenscar_thread_ops): Set the to_stopped_by_sw_breakpoint,
2267         to_stopped_by_hw_breakpoint, to_stopped_by_watchpoint,
2268         to_stopped_data_address and to_core_of_thread fields of
2269         ravenscar_ops.
2270
2271 2017-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
2272
2273         * ppc-tdep.h (enum powerpc_long_double_abi): New data type.
2274         (struct gdbarch_tdep): New member long_double_abi.
2275         * rs6000-tdep.c (rs6000_gdbarch_init): Initialize long_double_abi
2276         member of tdep struct based on Tag_GNU_Power_ABI_FP attribute.
2277         * ppc-linux-tdep.c (ppc_linux_init_abi): Install long double data
2278         format depending on long_double_abi tdep member.
2279         (ppc_floatformat_for_type): Handle __ibm128 type.
2280
2281 2017-11-20  Simon Marchi  <simon.marchi@polymtl.ca>
2282
2283         * darwin-nat.c (set_enable_mach_exceptions): Constify parameter.
2284
2285 2017-11-21  Pedro Alves  <palves@redhat.com>
2286
2287         * dwarf2read.c (mapped_index::find_name_components_bounds)
2288         <completion mode, upper bound>: Use std::lower_bound instead of
2289         std::upper_bound.
2290         (test_mapped_index_find_name_component_bounds): Remove incorrect
2291         "t1_fund" from expected symbols.
2292
2293 2017-11-21  Pedro Alves  <palves@redhat.com>
2294
2295         * dwarf2read.c (mapped_index::name_components_casing): New field.
2296         (mapped_index) <build_name_components,
2297         find_name_components_bounds): Declare new methods.
2298         (mapped_index::find_name_components_bounds)
2299         (mapped_index::build_name_components): New methods, factored out
2300         from dw2_expand_symtabs_matching_symbol.
2301         (check_find_bounds_finds)
2302         (test_mapped_index_find_name_component_bounds): New.
2303         (run_test): Rename to ...
2304         (test_dw2_expand_symtabs_matching_symbol): ... this.
2305         (run_test): Reimplement.
2306
2307 2017-11-21  Pedro Alves  <palves@redhat.com>
2308
2309         * cp-name-parser.y (cp_ident_is_alpha, cp_ident_is_alnum): New.
2310         (symbol_end): Use cp_ident_is_alnum.
2311         (yylex): Use cp_ident_is_alpha and cp_ident_is_alnum.
2312         * dwarf2read.c (make_sort_after_prefix_name): New function.
2313         (dw2_expand_symtabs_matching_symbol): Use it.
2314         (test_symbols): Add more symbols.
2315         (run_test): Add tests.
2316
2317 2017-11-17  Tom Tromey  <tom@tromey.com>
2318
2319         * symtab.h (enum symbol_subclass_kind): New.
2320         (struct symbol) <is_cplus_template_function, is_rust_vtable>:
2321         Remove.
2322         <subclass>: New member.
2323         (SYMBOL_IS_CPLUS_TEMPLATE_FUNCTION): Update.
2324         * rust-lang.c (rust_get_trait_object_pointer): Update.
2325         * dwarf2read.c (read_func_scope): Update.
2326         (read_variable): Update.
2327
2328 2017-11-17  Tom Tromey  <tom@tromey.com>
2329
2330         * dwarf2read.c (read_func_scope): Update.
2331         * symtab.h (struct template_symbol): Derive from symbol.
2332         <base>: Remove.
2333
2334 2017-11-17  Tom Tromey  <tom@tromey.com>
2335
2336         * symtab.h (struct symbol) <is_rust_vtable>: New member.
2337         (struct rust_vtable_symbol): New.
2338         (find_symbol_at_address): Declare.
2339         * symtab.c (find_symbol_at_address): New function.
2340         * symfile.h (struct quick_symbol_functions)
2341         <find_compunit_symtab_by_address>: New member.
2342         * symfile-debug.c (debug_qf_find_compunit_symtab_by_address): New
2343         function.
2344         (debug_sym_quick_functions): Link to
2345         debug_qf_find_compunit_symtab_by_address.
2346         * rust-lang.c (rust_get_trait_object_pointer): New function.
2347         (rust_evaluate_subexp) <case UNOP_IND>: New case.  Call
2348         rust_get_trait_object_pointer.
2349         * psymtab.c (psym_relocate): Clear psymbol_map.
2350         (psym_fill_psymbol_map, psym_find_compunit_symtab_by_address): New
2351         functions.
2352         (psym_functions): Link to psym_find_compunit_symtab_by_address.
2353         * objfiles.h (struct objfile) <psymbol_map>: New member.
2354         * dwarf2read.c (dwarf2_gdb_index_functions): Update.
2355         (process_die) <DW_TAG_variable>: New case.  Call read_variable.
2356         (rust_containing_type, read_variable): New functions.
2357
2358 2017-11-17  Simon Marchi  <simon.marchi@polymtl.ca>
2359
2360         * common/gdb_vecs.h (DEF_VEC_I (int)): Remove.
2361
2362 2017-11-17  Simon Marchi  <simon.marchi@polymtl.ca>
2363
2364         * common/filestuff.c: Include <algorithm>.
2365         (open_fds): Change type to std::vector<int>.
2366         (do_mark_open_fd): Adjust.
2367         (unmark_fd_no_cloexec): Adjust.
2368         (do_close): Adjust.
2369
2370 2017-11-17  Simon Marchi  <simon.marchi@polymtl.ca>
2371
2372         * breakpoint.c (output_thread_groups): Take an std::vector.
2373         (print_one_breakpoint_location): Adjust.
2374
2375 2017-11-17  Joel Brobecker  <brobecker@adacore.com>
2376
2377         * ada-lang.c (resolve_subexp): Add handling of OP_VAR_MSYM_VALUE.
2378         (ada_evaluate_subexp_for_cast): New function.
2379         (ada_evaluate_subexp) <UNOP_CAST>: Replace code by call to
2380         ada_evaluate_subexp_for_cast.
2381         (ada_evaluate_subexp) <nosideret>: Replace code by call to
2382         eval_skip_value.
2383         * eval.c (evaluate_var_value): Make non-static.
2384         (evaluate_var_msym_value, eval_skip_value): Likewise.
2385         * value.h (evaluate_var_value, evaluate_var_msym_value)
2386         (eval_skip_value): Declare.
2387
2388 2017-11-16  Joel Brobecker  <brobecker@adacore.com>
2389
2390         * ada-lang.c (ada_value_cast): Remove parameter "noside".
2391         Update all callers.
2392
2393 2017-11-16  Pedro Alves  <palves@redhat.com>
2394
2395         * python/py-unwind.c (pyuw_sniffer): Translate
2396         PyExc_KeyboardInterrupt to a GDB Quit exception.
2397
2398 2017-11-16  Pedro Alves  <palves@redhat.com>
2399
2400         * infrun.c (resume_cleanups): Delete.
2401         (resume): No longer install a resume_cleanups cleanup nor call
2402         QUIT.
2403         (proceed): Pass the terminal to the inferior.
2404         (keep_going_pass_signal): No longer install a resume_cleanups
2405         cleanup.
2406
2407 2017-11-16  Pedro Alves  <palves@redhat.com>
2408
2409         * inf-loop.c (inferior_event_handler): Don't swallow the exception
2410         if the prompt is blocked.
2411
2412 2017-11-16  Pedro Alves  <palves@redhat.com>
2413
2414         * breakpoint.c (insert_bp_location): Replace bp_err and
2415         bp_err_message locals by a gdb_exception local.
2416
2417 2017-11-16  Pedro Alves  <palves@redhat.com>
2418
2419         * inflow.c (scoped_ignore_sigttou): New class.
2420         (child_terminal_ours_1, new_tty): Use it.
2421
2422 2017-11-16  Ulrich Weigand  <uweigand@de.ibm.com>
2423
2424         * target-float.c (decimal_from_number): Add byte_order argument and
2425         call match_endianness.  Error if unknown floating-point type.
2426         (decimal_to_number): Add byte_order argument and call match_endianness.
2427         (decimal_from_longest): Update call.  Do not call match_endianness.
2428         (decimal_from_ulongest): Likewise.
2429         (decimal_binop): Likewise.
2430         (decimal_is_zero): Likewise.
2431         (decimal_compare): Likewise.
2432         (decimal_convert): Likewise.
2433
2434 2017-11-16  Phil Muldoon  <pmuldoon@redhat.com>
2435
2436         * python/python.c (gdbpy_rbreak): New function.
2437         * NEWS: Document Python rbreak feature.
2438
2439 2017-11-16  Yao Qi  <yao.qi@linaro.org>
2440
2441         * features/tic6x-c62x.xml: Remove.
2442         * features/tic6x-c64x.xml: Remove.
2443         * features/tic6x-c64xp.xml: Remove.
2444
2445 2017-11-15  John Baldwin  <jhb@FreeBSD.org>
2446
2447         * symtab.h: Include <array>.
2448
2449 2017-11-15  John Baldwin  <jhb@FreeBSD.org>
2450
2451         * bsd-kvm.c (bsd_kvm_cmd): Constify 'arg'.
2452         (bsd_kvm_proc_cmd): Likewise.
2453
2454 2017-11-15  Simon Marchi  <simon.marchi@ericsson.com>
2455
2456         * tui/tui-win.c (window_name_completer): Replace VEC with
2457         std::vector.
2458
2459 2017-11-15  Andrew Cagney  <cagney@gnu.org>
2460
2461         * MAINTAINERS: Remove no-longer applicable entries.
2462
2463 2017-11-15  Andrew Cagney  <cagney@gnu.org>
2464
2465         * MAINTAINERS: Move self to Past Maintainers.
2466
2467 2017-11-15  Yao Qi  <yao.qi@linaro.org>
2468
2469         * features/Makefile (XMLTOC): Remove nios2-linux.xml.
2470         * features/nios2-linux.c: Remove.
2471         * nios2-linux-tdep.c (_initialize_nios2_linux_tdep): Don't call
2472         initialize_tdesc_nios2_linux.
2473
2474 2017-11-15  Yao Qi  <yao.qi@linaro.org>
2475
2476         * m68hc11-tdep.c (M68HC11_NUM_REGS): Change it to
2477         M68HC11_LAST_HARD_REG + 1.
2478
2479 2017-11-14  Paul Carroll  <pcarroll@codesourcery.com>
2480
2481         PR gdb/22388
2482         * remote.c (remote_write_bytes_aux, remote_read_bytes_1,
2483         remote_read_bytes, remote_write_qxfer, remote_xfer_partial):
2484         Return TARGET_XFER_EOF if size of returned data is 0.
2485
2486 2017-11-14  Simon Marchi  <simon.marchi@ericsson.com>
2487
2488         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
2489         memory-map-selftests.c.
2490         (SUBDIR_UNITTESTS_OBS): Add memory-map-selftests.o.
2491         * memory-map.c (memory_map_start_memory): Fix computation of hi
2492         address.
2493         * unittests/memory-map-selftests.c: New file.
2494
2495 2017-11-09  Joel Brobecker  <brobecker@adacore.com>
2496
2497         * ada-lang.c: Fix some typos in the general command documenting
2498         how Ada expressions are being evaluated and how their result
2499         is printed.
2500
2501 2017-11-09  Tom Tromey  <tom@tromey.com>
2502
2503         * psymtab.c (psymbol_hash): Do not hash string contents.
2504         (psymbol_compare): Add comment.
2505
2506 2017-11-09  Tom Tromey  <tom@tromey.com>
2507
2508         * dictionary.c (dict_hash): Move "TKB" check into the "switch".
2509
2510 2017-11-08  Joel Brobecker  <brobecker@adacore.com>
2511
2512         * ada-exp.y (write_var_from_sym): Remove parameter
2513         "orig_left_context".  Update all callers.
2514
2515 2017-11-08  Simon Marchi  <simon.marchi@ericsson.com>
2516
2517         * tracepoint.h (class collection_list) <stringify>: Return
2518         std::vector<std::string>.
2519         (encode_actions_rsp): Change parameters to
2520         std::vector<std::string> *.
2521         * tracepoint.c (collection_list::stringify): Return
2522         std::vector<std::string> and adjust accordingly.
2523         (encode_actions_rsp): Changee parameters to
2524         std::vector<std::string> and adjust accordingly.
2525         * remote.c (free_actions_list),
2526         free_actions_list_cleanup_wrapper): Remove.
2527         (remote_download_tracepoint): Adjust to std::vector.
2528
2529 2017-11-08  Tom Tromey  <tom@tromey.com>
2530
2531         * dwarf2read.c (symbolp): Remove typedef.
2532         (read_func_scope): Use std::vector.
2533         (process_structure_scope): Use std::vector.
2534
2535 2017-11-08  Pedro Alves  <palves@redhat.com>
2536
2537         * ada-lang.c (ada_make_symbol_completion_list): Use
2538         completion_skip_symbol.
2539         * symtab.c (symbol_is_function_or_method(minimal_symbol*)): New.
2540         (symbol_is_function_or_method(symbol*)): New.
2541         (add_symtab_completions): Add complete_symbol_mode parameter.  Use
2542         completion_skip_symbol.
2543         (default_collect_symbol_completion_matches_break_on): Use
2544         completion_skip_symbol.  Pass down mode.
2545         (collect_file_symbol_completion_matches): Pass down mode.
2546         * symtab.h (symbol_is_function_or_method): New declarations.
2547         (completion_skip_symbol): New template function.
2548
2549 2017-11-08  Pedro Alves  <palves@redhat.com>
2550
2551         * linespec.c (iterate_over_all_matching_symtabs): Add
2552         search_domain parameter.  Pass it down to expand_symtabs_matching.
2553         (decode_objc): Request FUNCTIONS_DOMAIN symbols only.
2554         (lookup_prefix_sym): Adjust by passing ALL_DOMAIN as
2555         search_domain.
2556         (add_all_symbol_names_from_pspace): Add search_domain parameter.
2557         Pass it down.
2558         (find_method, find_function_symbols): Request FUNCTIONS_DOMAIN
2559         symbols.
2560         (add_matching_symbols_to_info): Add search_domain parameter.  Pass
2561         it down.
2562
2563 2017-11-08  Pedro Alves  <palves@redhat.com>
2564
2565         * ada-lang.c (ada_make_symbol_completion_list): Remove text and
2566         text_len locals and don't pass them down.
2567         * symtab.c (completion_list_add_name): Remove
2568         sym_text/sym_text_len parameters and adjust.
2569         (completion_list_add_symbol, completion_list_add_msymbol)
2570         (completion_list_objc_symbol, completion_list_add_fields)
2571         (add_symtab_completions): Likewise.
2572         (default_collect_symbol_completion_matches_break_on)
2573         (collect_file_symbol_completion_matches): Remove sym_text_len
2574         local and don't pass it down.
2575         * symtab.h (completion_list_add_name): Remove
2576         sym_text/sym_text_len parameters.
2577
2578 2017-11-08  Pedro Alves  <palves@redhat.com>
2579
2580         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
2581         unittests/lookup_name_info-selftests.c.
2582         (SUBDIR_UNITTESTS_OBS): Add lookup_name_info-selftests.o.
2583         * cp-support.c: Include "selftest.h".
2584         (cp_remove_params_1): Rename from cp_remove_params.  Add
2585         'require_param' parameter, and handle it.
2586         (cp_remove_params): Reimplement.
2587         (cp_remove_params_if_any): New.
2588         (selftests::quote): New.
2589         (selftests::check_remove_params): New.
2590         (selftests::test_cp_remove_params): New.
2591         (_initialize_cp_support): Install
2592         selftests::test_cp_remove_params.
2593         * cp-support.h (cp_remove_params_if_any): Declare.
2594         * dwarf2read.c :Include "selftest.h".
2595         (dw2_expand_symtabs_matching_symbol): Use
2596         lookup_name_info::make_ignore_params.
2597         (selftests::dw2_expand_symtabs_matching::mock_mapped_index)
2598         (selftests::dw2_expand_symtabs_matching::string_or_null)
2599         (selftests::dw2_expand_symtabs_matching::check_match)
2600         (selftests::dw2_expand_symtabs_matching::test_symbols)
2601         (selftests::dw2_expand_symtabs_matching::run_test): New.
2602         (_initialize_dwarf2_read): Register
2603         selftests::dw2_expand_symtabs_matching::run_test.
2604         * psymtab.c (psym_expand_symtabs_matching): Use
2605         lookup_name_info::make_ignore_params.
2606         * symtab.c (demangle_for_lookup_info::demangle_for_lookup_info):
2607         If the lookup name wants to ignore parameters, strip them.
2608         (compare_symbol_name): Remove sym_text/sym_text_len parameters and
2609         code handling '('.
2610         (completion_list_add_name): Don't pass down sym_text/sym_text_len.
2611         (default_collect_symbol_completion_matches_break_on): Don't try to
2612         strip parameters.
2613         * symtab.h (lookup_name_info::lookup_name_info): Add
2614         'ignore_parameters' parameter.
2615         (lookup_name_info::ignore_parameters)
2616         (lookup_name_info::make_ignore_params): New methods.
2617         (lookup_name_info::m_ignore_parameters): New field.
2618         * unittests/lookup_name_info-selftests.c: New file.
2619
2620 2017-11-08  Pedro Alves  <palves@redhat.com>
2621
2622         * dwarf2read.c (dw2_expand_marked_cus)
2623         (dw2_expand_symtabs_matching_symbol): Remove forward declarations.
2624         (dw2_expand_symtabs_matching): Move further below.
2625         (dw2_expand_marked_cus): Reindent.
2626
2627 2017-11-08  Pedro Alves  <palves@redhat.com>
2628
2629         * dwarf2read.c (byte_swap, MAYBE_SWAP): Move higher up in file.
2630         (struct name_component): New.
2631         (mapped_index::name_components): New field.
2632         (mapped_index::symbol_name_at): New method.
2633         (dwarf2_read_index): Call mapped_index ctor.
2634         (dw2_map_matching_symbols): Add comment about name_components
2635         table.
2636         (dw2_expand_symtabs_matching): Factor part to...
2637         (dw2_expand_symtabs_matching_symbol): ... this new function.
2638         Build name components table, and lookup symbols in it before
2639         calling the name matcher.
2640         (dw2_expand_marked_cus): New, factored out from
2641         dw2_expand_symtabs_matching.
2642         (dwarf2_per_objfile_free): Call the mapped_index's dtor.
2643
2644 2017-11-08   Pedro Alves  <palves@redhat.com>
2645
2646         * ada-lang.c (ada_encode): Rename to ..
2647         (ada_encode_1): ... this.  Add throw_errors parameter and handle
2648         it.
2649         (ada_encode): Reimplement.
2650         (match_name): Delete, folded into full_name.
2651         (resolve_subexp): No longer pass the encoded name to
2652         ada_lookup_symbol_list.
2653         (should_use_wild_match): Delete.
2654         (name_match_type_from_name): New.
2655         (ada_lookup_simple_minsym): Use lookup_name_info and the
2656         language's symbol_name_matcher_ftype.
2657         (add_symbols_from_enclosing_procs, ada_add_local_symbols)
2658         (ada_add_block_renamings): Adjust to use lookup_name_info.
2659         (ada_lookup_name): New.
2660         (add_nonlocal_symbols, ada_add_all_symbols)
2661         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list)
2662         (ada_iterate_over_symbols): Adjust to use lookup_name_info.
2663         (ada_name_for_lookup): Delete.
2664         (ada_lookup_encoded_symbol): Construct a verbatim name.
2665         (wild_match): Reverse sense of return type.  Use bool.
2666         (full_match): Reverse sense of return type.  Inline bits of old
2667         match_name here.
2668         (ada_add_block_symbols): Adjust to use lookup_name_info.
2669         (symbol_completion_match): Delete, folded into...
2670         (ada_lookup_name_info::matches): ... .this new method.
2671         (symbol_completion_add): Delete.
2672         (ada_collect_symbol_completion_matches): Add name_match_type
2673         parameter.  Adjust to use lookup_name_info and
2674         completion_list_add_name.
2675         (get_var_value, ada_add_global_exceptions): Adjust to use
2676         lookup_name_info.
2677         (ada_get_symbol_name_cmp): Delete.
2678         (do_wild_match, do_full_match): New functions.
2679         (ada_lookup_name_info::ada_lookup_name_info): New method.
2680         (ada_symbol_name_matches, ada_get_symbol_name_matcher): New
2681         functions.
2682         (ada_language_defn): Install ada_get_symbol_name_matcher.
2683         * ada-lex.l (processId): If name starts with '<', copy it
2684         verbatim.
2685         * block.c (block_iter_match_step, block_iter_match_first)
2686         (block_iter_match_next, block_lookup_symbol)
2687         (block_lookup_symbol_primary, block_find_symbol): Adjust to use
2688         lookup_name_info.
2689         * block.h (block_iter_match_first, block_iter_match_next)
2690         (ALL_BLOCK_SYMBOLS_WITH_NAME): Adjust to use lookup_name_info.
2691         * c-lang.c (c_language_defn, cplus_language_defn)
2692         (asm_language_defn, minimal_language_defn): Adjust comments to
2693         refer to la_get_symbol_name_matcher.
2694         * completer.c (complete_files_symbols)
2695         (collect_explicit_location_matches, symbol_completer): Pass a
2696         symbol_name_match_type down.
2697         * completer.h (class completion_match, completion_match_result):
2698         New classes.
2699         (completion_tracker::reset_completion_match_result): New method.
2700         (completion_tracker::m_completion_match_result): New field.
2701         * cp-support.c (make_symbol_overload_list_block): Adjust to use
2702         lookup_name_info.
2703         (cp_fq_symbol_name_matches, cp_get_symbol_name_matcher): New
2704         functions.
2705         * cp-support.h (cp_get_symbol_name_matcher): New declaration.
2706         * d-lang.c: Adjust comments to refer to
2707         la_get_symbol_name_matcher.
2708         * dictionary.c (dict_vector) <iter_match_first, iter_match_next>:
2709         Adjust to use lookup_name_info.
2710         (dict_iter_match_first, dict_iter_match_next)
2711         (iter_match_first_hashed, iter_match_next_hashed)
2712         (iter_match_first_linear, iter_match_next_linear): Adjust to work
2713         with a lookup_name_info.
2714         * dictionary.h (dict_iter_match_first, dict_iter_match_next):
2715         Likewise.
2716         * dwarf2read.c (dw2_lookup_symbol): Adjust to use lookup_name_info.
2717         (dw2_map_matching_symbols): Adjust to use symbol_name_match_type.
2718         (gdb_index_symbol_name_matcher): New class.
2719         (dw2_expand_symtabs_matching) Adjust to use lookup_name_info and
2720         gdb_index_symbol_name_matcher.  Accept a NULL symbol_matcher.
2721         * f-lang.c (f_collect_symbol_completion_matches): Adjust to work
2722         with a symbol_name_match_type.
2723         (f_language_defn): Adjust comments to refer to
2724         la_get_symbol_name_matcher.
2725         * go-lang.c (go_language_defn): Adjust comments to refer to
2726         la_get_symbol_name_matcher.
2727         * language.c (default_symbol_name_matcher)
2728         (language_get_symbol_name_matcher): New functions.
2729         (unknown_language_defn, auto_language_defn): Adjust comments to
2730         refer to la_get_symbol_name_matcher.
2731         * language.h (symbol_name_cmp_ftype): Delete.
2732         (language_defn) <la_collect_symbol_completion_matches>: Add match
2733         type parameter.
2734         <la_get_symbol_name_cmp>: Delete field.
2735         <la_get_symbol_name_matcher>: New field.
2736         <la_iterate_over_symbols>: Adjust to use lookup_name_info.
2737         (default_symbol_name_matcher, language_get_symbol_name_matcher):
2738         Declare.
2739         * linespec.c (iterate_over_all_matching_symtabs)
2740         (iterate_over_file_blocks): Adjust to use lookup_name_info.
2741         (find_methods): Add language parameter, and use lookup_name_info
2742         and the language's symbol_name_matcher_ftype.
2743         (linespec_complete_function): Adjust.
2744         (lookup_prefix_sym): Use lookup_name_info.
2745         (add_all_symbol_names_from_pspace): Adjust.
2746         (find_superclass_methods): Add language parameter and pass it
2747         down.
2748         (find_method): Pass symbol language down.
2749         (find_linespec_symbols): Don't demangle or Ada encode here.
2750         (search_minsyms_for_name): Add lookup_name_info parameter.
2751         (add_matching_symbols_to_info): Add name_match_type parameter.
2752         Use lookup_name_info.
2753         * m2-lang.c (m2_language_defn): Adjust comments to refer to
2754         la_get_symbol_name_matcher.
2755         * minsyms.c: Include <algorithm>.
2756         (add_minsym_to_demangled_hash_table): Remove table parameter and
2757         add objfile parameter.  Use search_name_hash, and add language to
2758         demangled languages vector.
2759         (struct found_minimal_symbols): New struct.
2760         (lookup_minimal_symbol_mangled, lookup_minimal_symbol_demangled):
2761         New functions.
2762         (lookup_minimal_symbol): Adjust to use them.  Don't canonicalize
2763         input names here.  Use lookup_name_info instead.  Lookup up
2764         demangled names once for each language in the demangled names
2765         vector.
2766         (iterate_over_minimal_symbols): Use lookup_name_info.  Lookup up
2767         demangled names once for each language in the demangled names
2768         vector.
2769         (build_minimal_symbol_hash_tables): Adjust.
2770         * minsyms.h (iterate_over_minimal_symbols): Adjust to pass down a
2771         lookup_name_info.
2772         * objc-lang.c (objc_language_defn): Adjust comment to refer to
2773         la_get_symbol_name_matcher.
2774         * objfiles.h: Include <vector>.
2775         (objfile_per_bfd_storage) <demangled_hash_languages>: New field.
2776         * opencl-lang.c (opencl_language_defn): Adjust comment to refer to
2777         la_get_symbol_name_matcher.
2778         * p-lang.c (pascal_language_defn): Adjust comment to refer to
2779         la_get_symbol_name_matcher.
2780         * psymtab.c (psym_lookup_symbol): Use lookup_name_info.
2781         (match_partial_symbol): Use symbol_name_match_type,
2782         lookup_name_info and psymbol_name_matches.
2783         (lookup_partial_symbol): Use lookup_name_info.
2784         (map_block): Use symbol_name_match_type and lookup_name_info.
2785         (psym_map_matching_symbols): Use symbol_name_match_type.
2786         (psymbol_name_matches): New.
2787         (recursively_search_psymtabs): Use lookup_name_info and
2788         psymbol_name_matches.  Rename 'kind' parameter to 'domain'.
2789         (psym_expand_symtabs_matching): Use lookup_name_info.  Rename
2790         'kind' parameter to 'domain'.
2791         * rust-lang.c (rust_language_defn): Adjust comment to refer to
2792         la_get_symbol_name_matcher.
2793         * symfile-debug.c (debug_qf_map_matching_symbols)
2794         (debug_qf_map_matching_symbols): Use symbol_name_match_type.
2795         (debug_qf_expand_symtabs_matching): Use lookup_name_info.
2796         * symfile.c (expand_symtabs_matching): Use lookup_name_info.
2797         * symfile.h (quick_symbol_functions) <map_matching_symbols>:
2798         Adjust to use symbol_name_match_type.
2799         <expand_symtabs_matching>: Adjust to use lookup_name_info.
2800         (expand_symtabs_matching): Adjust to use lookup_name_info.
2801         * symmisc.c (maintenance_expand_symtabs): Use
2802         lookup_name_info::match_any ().
2803         * symtab.c (symbol_matches_search_name): New.
2804         (eq_symbol_entry): Adjust to use lookup_name_info and the
2805         language's matcher.
2806         (demangle_for_lookup_info::demangle_for_lookup_info): New.
2807         (lookup_name_info::match_any): New.
2808         (iterate_over_symbols, search_symbols): Use lookup_name_info.
2809         (compare_symbol_name): Add language, lookup_name_info and
2810         completion_match_result parameters, and use them.
2811         (completion_list_add_name): Make extern.  Add language and
2812         lookup_name_info parameters.  Use them.
2813         (completion_list_add_symbol, completion_list_add_msymbol)
2814         (completion_list_objc_symbol): Add lookup_name_info parameters and
2815         adjust.  Pass down language.
2816         (completion_list_add_fields): Add lookup_name_info parameters and
2817         adjust.  Pass down language.
2818         (add_symtab_completions): Add lookup_name_info parameters and
2819         adjust.
2820         (default_collect_symbol_completion_matches_break_on): Add
2821         name_match_type parameter, and use it.  Use lookup_name_info.
2822         (default_collect_symbol_completion_matches)
2823         (collect_symbol_completion_matches): Add name_match_type
2824         parameter, and pass it down.
2825         (collect_symbol_completion_matches_type): Adjust.
2826         (collect_file_symbol_completion_matches): Add name_match_type
2827         parameter, and use lookup_name_info.
2828         * symtab.h: Include <string> and "common/gdb_optional.h".
2829         (enum class symbol_name_match_type): New.
2830         (class ada_lookup_name_info): New.
2831         (struct demangle_for_lookup_info): New.
2832         (class lookup_name_info): New.
2833         (symbol_name_matcher_ftype): New.
2834         (SYMBOL_MATCHES_SEARCH_NAME): Use symbol_matches_search_name.
2835         (symbol_matches_search_name): Declare.
2836         (MSYMBOL_MATCHES_SEARCH_NAME): Delete.
2837         (default_collect_symbol_completion_matches)
2838         (collect_symbol_completion_matches)
2839         (collect_file_symbol_completion_matches): Add name_match_type
2840         parameter.
2841         (iterate_over_symbols): Use lookup_name_info.
2842         (completion_list_add_name): Declare.
2843         * utils.c (enum class strncmp_iw_mode): Moved to utils.h.
2844         (strncmp_iw_with_mode): Now extern.
2845         * utils.h (enum class strncmp_iw_mode): Moved from utils.c.
2846         (strncmp_iw_with_mode): Declare.
2847
2848 2017-11-08  Keith Seitz  <keiths@redhat.com>
2849             Pedro Alves  <palves@redhat.com>
2850
2851         * ada-lang.c (ada_language_defn): Install
2852         default_search_name_hash.
2853         * buildsym.c (struct buildsym_compunit): <language>: New field.
2854         (finish_block_internal): Pass language when creating dictionaries.
2855         (start_buildsym_compunit, start_symtab): New language parameters.
2856         Use them.
2857         (restart_symtab): Pass down compilation unit's language.
2858         * buildsym.h (enum language): Forward declare.
2859         (start_symtab): New 'language' parameter.
2860         * c-lang.c (c_language_defn, cplus_language_defn)
2861         (asm_language_defn, minimal_language_defn): Install
2862         default_search_name_hash.
2863         * coffread.c (coff_start_symtab): Adjust.
2864         * d-lang.c (d_language_defn): Install default_search_name_hash.
2865         * dbxread.c (struct symloc): Add 'pst_language' field.
2866         (PST_LANGUAGE): Define.
2867         (start_psymtab, read_ofile_symtab): Use it.
2868         (process_one_symbol): New 'language' parameter.  Pass it down.
2869         * dictionary.c (struct dictionary) <language>: New field.
2870         (DICT_LANGUAGE): Define.
2871         (dict_create_hashed, dict_create_hashed_expandable)
2872         (dict_create_linear, dict_create_linear_expandable): New parameter
2873         'language'.  Set the dictionary's language.
2874         (iter_match_first_hashed): Adjust to rename.
2875         (insert_symbol_hashed): Assert we don't see mismatching
2876         languages.  Adjust to rename.
2877         (dict_hash): Rename to ...
2878         (default_search_name_hash): ... this and make extern.
2879         * dictionary.h (struct language_defn): Forward declare.
2880         (dict_create_hashed): New parameter 'language'.
2881         * dwarf2read.c (dwarf2_start_symtab): Pass down language.
2882         * f-lang.c (f_language_defn): Install default_search_name_hash.
2883         * go-lang.c (go_language_defn): Install default_search_name_hash.
2884         * jit.c (finalize_symtab): Pass compunit's language to dictionary
2885         creation.
2886         * language.c (unknown_language_defn, auto_language_defn):
2887         * language.h (language_defn::la_search_name_hash): New field.
2888         (default_search_name_hash): Declare.
2889         * m2-lang.c (m2_language_defn): Install default_search_name_hash.
2890         * mdebugread.c (new_block): New parameter 'language'.
2891         * mdebugread.c (parse_symbol): Pass symbol language to block
2892         allocation.
2893         (psymtab_to_symtab_1): Pass down language.
2894         (new_symtab): Pass compunit's language to block allocation.
2895         * objc-lang.c (objc_language_defn): Install
2896         default_search_name_hash.
2897         * opencl-lang.c (opencl_language_defn):
2898         * p-lang.c (pascal_language_defn): Install
2899         default_search_name_hash.
2900         * rust-lang.c (rust_language_defn): Install
2901         default_search_name_hash.
2902         * stabsread.h (enum language): Forward declare.
2903         (process_one_symbol): Add 'language' parameter.
2904         * symtab.c (search_name_hash): New function.
2905         * symtab.h (search_name_hash): Declare.
2906         * xcoffread.c (read_xcoff_symtab): Pass language to start_symtab.
2907
2908 2017-11-08  Pedro Alves  <palves@redhat.com>
2909
2910         * cp-name-parser.y (main): Don't initialize extra_chars.
2911
2912 2017-11-07  Tom Tromey  <tom@tromey.com>
2913
2914         * event-top.h (command_handler): Constify.
2915         * record-full.c (cmd_record_full_start): Update.
2916         * thread.c (thread_apply_all_command): Update.
2917         * printcmd.c (eval_command): Update.
2918         * mi/mi-main.c (mi_execute_cli_command): Update.
2919         (mi_execute_async_cli_command): Update.
2920         * tui/tui-stack.c (tui_update_command): Update.
2921         * cli/cli-interp.c (safe_execute_command): Constify.
2922         * record.c (record_start): Update.
2923         (record_start, record_stop, cmd_record_start): Update.
2924         * record-btrace.c (cmd_record_btrace_bts_start): Update.
2925         (cmd_record_btrace_pt_start): Update.
2926         (cmd_record_btrace_start): Update.
2927         (cmd_record_btrace_start): Update.
2928         * reverse.c (exec_reverse_once): Update.
2929         * python/python.c (execute_gdb_command): Don't copy the command.
2930         * event-top.c (command_line_handler): Update.
2931         (command_handler): Constify.
2932         * defs.h (deprecated_call_command_hook): Constify.
2933         * cli/cli-script.h (execute_user_command): Constify.
2934         * cli/cli-script.c (execute_user_command): Constify.
2935         (execute_cmd_pre_hook, execute_cmd_post_hook): Constify.
2936         (enum command_control_type): Update.
2937         * main.c (catch_command_errors): Remove non-const overload.
2938         (catch_command_errors_ftype): Remove.
2939         * python/py-cmd.c (cmdpy_function): Constify.
2940         * guile/scm-cmd.c (cmdscm_function): Constify.
2941         * cli/cli-dump.c (call_dump_func): Constify.
2942         * cli/cli-decode.c (do_const_cfunc): Constify.
2943         (do_sfunc): Constify.
2944         (cmd_func): Constify.
2945         * gdbcmd.h (execute_command, execute_command_to_string): Constify.
2946         * top.h (execute_command): Constify.
2947         * top.c (execute_command): Constify.
2948         (execute_command_to_string): Constify.
2949         (deprecated_call_command_hook): Constify.
2950         * command.h (cmd_func): Constify.
2951         * cli/cli-decode.h (struct cmd_list_element) <func>: Constify.
2952
2953 2017-11-07  Tom Tromey  <tom@tromey.com>
2954
2955         * ada-lang.c (catch_ada_exception_command): Constify.
2956         (catch_assert_command): Constify.
2957         * break-catch-throw.c (catch_catch_command, catch_throw_command)
2958         (catch_rethrow_command): Constify.
2959         (catch_exception_command_1): Constify.
2960         * breakpoint.h (add_catch_command): Constify.
2961         * break-catch-syscall.c (catch_syscall_command_1): Constify.
2962         (catch_syscall_split_args): Constify.
2963         * break-catch-sig.c (catch_signal_command): Constify.
2964         (catch_signal_split_args): Constify.
2965         * cli/cli-decode.h (struct cmd_list_element) <function>: Use
2966         cmd_const_sfunc_ftype.
2967         * cli/cli-decode.c (add_setshow_cmd_full): Constify.
2968         (add_setshow_enum_cmd, add_setshow_auto_boolean_cmd)
2969         (add_setshow_boolean_cmd, add_setshow_filename_cmd)
2970         (add_setshow_string_cmd, struct cmd_list_element)
2971         (add_setshow_optional_filename_cmd, add_setshow_integer_cmd)
2972         (add_setshow_uinteger_cmd, add_setshow_zinteger_cmd)
2973         (add_setshow_zuinteger_unlimited_cmd, add_setshow_zuinteger_cmd):
2974         Constify.
2975         (set_cmd_sfunc): Constify.
2976         (empty_sfunc): Constify.
2977         * command.h (add_setshow_enum_cmd, add_setshow_auto_boolean_cmd)
2978         (add_setshow_boolean_cmd, add_setshow_filename_cmd)
2979         (add_setshow_string_cmd, add_setshow_string_noescape_cmd)
2980         (add_setshow_optional_filename_cmd, add_setshow_integer_cmd)
2981         (add_setshow_uinteger_cmd, add_setshow_zinteger_cmd)
2982         (add_setshow_zuinteger_cmd, add_setshow_zuinteger_unlimited_cmd):
2983         Constify.
2984         (set_cmd_sfunc): Constify.
2985         (cmd_sfunc_ftype): Remove.
2986         * compile/compile.c (set_compile_args): Constify.
2987         * infrun.c (set_disable_randomization): Constify.
2988         * infcmd.c (set_args_command, set_cwd_command): Constify.
2989         * breakpoint.c (set_condition_evaluation_mode): Constify.
2990         (add_catch_command): Constify.
2991         (catch_fork_command_1, catch_exec_command_1)
2992         (catch_load_command_1, catch_unload_command_1): Constify.
2993         (catch_load_or_unload): Constify.
2994         * guile/scm-param.c (pascm_set_func): Constify.
2995         (add_setshow_generic): Constify.
2996         * python/py-param.c (get_set_value): Constify.
2997         * top.h (set_verbose): Constify.
2998         * tui/tui-win.c (tui_set_var_cmd): Constify.
2999         * mi/mi-main.c (set_mi_async_command): Constify.
3000         * cli/cli-logging.c (set_logging_overwrite)
3001         (set_logging_redirect): Constify.
3002         * value.c (set_max_value_size): Constify.
3003         * valprint.c (set_input_radix, set_output_radix): Constify.
3004         * utils.c (set_width_command, set_height_command): Constify.
3005         * typeprint.c (set_print_type_methods, set_print_type_typedefs): Constify.
3006         * tracepoint.c (set_disconnected_tracing)
3007         (set_circular_trace_buffer, set_trace_buffer_size)
3008         (set_trace_user, set_trace_notes, set_trace_stop_notes): Constify.
3009         * top.c (set_history_size_command, set_verbose, set_editing)
3010         (set_gdb_datadir, set_history_filename): Constify.
3011         * target.c (set_targetdebug, maint_set_target_async_command)
3012         (maint_set_target_non_stop_command, set_target_permissions)
3013         (set_write_memory_permission): Constify.
3014         (open_target): Constify.
3015         * target-descriptions.c (set_tdesc_filename_cmd): Constify.
3016         * target-dcache.c (set_stack_cache, set_code_cache): Constify.
3017         * symtab.c (set_symbol_cache_size_handler): Constify.
3018         * symfile.c (set_ext_lang_command): Constify.
3019         * symfile-debug.c (set_debug_symfile): Constify.
3020         * source.c (set_directories_command): Constify.
3021         * solib.c (reload_shared_libraries, gdb_sysroot_changed): Constify.
3022         * serial.c (set_parity): Constify.
3023         * rs6000-tdep.c (powerpc_set_soft_float, powerpc_set_vector_abi): Constify.
3024         * remote.c (set_remote_exec_file, set_remotebreak)
3025         (set_remote_protocol_Z_packet_cmd, set_range_stepping): Constify.
3026         * record.c (set_record_insn_history_size)
3027         (set_record_call_history_size): Constify.
3028         * record-full.c (set_record_full_insn_max_num): Constify.
3029         * proc-api.c (set_procfs_trace_cmd, set_procfs_file_cmd): Constify.
3030         * osabi.c (set_osabi): Constify.
3031         * mips-tdep.c (set_mips64_transfers_32bit_regs)
3032         (reinit_frame_cache_sfunc, mips_abi_update): Constify.
3033         * maint.c (maintenance_set_profile_cmd): Constify.
3034         * linux-thread-db.c (set_libthread_db_search_path): Constify.
3035         * language.c (set_language_command, set_range_command)
3036         (set_case_command): Constify.
3037         * infrun.c (set_non_stop, set_observer_mode)
3038         (set_stop_on_solib_events, set_schedlock_func)
3039         (set_exec_direction_func): Constify.
3040         * infcmd.c (set_inferior_tty_command): Constify.
3041         * disasm.c (set_disassembler_options_sfunc): Constify.
3042         * demangle.c (set_demangling_command): Constify.
3043         * dcache.c (set_dcache_size, set_dcache_line_size): Constify.
3044         * cris-tdep.c (set_cris_version, set_cris_mode)
3045         (set_cris_dwarf2_cfi): Constify.
3046         * corefile.c (set_gnutarget_command): Constify.
3047         * charset.c (set_host_charset_sfunc, set_target_charset_sfunc)
3048         (set_target_wide_charset_sfunc): Constify.
3049         * breakpoint.c (update_dprintf_commands): Constify.
3050         * auto-load.c (set_auto_load_dir, set_auto_load_safe_path): Constify.
3051         * arm-tdep.c (set_fp_model_sfunc, arm_set_abi)
3052         (set_disassembly_style_sfunc): Constify.
3053         * arch-utils.c (set_endian, set_architecture): Constify.
3054         * alpha-tdep.c (reinit_frame_cache_sfunc): Constify.
3055         * agent.c (set_can_use_agent): Constify.
3056
3057 2017-11-07  Tom Tromey  <tom@tromey.com>
3058
3059         * go32-nat.c (go32_sysinfo, go32_sldt, go32_sgdt, go32_sidt)
3060         (go32_pde, go32_pte, go32_pte_for_address): Constify.
3061         * gnu-nat.c (_parse_bool_arg, show_thread_default_pause_cmd)
3062         (set_thread_default_pause_cmd, set_thread_default_run_cmd)
3063         (show_thread_default_run_cmd, set_thread_default_detach_sc_cmd)
3064         (parse_int_arg, show_thread_default_detach_sc_cmd)
3065         (set_signals_cmd, show_signals_cmd, set_sig_thread_cmd)
3066         (show_sig_thread_cmd, set_stopped_cmd, show_stopped_cmd)
3067         (set_exceptions_cmd, show_exceptions_cmd, set_task_pause_cmd)
3068         (show_task_pause_cmd, set_task_detach_sc_cmd)
3069         (show_task_detach_sc_cmd, set_task_exc_port_cmd)
3070         (set_noninvasive_cmd, set_thread_pause_cmd)
3071         (show_thread_pause_cmd, set_thread_run_cmd, show_thread_run_cmd)
3072         (set_thread_detach_sc_cmd, show_thread_detach_sc_cmd)
3073         (set_thread_exc_port_cmd, thread_takeover_sc_cmd): Constify.
3074         * windows-nat.c (display_selectors): Constify.
3075         * cli/cli-decode.h (struct cmd_list_element) <function>: Remove
3076         non-const "cfunc".
3077         * cli/cli-decode.c (set_cmd_cfunc): Remove non-const overload.
3078         (cmd_cfunc_eq): Likewise.
3079         (struct cmd_list_element): Likewise.
3080         (do_cfunc): Remove.
3081         (cli_user_command_p): Update.
3082         * command.h (add_cmd): Remove non-const overload.
3083         (cmd_cfunc_ftype): Remove typedef.
3084         (cmd_cfunc_eq): Remove non-const overload.
3085         * value.c (show_values): Constify.
3086         * thread.c (thread_apply_all_command): Constify.
3087         * symfile.c (load_command): Constify.
3088         * source.c (directory_command): Constify.
3089         * maint.c (maintenance_internal_error)
3090         (maintenance_demangler_warning, maintenance_space_display)
3091         (maintenance_print_architecture, maintenance_translate_address)
3092         (maintenance_info_selftests, maintenance_internal_warning):
3093         Constify.
3094         * breakpoint.c (disable_trace_command, enable_trace_command):
3095         Constify.
3096         * auto-load.c (info_auto_load_local_gdbinit, add_auto_load_dir):
3097         Constify.
3098         (add_auto_load_safe_path): Constify.
3099         * guile/scm-auto-load.c (info_auto_load_guile_scripts): Constify.
3100         * top.h (show_commands): Constify.
3101         * linux-thread-db.c (info_auto_load_libthread_db): Constify.
3102         * sparc64-tdep.c (adi_examine_command): Constify.
3103         (adi_assign_command): Constify.
3104
3105 2017-11-07  Tom Tromey  <tom@tromey.com>
3106
3107         * frame.h (info_locals_command, info_args_command): Constify.
3108         * auto-load.h (auto_load_info_scripts): Constify.
3109         * inferior.h (registers_info): Constify.
3110         * copying.c: Rebuild.
3111         * copying.awk: Constify generated commands.
3112         * auto-load.c (auto_load_info_scripts)
3113         (info_auto_load_gdb_scripts): Constify.
3114         * cli/cli-decode.c (struct cmd_list_element): Take a
3115         cmd_const_cfunc_ftype.
3116         * command.h (add_info): Take a cmd_const_cfunc_ftype.
3117         * tui/tui-win.c (tui_all_windows_info): Constify.
3118         * python/py-auto-load.c (info_auto_load_python_scripts):
3119         Constify.
3120         * cli/cli-cmds.c (show_command): Remove non-const overload.
3121         * tracepoint.c (info_tvariables_command, info_scope_command):
3122         Constify.
3123         (info_static_tracepoint_markers_command): Constify.
3124         * thread.c (info_threads_command): Constify.
3125         (print_thread_info_1): Constify.
3126         * target.c (info_target_command): Constify.
3127         * symtab.c (info_sources_command, info_functions_command)
3128         (info_types_command): Constify.
3129         (info_variables_command): Remove non-const overload.
3130         * symfile.c (info_ext_lang_command): Constify.
3131         * stack.c (info_frame_command, info_locals_command)
3132         (info_args_command): Constify.
3133         (backtrace_command): Remove non-const overload.
3134         * source.c (info_source_command, info_line_command): Constify.
3135         * solib.c (info_sharedlibrary_command): Constify.
3136         * skip.c (info_skip_command): Constify.
3137         * ser-go32.c (info_serial_command): Constify.
3138         * reverse.c (info_bookmarks_command): Constify.
3139         * printcmd.c (info_symbol_command, info_address_command)
3140         (info_display_command): Constify.
3141         * osdata.c (info_osdata_command): Constify.
3142         * objc-lang.c (info_selectors_command, info_classes_command):
3143         Constify.
3144         * nto-procfs.c (procfs_pidlist, procfs_meminfo): Constify.
3145         * memattr.c (info_mem_command): Constify.
3146         * macrocmd.c (info_macro_command, info_macros_command): Constify.
3147         * linux-fork.c (info_checkpoints_command): Constify.
3148         * infrun.c (info_signals_command): Constify.
3149         * inflow.c (info_terminal_command): Constify.
3150         * inferior.c (info_inferiors_command): Constify.
3151         (print_inferior): Constify.
3152         * infcmd.c (info_program_command, info_all_registers_command)
3153         (info_registers_command, info_vector_command)
3154         (info_float_command): Constify.
3155         (registers_info): Constify.
3156         * gnu-nat.c (info_send_rights_cmd, info_recv_rights_cmd)
3157         (info_port_sets_cmd, info_dead_names_cmd, info_port_rights_cmd):
3158         Constify.
3159         * f-valprint.c (info_common_command): Constify.
3160         * dcache.c (info_dcache_command): Constify.
3161         (dcache_info_1): Constify.
3162         * darwin-nat-info.c (info_mach_tasks_command)
3163         (info_mach_task_command, info_mach_ports_command)
3164         (info_mach_port_command, info_mach_threads_command)
3165         (info_mach_thread_command, info_mach_regions_command)
3166         (info_mach_regions_recurse_command, info_mach_region_command)
3167         (info_mach_exceptions_command): Constify.
3168         (get_task_from_args): Constify.
3169         * cp-support.c (info_vtbl_command): Constify.
3170         * breakpoint.c (info_watchpoints_command)
3171         (info_tracepoints_command): Constify.
3172         (info_breakpoints_command): Remove non-const overload.
3173         * avr-tdep.c (avr_io_reg_read_command): Constify.
3174         * auxv.c (info_auxv_command): Constify.
3175         * ada-tasks.c (info_tasks_command): Constify.
3176         (info_task): Constify.
3177         * ada-lang.c (info_exceptions_command): Constify.
3178
3179 2017-11-07  Tom Tromey  <tom@tromey.com>
3180
3181         * solib.h (no_shared_libraries): Constify.
3182         * frame.h (return_command): Constify.
3183         * cli/cli-cmds.h (quit_command): Constify.
3184         * top.h (quit_command, execute_command): Constify.
3185         * target.h (flash_erase_command): Constify.
3186         * inferior.h (set_inferior_args, attach_command): Constify.
3187         * tracepoint.h (start_tracing, stop_tracing): Constify.
3188         * breakpoint.h (break_command, tbreak_command)
3189         (hbreak_command_wrapper, thbreak_command_wrapper)
3190         (rbreak_command_wrapper, watch_command_wrapper)
3191         (awatch_command_wrapper, rwatch_command_wrapper)
3192         (get_tracepoint_by_number): Constify.
3193         * symtab.c (info_variables_command, rbreak_command)
3194         (symtab_symbol_info): Constify.
3195         (info_variables_command): Add non-const overload.
3196         * top.c (dont_repeat_command): Constify.
3197         * breakpoint.c (ignore_command, commands_command)
3198         (condition_command, tbreak_command, hbreak_command)
3199         (thbreak_command, clear_command, break_command)
3200         (info_breakpoints_command, watch_command, rwatch_command)
3201         (awatch_command, trace_command, ftrace_command, strace_command)
3202         (trace_pass_command, break_range_command, dprintf_command)
3203         (agent_printf_command, get_tracepoint_by_number)
3204         (watch_maybe_just_location, trace_pass_command): Constify.
3205         (info_breakpoints_command): Add non-const overload.
3206         * tracefile.c (tsave_command): Constify.
3207         * infcmd.c (attach_command, disconnect_command, signal_command)
3208         (queue_signal_command, stepi_command, nexti_command)
3209         (finish_command, next_command, step_command, until_command)
3210         (advance_command, jump_command, continue_command, run_command)
3211         (start_command, starti_command, interrupt_command)
3212         (run_command_1, set_inferior_args, step_1): Constify.
3213         * inferior.c (add_inferior_command, remove_inferior_command)
3214         (clone_inferior_command): Constify.
3215         * linux-fork.c (checkpoint_command, restart_command): Constify.
3216         * windows-nat.c (signal_event_command): Constify.
3217         * guile/guile.c (guile_repl_command, guile_command): Constify.
3218         * printcmd.c (x_command, display_command, printf_command)
3219         (output_command, set_command, call_command, print_command)
3220         (eval_command): Constify.
3221         (non_const_set_command): Remove.
3222         (_initialize_printcmd): Update.
3223         * source.c (forward_search_command, reverse_search_command):
3224         Constify.
3225         * jit.c (jit_reader_load_command, jit_reader_unload_command):
3226         Constify.
3227         * infrun.c (handle_command): Constify.
3228         * memattr.c (mem_command): Constify.
3229         * stack.c (return_command, up_command, up_silently_command)
3230         (down_command, down_silently_command, frame_command)
3231         (backtrace_command, func_command, backtrace_command_1): Constify.
3232         (backtrace_command): Add non-const overload.
3233         * remote-sim.c (simulator_command): Constify.
3234         * exec.c (set_section_command): Constify.
3235         * tracepoint.c (tdump_command, trace_variable_command)
3236         (tstatus_command, tstop_command, tstart_command)
3237         (end_actions_pseudocommand, while_stepping_pseudocommand)
3238         (collect_pseudocommand, teval_pseudocommand, actions_command)
3239         (start_tracing, stop_tracing): Constify.
3240         * value.c (init_if_undefined_command): Constify.
3241         * tui/tui-stack.c (tui_update_command): Constify.
3242         * tui/tui-win.c (tui_refresh_all_command)
3243         (tui_set_tab_width_command, tui_set_win_height_command)
3244         (tui_set_focus_command, tui_scroll_forward_command)
3245         (tui_scroll_backward_command, tui_scroll_left_command)
3246         (tui_scroll_right_command, parse_scrolling_args, tui_set_focus)
3247         (tui_set_win_height): Constify.
3248         * tui/tui-layout.c (tui_layout_command): Constify.
3249         * procfs.c (proc_trace_syscalls, proc_trace_sysentry_cmd)
3250         (proc_trace_sysexit_cmd, proc_untrace_sysentry_cmd)
3251         (proc_untrace_sysexit_cmd): Constify.
3252         * remote.c (threadlist_test_cmd, threadinfo_test_cmd)
3253         (threadset_test_cmd, threadlist_update_test_cmd)
3254         (threadalive_test): Constify.
3255         * objc-lang.c (print_object_command): Constify.
3256         * command.h (add_com): Constify.
3257         * cli/cli-dump.c (restore_command): Constify.
3258         * cli/cli-cmds.c (pwd_command, echo_command, quit_command)
3259         (help_command, complete_command, shell_command, edit_command)
3260         (list_command, disassemble_command, make_command)
3261         (apropos_command, alias_command): Constify.
3262         * cli/cli-script.c (document_command, define_command)
3263         (while_command, if_command, validate_comname): Constify.
3264         * cli/cli-decode.c (struct cmd_list_element): Change type of
3265         "fun".
3266         * target.c (do_monitor_command, flash_erase_command): Constify.
3267         * regcache.c (reg_flush_command): Constify.
3268         * reverse.c (reverse_step, reverse_next, reverse_stepi)
3269         (reverse_nexti, reverse_continue, reverse_finish)
3270         (save_bookmark_command, goto_bookmark_command)
3271         (exec_reverse_once): Constify.
3272         * python/python.c (python_interactive_command, python_command):
3273         Constify.
3274         * typeprint.c (ptype_command, whatis_command, whatis_exp):
3275         Constify.
3276         * solib.c (sharedlibrary_command, no_shared_libraries): Constify.
3277         * gcore.c (gcore_command): Constify.
3278
3279 2017-11-07  Tom Tromey  <tom@tromey.com>
3280
3281         * printcmd.c (x_command): Call set_repeat_arguments.
3282         * cli/cli-cmds.c (list_command): Call set_repeat_arguments.
3283         * top.c (repeat_arguments): New global.
3284         (set_repeat_arguments): New function.
3285         (execute_command): Handle repeat_arguments.
3286         (show_commands): Calls set_repeat_arguments.
3287         * command.h (set_repeat_arguments): Declare.
3288
3289 2017-11-07  Tom Tromey  <tom@tromey.com>
3290
3291         * stack.c (backtrace_command): Use std::string.
3292         (backtrace_command_1): Make "count_exp" const.
3293
3294 2017-11-07  Tom Tromey  <tom@tromey.com>
3295
3296         * source.c (directory_switch, mod_path, add_path): Constify.
3297         * defs.h (add_path, mod_path, directory_switch): Constify.
3298         * mi/mi-cmd-env.c (env_mod_path): Constify.
3299
3300 2017-11-07  Tom Tromey  <tom@tromey.com>
3301
3302         * infcmd.c (strip_bg_char): Return gdb::unique_xmalloc_ptr.
3303         (run_command_1, continue_command, step_1, jump_command)
3304         (signal_command, until_command, advance_command, finish_command)
3305         (attach_command): Update.
3306
3307 2017-11-07  Tom Tromey  <tom@tromey.com>
3308
3309         * command.h (set_cmd_cfunc): Don't declare.
3310         * cli/cli-decode.c (set_cmd_cfunc): Now static.
3311
3312 2017-11-07  Tom Tromey  <tom@tromey.com>
3313
3314         * stack.c (select_frame_command): Constify.
3315         * cli/cli-decode.c (add_com_suppress_notification): Constify.
3316         * command.h (add_com_suppress_notification): Constify.
3317
3318 2017-11-07  Tom Tromey  <tom@tromey.com>
3319
3320         * breakpoint.c (stop_command): Constify.
3321         * cli/cli-decode.c (struct cmd_list_element): Constify.
3322         * command.h (add_abbrev_prefix_cmd): Constify.
3323
3324 2017-11-07  Pedro Alves  <palves@redhat.com>
3325
3326         * breakpoint.c (extract_bp_kind): New enum.
3327         (extract_bp_num, extract_bp_or_bp_range): New functions, partially
3328         factored out from ...
3329         (extract_bp_number_and_location): ... here.
3330         * cli/cli-utils.c (get_number_trailer): Handle '-$variable'.
3331
3332 2017-11-07  Pedro Alves  <palves@redhat.com>
3333
3334         * breakpoint.c (extract_bp_number_and_location): Change return
3335         type to void.  Throw error instead of warning.
3336         (enable_disable_command): Adjust.
3337
3338 2017-11-07  Xavier Roirand  <roirand@adacore.com>
3339             Pedro Alves  <palves@redhat.com>
3340
3341         * breakpoint.c (map_breakpoint_number_range): New, factored out
3342         from ...
3343         (map_breakpoint_numbers): ... here.
3344         (find_location_by_number): Change parameters from string to
3345         breakpoint number and location.
3346         (extract_bp_number_and_location): New function.
3347         (enable_disable_bp_num_loc)
3348         (enable_disable_breakpoint_location_range)
3349         (enable_disable_command): New functions, factored out ...
3350         (enable_command, disable_command): ... these functions, and
3351         adjusted to support ranges.
3352         * NEWS: Document enable/disable breakpoint location range feature.
3353
3354 2017-11-06  Luis Machado  <luis.machado@linaro.org>
3355
3356         * MAINTAINERS (Write After Approval): Update my e-mail address.
3357
3358 2017-11-06  Pedro Alves  <palves@redhat.com>
3359
3360         * gnu-nat.c (gnu_terminal_init): Delete.
3361         (gnu_target): Don't install gnu_terminal_init.
3362         * inflow.c (child_terminal_init_with_pgrp): Delete, merged with ...
3363         (child_terminal_init): ... this function.
3364
3365 2017-11-06  Pedro Alves  <palves@redhat.com>
3366
3367         * common/common.m4 (GDB_AC_COMMON): No longer check termio.h nor
3368         sgtty.h.
3369         * config.in, configure: Regenerate.
3370
3371 2017-11-06  Pedro Alves  <palves@redhat.com>
3372
3373         * event-top.c: Check SIGTSTP instead of STOP_SIGNAL thoughout.
3374         (async_init_signals): Adjust.
3375         (handle_stop_sig): Rename to ...
3376         (handle_sigtstp): ... this.
3377         (async_stop_sig): Rename to ...
3378         (async_sigtstp_handler): ... this, and delete STOP_SIGNAL !=
3379         SIGTSTP path.
3380         * event-top.h: Move signal.h include to the top.  Check SIGTSTP
3381         instead of STOP_SIGNAL thoughout.
3382         (handle_stop_sig): Rename to ...
3383         (handle_sigtstp): ... this.
3384         * top.c (command_line_input): Replace STOP_SIGNAL -> SIGTSTP.
3385
3386 2017-11-06  Pedro Alves  <palves@redhat.com>
3387
3388         * inflow.c (child_terminal_inferior, child_terminal_ours_1): No
3389         longer set flags twice in row.
3390
3391 2017-11-06  Pedro Alves  <palves@redhat.com>
3392
3393         * Makefile.in (SER_HARDWIRE): Update comment.
3394         (HFILES_NO_SRCDIR): Remove gdb_termios.h.
3395         * common/gdb_termios.h: Delete file.
3396         * common/job-control.c: Include termios.h and unistd.h instead of
3397         gdb_termios.h.
3398         (gdb_setpgid): Remove HAVE_TERMIOS || TIOCGPGRP preprocessor
3399         check.
3400         (have_job_control): Check HAVE_TERMIOS_H instead of HAVE_TERMIOS.
3401         Remove sgtty code.
3402         * configure.ac: No longer check for termio.h and sgtty.h.
3403         * configure: Regenerate.
3404         * inflow.c: Include termios.h instead of gdb_termios.h.  Replace
3405         PROCESS_GROUP_TYPE checks with HAVE_TERMIOS_H checks throughout.
3406         Replace PROCESS_GROUP_TYPE references with pid_t references
3407         throughout.
3408         (gdb_getpgrp): Delete.
3409         (set_initial_gdb_ttystate): Use tcgetpgrp instead of gdb_getpgrp.
3410         (child_terminal_inferior): Remove comment.  Remove sgtty code.
3411         (child_terminal_ours_1): Use tcgetpgrp directly instead of
3412         gdb_getpgrp.  Use serial_set_tty_state instead aof
3413         serial_noflush_set_tty_state.  Remove sgtty code.
3414         * inflow.h: Include unistd.h instead of gdb_termios.h.  Replace
3415         PROCESS_GROUP_TYPE check with HAVE_TERMIOS_H check.
3416         (inferior_process_group): Now returns pid_t.
3417         * ser-base.c (ser_base_noflush_set_tty_state): Delete.
3418         * ser-base.h (ser_base_noflush_set_tty_state): Delete.
3419         * ser-event.c (serial_event_ops): Update.
3420         * ser-go32.c (dos_noflush_set_tty_state): Delete.
3421         (dos_ops): Update.
3422         * ser-mingw.c (hardwire_ops, tty_ops, pipe_ops, tcp_ops): Update.
3423         * ser-pipe.c (pipe_ops): Update.
3424         * ser-tcp.c (tcp_ops): Update.
3425         * ser-unix.c: Include termios.h instead of gdb_termios.h.  Remove
3426         HAVE_TERMIOS checks.
3427         [HAVE_TERMIO] (struct hardwire_ttystate): Delete.
3428         [HAVE_SGTTY] (struct hardwire_ttystate): Delete.
3429         (get_tty_state, set_tty_state): Drop termio and sgtty code, and
3430         assume termios.
3431         (hardwire_noflush_set_tty_state): Delete.
3432         (hardwire_print_tty_state, hardwire_drain_output)
3433         (hardwire_flush_output, hardwire_flush_input)
3434         (hardwire_send_break, hardwire_raw, hardwire_setbaudrate)
3435         (hardwire_setstopbits, hardwire_setparity): Drop termio and sgtty
3436         code, and assume termios.
3437         (hardwire_ops): Update.
3438         (_initialize_ser_hardwire): Remove HAVE_TERMIOS check.
3439         * serial.c (serial_noflush_set_tty_state): Delete.
3440         * serial.h (serial_noflush_set_tty_state): Delete.
3441         (serial_ops::noflush_set_tty_state): Delete.
3442
3443 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3444
3445         * Makefile.in (SFILES): Remove doublest.c and dfp.c.
3446         (HFILES_NO_SRCDIR): Remove doublest.h and dfp.h.
3447         (COMMON_OBS): Remove doublest.o and dfp.o.
3448         Do not build target-float.c (instead of doublest.c)
3449         with -Wformat-nonliteral.
3450
3451         * doublest.c: Remove file.
3452         * doublest.h: Remove file.
3453         * dfp.c: Remove file.
3454         * dfp.h: Remove file.
3455
3456         * target-float.c: Do not include "doublest.h" and "dfp.h".
3457         (DOUBLEST): Move here from doublest.h.
3458         (enum float_kind): Likewise.
3459         (FLOATFORMAT_CHAR_BIT): Likewise.
3460         (FLOATFORMAT_LARGEST_BYTES): Likewise.
3461         (floatformat_totalsize_bytes): Move here from doublest.c.  Make static.
3462         (floatformat_precision): Likewise.
3463         (floatformat_normalize_byteorder, get_field, put_field): Likewise.
3464         (floatformat_is_negative, floatformat_classify, floatformat_mantissa):
3465         Likewise.
3466         (host_float_format, host_double_format, host_long_double_format):
3467         Likewise.
3468         (floatformat_to_string, floatformat_from_string): Likewise.
3469         (floatformat_to_doublest): Likewise.  Also, inline the original
3470         convert_floatformat_to_doublest.
3471         (floatformat_from_doublest): Likewise.  Also, inline the original
3472         convert_floatformat_from_doublest.
3473
3474         Include "dpd/decimal128.h", "dpd/decimal64.h", and "dpd/decimal32.h".
3475         (MAX_DECIMAL_STRING): Move here from dfp.c.
3476         (match_endianness): Likewise.
3477         (set_decnumber_context, decimal_check_errors): Likewise.
3478         (decimal_from_number, decimal_to_number): Likewise.
3479         (decimal_to_string, decimal_from_string): Likewise.  Make static.
3480         (decimal_from_longest, decimal_from_ulongest): Likewise.
3481         (decimal_to_longest): Likewise.
3482         (decimal_binop, decimal_is_zero, decimal_compare): Likewise.
3483         (decimal_convert): Likewise.
3484
3485 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3486
3487         * doublest.c: Do not include "gdbtypes.h".
3488         (extract_typed_floating): Remove.
3489         (store_typed_floating): Remove.
3490         (convert_typed_floating): Remove.
3491         * doublest.h (struct type): Remove.
3492         (DOUBLEST_PRINT_FORMAT): Remove.
3493         (DOUBLEST_SCAN_FORMAT): Remove.
3494         (extract_typed_floating): Remove.
3495         (store_typed_floating): Remove.
3496         (convert_typed_floating): Remove.
3497
3498         * dfp.c (decimal_from_doublest): Remove.
3499         (decimal_to_doublest): Remove.
3500         * dfp.h: Do not include "doublest.h".
3501         (decimal_from_doublest): Remove.
3502         (decimal_to_doublest): Remove.
3503
3504         * value.c: Do not include "doublest.h" and "dfp.h".
3505         (value_as_double): Remove.
3506         (unpack_double): Remove.
3507         (value_from_double): Remove.
3508         (value_from_decfloat): Remove.
3509         * value.h: Do not include "doublest.h".
3510         (value_as_double): Remove.
3511         (unpack_double): Remove.
3512         (value_from_double): Remove.
3513         (value_from_decfloat): Remove.
3514
3515 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3516
3517         * i386-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3518         (i386_extract_return_value): Use target_float_convert.
3519         (i386_store_return_value): Likewise.
3520         * i387-tdep.c (i387_register_to_value): Use target_float_convert.
3521         (i387_value_to_register): Likewise.
3522         * ia64-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3523         (ia64_register_to_value): Use target_float_convert.
3524         (ia64_value_to_register): Likewise.
3525         (ia64_extract_return_value): Likewise.
3526         (ia64_store_return_value): Likewise.
3527         (ia64_push_dummy_call): Likewise.
3528         * m68k-tdep.c: Include "target-float.h".
3529         (m68k_register_to_value): Use target_float_convert.
3530         (m68k_value_to_register): Likewise.
3531         (m68k_svr4_extract_return_value): Likewise.
3532         (m68k_svr4_store_return_value): Likewise.
3533         * ppc-sysv-tdep.c: Include "target-float.h".
3534         (ppc_sysv_abi_push_dummy_call): Use target_float_convert.
3535         (do_ppc_sysv_return_value): Likewise.
3536         (ppc64_sysv_abi_push_freg): Likewise.
3537         (ppc64_sysv_abi_return_value_base): Likewise.
3538         * rs6000-aix-tdep.c: Include "target-float.h".
3539         (rs6000_push_dummy_call): Use target_float_convert.
3540         (rs6000_return_value): Likewise.
3541         * rs6000-lynx178-tdep.c: Include "target-float.h".
3542         (rs6000_lynx178_push_dummy_call): Use target_float_convert.
3543         (rs6000_lynx178_return_value): Likewise.
3544         * rs6000-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3545         (rs6000_register_to_value): Use target_float_convert.
3546         (rs6000_value_to_register): Likewise.
3547         * arm-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3548         (arm_extract_return_value): Use target_float_convert.
3549         (arm_store_return_value): Likewise.
3550         * sh-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3551         (sh_register_convert_to_virtual): Use target_float_convert.
3552         (sh_register_convert_to_raw): Likewise.
3553         * sh64-tdep.c: Include "target-float.h".
3554         (sh64_extract_return_value): Use target_float_convert.
3555         (sh64_register_convert_to_virtual): Likewise.
3556         (sh64_register_convert_to_raw): Likewise.  Fix argument types.
3557
3558 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3559
3560         * target-float.c (floatformat_to_host_double): New function.
3561         (floatformat_from_host_double): Likewise.
3562         (target_float_to_host_double): Likewise.
3563         (target_float_from_host_double): Likewise.
3564         * target-float.h (target_float_to_host_double): Add prototype.
3565         (target_float_from_host_double): Likewise.
3566
3567         * guile/scm-value.c: Include "target-float.h".
3568         (gdbscm_value_to_real): Use target_float_to_host_double.
3569         Handle integer source values via value_as_long.
3570         * guile/scm-math.c: Include "target-float.h".  Do not include
3571         "doublest.h", "dfp.h", and "expression.h".
3572         (vlscm_convert_typed_number): Use target_float_from_host_double.
3573         (vlscm_convert_number): Likewise.
3574
3575         * python/py-value.c (valpy_float): Use target_float_to_host_double.
3576         (convert_value_from_python): Use target_float_from_host_double.
3577
3578 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3579
3580         * ada-lang.c (cast_to_fixed): Reimplement in target arithmetic.
3581         (cast_from_fixed): Likewise.
3582         (ada_scaling_type): New function.
3583         (ada_delta): Return value instead of DOUBLEST.  Perform target
3584         arithmetic instead of host arithmetic.
3585         (scaling_factor): Rename to ...
3586         (ada_scaling_factor) ... this.  Make non-static.  Return value instead
3587         of DOUBLEST.  Perform target arithmetic instead of host arithmetic.
3588         (ada_fixed_to_float): Remove.
3589         (ada_float_to_fixed): Remove.
3590         * ada-lang.h (ada_fixed_to_float): Remove.
3591         (ada_float_to_fixed): Remove.
3592         (ada_delta): Return value instead of DOUBLEST.
3593         (ada_scaling_factor): Add prototype.
3594
3595         * ada-typeprint.c: Include "target-float.h".
3596         (print_fixed_point_type): Perform target arithmetic instead of
3597         host arithmetic.
3598         * ada-valprint.c: Include "target-float.h".
3599         (ada_val_print_num): Perform target arithmetic instead of
3600         host arithmetic for fixed-point types.
3601
3602 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3603
3604         * target-float.c: Include <math.h>.
3605         (floatformat_binop): New function.
3606         (floatformat_compare): Likewise.
3607         (target_float_binop): Likewise.
3608         (target_float_compare): Likewise.
3609         * target-float.h: Include "expression.h".
3610         (target_float_binop): Add prototype.
3611         (target_float_compare): Likewise.
3612
3613         * valarith.c: Do not include "doublest.h" and "dfp.h".
3614         Include "common/byte-vector.h".
3615         (value_args_as_decimal): Remove, replace by ...
3616         (value_args_as_target_float): ... this function.  Handle both
3617         binary and decimal target floating-point formats.
3618         (scalar_binop): Handle both binary and decimal FP using
3619         value_args_as_target_float and target_float_binop.
3620         (value_equal): Handle both binary and decimal FP using
3621         value_args_as_target_float and target_float_compare.
3622         (value_less): Likewise.
3623         (value_pos): Handle all scalar types as simple copy.
3624         (value_neg): Handle all scalar types via BINOP_SUB from 0.
3625         * dfp.c (decimal_binop): Throw error instead of internal_error
3626         when called with an unsupported operation code.
3627
3628 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3629
3630         * target-float.c (target_float_to_string): New function.
3631         (target_float_from_string): New function.
3632         * target-float.h (target_float_to_string): Add prototype.
3633         (target_float_from_string): Add prototype.
3634
3635         * valprint.c: Include "target-float.h".  Do not include
3636         "doublest.h" and "dfp.h".
3637         (print_floating): Use target_float_to_string.
3638         * printcmd.c: Include "target-float.h".  Do not include "dfp.h".
3639         (printf_floating): Use target_float_to_string.
3640         * i387-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3641         (print_i387_value): Use target_float_to_string.
3642         * mips-tdep.c: Include "target-float.h".
3643         (mips_print_fp_register): Use target_float_to_string.
3644         * sh64-tdep.c: Include "target-float.h".
3645         (sh64_do_fp_register): Use target_float_to_string.
3646
3647         * parse.c: Include "target-float.h".  Do not include
3648         "doublest.h" and "dfp.h".
3649         (parse_float): Use target_float_from_string.
3650         * stabsread.c: Include "target-float.h".  Do not include "doublest.h".
3651         (define_symbol): Use target_float_from_string.
3652         * gdbarch-selftests.c: Include "target-float.h".
3653         (register_to_value_test): Use target_float_from_string.
3654
3655 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3656
3657         * Makefile.c (SFILES): Add target-float.c.
3658         (HFILES_NO_SRCDIR): Add target-float.h.
3659         (COMMON_OBS): Add target-float.o.
3660         * target-float.h: New file.
3661         * target-float.c: New file.
3662
3663         * doublest.c (floatformat_classify): Fix detection of float_zero.
3664
3665         * gdbtypes.c (is_floating_type): New function.
3666         * gdbtypes.h (is_floating_type): Add prototype.
3667
3668         * value.c: Do not include "floatformat.h".
3669         (unpack_double): Use target_float_is_valid.
3670         (is_floating_value): New function.
3671         * value.h (is_floating_value): Add prototype-
3672
3673         * valarith.c: Include "target-float.h".
3674         (value_logical_not): Use target_float_is_zero.
3675
3676         * python/py-value.c: Include "target-float.h".
3677         (valpy_nonzero): Use target_float_is_zero.
3678
3679 2017-11-04  Tom Tromey  <tom@tromey.com>
3680
3681         * h8300-tdep.c (h8300_push_dummy_call): Use std::vector.
3682
3683 2017-11-04  Tom Tromey  <tom@tromey.com>
3684
3685         * breakpoint.c (set_momentary_breakpoint): Return
3686         breakpoint_up.
3687         (until_break_command): Update.
3688         (new_until_break_fsm): Change argument types to
3689         breakpoint_up.
3690         (set_momentary_breakpoint_at_pc): Return breakpoint_up.
3691         (do_delete_breakpoint_cleanup, make_cleanup_delete_breakpoint):
3692         Remove.
3693         * infcmd.c (finish_forward): Update.
3694         * breakpoint.h (set_momentary_breakpoint)
3695         (set_momentary_breakpoint_at_pc): Return breakpoint_up.
3696         (make_cleanup_delete_breakpoint): Remove.
3697         (struct breakpoint_deleter): New.
3698         (breakpoint_up): New typedef.
3699         * infrun.c (insert_step_resume_breakpoint_at_sal_1): Update.
3700         (insert_exception_resume_breakpoint): Update.
3701         (insert_exception_resume_from_probe): Update.
3702         (insert_longjmp_resume_breakpoint): Update.
3703         * arm-linux-tdep.c (arm_linux_copy_svc): Update.
3704         * elfread.c (elf_gnu_ifunc_resolver_stop): Update.
3705         * infcall.c (call_function_by_hand_dummy): Update
3706
3707 2017-11-04  Tom Tromey  <tom@tromey.com>
3708
3709         * c-typeprint.c (c_type_print_base): Use gdb::unique_xmalloc_ptr.
3710
3711 2017-11-04  Tom Tromey  <tom@tromey.com>
3712
3713         * linux-tdep.c (linux_core_info_proc_mappings): Use
3714         gdb::def_vector.
3715         (linux_get_siginfo_data): Return gdb::byte_vector.  Remove
3716         "size" argument.
3717         (linux_corefile_thread): Update.
3718         (linux_make_corefile_notes): Remove unused variable.
3719
3720 2017-11-04  Tom Tromey  <tom@tromey.com>
3721
3722         * ppc-linux-tdep.c (ppc_linux_get_syscall_number): Use
3723         gdb::byte_vector.
3724
3725 2017-11-04  Tom Tromey  <tom@tromey.com>
3726
3727         * objfiles.c (do_free_objfile_cleanup): Remove.
3728         * compile/compile-object-load.c (compile_object_load): Update.
3729         * objfiles.h (make_cleanup_free_objfile): Remove.
3730
3731 2017-11-04  Tom Tromey  <tom@tromey.com>
3732
3733         * sparc64-tdep.c (do_examine): Use gdb::def_vector.
3734         (adi_read_versions): Change "tags" to "gdb_byte *".
3735         (adi_print_versions): Likewise.
3736
3737 2017-11-04  Tom Tromey  <tom@tromey.com>
3738
3739         * breakpoint.c
3740         (scoped_rbreak_breakpoints::scoped_rbreak_breakpoints): Rename
3741         from start_rbreak_breakpoints.
3742         (scoped_rbreak_breakpoints): Rename from end_rbreak_breakpoints.
3743         * breakpoint.h (class scoped_rbreak_breakpoints): New.
3744         (start_rbreak_breakpoints, end_rbreak_breakpoints): Remove.
3745         * symtab.c (do_end_rbreak_breakpoints): Remove.
3746         (rbreak_command): Use scoped_rbreak_breakpoints, std::string.
3747
3748 2017-11-04  Tom Tromey  <tom@tromey.com>
3749
3750         * cp-namespace.c (reset_directive_searched): Remove.
3751         (cp_lookup_symbol_via_imports): Use scoped_restore.
3752         * cp-support.c (reset_directive_searched): Remove.
3753         (make_symbol_overload_list_using): Use scoped_restore.
3754         * d-namespace.c (d_lookup_symbol_imports): Use scoped_restore.
3755         (reset_directive_searched): Remove.
3756
3757 2017-11-04  Tom Tromey  <tom@tromey.com>
3758
3759         * symfile.c (find_separate_debug_file_by_debuglink): Use
3760         unique_xmalloc_ptr.
3761
3762 2017-11-04  Tom Tromey  <tom@tromey.com>
3763
3764         * compile/compile-loc2c.c (compute_stack_depth_worker): Change
3765         type of "info".
3766         (compute_stack_depth): Likewise.
3767         (do_compile_dwarf_expr_to_c): Use std::vector.
3768
3769 2017-11-04  Tom Tromey  <tom@tromey.com>
3770
3771         * compile/compile-object-load.c (link_callbacks_einfo): Use
3772         std::string.
3773
3774 2017-11-04  Tom Tromey  <tom@tromey.com>
3775
3776         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
3777         Use scoped_free_pendings.
3778         * dbxread.c (dbx_symfile_read, dbx_psymtab_to_symtab_1): Use
3779         scoped_free_pendings.
3780         * xcoffread.c (xcoff_psymtab_to_symtab_1): Use scoped_free_pendings.
3781         (xcoff_initial_scan): Likewise.
3782         * buildsym.c (reset_symtab_globals): Update comment.
3783         (scoped_free_pendings): Rename from really_free_pendings.
3784         (prepare_for_building): Update comment.
3785         (buildsym_init): Likewise.
3786         * buildsym.h (class scoped_free_pendings): New class.
3787         (really_free_pendings): Don't declare.
3788
3789 2017-11-03  Ulrich Weigand  <uweigand@de.ibm.com>
3790
3791         * doublest.c (convert_doublest_to_floatformat): Fix uninitialized
3792         output when converting a zero value to a special byteorder format.
3793
3794 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3795
3796         * frame.c (do_frame_register_read): Remove aspace.
3797         * jit.c (jit_frame_sniffer): Likwise.
3798         * ppc-linux-tdep.c (ppu2spu_sniffer): Likewise.
3799         * regcache.c (regcache::regcache): Pass nullptr.
3800         (regcache_print): Caller updated.
3801         * regcache.h (regcache::regcache): Remove one constructor
3802         parameter aspace.
3803
3804 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3805
3806         * regcache.h (regcache) <m_readonly_p>: Change it to const bool.
3807
3808 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3809
3810         * breakpoint.c (insert_single_step_breakpoints): Update.
3811         * frame.c (struct frame_info) <aspace>: Add const.
3812         (frame_save_as_regcache): Add const.
3813         (get_frame_address_space): Return const address_space *.
3814         * frame.h (get_frame_address_space): Update declaration.
3815         * infrun.c (struct step_over_info) <aspace>: Add const.
3816         (set_step_over_info): Make aspace const.
3817         (displaced_step_prepare_throw): Change variable const.
3818         (resume): Likewise.
3819         (proceed): Likewise.
3820         (adjust_pc_after_break): Likewise.
3821         (save_waitstatus): Likewise.
3822         (handle_signal_stop): Likewise.
3823         (keep_going_pass_signal): Likewise.
3824         * jit.c (jit_frame_sniffer): Add const.
3825         * mips-tdep.c (mips_single_step_through_delay): Likewise.
3826         * ppc-linux-tdep.c (ppu2spu_sniffer): Likewise.
3827         * record-full.c (record_full_wait_1): Likewise.
3828         * regcache.c (regcache::regcache): Change parameter to const.
3829         * regcache.h (regcache::regcache): Likewise.
3830         (regcache::aspace): Return const address_space *.
3831         (regcache) <m_aspace>: Add const.
3832
3833 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3834
3835         * darwin-nat.c (cancel_breakpoint): Use regcache->aspace ().
3836         * frame.c (create_sentinel_frame): Likewise.
3837         * infrun.c (displaced_step_prepare_throw): Likewise.
3838         (resume): Likewise.
3839         (thread_still_needs_step_over_bp): Likewise.
3840         (proceed): Likewise.
3841         (do_target_wait): Likewise.
3842         (adjust_pc_after_break): Likewise.
3843         (handle_syscall_event): Likewise.
3844         (save_waitstatus): Likewise.
3845         (handle_inferior_event_1): Likewise.
3846         (handle_signal_stop): Likewise.
3847         (keep_going_pass_signal): Likewise.
3848         * linux-nat.c (status_callback): Likewise.
3849         (save_stop_reason): Likewise.
3850         (resume_stopped_resumed_lwps): Likewise.
3851         * record-full.c (record_full_exec_insn): Likewise.
3852         (record_full_wait_1): Likewise.
3853         * regcache.c (get_regcache_aspace): Remove.
3854         * regcache.h (get_regcache_aspace): Remove.
3855
3856 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3857
3858         * regcache.c (struct regcache_descr) <nr_raw_registers>: Remove.
3859         (init_regcache_descr): Use gdbarch_num_regs.
3860         (regcache::regcache): Likewise.
3861         (regcache::get_register_status): Likewise.
3862         (regcache::assert_raw_regnum): Likewise.
3863         (regcache::cooked_read): Likewise.
3864         (regcache::cooked_read_value): Likewise.
3865         (regcache::cooked_write): Likewise.
3866         (regcache::dump): Likewise.
3867         (regcache::num_raw_registers): New method.
3868         * regcache.h (class regcache) <num_raw_registers>: New.
3869
3870 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3871
3872         * regcache.c (regcache::assert_regnum): New method.
3873         (regcache::invalidate): Call assert_regnum.
3874         (regcache::raw_update): Likewise.
3875         (regcache::raw_write): Likewise.
3876         (regcache::raw_read_part): Likewise.
3877         (regcache::raw_write_part): Likewise.
3878         (regcache::raw_supply): Likewise.
3879         (regcache::raw_supply_integer): Likewise.
3880         (regcache::raw_supply_zeroed): Likewise.
3881         (regcache::raw_collect): Likewise.
3882         (regcache::raw_collect_integer): Likewise.
3883         * regcache.h (regcache::assert_regnum): Declare.
3884
3885 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3886
3887         * regcache.c (regcache::dump): Remove code.
3888
3889 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3890
3891         * regcache.c (struct regcache_descr) <sizeof_raw_register_status>:
3892         Remove.
3893         <sizeof_cooked_register_status>: Remove.
3894         (init_regcache_descr): Update.
3895         (regcache::regcache): Use nr_cooked_registers and nr_raw_registers.
3896         (regcache::save): Likewise.
3897         (regcache::dump): Likewise.
3898
3899 2017-11-01  James Bowman  <james.bowman@ftdichip.com>
3900
3901         * ft32-tdep.c (ft32_fetch_instruction): New function.
3902         (ft32_analyze_prologue): Use ft32_fetch_instruction().
3903
3904 2017-10-31  Simon Marchi  <simon.marchi@polymtl.ca>
3905
3906         * cli/cli-script.c (execute_control_command): Rename to ...
3907         (execute_control_command_1): ... this.
3908         (execute_control_command): New function.
3909
3910 2017-10-31  Simon Marchi  <simon.marchi@ericsson.com>
3911
3912         * tracepoint.c (tfind_command): Remove const_cast.
3913
3914 2017-10-30  Mike Gulick  <mgulick@mathworks.com>
3915
3916         * Makefile.in (HFILES_NO_SRCDIR): Remove reference to gdb.h.
3917
3918 2017-10-30  Simon Marchi  <simon.marchi@ericsson.com>
3919
3920         * common/common-utils.h (in_inclusive_range): New function.
3921         * arm-tdep.c (arm_record_extension_space): Use
3922         in_inclusive_range.
3923         (thumb_record_ld_st_reg_offset): Use in_inclusive_range.
3924         * cris-tdep.c (cris_spec_reg_applicable): Use
3925         in_inclusive_range.
3926
3927 2017-10-30  Pedro Alves  <palves@redhat.com>
3928             Simon Marchi <simon.marchi@ericsson.com>
3929
3930         * remote.c (remote_set_syscall_catchpoint): Build a std::string
3931         instead of a gdb::unique_xmalloc_ptr, using string_appendf.
3932
3933 2017-10-30  Pedro Alves  <palves@redhat.com>
3934
3935         * common/common-utils.c (string_appendf, string_vappendf): New
3936         functions.
3937         * common/common-utils.h (string_appendf, string_vappendf): New
3938         declarations.
3939         * unittests/common-utils-selftests.c (string_appendf_func)
3940         (test_appendf_func, string_vappendf_wrapper, string_appendf_tests)
3941         (string_vappendf_tests): New functions.
3942         (_initialize_common_utils_selftests): Register "string_appendf" and
3943         "string_vappendf tests".
3944
3945 2017-10-30  Pedro Alves  <palves@redhat.com>
3946
3947         * unittests/common-utils-selftests.c (format_func): New typedef.
3948         (string_printf_tests, string_vprintf_tests): Tests factored out
3949         and merged to ...
3950         (test_format_func): ... this new function.
3951         (string_printf_tests, string_vprintf_tests): Reimplement on top of
3952         test_format_func.
3953
3954 2017-10-29  Simon Marchi  <simon.marchi@ericsson.com>
3955
3956         * darwin-nat.c: Remove include of gdb.h.
3957
3958 2017-10-29  Simon Marchi  <simon.marchi@ericsson.com>
3959
3960         * xtensa-xtregs.c: Fix formatting issues.
3961
3962 2017-10-29  Simon Marchi  <simon.marchi@ericsson.com>
3963
3964         * xtensa-xtregs.c (xtensa_regtable_t) <name>: Constify.
3965
3966 2017-10-28  Maksim Dzabraev  <dzabraew@gmail.com>
3967
3968         PR python/21213
3969         * python/py-infthread.c (thpy_get_inferior): Increment reference
3970         of inferior before returning it.
3971
3972 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
3973
3974         * unittests/common-utils-selftests.c (format): Add
3975         ATTRIBUTE_PRINTF.
3976
3977 2017-10-27  Simon Marchi  <simon.marchi@polymtl.ca>
3978
3979         * xml-syscall.c (struct syscall_desc): Add constructor.
3980         <name>: Change type to std::string.
3981         (syscall_desc_up): New typedef.
3982         (syscall_desc_p): Remove typeder.
3983         (DEF_VEC_P(syscall_desc_p)): Remove.
3984         (struct syscall_group_desc): Add constructor.
3985         <name>: Change type to std::string.
3986         <syscalls>: Change type to std::vector.
3987         (syscall_group_desc_up): New typedef.
3988         (syscall_group_desc_p): Remove typedef.
3989         (DEF_VEC_P(syscall_group_desc_p)): Remove.
3990         (struct syscalls_info) <syscalls>: Change type to std::vector of
3991         unique_ptr.
3992         <groups>: Likewise.
3993         <my_gdb_datadir>: Change type to std::string.
3994         (syscalls_info_up): New typedef.
3995         (allocate_syscalls_info): Remove.
3996         (syscalls_info_free_syscalls_desc): Remove.
3997         (syscalls_info_free_syscall_group_desc): Remove.
3998         (free_syscalls_info): Remove.
3999         (make_cleanup_free_syscalls_info): Remove.
4000         (syscall_group_create_syscall_group_desc): Adjust.
4001         (syscall_group_add_syscall): Adjust.
4002         (syscall_create_syscall_desc): Adjust.
4003         (syscall_parse_xml): Adjust, use unique_ptr instead of cleanup.
4004         (init_syscalls_info): Adjust.
4005         (syscall_group_get_group_by_name): Adjust.
4006         (xml_get_syscall_number): Adjust.
4007         (xml_get_syscall_name): Adjust.
4008         (xml_list_of_syscalls): Adjust.
4009         (xml_list_syscalls_by_group): Adjust.
4010         (xml_list_of_groups): Adjust.
4011
4012 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4013
4014         * probe.h: Don't include gdb_vecs.h.
4015         (DEF_VEC_P (probe_p)): Remove.
4016         (find_probes_in_objfile): Return an std::vector.
4017         * probe.c (find_probes_in_objfile): Likewise.
4018         * breakpoint.c (breakpoint_objfile_data)
4019         <longjmp_probes>: Change type to std::vector.
4020         <exception_probes>: Likewise.
4021         (free_breakpoint_probes): Don't manually free vectors.
4022         (create_longjmp_master_breakpoint): Adjust.
4023         (create_exception_master_breakpoint): Adjust.
4024         * solib-svr4.c (svr4_create_probe_breakpoints): Change
4025         parameter type, adjust.
4026         (svr4_create_solib_event_breakpoints): Adjust.
4027
4028 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4029
4030         * breakpoint.c (breakpoint_objfile_data): Initialize fields.
4031         (get_breakpoint_objfile_data): Allocate breakpoint_objfile_data
4032         with new.
4033         (free_breakpoint_probes): Rename to ...
4034         (free_breakpoint_objfile_data): ... this, and call delete on
4035         bp_objfile_data..
4036
4037 2017-10-27  Simon Marchi  <simon.marchi@polymtl.ca>
4038
4039         * auto-load.c: Don't include gdb_vecs.h, include algorithm.
4040         (loaded_script_ptr): Remove typedef.
4041         (DEF_VEC_P (loaded_script_ptr)): Remove.
4042         (struct collect_matching_scripts_data): Add constructor.
4043         <scripts_p>: Change type to (pointer to) std::vector.
4044         (collect_matching_scripts_data): Adjust.
4045         (sort_scripts_by_name): Make suitable for std::sort.
4046         (print_scripts): Don't sort vector, adjust to std::vector.
4047         (auto_load_info_scripts): Sort vectors, adjust to std::vector.
4048
4049 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4050
4051         * symfile.c (filename_language): Make struct, not typedef.  Add
4052         constructor.
4053         <ext>: Change type to std::string.
4054         (DEF_VEC_O (filename_language)): Remove.
4055         (filename_language_table): Change type to std::vector.
4056         (add_filename_language): Adjust.
4057         (set_ext_lang_command): Adjust.
4058         (info_ext_lang_command): Adjust.
4059         (deduce_language_from_filename): Adjust.
4060         (class scoped_restore_filename_language_table): Remove.
4061         (test_filename_language): Use scoped_restore.
4062         (test_set_ext_lang_command): Use scoped_restore, adjust to
4063         std::vector change.
4064
4065 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4066
4067         * symfile.c: Include selftest.h.
4068         (class scoped_restore_filename_language_table): New.
4069         (test_filename_language): New test.
4070         (test_set_ext_lang_command): New test.
4071         (_initialize_symfile): Register tests.
4072
4073 2017-10-27  Keith Seitz  <keiths@redhat.com>
4074
4075         * breakpoint.c (print_breakpoint_location): Use the symbol saved
4076         in the bp_location, falling back to find_pc_sect_function when
4077         needed.
4078         (add_location_to_breakpoint): Save sal->symbol.
4079         * breakpoint.h (struct bp_location) <symbol>: New field.
4080         * symtab.c (find_function_start_sal): Save the symbol into the SaL.
4081         * symtab.h (struct symtab_and_line) <symbol>: New field.
4082
4083 2017-10-26  Patrick Frants  <osscontribute@gmail.com>
4084
4085         PR gdb/13669
4086         * cp-valprint.c (cp_print_value_fields): Use obstack_blank_fast
4087         to rewind obstack.
4088
4089 2017-10-26  Pedro Alves  <palves@redhat.com>
4090
4091         * remote.c (remote_async_terminal_ours_p): Delete.
4092         (remote_open_1, remote_terminal_inferior, remote_terminal_ours):
4093         Remove references to 'remote_async_terminal_ours_p'.
4094
4095 2017-10-26  Yao Qi  <yao.qi@linaro.org>
4096
4097         * breakpoint.h (regular_breakpoint_inserted_here_p): Remove.
4098
4099 2017-10-26  Yao Qi  <yao.qi@linaro.org>
4100
4101         * break-catch-sig.c (signal_catchpoint_breakpoint_hit): Make
4102         aspace const.
4103         * break-catch-syscall.c (breakpoint_hit_catch_syscall):
4104         Likewise.
4105         * breakpoint.c (bpstat_check_location): Remove cast.
4106         (breakpoint_hit_catch_fork): Make aspce const.
4107         (breakpoint_hit_catch_solib): Likewise.
4108         (breakpoint_hit_catch_exec): Likewise.
4109         (breakpoint_hit_ranged_breakpoint): Likewise.
4110         (breakpoint_hit_watchpoint): Likewise.
4111         (base_breakpoint_breakpoint_hit): Likewise.
4112         (bkpt_breakpoint_hit): Likewise.
4113         (dprintf_breakpoint_hit): Likewise.
4114         (tracepoint_breakpoint_hit): Likewise.
4115         * breakpoint.h (breakpoint_ops) <breakpoint_hit>: Likewise.
4116
4117 2017-10-26  Yao Qi  <yao.qi@linaro.org>
4118
4119         * breakpoint.c (breakpoint_location_address_match): Change
4120         "struct address_space *" to "const address_space".
4121         (breakpoint_location_address_range_overlap): Likewise.
4122         (breakpoint_here_p): Likewise.
4123         (breakpoint_in_range_p): Likewise.
4124         (moribund_breakpoint_here_p): Likewise.
4125         (bp_location_inserted_here_p): Likewise.
4126         (software_breakpoint_inserted_here_p): Likewise.
4127         (hardware_breakpoint_inserted_here_p): Likewise.
4128         (hardware_watchpoint_inserted_in_range): Likewise.
4129         (bpstat_check_location): Likewise.
4130         (bpstat_stop_status): Likewise.
4131         (breakpoint_address_match): Likewise.
4132         (breakpoint_address_match_range): Likewise.
4133         (breakpoint_location_address_match): Likewise.
4134         (breakpoint_location_address_range_overlap): Likewise.
4135         (insert_single_step_breakpoint): Likewise.
4136         (breakpoint_has_location_inserted_here): Likewise.
4137         (single_step_breakpoint_inserted_here_p): Likewise.
4138         (pc_at_non_inline_function): Likewise.
4139         * breakpoint.h (bpstat_stop_status): Update declaration.
4140         (breakpoint_here_p): Likewise.
4141         (breakpoint_in_range_p): Likewise.
4142         (moribund_breakpoint_here_p): Likewise.
4143         (breakpoint_inserted_here_p): Likewise.
4144         (software_breakpoint_inserted_here_p): Likewise.
4145         (hardware_breakpoint_inserted_here_p): Likewise.
4146         (breakpoint_has_location_inserted_here): Likewise.
4147         (single_step_breakpoint_inserted_here_p): Likewise.
4148         (hardware_watchpoint_inserted_in_range): Likewise.
4149         (breakpoint_address_match): Likewise.
4150         (insert_single_step_breakpoint): Likewise.
4151         (pc_at_non_inline_function): Likewise.
4152         * gdbthread.h (thread_has_single_step_breakpoint_here): Likewise.
4153         * record.c (record_check_stopped_by_breakpoint): Likewise.
4154         * record.h (record_check_stopped_by_breakpoint): Likewise.
4155         * thread.c (thread_has_single_step_breakpoint_here): Likewise.
4156
4157 2017-10-25  Yao Qi  <yao.qi@linaro.org>
4158
4159         * aarch32-linux-nat.c (aarch32_gp_regcache_supply): Use
4160         regcache->arch () instead get_regcache_arch.
4161         * aarch64-fbsd-nat.c (aarch64_fbsd_fetch_inferior_registers):
4162         Likewise.
4163         (aarch64_fbsd_store_inferior_registers): Likewise.
4164         * aarch64-linux-nat.c (fetch_gregs_from_thread): Likewise.
4165         (store_gregs_to_thread): Likewise.
4166         (fetch_fpregs_from_thread): Likewise.
4167         (store_fpregs_to_thread): Likewise.
4168         * aarch64-tdep.c (aarch64_extract_return_value): Likewise.
4169         (aarch64_store_return_value): Likewise.
4170         (aarch64_software_single_step): Likewise.
4171         * aix-thread.c (aix_thread_wait): Likewise.
4172         (supply_reg32): Likewise.
4173         (supply_sprs64): Likewise.
4174         (supply_sprs32): Likewise.
4175         (fill_gprs64): Likewise.
4176         (fill_gprs32): Likewise.
4177         (fill_sprs64): Likewise.
4178         (fill_sprs32): Likewise.
4179         (store_regs_user_thread): Likewise.
4180         (store_regs_kernel_thread): Likewise.
4181         * alpha-bsd-nat.c (alphabsd_fetch_inferior_registers): Likewise.
4182         (alphabsd_store_inferior_registers): Likewise.
4183         * alpha-tdep.c (alpha_extract_return_value): Likewise.
4184         (alpha_store_return_value): Likewise.
4185         (alpha_deal_with_atomic_sequence): Likewise.
4186         (alpha_next_pc): Likewise.
4187         (alpha_software_single_step): Likewise.
4188         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers): Likewise.
4189         (amd64bsd_store_inferior_registers): Likewise.
4190         * amd64-linux-nat.c (amd64_linux_fetch_inferior_registers):
4191         Likewise.
4192         (amd64_linux_store_inferior_registers): Likewise.
4193         * amd64-nat.c (amd64_supply_native_gregset): Likewise.
4194         (amd64_collect_native_gregset): Likewise.
4195         * amd64-obsd-tdep.c (amd64obsd_supply_uthread): Likewise.
4196         (amd64obsd_collect_uthread): Likewise.
4197         * amd64-tdep.c (amd64_supply_fpregset): Likewise.
4198         (amd64_collect_fpregset): Likewise.
4199         (amd64_supply_fxsave): Likewise.
4200         (amd64_supply_xsave): Likewise.
4201         (amd64_collect_fxsave): Likewise.
4202         (amd64_collect_xsave): Likewise.
4203         * arc-tdep.c (arc_write_pc): Likewise.
4204         * arch-utils.c (default_skip_permanent_breakpoint): Likewise.
4205         * arm-fbsd-nat.c (arm_fbsd_fetch_inferior_registers): Likewise.
4206         (arm_fbsd_store_inferior_registers): Likewise.
4207         * arm-linux-nat.c (fetch_vfp_regs): Likewise.
4208         (store_vfp_regs): Likewise.
4209         (arm_linux_fetch_inferior_registers): Likewise.
4210         (arm_linux_store_inferior_registers): Likewise.
4211         * arm-linux-tdep.c (arm_linux_supply_gregset): Likewise.
4212         (arm_linux_sigreturn_next_pc): Likewise.
4213         (arm_linux_get_next_pcs_syscall_next_pc): Likewise.
4214         * arm-nbsd-nat.c (arm_supply_gregset): Likewise.
4215         (fetch_register): Likewise.
4216         (store_register): Likewise.
4217         * arm-tdep.c (arm_is_thumb): Likewise.
4218         (displaced_in_arm_mode): Likewise.
4219         (bx_write_pc): Likewise.
4220         (arm_get_next_pcs_addr_bits_remove): Likewise.
4221         (arm_software_single_step): Likewise.
4222         (arm_extract_return_value): Likewise.
4223         (arm_store_return_value): Likewise.
4224         (arm_write_pc): Likewise.
4225         * bfin-tdep.c (bfin_extract_return_value): Likewise.
4226         * bsd-uthread.c (bsd_uthread_fetch_registers): Likewise.
4227         (bsd_uthread_store_registers): Likewise.
4228         * core-regset.c (fetch_core_registers): Likewise.
4229         * corelow.c (get_core_registers): Likewise.
4230         * cris-tdep.c (cris_store_return_value): Likewise.
4231         (cris_extract_return_value): Likewise.
4232         (find_step_target): Likewise.
4233         (find_step_target): Likewise.
4234         (cris_software_single_step): Likewise.
4235         * ctf.c (ctf_fetch_registers): Likewise.
4236         * darwin-nat.c (cancel_breakpoint): Likewise.
4237         * fbsd-tdep.c (fbsd_collect_thread_registers): Likewise.
4238         * frv-tdep.c (frv_extract_return_value): Likewise.
4239         * ft32-tdep.c (ft32_store_return_value): Likewise.
4240         (ft32_extract_return_value): Likewise.
4241         * go32-nat.c (fetch_register): Likewise.
4242         (go32_fetch_registers): Likewise.
4243         (go32_store_registers): Likewise.
4244         (store_register): Likewise.
4245         * h8300-tdep.c (h8300_extract_return_value): Likewise.
4246         (h8300_store_return_value): Likewise.
4247         * hppa-linux-nat.c (fetch_register): Likewise.
4248         (store_register): Likewise.
4249         (hppa_linux_fetch_inferior_registers): Likewise.
4250         (hppa_linux_store_inferior_registers): Likewise.
4251         * i386-darwin-nat.c (i386_darwin_fetch_inferior_registers): Likewise.
4252         (i386_darwin_store_inferior_registers): Likewise.
4253         * i386-gnu-nat.c (gnu_fetch_registers): Likewise.
4254         (gnu_store_registers): Likewise.
4255         * i386-linux-nat.c (fetch_register): Likewise.
4256         (store_register): Likewise.
4257         (supply_gregset): Likewise.
4258         (fill_gregset): Likewise.
4259         (i386_linux_fetch_inferior_registers): Likewise.
4260         (i386_linux_store_inferior_registers): Likewise.
4261         (i386_linux_resume): Likewise.
4262         * i386-linux-tdep.c (i386_linux_get_syscall_number_from_regcache):
4263         Likewise.
4264         * i386-nto-tdep.c (i386nto_supply_gregset): Likewise.
4265         * i386-obsd-nat.c (i386obsd_supply_pcb): Likewise.
4266         * i386-obsd-tdep.c (i386obsd_supply_uthread): Likewise.
4267         (i386obsd_collect_uthread): Likewise.
4268         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
4269         (i386_supply_gregset): Likewise.
4270         (i386_collect_gregset): Likewise.
4271         (i386_supply_fpregset): Likewise.
4272         (i386_collect_fpregset): Likewise.
4273         (i386_mpx_bd_base): Likewise.
4274         * i386-v4-nat.c (supply_fpregset): Likewise.
4275         (fill_fpregset): Likewise.
4276         * i387-tdep.c (i387_supply_fsave): Likewise.
4277         (i387_collect_fsave): Likewise.
4278         (i387_supply_fxsave): Likewise.
4279         (i387_collect_fxsave): Likewise.
4280         (i387_supply_xsave): Likewise.
4281         (i387_collect_xsave): Likewise.
4282         * ia64-linux-nat.c (ia64_linux_fetch_registers): Likewise.
4283         (ia64_linux_store_registers): Likewise.
4284         * ia64-tdep.c (ia64_access_rse_reg): Likewise.
4285         (ia64_extract_return_value): Likewise.
4286         (ia64_store_return_value): Likewise.
4287         (find_func_descr): Likewise.
4288         * inf-child.c (inf_child_fetch_inferior_registers): Likewise.
4289         * inf-ptrace.c (inf_ptrace_fetch_registers): Likewise.
4290         (inf_ptrace_store_registers): Likewise.
4291         * infrun.c (use_displaced_stepping): Likewise.
4292         (displaced_step_prepare_throw): Likewise.
4293         (resume): Likewise.
4294         (proceed): Likewise.
4295         (do_target_wait): Likewise.
4296         (adjust_pc_after_break): Likewise.
4297         (handle_inferior_event_1): Likewise.
4298         (handle_signal_stop): Likewise.
4299         (save_infcall_suspend_state): Likewise.
4300         (restore_infcall_suspend_state): Likewise.
4301         * iq2000-tdep.c (iq2000_extract_return_value): Likewise.
4302         * jit.c (jit_frame_prev_register): Likewise.
4303         * linux-nat.c (save_stop_reason): Likewise.
4304         (linux_nat_wait_1): Likewise.
4305         (resume_stopped_resumed_lwps): Likewise.
4306         * linux-record.c (record_linux_sockaddr): Likewise.
4307         (record_linux_msghdr): Likewise.
4308         (record_linux_system_call): Likewise.
4309         * linux-tdep.c (linux_collect_thread_registers): Likewise.
4310         * lm32-tdep.c (lm32_extract_return_value): Likewise.
4311         (lm32_store_return_value): Likewise.
4312         * m32c-tdep.c (m32c_read_flg): Likewise.
4313         (m32c_pseudo_register_read): Likewise.
4314         (m32c_pseudo_register_write): Likewise.
4315         * m32r-linux-tdep.c (m32r_linux_supply_gregset): Likewise.
4316         (m32r_linux_collect_gregset): Likewise.
4317         * m32r-tdep.c (m32r_store_return_value): Likewise.
4318         (m32r_extract_return_value): Likewise.
4319         * m68k-bsd-nat.c (m68kbsd_supply_fpregset): Likewise.
4320         (m68kbsd_collect_fpregset): Likewise.
4321         * m68k-bsd-tdep.c (m68kbsd_supply_fpregset): Likewise.
4322         * m68k-linux-nat.c (fetch_register): Likewise.
4323         (old_fetch_inferior_registers): Likewise.
4324         (old_store_inferior_registers): Likewise.
4325         (store_regs): Likewise.
4326         * m68k-tdep.c (m68k_svr4_extract_return_value): Likewise.
4327         (m68k_svr4_store_return_value): Likewise.
4328         * m88k-tdep.c (m88k_store_arguments): Likewise.
4329         * mi/mi-main.c (mi_cmd_data_list_changed_registers): Likewise.
4330         (mi_cmd_data_write_register_values): Likewise.
4331         * mips-fbsd-nat.c (mips_fbsd_fetch_inferior_registers): Likewise.
4332         (mips_fbsd_store_inferior_registers): Likewise.
4333         * mips-fbsd-tdep.c (mips_fbsd_supply_fpregs): Likewise.
4334         (mips_fbsd_supply_gregs): Likewise.
4335         (mips_fbsd_collect_fpregs): Likewise.
4336         (mips_fbsd_collect_gregs): Likewise.
4337         (mips_fbsd_supply_fpregset): Likewise.
4338         (mips_fbsd_collect_fpregset): Likewise.
4339         (mips_fbsd_supply_gregset): Likewise.
4340         (mips_fbsd_collect_gregset): Likewise.
4341         * mips-linux-nat.c (supply_gregset): Likewise.
4342         (fill_gregset): Likewise.
4343         (supply_fpregset): Likewise.
4344         (fill_fpregset): Likewise.
4345         * mips-linux-tdep.c (mips_supply_gregset): Likewise.
4346         (mips_fill_gregset): Likewise.
4347         (mips_supply_fpregset): Likewise.
4348         (mips_fill_fpregset): Likewise.
4349         (mips64_supply_gregset): Likewise.
4350         (micromips_linux_sigframe_validate): Likewise.
4351         * mips-nbsd-nat.c (mipsnbsd_fetch_inferior_registers): Likewise.
4352         (mipsnbsd_fetch_inferior_registers): Likewise.
4353         (mipsnbsd_store_inferior_registers): Likewise.
4354         * mips-nbsd-tdep.c (mipsnbsd_supply_fpregset): Likewise.
4355         (mipsnbsd_supply_gregset): Likewise.
4356         (mipsnbsd_iterate_over_regset_sections): Likewise.
4357         (mipsnbsd_supply_reg): Likewise.
4358         (mipsnbsd_supply_fpreg): Likewise.
4359         * mips-tdep.c (mips_in_frame_stub): Likewise.
4360         (mips_dummy_id): Likewise.
4361         (is_octeon_bbit_op): Likewise.
4362         (micromips_bc1_pc): Likewise.
4363         (extended_mips16_next_pc): Likewise.
4364         (mips16_next_pc): Likewise.
4365         (deal_with_atomic_sequence): Likewise.
4366         * moxie-tdep.c (moxie_process_readu): Likewise.
4367         * nios2-tdep.c (nios2_get_next_pc): Likewise.
4368         * nto-procfs.c (procfs_store_registers): Likewise.
4369         * ppc-fbsd-nat.c (ppcfbsd_fetch_inferior_registers): Likewise.
4370         (ppcfbsd_store_inferior_registers): Likewise.
4371         * ppc-linux-nat.c (fetch_vsx_register): Likewise.
4372         (fetch_altivec_register): Likewise.
4373         (get_spe_registers): Likewise.
4374         (fetch_spe_register): Likewise.
4375         (fetch_altivec_registers): Likewise.
4376         (fetch_all_gp_regs): Likewise.
4377         (fetch_all_fp_regs): Likewise.
4378         (store_vsx_register): Likewise.
4379         (store_altivec_register): Likewise.
4380         (set_spe_registers): Likewise.
4381         (store_spe_register): Likewise.
4382         (store_altivec_registers): Likewise.
4383         (store_all_gp_regs): Likewise.
4384         (store_all_fp_regs): Likewise.
4385         * ppc-linux-tdep.c (ppc_linux_supply_gregset): Likewise.
4386         (ppc_linux_collect_gregset): Likewise.
4387         (ppc_canonicalize_syscall): Likewise.
4388         (ppc_linux_record_signal): Likewise.
4389         (ppu2spu_prev_register): Likewise.
4390         * ppc-nbsd-nat.c (ppcnbsd_supply_pcb): Likewise.
4391         * ppc-obsd-nat.c (ppcobsd_fetch_registers): Likewise.
4392         (ppcobsd_store_registers): Likewise.
4393         * ppc-ravenscar-thread.c (ppc_ravenscar_generic_fetch_registers):
4394         Likewise.
4395         (ppc_ravenscar_generic_store_registers): Likewise.
4396         * procfs.c (procfs_fetch_registers): Likewise.
4397         (procfs_store_registers): Likewise.
4398         * ravenscar-thread.c (ravenscar_fetch_registers): Likewise.
4399         (ravenscar_store_registers): Likewise.
4400         (ravenscar_prepare_to_store): Likewise.
4401         * record-btrace.c (record_btrace_fetch_registers): Likewise.
4402         * record-full.c (record_full_wait_1): Likewise.
4403         (record_full_registers_change): Likewise.
4404         (record_full_store_registers): Likewise.
4405         (record_full_core_fetch_registers): Likewise.
4406         (record_full_save): Likewise.
4407         (record_full_goto_insn): Likewise.
4408         * regcache.c (regcache_register_size): Likewise.
4409         (get_regcache_arch): Remove.
4410         (regcache_read_pc): Likewise.
4411         * regcache.h (get_regcache_arch): Remove.
4412         * remote-sim.c (gdbsim_fetch_register): Likewise.
4413         (gdbsim_store_register): Likewise.
4414         * remote.c (fetch_register_using_p): Likewise.
4415         (send_g_packet): Likewise.
4416         (remote_prepare_to_store): Likewise.
4417         (store_registers_using_G): Likewise.
4418         * reverse.c (save_bookmark_command): Likewise.
4419         (goto_bookmark_command): Likewise.
4420         * rs6000-aix-tdep.c (branch_dest): Likewise.
4421         * rs6000-nat.c (rs6000_ptrace64): Likewise.
4422         (fetch_register): Likewise.
4423         * rs6000-tdep.c (ppc_supply_reg): Likewise.
4424         (ppc_collect_reg): Likewise.
4425         (ppc_collect_gregset): Likewise.
4426         (ppc_collect_fpregset): Likewise.
4427         (ppc_collect_vsxregset): Likewise.
4428         (ppc_collect_vrregset): Likewise.
4429         (ppc_displaced_step_hw_singlestep): Likewise.
4430         (rs6000_pseudo_register_read): Likewise.
4431         (rs6000_pseudo_register_write): Likewise.
4432         * s390-linux-nat.c (supply_gregset): Likewise.
4433         (fill_gregset): Likewise.
4434         (s390_linux_fetch_inferior_registers): Likewise.
4435         * s390-linux-tdep.c (s390_write_pc): Likewise.
4436         (s390_software_single_step): Likewise.
4437         (s390_all_but_pc_registers_record): Likewise.
4438         (s390_linux_syscall_record): Likewise.
4439         * sentinel-frame.c (sentinel_frame_prev_arch): Likewise.
4440         * sh-nbsd-nat.c (shnbsd_fetch_inferior_registers): Likewise.
4441         (shnbsd_store_inferior_registers): Likewise.
4442         * sh-tdep.c (sh_extract_return_value_nofpu): Likewise.
4443         (sh_extract_return_value_fpu): Likewise.
4444         (sh_store_return_value_nofpu): Likewise.
4445         (sh_corefile_supply_regset): Likewise.
4446         (sh_corefile_collect_regset): Likewise.
4447         * sh64-tdep.c (sh64_extract_return_value): Likewise.
4448         (sh64_store_return_value): Likewise.
4449         * sparc-linux-tdep.c (sparc32_linux_collect_core_fpregset): Likewise.
4450         * sparc-nat.c (sparc_fetch_inferior_registers): Likewise.
4451         (sparc_store_inferior_registers): Likewise.
4452         * sparc-ravenscar-thread.c (register_in_thread_descriptor_p): Likewise.
4453         (sparc_ravenscar_prepare_to_store): Likewise.
4454         * sparc-tdep.c (sparc32_store_arguments): Likewise.
4455         (sparc_analyze_control_transfer): Likewise.
4456         (sparc_step_trap): Likewise.
4457         (sparc_software_single_step): Likewise.
4458         (sparc32_gdbarch_init): Likewise.
4459         (sparc_supply_rwindow): Likewise.
4460         (sparc_collect_rwindow): Likewise.
4461         * sparc64-linux-tdep.c (sparc64_linux_collect_core_fpregset): Likewise.
4462         * sparc64-nbsd-nat.c (sparc64nbsd_supply_gregset): Likewise.
4463         (sparc64nbsd_collect_gregset): Likewise.
4464         (sparc64nbsd_supply_fpregset): Likewise.
4465         (sparc64nbsd_collect_fpregset): Likewise.
4466         * sparc64-tdep.c (sparc64_store_arguments): Likewise.
4467         (sparc64_supply_gregset): Likewise.
4468         (sparc64_collect_gregset): Likewise.
4469         (sparc64_supply_fpregset): Likewise.
4470         (sparc64_collect_fpregset): Likewise.
4471         * spu-linux-nat.c (spu_fetch_inferior_registers): Likewise.
4472         * spu-tdep.c (spu_unwind_sp): Likewise.
4473         (spu2ppu_prev_register): Likewise.
4474         (spu_memory_remove_breakpoint): Likewise.
4475         * stack.c (return_command): Likewise.
4476         * tic6x-tdep.c (tic6x_extract_signed_field): Likewise.
4477         * tracefile-tfile.c (tfile_fetch_registers): Likewise.
4478         * tracefile.c (trace_save_ctf): Likewise.
4479         * windows-nat.c (do_windows_fetch_inferior_registers): Likewise.
4480         (do_windows_store_inferior_registers): Likewise.
4481         (windows_resume): Likewise.
4482         * xtensa-linux-nat.c (fill_gregset): Likewise.
4483         (supply_gregset_reg): Likewise.
4484         * xtensa-tdep.c (xtensa_register_write_masked): Likewise.
4485         (xtensa_register_read_masked): Likewise.
4486         (xtensa_supply_gregset): Likewise.
4487         (xtensa_extract_return_value): Likewise.
4488         (xtensa_store_return_value): Likewise.
4489
4490 2017-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
4491
4492         * doublest.c (floatformat_from_string): New function.
4493         * doublest.h (floatformat_from_string): Add prototype.
4494
4495         * std-operator.def (OP_DOUBLE, OP_DECFLOAT): Remove, replace by ...
4496         (OP_FLOAT): ... this.
4497         * expression.h: Do not include "doublest.h".
4498         (union exp_element): Replace doubleconst and decfloatconst by
4499         new element floatconst.
4500         * ada-lang.c (resolve_subexp): Handle OP_FLOAT instead of OP_DOUBLE.
4501         (ada_evaluate_subexp): Likewise.
4502         * eval.c (evaluate_subexp_standard): Handle OP_FLOAT instead of
4503         OP_DOUBLE and OP_DECFLOAT.
4504         * expprint.c (print_subexp_standard): Likewise.
4505         (dump_subexp_body_standard): Likewise.
4506         * breakpoint.c (watchpoint_exp_is_const): Likewise.
4507
4508         * parse.c: Include "dfp.h".
4509         (write_exp_elt_dblcst, write_exp_elt_decfloatcst): Remove.
4510         (write_exp_elt_floatcst): New function.
4511         (operator_length_standard): Handle OP_FLOAT instead of OP_DOUBLE
4512         and OP_DECFLOAT.
4513         (operator_check_standard): Likewise.
4514         (parse_float): Do not accept suffix.  Take type as input.  Return bool.
4515         Return target format buffer instead of host DOUBLEST.
4516         Use floatformat_from_string and decimal_from_string to parse
4517         either binary or decimal floating-point types.
4518         (parse_c_float): Remove.
4519         * parser-defs.h: Do not include "doublest.h".
4520         (write_exp_elt_dblcst, write_exp_elt_decfloatcst): Remove.
4521         (write_exp_elt_floatcst): Add prototype.
4522         (parse_float): Update prototype.
4523         (parse_c_float): Remove.
4524
4525         * c-exp.y: Do not include "dfp.h".
4526         (typed_val_float): Use byte buffer instead of DOUBLEST.
4527         (typed_val_decfloat): Remove.
4528         (DECFLOAT): Remove.
4529         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4530         (parse_number): Update to new parse_float interface.
4531         Parse suffixes and determine type before calling parse_float.
4532         Handle decimal and binary FP types the same way.
4533
4534         * d-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4535         (FLOAT_LITERAL): Use OP_FLOAT and write_exp_elt_floatcst.
4536         (parse_number): Update to new parse_float interface.
4537         Parse suffixes and determine type before calling parse_float.
4538
4539         * f-exp.y: Replace dval by typed_val_float.
4540         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4541         (parse_number): Use parse_float instead of atof.
4542
4543         * go-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4544         (parse_go_float): Remove.
4545         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4546         (parse_number): Call parse_float instead of parse_go_float.
4547         Parse suffixes and determine type before calling parse_float.
4548
4549         * p-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4550         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4551         (parse_number): Update to new parse_float interface.
4552         Parse suffixes and determine type before calling parse_float.
4553
4554         * m2-exp.y: Replace dval by byte buffer val.
4555         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4556         (parse_number): Call parse_float instead of atof.
4557
4558         * rust-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4559         (lex_number): Call parse_float instead of strtod.
4560         (ast_dliteral): Use OP_FLOAT instead of OP_DOUBLE.
4561         (convert_ast_to_expression): Handle OP_FLOAT instead of OP_DOUBLE.
4562         Use write_exp_elt_floatcst.
4563         (unit_testing): Remove static variable.
4564         (rust_type): Do not check unit_testing.
4565         (rust_lex_tests): Do not set uint_testing.  Set up dummy rust_parser.
4566
4567         * ada-exp.y (type_float, type_double): Remove.
4568         (typed_val_float): Use byte buffer instead of DOUBLEST.
4569         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4570         * ada-lex.l (processReal): Use parse_float instead of sscanf.
4571
4572 2017-10-25  Alan Hayward  <alan.hayward@arm.com>
4573
4574         * aarch64-tdep.h (enum aarch64_regnum): Remove.
4575         * arch/aarch64.h: New file.
4576
4577 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4578
4579         * dfp.h (decimal_from_string): Use const reference for argument.
4580         * dfp.c (decimal_from_string): Likewise.
4581
4582 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4583
4584         * i387-tdep.c (print_i387_value): Use floatformat_to_string.
4585         * sh64-tdep.c (sh64_do_fp_register): Likewise.
4586         * mips-tdep.c (mips_print_fp_register): Likewise.
4587
4588 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4589
4590         * common/format.h (enum argclass): Replace decfloat_arg by
4591         dec32float_arg, dec64float_arg, and dec128float_arg.
4592         * common/format.c (parse_format_string): Update to return
4593         new decimal float argument classes.
4594
4595         * printcmd.c (printf_decfloat): Rename to ...
4596         (printf_floating): ... this.  Add argclass argument, and use it
4597         instead of parsing the format string again.  Add support for
4598         binary floating-point values, using floatformat_to_string.
4599         Convert value to the target format if it doesn't already match.
4600         (ui_printf): Call printf_floating instead of printf_decfloat,
4601         also for double_arg / long_double_arg.  Pass argclass.
4602
4603         * dfp.c (decimal_to_string): Add format string argument.
4604         * dfp.h (decimal_to_string): Likewise.
4605
4606         * doublest.c (floatformat_to_string): Add format string argument.
4607         * doublest.h (floatformat_to_string): Likewise.
4608
4609 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4610
4611         * doublest.c (floatformat_precision): New routine.
4612         (floatformat_to_string): Likewise.
4613         * doublest.c (floatformat_to_string): Add prototype.
4614
4615         * printcmd.c (print_scalar_formatted): Only call print_floating
4616         on floating-point types.
4617         * valprint.c: Do not include "floatformat.h".
4618         (generic_val_print_decfloat): Remove.
4619         (generic_val_print): Call generic_val_print_float for both
4620         TYPE_CODE_FLT and TYPE_CODE_DECFLOAT.
4621         (print_floating): Use floatformat_to_string.  Handle decimal float.
4622         (print_decimal_floating): Remove, merge into floatformat_to_string.
4623         * value.h (print_decimal_floating): Remove.
4624
4625         * Makefile.in: Do not build doublest.c with -Wformat-nonliteral.
4626
4627 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4628
4629         * buildsym.c (end_symtab_get_static_block): Use std::stable_sort.
4630
4631 2017-10-21  Simon Marchi  <simon.marchi@ericsson.com>
4632
4633         * memattr.h: Don't include vec.h.
4634         (struct mem_attrib): Initialize fields.
4635         <unknown>: New static method.
4636         (struct mem_region): Add constructors, operator<, initialize
4637         fields.
4638         * memattr.c: Include algorithm.
4639         (default_mem_attrib, unknown_mem_attrib): Remove.
4640         (user_mem_region_list): New global.
4641         (target_mem_region_list, mem_region_list): Change type to
4642         std::vector<mem_region>.
4643         (mem_use_target): Now a function.
4644         (target_mem_regions_valid): Change type to bool.
4645         (mem_region_lessthan, mem_region_cmp, mem_region_init): Remove.
4646         (require_user_regions): Adjust.
4647         (require_target_regions): Adjust.
4648         (create_mem_region): Adjust.
4649         (lookup_mem_region): Adjust.
4650         (invalidate_target_mem_regions): Adjust.
4651         (mem_clear): Rename to...
4652         (user_mem_clear): ... this, and adjust.
4653         (mem_command): Adjust.
4654         (info_mem_command): Adjust.
4655         (mem_enable, enable_mem_command, mem_disable,
4656         disable_mem_command): Adjust.
4657         (mem_delete): Adjust.
4658         (delete_mem_command): Adjust.
4659         * memory-map.h (parse_memory_map): Return an std::vector.
4660         * memory-map.c (parse_memory_map): Likewise.
4661         (struct memory_map_parsing_data): Add constructor.
4662         <memory_map>: Point to std::vector.
4663         (memory_map_start_memory): Adjust.
4664         (memory_map_end_memory): Adjust.
4665         (memory_map_end_property): Adjust.
4666         (clear_result): Remove.
4667         * remote.c (remote_memory_map): Return an std::vector.
4668         * target-debug.h (target_debug_print_VEC_mem_region_s__p):
4669         Remove.
4670         (target_debug_print_mem_region_vector): New.
4671         * target-delegates.c: Regenerate.
4672         * target.h (mem_region_vector): New typedef.
4673         (to_memory_map): Return mem_region_vector.
4674         (target_memory_map): Return an std::vector.
4675         * target.c (target_memory_map): Return an std::vector.
4676         (flash_erase_command): Adjust.
4677
4678 2017-10-21  Simon Marchi  <simon.marchi@ericsson.com>
4679
4680         * memory-map.c (struct memory_map_parsing_data) <property_name>:
4681         Change type to std::string.
4682         (memory_map_start_property): Adjust.
4683         (memory_map_end_property): Adjust.
4684
4685 2017-10-21  Simon Marchi  <simon.marchi@polymtl.ca>
4686
4687         * infrun.h: Include common/byte-vector.h.
4688         (struct displaced_step_closure): New struct.
4689         (struct buf_displaced_step_closure): New struct.
4690         * infrun.c (displaced_step_closure::~displaced_step_closure):
4691         Provide default implementation.
4692         (displaced_step_clear): Deallocate step closure with delete.
4693         * aarch64-tdep.c (displaced_step_closure): Rename to ...
4694         (aarch64_displaced_step_closure): ... this, extend
4695         displaced_step_closure.
4696         (aarch64_displaced_step_data) <dsc>: Change type to
4697         aarch64_displaced_step_closure.
4698         (aarch64_displaced_step_copy_insn): Adjust to type change, use
4699         unique_ptr.
4700         (aarch64_displaced_step_fixup): Add cast for displaced step
4701         closure.
4702         * amd64-tdep.c (displaced_step_closure): Rename to ...
4703         (amd64_displaced_step_closure): ... this, extend
4704         displaced_step_closure.
4705         <insn_buf>: Change type to std::vector<gdb_byte>.
4706         <max_len>: Remove.
4707         (fixup_riprel): Change type of DSC parameter, adjust to type
4708         change of insn_buf.
4709         (fixup_displaced_copy): Change type of DSC parameter.
4710         (amd64_displaced_step_copy_insn): Instantiate
4711         amd64_displaced_step_closure.
4712         (amd64_displaced_step_fixup): Add cast for closure type, adjust
4713         to type change of insn_buf.
4714         * arm-linux-tdep.c (arm_linux_cleanup_svc): Change type of
4715         parameter DSC.
4716         (arm_linux_copy_svc): Likewise.
4717         (cleanup_kernel_helper_return): Likewise.
4718         (arm_catch_kernel_helper_return): Likewise.
4719         (arm_linux_displaced_step_copy_insn): Instantiate
4720         arm_displaced_step_closure.
4721         * arm-tdep.c (arm_pc_is_thumb): Add cast for closure.
4722         (displaced_read_reg): Change type of parameter DSC.
4723         (branch_write_pc): Likewise.
4724         (load_write_pc): Likewise.
4725         (alu_write_pc): Likewise.
4726         (displaced_write_reg): Likewise.
4727         (arm_copy_unmodified): Likewise.
4728         (thumb_copy_unmodified_32bit): Likewise.
4729         (thumb_copy_unmodified_16bit): Likewise.
4730         (cleanup_preload): Likewise.
4731         (install_preload): Likewise.
4732         (arm_copy_preload): Likewise.
4733         (thumb2_copy_preload): Likewise.
4734         (install_preload_reg): Likewise.
4735         (arm_copy_preload_reg): Likewise.
4736         (cleanup_copro_load_store): Likewise.
4737         (install_copro_load_store): Likewise.
4738         (arm_copy_copro_load_store) Likewise.
4739         (thumb2_copy_copro_load_store): Likewise.
4740         (cleanup_branch): Likewise.
4741         (install_b_bl_blx): Likewise.
4742         (arm_copy_b_bl_blx): Likewise.
4743         (thumb2_copy_b_bl_blx): Likewise.
4744         (thumb_copy_b): Likewise.
4745         (install_bx_blx_reg): Likewise.
4746         (arm_copy_bx_blx_reg): Likewise.
4747         (thumb_copy_bx_blx_reg): Likewise.
4748         (cleanup_alu_imm): Likewise.
4749         (arm_copy_alu_imm): Likewise.
4750         (thumb2_copy_alu_imm): Likewise.
4751         (cleanup_alu_reg): Likewise.
4752         (install_alu_reg): Likewise.
4753         (arm_copy_alu_reg): Likewise.
4754         (thumb_copy_alu_reg): Likewise.
4755         (cleanup_alu_shifted_reg): Likewise.
4756         (install_alu_shifted_reg): Likewise.
4757         (arm_copy_alu_shifted_reg): Likewise.
4758         (cleanup_load): Likewise.
4759         (cleanup_store): Likewise.
4760         (arm_copy_extra_ld_st): Likewise.
4761         (install_load_store): Likewise.
4762         (thumb2_copy_load_literal): Likewise.
4763         (thumb2_copy_load_reg_imm): Likewise.
4764         (arm_copy_ldr_str_ldrb_strb): Likewise.
4765         (cleanup_block_load_all): Likewise.
4766         (cleanup_block_store_pc): Likewise.
4767         (cleanup_block_load_pc): Likewise.
4768         (arm_copy_block_xfer): Likewise.
4769         (thumb2_copy_block_xfer): Likewise.
4770         (cleanup_svc): Likewise.
4771         (install_svc): Likewise.
4772         (arm_copy_svc): Likewise.
4773         (thumb_copy_svc): Likewise.
4774         (arm_copy_undef): Likewise.
4775         (thumb_32bit_copy_undef): Likewise.
4776         (arm_copy_unpred): Likewise.
4777         (arm_decode_misc_memhint_neon): Likewise.
4778         (arm_decode_unconditional): Likewise.
4779         (arm_decode_miscellaneous): Likewise.
4780         (arm_decode_dp_misc): Likewise.
4781         (arm_decode_ld_st_word_ubyte): Likewise.
4782         (arm_decode_media): Likewise.
4783         (arm_decode_b_bl_ldmstm): Likewise.
4784         (arm_decode_ext_reg_ld_st): Likewise.
4785         (thumb2_decode_dp_shift_reg): Likewise.
4786         (thumb2_decode_ext_reg_ld_st): Likewise.
4787         (arm_decode_svc_copro): Likewise.
4788         (thumb2_decode_svc_copro): Likewise.
4789         (install_pc_relative): Likewise.
4790         (thumb_copy_pc_relative_16bit): Likewise.
4791         (thumb_decode_pc_relative_16bit): Likewise.
4792         (thumb_copy_pc_relative_32bit): Likewise.
4793         (thumb_copy_16bit_ldr_literal): Likewise.
4794         (thumb_copy_cbnz_cbz): Likewise.
4795         (thumb2_copy_table_branch): Likewise.
4796         (cleanup_pop_pc_16bit_all): Likewise.
4797         (thumb_copy_pop_pc_16bit): Likewise.
4798         (thumb_process_displaced_16bit_insn): Likewise.
4799         (decode_thumb_32bit_ld_mem_hints): Likewise.
4800         (thumb_process_displaced_32bit_insn): Likewise.
4801         (thumb_process_displaced_insn): Likewise.
4802         (arm_process_displaced_insn): Likewise.
4803         (arm_displaced_init_closure): Likewise.
4804         (arm_displaced_step_fixup): Add cast for closure.
4805         * arm-tdep.h: Include infrun.h.
4806         (displaced_step_closure): Rename to ...
4807         (arm_displaced_step_closure): ... this, extend
4808         displaced_step_closure.
4809         <u::svc::copy_svc_os>: Change type of parameter DSC.
4810         <cleanup>: Likewise.
4811         (arm_process_displaced_insn): Likewise.
4812         (arm_displaced_init_closure): Likewise.
4813         (displaced_read_reg): Likewise.
4814         (displaced_write_reg): Likewise.
4815         * i386-linux-tdep.c (i386_linux_displaced_step_copy_insn):
4816         Adjust.
4817         * i386-tdep.h: Include infrun.h.
4818         (i386_displaced_step_closure): New typedef.
4819         * i386-tdep.c (i386_displaced_step_copy_insn): Use
4820         i386_displaced_step_closure.
4821         (i386_displaced_step_fixup): Adjust.
4822         * rs6000-tdep.c (ppc_displaced_step_closure): New typedef.
4823         (ppc_displaced_step_copy_insn): Use ppc_displaced_step_closure
4824         and unique_ptr.
4825         (ppc_displaced_step_fixup): Adjust.
4826         * s390-linux-tdep.c (s390_displaced_step_closure): New typedef.
4827         (s390_displaced_step_copy_insn): Use s390_displaced_step_closure
4828         and unique_ptr.
4829         (s390_displaced_step_fixup): Adjust.
4830
4831 2017-10-21  Simon Marchi  <simon.marchi@polymtl.ca>
4832
4833         * interps.h (interp_resume, interp_suspend, interp_set_temp):
4834         Remove declarations.
4835
4836 2017-10-20  Tom Tromey  <tom@tromey.com>
4837
4838         * gdb_bfd.c (struct gdb_bfd_data) <included_bfds>: Now a
4839         std::vector.
4840         (gdb_bfd_record_inclusion): Update.
4841         (bfdp): Remove typedef.
4842
4843 2017-10-20  Tom Tromey  <tom@tromey.com>
4844
4845         * gdb_bfd.c (gdb_bfd_ref): Use new.
4846         (struct gdb_bfd_data): Add constructor, destructor, and member
4847         initializers.
4848         (gdb_bfd_unref): Use delete.
4849
4850 2017-10-20  Tom Tromey  <tom@tromey.com>
4851
4852         * exec.c (exec_file_attach): Use new_bfd_ref.
4853         * symfile-mem.c (symbol_file_add_from_memory): Use new_bfd_ref.
4854         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
4855         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_fdopenr): Use
4856         new_bfd_ref.
4857         * gdb_bfd.h (new_bfd_ref): New function.
4858
4859 2017-10-20  Pedro Alves  <palves@redhat.com>
4860
4861         * main.c (captured_command_loop): Add attribute noinline.
4862
4863 2017-10-19  Simon Marchi  <simon.marchi@ericsson.com>
4864
4865         * interps.c (struct interp_factory): Add constructor.
4866         (interp_factory_p): Remove typedef.
4867         (DEF_VEC_P(interp_factory_p)): Remove.
4868         (interpreter_factories): Change type to std::vector.
4869         (interp_factory_register): Adjust.
4870         (interp_lookup): Adjust.
4871         (interpreter_completer): Adjust.
4872
4873 2017-10-19  Tom Tromey  <tom@tromey.com>
4874
4875         * break-catch-syscall.c (catch_syscall_completer): Use
4876         std::string, gdb::unique_xmalloc_ptr.
4877
4878 2017-10-19  Tom Tromey  <tom@tromey.com>
4879
4880         * infcall.c (call_function_by_hand_dummy): Use std::string.
4881
4882 2017-10-19  Tom Tromey  <tom@tromey.com>
4883
4884         * mi/mi-main.c (mi_cmd_execute): Update.
4885         * top.h (prepare_execute_command): Return scoped_value_mark.
4886         * value.h (class scoped_value_mark): Use DISABLE_COPY_AND_ASSIGN.
4887         Add move constructor.
4888         * top.c (prepare_execute_command): Return scoped_value_mark.
4889         (execute_command): Update.
4890
4891 2017-10-19  Pedro Alves  <palves@redhat.com>
4892
4893         * xml-support.c (xml_fetch_content_from_file): Check fread's
4894         return.
4895
4896 2017-10-19  Pedro Alves  <palves@redhat.com>
4897
4898         * ser-base.c (ser_base_read_error_fd): Delete the file handler if
4899         async.
4900         (handle_error_fd): New function.
4901         (ser_base_async): Add/delete an event loop file handler for
4902         error_fd.
4903
4904 2017-10-19  Pedro Alves  <palves@redhat.com>
4905
4906         * xml-support.c (xml_fetch_content_from_file): Don't read in
4907         chunks.  Instead use fseek to determine the file's size, and read
4908         it in one go.
4909
4910 2017-11-18  Keith Seitz  <keiths@redhat.com>
4911
4912         * c-exp.y (oper): Canonicalize conversion operators of user-defined
4913         types.
4914         Add whitespace to front of type name.
4915
4916 2017-10-18  Keith Seitz  <keiths@redhat.com>
4917
4918         * dwarf2read.c (dwarf2_add_typedef): Issue a complaint on unhandled
4919         DW_AT_accessibility.
4920
4921 2017-10-18  Yao Qi  <yao.qi@linaro.org>
4922
4923         * features/tic6x-c62x-linux.c: Remove.
4924
4925 2017-10-17  Tom Tromey  <tom@tromey.com>
4926
4927         * disasm.c (do_mixed_source_and_assembly_deprecated): Use
4928         gdb::optional, ui_out_emit_list, ui_out_emit_tuple.
4929         (do_mixed_source_and_assembly): Likewise.
4930
4931 2017-10-17  Tom Tromey  <tom@tromey.com>
4932
4933         * regcache.c (regcache::xfer_part): Remove assertion.
4934
4935 2017-10-17  Pedro Alves  <palves@redhat.com>
4936
4937         * xml-support.c (xml_fetch_content_from_file): Call
4938         unique_ptr::release() instead unique_ptr::get() when passing
4939         through xrealloc.
4940
4941 2017-10-17  Yao Qi  <yao.qi@linaro.org>
4942
4943         * regcache.c (regcache::xfer_part): Remove parameters read and
4944         write, add parameter is_raw.  All callers are updated.
4945
4946 2017-10-16  Keith Seitz  <keiths@redhat.com>
4947
4948         * c-typeprint.c (enum access_specifier): Moved here from
4949         c_type_print_base.
4950         (output_access_specifier): New function.
4951         (c_type_print_base): Consider typedefs when assessing
4952         whether access labels are needed.
4953         Use output_access_specifier as needed.
4954         Output access specifier for typedefs, if needed.
4955         * dwarf2read.c (dwarf2_add_typedef): Record DW_AT_accessibility.
4956         * gdbtypes.h (struct typedef_field) <is_protected, is_private>: New
4957         fields.
4958         (TYPE_TYPEDEF_FIELD_PROTECTED, TYPE_TYPEDEF_FIELD_PRIVATE): New
4959         accessor macros.
4960
4961 2017-10-16  Tom Tromey  <tom@tromey.com>
4962
4963         * linux-tdep.c (linux_info_proc, linux_find_memory_regions_full)
4964         (linux_fill_prpsinfo, linux_vsyscall_range_raw): Update.
4965         * target.c (target_fileio_read_stralloc): Update.
4966         * sparc64-tdep.c (adi_is_addr_mapped): Update.
4967         * target.h (target_fileio_read_stralloc): Return
4968         unique_xmalloc_ptr.
4969
4970 2017-10-16  Tom Tromey  <tom@tromey.com>
4971
4972         * xml-syscall.c (xml_init_syscalls_info): Update.
4973         * xml-support.c (xinclude_start_include): Update.
4974         (xml_fetch_content_from_file): Return unique_xmalloc_ptr.
4975         * xml-support.h (xml_fetch_another): Return unique_xmalloc_ptr.
4976         (xml_fetch_content_from_file): Likewise.
4977         * osdata.c (get_osdata): Update.
4978         * target.h (target_read_stralloc, target_get_osdata): Return
4979         unique_xmalloc_ptr.
4980         * solib-aix.c (solib_aix_get_library_list): Update.
4981         * solib-target.c (solib_target_current_sos): Update.
4982         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Update.
4983         * xml-tdesc.c (fetch_available_features_from_target): Update.
4984         (target_fetch_description_xml): Update.
4985         (file_read_description_xml): Update.
4986         * remote.c (remote_get_threads_with_qxfer, remote_memory_map)
4987         (remote_traceframe_info, btrace_read_config, remote_read_btrace)
4988         (remote_pid_to_exec_file): Update.
4989         * target.c (target_read_stralloc): Return unique_xmalloc_ptr.
4990         (target_get_osdata): Likewise.
4991
4992 2017-10-16  Tom Tromey  <tom@tromey.com>
4993
4994         * remote.c (remote_register_number_and_offset): Use std::vector.
4995         (remote_set_syscall_catchpoint): Use gdb::unique_xmalloc_ptr.
4996         (putpkt_binary): Use gdb::def_vector.
4997         (compare_sections_command): Use gdb::byte_vector.
4998
4999 2017-10-16  Tom Tromey  <tom@tromey.com>
5000
5001         * ppc-linux-nat.c (hwdebug_insert_point): Use
5002         gdb::unique_xmalloc_ptr, XDUP.
5003
5004 2017-10-16  Tom Tromey  <tom@tromey.com>
5005
5006         * probe.c (parse_probes): Use std::string.
5007         (info_probes_for_ops, enable_probes_command)
5008         (disable_probes_command): Remove cleanups.
5009
5010 2017-10-16  Tom Tromey  <tom@tromey.com>
5011
5012         * buildsym.c (block_compar): Remove.
5013         (end_symtab_get_static_block): Use std::vector.
5014
5015 2017-10-16  Simon Marchi  <simon.marchi@ericsson.com>
5016
5017         * memrange.h (struct mem_range): Define operator< and operator==.
5018         (mem_range_s): Remove.
5019         (DEF_VEC_O (mem_range_s)): Remove.
5020         (normalize_mem_ranges): Change parameter type to std::vector.
5021         * memrange.c (compare_mem_ranges): Remove.
5022         (normalize_mem_ranges): Change parameter type to std::vector,
5023         adjust to vector change.
5024         * exec.c (section_table_available_memory): Return vector, remove
5025         parameter.
5026         (section_table_read_available_memory): Adjust to std::vector
5027         change.
5028         * remote.c (remote_read_bytes): Adjust to std::vector
5029         change.
5030         * tracepoint.h (traceframe_available_memory): Change parameter
5031         type to std::vector.
5032         * tracepoint.c (traceframe_available_memory): Change parameter
5033         type to std::vector, adjust.
5034         * gdb/mi/mi-main.c (mi_cmd_trace_frame_collected): Adjust to
5035         std::vector change.
5036         * gdb/Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
5037         unittests/memrange-selftests.c.
5038         (SUBDIR_UNITTESTS_OBS): Add memrange-selftests.o.
5039         * gdb/unittests/memrange-selftests.c: New file.
5040
5041 2017-10-16  Pedro Alves  <palves@redhat.com>
5042
5043         * elfread.c (probe_key_free): Rename range-for variable.
5044         * probe.c (parse_probes_in_pspace, find_probes_in_objfile)
5045         (find_probe_by_pc, collect_probes): Rename range-for variable.
5046
5047 2017-10-16  Yao Qi  <yao.qi@linaro.org>
5048
5049         * features/Makefile (XMLTOC): Remove tic6x-*.xml.
5050         * features/tic6x-c62x.c: Remove.
5051         * features/tic6x-c64x-linux.c: Remove.
5052         * features/tic6x-c64x.c: Remove.
5053         * features/tic6x-c64xp-linux.c: Remove.
5054         * features/tic6x-c64xp.c: Remove.
5055         * tic6x-linux-tdep.c (_initialize_tic6x_linux_tdep): Don't call
5056         initialize_tdesc_tic6x_*_linux functions.
5057         * tic6x-tdep.c (_initialize_tic6x_tdep): Don't call
5058         initialize_tdesc_tic6x_* functions.
5059
5060 2017-10-16  Yao Qi  <yao.qi@linaro.org>
5061
5062         * features/Makefile (WHICH): Remove tic6x-c64xp, tic6x-c64x
5063         tic6x-c62x.
5064         * regformats/tic6x-c62x.dat: Remove.
5065         * regformats/tic6x-c64x.dat: Remove.
5066         * regformats/tic6x-c64xp.dat: Remove.
5067
5068 2017-10-15  Simon Marchi  <simon.marchi@ericsson.com>
5069
5070         * tracepoint.c (parse_traceframe_info): Return a unique_ptr
5071         (the !HAVE_LIBEXPAT version).
5072
5073 2017-10-14  Simon Marchi  <simon.marchi@ericsson.com>
5074
5075         * nat/linux-osdata.c (struct pid_pgid_entry) <operator<>: Make
5076         const.
5077
5078 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5079
5080         * target.h: Include tracepoint.h.
5081         (enum trace_find_type): Move to tracepoint.h.
5082         (struct target_ops) <to_traceframe_info>: Return a unique ptr.
5083         * tracepoint.h: Don't include target.h
5084         (enum trace_find_type): Move from target.h.
5085         (parse_traceframe_info): Return a unique ptr.
5086         * tracepoint.c (current_traceframe_info): Change type to unique
5087         ptr.
5088         (free_traceframe_info): Remove.
5089         (clear_traceframe_info): Don't manually free
5090         current_traceframe_info.
5091         (free_result): Remove.
5092         (parse_traceframe_info): Return a unique ptr.
5093         (get_traceframe_info): Adjust to unique ptr.
5094         * ctf.c (ctf_traceframe_info): Return a unique ptr.
5095         * remote.c (remote_traceframe_info): Return a unique ptr.
5096         * tracefile-tfile.c (tfile_traceframe_info): Return a unique
5097         ptr.
5098         * target-debug.h (target_debug_print_traceframe_info_up): New
5099         macro.
5100         * target-delegates.c: Regenerate.
5101
5102 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5103
5104         * memrange.h (struct mem_range): Add constructors.
5105         * tracepoint.h (struct traceframe_info) <memory>: Change type to
5106         std::vector<mem_range>.
5107         * tracepoint.c (free_traceframe_info): Don't manually free
5108         vector.
5109         (traceframe_info_start_memory): Adjust to vector change.
5110         (traceframe_available_memory): Likewise.
5111         * tracefile-tfile.c (build_traceframe_info): Likewise.
5112         * ctf.c (ctf_traceframe_info): Likewise.
5113
5114 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5115
5116         * tracepoint.h (struct traceframe_info) <tvars>: Change type to
5117         std::vector<int>.
5118         * tracepoint.c (free_traceframe_info): Deallocate with delete.
5119         (traceframe_info_start_tvar): Adjust to vector change.
5120         (parse_traceframe_info): Allocate with new.
5121         * ctf.c (ctf_traceframe_info): Allocate with new, adjust to
5122         vector change.
5123         * tracefile-tfile.c (build_traceframe_info): Adjust to vector
5124         change.
5125         tfile_traceframe_info): Allocate with new.
5126         * mi/mi-main.c (mi_cmd_trace_frame_collected): Adjust to vector
5127         change.
5128
5129 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5130
5131         * tracepoint.c (traceframe_info): Rename to...
5132         (current_traceframe_info): ...this.
5133         (clear_traceframe_info): Adjust.
5134         (get_traceframe_info): Adjust.
5135
5136 2017-10-14  Simon Marchi  <simon.marchi@ericsson.com>
5137
5138         * nat/linux-osdata.c: Include algorithm.
5139         (compare_processes): Remove.
5140         (struct pid_pgid_entry): New struct.
5141         (linux_xfer_osdata_processgroups): Use std::vector instead of
5142         XNEWVEC.
5143
5144 2017-10-14  Simon Marchi  <simon.marchi@ericsson.com>
5145
5146         * objfiles.h: Don't include symfile.h.
5147         (struct partial_symbol): Remove forward-declaration.
5148         (struct objfile) <global_psymbols, static_psymbols>: Change type
5149         to std::vector<partial_symbol *>.
5150         * objfiles.c (objfile::objfile): Don't memset those fields.
5151         (objfile::~objfile): Don't free those fields.
5152         * psympriv.h (struct psymbol_allocation_list): Remove
5153         forward-declaration.
5154         (add_psymbol_to_list): Change psymbol_allocation_list parameter
5155         to std::vector.
5156         (start_psymtab_common): Change parameters to std::vector.
5157         * psymtab.c: Include algorithm.
5158         (require_partial_symbols): Call shrink_to_fit.
5159         (find_pc_sect_psymbol): Adjust to vector change.
5160         (match_partial_symbol): Likewise.
5161         (lookup_partial_symbol): Likewise.
5162         (psym_relocate): Likewise.
5163         (dump_psymtab): Likewise.
5164         (recursively_search_psymtabs): Likewise.
5165         (compare_psymbols): Remove.
5166         (sort_pst_symbols): Adjust to vector change.
5167         (start_psymtab_common): Likewise.
5168         (end_psymtab_common): Likewise.
5169         (psymbol_bcache_full): De-constify return value.
5170         (add_psymbol_to_bcache): Likewise.
5171         (extend_psymbol_list): Remove.
5172         (append_psymbol_to_list): Adjust to vector change.
5173         (add_psymbol_to_list): Likewise.
5174         (init_psymbol_list): Likewise.
5175         (maintenance_info_psymtabs): Likewise.
5176         (maintenance_check_psymtabs): Likewise.
5177         * symfile.h (struct psymbol_allocation_list): Remove.
5178         * symfile.c (reread_symbols): Adjust to vector change.
5179         * dbxread.c (start_psymtab): Change type of parameters.
5180         (dbx_symfile_read): Adjust to vector change.
5181         (read_dbx_symtab): Likewise.
5182         (start_psymtab): Change type of parameters.
5183         * dwarf2read.c (dwarf2_build_psymtabs): Adjust to vector change.
5184         (create_partial_symtab): Likewise.
5185         (add_partial_symbol): Likewise.
5186         (write_one_signatured_type): Likewise.
5187         (recursively_write_psymbols): Likewise.
5188         * mdebugread.c (parse_partial_symbols): Likewise.
5189         * xcoffread.c (xcoff_start_psymtab): Change type of parameters.
5190         (scan_xcoff_symtab): Adjust to vector change.
5191         (xcoff_initial_scan): Likewise.
5192
5193 2017-10-13  Simon Marchi  <simon.marchi@ericsson.com>
5194
5195         * ada-typeprint.c (print_dynamic_range_bound): Use std::string.
5196
5197 2017-10-13  Yao Qi  <yao.qi@linaro.org>
5198
5199         * features/Makefile: Remove tic6x-*-expedite, add tic6x-expedite.
5200         Remove s390x-*-expedite, add s390x-expedite.
5201
5202 2017-10-13  Yao Qi  <yao.qi@linaro.org>
5203
5204         * features/s390-gs-linux64.c: Regenerated.
5205         * features/s390x-gs-linux64.c: Regenerated.
5206
5207 2017-10-13  Tom Tromey  <tom@tromey.com>
5208
5209         * compile/compile-object-run.c (do_module_cleanup): Use delete.
5210         * solib.c (update_solib_list, reload_shared_libraries_1): Use
5211         delete.
5212         * symfile.c (symbol_file_add_with_addrs): Use new.
5213         (symbol_file_add_separate): Update comment.
5214         (syms_from_objfile_1, remove_symbol_file_command): Use delete.
5215         * jit.c (jit_object_close_impl): Use new.
5216         (jit_unregister_code): Use delete.
5217         * objfiles.c (objfile::objfile): Rename from allocate_objfile.
5218         (~objfile): Rename from free_objfile.
5219         (free_objfile_separate_debug, do_free_objfile_cleanup)
5220         (free_all_objfiles, objfile_purge_solibs): Use delete.
5221         * objfiles.h (struct objfile): Add constructor and destructor.
5222         Use DISABLE_COPY_AND_ASSIGN.  Add initializers to data members.
5223         (allocate_objfile, free_objfile): Don't declare.
5224         (struct objstats): Add initializers.
5225
5226 2017-10-12  Simon Marchi  <simon.marchi@ericsson.com>
5227
5228         * arch-utils.h (simple_displaced_step_copy_insn): Remove.
5229         * arch-utils.c (simple_displaced_step_copy_insn): Remove.
5230         * gdbarch.sh (displaced_step_copy_insn): Adjust comment.
5231         * gdbarch.h: Regenerate.
5232         * i386-linux-tdep.c (i386_linux_displaced_step_copy_insn):
5233         Adjust comment.
5234         * i386-tdep.c (i386_displaced_step_copy_insn): Adjust comment.
5235         (i386_displaced_step_fixup): Adjust comment.
5236         * rs6000-tdep.c (ppc_displaced_step_copy_insn): Adjust comment.
5237
5238 2017-10-12  Tom Tromey  <tom@tromey.com>
5239
5240         * prologue-value.h (pv_area::store_would_trash): Return bool.
5241         (pv_area::find_reg): Likewise.
5242         * prologue-value.c (pv_area::store_would_trash): Return bool.
5243         (pv_area::find_reg): Likewise.
5244
5245 2017-10-12  Tom Tromey  <tom@tromey.com>
5246
5247         * s390-linux-tdep.c (s390_store, s390_load)
5248         (s390_check_for_saved, s390_analyze_prologue): Update.
5249         * rx-tdep.c (check_for_saved, rx_analyze_prologue): Update.
5250         * rl78-tdep.c (rl78_analyze_prologue, check_for_saved): Update.
5251         * prologue-value.h (class pv_area): Move from prologue-value.c.
5252         Change names of members.  Add constructor, destructor, member
5253         functions.
5254         (make_pv_area, free_pv_area, make_cleanup_free_pv_area)
5255         (pv_area_store, pv_area_fetch, pv_area_store_would_trash)
5256         (pv_area_fetch, pv_area_scan): Don't declare.
5257         * prologue-value.c (struct pv_area::area_entry): Now member of
5258         pv_area.
5259         (struct pv_area): Move to prologue-value.h.
5260         (pv_area::pv_area): Rename from make_pv_area.
5261         (pv_area::~pv_area): Rename from free_pv_area.
5262         (do_free_pv_area_cleanup, make_cleanup_free_pv_area): Remove.
5263         (clear_entries, find_entry, overlaps, store_would_trash, store)
5264         (fetch, find_reg, scan): Now member of pv_area.
5265         Remove "area" argument.  Update.
5266         * msp430-tdep.c (check_for_saved, msp430_analyze_prologue):
5267         Update.
5268         * mn10300-tdep.c (push_reg, check_for_saved)
5269         (mn10300_analyze_prologue): Update.
5270         * mep-tdep.c (is_arg_spill, check_for_saved)
5271         (mep_analyze_prologue): Update.
5272         * m32c-tdep.c (m32c_pv_push, m32c_srcdest_fetch)
5273         (m32c_srcdest_store, m32c_pv_enter, m32c_is_arg_spill)
5274         (m32c_is_struct_return, m32c_analyze_prologue): Update.
5275         * arm-tdep.c (thumb_analyze_prologue, arm_analyze_prologue):
5276         Update.
5277         * arc-tdep.c (arc_is_in_prologue, arc_analyze_prologue): Update.
5278         * aarch64-tdep.c (aarch64_analyze_prologue): Update.
5279
5280 2017-10-12  Simon Marchi  <simon.marchi@ericsson.com>
5281
5282         * linux-nat.h (linux_nat_set_delete_thread): New declaration.
5283         * linux-nat.c (linux_nat_delete_thread): New variable.
5284         (lwp_free): Invoke linux_nat_delete_thread if set.
5285         (linux_nat_set_delete_thread): New function.
5286         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Assign
5287         thread delete callback.
5288         * arm-linux-nat.c (arm_linux_delete_thread): New function.
5289         (_initialize_arm_linux_nat): Assign thread delete callback.
5290         * s390-linux-nat.c (s390_delete_thread): New function.
5291         (_initialize_s390_nat): Assign thread delete callback.
5292         * x86-linux-nat.c (x86_linux_add_target): Likewise.
5293         * nat/aarch64-linux.c (aarch64_linux_delete_thread): New
5294         function.
5295         * nat/aarch64-linux.h (aarch64_linux_delete_thread): New
5296         declaration.
5297         * nat/x86-linux.c (x86_linux_delete_thread): New function.
5298         * nat/x86-linux.h (x86_linux_delete_thread): New declaration.
5299
5300 2017-10-09  Tom Tromey  <tom@tromey.com>
5301
5302         * tui/tui-win.c (tui_set_win_height, parse_scrolling_args): Use
5303         std::string.
5304         * tui/tui-layout.c (enum tui_status): Use std::string.
5305
5306 2017-10-11  Tom Tromey  <tom@tromey.com>
5307
5308         * gdbthread.h (thread_command): Constify.
5309         * inferior.h (detach_command): Constify.
5310         * top.h (set_history, show_history): Constify.
5311         * arm-tdep.c (set_arm_command, show_arm_command): Constify.
5312         * serial.c (serial_set_cmd, serial_show_cmd): Constify.
5313         * bsd-kvm.c (bsd_kvm_cmd): Constify.
5314         * printcmd.c (set_command): Constify.
5315         (non_const_set_command): New function.
5316         * dcache.c (set_dcache_command, show_dcache_command): Constify.
5317         * breakpoint.c (enable_command, disable_command, delete_command)
5318         (catch_command, tcatch_command, set_breakpoint_cmd)
5319         (show_breakpoint_cmd): Constify.
5320         * macrocmd.c (macro_command): Constify.
5321         * infcmd.c (unset_command, kill_command, detach_command)
5322         (info_proc_cmd): Constify.
5323         * i386-tdep.c (set_mpx_cmd, show_mpx_cmd): Constify.
5324         * auto-load.c (show_auto_load_cmd, set_auto_load_cmd)
5325         (info_auto_load_cmd): Constify.
5326         * target-descriptions.c (set_tdesc_cmd, show_tdesc_cmd)
5327         (unset_tdesc_cmd): Constify.
5328         * ada-lang.c (set_ada_command, show_ada_command)
5329         (maint_set_ada_cmd, maint_show_ada_cmd): Constify.
5330         * guile/guile.c (set_guile_command, show_guile_command)
5331         (info_guile_command): Constify.
5332         * tui/tui-win.c (tui_command, set_tui_cmd, show_tui_cmd):
5333         Constify.
5334         * skip.c (skip_command): Constify.
5335         * compile/compile.c (_initialize_compile): Constify.
5336         * dwarf2read.c (set_dwarf_cmd, show_dwarf_cmd): Constify.
5337         * btrace.c (maint_btrace_cmd, maint_btrace_set_cmd)
5338         (maint_btrace_show_cmd, maint_btrace_pt_set_cmd)
5339         (maint_btrace_pt_show_cmd): Constify.
5340         * remote.c (set_remote_cmd, show_remote_cmd, remote_command):
5341         Constify.
5342         * python/python.c (user_show_python, user_set_python): Constify.
5343         * mips-tdep.c (set_mips_command, show_mips_command)
5344         (set_mipsfpu_command): Constify.
5345         * record-btrace.c (cmd_record_btrace_start)
5346         (cmd_set_record_btrace, cmd_show_record_btrace)
5347         (cmd_set_record_btrace_bts, cmd_show_record_btrace_bts)
5348         (cmd_set_record_btrace_pt, cmd_show_record_btrace_pt): Constify.
5349         * rs6000-tdep.c (set_powerpc_command, show_powerpc_command):
5350         Constify.
5351         * symfile.c (overlay_command): Constify.
5352         * spu-tdep.c (set_spu_command, show_spu_command): Constify.
5353         * cli/cli-logging.c (set_logging_command, show_logging_command):
5354         Constify.
5355         * cli/cli-dump.c (dump_command, append_command)
5356         (srec_dump_command, ihex_dump_command, verilog_dump_command)
5357         (tekhex_dump_command, binary_dump_command)
5358         (binary_append_command): Constify.
5359         * cli/cli-decode.c (struct cmd_list_element): Change type of
5360         "fun".
5361         * cli/cli-cmds.c (info_command, show_command, set_debug)
5362         (show_debug): Constify.
5363         (show_command): Add non-const overload.
5364         * top.c (set_history, show_history): Constify.
5365         * sh-tdep.c (set_sh_command, show_sh_command): Constify.
5366         * command.h (add_prefix_cmd): Accept a cmd_const_cfunc_ftype.
5367         * target.c (target_command): Constify.
5368         * sparc64-tdep.c (info_adi_command): Constify.
5369         * record-full.c (cmd_record_full_start): Constify.
5370         (set_record_full_command): Constify.  Fix typo.
5371         (show_record_full_command): Constify.
5372         * thread.c (thread_command, thread_apply_command): Constify.
5373         * memattr.c (dummy_cmd): Constify.
5374         * value.c (function_command): Constify.
5375         * frame.c (set_backtrace_cmd, show_backtrace_cmd): Constify.
5376         * probe.c (info_probes_command): Constify.
5377         * ser-tcp.c (set_tcp_cmd, show_tcp_cmd): Constify.
5378         * gnu-nat.c (set_task_cmd, show_task_cmd, set_thread_cmd)
5379         (show_thread_cmd, set_thread_default_cmd)
5380         (show_thread_default_cmd): Constify.
5381         (check_empty): Constify.
5382         * tracepoint.c (tfind_command): Constify.
5383         * cp-support.c (maint_cplus_command): Constify.
5384         * windows-tdep.c (info_w32_command): Constify.
5385         * record.c (cmd_record_start, set_record_command)
5386         (show_record_command, info_record_command, cmd_record_goto):
5387         Constify.
5388         * ravenscar-thread.c (set_ravenscar_command)
5389         (show_ravenscar_command): Constify.
5390         * utils.c (set_internal_problem_cmd, show_internal_problem_cmd):
5391         Constify.
5392         (add_internal_problem_command): Remove casts.
5393         * arc-tdep.c (maintenance_print_arc_command): Constify.
5394         * valprint.c (set_print, show_print, set_print_raw)
5395         (show_print_raw): Constify.
5396         * maint.c (maintenance_command, maintenance_info_command)
5397         (maintenance_print_command, maintenance_set_cmd)
5398         (maintenance_show_cmd, set_per_command_cmd)
5399         (show_per_command_cmd, maintenance_check_command): Constify.
5400         * language.c (set_check, show_check): Constify.
5401         * typeprint.c (show_print_type, set_print_type): Constify.
5402         * go32-nat.c (go32_info_dos_command): Constify.
5403
5404 2017-10-11  Tom Tromey  <tom@tromey.com>
5405
5406         * breakpoint.c (prepare_re_set_context): Remove.
5407         (breakpoint_re_set_one): Update.  Don't use cleanups.
5408         (breakpoint_re_set): Use scoped_restore, std::string, and
5409         scoped_restore_current_language.
5410
5411 2017-10-11  Tom Tromey  <tom@tromey.com>
5412
5413         * breakpoint.c (commands_command_1): Use std::string.
5414         (cleanup_executing_breakpoints): Remove.
5415         (bpstat_do_actions_1): Use scoped_restore.
5416         (bpstat_check_watchpoint): Use std::string.
5417         (decode_static_tracepoint_spec): Likewise.
5418         (break_range_command): Likewise.
5419         (watch_command_1): Likewise.
5420         (compare_breakpoints): Change argument types.
5421         (clear_command): Use std::vector.
5422         (cleanup_executing_breakpoints): Remove.
5423         (update_global_location_list): Use unique_xmalloc_ptr.
5424         (strace_command): Remove unused declaration.
5425
5426 2017-10-11  John Baldwin  <jhb@FreeBSD.org>
5427
5428         * Makefile.in (ALLDEPFILES): Add arm-fbsd-nat.c.
5429         * NEWS: Mention new FreeBSD/arm native configuration.
5430         * configure.host: Add arm*-*-freebsd*.
5431         * configure.nat: Likewise.
5432         * arm-fbsd-nat.c: New file.
5433
5434 2017-10-11  John Baldwin  <jhb@FreeBSD.org>
5435
5436         * Makefile.in (ALL_TARGET_OBS): Add arm-fbsd-tdep.o.
5437         (ALLDEPFILES): Add arm-fbsd-tdep.c.
5438         * NEWS: Mention new FreeBSD/arm target.
5439         * configure.tgt: Add arm*-*-freebsd*.
5440         * arm-fbsd-tdep.c: New file.
5441         * arm-fbsd-tdep.h: New file.
5442
5443 2017-10-11  Maciej W. Rozycki  <macro@imgtec.com>
5444
5445         * linux-tdep.c (linux_make_corefile_notes): Remove call to
5446         `gdbarch_elfcore_write_linux_prpsinfo'.
5447         * gdbarch.sh (elfcore_write_linux_prpsinfo): Remove architecture
5448         method.
5449         (elf_internal_linux_prpsinfo): Remove declaration.
5450         * gdbarch.h: Regenerate.
5451         * gdbarch.c: Regenerate.
5452
5453 2017-10-11  Maciej W. Rozycki  <macro@imgtec.com>
5454
5455         * ppc-linux-tdep.c (ppc_linux_init_abi): Remove call to
5456         `set_gdbarch_elfcore_write_linux_prpsinfo'.
5457
5458 2017-10-11  Pedro Alves  <palves@redhat.com>
5459
5460         * breakpoint.c (reattach_breakpoints): Delete.
5461         * breakpoint.h (reattach_breakpoints): Delete.
5462
5463 2017-10-11  Simon Marchi  <simon.marchi@ericsson.com>
5464
5465         * symfile.c (registered_sym_fns): Make struct, not typedef.
5466         (DEF_VEC_O (registered_sym_fns)): Remove.
5467         (symtab_fns): Change type to std::vector.
5468         (add_symtab_fns): Adjust.
5469         (find_sym_fns): Adjust.
5470
5471 2017-10-11  Anton Kolesov  <Anton.Kolesov@synopsys.com>
5472
5473         * arc-tdep.c (arc_gdbarch_init): Pass proper cpu value to disassembler.
5474         * arc-tdep.h (arc_arch_is_em): New function.
5475         (arc_arch_is_hs): Likewise.
5476
5477 2017-10-11  Egeyar Bagcioglu  <egeyar.bagcioglu@oracle.com>
5478
5479         * macrotab.h (macro_lookup_inclusion): Remove unnecessary
5480         parentheses in the declaration.
5481         (macro_lookup_inclusion): Likewise.
5482         (macro_lookup_definition): Likewise.
5483         * p-lang.h (pascal_builtin_types): Likewise.
5484         * tui/tui-data.c (tui_win_list): Likewise.
5485         * tui/tui-data.h (tui_win_list): Likewise.
5486         * utils.h (make_cleanup_free_section_addr_info): Likewise.
5487
5488 2017-10-11  Mark Rages  <markrages@gmail.com>
5489
5490         * target-memory.c (block_boundaries): Fix for block address not
5491         aligned on block size.
5492
5493 2017-10-10  Pedro Alves <palves@redhat.com>
5494             Tom Tromey  <tom@tromey.com>
5495
5496         * breakpoint.c (struct captured_breakpoint_query_args)
5497         (do_captured_breakpoint_query, gdb_breakpoint_query): Delete.
5498         (print_breakpoint): New.
5499         * breakpoint.h (print_breakpoint): Declare.
5500         * common/common-exceptions.h (enum return_reason): Remove
5501         references to catch_exceptions.
5502         * exceptions.c (catch_exceptions, catch_exceptions_with_msg):
5503         Delete.
5504         * exceptions.h (catch_exceptions_ftype, catch_exceptions)
5505         (catch_exception_ftype, catch_exceptions_with_msg): Delete.
5506         * gdb.h: Delete.
5507         * gdbthread.h (thread_select): Declare.
5508         * mi/mi-cmd-break.c: Don't include gdb.h.
5509         (breakpoint_notify): Use print_breakpoint.
5510         * mi/mi-cmd-catch.c: Don't include gdb.h.
5511         * mi/mi-interp.c: Don't include gdb.h.
5512         (mi_print_breakpoint_for_event): New.
5513         (mi_breakpoint_created, mi_breakpoint_modified): Use
5514         mi_print_breakpoint_for_event.
5515         * mi/mi-main.c: Don't include gdb.h.
5516         (mi_cmd_thread_select): Parse the global thread ID here.  Use
5517         thread_select instead of gdb_thread_select.
5518         (mi_cmd_thread_list_ids): Output "thread-ids" tuple here instead
5519         of using gdb_list_thread_ids.
5520         * remote-fileio.c (do_remote_fileio_request): Change type.  Reply
5521         FILEIO_ENOSYS here.
5522         (remote_fileio_request): Use TRY/CATCH instead of
5523         catch_exceptions.
5524         * symfile-mem.c (struct symbol_file_add_from_memory_args)
5525         (symbol_file_add_from_memory_wrapper): Delete.
5526         (add_vsyscall_page): Use TRY/CATCH instead of catch_exceptions.
5527         * thread.c: Don't include gdb.h.
5528         (do_captured_list_thread_ids, gdb_list_thread_ids): Delete.
5529         (thread_alive): Use thread_select.
5530         (do_captured_thread_select): Delete, parts salvaged as ...
5531         (thread_select): ... this new function.
5532         (gdb_thread_select): Delete.
5533
5534 2017-10-10  Pedro Alves  <palves@redhat.com>
5535             Tom Tromey  <tom@tromey.com>
5536
5537         * breakpoint.c (breakpoint_cond_eval): Change return type to bool
5538         and reverse logic.
5539         (WP_DELETED, WP_VALUE_CHANGED, WP_VALUE_NOT_CHANGED, WP_IGNORE):
5540         No longer macros.  Instead ...
5541         (enum wp_check_result): They're now values of this new
5542         enumeration.
5543         (watchpoint_check): Change return type to wp_check_result and
5544         parameter type to bpstat.
5545         (bpstat_check_watchpoint): Use TRY/CATCH instead of catch_errors.
5546         (bpstat_check_breakpoint_conditions): Use TRY/CATCH instead of
5547         catch_errors.  Reverse logic of watchpoint_check call.
5548         (breakpoint_re_set_one): Now returns void and takes a breakpoint
5549         pointer as parameter.
5550         (breakpoint_re_set): Use TRY/CATCH instead of catch_errors.
5551         * common/common-exceptions.c (throw_exception_sjlj): Update
5552         comments to avoid mentioning catch_errors.
5553         * exceptions.c (catch_errors): Delete.
5554         * exceptions.h: Update comments to avoid mentioning catch_errors.
5555         (catch_errors_ftype, catch_errors): Delete.
5556         * infrun.c (normal_stop): Use TRY/CATCH instead of catch_errors.
5557         (hook_stop_stub): Delete.
5558         (restore_selected_frame): Change return type to void, and
5559         parameter type to const frame_id &.
5560         (restore_infcall_control_state): Use TRY/CATCH instead of
5561         catch_errors.
5562         * main.c (captured_command_loop): Return void and remove
5563         parameter.  Remove references to catch_errors.
5564         (captured_main): Use TRY/CATCH instead of catch_errors.
5565         * objc-lang.c (objc_submethod_helper_data)
5566         (find_objc_msgcall_submethod_helper): Delete.
5567         (find_objc_msgcall_submethod): Use TRY/CATCH instead of
5568         catch_errors.
5569         * record-full.c (record_full_message): Return void.
5570         (record_full_message_args, record_full_message_wrapper): Delete.
5571         (record_full_message_wrapper_safe): Return bool and use TRY/CATCH
5572         instead of catch_errors.
5573         * solib-aix.c (solib_aix_open_symbol_file_object): Change
5574         parameter type to int.
5575         * solib-darwin.c (open_symbol_file_object): Ditto.
5576         * solib-dsbt.c (open_symbol_file_object): Ditto.
5577         * solib-frv.c (open_symbol_file_object): Ditto.
5578         * solib-svr4.c (open_symbol_file_object): Ditto.
5579         * solib-target.c (solib_target_open_symbol_file_object): Ditto.
5580         * solib.c (update_solib_list): Use TRY/CATCH instead of
5581         catch_errors.
5582         * solist.h (struct target_so_ops) <open_symbol_file_object>:
5583         Change type.
5584         * symmisc.c (struct print_symbol_args): Remove.
5585         (dump_symtab_1): Use TRY/CATCH instead of catch_errors.
5586         (print_symbol): Change type.
5587         * windows-nat.c (handle_load_dll, handle_unload_dll): Return void
5588         and remove parameters.
5589         (catch_errors): New.
5590         (get_windows_debug_event): Adjust.
5591
5592 2017-10-09  Tom Tromey  <tom@tromey.com>
5593
5594         * mi/mi-main.c (free_splay_tree): Remove.
5595         (list_available_thread_groups): Use splay_tree_up.
5596         * common/gdb_splay_tree.h: New file.
5597
5598 2017-10-09  Tom Tromey  <tom@tromey.com>
5599
5600         * mi/mi-main.c (do_nothing): Remove.
5601         (list_available_thread_groups): Update.
5602
5603 2017-10-09  Pedro Alves  <palves@redhat.com>
5604
5605         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>: Skip
5606         reading registers when switching context.
5607
5608 2017-10-09  John Baldwin  <jhb@FreeBSD.org>
5609
5610         * fbsd-nat.c (fbsd_siginfo_size): Use gdbarch_long_bit.
5611         (fbsd_convert_siginfo): Likewise.
5612         * fbsd-tdep.c (fbsd_core_xfer_siginfo): Likewise.
5613
5614 2017-10-09  Simon Marchi  <simon.marchi@polymtl.ca>
5615
5616         * configure.ac (try_guile_versions): Remove guile-2.2.
5617         * configure: Regenerate.
5618
5619 2017-10-09  Tom Tromey  <tom@tromey.com>
5620
5621         * Makefile.in (COMPILE.post, POSTCOMPILE): Restore $(basename).
5622         (COMPILE.pre): Use $(CXX).
5623
5624 2017-10-09  Pedro Alves  <palves@redhat.com>
5625
5626         * cp-support.c (cp_remove_params): Return a gdb::unique_xmalloc_ptr.
5627         Use bool.
5628         (overload_list_add_symbol): Adjust to use gdb::unique_xmalloc_ptr.
5629         * cp-support.h (cp_remove_params): Now returns a
5630         gdb::unique_xmalloc_ptr.
5631         * dwarf2read.c (find_slot_in_mapped_hash): Now returns bool.
5632         Adjust to cp_remove_params returning a gdb::unique_xmalloc_ptr.
5633         * psymtab.c (psymtab_search_name): Adjust to cp_remove_params
5634         returning a gdb::unique_xmalloc_ptr.
5635         (lookup_partial_symbol): Adjust to use gdb::unique_xmalloc_ptr.
5636         * stack.c (find_frame_funname): Adjust to cp_remove_params
5637         returning a gdb::unique_xmalloc_ptr.
5638
5639 2017-10-08  Tom Tromey  <tom@tromey.com>
5640
5641         * dwarf2read.c (dwarf2_get_dwz_file): Use
5642         gdb::unique_xmalloc_ptr.
5643         (find_slot_in_mapped_hash): Likewise.
5644         (dwarf2_physname): Likewise.
5645         (create_dwo_unit_in_dwp_v1): Use std::string.
5646         (create_dwo_unit_in_dwp_v2): Likewise.
5647         (lookup_dwo_cutu): Likewise.
5648         (inherit_abstract_dies): Use std::vector.
5649         (read_array_type): Likewise.
5650         (dwarf_decode_macros): Remove unused declaration.
5651         (unsigned_int_compar): Remove.
5652         (dwarf2_build_psymtabs_hard): Use scoped_restore.
5653         (psymtabs_addrmap_cleanup): Remove.
5654
5655 2017-10-08  Tom Tromey  <tom@tromey.com>
5656
5657         * frame-unwind.c (frame_unwind_try_unwinder): Update.
5658         * frame.h (frame_cleanup_after_sniffer): Declare.
5659         (frame_prepare_for_sniffer): Return void.
5660         * frame.c (frame_cleanup_after_sniffer): No longer static.  Change
5661         type of argument.
5662         (frame_prepare_for_sniffer): Return void.
5663
5664 2017-10-08  Tom Tromey  <tom@tromey.com>
5665
5666         * utils.h (make_cleanup_value_free): Remove.
5667         * utils.c (do_value_free, struct cleanup): Remove.
5668         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full) <DWARF_VALUE_STACK>:
5669         Use gdb_value_up.
5670         * value.h (struct value_deleter): New.
5671         (gdb_value_up): New typedef.
5672
5673 2017-10-08  Tom Tromey  <tom@tromey.com>
5674
5675         * symtab.c (free_search_symbols, do_free_search_symbols_cleanup)
5676         (make_cleanup_free_search_symbols): Remove.
5677         (search_symbols): Return std::vector.
5678         (symbol_search::compare_search_syms): Now member of
5679         symbol_search.  Change arguments.
5680         (sort_search_symbols_remove_dups): Change arguments.  Rewrite.
5681         (symtab_symbol_info, rbreak_command): Update.
5682         * symtab.h (struct symbol_search) <next>: Remove.
5683         Add constructors.
5684         (symbol_search::operator<): New function.
5685         (symbol_search::operator==): New function.
5686         (search_symbols): Remove std::vector.
5687         (free_search_symbols, make_cleanup_free_search_symbols): Remove.
5688         (symbol_search::compare_search_syms): Declare.
5689
5690 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5691
5692         * Makefile.in (ALL_64_TARGET_OBS): Replace aarch64-insn.o with
5693         arch/aarch64-insn.o.
5694         Remove one rule.
5695         * configure.tgt: Replace aarch64-insn.o with arch/aarch64-insn.o.
5696
5697 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5698
5699         * Makefile.in (ALL_TARGET_OBS): Replace arm.o, arm-get-next-pcs.o,
5700         and arm-linux.o with arch/arm.o, arch/arm-get-next-pcs.o and
5701         arch/arm-linux.o respectively.
5702         * configure.tgt: Likewise.
5703
5704 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5705
5706         * Makefile.in (ALL_TARGET_OBS): Rename i386.o to arch/i386.o.
5707         * configure.tgt (i386_tobjs): Replace i386.o with arch/i386.o.
5708
5709 2017-10-06  Pedro Alves  <palves@redhat.com>
5710
5711         * windows-nat.c: Include <algorithm>.
5712
5713 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5714
5715         * configure.tgt (i386_tobjs): New variable.
5716         (amd64_tobjs): New variable.
5717         Set $cpu_obs and $os_obs.
5718
5719 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5720
5721         * Makefile.in (CONFIG_SRC_SUBDIR): New.
5722         (ALL_64_TARGET_OBS): Replace amd64.o with arch/amd64.o.
5723         (clean): Remove object files and dependency files.
5724         (distclean): Remove the directory.
5725         * configure.ac: Invoke AC_CONFIG_COMMANDS.
5726         * configure: Re-generated.
5727         * configure.tgt: Replace amd64.o with arch/amd64.o.
5728
5729 2017-10-05  Jose E. Marchesi  <jose.marchesi@oracle.com>
5730
5731         PR build/22188
5732         * arm-tdep.c (arm_decode_misc_memhint_neon): Fix decoding of CPS
5733         and SETEND.
5734
5735 2017-10-05  Pedro Alves  <palves@redhat.com>
5736
5737         * linux-nat.c (linux_child_follow_fork): When following the parent
5738         and detaching the child, consult the parent thread's architecture
5739         instead of the child's.
5740
5741 2017-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
5742
5743         * ax.h: Do not include "doublest.h".
5744         (union agent_val): Remove.
5745
5746 2017-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
5747
5748         * dfp.h (MAX_DECIMAL_STRING): Move to dfp.c.
5749         (decimal_to_string): Return std::string object.
5750         (decimal_from_string): Accept std::string object.  Return bool.
5751         (decimal_from_integral, decimal_from_doublest): Remove.
5752         (decimal_from_longest): Add prototype.
5753         (decimal_from_ulongest): Likewise.
5754         (decimal_to_longest): Likewise.
5755         (decimal_from_doublest): Likewise.
5756         * dfp.c: Do not include "gdbtypes.h" or "value.h".
5757         (MAX_DECIMAL_STRING): Move here.
5758         (decimal_to_string): Return std::string object.
5759         (decimal_from_string): Accept std::string object.  Return bool.
5760         (decimal_from_integral): Remove, replace by ...
5761         (decimal_from_longest, decimal_from_ulongest): ... these new functions.
5762         (decimal_to_longest): New function.
5763         (decimal_from_floating): Remove, replace by ...
5764         (decimal_from_doublest): ... this new function.
5765         (decimal_to_doublest): Update to new decimal_to_string interface.
5766
5767         * value.c (unpack_long): Use decimal_to_longest.
5768         * valops.c (value_cast): Use decimal_from_doublest instead of
5769         decimal_from_floating.  Use decimal_from_[u]longest isntead of
5770         decimal_from_integral.
5771         * valarith.c (value_args_as_decimal): Likewise.
5772         * valprint.c (print_decimal_floating): Update to new
5773         decimal_to_string interface.
5774         * printcmd.c (printf_decfloat): Likewise.
5775         * c-exp.y (parse_number): Update to new decimal_from_string interface.
5776
5777 2017-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
5778
5779         * doublest.h: Do not include "floatformat.h".  Remove stale comments.
5780         * gdbtypes.c: Include "floatformat.h".
5781         * value.c: Likewise.
5782         * m68k-tdep.c: Likewise.
5783
5784         * findvar.c: Do not include "floatformat.h".
5785         * amd64-darwin-tdep.c: Likewise.
5786         * arm-linux-tdep.c: Likewise.
5787         * i386-darwin-tdep.c: Likewise.
5788         * i387-tdep.c: Likewise.
5789         * m68k-linux-tdep.c: Likewise.
5790         * mep-tdep.c: Likewise.
5791         * mips-tdep.c: Likewise.
5792         * nios2-tdep.c: Likewise.
5793         * s390-linux-tdep.c: Likewise.
5794         * sparc-obsd-tdep.c: Likewise.
5795         * sparc-tdep.c: Likewise.
5796         * sparc64-tdep.c: Likewise.
5797         * spu-tdep.c: Likewise.
5798         * tic6x-tdep.c: Likewise.
5799         * tilegx-tdep.c: Likewise.
5800         * vax-tdep.c: Likewise.
5801         * xstormy16-tdep.c: Likewise.
5802         * xtensa-tdep.c: Likewise.
5803
5804         * top.c: Do not include "doublest.h".
5805         * aarch64-tdep.c: Likewise.
5806         * alpha-tdep.c: Likewise.
5807         * arm-linux-tdep.c: Likewise.
5808         * m68k-linux-tdep.c: Likewise.
5809         * tilegx-tdep.c: Likewise.
5810         * xstormy16-tdep.c: Likewise.
5811
5812 2017-10-05  John Baldwin  <jhb@FreeBSD.org>
5813
5814         * mips-fbsd-tdep.c (MIPS_INST_ADDIU_A0_SP_N32): Define.
5815         (mipsn32_fbsd_sigframe): Define.
5816         (mips_fbsd_init_abi): Install mipsn32_fbsd_sigframe unwinder
5817         for FreeBSD/mipsn32.
5818
5819 2017-10-05  John Baldwin  <jhb@FreeBSD.org>
5820
5821         * fbsd-tdep.c (fbsd_print_auxv_entry): Handle AT_EHDRFLAGS and
5822         AT_HWCAP.
5823
5824 2017-10-05  Tristan Gingold  <tgingold@free.fr>
5825
5826         * MAINTAINERS (Misc): Update my email address.
5827
5828 2017-10-04  Pedro Alves  <palves@redhat.com>
5829
5830         * remote.c (get_remote_arch_state): New 'gdbarch' parameter.  Use
5831         it instead of target_gdbarch.
5832         (get_remote_state, get_remote_packet_size): Adjust
5833         get_remote_arch_state calls, passing down target_gdbarch
5834         explicitly.
5835         (packet_reg_from_regnum, packet_reg_from_pnum): New parameter
5836         'gdbarch' and use it instead of target_gdbarch.
5837         (get_memory_packet_size): Adjust get_remote_arch_state calls,
5838         passing down target_gdbarch explicitly.
5839         (struct stop_reply) <arch>: New field.
5840         (remote_parse_stop_reply): Use the stopped thread's architecture,
5841         not the current inferior's.  Save the architecture in the
5842         stop_reply.
5843         (process_stop_reply): Use the stop reply's architecture.
5844         (process_g_packet, remote_fetch_registers)
5845         (remote_prepare_to_store, store_registers_using_G)
5846         (remote_store_registers): Adjust get_remote_arch_state calls,
5847         using the regcache's architecture.
5848         (remote_get_trace_status): Adjust get_remote_arch_state calls,
5849         passing down target_gdbarch explicitly.
5850         * spu-multiarch.c (spu_thread_architecture): Defer to the target
5851         beneath instead of calling target_gdbarch.
5852         * target.c (default_thread_architecture): Use the specified
5853         inferior's architecture, instead of the current inferior's
5854         architecture (via target_gdbarch).
5855
5856 2017-10-04  Pedro Alves  <palves@redhat.com>
5857
5858         * regcache.c (get_thread_arch_regcache): Remove null_ptid special
5859         case.
5860         (regcache_print): Handle !target_has_registers here instead.
5861
5862 2017-10-04  Pedro Alves  <palves@redhat.com>
5863
5864         * frame.c (create_test_frame): Delete.
5865         * frame.h (create_test_frame): Delete.
5866         * gdbarch-selftests.c: Include gdbthread.h and target.h.
5867         (class regcache_test): Delete.
5868         (test_target_has_registers, test_target_has_stack)
5869         (test_target_has_memory, test_target_prepare_to_store)
5870         (test_target_store_registers): New functions.
5871         (test_target_ops): New class.
5872         (register_to_value_test): Error out if there's already a
5873         process_stratum (or higher) target pushed.  Create a fuller mock
5874         environment, with mock target_ops, inferior, address space, thread
5875         and inferior_ptid.
5876         * progspace.c (struct address_space): Move to ...
5877         * progspace.h (struct address_space): ... here.
5878         * regcache.h (regcache::~regcache, regcache::raw_write)
5879         [GDB_SELF_TEST]: No longer virtual.
5880
5881 2017-10-04  Simon Marchi  <simon.marchi@ericsson.com>
5882
5883         * mi/mi-main.c (list_available_thread_groups): Reverse filter logic.
5884
5885 2017-10-04  Pedro Alves  <palves@redhat.com>
5886
5887         * guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Move code
5888         out of 'between TRY and CATCH'.
5889
5890 2017-10-04  Pedro Alves  <palves@redhat.com>
5891
5892         * cli/cli-cmds.c (complete_command): Add missing END_CATCH.
5893         * common/common-exceptions.h (TRY): Open an outermost scope.
5894         Expand intro comment.
5895         (CATCH): Reindent.
5896         (END_CATCH): Close the outermost scope.
5897         * completer.c (complete_line_internal): Add missing END_CATCH.
5898
5899 2017-10-04  Sergio Durigan Junior  <sergiodj@redhat.com>
5900
5901         * NEWS (Changes since GDB 8.0): Add entry about new
5902         'set-cwd-on-gdbserver' feature.
5903         (New remote packets): Add entry for QSetWorkingDir.
5904         * common/common-inferior.h (set_inferior_cwd): New prototype.
5905         * infcmd.c (set_inferior_cwd): Remove "static".
5906         (show_cwd_command): Expand text to include remote debugging.
5907         * remote.c: Add PACKET_QSetWorkingDir.
5908         (remote_protocol_features) <QSetWorkingDir>: New entry for
5909         PACKET_QSetWorkingDir.
5910         (extended_remote_set_inferior_cwd): New function.
5911         (extended_remote_create_inferior): Call
5912         "extended_remote_set_inferior_cwd".
5913         (_initialize_remote): Call "add_packet_config_cmd" for
5914         QSetWorkingDir.
5915
5916 2017-10-04  Sergio Durigan Junior  <sergiodj@redhat.com>
5917
5918         * NEWS (New commands): Mention "set/show cwd".
5919         * cli/cli-cmds.c (_initialize_cli_cmds): Mention "set cwd" on
5920         "cd" command's help text.
5921         * common/common-inferior.h (get_inferior_cwd): New prototype.
5922         * infcmd.c (inferior_cwd_scratch): New global variable.
5923         (set_inferior_cwd): New function.
5924         (get_inferior_cwd): Likewise.
5925         (set_cwd_command): Likewise.
5926         (show_cwd_command): Likewise.
5927         (_initialize_infcmd): Add "set/show cwd" commands.
5928         * inferior.h (class inferior) <cwd>: New field.
5929         * nat/fork-inferior.c: Include "gdb_tilde_expand.h".
5930         (fork_inferior): Change inferior's cwd before its execution.
5931         * windows-nat.c (windows_create_inferior): Pass inferior's cwd
5932         to CreateProcess.
5933
5934 2017-10-04  Sergio Durigan Junior  <sergiodj@redhat.com>
5935
5936         * Makefile.in (SFILES): Add gdb_tilde_expand.c.
5937         (HFILES_NO_SRCDIR): Add gdb_tilde_expand.h.
5938         (COMMON_OBS): Add gdb_tilde_expand.o.
5939         * common/gdb_tilde_expand.c: New file.
5940         * common/gdb_tilde_expand.h: Likewise.
5941
5942 2017-10-03  Maciej W. Rozycki  <macro@imgtec.com>
5943
5944         * gdbarch.sh (objfile): Remove duplicate declaration.
5945         * gdbarch.h: Regenerate.
5946
5947 2017-10-03  Tom Tromey  <tom@tromey.com>
5948
5949         * utils.c (internal_vproblem): Use string_vprintf.
5950
5951 2017-10-03  Tom Tromey  <tom@tromey.com>
5952
5953         * printcmd.c (info_symbol_command): Use std::string.
5954
5955 2017-10-03  Tom Tromey  <tom@tromey.com>
5956
5957         * top.c (gdb_safe_append_history): Use std::string.
5958
5959 2017-10-03  Tom Tromey  <tom@tromey.com>
5960
5961         * event-top.c (stdin_event_handler): Update.
5962         * main.c (captured_main_1): Update.
5963         * top.h (make_delete_ui_cleanup): Remove.
5964         (struct ui): Add constructor and destructor.
5965         (new_ui, delete_ui): Remove.
5966         * top.c (make_delete_ui_cleanup): Remove.
5967         (new_ui_command): Use std::unique_ptr.
5968         (delete_ui_cleanup): Remove.
5969         (ui::ui): Rename from new_ui.  Update.
5970         (free_ui): Remove.
5971         (ui::~ui): Rename from delete_ui.  Update.
5972
5973 2017-10-03  Tom Tromey  <tom@tromey.com>
5974
5975         * symfile.c (load_progress): Use gdb::byte_vector.
5976
5977 2017-10-03  Tom Tromey  <tom@tromey.com>
5978
5979         * mi/mi-main.c (mi_cmd_trace_frame_collected): Remove unused
5980         declaration.
5981         * printcmd.c (x_command): Remove unused declaration.
5982         * symfile.c (symbol_file_command): Remove unused declaration.
5983
5984 2017-10-03  Tom Tromey  <tom@tromey.com>
5985
5986         * utils.c (internal_vproblem): Use std::string.
5987         (defaulted_query): Likewise.
5988
5989 2017-10-03  Tom Tromey  <tom@tromey.com>
5990
5991         * guile/scm-ports.c (ioscm_with_output_to_port_worker): Update.
5992         * top.c (execute_command_to_string): Update.
5993         * utils.c (make_cleanup_restore_page_info): Remove.
5994         (do_restore_page_info_cleanup): Remove.
5995         (set_batch_flag_and_restore_page_info):
5996         New.
5997         (make_cleanup_restore_page_info): Remove.
5998         (set_batch_flag_and_make_cleanup_restore_page_info): Remove.
5999         (~set_batch_flag_and_restore_page_info): New
6000         (make_cleanup_restore_uinteger): Remove.
6001         (make_cleanup_restore_integer): Remove.
6002         (struct restore_integer_closure): Remove.
6003         (restore_integer): Remove.
6004         * utils.h (struct set_batch_flag_and_restore_page_info): New
6005         class.
6006         (set_batch_flag_and_make_cleanup_restore_page_info): Remove.
6007         (make_cleanup_restore_page_info): Remove.
6008         (make_cleanup_restore_uinteger) Remove.
6009         (make_cleanup_restore_integer) Remove.
6010
6011 2017-10-03  Tom Tromey  <tom@tromey.com>
6012
6013         * record-full.h (record_full_gdb_operation_disable_set): Return
6014         scoped_restore_tmpl<int>.
6015         * infrun.c (adjust_pc_after_break): Update.
6016         (handle_signal_stop): Update.
6017         * record-full.c (record_full_gdb_operation_disable_set): Return
6018         scoped_restore_tmpl<int>.
6019         (record_full_wait_1, record_full_insert_breakpoint)
6020         (record_full_remove_breakpoint, record_full_save)
6021         (record_full_goto_insn): Update.
6022
6023 2017-10-02  Tom Tromey  <tom@tromey.com>
6024
6025         PR rust/22236:
6026         * rust-lang.c (rust_val_print_str): New function.
6027         (val_print_struct): Call it.
6028         (rust_subscript): Preserve name of slice type.
6029
6030 2017-10-02  Tom Tromey  <tom@tromey.com>
6031
6032         * rust-lang.c (rust_subscript): Handle slices in
6033         EVAL_AVOID_SIDE_EFFECTS case.
6034
6035 2017-10-02  Tom Tromey  <tom@tromey.com>
6036
6037         * rust-lang.c (rust_slice_type_p): Recognize &str as a slice type.
6038
6039 2017-10-02  Tom Tromey  <tom@tromey.com>
6040
6041         * rust-lang.h (rust_slice_type): Add "extern".
6042
6043 2017-10-02  Tom Tromey  <tom@tromey.com>
6044             Pedro Alves  <palves@redhat.com>
6045
6046         * ada-lang.h (ada_exc_info::operator<): Make const.
6047         (ada_exc_info::operator==): Make const.
6048         * ada-lang.c (ada_exc_info::operator<, ada_exc_info::operator==):
6049         Make const.
6050
6051 2017-09-29  Tom Tromey  <tom@tromey.com>
6052
6053         * target.c (read_whatever_is_readable): Change type of "result".
6054         Update.
6055         (free_memory_read_result_vector): Remove.
6056         (read_memory_robust): Change return type.  Update.
6057         * mi/mi-main.c (mi_cmd_data_read_memory_bytes): Update.  Use
6058         bin2hex, std::string.
6059         * target.h (memory_read_result_s): Remove typedef.
6060         (free_memory_read_result_vector): Remove.
6061         (read_memory_robust): Return std::vector.
6062
6063 2017-09-29  Tom Tromey  <tom@tromey.com>
6064
6065         * mi/mi-main.c (captured_mi_execute_command): Use scope_restore.
6066
6067 2017-09-29  Tom Tromey  <tom@tromey.com>
6068
6069         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions): Update.
6070         * ada-lang.h (struct ada_exc_info): Remove typedef.  Declare
6071         operator< and operator==.
6072         (ada_exceptions_list): Return a std::vector.
6073         * ada-lang.c (ada_exc_info::operator<): Rename from
6074         compare_ada_exception_info.
6075         (ada_exc_info::operator==): New.
6076         (sort_remove_dups_ada_exceptions_list): Change type of
6077         "exceptions".
6078         (ada_add_standard_exceptions, ada_add_exceptions_from_frame)
6079         (ada_add_global_exceptions): Likewise.
6080         (ada_exceptions_list_1): Return a std::vector.
6081         (ada_exceptions_list): Likewise.
6082
6083 2017-09-29  Tom Tromey  <tom@tromey.com>
6084
6085         * mi/mi-main.c (struct print_one_inferior_data) <inferiors>: Now a
6086         'std::set *'.
6087         (print_one_inferior): Update.
6088         (free_vector_of_ints): Remove.
6089         (list_available_thread_groups): Change "ids" to std::set.
6090         (mi_cmd_list_thread_groups): Update.
6091         (struct collect_cores_data) <core>: Now a std::set.
6092         (collect_cores): Update.
6093         (unique): Remove.
6094         (print_one_inferior): Update.
6095
6096 2017-09-29  Tom Tromey  <tom@tromey.com>
6097
6098         * mi/mi-main.c (mi_execute_cli_command): Use std::string.
6099         (mi_execute_async_cli_command): Likewise.
6100         (mi_cmd_trace_frame_collected): Use field_fmt.
6101
6102 2017-09-29  Tom Tromey  <tom@tromey.com>
6103
6104         * mi/mi-main.c (mi_cmd_data_write_memory_bytes): Use
6105         gdb::byte_vector.
6106
6107 2017-09-29  Tom Tromey  <tom@tromey.com>
6108
6109         * mi/mi-parse.c (mi_parse): Remove unused declaration.
6110
6111 2017-09-29  Tom Tromey  <tom@tromey.com>
6112
6113         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Don't copy "oarg".
6114
6115 2017-09-29  Tom Tromey  <tom@tromey.com>
6116
6117         * varobj.h (varobj_gen_name): Return std::string.
6118         * varobj.c (varobj_gen_name): Return std::string.
6119         * mi/mi-cmd-var.c (mi_cmd_var_create): Use std::string.
6120         (mi_cmd_var_delete): Don't copy "name".
6121
6122 2017-09-29  Tom Tromey  <tom@tromey.com>
6123
6124         * mi/mi-cmd-break.c (mi_argv_to_format): Return std::string.
6125         (mi_cmd_break_insert_1): Update.
6126
6127 2017-09-29  Tom Tromey  <tom@tromey.com>
6128
6129         * target.h (make_scoped_defer_target_commit_resume): Update.
6130         * target.c (make_scoped_defer_target_commit_resume): Rename from
6131         make_cleanup_defer_target_commit_resume.  Return a
6132         scoped_restore.
6133         * infrun.c (proceed): Use make_scoped_defer_target_commit_resume.
6134
6135 2017-09-29  Tom Tromey  <tom@tromey.com>
6136
6137         * main.c (captured_main_1): Remove unused declaration.
6138         * spu-multiarch.c (parse_spufs_run): Remove unused declaration.
6139
6140 2017-09-29  Tom Tromey  <tom@tromey.com>
6141
6142         * symtab.c (search_symbols): Remove unused outer cleanup.
6143         (make_source_files_completion_list): Remove unused declaration.
6144
6145 2017-09-29  Tom Tromey  <tom@tromey.com>
6146
6147         * mt-tdep.c (mt_push_dummy_call): Use gdb::byte_vector.
6148
6149 2017-09-29  Tom Tromey  <tom@tromey.com>
6150
6151         * xstormy16-tdep.c (xstormy16_push_dummy_call): Use
6152         gdb::byte_vector.
6153
6154 2017-09-29  Tom Tromey  <tom@tromey.com>
6155
6156         * complaints.c (vcomplaint): Use std::string.
6157
6158 2017-09-29  Tom Tromey  <tom@tromey.com>
6159
6160         * tracepoint.c (trace_variable_command): Use std::string.
6161         (encode_actions_1): Remove unused declarations.
6162         (create_tsv_from_upload): Use std::string.
6163
6164 2017-09-29  Tom Tromey  <tom@tromey.com>
6165
6166         * cp-support.c (gdb_demangle): Use std::string.
6167
6168 2017-09-29  Tom Tromey  <tom@tromey.com>
6169
6170         * stack.c (parse_frame_specification): Use std::string
6171         (info_frame_command): Use gdb::unique_xmalloc_ptr.
6172
6173 2017-09-29  Tom Tromey  <tom@tromey.com>
6174
6175         * tilegx-tdep.c (tilegx_push_dummy_call): Use gdb::byte_vector.
6176
6177 2017-09-29  Tom Tromey  <tom@tromey.com>
6178
6179         * utils.c (vfprintf_maybe_filtered): Use std::string.
6180         (vfprintf_unfiltered): Likewise.
6181
6182 2017-09-29  Tom Tromey  <tom@tromey.com>
6183
6184         * event-top.c (top_level_prompt): Return std::string.
6185         (display_gdb_prompt): Update.
6186
6187 2017-09-29  Tom Tromey  <tom@tromey.com>
6188
6189         * unittests/common-utils-selftests.c (format): New function.
6190         (string_vprintf_tests): New function.
6191         (_initialize_common_utils_selftests): Register new tests.
6192         * common/common-utils.c (string_vprintf): New function.
6193         * common/common-utils.h (string_vprintf): Declare.
6194
6195 2017-09-29  Pedro Alves  <palves@redhat.com>
6196
6197         * common/rsp-low.c (unpack_varlen_hex): Constify.
6198         * common/rsp-low.h (unpack_varlen_hex): Constify.
6199         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
6200         Constify.
6201         * remote.c (remote_set_permissions, read_ptid)
6202         (remote_current_thread, remote_get_threads_with_qthreadinfo)
6203         (remote_static_tracepoint_marker_at)
6204         (remote_static_tracepoint_markers_by_strid)
6205         (stop_reply_extract_thread, remote_parse_stop_reply): Constify.
6206         * tracepoint.c (parse_trace_status, parse_tracepoint_status)
6207         (parse_tracepoint_definition, parse_tsv_definition)
6208         (parse_static_tracepoint_marker_definition): Constify.
6209         * tracepoint.h (parse_static_tracepoint_marker_definition)
6210         (parse_trace_status, parse_tracepoint_status)
6211         (parse_tracepoint_definition, parse_tsv_definition): Constify.
6212
6213 2017-09-29  Pedro Alves  <palves@redhat.com>
6214
6215         * remote.c (target_buf, target_buf_size): Delete.
6216         (remote_get_noisy_reply): Remove buf_p and sizeof_buf parameters.
6217         Use the connection's packet buffer instead.
6218         All callers adjusted.
6219         (_initialize_remote): Remove references to target_buf and
6220         target_buf_size.
6221
6222 2017-09-28  Pedro Alves  <palves@redhat.com>
6223
6224         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
6225         unittests/common-utils-selftests.c.
6226         (SUBDIR_UNITTESTS_OBS): Add common-utils-selftests.o.
6227         (COMMON_OBS): Remove utils-selftests.o.
6228         * utils-selftests.c: Move to ...
6229         * unittests/common-utils-selftests.c: ... here and rename self
6230         test to "string_printf".
6231
6232 2017-09-28  Alexander Shaposhnikov <alexander.v.shaposhnikov@gmail.com> (tiny patch)
6233
6234         * dwarf2read.c (open_and_init_dwp_file): Protect against dwp_file
6235         having NULL cus or tus.
6236
6237 2017-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
6238
6239         * arm-tdep.c: (convert_from_extended): Remove.
6240         (convert_to_extended): Likewise.
6241         (arm_extract_return_value): Use convert_typed_floating.
6242         (arm_store_return_value): Likewise.
6243
6244         * sh-tdep.h (struct gdbarch_tdep): Add sh_littlebyte_bigword_type.
6245         * sh-tdep.c: Do not include "floatformat.h".
6246         (sh_littlebyte_bigword_type): New function.
6247         (sh_register_convert_to_virtual): Use convert_typed_floating.
6248         (sh_register_convert_to_raw): Likewise.
6249         * sh64-tdep.c: (struct gdbarch_tdep): Add sh_littlebyte_bigword_type.
6250         (sh64_littlebyte_bigword_type): New function.
6251         (sh64_extract_return_value): Use convert_typed_floating.
6252         (sh64_register_convert_to_virtual): Likewise.
6253         (sh64_register_convert_to_raw): Likewise.
6254
6255 2017-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
6256
6257         * doublest.h (floatformat_from_type): Move to gdbtypes.h.
6258         * doublest.c (floatformat_from_type): Move to gdbtypes.c.
6259
6260         * gdbtypes.h (union type_specific): Make field floatformat hold
6261         just a single struct floatformat, not an array.
6262         (floatformat_from_type): Move here.
6263         * gdbtypes.c (floatformat_from_type): Move here.  Update to
6264         changed TYPE_FLOATFORMAT definition.
6265         (verify_floatformat): Update to changed TYPE_FLOATFORMAT.
6266         (recursive_dump_type): Likewise.
6267         (init_float_type): Install correct floatformat for byte order.
6268         (arch_float_type): Likewise.
6269
6270 2017-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
6271
6272         * gdbtypes.c (init_type): Change incoming argument from
6273         length-in-bytes to length-in-bits.  Assert length is a
6274         multiple of TARGET_CHAR_BITS.
6275         (arch_type, arch_flags_type): Likewise.
6276         (init_integer_type): Update call to init_type.
6277         (init_character_type): Likewise.
6278         (init_boolean_type): Likewise.
6279         (init_float_type): Likewise.
6280         (init_decfloat_type): Likewise.
6281         (init_complex_type): Likewise.
6282         (init_pointer_type): Likewise.
6283         (objfile_type): Likewise.
6284         (arch_integer_type): Update call to arch_type.
6285         (arch_character_type): Likewise.
6286         (arch_boolean_type): Likewise.
6287         (arch_float_type): Likewise.
6288         (arch_decfloat_type): Likewise.
6289         (arch_complex_type): Likewise.
6290         (arch_pointer_type): Likewise.
6291         (gdbtypes_post_init): Likewise.
6292
6293         * dwarf2read.c (dwarf2_init_float_type): Update call to init_type.
6294         (read_base_type): Likewise.
6295         * mdebugread.c (basic_type): Likewise.
6296         * stabsread.c (dbx_init_float_type): Likewise.
6297         (rs6000_builtin_type): Likewise.
6298         (read_range_type): Likewise.  Also, fix call to init_integer_type
6299         with erroneous length argument.
6300
6301         * ada-lang.c (ada_language_arch_info): Update call to arch_type.
6302         * d-lang.c (build_d_types): Likewise.
6303         * f-lang.c (build_fortran_types): Likewise.
6304         * go-lang.c (build_go_types): Likewise.
6305         * opencl-lang.c (build_opencl_types): Likewise.
6306         * jit.c (finalize_symtab): Likewise.
6307         * gnu-v3-abi.c (build_gdb_vtable_type): Likewise.
6308         (build_std_type_info_type): Likewise.
6309         * target-descriptions.c (tdesc_gdb_type): Likewise.  Also,
6310         update call to arch_flags_type.
6311
6312         * linux-tdep.c (linux_get_siginfo_type_with_fields): Update call to
6313         arch_type.
6314         * fbsd-tdep.c (fbsd_get_siginfo_type): Likewise.
6315         * windows-tdep.c (windows_get_tlb_type): Likewise.
6316
6317         * avr-tdep.c (avr_gdbarch_init): Update call to arch_type.
6318         * ft32-tdep.c (ft32_gdbarch_init): Likewise.
6319         * m32c-tdep.c (make_types): Likewise.
6320         * rl78-tdep.c (rl78_gdbarch_init): Likewise.
6321         (rl78_psw_type): Update call to arch_flags_type.
6322         * m68k-tdep.c (m68k_ps_type): Update call to arch_flags_type.
6323         * rx-tdep.c (rx_psw_type): Likewise.
6324         (rx_fpsw_type): Likewise.
6325         * sparc-tdep.c (sparc_psr_type): Likewise.
6326         (sparc_fsr_type): Likewise.
6327         * sparc64-tdep.c (sparc64_pstate_type): Likewise.
6328         (sparc64_ccr_type): Likewise.
6329         (sparc64_fsr_type): Likewise.
6330         (sparc64_fprs_type): Likewise.
6331
6332 2017-09-27  Tom Tromey  <tom@tromey.com>
6333
6334         * findcmd.c (find_command): Constify.
6335
6336 2017-09-27  Tom Tromey  <tom@tromey.com>
6337
6338         * ada-tasks.c (task_command_1, task_command): Constify.
6339
6340 2017-09-27  Tom Tromey  <tom@tromey.com>
6341
6342         * symtab.c (maintenance_print_symbol_cache)
6343         (maintenance_flush_symbol_cache)
6344         (maintenance_print_symbol_cache_statistics): Constify.
6345
6346 2017-09-27  Tom Tromey  <tom@tromey.com>
6347
6348         * inferior.c (detach_inferior_command, kill_inferior_command)
6349         (inferior_command): Constify.
6350
6351 2017-09-27  Tom Tromey  <tom@tromey.com>
6352
6353         * regcache.c (regcache_print, maintenance_print_registers)
6354         (maintenance_print_raw_registers)
6355         (maintenance_print_cooked_registers)
6356         (maintenance_print_register_groups)
6357         (maintenance_print_remote_registers): Constify.
6358
6359 2017-09-27  Tom Tromey  <tom@tromey.com>
6360
6361         * printcmd.c (map_display_numbers, undisplay_command)
6362         (enable_disable_display_command, enable_display_command)
6363         (disable_display_command): Constify.
6364
6365 2017-09-27  Tom Tromey  <tom@tromey.com>
6366
6367         * breakpoint.h (delete_command): Don't declare.
6368         * breakpoint.c (delete_command, enable_once_command)
6369         (enable_count_command, enable_delete_command, breakpoint_1)
6370         (maintenance_info_breakpoints, stopin_command, stopat_command)
6371         (delete_command, delete_trace_command, save_breakpoints)
6372         (save_breakpoints_command, save_tracepoints_command): Constify.
6373
6374 2017-09-27  Tom Tromey  <tom@tromey.com>
6375
6376         * macrocmd.c (macro_expand_command, macro_expand_once_command)
6377         (skip_ws, extract_identifier, macro_define_command)
6378         (macro_undef_command, macro_list_command): Constify.
6379
6380 2017-09-27  Tom Tromey  <tom@tromey.com>
6381
6382         * infcmd.c (environment_info, set_environment_command)
6383         (unset_environment_command, path_info, info_proc_cmd_1)
6384         (info_proc_cmd_mappings, info_proc_cmd_stat)
6385         (info_proc_cmd_status, info_proc_cmd_cwd, info_proc_cmd_cmdline)
6386         (info_proc_cmd_exe, info_proc_cmd_all): Constify.
6387
6388 2017-09-27  Tom Tromey  <tom@tromey.com>
6389
6390         * i386-tdep.c (i386_mpx_info_bounds, i386_mpx_set_bounds):
6391         Constify.
6392
6393 2017-09-27  Tom Tromey  <tom@tromey.com>
6394
6395         * symfile-mem.c (add_symbol_file_from_memory_command): Constify.
6396
6397 2017-09-27  Tom Tromey  <tom@tromey.com>
6398
6399         * demangle.c (demangle_command): Constify.
6400
6401 2017-09-27  Tom Tromey  <tom@tromey.com>
6402
6403         * progspace.c (maintenance_info_program_spaces_command):
6404         Constify.
6405
6406 2017-09-27  Tom Tromey  <tom@tromey.com>
6407
6408         * compile/compile.c (check_raw_argument, compile_file_command)
6409         (compile_code_command, compile_print_command): Constify.
6410
6411 2017-09-27  Tom Tromey  <tom@tromey.com>
6412
6413         * reggroups.c (maintenance_print_reggroups): Constify.
6414
6415 2017-09-27  Tom Tromey  <tom@tromey.com>
6416
6417         * dwarf2read.c (save_gdb_index_command): Constify.
6418
6419 2017-09-27  Tom Tromey  <tom@tromey.com>
6420
6421         * stap-probe.c (info_probes_stap_command): Constify.
6422
6423 2017-09-27  Tom Tromey  <tom@tromey.com>
6424
6425         * fork-child.c (unset_exec_wrapper_command): Constify.
6426
6427 2017-09-27  Tom Tromey  <tom@tromey.com>
6428
6429         * btrace.c (get_uint, get_context_size, no_chunk)
6430         (maint_btrace_packet_history_cmd)
6431         (maint_btrace_clear_packet_history_cmd, maint_btrace_clear_cmd)
6432         (maint_info_btrace_cmd): Constify.
6433
6434 2017-09-27  Tom Tromey  <tom@tromey.com>
6435
6436         * reverse.c (delete_bookmark_command): Constify.
6437
6438 2017-09-27  Tom Tromey  <tom@tromey.com>
6439
6440         * remote.c (set_memory_packet_size)
6441         (set_memory_write_packet_size, show_memory_write_packet_size)
6442         (set_memory_read_packet_size, show_memory_read_packet_size)
6443         (compare_sections_command, packet_command, remote_put_command)
6444         (remote_get_command, remote_delete_command): Constify.
6445
6446 2017-09-27  Tom Tromey  <tom@tromey.com>
6447
6448         * mips-tdep.c (show_mipsfpu_command, set_mipsfpu_single_command)
6449         (set_mipsfpu_double_command, set_mipsfpu_none_command)
6450         (set_mipsfpu_auto_command): Constify.
6451
6452 2017-09-27  Tom Tromey  <tom@tromey.com>
6453
6454         * cli/cli-cmds.h (cd_command): Constify.
6455         * cli/cli-cmds.c (cd_command): Constify.
6456
6457 2017-09-27  Tom Tromey  <tom@tromey.com>
6458
6459         * thread.c (thread_name_command, thread_find_command): Constify.
6460
6461 2017-09-27  Tom Tromey  <tom@tromey.com>
6462
6463         * probe.c (enable_probes_command, disable_probes_command):
6464         Constify.
6465
6466 2017-09-27  Tom Tromey  <tom@tromey.com>
6467
6468         * symfile.c (symbol_file_command): Constify.
6469         * gdbcore.h (deprecated_file_changed_hook): Constify.
6470         * exec.c (deprecated_file_changed_hook, exec_file_command)
6471         (file_command): Constify.
6472         * defs.h (symbol_file_command): Constify.
6473
6474 2017-09-27  Tom Tromey  <tom@tromey.com>
6475
6476         * remote-fileio.c (set_system_call_allowed)
6477         (show_system_call_allowed): Constify.
6478
6479 2017-09-27  Tom Tromey  <tom@tromey.com>
6480
6481         * tracepoint.c (delete_trace_variable_command)
6482         (tfind_end_command, tfind_start_command, tfind_pc_command)
6483         (tfind_tracepoint_command, tfind_line_command)
6484         (tfind_range_command, tfind_outside_command): Constify.
6485
6486 2017-09-27  Tom Tromey  <tom@tromey.com>
6487
6488         * ax-gdb.c (maint_agent_printf_command, agent_command)
6489         (agent_eval_command): Constify.
6490
6491 2017-09-27  Tom Tromey  <tom@tromey.com>
6492
6493         * tracepoint.c (info_scope_command): Constify.
6494         * python/python.c (gdbpy_decode_line): Constify.
6495         * python/py-breakpoint.c (bppy_init): Constify.
6496         * mi/mi-cmd-break.c (mi_cmd_break_insert_1): Constify.
6497         * location.h: (new_linespec_location)
6498         (string_to_event_location_basic, string_to_event_location):
6499         Constify.
6500         * location.c (new_linespec_location)
6501         (string_to_event_location_basic, string_to_event_location):
6502         Constify.
6503         * linespec.h (decode_line_with_current_source)
6504         (decode_line_with_last_displayed, linespec_lex_to_end): Constify.
6505         * linespec.c (linespec_lex_to_end)
6506         (decode_line_with_current_source)
6507         (decode_line_with_last_displayed): Constify.
6508         * guile/scm-breakpoint.c (gdbscm_register_breakpoint_x):
6509         Constify.
6510         * cli/cli-cmds.c (edit_command, list_command): Constify.
6511         * breakpoint.h (until_break_command, watch_command_wrapper)
6512         (awatch_command_wrapper, rwatch_command_wrapper)
6513         (init_ada_exception_breakpoint): Constify.
6514         * breakpoint.c (break_command_1, dprintf_command)
6515         (break_range_command, watch_command_wrapper)
6516         (rwatch_command_wrapper, awatch_command_wrapper)
6517         (until_break_command, init_ada_exception_breakpoint)
6518         (strace_marker_create_sals_from_location, trace_command)
6519         (ftrace_command, strace_command, struct tracepoint): Constify.
6520         * ax-gdb.c (agent_command_1): Constify.
6521         * ada-lang.c (ada_exception_sal): Constify.
6522
6523 2017-09-27  Tom Tromey  <tom@tromey.com>
6524
6525         * record.c (cmd_record_delete, cmd_record_stop, cmd_record_save)
6526         (cmd_record_goto_begin, cmd_record_goto_end, get_insn_number)
6527         (get_context_size, no_chunk, get_insn_history_modifiers)
6528         (cmd_record_insn_history, get_call_history_modifiers)
6529         (cmd_record_call_history): Constify.
6530
6531 2017-09-27  Tom Tromey  <tom@tromey.com>
6532
6533         * source.c (show_substitute_path_command)
6534         (unset_substitute_path_command, set_substitute_path_command):
6535         Constify.
6536
6537 2017-09-27  Tom Tromey  <tom@tromey.com>
6538
6539         * typeprint.c (maintenance_print_type): Constify.
6540         * maint.c (maintenance_dump_me, maintenance_demangle)
6541         (maintenance_time_display, maintenance_info_sections)
6542         (maintenance_print_statistics, maintenance_deprecate)
6543         (maintenance_undeprecate): Constify.
6544         (maintenance_do_deprecate): Constify.  Use std::string.
6545         (maintenance_selftest): Constify.
6546         * gdbtypes.h (maintenance_print_type): Constify.
6547
6548 2017-09-27  Tom Tromey  <tom@tromey.com>
6549
6550         * hppa-tdep.c (unwind_command): Constify.
6551
6552 2017-09-27  Tom Tromey  <tom@tromey.com>
6553
6554         * target-descriptions.c (unset_tdesc_filename_cmd)
6555         (maint_print_c_tdesc_cmd, maintenance_check_xml_descriptions):
6556         Constify.
6557
6558 2017-09-27  Tom Tromey  <tom@tromey.com>
6559
6560         * dummy-frame.c (maintenance_print_dummy_frames): Constify.
6561
6562 2017-09-27  Tom Tromey  <tom@tromey.com>
6563
6564         * tui/tui.c (tui_enable_command, tui_disable_command): Constify.
6565
6566 2017-09-27  Tom Tromey  <tom@tromey.com>
6567
6568         * tui/tui-regs.c (tui_reg_command): Constify.
6569
6570 2017-09-27  Tom Tromey  <tom@tromey.com>
6571
6572         * skip.c (skip_file_command, skip_function_command)
6573         (skip_enable_command, skip_disable_command, skip_delete_command):
6574         Constify.
6575
6576 2017-09-27  Tom Tromey  <tom@tromey.com>
6577
6578         * record-btrace.c (cmd_record_btrace_bts_start)
6579         (cmd_record_btrace_pt_start): Constify.
6580
6581 2017-09-27  Tom Tromey  <tom@tromey.com>
6582
6583         * symmisc.c (maintenance_print_symbols)
6584         (maintenance_print_msymbols, maintenance_print_objfiles)
6585         (maintenance_info_symtabs, maintenance_check_symtabs)
6586         (maintenance_expand_symtabs, maintenance_info_line_tables):
6587         Constify.
6588
6589 2017-09-27  Tom Tromey  <tom@tromey.com>
6590
6591         * top.c (new_ui_command): Constify.
6592
6593 2017-09-27  Tom Tromey  <tom@tromey.com>
6594
6595         * symfile.c (add_symbol_file_command)
6596         (remove_symbol_file_command, list_overlays_command)
6597         (map_overlay_command, unmap_overlay_command)
6598         (overlay_auto_command, overlay_manual_command)
6599         (overlay_off_command, overlay_load_command): Constify.
6600
6601 2017-09-27  Tom Tromey  <tom@tromey.com>
6602
6603         * spu-tdep.c (info_spu_event_command, info_spu_signal_command)
6604         (info_spu_mailbox_command, info_spu_dma_command)
6605         (info_spu_proxydma_command): Constify.
6606
6607 2017-09-27  Tom Tromey  <tom@tromey.com>
6608
6609         * cli/cli-logging.c (set_logging_on, set_logging_off): Constify.
6610
6611 2017-09-27  Tom Tromey  <tom@tromey.com>
6612
6613         * cli/cli-script.c (user_defined_command): Constify.
6614
6615 2017-09-27  Tom Tromey  <tom@tromey.com>
6616
6617         * cli/cli-dump.c (dump_memory_command, dump_value_command)
6618         (dump_srec_memory, dump_srec_value, dump_ihex_memory)
6619         (dump_ihex_value, dump_verilog_memory, dump_verilog_value)
6620         (dump_tekhex_memory, dump_tekhex_value, dump_binary_memory)
6621         (dump_binary_value, append_binary_memory, append_binary_value):
6622         Constify.
6623         (struct dump_context) <func>: Constify.
6624         (add_dump_command): Update.
6625
6626 2017-09-27  Tom Tromey  <tom@tromey.com>
6627
6628         * cli/cli-cmds.c (show_version, show_configuration)
6629         (source_command, show_user): Constify.
6630
6631 2017-09-27  Tom Tromey  <tom@tromey.com>
6632
6633         * target.c (maintenance_print_target_stack): Constify.
6634
6635 2017-09-27  Tom Tromey  <tom@tromey.com>
6636
6637         * interps.c (interpreter_exec_cmd): Constify.
6638
6639 2017-09-27  Tom Tromey  <tom@tromey.com>
6640
6641         * record-full.c (cmd_record_full_restore): Constify.
6642
6643 2017-09-27  Tom Tromey  <tom@tromey.com>
6644
6645         * memattr.c (enable_mem_command, disable_mem_command)
6646         (delete_mem_command): Constify.
6647
6648 2017-09-27  Tom Tromey  <tom@tromey.com>
6649
6650         * value.c (show_convenience): Constify.
6651
6652 2017-09-27  Tom Tromey  <tom@tromey.com>
6653
6654         * gdbcore.h (core_file_command): Update.
6655         * corefile.c (core_file_command): Constify.
6656
6657 2017-09-27  Tom Tromey  <tom@tromey.com>
6658
6659         * user-regs.c (maintenance_print_user_registers): Constify.
6660
6661 2017-09-27  Tom Tromey  <tom@tromey.com>
6662
6663         * cp-namespace.c (maintenance_cplus_namespace): Constify.
6664
6665 2017-09-27  Tom Tromey  <tom@tromey.com>
6666
6667         * cp-support.c (first_component_command): Constify.
6668
6669 2017-09-27  Tom Tromey  <tom@tromey.com>
6670
6671         * psymtab.c (maintenance_print_psymbols)
6672         (maintenance_info_psymtabs, maintenance_check_psymtabs):
6673         Constify.
6674
6675 2017-09-27  Tom Tromey  <tom@tromey.com>
6676
6677         * windows-tdep.c (display_tib): Constify.
6678
6679 2017-09-27  Tom Tromey  <tom@tromey.com>
6680
6681         * linux-fork.c (delete_checkpoint_command)
6682         (detach_checkpoint_command): Constify.
6683
6684 2017-09-27  Tom Tromey  <tom@tromey.com>
6685
6686         * cp-abi.c (set_cp_abi_cmd, show_cp_abi_cmd): Constify.
6687
6688 2017-09-27  Tom Tromey  <tom@tromey.com>
6689
6690         * arc-tdep.c (dump_arc_instruction_command): Constify.
6691
6692 2017-09-27  Tom Tromey  <tom@tromey.com>
6693
6694         * valprint.c (set_radix, show_radix): Constify.
6695
6696 2017-09-27  Tom Tromey  <tom@tromey.com>
6697
6698         * dtrace-probe.c (info_probes_dtrace_command): Constify.
6699
6700 2017-09-27  Tom Tromey  <tom@tromey.com>
6701
6702         * command.h (not_just_help_class_command): Update.
6703         * cli/cli-decode.h (not_just_help_class_command): Update.
6704         * cli/cli-decode.c (not_just_help_class_command): Constify.
6705
6706 2017-09-27  Tom Tromey  <tom@tromey.com>
6707
6708         * gdb_bfd.c (maintenance_info_bfds): Constify.
6709
6710 2017-09-27  Tom Tromey  <tom@tromey.com>
6711
6712         * cli/cli-decode.c (add_cmd, set_cmd_cfunc): New function
6713         overloads.
6714         (do_add_cmd): Rename from add_cmd.  Don't call set_cmd_cfunc.
6715         (do_const_cfunc): New function.
6716         (cmd_cfunc_eq): New overload.
6717         (cli_user_command_p): Check do_const_cfunc.
6718         * cli/cli-decode.h (struct cmd_list_element) <function>: New field
6719         const_cfunc.
6720         * command.h (add_cmd): Add const overload and no-function
6721         overload.
6722         (set_cmd_cfunc): Add const overload.
6723         (cmd_const_cfunc_ftype): Declare.
6724         (cmd_cfunc_eq): Add const overload.
6725         * breakpoint.c, cli-cmds.c, cli-dump.c, guile/scm-cmd.c,
6726         python/py-cmd.c, target.c, tracepoint.c: Use no-function add_cmd
6727         overload.
6728
6729 2017-09-27  Tom Tromey  <tom@tromey.com>
6730
6731         * macroexp.c (get_next_token_for_substitution): New function.
6732         (substitute_args): Call it.  Check for __VA_OPT__.
6733
6734 2017-09-26  Walfred Tedeschi  <walfred.tedeschi@intel.com>
6735             Pedro Alves <palves@redhat.com>
6736
6737         * dwarf2read.c (dwarf2_cu): Remove field producer_is_icc and add
6738         producer_is_icc_lt_14.
6739         (producer_is_icc_lt_14): New function.
6740         (check_producer): Add code for checking version of ICC.
6741         (producer_is_icc): Move to producer.c.
6742         (read_structure_type): Restrict ICC workaround to ICC<14.
6743         * producer.c: Include selftest.h.
6744         (producer_is_icc, producer_parsing_tests, _initialize_producer):
6745         New functions.
6746         * producer.h (producer_is_icc): New declaration.
6747
6748 2017-09-26  Walfred Tedeschi  <walfred.tedeschi@intel.com>
6749
6750         * Makefile.in (SFILES): Add producer.c.
6751         (COMMON_OBS): Add producer.o
6752         * amd64-tdep.c (producer.h): Add new include.
6753         * dwarf2read.c (producer.h): Add new include.
6754         * producer.c: New file.
6755         * producer.h: New file.
6756         * utils.c (producer_is_gcc, producer_is_gcc_ge_4): Move to
6757         producer.c.
6758         * utils.h (producer_is_gcc, producer_is_gcc_ge_4): Move to
6759         producer.h.
6760
6761 2017-09-26  Matthias Klose  <doko@ubuntu.com>
6762
6763         * configure.ac: Search ncursesw before ncurses.
6764         Check ncursesw/ncurses.h before ncurses/ncurses.h.
6765         * gdb_curses.h: Include <ncursesw/ncurses.h>
6766         * config.in, configure: Regenerate.
6767
6768 2017-09-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6769
6770         PR gdb/22185
6771         * configure.host <*-*-solaris2.[01], *-*-solaris2.[2-9]*>: Mark as
6772         obsolete.
6773         Use gdb_host sol2 for i[34567]86-*-solaris2*, x86_64-*-solaris2*.
6774         Remove i386sol2 support.
6775         * configure.nat <i386sol2>: Remove.
6776         <sol2-64>: Fold into ...
6777         <sol2>: ... this.
6778         Move common settings to default section.
6779         Add sol-thread.o.
6780         * configure.tgt <i[34567]86-*-solaris2.1[0-9]*,
6781         x86_64-*-solaris2.1[0-9]*>: Rename to ...
6782         <i[34567]86-*-solaris2*, x86_64-*-solaris2*>: ... this.
6783         <i[34567]86-*-solaris*>: Remove.
6784         <sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*>: Remove.
6785
6786         * configure.ac: Remove wctype in libw check.
6787         (_MSE_INT_H): Don't define on Solaris 7-9.
6788         <solaris*>: Remove libthread_db.so.1 check.
6789         * configure: Regenerate.
6790         * config.in: Regenerate.
6791
6792         * proc-service.c: Remove PROC_SERVICE_IS_OLD handling.
6793         (gdb_ps_prochandle_t, gdb_ps_read_buf_t, gdb_ps_write_buf_t)
6794         (gdb_ps_size_t): Remove.
6795         Use base types in users.
6796         * sol-thread.c: Likewise, also for gdb_ps_addr_t.
6797
6798         * NEWS (Changes since GDB 8.0): Document Solaris 2.0-9 removal.
6799
6800 2017-09-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6801
6802         PR build/22206
6803         * sparc64-tdep.c (adi_tag_fd): Print pid as long.
6804         (adi_is_addr_mapped): Likewise.
6805         (PSR_ICC): Don't redefine.
6806         (PSR_IMPL): Likewise.
6807
6808 2017-09-25  Tom Tromey  <tom@tromey.com>
6809
6810         * regcache.c (regcache::dump): Use string_printf.
6811
6812 2017-09-25  Tom Tromey  <tom@tromey.com>
6813
6814         * regcache.c (class regcache_invalidator): New.
6815         (struct register_to_invalidate): Remove.
6816         (make_cleanup_regcache_invalidate): Remove.
6817         (regcache::raw_write): Use regcache_invalidator.
6818
6819 2017-09-25  Tom Tromey  <tom@tromey.com>
6820
6821         * spu-tdep.c (spu2ppu_sniffer): Update.
6822         * regcache.h (make_cleanup_regcache_xfree): Don't declare.
6823         * regcache.c (do_regcache_xfree, make_cleanup_regcache_xfree):
6824         Remove.
6825         * ppc-linux-tdep.c (ppu2spu_sniffer): Update.
6826         * mi/mi-main.c (mi_cmd_data_list_changed_registers): Update.
6827         * frame.h (frame_save_as_regcache): Return std::unique_ptr.
6828         * frame.c (frame_save_as_regcache): Return std::unique_ptr.
6829         (frame_pop): Update.
6830
6831 2017-09-25  Tom Tromey  <tom@tromey.com>
6832
6833         * spu-tdep.c (spu2ppu_dealloc_cache): Use delete.
6834         * regcache.h (regcache_xfree): Don't declare.
6835         * regcache.c (regcache_xfree): Remove.
6836         (do_regcache_xfree): Use delete.
6837         * ppc-linux-tdep.c (ppu2spu_dealloc_cache): Use delete.
6838         * linux-fork.c (free_fork): Use delete.
6839         (fork_save_infrun_state): Likewise.
6840         * jit.c (jit_dealloc_cache): Use delete.
6841         * infrun.c (discard_infcall_suspend_state): Use delete.
6842
6843 2017-09-25  Tom Tromey  <tom@tromey.com>
6844
6845         * regcache.h (regcache_xmalloc): Don't declare.
6846         (regcache_raw_set_cached_value): Update comment.
6847         * regcache.c (regcache_xmalloc): Remove.
6848         * ppc-linux-tdep.c (ppu2spu_sniffer): Use new.
6849         * jit.c (jit_frame_sniffer): Use new.
6850         * frame.c (frame_save_as_regcache): Use new.
6851
6852 2017-09-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6853
6854         * NEWS: Advertise support for guarded-storage registers on IBM z.
6855
6856 2017-09-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6857
6858         * s390-linux-nat.c (have_regset_gs): New static variable.
6859         (s390_linux_fetch_inferior_registers): Handle guarded-storage
6860         control block and guarded-storage broadcast control regsets.
6861         (s390_read_description): Detect whether the target has
6862         guarded-storage support, return appropriate tdesc.
6863         * s390-linux-tdep.c (features/s390-gs-linux64.c): New include.
6864         (features/s390x-gs-linux64.c): Likewise.
6865         (struct gdbarch_tdep) <have_gs>: New field.
6866         (s390_regmap_gs, s390_regmap_gsbc, s390_gs_regset)
6867         (s390_gsbc_regset): New variables.
6868         (s390_iterate_over_regset_sections): Iterate over s390_gs_regset
6869         and s390_gsbc_regset, if applicable.
6870         (s390_core_read_description): Check whether core file was from a
6871         target with guarded-storage support; include appropriate regsets.
6872         (s390_gdbarch_init): Add registers for guarded-storage support.
6873         (_initialize_s390_tdep): Initialize new target descriptions that
6874         include registers for guarded-storage support.
6875         * s390-linux-tdep.h (HWCAP_S390_GS, S390_GSD_REGNUM)
6876         (S390_GSSM_REGNUM, S390_GSEPLA_REGNUM)
6877         (S390_BC_GSD_REGNUM, S390_BC_GSSM_REGNUM): New defines.
6878         (S390_NUM_REGS): Adjust macro definition.
6879         (s390_gs_regset, s390_gsbc_regset, tdesc_s390_gs_linux64)
6880         (tdesc_s390x_gs_linux64): New declarations.
6881
6882 2017-09-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6883
6884         * features/s390-gs-linux64.xml: New file.
6885         * features/s390-gs.xml: New file.
6886         * features/s390-gsbc.xml: New file.
6887         * features/s390x-gs-linux64.xml: New file.
6888         * features/Makefile (WHICH): Add s390-gs-linux64 and
6889         s390x-gs-linux64.
6890         (s390-gs-linux64-expedite, s390x-gs-linux64-expedite): New macros.
6891         (XMLTOC): Add s390-gs-linux64.xml and s390x-linux64.xml.
6892         * features/s390-gs-linux64.c: New generated file.
6893         * features/s390x-gs-linux64.c: New file.
6894         * regformats/s390-gs-linux64.dat: New file.
6895         * regformats/s390x-gs-linux64.dat: New file.
6896
6897 2017-09-23  Tom Tromey  <tom@tromey.com>
6898
6899         * defs.h (make_cleanup_override_quit_handler): Don't declare.
6900
6901 2017-09-22  Tom Tromey  <tom@tromey.com>
6902
6903         * utils.c (class scoped_input_handler) <m_quit_handler>: Change
6904         type to scoped_restore_tmpl.
6905         <scoped_input_handler>: Initialize m_quit_handler directly.
6906
6907 2017-09-22  Sergio Durigan Junior  <sergiodj@redhat.com>
6908
6909         * cli/cli-cmds.c (pwd_command): Use "getcwd (NULL, 0)".
6910         (cd_command): Likewise.  Free "current_directory" before
6911         assigning to it.
6912         * main.c (captured_main_1): Use "getcwd (NULL, 0)".
6913         * mi/mi-cmd-env.c (mi_cmd_env_pwd): Likewise.
6914         * top.c (gdb_dirbuf): Remove global declaration.
6915         * top.h (gdb_dirbuf): Likewise.
6916
6917 2017-09-22  Sergio Durigan Junior  <sergiodj@redhat.com>
6918
6919         * gnulib/aclocal.m4: Regenerate.
6920         * gnulib/config.in: Regenerate.
6921         * gnulib/configure: Regenerate.
6922         * gnulib/import/Makefile.am: Regenerate.
6923         * gnulib/import/Makefile.in: Regenerate.
6924         * gnulib/import/assure.h: New file.
6925         * gnulib/import/at-func.c: Likewise
6926         * gnulib/import/chdir-long.c: New file.
6927         * gnulib/import/chdir-long.h: New file.
6928         * gnulib/import/cloexec.c: New file.
6929         * gnulib/import/cloexec.h: New file.
6930         * gnulib/import/close.c: New file.
6931         * gnulib/import/closedir.c: New file.
6932         * gnulib/import/dirent-private.h: New file.
6933         * gnulib/import/dup-safer.c: New file.
6934         * gnulib/import/dup.c: New file.
6935         * gnulib/import/dup2.c: New file.
6936         * gnulib/import/error.c: New file.
6937         * gnulib/import/error.h: New file.
6938         * gnulib/import/exitfail.c: New file.
6939         * gnulib/import/exitfail.h: New file.
6940         * gnulib/import/fchdir.c: New file.
6941         * gnulib/import/fcntl.c: New file.
6942         * gnulib/import/fcntl.in.h: New file.
6943         * gnulib/import/fd-hook.c: New file.
6944         * gnulib/import/fd-hook.h: New file.
6945         * gnulib/import/fd-safer.c: New file.
6946         * gnulib/import/fdopendir.c: New file.
6947         * gnulib/import/filename.h: New file.
6948         * gnulib/import/filenamecat-lgpl.c: New file.
6949         * gnulib/import/filenamecat.h: New file.
6950         * gnulib/import/fstat.c: New file.
6951         * gnulib/import/fstatat.c: New file.
6952         * gnulib/import/getcwd-lgpl.c: New file.
6953         * gnulib/import/getcwd.c: New file.
6954         * gnulib/import/getdtablesize.c: New file.
6955         * gnulib/import/getlogin_r.c: New file.
6956         * gnulib/import/getprogname.c: New file.
6957         * gnulib/import/getprogname.h: New file.
6958         * gnulib/import/gettext.h: New file.
6959         * gnulib/import/glob-libc.h: New file.
6960         * gnulib/import/glob.c: New file.
6961         * gnulib/import/glob.in.h: New file.
6962         * gnulib/import/intprops.h: New file.
6963         * gnulib/import/m4/chdir-long.m4: New file.
6964         * gnulib/import/m4/close.m4: New file.
6965         * gnulib/import/m4/closedir.m4: New file.
6966         * gnulib/import/m4/d-ino.m4: New file.
6967         * gnulib/import/m4/d-type.m4: New file.
6968         * gnulib/import/m4/dup.m4: New file.
6969         * gnulib/import/m4/dup2.m4: New file.
6970         * gnulib/import/m4/error.m4: New file.
6971         * gnulib/import/m4/fchdir.m4: New file.
6972         * gnulib/import/m4/fcntl.m4: New file.
6973         * gnulib/import/m4/fcntl_h.m4: New file.
6974         * gnulib/import/m4/fdopendir.m4: New file.
6975         * gnulib/import/m4/filenamecat.m4: New file.
6976         * gnulib/import/m4/fstat.m4: New file.
6977         * gnulib/import/m4/fstatat.m4: New file.
6978         * gnulib/import/m4/getcwd-abort-bug.m4: New file.
6979         * gnulib/import/m4/getcwd-path-max.m4: New file.
6980         * gnulib/import/m4/getcwd.m4: New file.
6981         * gnulib/import/m4/getdtablesize.m4: New file.
6982         * gnulib/import/m4/getlogin_r.m4: New file.
6983         * gnulib/import/m4/getprogname.m4: New file.
6984         * gnulib/import/m4/glob.m4: New file.
6985         * gnulib/import/m4/gnulib-cache.m4: Regenerate.
6986         * gnulib/import/m4/gnulib-comp.m4: Regenerate.
6987         * gnulib/import/m4/mempcpy.m4: New file.
6988         * gnulib/import/m4/memrchr.m4: New file.
6989         * gnulib/import/m4/mode_t.m4: New file.
6990         * gnulib/import/m4/msvc-inval.m4: New file.
6991         * gnulib/import/m4/msvc-nothrow.m4: New file.
6992         * gnulib/import/m4/open.m4: New file.
6993         * gnulib/import/m4/openat.m4: New file.
6994         * gnulib/import/m4/opendir.m4: New file.
6995         * gnulib/import/m4/readdir.m4: New file.
6996         * gnulib/import/m4/realloc.m4: New file.
6997         * gnulib/import/m4/rewinddir.m4: New file.
6998         * gnulib/import/m4/save-cwd.m4: New file.
6999         * gnulib/import/m4/strdup.m4: New file.
7000         * gnulib/import/m4/strerror.m4: New file.
7001         * gnulib/import/m4/unistd-safer.m4: New file.
7002         * gnulib/import/mempcpy.c: New file.
7003         * gnulib/import/memrchr.c: New file.
7004         * gnulib/import/msvc-inval.c: New file.
7005         * gnulib/import/msvc-inval.h: New file.
7006         * gnulib/import/msvc-nothrow.c: New file.
7007         * gnulib/import/msvc-nothrow.h: New file.
7008         * gnulib/import/open.c: New file.
7009         * gnulib/import/openat-die.c: New file.
7010         * gnulib/import/openat-priv.h: New file.
7011         * gnulib/import/openat-proc.c: New file.
7012         * gnulib/import/openat.c: New file.
7013         * gnulib/import/openat.h: New file.
7014         * gnulib/import/opendir.c: New file.
7015         * gnulib/import/pipe-safer.c: New file.
7016         * gnulib/import/readdir.c: New file.
7017         * gnulib/import/realloc.c: New file.
7018         * gnulib/import/rewinddir.c: New file.
7019         * gnulib/import/save-cwd.c: New file.
7020         * gnulib/import/save-cwd.h: New file.
7021         * gnulib/import/strdup.c: New file.
7022         * gnulib/import/strerror-override.c: New file.
7023         * gnulib/import/strerror-override.h: New file.
7024         * gnulib/import/strerror.c: New file.
7025         * gnulib/import/unistd--.h: New file.
7026         * gnulib/import/unistd-safer.h: New file.
7027         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add
7028         "getcwd" and "glob".
7029         * ser-tcp.c: Undefine "close" before redefining it.
7030
7031 2017-09-21  Simon Marchi  <simon.marchi@ericsson.com>
7032
7033         * guile/scm-value.c (gdbscm_value_address): Initialize address,
7034         get rid of res_val.
7035
7036 2017-09-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7037
7038         * configure.nat <i386sol2,i386>: Add fork-inferior.o to NATDEPFILES.
7039         <sol2,sparc>: Likewise.
7040         <sol2-64,i386>: Likewise.
7041
7042         * warning.m4 (AM_GDB_WARNINGS): Disable -Wunknown-pragmas,
7043         -Wdeprecated-declarations on *-*-solaris*.
7044         * configure: Regenerate.
7045
7046         * procfs.c: Include "nat/inferior.h".
7047         (procfs_info_proc): Fix typo.
7048
7049 2017-09-21  Kevin Buettner  <kevinb@redhat.com>
7050
7051         * remote.c (vector): Include.
7052         (struct private_thread_info): Add field, thread_handle.
7053         (free_private_thread_info): Deallocate storage associated with
7054         thread handle.
7055         (get_private_info_thread): Initialize `thread_handle' field.
7056         (struct thread_item): Add field, thread_handle.
7057         (clear_threads_listing_context): Deallocate storage associated
7058         with thread handle.
7059         (start_thread): Add support for "handle" attribute.
7060         (thread_attributes): Add "handle".
7061         (remote_get_threads_with_qthreadinfo): Initialize thread_handle
7062         field.
7063         (remote_update_thread_list): Update thread_handle.
7064         (remote_thread_handle_to_thread_info): New function.
7065         (init_remote_ops): Initialize to_thread_handle_to_thread_info.
7066
7067 2017-09-21  Kevin Buettner  <kevinb@redhat.com>
7068
7069         * python/py-inferior.c (gdbpy_thread_from_thread_handle): New
7070         function.
7071         (inferior_object_methods): Add gdbpy_thread_from_thread_handle.
7072         * python/python-internal.h (thread_object_type): Declare.
7073
7074 2017-09-21  Kevin Buettner  <kevinb@redhat.com>
7075
7076         * target.h (struct target_ops): Add to_thread_handle_to_thread_info.
7077         (target_thread_handle_to_thread_info): Declare.
7078         * target.c (target_thread_handle_to_thread_info): New function.
7079         * target-delegates.c: Regenerate.
7080         * gdbthread.h (find_thread_by_handle): Declare.
7081         * thread.c (find_thread_by_handle): New function.
7082         * linux-thread-db.c (thread_db_thread_handle_to_thread_info): New
7083         function.
7084         (init_thread_db_ops): Register thread_db_thread_handle_to_thread_info.
7085
7086 2017-09-21  Simon Marchi  <simon.marchi@ericsson.com>
7087
7088         * nat/linux-waitpid.c (linux_debug): Add ATTRIBUTE_PRINTF.
7089
7090 2017-09-21  Simon Marchi  <simon.marchi@ericsson.com>
7091
7092         * microblaze-tdep.c (microblaze_debug): Add ATTRIBUTE_PRINTF.
7093
7094 2017-09-21  Yao Qi  <yao.qi@linaro.org>
7095
7096         * configure.tgt (aarch64*-*-freebsd*): Add fbsd-tdep.o solib-svr4.o
7097         to gdb_target_obs.
7098
7099 2017-09-20  Tom Tromey  <tom@tromey.com>
7100
7101         * breakpoint.c (struct counted_command_line): Remove.
7102         (breakpoint_commands): Update.
7103         (alloc_counted_command_line, incref_counted_command_line)
7104         (decref_counted_command_line, do_cleanup_counted_command_line)
7105         (make_cleanup_decref_counted_command_line): Remove.
7106         (breakpoint_set_commands, commands_command_1, ~bpstats, bpstats)
7107         (bpstat_clear_actions, bpstat_do_actions_1, watchpoint_check)
7108         (bpstat_stop_status, print_one_breakpoint_location, ~breakpoint)
7109         (save_breakpoints): Update.
7110         * breakpoint.h (counted_command_line): Now a typedef to
7111         shared_ptr.
7112         (struct breakpoint) <commands>: Now a counted_command_line.
7113         (struct bpstats) <command>: Likewise.
7114
7115 2017-09-20  Tom Tromey  <tom@tromey.com>
7116
7117         * breakpoint.c (struct commands_info, do_map_commands_command):
7118         Remove.
7119         (commands_command_1): Update.
7120         (iterate_over_related_breakpoints): Take a function_view.
7121         (do_delete_breakpoint, do_map_delete_breakpoint): Remove.
7122         (delete_command): Update.
7123         (map_breakpoint_numbers): Take a function_view.
7124         (do_disable_breakpoint, do_map_delete_breakpoint): Remove.
7125         (disable_command): Update.
7126         (do_enable_breakpoint, do_map_enable_breakpoint): Remove.
7127         (enable_command): Update.
7128         (struct disp_data, do_enable_breakpoint_disp)
7129         (do_map_enable_once_breakpoint, do_map_enable_count_breakpoint)
7130         (do_map_enable_delete_breakpoint): Remove.
7131         (enable_once_command, enable_count_command, enable_delete_command)
7132         (delete_trace_variable_command): Update.
7133
7134 2017-09-20  Tom Tromey  <tom@tromey.com>
7135
7136         * breakpoint.c (~bpstats): Rename from bpstat_free.  Update.
7137         (bpstat_clear): Use delete.
7138         (bpstats): New constructors.
7139         (bpstat_copy, bpstat_stop_status): Use new.
7140         (dprintf_after_condition_true): Update.
7141         * breakpoint.h (bpstats::bpstats): Add constructors.
7142         (bpstats::~bpstats): Add destructor.
7143
7144 2017-09-20  Pedro Alves  <palves@redhat.com>
7145
7146         * eval.c (make_params): Delete, refactored as ...
7147         (class fake_method): ... this new type's ctor.
7148         (fake_method::~fake_method): New.
7149         (evaluate_subexp_standard): Use 'fake_method'.
7150
7151 2017-09-20  Tom Tromey  <tom@tromey.com>
7152
7153         * windows-nat.c (get_windows_debug_event, windows_wait)
7154         (do_initial_windows_stuff, windows_attach): Update.
7155         * utils.c (vwarning, internal_vproblem): Update.
7156         (ui_unregister_input_event_handler_cleanup)
7157         (prepare_to_handle_input): Remove.
7158         (class scoped_input_handler): New.
7159         (defaulted_query, prompt_for_continue): Update.
7160         * tui/tui-hooks.c (tui_refresh_frame_and_register_information):
7161         Update.
7162         * top.c (undo_terminal_modifications_before_exit): Update.
7163         * target/target.h (target_terminal_init, target_terminal_inferior)
7164         (target_terminal_ours): Don't declare.
7165         (class target_terminal): New.
7166         * target.h (target_terminal_is_inferior, target_terminal_is_ours)
7167         (target_terminal_ours_for_output)
7168         (make_cleanup_restore_target_terminal): Don't declare.
7169         (target_terminal_info): Remove.
7170         * target.c (enum terminal_state, terminal_state): Remove.
7171         (target_terminal::terminal_state): Define.
7172         (target_terminal::init): Rename from target_terminal_init.
7173         (target_terminal::inferior): Rename from
7174         target_terminal_inferior.
7175         (target_terminal::ours): Rename from target_terminal_ours.
7176         (target_terminal::ours_for_output): Rename from
7177         target_terminal_ours_for_output.
7178         (target_terminal::info): New method.
7179         (cleanup_restore_target_terminal)
7180         (make_cleanup_restore_target_terminal): Remove.
7181         * solib.c (handle_solib_event): Update.
7182         * remote.c (remote_serial_quit_handler): Update.
7183         (remote_terminal_inferior, remote_wait_as): Update.
7184         * record-full.c (record_full_wait_1): Update.
7185         * nto-procfs.c (procfs_create_inferior): Update.
7186         * nat/fork-inferior.c (startup_inferior): Update.
7187         * mi/mi-interp.c (mi_new_thread, mi_thread_exit)
7188         (mi_record_changed, mi_inferior_added, mi_inferior_appeared)
7189         (mi_inferior_exit, mi_inferior_removed, mi_traceframe_changed)
7190         (mi_tsv_created, mi_tsv_deleted, mi_tsv_modified)
7191         (mi_breakpoint_created, mi_breakpoint_deleted)
7192         (mi_breakpoint_modified, mi_on_resume, mi_solib_loaded)
7193         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
7194         (mi_user_selected_context_changed, report_initial_inferior):
7195         Update.
7196         * linux-nat.c (linux_nat_attach, linux_nat_terminal_ours)
7197         (linux_nat_terminal_inferior): Update.
7198         * infrun.c (follow_fork_inferior)
7199         (handle_vfork_child_exec_or_exit, do_target_resume)
7200         (check_curr_ui_sync_execution_done, handle_inferior_event_1)
7201         (handle_signal_stop, maybe_remove_breakpoints, normal_stop):
7202         Update.
7203         * inflow.c (child_terminal_init, info_terminal_command): Update.
7204         * infcmd.c (post_create_inferior, continue_1, prepare_one_step)
7205         (attach_command): Update.
7206         * infcall.c (call_thread_fsm_should_stop): Update.
7207         * gnu-nat.c (gnu_attach): Update.
7208         * extension.c (struct active_ext_lang_state)
7209         (restore_active_ext_lang): Update.
7210         * exceptions.c (print_flush): Update.
7211         * event-top.c (async_enable_stdin, default_quit_handler): Update.
7212         (struct quit_handler_cleanup_data, restore_quit_handler)
7213         (restore_quit_handler_dtor, make_cleanup_override_quit_handler):
7214         Remove.
7215         * cp-support.c (gdb_demangle): Update.
7216         * breakpoint.c (update_inserted_breakpoint_locations)
7217         (insert_breakpoint_locations, handle_jit_event)
7218         (disable_breakpoints_in_unloaded_shlib): Update.
7219         * annotate.c (annotate_breakpoints_invalid)
7220         (annotate_frames_invalid): Update.
7221
7222 2017-09-20  Tom Tromey  <tom@tromey.com>
7223
7224         * main.c (catch_command_errors): Rename from
7225         catch_command_errors_const.
7226         (captured_main_1): Update.
7227
7228 2017-09-20  Pedro Alves  <palves@redhat.com>
7229
7230         * cli/cli-cmds.c (list_command): Use print_sal_location.
7231         (print_sal_location): New function.
7232         (ambiguous_line_spec): Use print_sal_location.
7233         * linespec.c (symbol_to_sal): Record the symbol in the sal.
7234         * symtab.c (find_function_start_sal): Likewise.
7235         * symtab.h (symtab_and_line::symbol): New field.
7236
7237 2017-09-20  Pedro Alves  <palves@redhat.com>
7238
7239         * linespec.c (minsym_found): Handle non-text minsyms.
7240         (symbol_to_sal): Record a sal.pc for non-block, non-label symbols.
7241
7242 2017-09-20  Walfred Tedeschi  <walfred.tedeschi@intel.com>
7243
7244         * features/Makefile (i386-avx-mpx-avx512-pku.dat): Add missing
7245         backslash.
7246
7247 2017-09-20  Walfred Tedeschi  <walfred.tedeschi@intel.com>
7248
7249         * gdb.arch/i386-avx512.c (move_zmm_data_to_reg): Use
7250         vmovups instead vmovaps.
7251         (move_zmm_data_to_memory): Use vmovups instead vmovaps.
7252
7253 2017-09-19  John Baldwin  <jhb@FreeBSD.org>
7254
7255         * NEWS (Changes since GDB 8.0): Add starti.
7256         * infcmd.c (enum run_break): New.
7257         (run_command_1): Queue pending event for RUN_STOP_AT_FIRST_INSN
7258         case.
7259         (run_command): Use enum run_how.
7260         (start_command): Likewise.
7261         (starti_command): New function.
7262         (RUN_ARGS_HELP): New macro.
7263         (_initialize_infcmd): Use RUN_ARGS_HELP for run and start
7264         commands.  Add starti command.
7265
7266 2017-09-19  Yao Qi  <yao.qi@linaro.org>
7267
7268         * Makefile.in (monitor.o): Remove the rule.
7269
7270 2017-09-19  Yao Qi  <yao.qi@linaro.org>
7271
7272         * annotate.h (struct annotate_arg_emitter): Use
7273         DISABLE_COPY_AND_ASSIGN.
7274         * common/refcounted-object.h (refcounted_object): Likewise.
7275         * completer.h (struct completion_result): Likewise.
7276         * dwarf2read.c (struct dwarf2_per_objfile): Likewise.
7277         * filename-seen-cache.h (filename_seen_cache): Likewise.
7278         * gdbcore.h (thread_section_name): Likewise.
7279         * gdb_regex.h (compiled_regex): Likewise.
7280         * gdbthread.h (scoped_restore_current_thread): Likewise.
7281         * inferior.h (scoped_restore_current_inferior): Likewise.
7282         * jit.c (jit_reader): Likewise.
7283         * linespec.h (struct linespec_result): Likewise.
7284         * mi/mi-parse.h (struct mi_parse): Likewise.
7285         * nat/fork-inferior.c (execv_argv): Likewise.
7286         * progspace.h (scoped_restore_current_program_space): Likewise.
7287         * python/python-internal.h (class gdbpy_enter): Likewise.
7288         * regcache.h (regcache): Likewise.
7289         * target-descriptions.c (struct tdesc_reg): Likewise.
7290         (struct tdesc_type): Likewise.
7291         (struct tdesc_feature): Likewise.
7292         * ui-out.h (ui_out_emit_type): Likewise.
7293
7294 2017-09-18  Simon Marchi  <simon.marchi@ericsson.com>
7295
7296         * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Remove
7297         label abort_expression.
7298
7299 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7300
7301         * common/buffer.c (buffer_xml_printf): Adjust.
7302         * common/xml-utils.c (xml_escape_text): Change return type to
7303         std::string, update code accordingly.
7304         * common/xml-utils.h (xml_escape_text): Change return type to
7305         std::string.
7306         * rs6000-aix-tdep.c (rs6000_aix_shared_library_to_xml): Adjust.
7307         * windows-tdep.c (windows_xfer_shared_library): Adjust.
7308         * unittests/xml-utils-selftests.c (test_xml_escape_text):
7309         Adjust.
7310
7311 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7312
7313         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add new source file.
7314         (SUBDIR_UNITTESTS_OBS): Add new object file.
7315         * unittests/xml-utils-selftests.c: New file.
7316
7317 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7318
7319         * common/selftest.h (selftest): New struct/interface.
7320         (register_test): Add name parameter, add new overload.
7321         (run_tests): Add filter parameter.
7322         (for_each_selftest_ftype): New typedef.
7323         (for_each_selftest): New declaration.
7324         * common/selftest.c (tests): Change type to
7325         map<string, unique_ptr<selftest>>.
7326         (simple_selftest): New struct.
7327         (register_test): New function.
7328         (register_test): Add name parameter and use it.
7329         (run_tests): Add filter parameter and use it.  Add prints.
7330         Adjust to vector -> map change.
7331         * aarch64-tdep.c (_initialize_aarch64_tdep): Add names when
7332         registering selftests.
7333         * arm-tdep.c (_initialize_arm_tdep): Likewise.
7334         * disasm-selftests.c (_initialize_disasm_selftests): Likewise.
7335         * dwarf2-frame.c (_initialize_dwarf2_frame): Likewise.
7336         * dwarf2loc.c (_initialize_dwarf2loc): Likewise.
7337         * findvar.c (_initialize_findvar): Likewise.
7338         * gdbarch-selftests.c (_initialize_gdbarch_selftests): Likewise.
7339         * maint.c (maintenance_selftest): Update call to run_tests.
7340         (maintenance_info_selftests): New function.
7341         (_initialize_maint_cmds): Register "maintenance info selftests"
7342         command.  Update "maintenance selftest" doc.
7343         * regcache.c (_initialize_regcache): Add names when registering
7344         selftests.
7345         * rust-exp.y (_initialize_rust_exp): Likewise.
7346         * selftest-arch.c (gdbarch_selftest): New struct.
7347         (gdbarch_tests): Remove.
7348         (register_test_foreach_arch): Add name parameter.  Call
7349         register_test.
7350         (tests_with_arch): Remove, move most content to
7351         gdbarch_selftest::operator().
7352         (_initialize_selftests_foreach_arch): Remove.
7353         * selftest-arch.h (register_test_foreach_arch): Add name
7354         parameter.
7355         (run_tests_with_arch): New declaration.
7356         * utils-selftests.c (_initialize_utils_selftests): Add names
7357         when registering selftests.
7358         * utils.c (_initialize_utils): Likewise.
7359         * unittests/array-view-selftests.c
7360         (_initialize_array_view_selftests): Likewise.
7361         * unittests/environ-selftests.c (_initialize_environ_selftests):
7362         Likewise.
7363         * unittests/function-view-selftests.c
7364         (_initialize_function_view_selftests): Likewise.
7365         * unittests/offset-type-selftests.c
7366         (_initialize_offset_type_selftests): Likewise.
7367         * unittests/optional-selftests.c
7368         (_initialize_optional_selftests): Likewise.
7369         * unittests/scoped_restore-selftests.c
7370         (_initialize_scoped_restore_selftests): Likewise.
7371         * NEWS: Document "maintenance selftest" and "maint info
7372         selftests".
7373
7374 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7375
7376         * mi/mi-main.c (mi_load_progress): Restore current_uiout using a
7377         scoped_restore.
7378
7379 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7380
7381         * mi/mi-main.c (mi_load_progress): Make uiout variable
7382         a unique_ptr.
7383
7384 2017-09-15  Pedro Alves  <palves@redhat.com>
7385
7386         * compile/compile-c-types.c (convert_enum, convert_int)
7387         (convert_float): Adjust to refer to int_type_v0 and float_type_v0.
7388
7389 2017-09-15  Simon Marchi  <simon.marchi@ericsson.com>
7390
7391         * dwarf2read.c (copy_string): Remove.
7392         (parse_macro_definition): Replace copy_string with savestring.
7393
7394 2017-09-15  Yao Qi  <yao.qi@linaro.org>
7395
7396         * configure.tgt (i[34567]86-*-darwin*): Append amd64.o to
7397         gdb_target_obs.
7398         (i[34567]86-*-solaris2.1[0-9]* | x86_64-*-solaris2.1[0-9]*):
7399         Likewise.
7400         (i[34567]86-*-linux*): Likewise.
7401
7402 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7403
7404         * dwarf2expr.h (dwarf_stack_value): Add constructor.
7405         (dwarf_expr_context) <~dwarf_expr_context>: Define as default.
7406         <stack>: Change type to std::vector.
7407         <stack_len, stack_allocated>: Remove.
7408         <grow_stack>: Remove.
7409         * dwarf2expr.c (dwarf_expr_context::dwarf_expr_context): Adjust.
7410         (dwarf_expr_context::~dwarf_expr_context): Remove.
7411         (dwarf_expr_context::grow_stack): Remove.
7412         (dwarf_expr_context::push): Adjust.
7413         (dwarf_expr_context::pop): Adjust.
7414         (dwarf_expr_context::fetch): Adjust.
7415         (dwarf_expr_context::fetch_in_stack_memory): Adjust.
7416         (dwarf_expr_context::stack_empty_p): Adjust.
7417         (dwarf_expr_context::execute_stack_op): Adjust.
7418
7419 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7420
7421         * dwarf2expr.h (dwarf_expr_context) <stack_empty_p>: Change
7422         return type to bool.
7423         * dwarf2expr.c (dwarf_expr_context::stack_empty_p): Likewise.
7424
7425 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7426
7427         * dwarf2expr.h (dwarf_expr_piece) <v.mem.in_stack_memory>:
7428         Change type to bool.
7429         (dwarf_stack_value) <in_stack_memory>: Likewise.
7430         (dwarf_expr_context) <push_address>: Change parameter type to
7431         bool.
7432         <fetch_in_stack_memory>: Change return type to bool.
7433         <push>: Change parameter type to bool.
7434         * dwarf2expr.c (dwarf_expr_context::push): Change parameter type
7435         to bool.
7436         (dwarf_expr_context::push_address): Likewise.
7437         (dwarf_expr_context::fetch_in_stack_memory): Change return type
7438         to bool.
7439         (dwarf_expr_context::execute_stack_op): Adjust.
7440         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Adjust.
7441
7442 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7443
7444         * dwarf2expr.h (struct dwarf_expr_piece): Move up.
7445         (struct dwarf_expr_context) <n_pieces>: Remove.
7446         <pieces>: Change type to std::vector.
7447         * dwarf2expr.c (dwarf_expr_context::dwarf_expr_context): Adjust.
7448         (dwarf_expr_context::~dwarf_expr_context): Don't manually free
7449         pieces.
7450         (dwarf_expr_context::add_piece): Adjust.
7451         * dwarf2loc.c (struct piece_closure): Initialize fields.
7452         <n_pieces>: Remove.
7453         <pieces>: Change type to std::vector.
7454         (allocate_piece_closure): Adjust, change parameter to
7455         std::vector rvalue and std::move it to piece_closure.
7456         (rw_pieced_value): Adjust.
7457         (check_pieced_synthetic_pointer): Adjust.
7458         (indirect_synthetic_pointer): Adjust.
7459         (coerce_pieced_ref): Adjust.
7460         (free_pieced_value_closure):  Adjust.  Use delete to free
7461         piece_closure.
7462         (dwarf2_evaluate_loc_desc_full): Adjust.  std::move ctx.pieces
7463         to allocate_piece_closure.
7464         (dwarf2_loc_desc_get_symbol_read_needs): Adjust.
7465
7466 2017-09-12  Simon Marchi  <simon.marchi@ericsson.com>
7467
7468         * probe.h (probe_ops_cp): Remove typedef.
7469         (DEF_VEC_P (probe_ops_cp)): Remove.
7470         (all_probe_ops): Change type to std::vector.
7471         * probe.c (info_probes_for_ops): Adjust to vector change.
7472         (probe_linespec_to_ops): Likewise.
7473         (all_probe_ops): Change type to std::vector.
7474         (_initialize_probe): Adjust to vector change.
7475         * dtrace-probe.c (_initialize_dtrace_probe): Likewise.
7476         * elfread.c (elf_get_probes): Likewise.
7477         * stap-probe.c (_initialize_stap_probe): Likewise.
7478
7479 2017-09-12  Simon Marchi  <simon.marchi@ericsson.com>
7480
7481         * probe.h (struct bound_probe): Define constructors.
7482         * probe.c (bound_probe_s): Remove typedef.
7483         (DEF_VEC_O (bound_probe_s)): Remove VEC.
7484         (collect_probes): Change return type to std::vector, remove
7485         cleanup.
7486         (compare_probes): Return bool, change parameter type.  Change
7487         semantic to "less than".
7488         (gen_ui_out_table_header_info): Change parameter to std::vector
7489         and update.
7490         (exists_probe_with_pops): Likewise.
7491         (info_probes_for_ops): Update to std::vector change.
7492         (enable_probes_command): Likewise.
7493         (disable_probes_command): Likewise.
7494
7495 2017-09-12  Simon Marchi  <simon.marchi@ericsson.com>
7496
7497         * probe.h (struct probe_ops) <get_probes>: Change parameter from
7498         vec to std::vector.
7499         * probe.c (parse_probes_in_pspace): Update.
7500         (find_probes_in_objfile): Update.
7501         (find_probe_by_pc): Update.
7502         (collect_probes): Update.
7503         (probe_any_get_probes): Update.
7504         * symfile.h (struct sym_probe_fns) <sym_get_probes> Change
7505         return type to reference to std::vector.
7506         * dtrace-probe.c (dtrace_process_dof_probe): Change parameter to
7507         std::vector and update.
7508         (dtrace_process_dof): Likewise.
7509         (dtrace_get_probes): Likewise.
7510         * elfread.c (elf_get_probes): Change return type to std::vector,
7511         store an std::vector in bfd_data.
7512         (probe_key_free): Update to std::vector.
7513         * stap-probe.c (handle_stap_probe): Change parameter to
7514         std::vector and update.
7515         (stap_get_probes): Likewise.
7516         * symfile-debug.c (debug_sym_get_probes): Change return type to
7517         std::vector and update.
7518
7519 2017-09-11  Tom Tromey  <tom@tromey.com>
7520
7521         * breakpoint.c (program_breakpoint_here_p): Update.
7522         * target.c (make_scoped_restore_show_memory_breakpoints): Rename
7523         from make_show_memory_breakpoints_cleanup.  Return a
7524         scoped_restore_tmpl<int>.
7525         (restore_show_memory_breakpoints): Remove.
7526         * ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint): Update.
7527         * mem-break.c (memory_validate_breakpoint): Update.
7528         * ia64-tdep.c (ia64_memory_insert_breakpoint): Update.
7529         (ia64_memory_remove_breakpoint): Update.
7530         (ia64_breakpoint_from_pc): Update.
7531         * target.h (make_scoped_restore_show_memory_breakpoints): Rename
7532         from make_show_memory_breakpoints_cleanup.
7533
7534 2017-09-11  Tom Tromey  <tom@tromey.com>
7535
7536         * d-namespace.c (d_lookup_symbol): Use std::string.
7537         (find_symbol_in_baseclass): Likewise.
7538
7539 2017-09-11  Tom Tromey  <tom@tromey.com>
7540
7541         * ctf.c (ctf_start): Use std::string.
7542
7543 2017-09-11  Tom Tromey  <tom@tromey.com>
7544
7545         * ada-lang.c (is_known_support_routine): Update.
7546         (ada_unhandled_exception_name_addr_from_raise): Update.
7547         * guile/scm-frame.c (gdbscm_frame_name): Update.
7548         * python/py-frame.c (frapy_name): Update.
7549         (frapy_function): Update.
7550         * stack.h (find_frame_funname): Update.
7551         * stack.c (find_frame_funname): Return unique_xmalloc_ptr.
7552         (print_frame): Update.
7553
7554 2017-09-11  Tom Tromey  <tom@tromey.com>
7555
7556         * findcmd.c (put_bits): Take a gdb::byte_vector.
7557         (parse_find_args): Return gdb::byte_vector.  "args" now const.
7558         Remove "pattern_bufp" and "pattern_lenp" parameters.  Remove
7559         cleanups.
7560         (find_command): Update.
7561
7562 2017-09-11  Tom Tromey  <tom@tromey.com>
7563
7564         * cli/cli-script.c (class scoped_restore_hook_in): New.
7565         (clear_hook_in_cleanup): Remove.
7566         (execute_cmd_pre_hook, execute_cmd_post_hook): Use
7567         scoped_restore_hook_in.
7568
7569 2017-09-11  Tom Tromey  <tom@tromey.com>
7570
7571         * cli/cli-script.c (restore_interp): Remove.
7572         (read_command_lines): Use scoped_restore_interp.
7573         * interps.c (scoped_restore_interp::set_temp): Rename from
7574         interp_set_temp.
7575         * interps.h (class scoped_restore_interp): New.
7576         (interp_set_temp): Remove.
7577
7578 2017-09-11  Tom Tromey  <tom@tromey.com>
7579
7580         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
7581         (mi_cmd_catch_exception, mi_catch_load_unload): Update.
7582         * mi/mi-cmd-break.c (setup_breakpoint_reporting): Return a
7583         scoped_restore.
7584         (mi_cmd_break_insert_1): Update.
7585         * mi/mi-cmd-break.h (setup_breakpoint_reporting): Return a
7586         scoped_restore.
7587
7588 2017-09-11  Tom Tromey  <tom@tromey.com>
7589
7590         * demangle.c (demangle_command): Update.
7591         * breakpoint.c (disable_command): Update.
7592         (enable_command): Update.
7593         (find_location_by_number): Make "number" const.  Use
7594         get_number_trailer.
7595         * cli/cli-utils.c (extract_arg): Return std::string.
7596         * probe.c (parse_probe_linespec): Update.  Change types.
7597         (collect_probes): Take string arguments.
7598         (parse_probe_linespec): Likewise.
7599         (info_probes_for_ops): Update.
7600         (enable_probes_command): Update.
7601         (disable_probes_command): Update.
7602         * break-catch-sig.c (catch_signal_split_args): Update.
7603         * mi/mi-parse.c (mi_parse): Update.
7604
7605 2017-09-11  Tom Tromey  <tom@tromey.com>
7606
7607         * language.h (language_enum): Make argument const.
7608         * language.c (language_enum): Make argument const.
7609
7610 2017-09-11  Tom Tromey  <tom@tromey.com>
7611
7612         * common/common-utils.h (skip_to_space): Remove macro, redeclare
7613         as function.
7614         (skip_to_space): Rename from skip_to_space_const.
7615         * common/common-utils.c (skip_to_space): New function.
7616         (skip_to_space): Rename from skip_to_space_const.
7617         * cli/cli-utils.h (get_number): Rename from get_number_const.
7618         (extract_arg): Rename from extract_arg_const.
7619         * cli/cli-utils.c (get_number): Rename from get_number_const.
7620         (extract_arg): Rename from extract_arg_const.
7621         (number_or_range_parser::get_number): Use ::get_number.
7622         * aarch64-linux-tdep.c, ada-lang.c, arm-linux-tdep.c, ax-gdb.c,
7623         break-catch-throw.c, breakpoint.c, cli/cli-cmds.c, cli/cli-dump.c,
7624         cli/cli-script.c, cli/cli-setshow.c, compile/compile.c,
7625         completer.c, demangle.c, disasm.c, findcmd.c, linespec.c,
7626         linux-tdep.c, linux-thread-db.c, location.c, mi/mi-parse.c,
7627         minsyms.c, nat/linux-procfs.c, printcmd.c, probe.c,
7628         python/py-breakpoint.c, record.c, rust-exp.y, serial.c, stack.c,
7629         stap-probe.c, tid-parse.c, tracepoint.c: Update all callers.
7630
7631 2017-09-11  Tom Tromey  <tom@tromey.com>
7632
7633         * python/python.c (do_start_initialization): Use
7634         py-event-types.def to initialize types.
7635         Define all object type structures.
7636         * python/python-internal.h: Don't declare event initialization
7637         functions.
7638         * python/py-threadevent.c (thread_event_object_type): Don't
7639         define.
7640         * python/py-stopevent.c (stop_event_object_type): Don't define.
7641         * python/py-signalevent.c (signal_event_object_type): Don't
7642         declare or define.
7643         * python/py-newobjfileevent.c (new_objfile_event_object_type)
7644         (clear_objfiles_event_object_type): Don't declare or define.
7645         * python/py-infevents.c (inferior_call_pre_event_object_type)
7646         (inferior_call_post_event_object_type)
7647         (register_changed_event_object_type)
7648         (memory_changed_event_object_type): Don't declare or define.
7649         * python/py-inferior.c (new_thread_event_object_type)
7650         (new_inferior_event_object_type)
7651         (inferior_deleted_event_object_type): Don't declare or define.
7652         * python/py-exitedevent.c (exited_event_object_type): Don't
7653         declare or define.
7654         * python/py-evts.c (gdbpy_initialize_py_events): Use
7655         py-all-events.def.
7656         * python/py-events.h (thread_event_object_type): Don't declare.
7657         (events_object): Use py-all-events.def.
7658         * python/py-event.h (GDBPY_NEW_EVENT_TYPE): Remove.  Use
7659         py-event-types.def.
7660         * python/py-event-types.def: New file.
7661         * python/py-continueevent.c (create_continue_event_object): Don't
7662         declare or define.
7663         * python/py-bpevent.c (breakpoint_event_object_type): Don't
7664         declare or define.
7665         * python/py-all-events.def: New file.
7666
7667 2017-09-11  Tom Tromey  <tom@tromey.com>
7668
7669         * python/py-threadevent.c (create_thread_event_object): Return
7670         gdbpy_ref.
7671         * python/py-stopevent.h (create_stop_event_object)
7672         (create_breakpoint_event_object, create_signal_event_object):
7673         Update.
7674         * python/py-stopevent.c (create_stop_event_object): Return
7675         gdbpy_ref.
7676         (emit_stop_event): Update.
7677         * python/py-signalevent.c (create_signal_event_object): Return
7678         gdbpy_ref.
7679         * python/py-infevents.c (create_inferior_call_event_object):
7680         Update.
7681         * python/py-event.h (create_event_object)
7682         (create_thread_event_object): Update.
7683         * python/py-event.c (create_event_object): Return gdbpy_ref.
7684         * python/py-continueevent.c: Return gdbpy_ref.
7685         * python/py-bpevent.c (create_breakpoint_event_object): Return
7686         gdbpy_ref.
7687
7688 2017-09-11  Tom Tromey  <tom@tromey.com>
7689
7690         PR python/15622:
7691         * NEWS: Add entry.
7692         * python/python.c (do_start_initialization): Initialize new event
7693         types.
7694         * python/python-internal.h (gdbpy_initialize_new_inferior_event)
7695         (gdbpy_initialize_inferior_deleted_event)
7696         (gdbpy_initialize_new_thread_event): Declare.
7697         * python/py-threadevent.c (create_thread_event_object): Add option
7698         "thread" parameter.
7699         * python/py-inferior.c (new_thread_event_object_type)
7700         (new_inferior_event_object_type)
7701         (inferior_deleted_event_object_type): Declare.
7702         (python_new_inferior, python_inferior_deleted): New functions.
7703         (add_thread_object): Emit new_thread event.
7704         (gdbpy_initialize_inferior): Attach new functions to corresponding
7705         observers.
7706         (new_thread, new_inferior, inferior_deleted): Define new event
7707         types.
7708         * python/py-evts.c (gdbpy_initialize_py_events): Add new
7709         registries.
7710         * python/py-events.h (events_object) <new_inferior,
7711         inferior_deleted, new_thread>: New fields.
7712         * python/py-event.h (create_thread_event_breakpoint): Add optional
7713         "thread" parameter.
7714
7715 2017-09-10  Andrew Burgess  <andrew.burgess@embecosm.com>
7716
7717         * utils.c (abort_with_message): Don't compare gdb_stderr to NULL,
7718         check current_ui instead.
7719         (internal_vproblem): Likewise.
7720
7721 2017-09-09  Simon Marchi  <simon.marchi@ericsson.com>
7722
7723         * thread.c (print_thread_info_1): Remove unnecessary calls to
7724         uiout->is_mi_like_p.
7725
7726 2017-09-09  Tom Tromey  <tom@tromey.com>
7727
7728         * namespace.h (add_using_directive): Update.
7729         * namespace.c (add_using_directive): Change type of excludes to
7730         std::vector.
7731         * dwarf2read.c (read_import_statement): Use std::vector.
7732         (read_namespace): Update.
7733         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
7734
7735 2017-09-09  Tom Tromey  <tom@tromey.com>
7736
7737         * linespec.c (create_sals_line_offset): Use gdb::def_vector.
7738
7739 2017-09-09  Tom Tromey  <tom@tromey.com>
7740
7741         * p-valprint.c (pascal_object_print_value): Use gdb::byte_vector.
7742
7743 2017-09-09  Tom Tromey  <tom@tromey.com>
7744
7745         * stack.c (func_command): Use gdb::def_vector.
7746
7747 2017-09-09  Tom Tromey  <tom@tromey.com>
7748
7749         * mi/mi-cmd-var.c (mi_cmd_var_list_children): Use gdb::optional,
7750         ui_out_emit_list, ui_out_emit_tuple.
7751         (mi_cmd_var_update): Likewise.
7752
7753 2017-09-09  Tom Tromey  <tom@tromey.com>
7754
7755         * mi/mi-interp.c (mi_user_selected_context_changed): Use
7756         ui_out_redirect_pop.
7757         * guile/scm-ports.c (ioscm_with_output_to_port_worker): Use
7758         ui_out_redirect_pop.
7759         * utils.c (do_ui_out_redirect_pop)
7760         (make_cleanup_ui_out_redirect_pop): Remove.
7761         * top.c (execute_command_to_string): Use ui_out_redirect_pop.
7762         * utils.h (make_cleanup_ui_out_redirect_pop): Remove.
7763         * ui-out.h (ui_out_redirect_pop): New class.
7764
7765 2017-09-09  Tom Tromey  <tom@tromey.com>
7766
7767         * mi/mi-main.c (output_cores): Use ui_out_emit_list.
7768         (list_available_thread_groups, mi_cmd_list_thread_groups)
7769         (mi_cmd_data_list_changed_registers, mi_cmd_data_read_memory)
7770         (mi_cmd_data_read_memory_bytes, mi_cmd_trace_frame_collected):
7771         Likewise.
7772
7773 2017-09-09  Tom Tromey  <tom@tromey.com>
7774
7775         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn): Use
7776         ui_out_emit_tuple.
7777
7778 2017-09-09  Tom Tromey  <tom@tromey.com>
7779
7780         * target.c (flash_erase_command): Use ui_out_emit_tuple.
7781         * stack.c (print_frame): Use ui_out_emit_tuple.
7782         * spu-tdep.c (info_spu_event_command): Use ui_out_emit_tuple.
7783         (info_spu_mailbox_command, info_spu_dma_command)
7784         (info_spu_proxydma_command): Likewise.
7785         * mi/mi-main.c (mi_cmd_trace_frame_collected): Use
7786         ui_out_emit_tuple, gdb::byte_vector, bin2hex.
7787         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Use
7788         ui_out_emit_tuple.
7789         * breakpoint.c (print_it_watchpoint): Use ui_out_emit_tuple.
7790
7791 2017-09-09  Tom Tromey  <tom@tromey.com>
7792
7793         * ui-out.h (make_cleanup_ui_out_table_begin_end): Remove.
7794         (class ui_out_emit_table): Update comment.
7795         * ui-out.c (do_cleanup_table_end)
7796         (make_cleanup_ui_out_table_begin_end): Remove.
7797         * spu-tdep.c (info_spu_mailbox_list): Use ui_out_emit_table.
7798         (info_spu_dma_cmdlist): Likewise.
7799         * probe.c (info_probes_for_ops): Use ui_out_emit_table.
7800         * darwin-nat-info.c (darwin_debug_regions_recurse): Use
7801         ui_out_emit_table.
7802
7803 2017-09-09  Tom Tromey  <tom@tromey.com>
7804
7805         * thread.c (print_thread_info_1): Use ui_out_emit_table,
7806         ui_out_emit_list, gdb::optional.
7807
7808 2017-09-09  John Baldwin  <jhb@FreeBSD.org>
7809
7810         * aarch64-linux-nat.c: Remove _initialize_aarch64_linux_nat
7811         prototype.
7812         * aarch64-linux-tdep.c: Remove _initialize_aarch64_linux_tdep
7813         prototype.
7814         * aarch64-newlib-tdep.c: Remove _initialize_aarch64_newlib_tdep
7815         prototype.
7816         * aarch64-tdep.c: Remove _initialize_aarch64_tdep prototype.
7817         * ada-exp.y: Remove _initialize_ada_exp prototype.
7818         * ada-lang.c: Remove _initialize_ada_language prototype.
7819         * ada-tasks.c: Remove _initialize_tasks prototype.
7820         * addrmap.c: Remove _initialize_addrmap prototype.
7821         * agent.c: Remove _initialize_agent prototype.
7822         * aix-thread.c: Remove _initialize_aix_thread prototype.
7823         * alpha-bsd-nat.c: Remove _initialize_alphabsd_nat prototype.
7824         * alpha-linux-nat.c: Remove _initialize_alpha_linux_nat prototype.
7825         * alpha-linux-tdep.c: Remove _initialize_alpha_linux_tdep
7826         prototype.
7827         * alpha-nbsd-tdep.c: Remove _initialize_alphanbsd_tdep prototype.
7828         * alpha-obsd-tdep.c: Remove _initialize_alphaobsd_tdep prototype.
7829         * alpha-tdep.c: Remove _initialize_alpha_tdep prototype.
7830         * amd64-darwin-tdep.c: Remove _initialize_amd64_darwin_tdep
7831         prototype.
7832         * amd64-dicos-tdep.c: Remove _initialize_amd64_dicos_tdep
7833         prototype.
7834         * amd64-fbsd-nat.c: Remove _initialize_amd64fbsd_nat prototype.
7835         * amd64-fbsd-tdep.c: Remove _initialize_amd64fbsd_tdep prototype.
7836         * amd64-linux-nat.c: Remove _initialize_amd64_linux_nat prototype.
7837         * amd64-linux-tdep.c: Remove _initialize_amd64_linux_tdep
7838         prototype.
7839         * amd64-nbsd-nat.c: Remove _initialize_amd64nbsd_nat prototype.
7840         * amd64-nbsd-tdep.c: Remove _initialize_amd64nbsd_tdep prototype.
7841         * amd64-obsd-nat.c: Remove _initialize_amd64obsd_nat prototype.
7842         * amd64-obsd-tdep.c: Remove _initialize_amd64obsd_tdep prototype.
7843         * amd64-sol2-tdep.c: Remove _initialize_amd64_sol2_tdep prototype.
7844         * amd64-tdep.c: Remove _initialize_amd64_tdep prototype.
7845         * amd64-windows-nat.c: Remove _initialize_amd64_windows_nat
7846         prototype.
7847         * amd64-windows-tdep.c: Remove _initialize_amd64_windows_tdep
7848         prototype.
7849         * annotate.c: Remove _initialize_annotate prototype.
7850         * arc-newlib-tdep.c: Remove _initialize_arc_newlib_tdep prototype.
7851         * arc-tdep.c: Remove _initialize_arc_tdep prototype.
7852         * arch-utils.c: Remove _initialize_gdbarch_utils prototype.
7853         * arm-linux-nat.c: Remove _initialize_arm_linux_nat prototype.
7854         * arm-linux-tdep.c: Remove _initialize_arm_linux_tdep prototype.
7855         * arm-nbsd-tdep.c: Remove _initialize_arm_netbsd_tdep prototype.
7856         * arm-obsd-tdep.c: Remove _initialize_armobsd_tdep prototype.
7857         * arm-symbian-tdep.c: Remove _initialize_arm_symbian_tdep
7858         prototype.
7859         * arm-tdep.c: Remove _initialize_arm_tdep prototype.
7860         * arm-wince-tdep.c: Remove _initialize_arm_wince_tdep prototype.
7861         * auto-load.c: Remove _initialize_auto_load prototype.
7862         * auxv.c: Remove _initialize_auxv prototype.
7863         * avr-tdep.c: Remove _initialize_avr_tdep prototype.
7864         * ax-gdb.c: Remove _initialize_ax_gdb prototype.
7865         * bfin-linux-tdep.c: Remove _initialize_bfin_linux_tdep prototype.
7866         * bfin-tdep.c: Remove _initialize_bfin_tdep prototype.
7867         * break-catch-sig.c: Remove _initialize_break_catch_sig prototype.
7868         * break-catch-syscall.c: Remove _initialize_break_catch_syscall
7869         prototype.
7870         * break-catch-throw.c: Remove _initialize_break_catch_throw
7871         prototype.
7872         * breakpoint.c: Remove _initialize_breakpoint prototype.
7873         * bsd-uthread.c: Remove _initialize_bsd_uthread prototype.
7874         * btrace.c: Remove _initialize_btrace prototype.
7875         * charset.c: Remove _initialize_charset prototype.
7876         * cli/cli-cmds.c: Remove _initialize_cli_cmds prototype.
7877         * cli/cli-dump.c: Remove _initialize_cli_dump prototype.
7878         * cli/cli-interp.c: Remove _initialize_cli_interp prototype.
7879         * cli/cli-logging.c: Remove _initialize_cli_logging prototype.
7880         * cli/cli-script.c: Remove _initialize_cli_script prototype.
7881         * coff-pe-read.c: Remove _initialize_coff_pe_read prototype.
7882         * coffread.c: Remove _initialize_coffread prototype.
7883         * compile/compile.c: Remove _initialize_compile prototype.
7884         * complaints.c: Remove _initialize_complaints prototype.
7885         * completer.c: Remove _initialize_completer prototype.
7886         * copying.awk: Remove _initialize_copying prototype.
7887         * copying.c: Regenerate.
7888         * core-regset.c: Remove _initialize_core_regset prototype.
7889         * corefile.c: Remove _initialize_core prototype.
7890         * corelow.c: Remove _initialize_corelow prototype.
7891         * cp-abi.c: Remove _initialize_cp_abi prototype.
7892         * cp-namespace.c: Remove _initialize_cp_namespace prototype.
7893         * cp-support.c: Remove _initialize_cp_support prototype.
7894         * cp-valprint.c: Remove _initialize_cp_valprint prototype.
7895         * cris-linux-tdep.c: Remove _initialize_cris_linux_tdep prototype.
7896         * cris-tdep.c: Remove _initialize_cris_tdep prototype.
7897         * ctf.c: Remove _initialize_ctf prototype.
7898         * d-lang.c: Remove _initialize_d_language prototype.
7899         * darwin-nat-info.c: Remove _initialize_darwin_info_commands
7900         prototype.
7901         * darwin-nat.c: Remove _initialize_darwin_inferior prototype.
7902         * dbxread.c: Remove _initialize_dbxread prototype.
7903         * dcache.c: Remove _initialize_dcache prototype.
7904         * demangle.c: Remove _initialize_demangler prototype.
7905         * disasm-selftests.c: Remove _initialize_disasm_selftests
7906         prototype.
7907         * disasm.c: Remove _initialize_disasm prototype.
7908         * dtrace-probe.c: Remove _initialize_dtrace_probe prototype.
7909         * dummy-frame.c: Remove _initialize_dummy_frame prototype.
7910         * dwarf2-frame-tailcall.c: Remove _initialize_tailcall_frame
7911         prototype.
7912         * dwarf2-frame.c: Remove _initialize_dwarf2_frame prototype.
7913         * dwarf2expr.c: Remove _initialize_dwarf2expr prototype.
7914         * dwarf2loc.c: Remove _initialize_dwarf2loc prototype.
7915         * dwarf2read.c: Remove _initialize_dwarf2_read prototype.
7916         * elfread.c: Remove _initialize_elfread prototype.
7917         * exec.c: Remove _initialize_exec prototype.
7918         * extension.c: Remove _initialize_extension prototype.
7919         * f-lang.c: Remove _initialize_f_language prototype.
7920         * f-valprint.c: Remove _initialize_f_valprint prototype.
7921         * fbsd-nat.c: Remove _initialize_fbsd_nat prototype.
7922         * fbsd-tdep.c: Remove _initialize_fbsd_tdep prototype.
7923         * filesystem.c: Remove _initialize_filesystem prototype.
7924         * findcmd.c: Remove _initialize_mem_search prototype.
7925         * fork-child.c: Remove _initialize_fork_child prototype.
7926         * frame-base.c: Remove _initialize_frame_base prototype.
7927         * frame-unwind.c: Remove _initialize_frame_unwind prototype.
7928         * frame.c: Remove _initialize_frame prototype.
7929         * frv-linux-tdep.c: Remove _initialize_frv_linux_tdep prototype.
7930         * frv-tdep.c: Remove _initialize_frv_tdep prototype.
7931         * ft32-tdep.c: Remove _initialize_ft32_tdep prototype.
7932         * gcore.c: Remove _initialize_gcore prototype.
7933         * gdb_bfd.c: Remove _initialize_gdb_bfd prototype.
7934         * gdbarch.c: Regenerate.
7935         * gdbarch.sh: Remove _initialize_gdbarch prototype.
7936         * gdbtypes.c: Remove _initialize_gdbtypes prototype.
7937         * gnu-nat.c: Remove _initialize_gnu_nat prototype.
7938         * gnu-v2-abi.c: Remove _initialize_gnu_v2_abi prototype.
7939         * gnu-v3-abi.c: Remove _initialize_gnu_v3_abi prototype.
7940         * go-lang.c: Remove _initialize_go_language prototype.
7941         * go32-nat.c: Remove _initialize_go32_nat prototype.
7942         * guile/guile.c: Remove _initialize_guile prototype.
7943         * h8300-tdep.c: Remove _initialize_h8300_tdep prototype.
7944         * hppa-linux-nat.c: Remove _initialize_hppa_linux_nat prototype.
7945         * hppa-linux-tdep.c: Remove _initialize_hppa_linux_tdep prototype.
7946         * hppa-nbsd-nat.c: Remove _initialize_hppanbsd_nat prototype.
7947         * hppa-nbsd-tdep.c: Remove _initialize_hppanbsd_tdep prototype.
7948         * hppa-obsd-nat.c: Remove _initialize_hppaobsd_nat prototype.
7949         * hppa-obsd-tdep.c: Remove _initialize_hppaobsd_tdep prototype.
7950         * hppa-tdep.c: Remove _initialize_hppa_tdep prototype.
7951         * i386-bsd-nat.c: Remove _initialize_i386bsd_nat prototype.
7952         * i386-cygwin-tdep.c: Remove _initialize_i386_cygwin_tdep
7953         prototype.
7954         * i386-darwin-tdep.c: Remove _initialize_i386_darwin_tdep
7955         prototype.
7956         * i386-dicos-tdep.c: Remove _initialize_i386_dicos_tdep prototype.
7957         * i386-fbsd-nat.c: Remove _initialize_i386fbsd_nat prototype.
7958         * i386-fbsd-tdep.c: Remove _initialize_i386fbsd_tdep prototype.
7959         * i386-gnu-nat.c: Remove _initialize_i386gnu_nat prototype.
7960         * i386-gnu-tdep.c: Remove _initialize_i386gnu_tdep prototype.
7961         * i386-linux-nat.c: Remove _initialize_i386_linux_nat prototype.
7962         * i386-linux-tdep.c: Remove _initialize_i386_linux_tdep prototype.
7963         * i386-nbsd-nat.c: Remove _initialize_i386nbsd_nat prototype.
7964         * i386-nbsd-tdep.c: Remove _initialize_i386nbsd_tdep prototype.
7965         * i386-nto-tdep.c: Remove _initialize_i386nto_tdep prototype.
7966         * i386-obsd-nat.c: Remove _initialize_i386obsd_nat prototype.
7967         * i386-obsd-tdep.c: Remove _initialize_i386obsd_tdep prototype.
7968         * i386-sol2-nat.c: Remove _initialize_amd64_sol2_nat prototype.
7969         * i386-sol2-tdep.c: Remove _initialize_amd64_sol2_tdep prototype.
7970         * i386-tdep.c: Remove _initialize_i386_tdep prototype.
7971         * i386-windows-nat.c: Remove _initialize_i386_windows_nat
7972         prototype.
7973         * ia64-libunwind-tdep.c: Remove _initialize_libunwind_frame
7974         prototype.
7975         * ia64-linux-nat.c: Remove _initialize_ia64_linux_nat prototype.
7976         * ia64-linux-tdep.c: Remove _initialize_ia64_linux_tdep prototype.
7977         * ia64-tdep.c: Remove _initialize_ia64_tdep prototype.
7978         * ia64-vms-tdep.c: Remove _initialize_ia64_vms_tdep prototype.
7979         * infcall.c: Remove _initialize_infcall prototype.
7980         * infcmd.c: Remove _initialize_infcmd prototype.
7981         * inferior.c: Remove _initialize_inferiors prototype.
7982         * inflow.c: Remove _initialize_inflow prototype.
7983         * infrun.c: Remove _initialize_infrun prototype.
7984         * interps.c: Remove _initialize_interpreter prototype.
7985         * iq2000-tdep.c: Remove _initialize_iq2000_tdep prototype.
7986         * jit.c: Remove _initialize_jit prototype.
7987         * language.c: Remove _initialize_language prototype.
7988         * linux-fork.c: Remove _initialize_linux_fork prototype.
7989         * linux-nat.c: Remove _initialize_linux_nat prototype.
7990         * linux-tdep.c: Remove _initialize_linux_tdep prototype.
7991         * linux-thread-db.c: Remove _initialize_thread_db prototype.
7992         * lm32-tdep.c: Remove _initialize_lm32_tdep prototype.
7993         * m2-lang.c: Remove _initialize_m2_language prototype.
7994         * m32c-tdep.c: Remove _initialize_m32c_tdep prototype.
7995         * m32r-linux-nat.c: Remove _initialize_m32r_linux_nat prototype.
7996         * m32r-linux-tdep.c: Remove _initialize_m32r_linux_tdep prototype.
7997         * m32r-tdep.c: Remove _initialize_m32r_tdep prototype.
7998         * m68hc11-tdep.c: Remove _initialize_m68hc11_tdep prototype.
7999         * m68k-bsd-nat.c: Remove _initialize_m68kbsd_nat prototype.
8000         * m68k-bsd-tdep.c: Remove _initialize_m68kbsd_tdep prototype.
8001         * m68k-linux-nat.c: Remove _initialize_m68k_linux_tdep prototype.
8002         * m68k-linux-tdep.c: Remove _initialize_m68k_linux_tdep prototype.
8003         * m68k-tdep.c: Remove _initialize_m68k_tdep prototype.
8004         * m88k-bsd-nat.c: Remove _initialize_m68kbsd_nat prototype.
8005         * m88k-tdep.c: Remove _initialize_m68kbsd_tdep prototype.
8006         * machoread.c: Remove _initialize_machoread prototype.
8007         * macrocmd.c: Remove _initialize_macrocmd prototype.
8008         * macroscope.c: Remove _initialize_macroscope prototype.
8009         * maint.c: Remove _initialize_maint_cmds prototype.
8010         * mdebugread.c: Remove _initialize_mdebugread prototype.
8011         * memattr.c: Remove _initialize_mem prototype.
8012         * mep-tdep.c: Remove _initialize_mep_tdep prototype.
8013         * mi/mi-cmd-env.c: Remove _initialize_mi_cmd_env prototype.
8014         * mi/mi-cmds.c: Remove _initialize_mi_cmds prototype.
8015         * mi/mi-interp.c: Remove _initialize_mi_interp prototype.
8016         * mi/mi-main.c: Remove _initialize_mi_main prototype.
8017         * microblaze-linux-tdep.c: Remove
8018         _initialize_microblaze_linux_tdep prototype.
8019         * microblaze-tdep.c: Remove _initialize_microblaze_tdep prototype.
8020         * mips-fbsd-nat.c: Remove _initialize_mips_fbsd_nat prototype.
8021         * mips-fbsd-tdep.c: Remove _initialize_mips_fbsd_tdep prototype.
8022         * mips-linux-nat.c: Remove _initialize_mips_linux_nat prototype.
8023         * mips-linux-tdep.c: Remove _initialize_mips_linux_tdep prototype.
8024         * mips-nbsd-nat.c: Remove _initialize_mipsnbsd_nat prototype.
8025         * mips-nbsd-tdep.c: Remove _initialize_mipsnbsd_tdep prototype.
8026         * mips-sde-tdep.c: Remove _initialize_mips_sde_tdep prototype.
8027         * mips-tdep.c: Remove _initialize_mips_tdep prototype.
8028         * mips64-obsd-nat.c: Remove _initialize_mips64obsd_nat prototype.
8029         * mips64-obsd-tdep.c: Remove _initialize_mips64obsd_tdep
8030         prototype.
8031         * mipsread.c: Remove _initialize_mipsread prototype.
8032         * mn10300-linux-tdep.c: Remove _initialize_mn10300_linux_tdep
8033         prototype.
8034         * mn10300-tdep.c: Remove _initialize_mn10300_tdep prototype.
8035         * moxie-tdep.c: Remove _initialize_moxie_tdep prototype.
8036         * msp430-tdep.c: Remove _initialize_msp430_tdep prototype.
8037         * mt-tdep.c: Remove _initialize_mt_tdep prototype.
8038         * nds32-tdep.c: Remove _initialize_nds32_tdep prototype.
8039         * nios2-linux-tdep.c: Remove _initialize_nios2_linux_tdep
8040         prototype.
8041         * nios2-tdep.c: Remove _initialize_nios2_tdep prototype.
8042         * nto-procfs.c: Remove _initialize_procfs prototype.
8043         * nto-tdep.c: Remove _initialize_nto_tdep prototype.
8044         * objc-lang.c: Remove _initialize_objc_language prototype.
8045         * objfiles.c: Remove _initialize_objfiles prototype.
8046         * observer.c: Remove observer_test_first_notification_function,
8047         observer_test_second_notification_function,
8048         observer_test_third_notification_function, and
8049         _initialize_observer prototypes.
8050         * opencl-lang.c: Remove _initialize_opencl_language prototypes.
8051         * osabi.c: Remove _initialize_gdb_osabi prototype.
8052         * osdata.c: Remove _initialize_osdata prototype.
8053         * p-valprint.c: Remove _initialize_pascal_valprint prototype.
8054         * parse.c: Remove _initialize_parse prototype.
8055         * ppc-fbsd-nat.c: Remove _initialize_ppcfbsd_nat prototype.
8056         * ppc-fbsd-tdep.c: Remove _initialize_ppcfbsd_tdep prototype.
8057         * ppc-linux-nat.c: Remove _initialize_ppc_linux_nat prototype.
8058         * ppc-linux-tdep.c: Remove _initialize_ppc_linux_tdep prototype.
8059         * ppc-nbsd-nat.c: Remove _initialize_ppcnbsd_nat prototype.
8060         * ppc-nbsd-tdep.c: Remove _initialize_ppcnbsd_tdep prototype.
8061         * ppc-obsd-nat.c: Remove _initialize_ppcobsd_nat prototype.
8062         * ppc-obsd-tdep.c: Remove _initialize_ppcobsd_tdep prototype.
8063         * printcmd.c: Remove _initialize_printcmd prototype.
8064         * probe.c: Remove _initialize_probe prototype.
8065         * proc-api.c: Remove _initialize_proc_api prototype.
8066         * proc-events.c: Remove _initialize_proc_events prototype.
8067         * proc-service.c: Remove _initialize_proc_service prototype.
8068         * procfs.c: Remove _initialize_procfs prototype.
8069         * psymtab.c: Remove _initialize_psymtab prototype.
8070         * python/python.c: Remove _initialize_python prototype.
8071         * ravenscar-thread.c: Remove _initialize_ravenscar prototype.
8072         * record-btrace.c: Remove _initialize_record_btrace prototype.
8073         * record-full.c: Remove _initialize_record_full prototype.
8074         * record.c: Remove _initialize_record prototype.
8075         * regcache.c: Remove _initialize_regcache prototype.
8076         * reggroups.c: Remove _initialize_reggroup prototype.
8077         * remote-notif.c: Remove _initialize_notif prototype.
8078         * remote-sim.c: Remove _initialize_remote_sim prototype.
8079         * remote.c: Remove _initialize_remote prototype.
8080         * reverse.c: Remove _initialize_reverse prototype.
8081         * rl78-tdep.c: Remove _initialize_rl78_tdep prototype.
8082         * rs6000-aix-tdep.c: Remove _initialize_rs6000_aix_tdep prototype.
8083         * rs6000-lynx178-tdep.c: Remove _initialize_rs6000_lynx178_tdep
8084         prototype.
8085         * rs6000-nat.c: Remove _initialize_rs6000_nat prototype.
8086         * rs6000-tdep.c: Remove _initialize_rs6000_tdep prototype.
8087         * rust-exp.y: Remove _initialize_rust_exp prototype.
8088         * rx-tdep.c: Remove _initialize_rx_tdep prototype.
8089         * s390-linux-nat.c: Remove _initialize_s390_nat prototype.
8090         * s390-linux-tdep.c: Remove _initialize_s390_tdep prototype.
8091         * score-tdep.c: Remove _initialize_score_tdep prototype.
8092         * selftest-arch.c: Remove _initialize_selftests_foreach_arch
8093         prototype.
8094         * ser-go32.c: Remove _initialize_ser_dos prototype.
8095         * ser-mingw.c: Remove _initialize_ser_windows prototype.
8096         * ser-pipe.c: Remove _initialize_ser_pipe prototype.
8097         * ser-tcp.c: Remove _initialize_ser_tcp prototype.
8098         * ser-unix.c: Remove _initialize_ser_hardwire prototype.
8099         * serial.c: Remove _initialize_serial prototype.
8100         * sh-linux-tdep.c: Remove _initialize_sh_linux_tdep prototype.
8101         * sh-nbsd-nat.c: Remove _initialize_shnbsd_nat prototype.
8102         * sh-nbsd-tdep.c: Remove _initialize_shnbsd_tdep prototype.
8103         * sh-tdep.c: Remove _initialize_sh_tdep prototype.
8104         * skip.c: Remove _initialize_step_skip prototype.
8105         * sol-thread.c: Remove _initialize_sol_thread prototype.
8106         * solib-aix.c: Remove _initialize_solib_aix prototype.
8107         * solib-darwin.c: Remove _initialize_darwin_solib prototype.
8108         * solib-dsbt.c: Remove _initialize_dsbt_solib prototype.
8109         * solib-frv.c: Remove _initialize_frv_solib prototype.
8110         * solib-spu.c: Remove _initialize_spu_solib prototype.
8111         * solib-svr4.c: Remove _initialize_svr4_solib prototype.
8112         * solib-target.c: Remove _initialize_solib_target prototype.
8113         * solib.c: Remove _initialize_solib prototype.
8114         * source.c: Remove _initialize_source prototype.
8115         * sparc-linux-nat.c: Remove _initialize_sparc_linux_nat prototype.
8116         * sparc-linux-tdep.c: Remove _initialize_sparc_linux_tdep
8117         prototype.
8118         * sparc-nat.c: Remove _initialize_sparc_nat prototype.
8119         * sparc-nbsd-nat.c: Remove _initialize_sparcnbsd_nat prototype.
8120         * sparc-nbsd-tdep.c: Remove _initialize_sparcnbsd_tdep prototype.
8121         * sparc-obsd-tdep.c: Remove _initialize_sparc32obsd_tdep
8122         prototype.
8123         * sparc-sol2-nat.c: Remove _initialize_sparc_sol2_nat prototype.
8124         * sparc-sol2-tdep.c: Remove _initialize_sparc_sol2_tdep prototype.
8125         * sparc-tdep.c: Remove _initialize_sparc_tdep prototype.
8126         * sparc64-fbsd-nat.c: Remove _initialize_sparc64fbsd_nat
8127         prototype.
8128         * sparc64-fbsd-tdep.c: Remove _initialize_sparc64fbsd_tdep
8129         prototype.
8130         * sparc64-linux-nat.c: Remove _initialize_sparc64_linux_nat
8131         prototype.
8132         * sparc64-linux-tdep.c: Remove _initialize_sparc64_linux_tdep
8133         prototype.
8134         * sparc64-nat.c: Remove _initialize_sparc64_nat prototype.
8135         * sparc64-nbsd-nat.c: Remove _initialize_sparc64nbsd_nat
8136         prototype.
8137         * sparc64-nbsd-tdep.c: Remove _initialize_sparc64nbsd_tdep
8138         prototype.
8139         * sparc64-obsd-nat.c: Remove _initialize_sparc64obsd_nat
8140         prototype.
8141         * sparc64-obsd-tdep.c: Remove _initialize_sparc64obsd_tdep
8142         prototype.
8143         * sparc64-sol2-tdep.c: Remove _initialize_sparc64_sol2_tdep
8144         prototype.
8145         * spu-linux-nat.c: Remove _initialize_spu_nat prototype.
8146         * spu-multiarch.c: Remove _initialize_spu_multiarch prototype.
8147         * spu-tdep.c: Remove _initialize_spu_tdep prototype.
8148         * stabsread.c: Remove _initialize_stabsread prototype.
8149         * stack.c: Remove _initialize_stack prototype.
8150         * stap-probe.c: Remove _initialize_stap_probe prototype.
8151         * std-regs.c: Remove _initialize_frame_reg prototype.
8152         * symfile-debug.c: Remove _initialize_symfile_debug prototype.
8153         * symfile-mem.c: Remove _initialize_symfile_mem prototype.
8154         * symfile.c: Remove _initialize_symfile prototype.
8155         * symmisc.c: Remove _initialize_symmisc prototype.
8156         * symtab.c: Remove _initialize_symtab prototype.
8157         * target-dcache.c: Remove _initialize_target_dcache prototype.
8158         * target-descriptions.c: Remove _initialize_target_descriptions
8159         prototype.
8160         * thread.c: Remove _initialize_thread prototype.
8161         * tic6x-linux-tdep.c: Remove _initialize_tic6x_linux_tdep
8162         prototype.
8163         * tic6x-tdep.c: Remove _initialize_tic6x_tdep prototype.
8164         * tilegx-linux-nat.c: Remove _initialize_tile_linux_nat prototype.
8165         * tilegx-linux-tdep.c: Remove _initialize_tilegx_linux_tdep
8166         prototype.
8167         * tilegx-tdep.c: Remove _initialize_tilegx_tdep prototype.
8168         * tracefile-tfile.c: Remove _initialize_tracefile_tfile prototype.
8169         * tracefile.c: Remove _initialize_tracefile prototype.
8170         * tracepoint.c: Remove _initialize_tracepoint prototype.
8171         * tui/tui-hooks.c: Remove _initialize_tui_hooks prototype.
8172         * tui/tui-interp.c: Remove _initialize_tui_interp prototype.
8173         * tui/tui-layout.c: Remove _initialize_tui_layout prototype.
8174         * tui/tui-regs.c: Remove _initialize_tui_regs prototype.
8175         * tui/tui-stack.c: Remove _initialize_tui_stack prototype.
8176         * tui/tui-win.c: Remove _initialize_tui_win prototype.
8177         * tui/tui.c: Remove _initialize_tui prototype.
8178         * typeprint.c: Remove _initialize_typeprint prototype.
8179         * user-regs.c: Remove _initialize_user_regs prototype.
8180         * utils.c: Remove _initialize_utils prototype.
8181         * v850-tdep.c: Remove _initialize_v850_tdep prototype.
8182         * valarith.c: Remove _initialize_valarith prototype.
8183         * valops.c: Remove _initialize_valops prototype.
8184         * valprint.c: Remove _initialize_valprint prototype.
8185         * value.c: Remove _initialize_values prototype.
8186         * varobj.c: Remove _initialize_varobj prototype.
8187         * vax-bsd-nat.c: Remove _initialize_vaxbsd_nat prototype.
8188         * vax-nbsd-tdep.c: Remove _initialize_vaxnbsd_tdep prototype.
8189         * vax-tdep.c: Remove _initialize_vax_tdep prototype.
8190         * windows-nat.c: Remove _initialize_windows_nat,
8191         _initialize_check_for_gdb_ini, and _initialize_loadable
8192         prototypes.
8193         * windows-tdep.c: Remove _initialize_windows_tdep prototype.
8194         * xcoffread.c: Remove _initialize_xcoffread prototype.
8195         * xml-support.c: Remove _initialize_xml_support prototype.
8196         * xstormy16-tdep.c: Remove _initialize_xstormy16_tdep prototype.
8197         * xtensa-linux-nat.c: Remove _initialize_xtensa_linux_nat
8198         prototype.
8199         * xtensa-linux-tdep.c: Remove _initialize_xtensa_linux_tdep
8200         prototype.
8201         * xtensa-tdep.c: Remove _initialize_xtensa_tdep prototype.
8202
8203 2017-09-08  Keith Seitz  <keiths@redhat.com>
8204
8205         * dwarf2read.c (struct field_info) <fnfields>: Remove unused
8206         field.
8207
8208 2017-09-08  Christoph Weinmann  <christoph.t.weinmann@intel.com>
8209
8210         * f-valprint.c (f_val_print): Remove check for one byte
8211         sized integers. Remove printing of character type.
8212
8213 2017-09-08  Frank Penczek  <frank.penczek@intel.com>
8214             Christoph Weinmann  <christoph.t.weinmann@intel.com>
8215             Bernhard Heckel  <bernhard.heckel@intel.com>
8216
8217         * f-typeprint.c (f_type_print_base): Use fprintfi_filtered
8218         to maintain proper indentation when printing pointers/refs.
8219
8220 2017-09-07  Joel Brobecker  <brobecker@adacore.com>
8221
8222         GDB 8.0.1 released.
8223
8224 2017-09-07  Joel Brobecker  <brobecker@adacore.com>
8225
8226         * NEWS (Changes in GDB 7.11): Remove entry for QStartupWithShell.
8227
8228 2017-09-05  Tom Tromey  <tom@tromey.com>
8229
8230         * parse.c (funcall_chain): Now a std::vector.
8231         (start_arglist, end_arglist): Simplify.
8232         (free_funcalls): Remove.
8233         (parse_exp_in_context_1): Remove cleanup.
8234
8235 2017-09-05  Tom Tromey  <tom@tromey.com>
8236
8237         * go-exp.y (go_parse): Don't create a cleanup.
8238
8239 2017-09-05  Tom Tromey  <tom@tromey.com>
8240
8241         * d-exp.y (PrimaryExpression): Use std::string.
8242         (d_parse): Don't create a cleanup.
8243
8244 2017-09-05  Tom Tromey  <tom@tromey.com>
8245
8246         * utils.c (do_clear_parser_state): Remove.
8247         (make_cleanup_clear_parser_state): Remove.
8248         * p-exp.y (pascal_parse): Use scoped_restore.
8249         * m2-exp.y (m2_parse): Use scoped_restore.
8250         * f-exp.y (f_parse): Use scoped_restore.
8251         * d-exp.y (d_parse): Use scoped_restore.
8252         * c-exp.y (c_parse): Use scoped_restore.
8253         * ada-exp.y (ada_parse): Use scoped_restore.
8254         * utils.h (make_cleanup_clear_parser_state): Remove.
8255
8256 2017-09-06  Keith Seitz  <keiths@redhat.com>
8257
8258         * dwarf2read.c (dw2_linkage_name_attr): New function.
8259         (dw2_linkage_name): New function.
8260         (dwarf2_compute_name, dwarf2_physname, read_call_site_scope)
8261         (guess_full_die_structure_name, dwarf2_name): Use dw2_linkage_name.
8262         (anonymous_struct_prefix, dwarf2_name): Use dw2_linkage_name_attr.
8263
8264 2017-09-06  Kamil Rytarowski  <n54@gmx.com>
8265
8266         * config/djgpp/djconfig.sh: Correct shell portability issue.
8267
8268 2017-09-06  Kamil Rytarowski  <n54@gmx.com>
8269
8270         * configure.nat: Define HAVE_NATIVE_GCORE_HOST on NetBSD.
8271
8272 2017-09-06  John Baldwin  <jhb@FreeBSD.org>
8273
8274         * Makefile.in (ALLDEPFILES): Add mips-fbsd-nat.c.
8275         * NEWS: Mention new FreeBSD/mips native configuration.
8276         * configure.host: Add aarch64*-*-freebsd*.
8277         * configure.nat: Likewise.
8278         * aarch64-fbsd-nat.c: New file.
8279
8280 2017-09-06  John Baldwin  <jhb@FreeBSD.org>
8281
8282         * Makefile.in (ALL_64_TARGET_OBS): Add aarch64-fbsd-tdep.o.
8283         (ALLDEPFILES): Add aarch64-fbsd-tdep.c.
8284         * NEWS: Mention new FreeBSD/aarch64 target.
8285         * configure.tgt: Add aarch64*-*-freebsd*.
8286         * aarch64-fbsd-tdep.c: New file.
8287         * aarch64-fbsd-tdep.h: New file.
8288
8289 2017-09-06  Kamil Rytarowski  <n54@gmx.com>
8290
8291         * MAINTAINERS (Write After Approval): Add Kamil Rytarowski.
8292
8293 2017-09-06  Jan Kratochvil  <jan.kratochvil@redhat.com>
8294
8295         * parse.c (find_minsym_type_and_address): Don't relocate addresses
8296         of TLS symbols.
8297
8298 2017-09-05  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
8299
8300         * objfiles.c (get_objfile_bfd_data): Remove useless obstack_init
8301         call.
8302
8303 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8304
8305         * infrun.c (follow_exec): Call add_thread after
8306         target_find_description.
8307
8308 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8309
8310         * infrun.c (handle_inferior_event_1): When exec'ing, read
8311         stop_pc after follow_exec.
8312
8313 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8314
8315         * remote.c (process_g_packet): Update error message.
8316
8317 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8318
8319         * configure.tgt (gdb_target_obs): Add i386.o for x86_64-*
8320         targets.
8321
8322 2017-09-05  Pedro Alves  <palves@redhat.com>
8323
8324         * eval.c (eval_call, evaluate_funcall): New functions, factored
8325         out from ...
8326         (evaluate_subexp_standard): ... this.
8327
8328 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8329
8330         * amd64-tdep.c (amd64_target_description): Create target
8331         descriptions.
8332         (_initialize_amd64_tdep): Don't call functions
8333         initialize_tdesc_amd64_*.  Add self tests.
8334         * arch/amd64.c (amd64_create_target_description): Add parameter
8335         is_linux.  Call set_tdesc_osabi if is_linux is true.
8336         * arch/amd64.h (amd64_create_target_description): Update the
8337         declaration.
8338         * arch/i386.c (i386_create_target_description): Add parameter
8339         is_linux.  Call set_tdesc_osabi if is_linux is true.
8340         * arch/i386.h (i386_create_target_description): Update
8341         declaration.
8342         * configure.tgt: Add i386.o to gdb_target_obs.
8343         * features/Makefile (XMLTOC): Remove i386/*.xml.
8344         * features/i386/amd64-avx-avx512.c: Remove.
8345         * features/i386/amd64-avx-mpx-avx512-pku.c: Remove.
8346         * features/i386/amd64-avx-mpx.c: Remove.
8347         * features/i386/amd64-avx.c: Remove.
8348         * features/i386/amd64-mpx.c: Remove.
8349         * features/i386/amd64.c: Remove.
8350         * features/i386/i386-avx-avx512.c: Remove.
8351         * features/i386/i386-avx-mpx-avx512-pku.c: Remove.
8352         * features/i386/i386-avx-mpx.c: Remove.
8353         * features/i386/i386-avx.c: Remove.
8354         * features/i386/i386-mmx.c: Remove.
8355         * features/i386/i386-mpx.c: Remove.
8356         * features/i386/i386.c: Remove.
8357         * i386-tdep.c: Don't include features/i386/i386*.c., include
8358         target-descriptions.h and arch/i386.h.
8359         (i386_target_description): Create target descriptions.
8360         (i386_gdbarch_init): Don't call initialize_tdesc_i386_*
8361         functions.  Do self tests.
8362
8363 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8364
8365         * features/Makefile (XMLTOC): Remove i386/amd64XXX-linux.xml.
8366         * features/i386/amd64-avx-avx512-linux.c: Removed.
8367         * features/i386/amd64-avx-linux.c: Removed.
8368         * features/i386/amd64-avx-mpx-avx512-pku-linux.c: Removed.
8369         * features/i386/amd64-avx-mpx-linux.c: Removed.
8370         * features/i386/amd64-linux.c: Removed.
8371         * features/i386/amd64-mpx-linux.c: Removed.
8372         * features/i386/x32-avx-avx512-linux.c: Removed.
8373         * features/i386/x32-avx-linux.c: Removed.
8374         * features/i386/x32-linux.c: Removed.
8375
8376 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8377
8378         * amd64-linux-tdep.c: Include arch/amd64.h.  Don't include
8379         features/i386/*.c.
8380         (amd64_linux_read_description): Call
8381         amd64_create_target_description.
8382         * arch/amd64.c: New file.
8383         * arch/amd64.h: New file.
8384         * configure.tgt (x86_64-*-linux*): Append amd64.o.
8385         * Makefile.in (ALL_64_TARGET_OBS): Append amd64.o.
8386
8387 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8388
8389         * amd64-linux-tdep.c: Don't include amd64-XXX-linux and
8390         x32-XXX-linux.c.  Include 64bit-XX.c and x32-XX.c.
8391         (amd64_linux_read_description): Create target descriptions.
8392         (_initialize_amd64_linux_tdep): Don't call initialize_tdesc_XXX
8393         functions.  Add unit tests.
8394         * features/Makefile (FEATURE_XMLFILES): Append 64bit-XXX.xml and
8395         x32-core.xml.
8396         * features/i386/64bit-avx.c: Generated.
8397         * features/i386/64bit-avx512.c: Generated.
8398         * features/i386/64bit-core.c: Generated.
8399         * features/i386/64bit-linux.c: Generated.
8400         * features/i386/64bit-mpx.c: Generated.
8401         * features/i386/64bit-pkeys.c: Generated.
8402         * features/i386/64bit-segments.c: Generated.
8403         * features/i386/64bit-sse.c: Generated.
8404         * features/i386/x32-core.c: Generated.
8405         * target-descriptions.c (maint_print_c_tdesc_cmd): Print feature
8406         c files for amd64-linux and x32-linux.
8407
8408 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8409
8410         * amd64-linux-tdep.c (amd64_linux_read_description): New
8411         function.
8412         (amd64_linux_core_read_description): Call
8413         amd64_linux_read_description.
8414         (amd64_linux_init_abi): Likewise.
8415         (amd64_x32_linux_init_abi): Likewise.
8416         * amd64-linux-tdep.h (amd64_linux_read_description): Declare.
8417         * x86-linux-nat.c (x86_linux_read_description): Call
8418         amd64_linux_read_description.
8419
8420 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8421
8422         * amd64-linux-tdep.c (amd64_linux_core_read_description): Update
8423         comments.
8424
8425 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8426
8427         * features/Makefile (XMLTOC): Remove i386/i386-XX-linux.xml.
8428         * features/i386/i386-avx-avx512-linux.c: Remove.
8429         * features/i386/i386-avx-linux.c: Remove.
8430         * features/i386/i386-avx-mpx-avx512-pku-linux.c: Remove.
8431         * features/i386/i386-avx-mpx-linux.c: Remove.
8432         * features/i386/i386-linux.c: Remove.
8433         * features/i386/i386-mmx-linux.c: Remove.
8434         * features/i386/i386-mpx-linux.c: Remove.
8435
8436 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8437
8438         * Makefile.in (ALL_TARGET_OBS): Add i386.o.
8439         (SFILES): Add arch/i386.c.
8440         (HFILES_NO_SRCDIR): Add arch/i386.h.
8441         * arch/i386.c: New file.
8442         * arch/i386.h: New file.
8443         * arch/tdesc.h (allocate_target_description): Declare.
8444         (set_tdesc_architecture): Declare.
8445         (set_tdesc_osabi): Declare.
8446         * configure.tgt (i[34567]86-*-linux*): Add i386.o.
8447         * i386-linux-tdep.c: Don't include ../features/i386/32bit-XXX.c.
8448         include arch/i386.h.
8449         (i386_linux_read_description): Remove code and call
8450         i386_create_target_description.
8451         (set_tdesc_architecture): New function.
8452         (set_tdesc_osabi): New function.
8453         * target-descriptions.h (allocate_target_description): Remove.
8454
8455 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8456
8457         * arch/tdesc.h (tdesc_create_feature): Add an argument xml.
8458         * target-descriptions.c (tdesc_create_feature): Likewise, and
8459         adjust code.
8460         * features/i386/32bit-avx.c: Re-generated.
8461         * features/i386/32bit-avx512.c: Re-generated.
8462         * features/i386/32bit-core.c: Re-generated.
8463         * features/i386/32bit-linux.c: Re-generated.
8464         * features/i386/32bit-mpx.c: Re-generated.
8465         * features/i386/32bit-pkeys.c: Re-generated.
8466         * features/i386/32bit-sse.c: Re-generated.
8467
8468 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8469
8470         * regformats/regdef.h (struct reg): Override operator == and !=.
8471
8472 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8473
8474         * arch/tdesc.h: New file.
8475         * regformats/regdat.sh: Generate code using tdesc_create_reg.
8476         * target-descriptions.c: Update comments.
8477         * target-descriptions.h: Include "arch/tdesc.h".  Remove the
8478         declarations.
8479         * features/i386/32bit-avx.c: Re-generated.
8480         * features/i386/32bit-avx512.c: Re-generated.
8481         * features/i386/32bit-core.c: Re-generated.
8482         * features/i386/32bit-linux.c: Re-generated.
8483         * features/i386/32bit-mpx.c: Re-generated.
8484         * features/i386/32bit-pkeys.c: Re-generated.
8485         * features/i386/32bit-sse.c: Re-generated.
8486
8487 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8488
8489         * regformats/regdat.sh: Update generated code.
8490
8491 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8492
8493         * regformats/regdat.sh: Adjust code order.
8494
8495 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8496
8497         * expprint.c (dump_subexp_body_standard): Use constant format
8498         string in fprintf_filtered call.
8499
8500 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8501
8502         * configure.nat: Add "x86-nat.o x86-dregs.o" for NetBSD/amd64 and
8503         NetBSD/i386.
8504         * x86-bsd-nat.c [!DBREG_DRX && __NetBSD__]: Define DBREG_DRX.
8505
8506 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8507
8508         * bsd-kvm.o: Make <sys/user.h> conditional on HAVE_SYS_USER_H.
8509
8510 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8511
8512         * bsd-kvm.o: Define _KMEMUSER.
8513         * configure.ac: Define _KMEMUSER when checking for "struct lwp".
8514         * configure: Regenerate.
8515
8516 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8517
8518         * amd64-fbsd-nat.c: Add include of "x86-xstate.h".
8519         * i386-fbsd-nat.c: Likewise.
8520
8521 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8522
8523         * unittests/array-view-selftests.c: Add include of <array>.
8524
8525 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8526
8527         * spu-tdep.c (flush_ea_cache): Add missing argument to
8528         call_function_by_hand.
8529
8530 2017-09-04  Pedro Alves  <palves@redhat.com>
8531
8532         * NEWS (Safer support for debugging with no debug info): New.
8533
8534 2017-09-04  Pedro Alves  <palves@redhat.com>
8535
8536         * c-exp.y (function_method, function_method_void): Add current
8537         instance flags to TYPE_INSTANCE.
8538         * dwarf2read.c (check_modifier): New.
8539         (compute_delayed_physnames): Assert that only C++ adds delayed
8540         physnames.  Mark fn_fields as const/volatile depending on
8541         physname.
8542         * eval.c (make_params): New type_instance_flags parameter.  Use
8543         it as the new type's instance flags.
8544         (evaluate_subexp_standard) <TYPE_INSTANCE>: Extract the instance
8545         flags element and pass it to make_params.
8546         * expprint.c (print_subexp_standard) <TYPE_INSTANCE>: Handle
8547         instance flags element.
8548         (dump_subexp_body_standard) <TYPE_INSTANCE>: Likewise.
8549         * gdbtypes.h: Include "enum-flags.h".
8550         (type_instance_flags): New enum-flags type.
8551         (TYPE_CONST, TYPE_VOLATILE, TYPE_RESTRICT, TYPE_ATOMIC)
8552         (TYPE_CODE_SPACE, TYPE_DATA_SPACE): Return boolean.
8553         * parse.c (operator_length_standard) <TYPE_INSTANCE>: Adjust.
8554         (follow_type_instance_flags): New function.
8555         (operator_check_standard) <TYPE_INSTANCE>: Adjust.
8556         * parser-defs.h (follow_type_instance_flags): Declare.
8557         * valops.c (value_struct_elt_for_reference): const/volatile must
8558         match too.
8559
8560 2017-09-04  Pedro Alves  <palves@redhat.com>
8561
8562         * cp-namespace.c (cp_search_static_and_baseclasses): Handle
8563         function/method scopes; lookup the nested name as a function local
8564         static variable.
8565
8566 2017-09-04  Pedro Alves  <palves@redhat.com>
8567
8568         (%type <voidval>): Add function_method.
8569         * c-exp.y (exp): New production for calls with no arguments.
8570         (function_method, function_method_void_or_typelist): New
8571         productions.
8572         (exp): New production for "method()::static_var".
8573         * eval.c (evaluate_subexp_standard): Handle OP_FUNC_STATIC_VAR.
8574         * expprint.c (print_subexp_standard, dump_subexp_body_standard):
8575         Handle OP_FUNC_STATIC_VAR.
8576         * parse.c (operator_length_standard):
8577         Handle OP_FUNC_STATIC_VAR.
8578
8579 2017-09-04  Pedro Alves  <palves@redhat.com>
8580
8581         * eval.c (evaluate_subexp_standard): Remove UNOP_MEMVAL_TLS
8582         handling.
8583         * expprint.c (print_subexp_standard, dump_subexp_body_standard):
8584         Ditto.
8585         * parse.c (operator_length_standard, operator_check_standard):
8586         Ditto.
8587         * std-operator.def (UNOP_MEMVAL_TLS): Delete.
8588
8589 2017-09-04  Pedro Alves  <palves@redhat.com>
8590
8591         * ax-gdb.c: Include "typeprint.h".
8592         (gen_expr_for_cast): New function.
8593         (gen_expr) <OP_CAST, OP_CAST_TYPE>: Use it.
8594         <OP_VAR_VALUE, OP_MSYM_VAR_VALUE>: Error out if the variable's
8595         type is unknown.
8596         * dwarf2read.c (new_symbol_full): Fallback to int instead of
8597         nodebug_data_symbol.
8598         * eval.c: Include "typeprint.h".
8599         (evaluate_subexp_standard) <OP_VAR_VALUE, OP_VAR_MSYM_VALUE>:
8600         Error out if symbol has unknown type.
8601         <UNOP_CAST, UNOP_CAST_TYPE>: Common bits factored out to
8602         evaluate_subexp_for_cast.
8603         (evaluate_subexp_for_address, evaluate_subexp_for_sizeof): Handle
8604         OP_VAR_MSYM_VALUE.
8605         (evaluate_subexp_for_cast): New function.
8606         * gdbtypes.c (init_nodebug_var_type): New function.
8607         (objfile_type): Use it to initialize types of variables with no
8608         debug info.
8609         * typeprint.c (error_unknown_type): New.
8610         * typeprint.h (error_unknown_type): New declaration.
8611         * compile/compile-c-types.c (convert_type_basic): Handle
8612         TYPE_CODE_ERROR; warn and fallback to int for variables with
8613         unknown type.
8614
8615 2017-09-04  Pedro Alves  <palves@redhat.com>
8616
8617         * eval.c (evaluate_var_value): New function, factored out from ...
8618         (evaluate_subexp_standard): ... here.
8619
8620 2017-09-04  Pedro Alves  <palves@redhat.com>
8621
8622         * eval.c (evaluate_subexp_standard) <UNOP_COMPLEMENT, UNOP_ADDR>:
8623         Remove useless assignments to 'op'.
8624
8625 2017-09-04  Pedro Alves  <palves@redhat.com>
8626
8627         * eval.c (eval_skip_value): New function.
8628         (evaluate_subexp_standard): Use it.
8629
8630 2017-09-04  Pedro Alves  <palves@redhat.com>
8631
8632         * eval.c (evaluate_subexp_standard): <OP_FUNCALL>: Extract
8633         function name from symbol/minsym and pass it to
8634         error_call_unknown_return_type.
8635
8636 2017-09-04  Pedro Alves  <palves@redhat.com>
8637
8638         * ada-lang.c (resolve_subexp): Handle OP_VAR_MSYM_VALUE.
8639         * ax-gdb.c (gen_msym_var_ref): New function.
8640         (gen_expr): Handle OP_VAR_MSYM_VALUE.
8641         * eval.c (evaluate_var_msym_value): New function.
8642         * eval.c (evaluate_subexp_standard): Handle OP_VAR_MSYM_VALUE.
8643         <OP_FUNCALL>: Extract function name from symbol/minsym and pass it
8644         to call_function_by_hand.
8645         * expprint.c (print_subexp_standard, dump_subexp_body_standard):
8646         Handle OP_VAR_MSYM_VALUE.
8647         (union exp_element) <msymbol>: New field.
8648         * minsyms.h (struct type): Forward declare.
8649         (find_minsym_type_and_address): Declare.
8650         * parse.c (write_exp_elt_msym): New function.
8651         (write_exp_msymbol): Delete, refactored as ...
8652         (find_minsym_type_and_address): ... this new function.
8653         (write_exp_msymbol): Reimplement using OP_VAR_MSYM_VALUE.
8654         (operator_length_standard, operator_check_standard): Handle
8655         OP_VAR_MSYM_VALUE.
8656         * std-operator.def (OP_VAR_MSYM_VALUE): New.
8657
8658 2017-09-04  Pedro Alves  <palves@redhat.com>
8659
8660         * ada-lang.c (ada_evaluate_subexp) <TYPE_CODE_FUNC>: Don't handle
8661         TYPE_GNU_IFUNC specially here.  Throw error if return type is
8662         unknown.
8663         * ada-typeprint.c (print_func_type): Handle functions with unknown
8664         return type.
8665         * c-typeprint.c (c_type_print_base): Handle functions and methods
8666         with unknown return type.
8667         * compile/compile-c-symbols.c (convert_symbol_bmsym)
8668         <mst_text_gnu_ifunc>: Use nodebug_text_gnu_ifunc_symbol.
8669         * compile/compile-c-types.c: Include "objfiles.h".
8670         (convert_func): For functions with unknown return type, warn and
8671         default to int.
8672         * compile/compile-object-run.c (compile_object_run): Adjust call
8673         to call_function_by_hand_dummy.
8674         * elfread.c (elf_gnu_ifunc_resolve_addr): Adjust call to
8675         call_function_by_hand.
8676         * eval.c (evaluate_subexp_standard): Adjust calls to
8677         call_function_by_hand.  Handle functions and methods with unknown
8678         return type.  Pass expect_type to call_function_by_hand.
8679         * f-typeprint.c (f_type_print_base): Handle functions with unknown
8680         return type.
8681         * gcore.c (call_target_sbrk): Adjust call to
8682         call_function_by_hand.
8683         * gdbtypes.c (objfile_type): Leave nodebug text symbol with NULL
8684         return type instead of int.  Make nodebug_text_gnu_ifunc_symbol be
8685         an integer address type instead of nodebug.
8686         * guile/scm-value.c (gdbscm_value_call): Adjust call to
8687         call_function_by_hand.
8688         * infcall.c (error_call_unknown_return_type): New function.
8689         (call_function_by_hand): New "default_return_type" parameter.
8690         Pass it down.
8691         (call_function_by_hand_dummy): New "default_return_type"
8692         parameter.  Use it instead of defaulting to int.  If there's no
8693         default and the return type is unknown, throw an error.  If
8694         there's a default return type, and the called function has no
8695         debug info, then assume the function is prototyped.
8696         * infcall.h (call_function_by_hand, call_function_by_hand_dummy):
8697         New "default_return_type" parameter.
8698         (error_call_unknown_return_type): New declaration.
8699         * linux-fork.c (call_lseek): Cast return type of lseek.
8700         (inferior_call_waitpid, checkpoint_command): Adjust calls to
8701         call_function_by_hand.
8702         * linux-tdep.c (linux_infcall_mmap, linux_infcall_munmap): Adjust
8703         calls to call_function_by_hand.
8704         * m2-typeprint.c (m2_procedure): Handle functions with unknown
8705         return type.
8706         * objc-lang.c (lookup_objc_class, lookup_child_selector)
8707         (value_nsstring, print_object_command): Adjust calls to
8708         call_function_by_hand.
8709         * p-typeprint.c (pascal_type_print_varspec_prefix): Handle
8710         functions with unknown return type.
8711         (pascal_type_print_func_varspec_suffix): New function.
8712         (pascal_type_print_varspec_suffix) <TYPE_CODE_FUNC,
8713         TYPE_CODE_METHOD>: Use it.
8714         * python/py-value.c (valpy_call): Adjust call to
8715         call_function_by_hand.
8716         * rust-lang.c (rust_evaluate_funcall): Adjust call to
8717         call_function_by_hand.
8718         * valarith.c (value_x_binop, value_x_unop): Adjust calls to
8719         call_function_by_hand.
8720         * valops.c (value_allocate_space_in_inferior): Adjust call to
8721         call_function_by_hand.
8722         * typeprint.c (type_print_unknown_return_type): New function.
8723         * typeprint.h (type_print_unknown_return_type): New declaration.
8724
8725 2017-09-04  Pedro Alves  <palves@redhat.com>
8726
8727         * gdbtypes.c (lookup_function_type_with_arguments): Mark function
8728         types with more than one parameter as prototyped.
8729
8730 2017-09-04  Pedro Alves  <palves@redhat.com>
8731
8732         * cli/cli-cmds.c (print_disassembly, disassemble_current_function)
8733         (disassemble_command): Use gdb_disassembly_flags instead of bare
8734         int.
8735         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn)
8736         (dump_insns, do_mixed_source_and_assembly_deprecated)
8737         (do_mixed_source_and_assembly, do_assembly_only, gdb_disassembly):
8738         Use gdb_disassembly_flags instead of bare int.
8739         * disasm.h (DISASSEMBLY_SOURCE_DEPRECATED, DISASSEMBLY_RAW_INSN)
8740         (DISASSEMBLY_OMIT_FNAME, DISASSEMBLY_FILENAME)
8741         (DISASSEMBLY_OMIT_PC, DISASSEMBLY_SOURCE)
8742         (DISASSEMBLY_SPECULATIVE): No longer macros.  Instead they're...
8743         (enum gdb_disassembly_flag): ... values of this new enumeration.
8744         (gdb_disassembly_flags): Define.
8745         (gdb_disassembly)
8746         (gdb_pretty_print_disassembler::pretty_print_insn): Use it.
8747         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Use
8748         gdb_disassembly_flags instead of bare int.
8749         * record-btrace.c (btrace_insn_history)
8750         (record_btrace_insn_history, record_btrace_insn_history_range)
8751         (record_btrace_insn_history_from): Use gdb_disassembly_flags
8752         instead of bare int.
8753         * record.c (get_insn_history_modifiers, cmd_record_insn_history):
8754         Use gdb_disassembly_flags instead of bare int.
8755         * target-debug.h (target_debug_print_gdb_disassembly_flags):
8756         Define.
8757         * target-delegates.c: Regenerate.
8758         * target.c (target_insn_history, target_insn_history_from)
8759         (target_insn_history_range): Use gdb_disassembly_flags instead of
8760         bare int.
8761         * target.h: Include "disasm.h".
8762         (struct target_ops) <to_insn_history, to_insn_history_from,
8763         to_insn_history_range>: Use gdb_disassembly_flags instead of bare
8764         int.
8765         (target_insn_history, target_insn_history_from)
8766         (target_insn_history_range): Use gdb_disassembly_flags instead of
8767         bare int.
8768
8769 2017-09-04  Simon Marchi  <simon.marchi@ericsson.com>
8770
8771         * cli/cli-script.c (build_command_line): For if/while commands,
8772         check whether args is empty.
8773
8774 2017-09-04  Simon Marchi  <simon.marchi@ericsson.com>
8775
8776         * cli/cli-script.h (enum misc_command_type): Move from defs.h.
8777         (enum command_control_type): Likewise.
8778         (struct command_line): Likewise.
8779         (free_command_lines): Likewise.
8780         (struct command_lines_deleter): Likewise.
8781         (command_line_up): Likewise.
8782         (read_command_lines): Likewise.
8783         (read_command_lines_1): Likewise.
8784         * defs.h (enum misc_command_type): Move to cli/cli-script.h.
8785         (enum command_control_type): Likewise.
8786         (struct command_line): Likewise.
8787         (free_command_lines): Likewise.
8788         (struct command_lines_deleter): Likewise.
8789         (command_line_up): Likewise.
8790         (read_command_lines): Likewise.
8791         (read_command_lines_1): Likewise.
8792         * breakpoint.h: Include cli/cli-script.h.
8793         * extension-priv.h: Likewise.
8794         * gdbcmd.h: Likewise.
8795
8796 2017-09-04  Pedro Alves  <palves@redhat.com>
8797
8798         * ada-lang.c (is_known_support_routine): Move sal declaration to
8799         where it is initialized.
8800         * breakpoint.c (create_internal_breakpoint, init_catchpoint)
8801         (parse_breakpoint_sals, decode_static_tracepoint_spec)
8802         (clear_command, update_static_tracepoint): Remove init_sal
8803         references.  Move declarations closer to initializations.
8804         * cli/cli-cmds.c (list_command): Move sal declarations closer to
8805         initializations.
8806         * elfread.c (elf_gnu_ifunc_resolver_stop): Remove init_sal
8807         references.  Move sal declarations closer to initializations.
8808         * frame.c (find_frame_sal): Return a symtab_and_line via function
8809         return instead of output parameter.  Remove init_sal references.
8810         * frame.h (find_frame_sal): Return a symtab_and_line via function
8811         return instead of output parameter.
8812         * guile/scm-frame.c (gdbscm_frame_sal): Adjust.
8813         * guile/scm-symtab.c (stscm_make_sal_smob): Use in-place new
8814         instead of memset.
8815         (gdbscm_find_pc_line): Remove init_sal reference.
8816         * infcall.c (call_function_by_hand_dummy): Remove init_sal
8817         references.  Move declarations closer to initializations.
8818         * infcmd.c (set_step_frame): Update.  Move declarations closer to
8819         initializations.
8820         (finish_backward): Remove init_sal references.  Move declarations
8821         closer to initializations.
8822         * infrun.c (process_event_stop_test, handle_step_into_function)
8823         (insert_hp_step_resume_breakpoint_at_frame)
8824         (insert_step_resume_breakpoint_at_caller): Likewise.
8825         * linespec.c (create_sals_line_offset, decode_digits_ordinary)
8826         (symbol_to_sal): Likewise.
8827         * probe.c (parse_probes_in_pspace): Remove init_sal reference.
8828         * python/py-frame.c (frapy_find_sal): Move sal declaration closer
8829         to its initialization.
8830         * reverse.c (save_bookmark_command): Use new/delete.  Remove
8831         init_sal references.  Move declarations closer to initializations.
8832         * source.c (get_current_source_symtab_and_line): Remove brace
8833         initialization.
8834         (set_current_source_symtab_and_line): Now takes the sal by const
8835         reference.  Remove brace initialization.
8836         (line_info): Remove init_sal reference.
8837         * source.h (set_current_source_symtab_and_line): Now takes a
8838         symtab_and_line via const reference.
8839         * stack.c (set_current_sal_from_frame): Adjust.
8840         (print_frame_info): Adjust.
8841         (get_last_displayed_sal): Return the sal via function return
8842         instead of via output parameter.  Simplify.
8843         (frame_info): Adjust.
8844         * stack.h (get_last_displayed_sal): Return the sal via function
8845         return instead of via output parameter.
8846         * symtab.c (init_sal): Delete.
8847         (find_pc_sect_line): Remove init_sal references.  Move
8848         declarations closer to initializations.
8849         (find_function_start_sal): Remove init_sal references.  Move
8850         declarations closer to initializations.
8851         * symtab.h (struct symtab_and_line): In-class initialize all
8852         fields.
8853         * tracepoint.c (set_traceframe_context)
8854         (print_one_static_tracepoint_marker): Remove init_sal references.
8855         Move declarations closer to initializations.
8856         * tui/tui-disasm.c (tui_show_disassem_and_update_source): Adjust.
8857         * tui/tui-stack.c (tui_show_frame_info): Adjust.  Move
8858         declarations closer to initializations.
8859         * tui/tui-winsource.c (tui_update_source_window_as_is): Remove
8860         init_sal references.  Adjust.
8861
8862 2017-09-04  Pedro Alves  <palves@redhat.com>
8863
8864         * ax-gdb.c (agent_command_1): Use range-for.
8865         * break-catch-throw.c (re_set_exception_catchpoint): Update.
8866         * breakpoint.c: Include "common/array-view.h".
8867         (init_breakpoint_sal, create_breakpoint_sal): Change sals
8868         parameter from struct symtabs_and_lines to
8869         array_view<symtab_and_line>.  Adjust.  Use range-for.  Update.
8870         (breakpoint_sals_to_pc): Change sals parameter from struct
8871         symtabs_and_lines to std::vector reference.
8872         (check_fast_tracepoint_sals): Change sals parameter from struct
8873         symtabs_and_lines to std::array_view.  Use range-for.
8874         (decode_static_tracepoint_spec): Return a std::vector instead of
8875         symtabs_and_lines.  Update.
8876         (create_breakpoint): Update.
8877         (break_range_command, until_break_command, clear_command): Update.
8878         (base_breakpoint_decode_location, bkpt_decode_location)
8879         (bkpt_probe_create_sals_from_location)
8880         (bkpt_probe_decode_location, tracepoint_decode_location)
8881         (tracepoint_probe_decode_location)
8882         (strace_marker_create_sals_from_location): Return a std::vector
8883         instead of symtabs_and_lines.
8884         (strace_marker_create_breakpoints_sal): Update.
8885         (strace_marker_decode_location): Return a std::vector instead of
8886         symtabs_and_lines.  Update.
8887         (update_breakpoint_locations): Change struct symtabs_and_lines
8888         parameters to gdb::array_view.  Adjust.
8889         (location_to_sals): Return a std::vector instead of
8890         symtabs_and_lines.  Update.
8891         (breakpoint_re_set_default): Use std::vector instead of struct
8892         symtabs_and_lines.
8893         (decode_location_default): Return a std::vector instead of
8894         symtabs_and_lines.  Update.
8895         * breakpoint.h: Include "common/array-view.h".
8896         (struct breakpoint_ops) <decode_location>: Now returns a
8897         std::vector instead of returning a symtabs_and_lines via output
8898         parameter.
8899         (update_breakpoint_locations): Change sals parameters to use
8900         gdb::array_view.
8901         * cli/cli-cmds.c (edit_command, list_command): Update to use
8902         std::vector and gdb::array_view.
8903         (ambiguous_line_spec): Adjust to use gdb::array_view and
8904         range-for.
8905         (compare_symtabs): Rename to ...
8906         (cmp_symtabs): ... this.  Change parameters to symtab_and_line
8907         const reference and adjust.
8908         (filter_sals): Rewrite using std::vector and standard algorithms.
8909         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Simplify.
8910         (jump_command): Update to use std::vector.
8911         * linespec.c (struct linespec_state) <canonical_names>: Update
8912         comment.
8913         (add_sal_to_sals_basic): Delete.
8914         (add_sal_to_sals, filter_results, convert_results_to_lsals)
8915         (decode_line_2, create_sals_line_offset)
8916         (convert_address_location_to_sals, convert_linespec_to_sals)
8917         (convert_explicit_location_to_sals, parse_linespec)
8918         (event_location_to_sals, decode_line_full, decode_line_1)
8919         (decode_line_with_current_source)
8920         (decode_line_with_last_displayed, decode_objc)
8921         (decode_digits_list_mode, decode_digits_ordinary, minsym_found)
8922         (linespec_result::~linespec_result): Adjust to use std::vector
8923         instead of symtabs_and_lines.
8924         * linespec.h (linespec_sals::sals): Now a std::vector.
8925         (struct linespec_result): Use std::vector, bool, and in-class
8926         initialization.
8927         (decode_line_1, decode_line_with_current_source)
8928         (decode_line_with_last_displayed): Return std::vector.
8929         * macrocmd.c (info_macros_command): Use std::vector.
8930         * mi/mi-main.c (mi_cmd_trace_find): Use std::vector.
8931         * probe.c (parse_probes_in_pspace, parse_probes): Adjust to use
8932         std::vector.
8933         * probe.h (parse_probes): Return a std::vector.
8934         * python/python.c (gdbpy_decode_line): Use std::vector and
8935         gdb::array_view.
8936         * source.c (select_source_symtab, line_info): Use std::vector.
8937         * stack.c (func_command): Use std::vector.
8938         * symtab.h (struct symtabs_and_lines): Delete.
8939         * tracepoint.c (tfind_line_command, scope_info): Use std::vector.
8940
8941 2017-09-04  Pedro Alves  <palves@redhat.com>
8942
8943         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8944         unittests/array-view-selftests.c.
8945         (SUBDIR_UNITTESTS_OBS): Add array-view-selftests.o.
8946         * common/array-view.h: New file.
8947         * unittests/array-view-selftests.c: New file.
8948
8949 2017-09-04  Pedro Alves  <palves@redhat.com>
8950
8951         * cli/cli-cmds.c (edit_command): Pass message to
8952         ambiguous_line_spec.
8953         (list_command): Pass message to ambiguous_line_spec.  Say
8954         "first"/"last" instead of "start" and "end" to be consistent with
8955         the manual.
8956         (ambiguous_line_spec): Add 'format' and vararg parameters.  Use
8957         them to print formatted message.
8958
8959 2017-09-04  Pedro Alves  <palves@redhat.com>
8960
8961         * btrace.c (ftrace_add_pt): Pass btrace_insn to
8962         ftrace_update_insns by reference instead of pointer.
8963
8964 2017-09-04  Yao Qi  <yao.qi@linaro.org>
8965
8966         * i386-go32-tdep.c: Include x86-xstate.h.
8967         (i386_go32_init_abi): Call i386_target_description.
8968         * i386-tdep.c (i386_target_description): Return tdesc_i386_mmx
8969         if xcr0 is X86_XSTATE_X87_MASK.
8970         * i386-tdep.h (tdesc_i386): Remove the declaration.
8971         (tdesc_i386_mmx): Likewise.
8972
8973 2017-09-04  Yao Qi  <yao.qi@linaro.org>
8974
8975         * i386-fbsd-tdep.c (i386fbsd_core_read_xcr0): Return
8976         X86_XSTATE_SSE_MASK instead of 0.
8977
8978 2017-09-04  Yao Qi  <yao.qi@linaro.org>
8979
8980         * amd64-fbsd-nat.c (amd64fbsd_read_description): Call
8981         i386_target_description.
8982         * i386-fbsd-nat.c (i386fbsd_read_description): Call
8983         i386_target_description.
8984         * i386-tdep.c (i386_gdbarch_init): Likewise.
8985
8986 2017-09-04  Yao Qi  <yao.qi@linaro.org>
8987
8988         * amd64-darwin-tdep.c: Include "x86-xstate.h".
8989         (x86_darwin_init_abi_64): Call amd64_target_description.
8990         * amd64-dicos-tdep.c: Likewise.
8991         * amd64-fbsd-nat.c: Likewise.
8992         * amd64-fbsd-tdep.c: Likewise.
8993         * amd64-nbsd-tdep.c: Likewise.
8994         * amd64-obsd-tdep.c: Likewise.
8995         * amd64-sol2-tdep.c: Likewise.
8996         * amd64-windows-tdep.c: Likewise.
8997         * amd64-tdep.h (tdesc_amd64): Remove the declaration.
8998
8999 2017-09-04  Simon Marchi  <simon.marchi@ericsson.com>
9000
9001         * btrace.h (btrace_insn_s, DEF_VEC_O (btrace_insn_s)): Remove.
9002         (btrace_function) <insn>: Change type to use std::vector.
9003         * btrace.c (ftrace_debug, ftrace_call_num_insn,
9004         ftrace_find_call, ftrace_new_gap, ftrace_update_function,
9005         ftrace_update_insns, ftrace_compute_global_level_offset,
9006         btrace_stitch_bts, btrace_clear, btrace_insn_get,
9007         btrace_insn_end, btrace_insn_next, btrace_insn_prev): Adjust to
9008         change to std::vector.
9009         (ftrace_update_insns): Adjust to change to std::vector, change
9010         type of INSN parameter.
9011         (btrace_compute_ftrace_bts): Adjust call to ftrace_update_insns.
9012         * record-btrace.c (btrace_call_history_insn_range,
9013         btrace_compute_src_line_range,
9014         record_btrace_frame_prev_register): Adjust to change to
9015         std::vector.
9016         * python/py-record-btrace.c (recpy_bt_func_instructions): Adjust
9017         to change to std::vector.
9018
9019 2017-09-03  Tom Tromey  <tom@tromey.com>
9020
9021         * corefile.c (reopen_exec_file): Use std::string.
9022
9023 2017-09-03  Tom Tromey  <tom@tromey.com>
9024
9025         * compile/compile.c (compile_register_name_mangled): Return
9026         std::string.
9027         * compile/compile-loc2c.c (pushf_register_address): Update.
9028         (pushf_register): Update.
9029         * compile/compile-c-types.c (convert_array): Update.
9030         * compile/compile-c-symbols.c (generate_vla_size): Update.
9031         (error_symbol_once): Use a gdb::unique_xmalloc_ptr.
9032         (symbol_substitution_name): Return a gdb::unique_xmalloc_ptr.
9033         (convert_one_symbol): Update.
9034         (generate_c_for_for_one_variable): Update.
9035         * compile/compile-c-support.c (c_get_range_decl_name): Return a
9036         std::string.
9037         (generate_register_struct): Update.
9038         * compile/compile-internal.h (c_get_range_decl_name): Return a
9039         std::string.
9040         (compile_register_name_mangled): Return std::string.
9041
9042 2017-09-03  Tom Tromey  <tom@tromey.com>
9043
9044         * utils.c (perror_string): Return a std::string.
9045         (throw_perror_with_name, perror_warning_with_name): Update.
9046
9047 2017-09-03  Tom Tromey  <tom@tromey.com>
9048
9049         * demangle.c (demangle_command): Use std::string,
9050         unique_xmalloc_ptr.
9051
9052 2017-09-03  Tom Tromey  <tom@tromey.com>
9053
9054         * cli/cli-setshow.c (do_set_command): Use std::string.
9055
9056 2017-09-03  Tom Tromey  <tom@tromey.com>
9057
9058         * cli/cli-cmds.c (cd_command): Use gdb::unique_xmalloc_ptr.
9059
9060 2017-09-03  Tom Tromey  <tom@tromey.com>
9061
9062         * mi/mi-interp.c (mi_cmd_interpreter_exec): Use std::string.
9063
9064 2017-09-03  Tom Tromey  <tom@tromey.com>
9065
9066         * mi/mi-cmd-env.c (env_execute_cli_command): Use
9067         gdb::unique_xmalloc_ptr.
9068
9069 2017-09-03  Tom Tromey  <tom@tromey.com>
9070
9071         * thread.c (print_thread_info_1): Use string_printf.
9072         (thread_apply_command, thread_apply_all_command): Use
9073         std::string.
9074
9075 2017-09-03  Tom Tromey  <tom@tromey.com>
9076
9077         * valprint.c (val_print_string): Update.
9078         * gdbcore.h (memory_error_message): Return std::string.
9079         * corefile.c (memory_error_message): Return std::string.
9080         (memory_error): Update.
9081         * breakpoint.c (insert_bp_location): Update.
9082
9083 2017-09-03  Simon Marchi  <simon.marchi@ericsson.com>
9084
9085         * target/waitstatus.h (target_waitstatus_to_string): Change
9086         return type to std::string.
9087         * target/waitstatus.c (target_waitstatus_to_string): Return
9088         std::string.
9089         * target.h (target_waitstatus_to_string): Remove declaration.
9090         * infrun.c (resume, clear_proceed_status_thread,
9091         print_target_wait_results, do_target_wait, save_waitstatus,
9092         stop_all_threads): Adjust.
9093         * record-btrace.c (record_btrace_wait): Adjust.
9094         * target-debug.h
9095         (target_debug_print_struct_target_waitstatus_p): Adjust.
9096
9097 2017-09-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
9098
9099         PR gdb/22046
9100         * nat/linux-procfs.c (parse_proc_status_state): Fix PROC_STATE_STOPPED
9101         detection.
9102
9103 2017-08-31  Sergio Durigan Junior  <sergiodj@redhat.com>
9104
9105         * NEWS (Changes since GDB 8.0): Add entry mentioning new support
9106         for setting/unsetting environment variables on the remote target.
9107         (New remote packets): Add entries for QEnvironmentHexEncoded,
9108         QEnvironmentUnset and QEnvironmentReset.
9109         * common/environ.c (gdb_environ::operator=): Extend method to
9110         handle m_user_set_env_list and m_user_unset_env_list.
9111         (gdb_environ::clear): Likewise.
9112         (match_var_in_string): Change type of first parameter from 'char
9113         *' to 'const char *'.
9114         (gdb_environ::set): Extend method to handle
9115         m_user_set_env_list and m_user_unset_env_list.
9116         (gdb_environ::unset): Likewise.
9117         (gdb_environ::clear_user_set_env): New method.
9118         (gdb_environ::user_set_envp): Likewise.
9119         (gdb_environ::user_unset_envp): Likewise.
9120         * common/environ.h (gdb_environ): Handle m_user_set_env_list and
9121         m_user_unset_env_list on move constructor/assignment.
9122         (unset): Add new default parameter 'update_unset_list = true'.
9123         (clear_user_set_env): New method.
9124         (user_set_envp): Likewise.
9125         (user_unset_envp): Likewise.
9126         (m_user_set_env_list): New std::set.
9127         (m_user_unset_env_list): Likewise.
9128         * common/rsp-low.c (hex2str): New function.
9129         (bin2hex): New overload for bin2hex function.
9130         * common/rsp-low.c (hex2str): New prototype.
9131         (str2hex): New overload prototype.
9132         * remote.c: Include "environ.h". Add QEnvironmentHexEncoded,
9133         QEnvironmentUnset and QEnvironmentReset.
9134         (remote_protocol_features): Add QEnvironmentHexEncoded,
9135         QEnvironmentUnset and QEnvironmentReset packets.
9136         (send_environment_packet): New function.
9137         (extended_remote_environment_support): Likewise.
9138         (extended_remote_create_inferior): Call
9139         extended_remote_environment_support.
9140         (_initialize_remote): Add QEnvironmentHexEncoded,
9141         QEnvironmentUnset and QEnvironmentReset packet configs.
9142         * unittests/environ-selftests.c (gdb_selftest_env_var):
9143         New variable.
9144         (test_vector_initialization): New function.
9145         (test_init_from_host_environ): Likewise.
9146         (test_reinit_from_host_environ): Likewise.
9147         (test_set_A_unset_B_unset_A_cannot_find_A_can_find_B):
9148         Likewise.
9149         (test_unset_set_empty_vector): Likewise.
9150         (test_vector_clear): Likewise.
9151         (test_std_move): Likewise.
9152         (test_move_constructor):
9153         (test_self_move): Likewise.
9154         (test_set_unset_reset): Likewise.
9155         (run_tests): Rewrite in terms of the functions above.
9156
9157 2017-08-31  Weimin Pan  <weimin.pan@oracle.com>
9158
9159         * sparc64-tdep.c (adi_stat_t): Fix comment formatting.
9160         (adi_available): Use a temp variable of type CORE_ADDR as argument
9161         3 when calling target_auxv_search.
9162         (adi_normalize_address): Use masks and xor operators to calculate
9163         normalized address.
9164         (adi_read_versions, adi_write_versions, adi_print_versions)
9165         (do_examine, do_assign): Use paddress.
9166
9167 2017-08-29  John Baldwin  <jhb@FreeBSD.org>
9168
9169         * mips-fbsd-nat.c (getfpregs_supplies): Return true for FIR.
9170         * mips-fbsd-tdep.c (mips_fbsd_supply_fpregs): Split supply of FSR
9171         out of loop and add supply of FIR.
9172         (mips_fbsd_collect_fpregs): Split collect of FSR out of loop and
9173         add collect of FIR.
9174
9175 2017-08-28  Simon Marchi  <simon.marchi@ericsson.com>
9176
9177         PR gdb/21827
9178         * cli/cli-script.c (define_command): Don't convert command name
9179         to lower case.
9180
9181 2017-08-25  Joel Brobecker  <brobecker@adacore.com>
9182
9183         * ada-lang.c (ada_lookup_struct_elt_type): Remove parameter "dispp".
9184         Update all callers accordingly. Remove all code blocks handling
9185         the case where DISPP is not NULL.
9186
9187 2017-08-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
9188
9189         PR symtab/22003
9190         * dwarf2read.c (dwarf2_const_value_attr, dump_die_shallow)
9191         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
9192         (skip_form_bytes, attr_form_is_constant): Handle DW_FORM_implicit_const.
9193
9194 2017-08-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
9195
9196         * dwarf2read.c (build_type_psymtabs_reader): New prototype.
9197         (process_psymtab_comp_unit): Accept IS_DEBUG_TYPES.
9198         (read_comp_units_from_section): New parameter abbrev_section, use
9199         read_and_check_comp_unit_head, allocate signatured_type if needed.
9200         (create_all_comp_units): Update read_comp_units_from_section caller.
9201
9202 2017-08-23  Pedro Alves  <palves@redhat.com>
9203
9204         PR remote/21852
9205         * remote.c (add_current_inferior_and_thread): Set inferior_ptid
9206         to null_ptid and switch to thread without reading the registers
9207         after adding the inferior.
9208
9209 2017-08-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
9210
9211         * NEWS (Changes since GDB 8.0): Add set compile-gcc and show
9212         compile-gcc.
9213         * compile/compile.c (compile_gcc, show_compile_gcc): New.
9214         (compile_to_object): Implement compile_gcc.
9215         (_initialize_compile): Install "set compile-gcc".  Initialize
9216         compile_gcc.
9217
9218 2017-08-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
9219
9220         * compile/compile.c (compile_to_object): Conditionally call
9221         set_verbose.  Conditionally call compile or compile_v0.
9222
9223 2017-08-07  Weimin Pan  <weimin.pan@oracle.com>
9224
9225         * sparc64-tdep.h: (adi_normalize_address): New export.
9226         * sparc-nat.h: (open_adi_tag_fd): New export.
9227         * sparc64-linux-nat.c: (open_adi_tag_fd): New function.
9228         * sparc64-linux-tdep.c:
9229         (SEGV_ACCADI, SEGV_ADIDERR, SEGV_ADIPERR) New defines.
9230         (sparc64_linux_handle_segmentation_fault): New function.
9231         (sparc64_linux_init_abi): Register
9232         sparc64_linux_handle_segmentation_fault
9233         * sparc64-tdep.c: Include cli-utils.h,gdbcmd.h,auxv.h.
9234         (sparc64_addr_bits_remove): New function.
9235         (sparc64_init_abi): Register sparc64_addr_bits_remove.
9236         (MAX_PROC_NAME_SIZE): New macro.
9237         (AT_ADI_BLKSZ, AT_ADI_NBITS, AT_ADI_UEONADI) New defines.
9238         (sparc64adilist): New variable.
9239         (adi_proc_list): New variable.
9240         (find_adi_info): New function.
9241         (add_adi_info): New function.
9242         (get_adi_info_proc): New function.
9243         (get_adi_info): New function.
9244         (info_adi_command): New function.
9245         (read_maps_entry): New function.
9246         (adi_available): New function.
9247         (adi_normalize_address): New function.
9248         (adi_align_address): New function.
9249         (adi_convert_byte_count): New function.
9250         (adi_tag_fd): New function.
9251         (adi_is_addr_mapped): New function.
9252         (adi_read_versions): New function.
9253         (adi_write_versions): New function.
9254         (adi_print_versions): New function.
9255         (do_examine): New function.
9256         (do_assign): New function.
9257         (adi_examine_command): New function.
9258         (adi_assign_command): New function.
9259         (_initialize_sparc64_adi_tdep): New function.
9260
9261 2017-08-22  Simon Marchi  <simon.marchi@ericsson.com>
9262
9263         * breakpoint.c (breakpoints_info): Rename to ...
9264         (info_breakpoints_command): ... this.
9265         (watchpoints_info): Rename to ...
9266         (info_watchpoints_command): ... this.
9267         (tracepoints_info): Rename to ...
9268         (info_tracepoints_command): ... this.
9269         (_initialize_breakpoint): Adjust.
9270         * dcache.c (dcache_info): Rename to ...
9271         (info_display_command): ... this.
9272         (_initialize_dcache): Adjust.
9273         * frame.h (args_info): Rename to ...
9274         (info_args_command): ... this.
9275         (locals_info): Rename to ...
9276         (info_locals_command): ... this.
9277         * infcmd.c (nofp_registers_info): Rename to ...
9278         (info_registers_command): ... this.
9279         (float_info): Rename to ...
9280         (info_float_command): ... this.
9281         (program_info): Rename to ...
9282         (info_program_command): ... this.
9283         (all_registers_info): Rename to ...
9284         (info_all_registers_command): ... this.
9285         (vector_info): Rename to ...
9286         (info_vector_command): ... this.
9287         (float_info): Rename to ...
9288         (info_float_command): ... this.
9289         (_initialize_infcmd): Adjust.
9290         * inferior.h (term_info): Rename to ...
9291         (info_terminal_command): ... this.
9292         * inflow.c (term_info): Rename to ...
9293         (info_terminal_command): ... this.
9294         (_initialize_inflow): Adjust.
9295         * infrun.c (signals_info): Rename to ...
9296         (info_signals_command): ... this.
9297         (_initialize_infrun): Adjust.
9298         * objc-lang.c (classes_info): Rename to ...
9299         (info_classes_command): ... this.
9300         (selectors_info): Rename to ...
9301         (info_selectors_command): ... this.
9302         (_initialize_objc_language): Adjust.
9303         * printcmd.c (sym_info): Rename to ...
9304         (info_symbol_command): ... this.
9305         (address_info): Rename to ...
9306         (info_address_command): ... this.
9307         (display_info): Rename to ...
9308         (info_display_command): ... this.
9309         (_initialize_printcmd): Adjust.
9310         * reverse.c (bookmarks_info): Rename to ...
9311         (info_breakpoints_command): ... this.
9312         (_initialize_reverse): Adjust.
9313         * ser-go32.c (dos_info): Rename to ...
9314         (info_serial_command): ... this.
9315         (_initialize_ser_dos): Adjust.
9316         * skip.c (skip_info): Rename to ...
9317         (info_skip_command): ... this.
9318         (_initialize_step_skip): Adjust.
9319         * source.c (line_info): Rename to ...
9320         (info_line_command): ... this.
9321         (source_info): Rename to ...
9322         (info_source_command)
9323         * stack.c (frame_info): Rename to ...
9324         (info_frame_command): ... this.
9325         (locals_info): Rename to ...
9326         (info_locals_command): ... this.
9327         (args_info): Rename to ...
9328         (info_args_command): ... this.
9329         (_initialize_stack): Adjust.
9330         * symtab.c (sources_info): Rename to ...
9331         (info_sources_command): ... this.
9332         (variables_info): Rename to ...
9333         (info_variables_command): ... this.
9334         (functions_info): Rename to ...
9335         (info_functions_command): ... this.
9336         (types_info): Rename to ...
9337         (info_types_command): ... this.
9338         (_initialize_symtab): Adjust.
9339         * target.c (target_info): Rename to ...
9340         (info_target_command): ... this.
9341         (initialize_targets): Adjust.
9342         * tracepoint.c (tvariables_info): Rename to ...
9343         (info_tvariables_command): ... this.
9344         (scope_info): Rename to ...
9345         (info_scope_command): ... this.
9346         (trace_dump_actions): Adjust.
9347         (_initialize_tracepoint): Adjust.
9348
9349 2017-08-22  Tom Tromey  <tom@tromey.com>
9350
9351         * breakpoint.h (install_breakpoint): Update.
9352         * breakpoint.c (add_solib_catchpoint): Update.
9353         (install_breakpoint): Change argument to a std::unique_ptr.
9354         (create_fork_vfork_event_catchpoint): Use std::unique_ptr.
9355         (create_breakpoint_sal, create_breakpoint): Update.
9356         (watch_command_1, catch_exec_command_1)
9357         (strace_marker_create_breakpoints_sal): Use std::unique_ptr.
9358         (add_to_breakpoint_chain): Change argument to a std::unique_ptr.
9359         Return the breakpoint.
9360         (set_raw_breakpoint_without_location, set_raw_breakpoint)
9361         (new_single_step_breakpoint): Update.
9362         * break-catch-throw.c (handle_gnu_v3_exceptions): Use
9363         std::unique_ptr.
9364         * break-catch-syscall.c (create_syscall_event_catchpoint): Use
9365         std::unique_ptr.
9366         * break-catch-sig.c (create_signal_catchpoint): Use
9367         std::unique_ptr.
9368         * ada-lang.c (create_ada_exception_catchpoint): Use
9369         std::unique_ptr.
9370
9371 2017-08-22  Tom Tromey  <tom@tromey.com>
9372
9373         * breakpoint.c (add_solib_catchpoint): Use std::unique_ptr.
9374
9375 2017-08-22  Tom Tromey  <tom@tromey.com>
9376
9377         * psymtab.c (psymtab_search_name): Return a unique_xmalloc_ptr.
9378         (lookup_partial_symbol): Update.
9379
9380 2017-08-22  Tom Tromey  <tom@tromey.com>
9381
9382         * source.h (rewrite_source_path): Return a unique_xmalloc_ptr.
9383         * source.c (rewrite_source_path): Return a unique_xmalloc_ptr.
9384         (find_and_open_source, symtab_to_fullname): Update.
9385         * psymtab.c (psymtab_to_fullname): Update.
9386
9387 2017-08-22  Tom Tromey  <tom@tromey.com>
9388
9389         * exec.c (exec_file_attach): Update.
9390         * linux-thread-db.c (try_thread_db_load): Update.
9391         * guile/scm-safe-call.c (gdbscm_safe_source_script): Update.
9392         * utils.c (gdb_realpath): Change return type.
9393         (gdb_realpath_keepfile): Update.
9394         (gdb_realpath_check_trailer, gdb_realpath_tests): New functions.
9395         (_initialize_utils): Register the new self test.
9396         * source.c (openp): Update.
9397         (find_and_open_source): Update.
9398         * nto-tdep.c (nto_find_and_open_solib): Update.
9399         * main.c (set_gdb_data_directory): Update.
9400         (captured_main_1): Update.
9401         * dwarf2read.c (dwarf2_get_dwz_file): Update
9402         (dw2_map_symbol_filenames): Update.
9403         * auto-load.c (auto_load_safe_path_vec_update): Update.
9404         (filename_is_in_auto_load_safe_path_vec): Change type of
9405         "filename_realp".
9406         (auto_load_objfile_script): Update.
9407         (file_is_auto_load_safe): Update.  Use std::string.
9408         * utils.h (gdb_realpath): Return a gdb::unique_xmalloc_ptr.
9409
9410 2017-08-22  Tom Tromey  <tom@tromey.com>
9411
9412         * utils.c (gdb_realpath_keepfile): Return a
9413         gdb::unique_xmalloc_ptr.
9414         * exec.c (exec_file_attach): Update.
9415         * utils.h (gdb_realpath_keepfile): Return a
9416         gdb::unique_xmalloc_ptr.
9417
9418 2017-08-22  Tom Tromey  <tom@tromey.com>
9419
9420         * compile/compile.c (compile_file_command): Use
9421         gdb::unique_xmalloc_ptr, std::string.
9422         * utils.c (gdb_abspath): Change return type.
9423         * source.c (openp): Update.
9424         * objfiles.c (allocate_objfile): Update.
9425         * main.c (set_gdb_data_directory): Update.
9426         * utils.h (gdb_abspath): Return a gdb::unique_xmalloc_ptr.
9427
9428 2017-08-22  Zhouyi Zhou  <zhouzhouyi@gmail.com>
9429
9430         * cli-cmds.c (list_commands): List actual code around more than
9431         one location.
9432
9433 2017-08-21  John Baldwin  <jhb@FreeBSD.org>
9434
9435         * fbsd-nat.c (fbsd_add_threads): Use array type for `lwps'.
9436
9437 2017-08-21  Pedro Alves  <palves@redhat.com>
9438
9439         PR gdb/19487
9440         * c-exp.y (variable production): Handle function aliases.
9441         * minsyms.c (msymbol_is_text): New function.
9442         * minsyms.h (msymbol_is_text): Declare.
9443         * symtab.c (find_function_alias_target): New function.
9444         * symtab.h (find_function_alias_target): Declare.
9445
9446 2017-08-21  Pedro Alves  <palves@redhat.com>
9447
9448         * eval.c (evaluate_subexp_standard) <OP_TYPE>: Don't dig past
9449         typedefs.
9450         * typeprint.c (whatis_exp): If handling "whatis", and expression
9451         is OP_TYPE, strip one typedef level.  Otherwise don't strip
9452         typedefs here.
9453         * valops.c (value_cast): Save "to" type before resolving
9454         stubs/typedefs.  Use that type as resulting value's type.
9455
9456 2017-08-18  Tom Tromey  <tom@tromey.com>
9457             Pedro Alves  <palves@redhat.com>
9458
9459         * spu-multiarch.c (parse_spufs_run): Use scoped_restore.
9460         * sol-thread.c (sol_thread_resume, sol_thread_wait)
9461         (sol_thread_xfer_partial, rw_common): Use scoped_restore.
9462         * procfs.c (procfs_do_thread_registers): Use scoped_restore.
9463         * proc-service.c (ps_xfer_memory): Use scoped_restore.
9464         * linux-tdep.c (linux_corefile_thread): Remove a cleanup.
9465         (linux_get_siginfo_data): Add "thread" argument.  Use
9466         scoped_restore.
9467         * linux-nat.c (linux_child_follow_fork)
9468         (check_stopped_by_watchpoint): Use scoped_restore.
9469         * infrun.c (displaced_step_prepare_throw, write_memory_ptid)
9470         (THREAD_STOPPED_BY, handle_signal_stop): Use scoped_restore.
9471         (restore_inferior_ptid, save_inferior_ptid): Remove.
9472         * btrace.c (btrace_fetch): Use scoped_restore.
9473         * bsd-uthread.c (bsd_uthread_fetch_registers)
9474         (bsd_uthread_store_registers): Use scoped_restore.
9475         * breakpoint.c (reattach_breakpoints, detach_breakpoints): Use
9476         scoped_restore.
9477         * aix-thread.c (aix_thread_resume, aix_thread_wait)
9478         (aix_thread_xfer_partial): Use scoped_restore.
9479         * inferior.h (save_inferior_ptid): Remove.
9480
9481 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9482
9483         PR tdep/21818
9484         * arm-tdep.c (gdb_print_insn_arm): Mark
9485         USER_SPECIFIED_MACHINE_TYPE if exec_bfd isn't NULL.
9486
9487 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9488
9489         * NEWS: Mention GDBserver's new option "--selftest".
9490         * Makefile.in (SFILES): Remove selftest.c, add common/selftest.c.
9491         * selftest.c: Move it to common/selftest.c.
9492         * selftest.h: Move it to common/selftest.h.
9493         * selftest-arch.c (reset): New function.
9494         (tests_with_arch): Call reset.
9495
9496 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9497
9498         * selftest.c (run_tests): Don't call QUIT.  Call debug_printf
9499         instead of exception_fprintf and printf_filtered.
9500
9501 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9502
9503         * selftest.c (register_self_test): Rename it to
9504         selftests::register_test.
9505         (run_self_tests): selftest::run_tests.
9506         * selftest.h: Update declarations.
9507         * selftest-arch.c (register_self_test_foreach_arch): Rename it to
9508         selftests::register_test_foreach_arch.
9509         * selftest-arch.h: Update declaration.
9510         * aarch64-tdep.c: Update.
9511         * arm-tdep.c: Likewise.
9512         * disasm-selftests.c: Likewise.
9513         * dwarf2loc.c: Likewise.
9514         * dwarf2-frame.c: Likewise.
9515         * findvar.c: Likewise.
9516         * gdbarch-selftests.c: Likewise.
9517         * maint.c (maintenance_selftest): Likewise.
9518         * regcache.c: Likewise.
9519         * rust-exp.y: Likewise.
9520         * selftest-arch.c: Likewise.
9521         * unittests/environ-selftests.c: Likewise.
9522         * unittests/function-view-selftests.c: Likewise.
9523         * unittests/offset-type-selftests.c: Likewise.
9524         * unittests/optional-selftests.c: Likewise.
9525         * unittests/scoped_restore-selftests.c: Likewise.
9526         * utils-selftests.c: Likewise.
9527
9528 2017-08-17  Pedro Alves  <palves@redhat.com>
9529
9530         * cli/cli-cmds.c (source_command): Delete 'old_source_verbose'
9531         local.
9532
9533 2017-08-17  Pedro Alves  <palves@redhat.com>
9534
9535         * dwarf2read.c (struct dwarf2_cu) <line_header_die_owner>: New
9536         field.
9537         (reset_die_in_process): Delete, replaced by ...
9538         (process_die_scope): ... this new class.  Make it responsible for
9539         freeing cu->line_header too.
9540         (process_die): Use process_die_scope.
9541         (handle_DW_AT_stmt_list): Record the line header's owner CU/DIE in
9542         cu->line_header_die_owner.  Don't release the line header if it's
9543         owned by the CU.
9544         (setup_type_unit_groups): Make the CU/DIE own the line header.
9545         Don't release the line header here.
9546
9547 2017-08-17  Alex Lindsay  <alexlindsay239@gmail.com>  (tiny change)
9548
9549         * elfread.c (elf_read_minimal_symbols): xfree synthsyms.
9550
9551 2017-08-17  Ruslan Kabatsayev  <b7.10110111@gmail.com>
9552
9553         * NEWS: Mention new shortcuts for nexti and stepi in TUI
9554         Single-Key mode
9555
9556 2017-08-16  Ruslan Kabatsayev  <b7.10110111@gmail.com>
9557
9558         * tui/tui.c (tui_commands): Add "nexti" and "stepi" to the Single-Key
9559         mode command list.
9560
9561 2017-08-15  Stafford Horne  <shorne@gmail.com>
9562
9563         * MAINTAINERS (Write After Approval): Add Stafford Horne.
9564
9565 2017-08-15  Stafford Horne  <shorne@gmail.com>
9566
9567         * xtensa-tdep.c (xtensa_init_reggroups): Use xstrdup for cpname.
9568
9569 2017-08-15  Sergio Durigan Junior  <sergiodj@redhat.com>
9570
9571         PR gdb/21954
9572         * infcmd.c (unset_environment_command): Use the 'clear' method on
9573         the environment instead of resetting it.
9574
9575 2017-08-15  John Baldwin  <jhb@FreeBSD.org>
9576
9577         * fbsd-nat.c (fbsd_convert_siginfo): Fix compile on big-endian
9578         platforms.
9579
9580 2017-08-14  Tom Tromey  <tom@tromey.com>
9581
9582         * valprint.c (print_octal_chars): Use HOST_CHAR_BIT.
9583         (print_binary_chars): Likewise.
9584         (BITS_IN_BYTES): Remove.
9585
9586 2017-08-14  Tom Tromey  <tom@tromey.com>
9587
9588         PR gdb/21675
9589         * valprint.c (LOW_ZERO): Change value to 034.
9590         (print_octal_chars): Add static_asserts for octal constants.
9591         * printcmd.c (print_scalar_formatted): Add 'd' case.
9592
9593 2017-08-11  Tom Tromey  <tom@tromey.com>
9594
9595         * symfile.c (add_symbol_file_command): Use std::vector.
9596
9597 2017-08-14  Tom Tromey  <tom@tromey.com>
9598
9599         * break-catch-throw.c (handle_gnu_v3_exceptions): Use std::move.
9600         * break-catch-syscall.c (create_syscall_event_catchpoint): Use
9601         std::move.
9602         * break-catch-sig.c (create_signal_catchpoint): Use std::move.
9603
9604 2017-08-11  Pedro Alves  <palves@redhat.com>
9605
9606         * infrun.c (process_event_stop_test): Adjust
9607         function_name_is_marked_for_skip call.
9608         * skip.c: Include <list>.
9609         (skiplist_entry): Make it a class with private fields, and
9610         getters/setters.
9611         (skiplist_entry_chain): Delete.
9612         (skiplist_entries): New.
9613         (skiplist_entry_count): Delete.
9614         (highest_skiplist_entry_num): New.
9615         (ALL_SKIPLIST_ENTRIES, ALL_SKIPLIST_ENTRIES_SAFE): Delete.
9616         (add_skiplist_entry): Delete.
9617         (skiplist_entry::skiplist_entry): New.
9618         (skiplist_entry::add_entry): New.
9619         (skip_file_command, skip_function): Adjust.
9620         (compile_skip_regexp): Delete.
9621         (skip_command): Don't compile regexp here.  Adjust to use
9622         skiplist_entry::add_entry.
9623         (skip_info): Adjust to use range-for and getters.
9624         (skip_enable_command, skip_disable_command): Adjust to use
9625         range-for and setters.
9626         (skip_delete_command): Adjust to use std::list.
9627         (add_skiplist_entry): Delete.
9628         (skip_file_p): Delete, refactored as ...
9629         (skiplist_entry::do_skip_file_p): ... this new method.
9630         (skip_gfile_p): Delete, refactored as ...
9631         (skiplist_entry::do_gskip_file_p): ... this new method.
9632         (skip_function_p, skip_rfunction_p): Delete, refactored as ...
9633         (skiplist_entry::skip_function_p): ... this new method.
9634         (function_name_is_marked_for_skip): Now returns bool, and takes
9635         the function sal by const reference.  Adjust to use range-for and
9636         skiplist_entry methods.
9637         (_initialize_step_skip): Remove references to
9638         skiplist_entry_chain, skiplist_entry_count.
9639         * skip.h (function_name_is_marked_for_skip): Now returns bool, and
9640         takes the function sal by const reference.
9641
9642 2017-08-11  Yao Qi  <yao.qi@linaro.org>
9643
9644         * dwarf2-frame.c (clear_pointer_cleanup): Remove.
9645         (dwarf2_frame_cache): Remove reset_cache_cleanup.
9646         (dwarf2_frame_cache):
9647         * frame-unwind.c (frame_unwind_try_unwinder): Catch
9648         RETURN_MASK_ALL and set *this_case to NULL.
9649         * frame-unwind.h: Update comments.
9650
9651 2017-08-11  Yao Qi  <yao.qi@linaro.org>
9652
9653         * dwarf2-frame.c (dwarf2_frame_state_alloc_regs): Remove.
9654         (dwarf2_frame_state_copy_regs): Remove.
9655         (dwarf2_frame_state_free_regs): Remove.
9656         (dwarf2_frame_state::~dwarf2_frame_state): Remove.
9657         (dwarf2_restore_rule): Call method .alloc_regs instead of
9658         dwarf2_frame_state_alloc_regs.
9659         (execute_cfa_program): Likewise.  Call dwarf2_frame_state_reg_info
9660         constructor.  Call std::move.
9661         (dwarf2_fetch_cfa_info): Don't call dwarf2_frame_state_copy_regs.
9662         (dwarf2_frame_cache): Likewise.
9663
9664         [GDB_SELF_TEST]: Include selftest.h and
9665         selftest-arch.h.
9666         [GDB_SELF_TEST] (execute_cfa_program_test): New function.
9667         (_initialize_dwarf2_frame) [GDB_SELF_TEST]: Register
9668         execute_cfa_program_test.
9669
9670         * dwarf2-frame.h (dwarf2_frame_state_reg_info): Add ctor, dtor,
9671         copy ctor, assignment operator, move assignment.
9672         <alloc_regs>: New method.
9673         <swap>: New method.
9674         (struct dwarf2_frame_state): Delete dtor.
9675         (dwarf2_frame_state_alloc_regs): Remove declaration.
9676         * sparc-tdep.c (sparc_execute_dwarf_cfa_vendor_op): Don't call
9677         dwarf2_frame_state_alloc_regs, use .alloc_regs instead.
9678
9679 2017-08-11  Yao Qi  <yao.qi@linaro.org>
9680
9681         * dwarf2-frame.c (dwarf2_frame_state_free): Remove.
9682         (dwarf2_frame_state::dwarf2_frame_state): New.
9683         (dwarf2_frame_state::~dwarf2_frame_state): New.
9684         (dwarf2_fetch_cfa_info): Update.
9685         (dwarf2_frame_cache): Remove old_chain.  Change 'fs' to an object
9686         rather than a pointer.  Update code.
9687         * dwarf2-frame.h (struct dwarf2_frame_state): Declare ctor and
9688         dtor.
9689         <data_align, code_align, retaddr_column>: Change them to const.
9690         <armcc_cfa_offsets_sf, armcc_cfa_offsets_reversed>: Change them
9691         to bool.
9692
9693 2017-08-11  Yao Qi  <yao.qi@linaro.org>
9694
9695         * dwarf2-frame.h (struct dwarf2_frame_state_reg) <exp_len>: Remove.
9696         <loc.exp>: New field.
9697         * dwarf2-frame.c (execute_cfa_program): Update.
9698         (dwarf2_frame_prev_register): Update.
9699
9700 2017-08-10  Pedro Alves  <palves@redhat.com>
9701
9702         * common/gdb_unique_ptr.h (xfree_deleter<T[]>): Define.
9703
9704 2017-08-09  John Baldwin  <jhb@FreeBSD.org>
9705
9706         * fbsd-nat.c (struct fbsd_fork_info): Remove.
9707         (fbsd_pending_children): Use std::list.
9708         (fbsd_remember_child): Likewise.
9709         (fbsd_is_child_pending): Likewise.
9710         (fbsd_pending_vfork_done): Use std::forward_list.
9711         (fbsd_add_vfork_done): Likewise.
9712         (fbsd_is_vfork_done_pending): Likewise.
9713         (fbsd_next_vfork_done): Likewise.
9714
9715 2017-08-09  John Baldwin  <jhb@FreeBSD.org>
9716
9717         * fbsd-nat.c [HAVE_KINFO_GETVMMAP] (struct free_deleter): New.
9718         (fbsd_find_memory_regions): Use free_deleter with std::unique_ptr.
9719         [!HAVE_KINFO_GETVMMAP] (fbsd_find_memory_regions): Use std::string
9720         for `mapfilename'.
9721         (fbsd_xfer_partial): Use gdb::byte_vector.
9722         (fbsd_add_threads): Use gdb::unique_xmalloc_ptr.
9723
9724 2017-08-09  John Baldwin  <jhb@FreeBSD.org>
9725
9726         * fbsd-nat.c: [!HAVE_KINFO_GETVMMAP]: Include <sys/user.h> and
9727         "filestuff.h".
9728         (fbsd_find_memory_regions): Fix `mapfile' initialization.
9729
9730 2017-08-09  Tom Tromey  <tom@tromey.com>
9731
9732         * skip.c (skiplist_entry): New constructor.
9733         (skiplist_entry::enabled, skiplist_entry::function_is_regexp)
9734         (skiplist_entry::file_is_glob): Now bool.
9735         (skiplist_entry::file, skiplist_entry::function): Now
9736         std::string.
9737         (make_skip_entry): Return a unique_ptr.  Use new.
9738         (free_skiplist_entry, free_skiplist_entry_cleanup)
9739         (make_free_skiplist_entry_cleanup): Remove.
9740         (skip_command, skip_disable_command, add_skiplist_entry)
9741         (skip_form_bytes, compile_skip_regexp, skip_command, skip_info)
9742         (skip_file_p, skip_gfile_p, skip_function_p, skip_rfunction_p)
9743         (function_name_is_marked_for_skip): Update.
9744         (skip_delete_command): Update.  Use delete.
9745
9746 2017-08-09  Jiong Wang  <jiong.wang@arm.com>
9747
9748         * aarch64-linux-tdep.c: Include "auxv.h" and "elf/common.h".
9749         (aarch64_linux_core_read_description): New function.
9750         (aarch64_linux_init_abi): Register gdbarch_core_read_description.
9751
9752 2017-08-09  Pedro Alves  <palves@redhat.com>
9753
9754         * cp-name-parser.y (cp_comp_to_string): Return a
9755         gdb::unique_xmalloc_ptr<char>.
9756         * cp-support.c (replace_typedefs_qualified_name)
9757         (replace_typedefs): Adjust to use gdb::unique_xmalloc_ptr<char>.
9758         (cp_canonicalize_string_full): Use op= instead of explicit
9759         convertion.
9760         (cp_class_name_from_physname, method_name_from_physname)
9761         (cp_func_name, cp_remove_params): Adjust to use
9762         gdb::unique_xmalloc_ptr<char>.
9763         * cp-support.h (cp_comp_to_string): Return a
9764         gdb::unique_xmalloc_ptr<char>.
9765         * python/py-type.c (typy_lookup_type): Adjust to use
9766         gdb::unique_xmalloc_ptr<char>.
9767
9768 2017-08-09  H.J. Lu  <hongjiu.lu@intel.com>
9769
9770         * dwarf2read.c (dwarf2_string_attr): Fix a typo.
9771
9772 2017-08-09  Alex Lindsay  <alexlindsay239@gmail.com>
9773             Yao Qi  <yao.qi@linaro.org>
9774
9775         * cp-support.c (cp_canonicalize_string_full): Use
9776         gdb::unique_xmalloc_ptr<char>.
9777         (cp_canonicalize_string): Likewise.
9778
9779 2017-08-09  Yao Qi  <yao.qi@linaro.org>
9780
9781         * features/Makefile (WHICH): Remove i386/ non-linux stuff.
9782         * regformats/i386/amd64-avx-avx512.dat: Remove.
9783         * regformats/i386/amd64-avx-mpx-avx512-pku.dat: Remove.
9784         * regformats/i386/amd64-avx-mpx.dat:Remove.
9785         * regformats/i386/amd64-avx.dat: Remove.
9786         * regformats/i386/amd64-mpx.dat: Remove.
9787         * regformats/i386/i386-avx-avx512.dat: Remove.
9788         * regformats/i386/i386-avx-mpx-avx512-pku.dat: Remove.
9789         * regformats/i386/i386-avx-mpx.dat: Remove.
9790         * regformats/i386/i386-mmx.dat: Remove.
9791         * regformats/i386/i386-mpx.dat: Remove.
9792
9793 2017-08-09  Yao Qi  <yao.qi@linaro.org>
9794
9795         * amd64-tdep.h (tdesc_x32): Remove the declaration.
9796         * amd64-tdep.c: Don't include features/i386/x32*.c.
9797         (_initialize_amd64_tdep): Don't call initialize_tdesc_x32*
9798         functions.
9799         * features/Makefile (WHICH): Remove i386/x32, i386/x32-avx,
9800         and i386/x32-avx-avx512.
9801         (XMLTOC): Remove i386/x32-avx.xml, i386/x32-avx-avx512.xml,
9802         and i386/x32.xml.
9803         * features/i386/x32-avx-avx512.c: Removed.
9804         * features/i386/x32-avx-avx512.xml: Removed.
9805         * features/i386/x32-avx.c: Removed.
9806         * features/i386/x32-avx.xml: Removed.
9807         * features/i386/x32.c: Removed.
9808         * features/i386/x32.xml: Removed.
9809         * regformats/i386/x32-avx-avx512.dat: Removed.
9810         * regformats/i386/x32-avx.dat: Removed.
9811         * regformats/i386/x32.dat: Removed.
9812
9813 2017-08-07  Maciej W. Rozycki  <macro@imgtec.com>
9814
9815         PR breakpoints/21886
9816         * mem-break.c (default_memory_insert_breakpoint): Use
9817         `->placed_address' rather than `->reqstd_address' for the
9818         breakpoint location.
9819
9820 2017-08-07  Maciej W. Rozycki  <macro@imgtec.com>
9821
9822         * arch-utils.c (default_print_insn): Remove arch/mach/endian
9823         assertions.
9824
9825 2017-08-07  Maciej W. Rozycki  <macro@imgtec.com>
9826
9827         * gdbarch.sh (gdbarch_info): Replace the `tdep_info' member with
9828         a union of `tdep_info', `tdesc_data' and `id'.
9829         * aarch64-tdep.c (aarch64_gdbarch_init): Use `info.tdesc_data'
9830         rather than `info.tdep_info'.
9831         * amd64-linux-tdep.c (amd64_linux_init_abi): Likewise.
9832         * i386-linux-tdep.c (i386_linux_init_abi): Likewise.
9833         * i386-tdep.c (i386_gdbarch_init): Likewise.
9834         * mips-linux-tdep.c (mips_linux_init_abi): Likewise.
9835         * mips-tdep.c (mips_gdbarch_init): Likewise.
9836         * nds32-tdep.c (nds32_gdbarch_init): Likewise.
9837         * rs6000-tdep.c (rs6000_gdbarch_init): Likewise.
9838         * ppc-linux-tdep.c (ppu2spu_sniffer): Use `info.id' rather than
9839         `info.tdep_info'.
9840         (ppc_linux_init_abi): Use `info.tdesc_data' rather than
9841         `info.tdep_info'.
9842         * sparc-tdep.c (sparc32_gdbarch_init): Likewise.
9843         * spu-multiarch.c (spu_gdbarch): Use `info.id' rather than
9844         `info.tdep_info'.
9845         * spu-tdep.c (spu_gdbarch_init): Likewise.
9846         * gdbarch.h: Regenerate.
9847
9848 2017-08-07  Leszek Swirski  <leszeks@google.com>
9849
9850         PR symtab/20899
9851         * dwarf2read.c (dwarf2_string_attr): Allow DW_FORM_GNU_strp_alt.
9852
9853 2017-08-07  Simon Marchi  <simon.marchi@ericsson.com>
9854
9855         * remote-sim.c (gdbsim_load): Remove char **argv local variable.
9856         (gdbsim_open): Rename gdb_argv args object to argv.
9857
9858 2017-08-05  Tom Tromey  <tom@tromey.com>
9859
9860         * compile/compile-object-load.c (compile_object_load): Use
9861         gdb::unique_xmalloc_ptr.
9862         * cli/cli-dump.c (scan_filename): Rename from
9863         scan_filename_with_cleanup.  Change return type.
9864         (scan_expression): Rename from scan_expression_with_cleanup.
9865         Change return type.
9866         (dump_memory_to_file, dump_value_to_file, restore_command):
9867         Use gdb::unique_xmalloc_ptr.  Update.
9868         * cli/cli-cmds.c (find_and_open_script): Use
9869         gdb::unique_xmalloc_ptr.
9870         * tracefile-tfile.c (tfile_open): Use gdb::unique_xmalloc_ptr.
9871         * symmisc.c (maintenance_print_symbols)
9872         (maintenance_print_msymbols): Use gdb::unique_xmalloc_ptr.
9873         * symfile.c (symfile_bfd_open, generic_load)
9874         (add_symbol_file_command, remove_symbol_file_command): Use
9875         gdb::unique_xmalloc_ptr.
9876         * source.c (openp): Use gdb::unique_xmalloc_ptr.
9877         * psymtab.c (maintenance_print_psymbols): Use
9878         gdb::unique_xmalloc_ptr.
9879         * corelow.c (core_open): Use gdb::unique_xmalloc_ptr.
9880         * breakpoint.c (save_breakpoints): Use gdb::unique_xmalloc_ptr.
9881         * solib.c (solib_map_sections): Use gdb::unique_xmalloc_ptr.
9882         (reload_shared_libraries_1): Likewise.
9883
9884 2017-08-05  Tom Tromey  <tom@tromey.com>
9885
9886         * rust-exp.y (rust_op_ptr, set_field): Remove typedefs.
9887         (rust_op_vector, rust_set_vector): New typedefs.
9888         (current_parser): New global.
9889         (work_obstack): Change to pointer type.  Update all users.
9890         (rust_ast, pstate): Remove globals.
9891         (struct rust_parser): New.
9892         (%union) <params, field_inits>: Change type.
9893         (start, tuple_expr, unit_expr, struct_expr_list, literal)
9894         (field_expr, expr_list, maybe_expr_list, type_list): Update.
9895         (ast_call_ish, ast_path, ast_function_type, ast_tuple_type)
9896         (convert_params_to_types, convert_params_to_expression): Change
9897         type of "params".
9898         (ast_string): Change type of "fields".
9899         (rust_parse): Make a rust_parser.  Remove cleanups.
9900         (rust_lex_tests): Make and install an auto_obstack.
9901
9902 2017-08-04  Yao Qi  <yao.qi@linaro.org>
9903
9904         * configure.srv (ipa_x32_linux_regobj): New.
9905         * linux-amd64-ipa.c (get_ipa_tdesc): Use X86_TDESC_AVX_AVX512
9906         instead of X86_TDESC_AVX512.
9907         (initialize_low_tracepoint): Call
9908         init_registers_x32_avx_avx512_linux.
9909
9910 2017-08-04  Yao Qi  <yao.qi@linaro.org>
9911
9912         * utils.h (gdb_argv): Add namespace std for nullptr_t.
9913
9914 2017-08-03  Ruslan Kabatsayev  <b7.10110111@gmail.com>
9915
9916         * MAINTAINERS (Write After Approval): Add Ruslan Kabatsayev.
9917
9918 2017-08-03  Tom Tromey  <tom@tromey.com>
9919
9920         * utils.c (make_cleanup_freeargv, do_freeargv, gdb_buildargv):
9921         Remove.
9922         * utils.h (make_cleanup_freeargv, gdb_buildargv): Remove.
9923
9924 2017-08-03  Tom Tromey  <tom@tromey.com>
9925
9926         * python/py-param.c (compute_enum_values): Use gdb_argv.
9927
9928 2017-08-03  Tom Tromey  <tom@tromey.com>
9929
9930         * utils.h (struct gdb_argv_deleter): New.
9931         (gdb_argv): New class.
9932         * utils.c (gdb_argv::reset): New method.
9933         * tracepoint.c (delete_trace_variable_command): Use gdb_argv.
9934         * tracefile.c (tsave_command): Use gdb_argv.
9935         * top.c (new_ui_command): Use gdb_argv.
9936         * symmisc.c (maintenance_print_symbols)
9937         (maintenance_print_msymbols, maintenance_expand_symtabs): Use gdb_argv.
9938         * symfile.c (symbol_file_command, generic_load)
9939         (remove_symbol_file_command): Use gdb_argv.
9940         * stack.c (backtrace_command): Use gdb_argv.
9941         * source.c (add_path, show_substitute_path_command)
9942         (unset_substitute_path_command, set_substitute_path_command):
9943         Use gdb_argv.
9944         * skip.c (skip_command): Use gdb_argv.  Use gdb_buildargv.
9945         * ser-mingw.c (pipe_windows_open): Use gdb_argv.
9946         * remote.c (extended_remote_run, remote_put_command)
9947         (remote_get_command, remote_delete_command): Use gdb_argv.
9948         * remote-sim.c (gdbsim_load, gdbsim_create_inferior)
9949         (gdbsim_open): Use gdb_argv.
9950         * python/py-cmd.c (gdbpy_string_to_argv): Use gdb_argv.
9951         * psymtab.c (maintenance_print_psymbols): Use gdb_argv.
9952         * procfs.c (procfs_info_proc): Use gdb_argv.
9953         * interps.c (interpreter_exec_cmd): Use gdb_argv.
9954         * infrun.c (handle_command): Use gdb_argv.
9955         * inferior.c (add_inferior_command, clone_inferior_command):
9956         Use gdb_argv.
9957         * guile/scm-string.c (gdbscm_string_to_argv): Use gdb_argv.
9958         * exec.c (exec_file_command): Use gdb_argv.
9959         * cli/cli-cmds.c (alias_command): Use gdb_argv.
9960         * compile/compile.c (build_argc_argv): Use gdb_argv.
9961
9962 2017-08-03  Tom Tromey  <tom@tromey.com>
9963
9964         * python/python.c (gdbpy_decode_line): Use unique_xmalloc_ptr.
9965
9966 2017-08-03  Tom Tromey  <tom@tromey.com>
9967
9968         * python/python.c (compute_python_string): Return std::string.
9969         (gdbpy_eval_from_control_command): Update.
9970         (do_start_initialization): Use std::string.
9971         * python/py-varobj.c (py_varobj_iter_next): Use string_printf, not
9972         xstrprintf.
9973         * python/py-breakpoint.c (local_setattro): Use string_printf, not
9974         xstrprintf.
9975
9976 2017-08-03  Tom Tromey  <tom@tromey.com>
9977
9978         * top.h (do_restore_instream_cleanup): Remove.
9979         * top.c (do_restore_instream_cleanup): Remove.
9980         (read_command_file): Use scoped_restore.
9981         * cli/cli-script.c (execute_user_command): Use scoped_restore.
9982
9983 2017-08-03  Tom Tromey  <tom@tromey.com>
9984
9985         * cli/cli-script.c (execute_user_command)
9986         (execute_control_command): Use scoped_restore.
9987
9988 2017-08-03  Tom Tromey  <tom@tromey.com>
9989
9990         * cli/cli-script.c (do_restore_user_call_depth): Remove.
9991         (execute_user_command): Remove user_call_depth; use
9992         user_args_stack's size instead.
9993
9994 2017-08-03  Tom Tromey  <tom@tromey.com>
9995
9996         * top.h (in_user_command): Remove.
9997         * top.c (in_user_command): Remove.
9998         * cli/cli-script.c (do_restore_user_call_depth)
9999         (execute_user_command): Update.
10000
10001 2017-08-03  Tom Tromey  <tom@tromey.com>
10002
10003         * valops.c (search_struct_method): Use gdb::byte_vector.
10004         * valarith.c (value_concat): Use std::vector.
10005         * target.c (memory_xfer_partial): Use gdb::byte_vector.
10006         (simple_search_memory): Likewise.
10007         * printcmd.c (find_string_backward): Use gdb::byte_vector.
10008         * mi/mi-main.c (mi_cmd_data_write_memory): Use gdb::byte_vector.
10009         * gcore.c (gcore_copy_callback): Use gdb::byte_vector.
10010         * elfread.c (elf_rel_plt_read): Use std::string.
10011         * cp-valprint.c (cp_print_value): Use gdb::byte_vector.
10012         * cli/cli-dump.c (restore_section_callback): Use
10013         gdb::byte_vector.
10014
10015 2017-08-03  Tom Tromey  <tom@tromey.com>
10016
10017         * jit.c (jit_reader_load_command): Use unique_xmalloc_ptr.
10018
10019 2017-08-03  Tom Tromey  <tom@tromey.com>
10020
10021         * tui/tui-regs.c (tui_restore_gdbout): Remove.
10022         (tui_register_format): Use scoped_restore.
10023
10024 2017-08-03  Tom Tromey  <tom@tromey.com>
10025
10026         * reverse.c (exec_direction_default): Remove.
10027         (exec_reverse_once): Use scoped_restore.
10028         * remote.c (restore_remote_timeout): Remove.
10029         (remote_flash_erase, remote_flash_write, remote_flash_done)
10030         (readchar, remote_serial_write): Use scoped_restore.
10031         * cli/cli-script.c (struct source_cleanup_lines_args)
10032         (source_cleanup_lines): Remove.
10033         (script_from_file): Use scoped_restore.
10034         * cli/cli-cmds.c (source_verbose_cleanup): Remove.
10035         (source_command): Use scoped_restore.
10036
10037 2017-08-03  Tom Tromey  <tom@tromey.com>
10038
10039         * utils.h (make_cleanup_free_so): Remove.
10040         * utils.c (do_free_so, make_cleanup_free_so): Remove.
10041         * solist.h (struct so_deleter): New.
10042         (so_list_up): New typedef.
10043         * solib-svr4.c (svr4_read_so_list): Use so_list_up.
10044
10045 2017-08-03  Tom Tromey  <tom@tromey.com>
10046
10047         * utils.h (make_cleanup_restore_current_language): Remove.
10048         * utils.c (do_restore_current_language)
10049         (make_cleanup_restore_current_language): Remove.
10050         * parse.c (parse_exp_in_context_1)
10051         (parse_expression_with_language): Use
10052         scoped_restore_current_language.
10053         * mi/mi-main.c (mi_cmd_execute): Use
10054         scoped_restore_current_language.
10055         * language.h (scoped_restore_current_language): New class.
10056
10057 2017-08-03  Tom Tromey  <tom@tromey.com>
10058
10059         * compile/compile.c (cleanup_unlink_file): Remove.
10060         (compile_to_object): Use gdb::unlinker.
10061         (eval_compile_command): Likewise.
10062
10063 2017-08-03  Tom Tromey  <tom@tromey.com>
10064
10065         * utils.h (make_cleanup_fclose): Remove.
10066         * utils.c (do_fclose_cleanup, make_cleanup_fclose): Remove.
10067
10068 2017-08-03  Tom Tromey  <tom@tromey.com>
10069
10070         * top.c (open_terminal_stream): Return gdb_file_up.
10071         (new_ui_command): Update.
10072
10073 2017-08-03  Tom Tromey  <tom@tromey.com>
10074
10075         * source.c (print_source_lines_base, forward_search_command)
10076         (reverse_search_command): Use gdb_file_up.
10077
10078 2017-08-03  Tom Tromey  <tom@tromey.com>
10079
10080         * fbsd-nat.c (fbsd_find_memory_regions): Update.
10081
10082 2017-08-03  Tom Tromey  <tom@tromey.com>
10083
10084         * cli/cli-cmds.c (find_and_open_script): Change return type.
10085         Remove "streamp" and "full_path" parameters.
10086         (source_script_with_search): Update.
10087         * auto-load.c (source_script_file): Update.
10088         * cli/cli-cmds.h (find_and_open_script): Change type.
10089         (open_script): New struct.
10090
10091 2017-08-03  Tom Tromey  <tom@tromey.com>
10092
10093         * xml-support.c (xml_fetch_content_from_file): Update.
10094         * ui-file.c (stdio_file::open): Update.
10095         * tracefile-tfile.c (tfile_start): Update.
10096         * remote.c (remote_file_put, remote_file_get): Update.
10097         * nat/linux-procfs.c (linux_proc_get_int)
10098         (linux_proc_pid_get_state, linux_proc_tid_get_name): Update.
10099         * nat/linux-osdata.c (linux_common_core_of_thread): Update.
10100         (command_from_pid, commandline_from_pid, linux_xfer_osdata_cpus)
10101         (print_sockets, linux_xfer_osdata_shm, linux_xfer_osdata_sem)
10102         (linux_xfer_osdata_msg, linux_xfer_osdata_modules): Update.
10103         * nat/linux-btrace.c (linux_determine_kernel_start): Update.
10104         * linux-nat.c (linux_proc_pending_signals): Update.
10105         * dwarf2read.c (write_psymtabs_to_index): Use gdb_file_up.
10106         (file_closer): Remove.
10107         * compile/compile.c (compile_to_object): Update.
10108         * common/filestuff.h (struct gdb_file_deleter): New.
10109         (gdb_file_up): New typedef.
10110         (gdb_fopen_cloexec): Change return type.
10111         * common/filestuff.c (gdb_fopen_cloexec): Return gdb_file_up.
10112         * cli/cli-dump.c (fopen_with_cleanup): Remove.
10113         (dump_binary_file, restore_binary_file): Update.
10114         * auto-load.c (auto_load_objfile_script_1): Update.
10115
10116 2017-08-03  Tom Tromey  <tom@tromey.com>
10117
10118         * tracepoint.c (tvariables_info_1): Use ui_out_emit_table.
10119         (info_static_tracepoint_markers_command): Likewise.
10120         * solib.c (info_sharedlibrary_command): Use ui_out_emit_table.
10121         * skip.c (skip_info): Use ui_out_emit_table.
10122         * progspace.c (print_program_space): Use ui_out_emit_table.
10123         * osdata.c (info_osdata): Use ui_out_emit_table.
10124         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions): Use
10125         ui_out_emit_table.
10126         * linux-thread-db.c (info_auto_load_libthread_db): Use
10127         ui_out_emit_table.
10128         * inferior.c (print_inferior): Use ui_out_emit_table.
10129         * gdb_bfd.c (maintenance_info_bfds): Use ui_out_emit_table.
10130         * breakpoint.c (breakpoint_1): Use ui_out_emit_table.
10131         * auto-load.c (auto_load_info_scripts): Use ui_out_emit_table.
10132         * ada-tasks.c (print_ada_task_info): Use ui_out_emit_table.
10133         * ui-out.h (class ui_out_emit_table): New.
10134
10135 2017-08-02  Maciej W. Rozycki  <macro@imgtec.com>
10136
10137         * mips-tdep.c (mips_fpu_type_str): New function.
10138         (mips_dump_tdep): Call it.
10139
10140 2017-08-01  Maciej W. Rozycki  <macro@imgtec.com>
10141
10142         * mips-tdep.c (mips_gdbarch_init): Use MIPS_FPU_TYPE to access
10143         `->mips_fpu_type'.
10144
10145 2017-07-31  Xavier Roirand  <roirand@adacore.com>
10146
10147         * solib-darwin.c (DYLD_VERSION_MAX): Increase value.
10148
10149 2017-07-27  Xavier Roirand  <roirand@adacore.com>
10150
10151         * MAINTAINERS (Write After Approval): Add Xavier Roirand.
10152
10153 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10154
10155         * cli/cli-cmds.c (maintenancechecklist): New variable.
10156         * gdbcmd.h (maintenancechecklist): Declare it.
10157         * i386-linux-tdep.c (_initialize_i386_linux_tdep) [GDB_SELF_TEST]:
10158         Call i386_linux_read_description with different masks.
10159         * maint.c (maintenance_check_command): New function.
10160         (_initialize_maint_cmds): Call add_prefix_cmd.
10161         * target-descriptions.c (tdesc_reg): override operator != and ==.
10162         (tdesc_type): Likewise.
10163         (tdesc_feature): Likewise.
10164         (target_desc): Likewise.
10165         [GDB_SELF_TEST] (selftests::record_xml_tdesc): New function.
10166         (maintenance_check_xml_descriptions): New function.
10167         (_initialize_target_descriptions) Add command "xml-descriptions".
10168         * target-descriptions.h (selftests::record_xml_tdesc): Declare.
10169
10170 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10171
10172         * i386-linux-tdep.c: Don't include features/i386/i386-*linux.c.
10173         Include features/i386/32bit-*.c.
10174         (i386_linux_read_description): Generate target description if it
10175         doesn't exist.
10176         (_initialize_i386_linux_tdep): Don't call _initialize_tdesc_i386
10177         functions.
10178         * features/i386/32bit-linux.c: Re-generated.
10179         * features/i386/32bit-sse.c: Likewise.
10180         * target-descriptions.c (print_c_feature::visit): Print code to
10181         set register number if needed.
10182         (print_c_feature) <m_next_regnum>: New field.
10183
10184 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10185
10186         * features/Makefile (CFILES): Rename with TDESC_CFILES.
10187         (FEATURE_XMLFILES): New.
10188         (FEATURE_CFILES): New.
10189         New rules.
10190         (clean-cfiles): Remove generated c files.
10191         * features/i386/32bit-avx.c: Generated.
10192         * features/i386/32bit-avx512.c: Generated.
10193         * features/i386/32bit-core.c: Generated.
10194         * features/i386/32bit-linux.c: Generated.
10195         * features/i386/32bit-mpx.c: Generated.
10196         * features/i386/32bit-pkeys.c: Generated.
10197         * features/i386/32bit-sse.c: Generated.
10198         * target-descriptions.c: Include algorithm.
10199         (tdesc_element_visitor): Add method visit_end.
10200         (print_c_tdesc): Implement visit_end.
10201         (print_c_tdesc:: m_filename_after_features): Move it to
10202         protected.
10203         (print_c_feature): New class.
10204         (maint_print_c_tdesc_cmd): Use print_c_feature if XML file
10205         name starts with "i386/32bit-".
10206
10207 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10208
10209         * target-descriptions.c (tdesc_element_visitor): New class.
10210         (tdesc_element): New class.
10211         (tdesc_reg): Inherit from tdesc_element.
10212         (tdesc_reg::accept): New function.
10213         (tdesc_type): Inherit from tdesc_element.
10214         (tdesc_type::accept): New function.
10215         (tdesc_feature): Inherit from tdesc_element.
10216         (tdesc_feature::accept): New function.
10217         (target_desc): Inherit from tdesc_element.
10218         (target_desc::target_desc): New.
10219         (target_desc::~target_desc): New.
10220         (target_desc::accept): New.
10221         (allocate_target_description): Use new.
10222         (free_target_description): Use delete.
10223         (print_c_tdesc): New class.
10224         (maint_print_c_tdesc_cmd): Adjust.
10225
10226         * features/aarch64.c: Re-generated.
10227         * features/arc-arcompact.c: Re-generated.
10228         * features/arc-v2.c: Re-generated.
10229         * features/arm/arm-with-iwmmxt.c: Re-generated.
10230         * features/arm/arm-with-m.c: Re-generated.
10231         * features/arm/arm-with-m-fpa-layout.c: Re-generated.
10232         * features/arm/arm-with-m-vfp-d16.c: Re-generated.
10233         * features/arm/arm-with-neon.c: Re-generated.
10234         * features/arm/arm-with-vfpv2.c: Re-generated.
10235         * features/arm/arm-with-vfpv3.c: Re-generated.
10236         * features/i386/amd64-avx-avx512.c: Re-generated.
10237         * features/i386/amd64-avx-avx512-linux.c: Re-generated.
10238         * features/i386/amd64-avx.c: Re-generated.
10239         * features/i386/amd64-avx-linux.c: Re-generated.
10240         * features/i386/amd64-avx-mpx-avx512-pku.c: Re-generated.
10241         * features/i386/amd64-avx-mpx-avx512-pku-linux.c: Re-generated.
10242         * features/i386/amd64-avx-mpx.c: Re-generated.
10243         * features/i386/amd64-avx-mpx-linux.c: Re-generated.
10244         * features/i386/amd64.c: Re-generated.
10245         * features/i386/amd64-linux.c: Re-generated.
10246         * features/i386/amd64-mpx.c: Re-generated.
10247         * features/i386/amd64-mpx-linux.c: Re-generated.
10248         * features/i386/i386-avx-avx512.c: Re-generated.
10249         * features/i386/i386-avx-avx512-linux.c: Re-generated.
10250         * features/i386/i386-avx.c: Re-generated.
10251         * features/i386/i386-avx-linux.c: Re-generated.
10252         * features/i386/i386-avx-mpx-avx512-pku.c: Re-generated.
10253         * features/i386/i386-avx-mpx-avx512-pku-linux.c: Re-generated.
10254         * features/i386/i386-avx-mpx.c: Re-generated.
10255         * features/i386/i386-avx-mpx-linux.c: Re-generated.
10256         * features/i386/i386.c: Re-generated.
10257         * features/i386/i386-linux.c: Re-generated.
10258         * features/i386/i386-mmx.c: Re-generated.
10259         * features/i386/i386-mmx-linux.c: Re-generated.
10260         * features/i386/i386-mpx.c: Re-generated.
10261         * features/i386/i386-mpx-linux.c: Re-generated.
10262         * features/i386/x32-avx-avx512.c: Re-generated.
10263         * features/i386/x32-avx-avx512-linux.c: Re-generated.
10264         * features/i386/x32-avx.c: Re-generated.
10265         * features/i386/x32-avx-linux.c: Re-generated.
10266         * features/i386/x32.c: Re-generated.
10267         * features/i386/x32-linux.c: Re-generated.
10268         * features/microblaze.c: Re-generated.
10269         * features/microblaze-with-stack-protect.c: Re-generated.
10270         * features/mips64-dsp-linux.c: Re-generated.
10271         * features/mips64-linux.c: Re-generated.
10272         * features/mips-dsp-linux.c: Re-generated.
10273         * features/mips-linux.c: Re-generated.
10274         * features/nds32.c: Re-generated.
10275         * features/nios2.c: Re-generated.
10276         * features/nios2-linux.c: Re-generated.
10277         * features/rs6000/powerpc-32.c: Re-generated.
10278         * features/rs6000/powerpc-32l.c: Re-generated.
10279         * features/rs6000/powerpc-403.c: Re-generated.
10280         * features/rs6000/powerpc-403gc.c : Re-generated.
10281         * features/rs6000/powerpc-405.c: Re-generated.
10282         * features/rs6000/powerpc-505.c: Re-generated.
10283         * features/rs6000/powerpc-601.c: Re-generated.
10284         * features/rs6000/powerpc-602.c: Re-generated.
10285         * features/rs6000/powerpc-603.c: Re-generated.
10286         * features/rs6000/powerpc-604.c: Re-generated.
10287         * features/rs6000/powerpc-64.c: Re-generated.
10288         * features/rs6000/powerpc-64l.c: Re-generated.
10289         * features/rs6000/powerpc-7400.c: Re-generated.
10290         * features/rs6000/powerpc-750.c: Re-generated.
10291         * features/rs6000/powerpc-860.c: Re-generated.
10292         * features/rs6000/powerpc-altivec32.c: Re-generated.
10293         * features/rs6000/powerpc-altivec32l.c: Re-generated.
10294         * features/rs6000/powerpc-altivec64.c: Re-generated.
10295         * features/rs6000/powerpc-altivec64l.c: Re-generated.
10296         * features/rs6000/powerpc-cell32l.c: Re-generated.
10297         * features/rs6000/powerpc-cell64l.c: Re-generated.
10298         * features/rs6000/powerpc-e500.c: Re-generated.
10299         * features/rs6000/powerpc-e500l.c: Re-generated.
10300         * features/rs6000/powerpc-isa205-32l.c: Re-generated.
10301         * features/rs6000/powerpc-isa205-64l.c: Re-generated.
10302         * features/rs6000/powerpc-isa205-altivec32l.c: Re-generated.
10303         * features/rs6000/powerpc-isa205-altivec64l.c: Re-generated.
10304         * features/rs6000/powerpc-isa205-vsx32l.c: Re-generated.
10305         * features/rs6000/powerpc-isa205-vsx64l.c: Re-generated.
10306         * features/rs6000/powerpc-vsx32.c: Re-generated.
10307         * features/rs6000/powerpc-vsx32l.c: Re-generated.
10308         * features/rs6000/powerpc-vsx64.c: Re-generated.
10309         * features/rs6000/powerpc-vsx64l.c: Re-generated.
10310         * features/rs6000/rs6000.c: Re-generated.
10311         * features/s390-linux32.c: Re-generated.
10312         * features/s390-linux32v1.c: Re-generated.
10313         * features/s390-linux32v2.c: Re-generated.
10314         * features/s390-linux64.c: Re-generated.
10315         * features/s390-linux64v1.c: Re-generated.
10316         * features/s390-linux64v2.c: Re-generated.
10317         * features/s390-te-linux64.c: Re-generated.
10318         * features/s390-tevx-linux64.c: Re-generated.
10319         * features/s390-vx-linux64.c: Re-generated.
10320         * features/s390x-linux64.c: Re-generated.
10321         * features/s390x-linux64v1.c: Re-generated.
10322         * features/s390x-linux64v2.c: Re-generated.
10323         * features/s390x-te-linux64.c: Re-generated.
10324         * features/s390x-tevx-linux64.c: Re-generated.
10325         * features/s390x-vx-linux64.c: Re-generated.
10326         * features/sparc/sparc32-solaris.c: Re-generated.
10327         * features/sparc/sparc64-solaris.c: Re-generated.
10328         * features/tic6x-c62x.c: Re-generated.
10329         * features/tic6x-c62x-linux.c: Re-generated.
10330         * features/tic6x-c64x.c: Re-generated.
10331         * features/tic6x-c64x-linux.c: Re-generated.
10332         * features/tic6x-c64xp.c: Re-generated.
10333         * features/tic6x-c64xp-linux.c: Re-generated.
10334
10335 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10336
10337         * i386-linux-tdep.c (i386_linux_read_description): New function.
10338         (i386_linux_core_read_description): Call
10339         i386_linux_read_description.
10340         * i386-linux-tdep.h (i386_linux_read_description): Declare.
10341         (tdesc_i386_linux, tdesc_i386_mmx_linux): Remove declarations.
10342         (tdesc_i386_avx_linux, tdesc_i386_mpx_linux): Likewise
10343         (tdesc_i386_avx_mpx_linux, tdesc_i386_avx_avx512_linux): Likewise.
10344         (tdesc_i386_avx_mpx_avx512_pku_linux): Likewise.
10345         * x86-linux-nat.c (x86_linux_read_description): Call
10346         i386_linux_read_description.
10347
10348 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10349
10350         * NEWS: Mention it.
10351         * features/Makefile (%.c: %.xml): Pass the xml file name to
10352         command "maint print c-tdesc".
10353         * target-descriptions.c (maint_print_c_tdesc_cmd): Get file
10354         name from 'arg'.
10355
10356 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10357
10358         * target-descriptions.c (target_desc): Add ctor and dtor.  Do
10359         in-class initialization.
10360         (tdesc_create_feature): Call new instead of XCNEW.
10361         (free_target_description): Ue delete.
10362
10363 2017-07-25  John Baldwin  <jhb@FreeBSD.org>
10364
10365         * configure.nat: Add "-lkvm" for NetBSD/sparc64 and fix typo.
10366
10367 2017-07-25  Yao Qi  <yao.qi@linaro.org>
10368
10369         * amd64-tdep.c (amd64_init_abi): Make argument default_tdesc
10370         constant.
10371         (amd64_x32_init_abi): Likewise.
10372         * amd64-tdep.h (amd64_init_abi): Update declaration.
10373         (amd64_x32_init_abi): Likewise.
10374
10375 2017-07-25  Yao Qi  <yao.qi@linaro.org>
10376
10377         PR tdep/21717
10378         * arm-linux-nat.c (arm_linux_fetch_inferior_registers): Update
10379         condition for FPSCR.
10380         (arm_linux_store_inferior_registers): Likewise.
10381
10382 2017-07-22  Tom Tromey  <tom@tromey.com>
10383
10384         * break-catch-syscall.c (struct catch_syscall_inferior_data)
10385         <syscalls_counts>: Now a std::vector.
10386         (get_catch_syscall_inferior_data): Use "new".
10387         (catch_syscall_inferior_data_cleanup): Use "delete".
10388         (insert_catch_syscall, remove_catch_syscall)
10389         (clear_syscall_counts): Update.
10390
10391 2017-07-22  Tom Tromey  <tom@tromey.com>
10392
10393         * break-catch-syscall.c (syscall_catchpoint)
10394         <syscalls_to_be_caught>: Now a std::vector<int>
10395         (~syscall_catchpoint): Remove.
10396         (insert_catch_syscall, remove_catch_syscall)
10397         (breakpoint_hit_catch_syscall, print_one_catch_syscall)
10398         (print_mention_catch_syscall, print_recreate_catch_syscall):
10399         Update.
10400         (create_syscall_event_catchpoint): Change type of "filter"
10401         parameter.
10402         (catch_syscall_split_args): Return a std::vector.
10403         (catch_syscall_command_1, catching_syscall_number_1): Update.
10404
10405 2017-07-22  Tom Tromey  <tom@tromey.com>
10406
10407         * break-catch-throw.c (struct exception_catchpoint)
10408         <exception_rx>: Now a std::string.
10409         (~exception_catchpoint): Remove.
10410         (print_one_detail_exception_catchpoint): Update.
10411         (handle_gnu_v3_exceptions): Change type of except_rx.
10412         (extract_exception_regexp): Return a std::string.
10413         (catch_exception_command_1): Update.
10414
10415 2017-07-22  Tom Tromey  <tom@tromey.com>
10416
10417         * break-catch-sig.c (gdb_signal_type): Remove typedef.
10418         (struct signal_catchpoint) <signals_to_be_caught>: Now a
10419         std::vector.
10420         <catch_all>: Now a bool.
10421         (~signal_catchpoint): Remove.
10422         (signal_catchpoint_insert_location)
10423         (signal_catchpoint_remove_location)
10424         (signal_catchpoint_breakpoint_hit, signal_catchpoint_print_one)
10425         (signal_catchpoint_print_mention)
10426         (signal_catchpoint_print_recreate)
10427         (signal_catchpoint_explains_signal): Update.
10428         (create_signal_catchpoint): Change type of "filter" and
10429         "catch_all".
10430         (catch_signal_split_args): Return a std::vector.  Change type of
10431         "catch_all".
10432         (catch_signal_command): Update.
10433
10434 2017-07-20  Pedro Alves  <palves@redhat.com>
10435
10436         * ada-lang.c (ada_language_defn): Make extern.
10437         (_initialize_ada_language): Remove add_language call.
10438         * c-lang.c (c_language_defn, cplus_language_defn)
10439         (asm_language_defn, minimal_language_defn): Make extern.
10440         (_initialize_c_language): Delete.
10441         * completer.c (compare_cstrings): Delete, moved to utils.h.
10442         * d-lang.c (d_language_defn): Make extern.
10443         (_initialize_d_language): Remove add_language calls.
10444         * defs.h (enum language): Add comment.
10445         * f-lang.c (f_language_defn): Make extern.
10446         (_initialize_f_language): Remove add_language call.
10447         * go-lang.c (go_language_defn): Make extern.
10448         (_initialize_go_language): Remove add_language call.
10449         * language.c: Include <algorithm>.
10450         (languages): Redefine as const array.
10451         (languages_size, languages_allocsize, DEFAULT_ALLOCSIZE): Delete.
10452         (set_language_command): Handle "local".  Use for-range loop.
10453         (set_language): Remove loop.
10454         (language_enum): Rewrite.
10455         (language_def, language_str): Remove loops.
10456         (add_language): Delete.
10457         (add_set_language_command): New, based on add_languages.
10458         (skip_language_trampoline): Adjust.
10459         (local_language_defn): Delete.
10460         (language_gdbarch_post_init): Adjust.
10461         (_initialize_language): Remove add_language calls.  Call
10462         add_set_language_command.
10463         * language.h (add_language): Delete.
10464         (auto_language_defn)
10465         (unknown_language_defn, minimal_language_defn, ada_language_defn)
10466         (asm_language_defn, c_language_defn, cplus_language_defn)
10467         (d_language_defn, f_language_defn, go_language_defn)
10468         (m2_language_defn, objc_language_defn, opencl_language_defn)
10469         (pascal_language_defn, rust_language_defn): Declare.
10470         * m2-lang.c (m2_language_defn): Make extern.
10471         (_initialize_m2_language): Remove add_language call.
10472         * objc-lang.c (objc_language_defn): Make extern.
10473         (_initialize_objc_language): Remove add_language call.
10474         * opencl-lang.c (opencl_language_defn): Make extern.
10475         (_initialize_opencl_language): Remove add_language call.
10476         * p-lang.c (pascal_language_defn): Make extern.
10477         (_initialize_pascal_language): Delete.
10478         * rust-lang.c (rust_language_defn): Make extern.
10479         (_initialize_rust_language): Delete.
10480         * utils.h (compare_cstrings): New static inline function.
10481
10482 2017-07-20  Pedro Alves  <palves@redhat.com>
10483
10484         * ada-lang.c (ada_to_fixed_type_1): Adjust.
10485         (get_var_value): Constify parameters.
10486         (get_int_var_value): Change prototype.
10487         (to_fixed_range_type): Adjust.
10488         * ada-lang.h (get_int_var_value): Change prototype.
10489
10490 2017-07-20  Pedro Alves  <palves@redhat.com>
10491
10492         * dwarf2read.c (dw2_lookup_symbol): Use
10493         SYMBOL_MATCHES_SEARCH_NAME.
10494         * psymtab.c (psym_lookup_symbol): Use SYMBOL_MATCHES_SEARCH_NAME.
10495
10496 2017-07-20  Pedro Alves  <palves@redhat.com>
10497
10498         * block.c (block_iter_name_step, block_iter_name_first)
10499         (block_iter_name_next): Delete.
10500         (block_lookup_symbol_primary): Adjust to use
10501         dict_iter_match_first/dict_iter_match_next.
10502         * block.h (block_iter_name_first, block_iter_name_next): Delete
10503         declarations.
10504         (ALL_BLOCK_SYMBOLS_WITH_NAME): Adjust to use
10505         dict_iter_match_first/dict_iter_match_next.
10506
10507 2017-07-20  Pedro Alves  <palves@redhat.com>
10508
10509         * cp-support.c (cp_find_first_component_aux): Add missing case for
10510         end of string.
10511
10512 2017-07-18  David Blaikie  <dblaikie@gmail.com>
10513
10514         * dwarf2read.c (create_cus_hash_table): Re-add lost initialization
10515         of dwo_cu's dwo_file.
10516
10517 2017-07-18  Yao Qi  <yao.qi@linaro.org>
10518
10519         * remote.c (store_registers_using_G): Remove one line comment.
10520
10521 2017-07-18  Yao Qi  <yao.qi@linaro.org>
10522
10523         * regcache.c (regcache_cpy): Simplify it.
10524         (regcache::cpy_no_passthrough): Remove it.
10525         * regcache.h (cpy_no_passthrough): Remove it.
10526         (regcache_dup, regcache_cpy): Update comments.
10527
10528 2017-07-18  Pedro Alves  <palves@redhat.com>
10529
10530         * remote-sim.c (sim_command_completer): Adjust to work with a
10531         completion_tracker instead of a VEC.
10532
10533 2017-07-17  Pedro Alves  <palves@redhat.com>
10534
10535         * completer.c (complete_source_filenames): New function.
10536         (complete_address_and_linespec_locations): New function.
10537         (location_completer): Use complete_address_and_linespec_locations.
10538         (completion_tracker::build_completion_result): Honor the tracker's
10539         request to suppress append.
10540         * completer.h (completion_tracker::suppress_append_ws)
10541         (completion_tracker::set_suppress_append_ws): New methods.
10542         (completion_tracker::m_suppress_append_ws): New field.
10543         (complete_source_filenames): New declaration.
10544         * linespec.c (linespec_complete_what): New.
10545         (struct ls_parser) <complete_what, completion_word,
10546         completion_quote_char, completion_quote_end, completion_tracker>:
10547         New fields.
10548         (string_find_incomplete_keyword_at_end): New.
10549         (linespec_lexer_lex_string): Record quote char.  If in completion
10550         mode, don't throw.
10551         (linespec_lexer_consume_token): Advance the completion word point.
10552         (linespec_lexer_peek_token): Save/restore completion info.
10553         (save_stream_and_consume_token): New.
10554         (set_completion_after_number): New.
10555         (linespec_parse_basic): Set what to complete next depending on
10556         token.  Handle function and label completions specially.
10557         (parse_linespec): Disable objc shortcut in completion mode.  Set
10558         what to complete next depending on token type.  Skip keyword if in
10559         completion mode.
10560         (complete_linespec_component, linespec_complete): New.
10561         * linespec.h (linespec_complete): Declare.
10562
10563 2017-07-17  Pedro Alves  <palves@redhat.com>
10564
10565         * linespec.c (linespec_lexer_lex_string, find_toplevel_char):
10566         Handle 'operator<' / 'operator<<'.
10567
10568 2017-07-17  Pedro Alves  <palves@redhat.com>
10569
10570         * completer.c (collect_explicit_location_matches): Handle
10571         MATCH_LABEL.
10572         (convert_explicit_location_to_linespec): New, factored out from
10573         ...
10574         (convert_explicit_location_to_sals): ... this.
10575         (complete_label): New.
10576         (linespec_complete_label, find_label_symbols_in_block): New.
10577         (find_label_symbols): Add completion_mode parameter and adjust to
10578         call find_label_symbols_in_block.
10579         * linespec.h (linespec_complete_label): Declare.
10580
10581 2017-07-17  Pedro Alves  <palves@redhat.com>
10582
10583         * ada-lang.c (ada_collect_symbol_completion_matches): Add
10584         complete_symbol_mode parameter.
10585         * cli/cli-cmds.c (complete_command): Get the completion result out
10586         of the handle_brkchars tracker if used a custom word point.
10587         * completer.c: Include "linespec.h".
10588         (enum explicit_location_match_type) <MATCH_LINE>: New enumerator.
10589         (advance_to_expression_complete_word_point): New.
10590         (completion_tracker::completes_to_completion_word): New.
10591         (complete_files_symbols): Pass down
10592         complete_symbol_mode::EXPRESSION.
10593         (explicit_options, probe_options): New.
10594         (collect_explicit_location_matches): Complete on the
10595         explictit_loc->foo instead of word.  Use
10596         linespec_complete_function.  Handle MATCH_LINE.  Handle offering
10597         keyword and options completions.
10598         (backup_text_ptr): Delete.
10599         (skip_keyword): New.
10600         (complete_explicit_location): Remove 'word' parameter.  Add
10601         language, quoted_arg_start and quoted_arg_end parameters.
10602         Rewrite, parsing left to right.
10603         (location_completer): Rewrite.
10604         (location_completer_handle_brkchars): New function.
10605         (symbol_completer): Pass down complete_symbol_mode::EXPRESSION.
10606         (enum complete_line_internal_reason): Adjust comments.
10607         (completion_tracker::discard_completions): New.
10608         (completer_handle_brkchars_func_for_completer): Handle
10609         location_completer.
10610         (gdb_custom_word_point_brkchars)
10611         (gdb_org_rl_basic_quote_characters): New.
10612         (gdb_completion_word_break_characters_throw)
10613         (completion_find_completion_word): Handle trackers that use a
10614         custom word point.
10615         (completion_tracker::advance_custom_word_point_by): New.
10616         (completion_tracker::build_completion_result): Don't rely on
10617         readline appending the quote char.
10618         (gdb_rl_attempted_completion_function_throw): Handle trackers that
10619         use a custom word point.
10620         (gdb_rl_attempted_completion_function): Restore
10621         rl_basic_quote_characters.
10622         * completer.h (class completion_tracker): Extend intro comment.
10623         (completion_tracker::set_quote_char)
10624         (completion_tracker::quote_char)
10625         (completion_tracker::set_use_custom_word_point)
10626         (completion_tracker::use_custom_word_point)
10627         (completion_tracker::custom_word_point)
10628         (completion_tracker::set_custom_word_point)
10629         (completion_tracker::advance_custom_word_point_by)
10630         (completion_tracker::completes_to_completion_word)
10631         (completion_tracker::discard_completions): New methods.
10632         (completion_tracker::m_quote_char)
10633         (completion_tracker::m_use_custom_word_point)
10634         (completion_tracker::m_custom_word_point): New fields.
10635         (advance_to_expression_complete_word_point): Declare.
10636         * f-lang.c (f_collect_symbol_completion_matches): Add
10637         complete_symbol_mode parameter.
10638         * language.h (struct language_defn)
10639         <la_collect_symbol_completion_matches>: Add complete_symbol_mode
10640         parameter.
10641         * linespec.c (linespec_keywords): Add NULL terminator.  Make extern.
10642         (linespec_complete_function): New function.
10643         (linespec_lexer_lex_keyword): Adjust.
10644         * linespec.h (linespec_keywords, linespec_complete_function): New
10645         declarations.
10646         * location.c (find_end_quote): New function.
10647         (explicit_location_lex_one): Add explicit_completion_info
10648         parameter.  Save quoting info.  Don't throw if being called for
10649         completion.  Don't handle Ada operators here.
10650         (is_cp_operator, skip_op_false_positives, first_of)
10651         (explicit_location_lex_one_function): New function.
10652         (string_to_explicit_location): Replace 'dont_throw' parameter with
10653         an explicit_completion_info pointer parameter.  Handle it.  Don't
10654         use explicit_location_lex_one to lex function names.  Use
10655         explicit_location_lex_one_function instead.
10656         * location.h (struct explicit_completion_info): New.
10657         (string_to_explicit_location): Replace 'dont_throw' parameter with
10658         an explicit_completion_info pointer parameter.
10659         * symtab.c (default_collect_symbol_completion_matches_break_on):
10660         Add complete_symbol_mode parameter.  Handle LINESPEC mode.
10661         (default_collect_symbol_completion_matches)
10662         (collect_symbol_completion_matches): Add complete_symbol_mode
10663         parameter.
10664         (collect_symbol_completion_matches_type): Pass down
10665         complete_symbol_mode::EXPRESSION.
10666         (collect_file_symbol_completion_matches): Add complete_symbol_mode
10667         parameter.  Handle LINESPEC mode.
10668         * symtab.h (complete_symbol_mode): New.
10669         (default_collect_symbol_completion_matches_break_on)
10670         (default_collect_symbol_completion_matches)
10671         (collect_symbol_completion_matches)
10672         (collect_file_symbol_completion_matches): Add complete_symbol_mode
10673         parameter.
10674
10675 2017-07-17  Pedro Alves  <palves@redhat.com>
10676
10677         * utils.c (enum class strncmp_iw_mode): New.
10678         (strcmp_iw): Rename to ...
10679         (strncmp_iw_with_mode): ... this.  Add string2_len and mode
10680         parameters.  Handle them.
10681         (strncmp_iw): New.
10682         (strcmp_iw): Reimplement as wrapper around strncmp_iw_with_mode.
10683         * utils.h (strncmp_iw): Declare.
10684         (strcmp_iw): Move describing comments here.
10685
10686 2017-07-17  Pedro Alves  <palves@redhat.com>
10687
10688         * c-exp.y (operator_stoken): Use CP_OPERATOR_LEN and
10689         CP_OPERATOR_STR.
10690         * c-typeprint.c (is_type_conversion_operator): Use
10691         CP_OPERATOR_STR.
10692         * cp-support.c (LENGTH_OF_OPERATOR): Delete.
10693         (cp_find_first_component_aux): Use CP_OPERATOR_STR and
10694         CP_OPERATOR_LEN.
10695         * cp-support.h (CP_OPERATOR_STR, CP_OPERATOR_LEN): New.
10696         * gnu-v2-abi.c (gnuv2_is_operator_name): Use CP_OPERATOR_STR.
10697         * gnu-v3-abi.c (gnuv3_is_operator_name): Use CP_OPERATOR_STR.
10698         * linespec.c (linespec_lexer_lex_string): Use CP_OPERATOR_LEN and
10699         CP_OPERATOR_STR.
10700         * location.c: Include "cp-support.h".
10701         (explicit_location_lex_one): Use CP_OPERATOR_LEN and
10702         CP_OPERATOR_STR.
10703         * symtab.c (operator_chars): Use CP_OPERATOR_STR and
10704         CP_OPERATOR_LEN.
10705
10706 2017-07-17  Pedro Alves  <palves@redhat.com>
10707
10708         * cli/cli-cmds.c (complete_command): Use a completion tracker
10709         along with completion_find_completion_word for handle_brkchars
10710         phase.
10711         * completer.c (RL_QF_SINGLE_QUOTE, RL_QF_DOUBLE_QUOTE)
10712         (RL_QF_BACKSLASH, RL_QF_OTHER_QUOTE): New.
10713         (struct gdb_rl_completion_word_info): New.
10714         (gdb_rl_find_completion_word): New.
10715         (completion_find_completion_word): New.
10716         * completer.h (completion_find_completion_word): Declare.
10717
10718 2017-07-17  Pedro Alves  <palves@redhat.com>
10719
10720         * ada-lang.c (symbol_completion_match): Adjust comments.
10721         (symbol_completion_add): Replace vector parameter with
10722         completion_tracker parameter.  Use it.
10723         (ada_make_symbol_completion_list): Rename to...
10724         (ada_collect_symbol_completion_matches): ... this.  Add
10725         completion_tracker parameter and use it.
10726         (ada_language_defn): Adjust.
10727         * break-catch-syscall.c (catch_syscall_completer): Adjust
10728         prototype and work with completion_tracker instead of VEC.
10729         * breakpoint.c (condition_completer): Adjust prototype and work
10730         with completion_tracker instead of VEC.
10731         * c-lang.c (c_language_defn, cplus_language_defn)
10732         (asm_language_defn, minimal_language_defn): Adjust to renames.
10733         * cli/cli-cmds.c (complete_command): Rework using
10734         completion_tracker.  Catch exceptions when completing.
10735         * cli/cli-decode.c (integer_unlimited_completer)
10736         (complete_on_cmdlist, complete_on_enum): Adjust prototype and work
10737         with completion_tracker instead of VEC.
10738         * command.h (struct completion_tracker): Forward declare.
10739         (completer_ftype, completer_handle_brkchars_ftype): Change
10740         types.
10741         (complete_on_cmdlist, complete_on_enum): Adjust.
10742         * completer.c: Include <algorithm>.
10743         (struct gdb_completer_state): New.
10744         (current_completion): New global.
10745         (readline_line_completion_function): Delete.
10746         (noop_completer, filename_completer)
10747         (filename_completer_handle_brkchars, complete_files_symbols)
10748         (linespec_location_completer): Adjust to work with a
10749         completion_tracker instead of a VEC.
10750         (string_or_empty): New.
10751         (collect_explicit_location_matches): Adjust to work with a
10752         completion_tracker instead of a VEC.
10753         (explicit_location_completer): Rename to ...
10754         (complete_explicit_location): ... this and adjust to work with a
10755         completion_tracker instead of a VEC.
10756         (location_completer): Adjust to work with a completion_tracker
10757         instead of a VEC.
10758         (add_struct_fields): Adjust to work with a completion_list instead
10759         of VEC.
10760         (expression_completer): Rename to ...
10761         (complete_expression): ... this and adjust to work with a
10762         completion_tracker instead of a VEC.  Use complete_files_symbols.
10763         (expression_completer): Reimplement on top of complete_expression.
10764         (symbol_completer): Adjust to work with a completion_tracker
10765         instead of a VEC.
10766         (enum complete_line_internal_reason): Add describing comments.
10767         (complete_line_internal_normal_command): Adjust to work with a
10768         completion_tracker instead of a VEC.
10769         (complete_line_internal): Rename to ...
10770         (complete_line_internal_1): ... this and adjust to work with a
10771         completion_tracker instead of a VEC.  Assert TEXT is NULL in the
10772         handle_brkchars phase.
10773         (new_completion_tracker): Delete.
10774         (complete_line_internal): Reimplement as TRY/CATCH wrapper around
10775         complete_line_internal_1.
10776         (free_completion_tracker): Delete.
10777         (INITIAL_COMPLETION_HTAB_SIZE): New.
10778         (completion_tracker::completion_tracker)
10779         (completion_tracker::~completion_tracker): New.
10780         (maybe_add_completion): Delete.
10781         (completion_tracker::maybe_add_completion)
10782         (completion_tracker::add_completion)
10783         (completion_tracker::add_completions): New.
10784         (throw_max_completions_reached_error): Delete.
10785         (complete_line): Adjust to work with a completion_tracker instead
10786         of a VEC.  Don't create a completion_tracker_t or check for max
10787         completions here.
10788         (command_completer, command_completer_handle_brkchars)
10789         (signal_completer, reg_or_group_completer_1)
10790         (reg_or_group_completer, default_completer_handle_brkchars):
10791         Adjust to work with a completion_tracker.
10792         (gdb_completion_word_break_characters_throw): New.
10793         (gdb_completion_word_break_characters): Reimplement.
10794         (line_completion_function): Delete.
10795         (completion_tracker::recompute_lowest_common_denominator)
10796         (expand_preserving_ws)
10797         (completion_tracker::build_completion_result)
10798         (completion_result::completion_result)
10799         (completion_result::completion_result)
10800         (completion_result::~completion_result)
10801         (completion_result::completion_result)
10802         (completion_result::release_match_list, compare_cstrings)
10803         (completion_result::sort_match_list)
10804         (completion_result::reset_match_list)
10805         (gdb_rl_attempted_completion_function_throw)
10806         (gdb_rl_attempted_completion_function): New.
10807         * completer.h (completion_list, struct completion_result)
10808         (class completion_tracker): New.
10809         (complete_line): Add completion_tracker parameter.
10810         (readline_line_completion_function): Delete.
10811         (gdb_rl_attempted_completion_function): New.
10812         (noop_completer, filename_completer, expression_completer)
10813         (location_completer, symbol_completer, command_completer)
10814         (signal_completer, reg_or_group_completer): Update prototypes.
10815         (completion_tracker_t, new_completion_tracker)
10816         (make_cleanup_free_completion_tracker): Delete.
10817         (enum maybe_add_completion_enum): Delete.
10818         (maybe_add_completion): Delete.
10819         (throw_max_completions_reached_error): Delete.
10820         * corefile.c (complete_set_gnutarget): Adjust to work with a
10821         completion_tracker instead of a VEC.
10822         * cp-abi.c (cp_abi_completer): Adjust to work with a
10823         completion_tracker instead of a VEC.
10824         * d-lang.c (d_language_defn): Adjust.
10825         * disasm.c (disassembler_options_completer): Adjust to work with a
10826         completion_tracker instead of a VEC.
10827         * f-lang.c (f_make_symbol_completion_list): Rename to ...
10828         (f_collect_symbol_completion_matches): ... this.  Adjust to work
10829         with a completion_tracker instead of a VEC.
10830         (f_language_defn): Adjust.
10831         * go-lang.c (go_language_defn): Adjust.
10832         * guile/scm-cmd.c (cmdscm_add_completion, cmdscm_completer):
10833         Adjust to work with a completion_tracker instead of a VEC.
10834         * infrun.c (handle_completer): Likewise.
10835         * interps.c (interpreter_completer): Likewise.
10836         * interps.h (interpreter_completer): Likewise.
10837         * language.c (unknown_language_defn, auto_language_defn)
10838         (local_language_defn): Adjust.
10839         * language.h (language_defn::la_make_symbol_completion_list):
10840         Rename to ...
10841         (language_defn::la_collect_symbol_completion_matches): ... this
10842         and adjust to work with a completion_tracker instead of a VEC.
10843         * m2-lang.c (m2_language_defn): Adjust.
10844         * objc-lang.c (objc_language_defn): Adjust.
10845         * opencl-lang.c (opencl_language_defn): Adjust.
10846         * p-lang.c (pascal_language_defn): Adjust.
10847         * python/py-cmd.c (cmdpy_completer_helper): Handle NULL word.
10848         (cmdpy_completer_handle_brkchars, cmdpy_completer): Adjust to work
10849         with a completion_tracker.
10850         * rust-lang.c (rust_language_defn): Adjust.
10851         * symtab.c (free_completion_list, do_free_completion_list)
10852         (return_val, completion_tracker): Delete.
10853         (completion_list_add_name, completion_list_add_symbol)
10854         (completion_list_add_msymbol, completion_list_objc_symbol)
10855         (completion_list_add_fields, add_symtab_completions): Add
10856         completion_tracker parameter and use it.
10857         (default_make_symbol_completion_list_break_on_1): Rename to...
10858         (default_collect_symbol_completion_matches_break_on): ... this.
10859         Add completion_tracker parameter and use it instead of allocating
10860         a completion tracker here.
10861         (default_make_symbol_completion_list_break_on): Delete old
10862         implementation.
10863         (default_make_symbol_completion_list): Delete.
10864         (default_collect_symbol_completion_matches): New.
10865         (make_symbol_completion_list): Delete.
10866         (collect_symbol_completion_matches): New.
10867         (make_symbol_completion_type): Rename to ...
10868         (collect_symbol_completion_matches_type): ... this.  Add
10869         completion_tracker parameter and use it instead of VEC.
10870         (make_file_symbol_completion_list_1): Rename to...
10871         (collect_file_symbol_completion_matches): ... this.  Add
10872         completion_tracker parameter and use it instead of VEC.
10873         (make_file_symbol_completion_list): Delete.
10874         (add_filename_to_list): Use completion_list instead of a VEC.
10875         (add_partial_filename_data::list): Now a completion_list.
10876         (make_source_files_completion_list): Work with a completion_list
10877         instead of a VEC.
10878         * symtab.h: Include "completer.h".
10879         (default_make_symbol_completion_list_break_on)
10880         (default_make_symbol_completion_list, make_symbol_completion_list)
10881         (make_symbol_completion_type, make_file_symbol_completion_list)
10882         (make_source_files_completion_list): Delete.
10883         (default_collect_symbol_completion_matches_break_on)
10884         (default_collect_symbol_completion_matches)
10885         (collect_symbol_completion_matches)
10886         (collect_symbol_completion_matches_type)
10887         (collect_file_symbol_completion_matches)
10888         (make_source_files_completion_list): New.
10889         * top.c (init_main): Don't install a rl_completion_entry_function
10890         hook.  Install a rl_attempted_completion_function hook instead.
10891         * tui/tui-layout.c (layout_completer): Adjust to work with a
10892         completion_tracker.
10893         * tui/tui-regs.c (tui_reggroup_completer):
10894         * tui/tui-win.c (window_name_completer, focus_completer)
10895         (winheight_completer): Adjust to work with a completion_tracker.
10896         * value.c: Include "completer.h".
10897         (complete_internalvar): Adjust to work with a completion_tracker.
10898         * value.h (complete_internalvar): Likewise.
10899
10900 2017-07-17  Pedro Alves  <palves@redhat.com>
10901
10902         * cli/cli-decode.c (set_cmd_completer_handle_brkchars): Adjust to
10903         renames.
10904         * cli/cli-decode.h (struct cmd_list_element) <completer>: Move
10905         comments to completer_ftype's declaration.
10906         <completer_handle_brkchars>: Change type to
10907         completer_handle_brkchars_ftype.
10908         * command.h (completer_ftype): Add describing comment and give
10909         names to parameters.
10910         (completer_ftype_void): Rename to ...
10911         (completer_handle_brkchars_ftype) ... this.  Add describing comment.
10912         (set_cmd_completer_handle_brkchars): Adjust.
10913         * completer.c (filename_completer_handle_brkchars): New function.
10914         (complete_line_internal_normal_command): New function, factored
10915         out from ...
10916         (complete_line_internal): ... here.
10917         (command_completer_handle_brkchars)
10918         (default_completer_handle_brkchars)
10919         (completer_handle_brkchars_func_for_completer): New functions.
10920         * completer.h (set_gdb_completion_word_break_characters): Delete
10921         declaration.
10922         (completer_handle_brkchars_func_for_completer): New declaration.
10923         * python/py-cmd.c (cmdpy_completer_handle_brkchars): Adjust to use
10924         completer_handle_brkchars_func_for_completer.
10925
10926 2017-07-17  Pedro Alves  <palves@redhat.com>
10927
10928         * completer.c (symbol_completer): New function, based on
10929         make_symbol_completion_list_fn.
10930         * completer.h (symbol_completer): New declaration.
10931         * guile/scm-cmd.c (cmdscm_completers): Adjust.
10932         * python/py-cmd.c (completers): Adjust.
10933         * symtab.c (make_symbol_completion_list_fn): Delete.
10934         * symtab.h (make_symbol_completion_list_fn): Delete.
10935         * cli/cli-decode.c (add_cmd): Adjust.
10936
10937 2017-07-17  Pedro Alves  <palves@redhat.com>
10938
10939         * Makefile.in (COMMON_OBS): Add filename-seen-cache.o.
10940         * dwarf2read.c: Include "filename-seen-cache.h".
10941         * dwarf2read.c (dwarf2_per_objfile) <filenames_cache>: New field.
10942         (dw2_map_symbol_filenames): Build and use a filenames_seen_cache.
10943         * filename-seen-cache.c: New file.
10944         * filename-seen-cache.h: New file.
10945         * symtab.c: Include "filename-seen-cache.h".
10946         (struct filename_seen_cache, INITIAL_FILENAME_SEEN_CACHE_SIZE)
10947         (create_filename_seen_cache, clear_filename_seen_cache)
10948         (delete_filename_seen_cache, filename_seen): Delete, parts moved
10949         to filename-seen-cache.h/filename-seen-cache.c.
10950         (output_source_filename, sources_info)
10951         (maybe_add_partial_symtab_filename)
10952         (make_source_files_completion_list): Adjust to use
10953         filename_seen_cache.
10954
10955 2017-07-17  Pedro Alves  <palves@redhat.com>
10956
10957         * dwarf2read.c (dwarf2_per_objfile): In-class initialize all
10958         fields.
10959         (dwarf2_per_objfile::dwarf2_per_objfile(objfile*, const
10960         dwarf2_debug_sections*)): New.
10961         (dwarf2_per_objfile::dwarf2_per_objfile(const
10962         dwarf2_per_objfile&)): Declare as deleted.
10963         (dwarf2_per_objfile::operator=): Declare as deleted.
10964         (dwarf2_per_objfile::dwarf2_per_objfile)
10965         (dwarf2_per_objfile::~dwarf2_per_objfile)
10966         (dwarf2_per_objfile::free_cached_comp_units): New.
10967         (dwarf2_has_info): dwarf2_per_objfile initialization code moved to
10968         ctor.  Call dwarf2_per_objfile's ctor manually.
10969         (dwarf2_locate_sections): Deleted/refactored as ...
10970         (dwarf2_per_objfile::locate_sections): ... this new method.
10971         (free_cached_comp_units): Defer to
10972         dwarf2_per_objfile::free_cached_comp_units.
10973         (dwarf2_free_objfile): Call dwarf2_per_objfile's dtor manually.
10974
10975 2017-07-14  Tom Tromey  <tom@tromey.com>
10976
10977         PR rust/21764:
10978         * rust-exp.y (convert_ast_to_expression): Add "want_type"
10979         parameter.
10980         <UNOP_SIZEOF>: Split into separate case.
10981         <UNOP_VAR_VALUE>: Handle want_type.  Add error case.
10982
10983 2017-07-14  Tom Tromey  <tom@tromey.com>
10984
10985         PR rust/21763:
10986         * symtab.c (symbol_matches_domain): Add language_rust to special
10987         case.
10988         * rust-exp.y (convert_ast_to_expression) <OP_VAR_VALUE>: Don't
10989         treat LOC_TYPEDEF symbols as variables.
10990
10991 2017-07-14  Pedro Alves  <palves@redhat.com>
10992
10993         * symtab.c (make_file_symbol_completion_list_1): Iterate over
10994         symtabs matching all symtabs with SRCFILE as file name instead of
10995         only considering the first hit, with lookup_symtab.
10996
10997 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
10998
10999         * ax-gdb.c (gen_aggregate_elt_ref): Remove operand_name and
11000         operator_name parameters.
11001         (gen_expr): Update function call.
11002
11003 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
11004
11005         * dwarf2loc.h (dwarf2_compile_expr_to_ax): Remove gdbarch
11006         parameter.
11007         * symtab.h (struct symbol_computed_ops::tracepoint_var_ref):
11008         Likewise.
11009         * dwarf2loc.c (dwarf2_compile_expr_to_ax): Remove gdbarch
11010         parameter, use agent_expr::gdbarch instead, update function
11011         calls.
11012         (locexpr_tracepoint_var_ref): Likewise.
11013         (loclist_tracepoint_var_ref): Likewise.
11014         * ax-gdb.c (gen_trace_static_fields): Likewise.
11015         (gen_traced_pop): Likewise.
11016         (gen_frame_args_address): Likewise.
11017         (gen_frame_locals_address): Likewise.
11018         (gen_var_ref): Likewise.
11019         (gen_struct_ref_recursive): Likewise.
11020         (gen_static_field): Likewise.
11021         (gen_maybe_namespace_elt): Likewise.
11022         (gen_expr): Likewise.
11023         (gen_trace_for_var): Likewise.
11024         (gen_trace_for_expr): Likewise.
11025         (gen_trace_for_return_address): Likewise.
11026
11027 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
11028
11029         * ax-gdb.c (gen_deref, gen_address_of): Remove unused ax
11030         parameter.
11031         (gen_struct_ref, gen_expr, gen_expr_binop_rest): Update call.
11032
11033 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
11034
11035         * ax-gdb.c (gen_usual_unary): Remove exp parameter, get gdbarch
11036         from ax, update calls.
11037         (gen_usual_arithmetic): Likewise.
11038         (gen_integral_promotions): Likewise.
11039         (gen_bitfield_ref): Likewise.
11040         (gen_primitive_field): Likewise.
11041         (gen_struct_ref_recursive): Likewise.
11042         (gen_struct_ref): Likewise.
11043         (gen_maybe_namespace_elt): Likewise.
11044         (gen_struct_elt_for_reference): Likewise.
11045         (gen_namespace_elt): Likewise.
11046         (gen_aggregate_elt_ref): Likewise.
11047         (gen_expr): Get gdbarch from ax, update calls.
11048         (gen_expr_binop_rest): Likewise.
11049
11050 2017-07-13  Pedro Alves  <palves@redhat.com>
11051
11052         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Pass tdesc_amd64
11053         as default tdesc.
11054         * amd64-dicos-tdep.c (amd64_dicos_init_abi):
11055         * amd64-fbsd-tdep.c (amd64fbsd_init_abi):
11056         * amd64-linux-tdep.c (amd64_linux_init_abi): Pass
11057         tdesc_amd64_linux as default tdesc.  Get final tdesc from the
11058         tdep.
11059         (amd64_x32_linux_init_abi): Pass tdesc_x32_linux as default tdesc.
11060         Get final tdesc from the tdep.
11061         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Pass tdesc_amd64 as
11062         default tdesc.
11063         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
11064         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
11065         * amd64-tdep.c (amd64_init_abi): Add 'default_tdesc' parameter.
11066         Use it as default tdesc.
11067         (amd64_x32_init_abi): Add 'default_tdesc' parameter, and pass it
11068         down to amd_init_abi.  No longer handle fallback tdesc here.
11069         * amd64-tdep.h (tdesc_x32): Declare.
11070         (amd64_init_abi, amd64_x32_init_abi): Add 'default_tdesc'
11071         parameter.
11072         * amd64-windows-tdep.c (amd64_windows_init_abi): Pass tdesc_amd64
11073         as default tdesc.
11074
11075 2017-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11076
11077         * s390-linux-tdep.c (s390_process_record): Add support for
11078         instructions new in arch12.
11079
11080 2017-07-11  John Baldwin  <jhb@FreeBSD.org>
11081
11082         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers): Use
11083         PT_GETFSBASE and PT_GETGSBASE.
11084         (amd64bsd_store_inferior_registers): Use PT_SETFSBASE and
11085         PT_SETGSBASE.
11086
11087 2017-07-11  John Baldwin  <jhb@FreeBSD.org>
11088
11089         * features/Makefile (amd64.dat, amd64-avx.dat, amd64-mpx.dat)
11090         (amd64-avx-mpx.dat, amd64-avx-avx512.dat)
11091         (amd64-avx-mpx-avx512-pku.dat): Add i386/64bit-segments.xml in
11092         those rules.
11093         * features/i386/amd64-avx-avx512.xml: Add 64bit-segments.xml.
11094         * features/i386/amd64-avx-mpx-avx512-pku.xml: Add 64bit-segments.xml.
11095         * features/i386/amd64-avx-mpx.xml: Add 64bit-segments.xml.
11096         * features/i386/amd64-avx.xml: Add 64bit-segments.xml.
11097         * features/i386/amd64-mpx.xml: Add 64bit-segments.xml.
11098         * features/i386/amd64.xml: Add 64bit-segments.xml.
11099         * features/i386/amd64-avx-avx512.c: Regenerated.
11100         * features/i386/amd64-avx-mpx-avx512-pku.c: Regenerated.
11101         * features/i386/amd64-avx-mpx.c: Regenerated.
11102         * features/i386/amd64-avx.c: Regenerated.
11103         * features/i386/amd64-mpx.c: Regenerated.
11104         * features/i386/amd64.c: Regenerated.
11105         * regformats/i386/amd64-avx-avx512.dat: Regenerated.
11106         * regformats/i386/amd64-avx-mpx-avx512-pku.dat: Regenerated.
11107         * regformats/i386/amd64-avx-mpx.dat: Regenerated.
11108         * regformats/i386/amd64-avx.dat: Regenerated.
11109         * regformats/i386/amd64-mpx.dat: Regenerated.
11110         * regformats/i386/amd64.dat: Regenerated.
11111
11112 2017-07-10  Yao Qi  <yao.qi@linaro.org>
11113
11114         * features/i386/amd64-avx-avx512-linux.c: Re-generated.
11115         * features/i386/amd64-avx-mpx-avx512-pku-linux.c: Re-generated.
11116
11117 2017-07-10  Anton Kolesov  <Anton.Kolesov@synopsys.com>
11118
11119         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add setenv and
11120         unsetenv.
11121         * gnulib/aclocal.m4: Regenerate.
11122         * gnulib/config.in: Regenerate.
11123         * gnulib/configure: Regenerate.
11124         * gnulib/import/Makefile.am: Regenerate.
11125         * gnulib/import/Makefile.in: Regenerate.
11126         * gnulib/import/m4/gnulib-cache.m4: Regenerate.
11127         * gnulib/import/m4/gnulib-comp.m4: Regenerate.
11128         * gnulib/import/m4/environ.m4: New file.
11129         * gnulib/import/m4/setenv.m4: New file.
11130         * gnulib/import/setenv.c: New file.
11131         * gnulib/import/unsetenv.c: New file.
11132
11133 2017-07-09  Simon Marchi  <simon.marchi@ericsson.com>
11134
11135         * compile/compile-loc2c.c (do_compile_dwarf_expr_to_c): Read
11136         address when op is DW_OP_addr.
11137
11138 2017-07-09  Tom Tromey  <tom@tromey.com>
11139
11140         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Reverse size
11141         check and apply to outer type.
11142
11143 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11144
11145         * fbsd-tdep.c (LWPINFO_OFFSET, LWPINFO_PL_FLAGS)
11146         (LWPINFO64_PL_SIGINFO, LWPINFO32_PL_SIGINFO, PL_FLAG_SI)
11147         (SIZE64_SIGINFO_T, SIZE32_SIGINFO_T, fbsd_core_xfer_siginfo): New.
11148         (fbsd_init_abi): Install gdbarch "core_xfer_siginfo" method.
11149
11150 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11151
11152         * fbsd-tdep.c (fbsd_core_thread_name): Use thread_section_name.
11153
11154 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11155
11156         * corelow.c (get_core_siginfo): Remove.
11157         (core_xfer_partial): Use the gdbarch "core_xfer_siginfo" method
11158         instead of get_core_siginfo.
11159         * gdbarch.sh (core_xfer_siginfo): New gdbarch callback.
11160         * gdbarch.h: Re-generate.
11161         * gdbarch.c: Re-generate.
11162         * linux-tdep.c (linux_core_xfer_siginfo): New.
11163         (linux_init_abi): Install gdbarch "core_xfer_siginfo" method.
11164
11165 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11166
11167         * corelow.c (thread_section_name): Move to ...
11168         * gdbcore.h (thread_section_name): ... here.
11169
11170 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11171
11172         * fbsd-nat.c [PT_LWPINFO && __LP64__] (union sigval32)
11173         (struct siginfo32): New.
11174         [PT_LWPINFO] (fbsd_siginfo_size, fbsd_convert_siginfo): New.
11175         (fbsd_xfer_partial) [PT_LWPINFO]: Handle TARGET_OBJECT_SIGNAL_INFO
11176         via ptrace(PT_LWPINFO).
11177
11178 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11179
11180         * fbsd-tdep.c (fbsd_gdbarch_data_handle, struct fbsd_gdbarch_data)
11181         (init_fbsd_gdbarch_data, get_fbsd_gdbarch_data)
11182         (fbsd_get_siginfo_type): New.
11183         (fbsd_init_abi): Install gdbarch "get_siginfo_type" method.
11184         (_initialize_fbsd_tdep): New.
11185
11186 2017-07-06  David Blaikie  <dblaikie@gmail.com>
11187
11188         * dwarf2read.c (struct dwo_file): Use a htab of dwo_unit* (rather than
11189         a singular dwo_unit*) to support multiple CUs in the same way that
11190         multiple TUs are supported.
11191         (create_cus_hash_table): Replace create_dwo_cu with a function for
11192         parsing multiple CUs from a DWO file.
11193         (open_and_init_dwo_file): Use create_cus_hash_table rather than
11194         create_dwo_cu.
11195         (lookup_dwo_cutu): Lookup CU in the hash table in the dwo_file with
11196         htab_find, rather than comparing the signature to a singleton CU in
11197         the dwo_file.
11198
11199 2017-07-06  Pedro Alves  <palves@redhat.com>
11200
11201         * python/py-unwind.c (pyuw_dealloc_cache): Fix for loop condition.
11202
11203 2017-07-04  Pedro Alves  <palves@redhat.com>
11204
11205         * gdbtypes.c (recursive_dump_type): Don't reference TYPE_STATIC.
11206         * gdbtypes.h (TYPE_STATIC): Delete.
11207         (struct fn_field) <is_public, is_abstract, is_static, is_final,
11208         is_synchronized, is_native>: Delete.
11209         <dummy>: Bump.
11210         (TYPE_FN_FIELD_PUBLIC, TYPE_FN_FIELD_STATIC, TYPE_FN_FIELD_FINAL)
11211         (TYPE_FN_FIELD_SYNCHRONIZED, TYPE_FN_FIELD_NATIVE)
11212         (TYPE_FN_FIELD_ABSTRACT): Delete.
11213
11214 2017-07-03  Simon Marchi  <simon.marchi@ericsson.com>
11215
11216         * buffer.h (buffer_finish): Fix spelling mistakes.
11217
11218 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
11219
11220         * .dir-locals.el: Automatically switch to C-style comments in
11221         versions of Emacs that support the feature.
11222
11223 2017-06-30  Sergio Durigan Junior  <sergiodj@redhat.com>
11224             Pedro Alves  <palves@redhat.com>
11225
11226         PR cli/21688
11227         * cli/cli-script.c (command_name_equals_not_inline): Remove function.
11228         (process_next_line): New variable 'inline_cmd'.
11229         Adjust 'if' clauses for "python", "compile" and "guile" to use
11230         'command_name_equals' and check for '!inline_cmd'.
11231
11232 2017-06-30  Sergio Durigan Junior  <sergiodj@redhat.com>
11233
11234         PR cli/21688
11235         * cli/cli-script.c (command_name_equals_not_inline): New function.
11236         (process_next_line): Adjust 'if' clauses for "python", "compile"
11237         and "guile" to use command_name_equals_not_inline.
11238
11239 2017-06-29  Pedro Alves  <palves@redhat.com>
11240
11241         * completer.c (expression_completer): Call
11242         linespec_location_completer instead of location_completer.
11243
11244 2017-06-29  Pedro Alves  <palves@redhat.com>
11245
11246         * completer.c (expression_completer): Remove code that recomputes
11247         'text' from 'word'.
11248
11249 2017-06-29  Yao Qi  <yao.qi@linaro.org>
11250
11251         * regformats/regdat.sh: Generate code with
11252         "ifndef IN_PROCESS_AGENT".
11253
11254 2017-06-28  Pedro Alves  <palves@redhat.com>
11255
11256         * command.h: Include "common/scoped_restore.h".
11257
11258 2017-06-28  Yao Qi  <yao.qi@linaro.org>
11259
11260         * mi/mi-cmd-break.c (mi_argv_to_format): Use obstack_grow_str
11261         instead of obstack_grow.
11262
11263 2017-06-28  Doug Gilmore  <Doug.Gilmore@imgtec.com>
11264
11265         PR gdb/21337
11266         * symfile.c (reread_symbols): Call objfiles_changed just before
11267         read_symbols.
11268
11269 2017-06-27  Pedro Alves  <palves@redhat.com>
11270
11271         * symtab.c (COMPLETION_LIST_ADD_SYMBOL)
11272         (MCOMPLETION_LIST_ADD_SYMBOL): Delete macros, replace with ...
11273         (completion_list_add_symbol, completion_list_add_msymbol):
11274         ... these new functions.
11275         (add_symtab_completions)
11276         (default_make_symbol_completion_list_break_on_1): Adjust.
11277
11278 2017-06-27  Pedro Alves  <palves@redhat.com>
11279
11280         * objfiles.c (get_objfile_bfd_data): Call bfd_alloc instead of
11281         bfd_zalloc.  Call objfile_per_bfd_storage's ctor.
11282         (free_objfile_per_bfd_storage): Call objfile_per_bfd_storage's
11283         dtor.
11284         * objfiles.h (objfile_per_bfd_storage): Add ctor.  Make
11285         'storage_obstack' field an auto_obstack.  In-class initialize all
11286         non-bitfield fields.  Make minsyms_read bool.
11287         * symfile.c (read_symbols): Adjust.
11288
11289 2017-06-27  Alan Hayward  <alan.hayward@arm.com>
11290
11291         * remote-sim.c (gdbsim_fetch_register): Use byte_vector.
11292         (gdbsim_store_register): Likewise.
11293
11294 2017-06-27  Pedro Alves  <palves@redhat.com>
11295
11296         * c-exp.y (name_obstack): Now an auto_obstack.
11297         (yylex): Use auto_obstack::clear.
11298         (c_parse): Use auto_obstack::clear instead of reinitializing and
11299         freeing the obstack.
11300         * c-lang.c (evaluate_subexp_c): Use auto_obstack.
11301         * d-exp.y (name_obstack): Now an auto_obstack.
11302         (yylex): Use auto_obstack::clear.
11303         (d_parse): Use auto_obstack::clear instead of reinitializing and
11304         freeing the obstack.
11305         * dwarf2loc.c (fetch_const_value_from_synthetic_pointer): Use
11306         auto_obstack.
11307         * dwarf2read.c (create_addrmap_from_index)
11308         (dwarf2_build_psymtabs_hard)
11309         (update_enumeration_type_from_children): Likewise.
11310         * gdb_obstack.h (auto_obstack): New type.
11311         * go-exp.y (name_obstack): Now an auto_obstack.
11312         (build_packaged_name): Use auto_obstack::clear.
11313         (go_parse): Use auto_obstack::clear instead of reinitializing and
11314         freeing the obstack.
11315         * linux-tdep.c (linux_make_mappings_corefile_notes): Use
11316         auto_obstack.
11317         * printcmd.c (printf_wide_c_string, ui_printf): Use auto_obstack.
11318         * rust-exp.y (work_obstack): Now an auto_obstack.
11319         (rust_parse, rust_lex_tests): Use auto_obstack::clear instead of
11320         reinitializing and freeing the obstack.
11321         * utils.c (do_obstack_free, make_cleanup_obstack_free): Delete.
11322         (host_char_to_target): Use auto_obstack.
11323         * utils.h (make_cleanup_obstack_free): Delete declaration.
11324         * valprint.c (generic_emit_char, generic_printstr): Use
11325         auto_obstack.
11326
11327 2017-06-27  Simon Marchi  <simon.marchi@ericsson.com>
11328
11329         * darwin-nat.c (darwin_check_new_threads): Don't handle dummy
11330         thread.
11331         (darwin_init_thread_list): Don't update dummy thread.
11332         (darwin_create_inferior, darwin_attach): Don't add a dummy thread.
11333
11334 2017-06-26  Simon Marchi  <simon.marchi@ericsson.com>
11335
11336         * record-full.c (netorder16): Remove.
11337
11338 2017-06-26  Simon Marchi  <simon.marchi@ericsson.com>
11339
11340         * common/diagnostics.h: Define macros for GCC.
11341         (DIAGNOSTIC_IGNORE_UNUSED_FUNCTION): New macro.
11342         * common/vec.h: Include diagnostics.h.
11343         (DIAGNOSTIC_IGNORE_UNUSED_VEC_FUNCTION): New macro.
11344         (DEF_VEC_I, DEF_VEC_P, DEF_VEC_O): Ignore -Wunused-function
11345         warning.
11346
11347 2017-06-26  Simon Marchi  <simon.marchi@ericsson.com>
11348
11349         * common/diagnostics.h (DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER):
11350         New macro.
11351         * ada-lex.l: Ignore deprecated register warnings.
11352
11353 2017-06-25  Simon Marchi  <simon.marchi@ericsson.com>
11354
11355         * main.c (get_init_files): Replace "SYSTEM_GDBINIT +
11356         datadir_len" with "&SYSTEM_GDBINIT[datadir_len]".
11357
11358 2017-06-25  Simon Marchi  <simon.marchi@ericsson.com>
11359
11360         * dtrace-probe.c (dtrace_process_dof_probe): Put semi-colon on
11361         its own line.
11362
11363 2017-06-25  Simon Marchi  <simon.marchi@ericsson.com>
11364
11365         * nat/x86-dregs.c (x86_show_dr): Print registers one per line.
11366
11367 2017-06-23  Alan Hayward  <alan.hayward@arm.com>
11368
11369         * xtensa-tdep.c (XTENSA_MAX_REGISTER_SIZE): Add.
11370         (xtensa_register_write_masked): Use XTENSA_MAX_REGISTER_SIZE.
11371         (xtensa_register_read_masked): Likewise.
11372
11373 2017-06-22  Sergio Durigan Junior  <sergiodj@redhat.com>
11374
11375         * common/environ.c (gdb_environ::unset): Update comment.
11376
11377 2017-06-22  Alan Hayward  <alan.hayward@arm.com>
11378
11379         * python/py-unwind.c (pyuw_sniffer): Allocate space for
11380         registers.
11381
11382 2017-06-22  Alan Hayward  <alan.hayward@arm.com>
11383
11384         * record-full.c (record_full_exec_insn): Use byte_vector.
11385
11386 2017-06-22  Yao Qi  <yao.qi@linaro.org>
11387
11388         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Regenerated.
11389         * regformats/i386/amd64-avx-mpx-avx512-pku.dat: Regenerated.
11390
11391 2017-06-22  Alan Hayward  <alan.hayward@arm.com>
11392
11393         * remote.c (cached_reg): Move from here...
11394         * regcache.h (cached_reg): ...to here.
11395         * python/py-unwind.c (struct reg_info): Remove.
11396         (cached_frame_info): Use cached_reg_t.
11397         (pyuw_prev_register): Likewise.
11398         (pyuw_sniffer): Use cached_reg_t and allocate registers.
11399         (pyuw_dealloc_cache): Free all registers.
11400
11401 2017-06-22  Pedro Alves  <palves@redhat.com>
11402             Simon Marchi  <simon.marchi@ericsson.com>
11403
11404         * unittests/environ-selftests.c (run_tests): Ignore -Wself-move
11405         warning.
11406         * common/diagnostics.h: New file.
11407
11408 2017-06-22  Pedro Alves  <palves@redhat.com>
11409
11410         * common/agent.h: Add include guards.
11411
11412 2017-06-21  Simon Marchi  <simon.marchi@ericsson.com>
11413
11414         * target.h (struct target_ops) <to_xfer_partial>: Update doc to
11415         talk about addressable units instead of bytes.
11416
11417 2017-06-20  Sergio Durigan Junior  <sergiodj@redhat.com>
11418
11419         * common/environ.c (gdb_environ::unset): Use '::iterator' instead
11420         of '::const_iterator'.
11421
11422 2017-06-20  Sergio Durigan Junior  <sergiodj@redhat.com>
11423
11424         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11425         'unittests/environ-selftests.c'.
11426         (SUBDIR_UNITTESTS_OBS): Add 'environ-selftests.o'.
11427         * charset.c (find_charset_names): Declare object 'iconv_env'.
11428         Update code to use 'iconv_env' object.  Remove call to
11429         'free_environ'.
11430         * common/environ.c: Include <utility>.
11431         (make_environ): Delete function.
11432         (free_environ): Delete function.
11433         (gdb_environ::clear): New function.
11434         (gdb_environ::operator=): New function.
11435         (gdb_environ::get): Likewise.
11436         (environ_vector): Delete function.
11437         (set_in_environ): Delete function.
11438         (gdb_environ::set): New function.
11439         (unset_in_environ): Delete function.
11440         (gdb_environ::unset): New function.
11441         (gdb_environ::envp): Likewise.
11442         * common/environ.h: Include <vector>.
11443         (struct gdb_environ): Delete; transform into...
11444         (class gdb_environ): ... this class.
11445         (free_environ): Delete prototype.
11446         (init_environ, get_in_environ, set_in_environ, unset_in_environ,
11447         environ_vector): Likewise.
11448         * infcmd.c (run_command_1): Update code to call
11449         'envp' from 'gdb_environ' class.
11450         (environment_info): Update code to call methods from 'gdb_environ'
11451         class.
11452         (unset_environment_command): Likewise.
11453         (path_info): Likewise.
11454         (path_command): Likewise.
11455         * inferior.c (inferior::~inferior): Delete call to 'free_environ'.
11456         (inferior::inferior): Initialize 'environment' using the host's
11457         information.
11458         * inferior.h: Remove forward declaration of 'struct gdb_environ'.
11459         Include "environ.h".
11460         (class inferior) <environment>: Change type from 'struct
11461         gdb_environ' to 'gdb_environ'.
11462         * mi/mi-cmd-env.c (mi_cmd_env_path): Update code to call
11463         methods from 'gdb_environ' class.
11464         * solib.c (solib_find_1): Likewise
11465         * unittests/environ-selftests.c: New file.
11466
11467 2017-06-20  Yao Qi  <yao.qi@linaro.org>
11468
11469         * features/i386/i386-linux.xml: Exchange the order of including
11470         32bit-linux.xml and 32bit-sse.xml.
11471         * features/i386/i386-linux.c: Regenerated.
11472
11473 2017-06-20  Yao Qi  <yao.qi@linaro.org>
11474
11475         * target-descriptions.c (tdesc_reg): Add ctor, dtor.
11476         Delete copy ctor and assignment operator.
11477         (tdesc_type): Likewise.
11478         (tdesc_feature): Likewise.
11479         (tdesc_free_reg): Remove.
11480         (tdesc_create_reg): Use new.
11481         (tdesc_free_type): Remove.
11482         (tdesc_create_vector): Use new.
11483         (tdesc_create_union): Likewise.
11484         (tdesc_create_flags): Likewise.
11485         (tdesc_create_enum): Likewise.
11486         (tdesc_free_feature): Delete.
11487         (free_target_description): Use delete.
11488
11489 2017-06-19  John Baldwin  <jhb@FreeBSD.org>
11490
11491         * mips-tdep.c (print_gp_register_row): Don't error for unavailable
11492         registers.
11493
11494 2017-06-19  Pedro Alves  <palves@redhat.com>
11495
11496         * dwarf2read.c (write_psymtabs_to_index): Construct file_closer
11497         after gdb::unlinker.
11498
11499 2017-06-19  Sergio Durigan Junior  <sergiodj@redhat.com>
11500
11501         * mi/mi-cm-env.c (_initialize_mi_cmd_env): Use getenv instead of
11502         gdb_environ to access an environment variable.
11503
11504 2017-06-18  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>
11505
11506         * nat/linux-ptrace.c (linux_fork_to_function): Add cast to
11507         gdb_byte*.
11508
11509 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11510
11511         * nat/fork-inferior.h (trace_start_error): Add ATTRIBUTE_PRINTF.
11512
11513 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11514
11515         * configure: Re-generate.
11516         * warning.m4 (build_warnings): Add -Wno-mismatched-tags.
11517
11518 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11519
11520         * configure: Re-generate.
11521         * warning.m4: Pass -Werror to compiler when checking for
11522         supported warning flags.
11523
11524 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11525
11526         * Makefile.in (COMPILE.pre): Add "-x c++".
11527
11528 2017-06-16  Alan Hayward  <alan.hayward@arm.com>
11529             Pedro Alves  <palves@redhat.com>
11530             Yao Qi  <yao.qi@linaro.org>
11531
11532         * defs.h (RequireLongest): New.
11533         (extract_integer): Declare function template.
11534         (extract_signed_integer): Remove the declaration, but define it
11535         static inline.
11536         (extract_unsigned_integer): Likewise.
11537         (store_integer): Declare function template.
11538         (store_signed_integer): Remove the declaration, but define it
11539         static inline.
11540         (store_unsigned_integer): Likewise.
11541         * findvar.c (extract_integer): New function template.
11542         (extract_signed_integer): Remove.
11543         (extract_unsigned_integer): Remove.
11544         (extract_integer<LONGEST>, extract_integer<ULONGEST>): Explicit
11545         instantiations.
11546         (store_integer): New function template.
11547         (store_signed_integer): Remove.
11548         (store_unsigned_integer): Remove.
11549         (store_integer): Explicit instantiations.
11550         * regcache.c (regcache_raw_read_signed): Update.
11551         (regcache::raw_read): New function.
11552         (regcache::raw_read_signed): Remove.
11553         (regcache::raw_read_unsigned): Remove.
11554         (regcache_raw_read_unsigned): Update.
11555         (regcache_raw_write_unsigned): Update.
11556         (regcache::raw_write_signed): Remove.
11557         (regcache::raw_write): New function.
11558         (regcache_cooked_read_signed): Update.
11559         (regcache::raw_write_unsigned): Remove.
11560         (regcache::cooked_read_signed): Remove.
11561         (regcache_cooked_read_unsigned): Update.
11562         (regcache::cooked_read_unsigned): Remove.
11563         (regcache_cooked_write_signed): Update.
11564         (regcache_cooked_write_unsigned): Update.
11565         * regcache.h (regcache) <raw_read_signed>: Remove.
11566         <raw_write_signed, raw_read_unsigned, raw_write_unsigned>: Remove.
11567         <raw_read, raw_write>: New.
11568         <cooked_read_signed, cooked_write_signed>: Remove.
11569         <cooked_write_unsigned, cooked_read_unsigned>: Remove.
11570         <cooked_read, cooked_write>: New.
11571         * sh64-tdep.c (sh64_pseudo_register_read): Update.
11572         (sh64_pseudo_register_write): Update.
11573
11574 2017-06-16  Anton Kolesov  <anton.kolesov@synopsys.com>
11575
11576         * arc-tdep.c (arc_disassembler_options): New variable.
11577         (arc_gdbarch_init): Set and use it. Use arc_delayed_print_insn instead
11578         of default_print_insn.
11579         (arc_delayed_print_insn): Set info->section when needed,
11580         use default_print_insn to retrieve a disassembler.
11581
11582 2017-06-14  Sergio Durigan Junior  <sergiodj@redhat.com>
11583
11584         PR gdb/21574
11585         * infcmd.c (_initialize_infcmd): Expand "help run" documentation
11586         to mention $SHELL and startup-with-shell.
11587
11588 2017-06-14  Max Filippov  <jcmvbkbc@gmail.com>
11589
11590         * MAINTAINERS: Move Maxim Grigoriev to the Past Maintainers.
11591
11592 2017-06-14  Yao Qi  <yao.qi@linaro.org>
11593
11594         * aarch64-tdep.c (aarch64_gdb_print_insn): Call
11595         default_print_insn instead of print_insn_aarch64.
11596         * arm-tdep.c (gdb_print_insn_arm): Call
11597         default_print_insn instead of print_insn_big_arm
11598         and print_insn_little_arm.
11599         * i386-tdep.c (i386_print_insn): Call default_print_insn
11600         instead of print_insn_i386.
11601         * ia64-tdep.c (ia64_print_insn): Call
11602         default_print_insn instead of print_insn_ia64.
11603         * mips-tdep.c (gdb_print_insn_mips): Call
11604         default_print_insn instead of print_insn_big_mips
11605         and print_insn_little_mips.
11606         * spu-tdep.c (gdb_print_insn_spu): Call default_print_insn
11607         instead of print_insn_spu.
11608
11609 2017-06-14  Pedro Alves  <palves@redhat.com>
11610
11611         * ada-lang.c: Include "common/byte-vector.h".
11612         (ada_value_primitive_packed_val): Use gdb::byte_vector.
11613         * charset.c (wchar_iterator::iterate): Resize the vector instead
11614         of reserving it.
11615         * common/byte-vector.h: Include "common/def-vector.h".
11616         (wchar_iterator::m_out): Now a gdb::def_vector<gdb_wchar_t>.
11617         * cli/cli-dump.c: Include "common/byte-vector.h".
11618         (dump_memory_to_file, restore_binary_file): Use gdb::byte_vector.
11619         * common/byte-vector.h: New file.
11620         * common/def-vector.h: New file.
11621         * common/default-init-alloc.h: New file.
11622         * dwarf2loc.c: Include "common/byte-vector.h".
11623         (rw_pieced_value): Use gdb::byte_vector, and resize the vector
11624         instead of reserving it.
11625         * dwarf2read.c: Include "common/byte-vector.h".
11626         (data_buf::m_vec): Now a gdb::byte_vector.
11627         * gdb_regex.c: Include "common/def-vector.h".
11628         (compiled_regex::compiled_regex): Use gdb::def_vector<char>.
11629         * mi/mi-main.c: Include "common/byte-vector.h".
11630         (mi_cmd_data_read_memory): Use gdb::byte_vector.
11631         * printcmd.c: Include "common/byte-vector.h".
11632         (print_scalar_formatted): Use gdb::byte_vector.
11633         * valprint.c: Include "common/byte-vector.h".
11634         (maybe_negate_by_bytes, print_decimal_chars): Use
11635         gdb::byte_vector.
11636
11637 2017-06-13  Simon Marchi  <simon.marchi@ericsson.com>
11638
11639         * darwin-nat.c: Include "nat/fork-inferior.h".
11640
11641 2017-06-13  Simon Marchi  <simon.marchi@ericsson.com>
11642
11643         * configure.nat: Factor out Darwin bits that are not
11644         architecture-specific.  Add fork-inferior.o.
11645
11646 2017-06-13  Simon Marchi  <simon.marchi@ericsson.com>
11647
11648         * configure.nat: Factor out AIX bits that are not
11649         architecture-specific.  Add fork-inferior.o.
11650
11651 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11652
11653         * dwarf2loc.c (rw_pieced_value): New.  Merge logic from...
11654         (read_pieced_value, write_pieced_value): ...here.  Reduce to
11655         wrappers that just call rw_pieced_value.
11656
11657 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11658
11659         * dwarf2loc.c (write_pieced_value): When writing the data for a
11660         memory piece, use write_memory_with_notification instead of
11661         write_memory.
11662
11663 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11664
11665         * valops.c (read_value_memory): Change embedded_offset to
11666         represent a bit offset instead of a byte offset.
11667         * value.h (read_value_memory): Adjust comment.
11668
11669 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11670
11671         * dwarf2loc.c (read_pieced_value): Remove unnecessary variables
11672         dest_offset_bits and source_offset_bits.
11673         (write_pieced_value): Likewise.
11674
11675 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11676
11677         * dwarf2loc.c (read_pieced_value): Respect the piece offset, as
11678         given by DW_OP_bit_piece.
11679         (write_pieced_value): Likewise.
11680
11681 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11682
11683         * dwarf2loc.c (read_pieced_value): Move the buffer allocation and
11684         some other preparations to the places where sufficient information
11685         is available.
11686         (write_pieced_value): Likewise.
11687
11688 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11689
11690         * dwarf2loc.c (bits_to_bytes): New function.
11691         (read_pieced_value): Fix offset calculations for register pieces
11692         on big-endian targets.
11693         (write_pieced_value): Likewise.
11694
11695 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11696
11697         * dwarf2loc.c (read_pieced_value): Remove buffer_size variable.
11698         (write_pieced_value): Likewise.
11699
11700 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11701
11702         * dwarf2loc.c (write_pieced_value): When writing to a bit-field,
11703         transfer the source value's least significant bits, instead of its
11704         lowest-addressed ones.  Rename type_len to max_offset.
11705         (read_pieced_value): Mirror above changes to write_pieced_value as
11706         applicable.
11707
11708 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11709
11710         * dwarf2loc.c (write_pieced_value): In DWARF_VALUE_MEMORY,
11711         truncate full bytes from dest_offset_bits before using it as an
11712         offset into the buffer.
11713
11714 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11715
11716         * dwarf2loc.c (write_pieced_value): Include transfer size in
11717         byte-wise check.
11718
11719 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11720
11721         * dwarf2loc.c (write_pieced_value): Fix copy/paste error in the
11722         calculation of this_size.
11723
11724 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11725
11726         * dwarf2loc.c (read_pieced_value): Respect parent value's offset
11727         when targeting a bit-field.
11728         (write_pieced_value): Likewise.
11729
11730 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11731
11732         * dwarf2loc.c (struct piece_closure) <addr_size>: Remove field.
11733         (allocate_piece_closure): Drop addr_size parameter.
11734         (dwarf2_evaluate_loc_desc_full): Adjust call to
11735         allocate_piece_closure.
11736
11737 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11738
11739         PR gdb/21226
11740         * dwarf2loc.c (read_pieced_value): Anchor stack value pieces at
11741         the LSB end, independent of endianness.
11742
11743 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11744
11745         * dwarf2loc.c (write_pieced_value): Fix order of calculations for
11746         size capping.
11747
11748 2017-06-13  Yao Qi  <yao.qi@linaro.org>
11749
11750         * mips-linux-nat.c: Move include features/mips*-linux.c to
11751         mips-linux-tdep.c.
11752         (_initialize_mips_linux_nat): Move initialize_tdesc_mips* calls
11753         to mips-linux-tdep.c.
11754         * mips-linux-tdep.c: Include features/mips*-linux.c
11755         (_initialize_mips_linux_tdep): Call initialize_tdesc_mips*
11756         functions.
11757         * mips-linux-tdep.h (tdesc_mips_linux): Declare.
11758         (tdesc_mips_dsp_linux, tdesc_mips64_linux): Declare.
11759         (tdesc_mips64_dsp_linux): Declare.
11760
11761 2017-06-12  Tom Tromey  <tom@tromey.com>
11762
11763         * valprint.h (val_print_type_code_int): Remove.
11764         * valprint.c (generic_val_print_int): Always call
11765         val_print_scalar_formatted.
11766         (val_print_type_code_int): Remove.
11767         * printcmd.c (print_scalar_formatted): Handle options->format==0.
11768         * f-valprint.c (f_val_print): Use val_print_scalar_formatted.
11769         * c-valprint.c (c_val_print_int): Use val_print_scalar_formatted.
11770         * ada-valprint.c (ada_val_print_num): Use
11771         val_print_scalar_formatted.
11772
11773 2017-06-12  Tom Tromey  <tom@tromey.com>
11774
11775         * printcmd.c (print_scalar_formatted): Unify the two switches.
11776         Don't convert scalars to LONGEST.
11777
11778 2017-06-12  Tom Tromey  <tom@tromey.com>
11779
11780         PR exp/16225:
11781         * valprint.h (print_decimal_chars): Update.
11782         * valprint.c (maybe_negate_by_bytes): New function.
11783         (print_decimal_chars): Add "is_signed" argument.
11784         * printcmd.c (print_scalar_formatted): Update.
11785
11786 2017-06-12  Tom Tromey  <tom@tromey.com>
11787
11788         PR exp/16225:
11789         * valprint.h (print_binary_chars, print_hex_chars): Update.
11790         * valprint.c (val_print_type_code_int): Update.
11791         (print_binary_chars): Add "zero_pad" argument.
11792         (emit_octal_digit): New function.
11793         (print_octal_chars): Don't zero-pad.
11794         (print_decimal_chars): Likewise.
11795         (print_hex_chars): Add "zero_pad" argument.
11796         * sh64-tdep.c (sh64_do_fp_register): Update.
11797         * regcache.c (regcache::dump): Update.
11798         * printcmd.c (print_scalar_formatted): Update.
11799         * infcmd.c (default_print_one_register_info): Update.
11800
11801 2017-06-12  Pedro Alves  <palves@redhat.com>
11802             Alan Hayward  <alan.hayward@arm.com>
11803
11804         * mips-tdep.c (MAX_MIPS_ABI_REGSIZE): New.
11805         (mips_eabi_push_dummy_call): Rename local 'regsize' to
11806         'abi_regsize'.  Rename local array 'valbuf' to 'ref_valbuf', and
11807         use MAX_MIPS_ABI_REGSIZE instead of MAX_REGISTER_SIZE to size it.
11808         Assert that abi_regsize bytes fit in 'ref_valbuf'.
11809
11810 2017-06-12  Pedro Alves  <palves@redhat.com>
11811
11812         * dwarf2read.c (mapped_symtab::data): Now a vector of
11813         symtab_index_entry instead of vector of
11814         std::unique_ptr<symtab_index_entry>.  All users adjusted to check
11815         whether an element's name is NULL instead of checking whether the
11816         element itself is NULL.
11817         (find_slot): Change return type.  Adjust.
11818         (hash_expand, , add_index_entry, uniquify_cu_indices)
11819         (write_hash_table): Adjust.
11820
11821 2017-06-12  Pedro Alves  <palves@redhat.com>
11822
11823         * dwarf2read.c (recursively_count_psymbols): New function.
11824         (write_psymtabs_to_index): Call it to compute number of psyms and
11825         pass estimate size of psyms_seen to unordered_set's ctor.
11826
11827 2017-06-12  Pedro Alves  <palves@redhat.com>
11828
11829         * dwarf2read.c (write_hash_table): Check if key already exists
11830         before emplacing.
11831
11832 2017-06-12  Pedro Alves  <palves@redhat.com>
11833
11834         * dwarf2read.c (data_buf::append_space): Rename to...
11835         (data_buf::grow): ... this, and make private.  Adjust all callers.
11836         (data_buf::append_uint): New method.
11837         (add_address_entry, write_one_signatured_type)
11838         (write_psymtabs_to_index): Use it.
11839
11840 2017-06-12  Pedro Alves  <palves@redhat.com>
11841
11842         * dwarf2read.c (file_write(FILE *, const void *, size_t)): Delete.
11843         (file_write (FILE *, const std::vector<Elem>&)): Delete.
11844         (data_buf::file_write): Call ::fwrite directly.
11845
11846 2017-06-12  Pedro Alves  <palves@redhat.com>
11847
11848         * dwarf2read.c (uniquify_cu_indices): Use std::unique and
11849         std::vector::erase.
11850
11851 2017-06-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
11852
11853         Code cleanup: C++ify .gdb_index producer.
11854         * dwarf2read.c: Include <unordered_set> and <unordered_map>.
11855         (MAYBE_SWAP) [WORDS_BIGENDIAN]: Cast to offset_type.
11856         (struct strtab_entry, hash_strtab_entry, eq_strtab_entry)
11857         (create_strtab, add_string): Remove.
11858         (file_write, data_buf): New.
11859         (struct symtab_index_entry): Use std::vector for cu_indices.
11860         (struct mapped_symtab): Use std::vector for data.
11861         (hash_symtab_entry, eq_symtab_entry, delete_symtab_entry)
11862         (create_symbol_hash_table, create_mapped_symtab, cleanup_mapped_symtab):
11863         Remove.
11864         (find_slot): Change return type.  Update it to the new data structures.
11865         (hash_expand, add_index_entry): Update it to the new data structures.
11866         (offset_type_compare): Remove.
11867         (uniquify_cu_indices): Update it to the new data structures.
11868         (c_str_view, c_str_view_hasher, vector_hasher): New.
11869         (add_indices_to_cpool): Remove.
11870         (write_hash_table): Update it to the new data structures.
11871         (struct psymtab_cu_index_map, hash_psymtab_cu_index)
11872         (eq_psymtab_cu_index): Remove.
11873         (psym_index_map): New typedef.
11874         (struct addrmap_index_data): Change addr_obstack pointer to data_buf
11875         reference and std::unordered_map for cu_index_htab.
11876         (add_address_entry, add_address_entry_worker, write_address_map)
11877         (write_psymbols): Update it to the new data structures.
11878         (write_obstack): Remove.
11879         (struct signatured_type_index_data): Change types_list to a data_buf
11880         reference and psyms_seen to a std::unordered_set reference.
11881         (write_one_signatured_type, recursively_write_psymbols)
11882         (write_psymtabs_to_index): Update it to the new data structures.
11883
11884 2017-06-11  Simon Marchi  <simon.marchi@ericsson.com>
11885
11886         * NEWS (Changes since GDB 8.0): Announce {set,show} debug
11887         separate-debug-file commands.
11888         * symfile.h (separate_debug_file_debug): New global.
11889         * symfile.c (separate_debug_file_debug): New global.
11890         (separate_debug_file_exists, find_separate_debug_file): Add
11891         debug output.
11892         (_initialize_symfile): Add "set debug separate-debug-file"
11893         command.
11894         * build-id.c (build_id_to_debug_bfd,
11895         find_separate_debug_file_by_buildid): Add debug output.
11896
11897 2017-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
11898
11899         * gdbarch.sh (displaced_step_free_closure): Remove.
11900         * gdbarch.h, gdbarch.c: Re-generate.
11901         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Don't set
11902         displaced_step_free_closure.
11903         * amd64-linux-tdep.c (amd64_linux_init_abi_common): Likewise.
11904         * arm-linux-tdep.c (arm_linux_init_abi): Likewise.
11905         * i386-linux-tdep.c (i386_linux_init_abi): Likewise.
11906         * rs6000-aix-tdep.c (rs6000_aix_init_osabi): Likewise.
11907         * rs6000-tdep.c (rs6000_gdbarch_init): Likewise.
11908         * s390-linux-tdep.c (s390_gdbarch_init): Likewise.
11909         * arch-utils.h (simple_displaced_step_free_closure): Remove.
11910         * arch-utils.c (simple_displaced_step_free_closure): Remove.
11911         * infrun.c (displaced_step_clear): Call xfree instead of
11912         gdbarch_displaced_step_free_closure.
11913
11914 2017-06-08  Sergio Durigan Junior  <sergiodj@redhat.com>
11915
11916         * common/common-utils.c (stringify_argv): Check for "arg[0] !=
11917         NULL".
11918
11919 2017-06-08 Alan Hayward  <alan.hayward@arm.com>
11920
11921         * mn10300-tdep.c (MN10300_MAX_REGISTER_SIZE): Add.
11922         (mn10300_extract_return_value): Use MN10300_MAX_REGISTER_SIZE.
11923         (mn10300_push_dummy_call): Likewise.
11924
11925 2017-06-08  Alan Hayward  <alan.hayward@arm.com>
11926
11927         * mi/mi-main.c (register_changed_p): Use value_contents_eq.
11928
11929 2017-06-08  Alan Hayward  <alan.hayward@arm.com>
11930
11931         * mi/mi-main.c (register_changed_p): Use cooked_read_value.
11932
11933 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
11934
11935         * NEWS (Changes since GDB 8.0): Announce that GDBserver is now
11936         able to start inferiors using a shell.
11937         (New remote packets): Announce new packet "QStartupWithShell".
11938         * remote.c: Add PACKET_QStartupWithShell.
11939         (extended_remote_create_inferior): Handle new
11940         PACKET_QStartupWithShell.
11941         (remote_protocol_features) <QStartupWithShell>: New entry for
11942         PACKET_QStartupWithShell.
11943         (_initialize_remote): Call "add_packet_config_cmd" for
11944         QStartupShell.
11945
11946 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
11947             Pedro Alves  <palves@redhat.com>
11948
11949         * Makefile.in (HFILES_NO_SRCDIR): Add "common/common-inferior.h"
11950         and "nat/fork-inferior.h".
11951         * common/common-inferior.h: New file, with contents from
11952         "gdb/inferior.h".
11953         * commom/common-utils.c: Include "common-utils.h".
11954         (stringify_argv): New function.
11955         * common/common-utils.h (stringify_argv): New prototype.
11956         * configure.nat: Add "fork-inferior.o" as a dependency for
11957         "*linux*", "fbsd*" and "nbsd*" hosts.
11958         * corefile.c (get_exec_file): Update comment.
11959         * darwin-nat.c (darwin_ptrace_him): Call "gdb_startup_inferior"
11960         instead of "startup_inferior".
11961         (darwin_create_inferior): Call "add_thread_silent" after
11962         "fork_inferior".
11963         * fork-child.c: Cleanup unnecessary includes.
11964         (SHELL_FILE): Move to "common/common-fork-child.c".
11965         (environ): Likewise.
11966         (exec_wrapper): Initialize.
11967         (get_exec_wrapper): New function.
11968         (breakup_args): Move to "common/common-fork-child.c"; rename to
11969         "breakup_args_for_exec".
11970         (escape_bang_in_quoted_argument): Move to
11971         "common/common-fork-child.c".
11972         (saved_ui): New variable.
11973         (prefork_hook): New function.
11974         (postfork_hook): Likewise.
11975         (postfork_child_hook): Likewise.
11976         (gdb_startup_inferior): Likewise.
11977         (fork_inferior): Move to "common/common-fork-child.c".  Update
11978         function to support gdbserver.
11979         (startup_inferior): Likewise.
11980         * gdbcore.h (get_exec_file): Remove declaration.
11981         * gnu-nat.c (gnu_create_inferior): Call "gdb_startup_inferior"
11982         instead of "startup_inferior".  Call "add_thread_silent" after
11983         "fork_inferior".
11984         * inf-ptrace.c: Include "nat/fork-inferior.h" and "utils.h".
11985         (inf_ptrace_create_inferior): Call "gdb_startup_inferior"
11986         instead of "startup_inferior".  Call "add_thread_silent" after
11987         "fork_inferior".
11988         * inferior.h: Include "common-inferior.h".
11989         (trace_start_error): Move to "common/common-utils.h".
11990         (trace_start_error_with_name): Likewise.
11991         (fork_inferior): Move prototype to "nat/fork-inferior.h".
11992         (startup_inferior): Likewise.
11993         (gdb_startup_inferior): New prototype.
11994         * nat/fork-inferior.c: New file, with contents from "fork-child.c".
11995         * nat/fork-inferior.h: New file.
11996         * procfs.c (procfs_init_inferior): Call "gdb_startup_inferior"
11997         instead of "startup_inferior".  Call "add_thread_silent" after
11998         "fork_inferior".
11999         * target.h (target_terminal_init): Move prototype to
12000         "target/target.h".
12001         (target_terminal_inferior): Likewise.
12002         (target_terminal_ours): Likewise.
12003         * target/target.h (target_terminal_init): New prototype, moved
12004         from "target.h".
12005         (target_terminal_inferior): Likewise.
12006         (target_terminal_ours): Likewise.
12007         * utils.c (gdb_flush_out_err): New function.
12008
12009 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
12010
12011         * Makefile.in (HFILES_NO_SRCDIR): Add "common/common-gdbthread.h".
12012         * common/common-gdbthread.h: New file, with parts from
12013         "gdb/gdbthread.h".
12014         * gdbthread.h: Include "common-gdbthread.h".
12015         (switch_to_thread): Moved to "common/common-gdbthread.h".
12016
12017 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
12018
12019         * Makefile.in (SFILES): Add "common/job-control.c".
12020         (HFILES_NO_SRCDIR): Add "common/job-control.h".
12021         (COMMON_OBS): Add "job-control.o".
12022         * common/job-control.c: New file, with contents from
12023         "gdb/inflow.c".
12024         * common/job-control.h: New file, with contents from "terminal.h".
12025         * fork-child.c: Include "job-control.h".
12026         * inflow.c: Include "job-control.h".
12027         (gdb_setpgid): Move to "common/common-inflow.c".
12028         (_initialize_inflow): Move setting of "job_control" to
12029         "handle_job_control".
12030         * terminal.h (job_control): Moved to "common/common-terminal.h".
12031         (gdb_setpgid): Likewise.
12032         * top.c: Include "job_control.h".
12033         * utils.c: Likewise.
12034         (job_control): Moved to "job-control.c".
12035
12036 2017-06-07  Pedro Alves  <palves@redhat.com>
12037
12038         * Makefile.in (SFILES): Add gdb_regex.c.
12039         (COMMON_OBS): Add gdb_regex.o.
12040         * ada-lang.c (ada_add_standard_exceptions)
12041         (ada_add_exceptions_from_frame, name_matches_regex)
12042         (ada_add_global_exceptions, ada_exceptions_list_1): Change regex
12043         parameter type to compiled_regex.  Adjust.
12044         (ada_exceptions_list): Use compiled_regex.
12045         * break-catch-throw.c (exception_catchpoint::pattern): Now a
12046         std::unique_ptr<compiled_regex>.
12047         (exception_catchpoint::~exception_catchpoint): Remove regfree
12048         call.
12049         (check_status_exception_catchpoint): Adjust to use compiled_regex.
12050         (handle_gnu_v3_exceptions): Adjust to use compiled_regex.
12051         * breakpoint.c (solib_catchpoint::compiled): Now a
12052         std::unique_ptr<compiled_regex>.
12053         (solib_catchpoint::~solib_catchpoint): Remove regfree call.
12054         (check_status_catch_solib): Adjust to use compiled_regex.
12055         (add_solib_catchpoint): Adjust to use compiled_regex.
12056         * cli/cli-cmds.c (apropos_command): Use compiled_regex.
12057         * cli/cli-decode.c (apropos_cmd): Change regex parameter to
12058         compiled_regex reference.  Adjust to use it.
12059         * cli/cli-decode.h: Remove struct re_pattern_buffer forward
12060         declaration.  Include "gdb_regex.h".
12061         (apropos_cmd): Change regex parameter to compiled_regex reference.
12062         * gdb_regex.c: New file.
12063         * gdb_regex.h (make_regfree_cleanup, get_regcomp_error): Delete
12064         declarations.
12065         (class compiled_regex): New.
12066         * linux-tdep.c: Include "common/gdb_optional.h".
12067         (struct mapping_regexes): New, factored out from
12068         mapping_is_anonymous_p, and adjusted to use compiled_regex.
12069         (mapping_is_anonymous_p): Use mapping_regexes wrapped in a
12070         gdb::optional and remove cleanups.  Adjust to compiled_regex.
12071         * probe.c: Include "common/gdb_optional.h".
12072         (collect_probes): Use compiled_regex and gdb::optional and remove
12073         cleanups.
12074         * skip.c: Include "common/gdb_optional.h".
12075         (skiplist_entry::compiled_function_regexp): Now a
12076         gdb::optional<compiled_regex>.
12077         (skiplist_entry::compiled_function_regexp_is_valid): Delete field.
12078         (free_skiplist_entry): Remove regfree call.
12079         (compile_skip_regexp, skip_rfunction_p): Adjust to use
12080         compiled_regex and gdb::optional.
12081         * symtab.c: Include "common/gdb_optional.h".
12082         (search_symbols): Use compiled_regex and gdb::optional.
12083         * utils.c (do_regfree_cleanup, make_regfree_cleanup)
12084         (get_regcomp_error, compile_rx_or_error): Delete.  Some bits moved
12085         to gdb_regex.c.
12086
12087 2017-06-07  Alan Hayward  <alan.hayward@arm.com>
12088
12089         * regcache.c (regcache::save): Avoid buffer use.
12090         (regcache::dump): Likewise.
12091
12092 2017-06-07  Alan Hayward  <alan.hayward@arm.com>
12093
12094         * sh-tdep.c (sh_pseudo_register_read): Remove
12095         MAX_REGISTER_SIZE.
12096         (sh_pseudo_register_write): Likewise.
12097         * sh64-tdep.c (sh64_pseudo_register_read): Likewise.
12098         (sh64_pseudo_register_write): Likewise
12099
12100 2017-06-07  Alan Hayward  <alan.hayward@arm.com>
12101
12102         * aarch64-tdep.c (aarch64_store_return_value): Use
12103         V_REGISTER_SIZE.
12104         (aarch64_pseudo_read_value): Likewise.
12105         (aarch64_pseudo_write): Likewise.
12106
12107 2017-06-06  Yao Qi  <yao.qi@linaro.org>
12108
12109         * regformats/regdef.h (set_register_cache): Remove the
12110         declaration.
12111
12112 2017-06-06 Alan Hayward  <alan.hayward@arm.com>
12113
12114         * frame.c (frame_unwind_register_signed): Use
12115         frame_unwind_register_value.
12116
12117 2017-06-06  Pedro Alves  <palves@redhat.com>
12118
12119         PR breakpoints/21553
12120         * breakpoint.c (create_breakpoints_sal_default)
12121         (init_breakpoint_sal, create_breakpoint_sal): Use
12122         gdb::unique_xmalloc_ptr for string parameters.
12123         (create_breakpoint): Constify 'extra_string' and 'cond_string'
12124         parameters.  Replace cleanups with gdb::unique_xmalloc_ptr.
12125         (base_breakpoint_create_breakpoints_sal)
12126         (bkpt_create_breakpoints_sal, tracepoint_create_breakpoints_sal)
12127         (strace_marker_create_breakpoints_sal)
12128         (create_breakpoints_sal_default): Use gdb::unique_xmalloc_ptr for
12129         string parameters.
12130         * breakpoint.h (breakpoint_ops::create_breakpoints_sal): Use
12131         gdb::unique_xmalloc_ptr for string parameters.
12132         (create_breakpoint): Constify 'extra_string' and 'cond_string'
12133         parameters.
12134
12135 2017-06-06  Alan Hayward  <alan.hayward@arm.com>
12136
12137         * alpha-tdep.c (alpha_register_to_value): Use
12138         get_frame_register_value.
12139         (alpha_value_to_register): Use ALPHA_REGISTER_SIZE.
12140
12141 2017-06-06  Alan Hayward  <alan.hayward@arm.com>
12142
12143         * ia64-tdep.c (IA64_MAX_FP_REGISTER_SIZE) Add.
12144         (ia64_register_to_value): Use IA64_MAX_FP_REGISTER_SIZE.
12145         (ia64_value_to_register): Likewise.
12146         (ia64_extract_return_value): Likewise.
12147         (ia64_store_return_value): Likewise.
12148         (ia64_push_dummy_call): Likewise.
12149
12150 2017-06-04  Joel Brobecker  <brobecker@adacore.com>
12151
12152         GDB 8.0 released.
12153
12154 2017-06-03  Simon Marchi  <simon.marchi@ericsson.com>
12155
12156         * x86-linux-nat.c (struct arch_lwp_info): Remove.
12157
12158 2017-06-03  Simon Marchi  <simon.marchi@polymtl.ca>
12159
12160         * linux-nat.c (linux_nat_post_attach_wait): Remove FIRST
12161         parameter.
12162         (linux_nat_attach): Adjust call to linux_nat_post_attach_wait.
12163
12164 2017-06-02  Simon Marchi  <simon.marchi@ericsson.com>
12165
12166         * event-loop.c (poll_timers): Unallocate timer using delete
12167         instead of xfree.
12168
12169 2017-06-02  Simon Marchi  <simon.marchi@polymtl.ca>
12170
12171         * breakpoint.h (struct breakpoint_ops) <dtor>: Remove.
12172         (struct breakpoint) <~breakpoint>: New.
12173         (struct watchpoint): Inherit from breakpoint.
12174         <~watchpoint>: New.
12175         <base>: Remove.
12176         (struct tracepoint): Inherit from breakpoint.
12177         <base>: Remove.
12178         * breakpoint.c (longjmp_breakpoint_ops): Remove.
12179         (struct longjmp_breakpoint): Inherit from breakpoint.
12180         <~longjmp_breakpoint>: New.
12181         <base>: Remove.
12182         (new_breakpoint_from_type): Remove casts.
12183         (watchpoint_in_thread_scope): Remove reference to base field.
12184         (watchpoint_del_at_next_stop): Likewise.
12185         (update_watchpoint): Likewise.
12186         (watchpoint_check): Likewise.
12187         (bpstat_check_watchpoint): Likewise.
12188         (set_longjmp_breakpoint): Likewise.
12189         (struct fork_catchpoint): Inherit from breakpoint.
12190         <base>: Remove.
12191         (struct solib_catchpoint): Inherit from breakpoint.
12192         <~solib_catchpoint>: New.
12193         <base>: Remove.
12194         (dtor_catch_solib): Change to ...
12195         (solib_catchpoint::~solib_catchpoint): ... this.
12196         (breakpoint_hit_catch_solib): Remove reference to base field.
12197         (add_solib_catchpoint): Likewise.
12198         (create_fork_vfork_event_catchpoint): Likewise.
12199         (struct exec_catchpoint): Inherit from breakpoint.
12200         <~exec_catchpoint>: New.
12201         <base>: Remove.
12202         (dtor_catch_exec): Change to ...
12203         (exec_catchpoint::~exec_catchpoint): ... this.
12204         (dtor_watchpoint): Change to ...
12205         (watchpoint::~watchpoint): ... this.
12206         (watch_command_1): Remove reference to base field.
12207         (catch_exec_command_1): Likewise.
12208         (base_breakpoint_dtor): Change to ...
12209         (breakpoint::~breakpoint): ... this.
12210         (base_breakpoint_ops): Remove dtor field value.
12211         (longjmp_bkpt_dtor): Change to ...
12212         (longjmp_breakpoint::~longjmp_breakpoint): ... this.
12213         (strace_marker_create_breakpoints_sal): Remove reference to base
12214         field.
12215         (delete_breakpoint): Don't manually call breakpoint destructor.
12216         (create_tracepoint_from_upload): Remove reference to base field.
12217         (trace_pass_set_count): Likewise.
12218         (initialize_breakpoint_ops): Don't initialize
12219         momentary_breakpoint_ops, don't set dtors.
12220         * ada-lang.c (struct ada_catchpoint): Inherit from breakpoint.
12221         <~ada_catchpoint>: New.
12222         <base>: Remove.
12223         (create_excep_cond_exprs): Remove reference to base field.
12224         (dtor_exception): Change to ...
12225         (ada_catchpoint::~ada_catchpoint): ... this.
12226         (dtor_catch_exception): Remove.
12227         (dtor_catch_exception_unhandled): Remove.
12228         (dtor_catch_assert): Remove.
12229         (create_ada_exception_catchpoint): Remove reference to base
12230         field.
12231         (initialize_ada_catchpoint_ops): Don't set dtors.
12232         * break-catch-sig.c (struct signal_catchpoint): Inherit from
12233         breakpoint.
12234         <~signal_catchpoint>: New.
12235         <base>: Remove.
12236         (signal_catchpoint_dtor): Change to ...
12237         (signal_catchpoint::~signal_catchpoint): ... this.
12238         (create_signal_catchpoint): Remove reference to base field.
12239         (initialize_signal_catchpoint_ops): Don't set dtor.
12240         * break-catch-syscall.c (struct syscall_catchpoint): Inherit
12241         from breakpoint.
12242         <~syscall_catchpoint>: New.
12243         <base>: Remove.
12244         (dtor_catch_syscall): Change to ...
12245         (syscall_catchpoint::~syscall_catchpoint): ... this.
12246         (create_syscall_event_catchpoint): Remove reference to base
12247         field.
12248         (initialize_syscall_catchpoint_ops): Don't set dtor.
12249         * break-catch-throw.c (struct exception_catchpoint): Inherit
12250         from breakpoint.
12251         <~exception_catchpoint>: New.
12252         <base>: Remove.
12253         (dtor_exception_catchpoint): Change to ...
12254         (exception_catchpoint::~exception_catchpoint): ... this.
12255         (handle_gnu_v3_exceptions): Remove reference to base field.
12256         (initialize_throw_catchpoint_ops): Don't set dtor.
12257         * ctf.c (ctf_get_traceframe_address): Remove reference to base
12258         field.
12259         * remote.c (remote_get_tracepoint_status): Likewise.
12260         * tracefile-tfile.c (tfile_get_traceframe_address): Likewise.
12261         * tracefile.c (tracefile_fetch_registers): Likewise.
12262         * tracepoint.c (actions_command): Likewise.
12263         (validate_actionline): Likewise.
12264         (tfind_1): Likewise.
12265         (get_traceframe_location): Likewise.
12266         (find_matching_tracepoint_location): Likewise.
12267         (parse_tracepoint_status): Likewise.
12268         * mi/mi-cmd-break.c (mi_cmd_break_passcount): Likewise.
12269
12270 2017-06-02  Simon Marchi  <simon.marchi@polymtl.ca>
12271
12272         * breakpoint.c (struct longjmp_breakpoint): New struct.
12273         (is_tracepoint_type): Change return type to bool.
12274         (is_longjmp_type): New function.
12275         (new_breakpoint_from_type): Handle longjmp kinds of breakpoints.
12276         (set_raw_breakpoint_without_location): Use
12277         new_breakpoint_from_type.
12278         (set_raw_breakpoint): Likewise.
12279
12280 2017-06-02  Simon Marchi  <simon.marchi@polymtl.ca>
12281
12282         * breakpoint.c (new_breakpoint_from_type): New function.
12283         (create_breakpoint_sal): Use new_breakpoint_from_type and
12284         unique_ptr.
12285         (create_breakpoint): Likewise.
12286
12287 2017-05-31  Simon Marchi  <simon.marchi@ericsson.com>
12288
12289         * memattr.c (mem_info_command): Rename to ...
12290         (info_mem_command): ... this.
12291         (mem_enable_command): Rename to ...
12292         (enable_mem_command): ... this.
12293         (mem_disable_command): Rename to ...
12294         (disable_mem_command): ... this.
12295         (mem_delete_command): Rename to ...
12296         (delete_mem_command): ... this.
12297         (_initialize_mem): Adjust function names.
12298
12299 2017-05-31  Markus Metzger  <markus.t.metzger@intel.com>
12300
12301         * btrace.c (handle_pt_insn_events): New.
12302         (ftrace_add_pt): Call handle_pt_insn_events.  Rename ERRCODE into
12303         STATUS.  Split into this and ...
12304         (handle_pt_insn_event_flags): ... this.
12305
12306 2017-05-31  Markus Metzger  <markus.t.metzger@intel.com>
12307
12308         * configure.ac: Check for pt_insn_event, struct pt_insn.enabled,
12309         and struct pt_insn.resynced.
12310         * configure: Regenerated.
12311         * config.in: Regenerated.
12312
12313 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12314
12315         * btrace.c (ftrace_find_call_by_number): New function.
12316         (ftrace_new_function): Store objects, not pointers.
12317         (ftrace_find_call_by_number, ftrace_new_return, ftrace_new_switch,
12318         ftrace_new_gap, ftrace_update_function,
12319         ftrace_compute_global_level_offset, btrace_stich_bts, btrace_clear,
12320         btrace_insn_get, btrace_insn_get_error, btrace_insn_end,
12321         btrace_insn_next, btrace_insn_prev, ptrace_find_insn_by_number,
12322         btrace_ends_with_single_insn, btrace_call_get): Account for
12323         btrace_thread_info::functions now storing objects.
12324         * btrace.h (struct btrace_thread_info): Add constructor.
12325         (struct btrace_thread_info) <functions>: Make std::vector.
12326         (struct btrace_thread_info) <prev, next, up, insn, errcode, flags):
12327         Initialize with default values.
12328         * record-btrace.c (record_btrace_frame_sniffer): Account for
12329         btrace_thread_info::functions now storing objects.
12330
12331 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12332
12333         * btrace.c: Remove typedef bfun_s.
12334         (ftrace_new_gap): Directly add gaps to the list of gaps.
12335         (btrace_bridge_gaps, btrace_compute_ftrace_bts, pt_btrace_insn_flags,
12336         ftrace_add_pt, btrace_compute_ftrace_pt, btrace_compute_ftrace_1,
12337         btrace_finalize_ftrace, btrace_compute_ftrace): Use std::vector
12338         instead of gdb VEC.
12339
12340 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12341
12342         * btrace.c (ftrace_fixup_caller, ftrace_new_return, ftrace_connect_bfun,
12343         ftrace_bridge_gap): Replace references to btrace_thread_info::segment
12344         with btrace_thread_info::next_segment and
12345         btrace_thread_info::prev_segment.
12346         * btrace.h: Remove struct btrace_func_link.
12347         (struct btrace_function): Replace pair of function segment pointers
12348         with pair of indices.
12349         * python/py-record-btrace.c (btpy_call_prev_sibling,
12350         btpy_call_next_sibling): Replace references to
12351         btrace_thread_info::segment with btrace_thread_info::next_segment and
12352         btrace_thread_info::prev_segment.
12353         * record-btrace.c (record_btrace_frame_this_id): Use
12354         btrace_find_call_by_number.
12355
12356 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12357
12358         * btrace.c (ftrace_new_function, ftrace_fixup_level,
12359         ftrace_connect_bfun, ftrace_bridge_gap, btrace_bridge_gaps,
12360         btrace_insn_next, btrace_insn_prev): Remove references to
12361         btrace_thread_info::flow.
12362         * btrace.h (struct btrace_function): Remove FLOW.
12363
12364 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12365
12366         * btrace.c (ftrace_find_call_by_number): New function.
12367         (ftrace_update_caller, ftrace_new_call, ftrace_new_tailcall,
12368         ftrace_get_caller, ftrace_find_call, ftrace_new_return,
12369         ftrace_match_backtrace, ftrace_connect_bfun, ftrace_connect_backtrace,
12370         ftrace_bridge_gap, btrace_bridge_gaps): Use btrace_function::up as an
12371         index.
12372         * btrace.h (struct btrace_function): Turn UP into an index.
12373         * python/py-record-btrace.c (btpy_call_up): Use btrace_function::up
12374         as an index.
12375         * record-btrace.c (record_btrace_frame_unwind_stop_reason,
12376         record_btrace_frame_prev_register, record_btrace_frame_sniffer,
12377         record_btrace_tailcall_frame_sniffe): Use btrace_find_call_by_number.
12378
12379 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12380
12381         * btrace.c (ftrace_new_function, ftrace_new_call, ftrace_new_tailcall,
12382         ftrace_new_return, ftrace_new_switch, ftrace_new_gap,
12383         ftrace_update_function, ftrace_compute_global_level_offset,
12384         btrace_compute_ftrace_bts, ftrace_add_pt, btrace_compute_ftrace_pt,
12385         btrace_stitch_bts, btrace_fetch, btrace_clear, btrace_insn_number,
12386         btrace_insn_end, btrace_is_empty): Remove references to
12387         btrace_thread_info::begin and btrace_thread_info::end.
12388         * btrace.h (struct btrace_thread_info): Remove BEGIN and END.
12389         (struct btrace_thread_info) <functions>: Adjust comment.
12390         * record-btrace.c (record_btrace_start_replaying): Remove reference to
12391         btrace_thread_info::begin.
12392
12393 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12394
12395         * btrace.c (ftrace_new_function, ftrace_new_call, ftrace_new_tailcall,
12396         ftrace_new_return, ftrace_new_switch, ftrace_new_gap,
12397         ftrace_update_function): Remove arguments that implicitly were always
12398         BTINFO->END.
12399         (btrace_compute_ftrace_bts, ftrace_add_pt, btrace_compute_ftrace_pt):
12400         Don't pass BTINFO->END.
12401
12402 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12403
12404         * btrace.c: (btrace_insn_get, btrace_insn_get_error, btrace_insn_number,
12405         btrace_insn_begin, btrace_insn_end, btrace_insn_next, btrace_insn_prev,
12406         btrace_find_insn_by_number): Replace function segment pointer with
12407         index.
12408         (btrace_insn_cmp): Simplify.
12409         * btrace.h: (struct btrace_insn_iterator) Rename index to
12410         insn_index.  Replace function segment pointer with index into function
12411         segment vector.
12412         * record-btrace.c (record_btrace_call_history): Replace function
12413         segment pointer use with index.
12414         (record_btrace_frame_sniffer): Retrieve function call segment through
12415         vector.
12416         (record_btrace_set_replay): Remove defunc't safety check.
12417
12418 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12419
12420         * btrace.c (btrace_ends_with_single_insn): New function.
12421         (btrace_call_get, btrace_call_number, btrace_call_begin,
12422         btrace_call_end, btrace_call_next, btrace_call_prev,
12423         btrace_find_call_by_number): Use index into call segment vector
12424         instead of pointer.
12425         (btrace_call_cmp): Simplify.
12426         * btrace.h (struct btrace_call_iterator): Replace function call segment
12427         pointer with index into vector.
12428         * record-btrace.c (record_btrace_call_history): Use index instead of
12429         pointer.
12430
12431 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12432
12433         * btrace.c (btrace_insn_begin, btrace_insn_end,
12434         btrace_find_insn_by_number): Add btinfo to iterator.
12435         * btrace.h (struct btrace_insn_iterator): Add btinfo.
12436
12437 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12438
12439         * btrace.c (ftrace_new_function): Add btrace_thread_info to arguments
12440         and save pointers directly.
12441         (ftrace_new_call, ftrace_new_tailcall, ftrace_new_return,
12442         ftrace_new_switch, ftrace_new_gap, ftrace_update_function,
12443         ftrace_add_pt): Add btrace_thread_info to arguments.  Adjust for
12444         changed signature of functions.
12445         (btrace_compute_ftrace_pt): Adjust for changed signature of functions.
12446         (btrace_fetch): Remove code that adds btrace_function pointers to
12447         vector of btrace_functions.
12448         (btrace_clear): Simplify freeing vector of btrace_functions.
12449
12450 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12451
12452         * btrace.c (btrace_fetch, btrace_clear, btrace_find_insn_by_number):
12453         Replace VEC_* with std::vector functions.
12454         * btrace.h: Add include: vector. Remove typedef for DEF_VEC_P.
12455         (struct btrace_thread_info)<functions>: Change type to std::vector.
12456
12457 2017-05-30  Simon Marchi  <simon.marchi@ericsson.com>
12458
12459         * NEWS (Changes in GDB 8.0): Remove extra empty line.  Move
12460         "Removed targets and native configurations" up.  Merge duplicate
12461         "New commands" sub-sections.  Add "New options" sub-sections.
12462
12463 2017-05-26  Alan Hayward  <alan.hayward@arm.com>
12464
12465         * defs.h (copy_integer_to_size): New declaration.
12466         * findvar.c (copy_integer_to_size): New function.
12467         (do_cint_test): New selftest function.
12468         (copy_integer_to_size_test): Likewise.
12469         (_initialize_findvar): Likewise.
12470         * mips-fbsd-tdep.c (mips_fbsd_supply_reg): Use raw_supply_integer.
12471         (mips_fbsd_collect_reg): Use raw_collect_integer.
12472         * mips-linux-tdep.c (supply_32bit_reg): Use raw_supply_integer.
12473         (mips64_fill_gregset): Use raw_collect_integer
12474         (mips64_fill_fpregset): Use raw_supply_integer.
12475         * regcache.c (regcache::raw_supply_integer): New function.
12476         (regcache::raw_collect_integer): Likewise.
12477         * regcache.h: (regcache::raw_supply_integer): New declaration.
12478         (regcache::raw_collect_integer): Likewise.
12479
12480 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12481
12482         * Makefile.in (SFILES): Add gdbarch-selftests.c.
12483         (COMMON_OBS): Add gdbarch-selftests.o.
12484         * frame.c [GDB_SELF_TESTS] (create_new_frame): New function.
12485         * frame.h [GDB_SELF_TESTS] (create_new_frame): Declare.
12486         * gdbarch-selftests.c: New file.
12487         * regcache.h (regcache) <~regcache>: Mark it virtual if
12488         GDB_SELF_TEST.
12489         <raw_write>: Likewise.
12490
12491 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12492
12493         * regcache.c (current_regcache): Change it to
12494         regcache::current_regcache.
12495         (regcache_observer_target_changed): Update.
12496         (regcache_thread_ptid_changed): Make it a regcache static
12497         method.
12498         (regcache_thread_ptid_changed): Update.
12499         (class regcache_access): New.
12500         (current_regcache_test): Update.
12501         (_initialize_regcache): Update.
12502         * regcache.h: Include forward_list.
12503         (regcache): Declare regcache_thread_ptid_changed and declare
12504         registers_changed_ptid as friend.
12505
12506 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12507
12508         * i387-tdep.c (i387_register_to_value): Use register_size
12509         instead of TYPE_LENGTH.
12510         * m68k-tdep.c (m68k_register_to_value): Likewise.
12511
12512 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12513
12514         * i387-tdep.c (i387_convert_register_p): Return false if type
12515         code isn't TYPE_CODE_FLT.
12516
12517 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12518
12519         * alpha-tdep.c (alpha_convert_register_p): Return true if type
12520         length is 4.
12521         (alpha_register_to_value): Remove type length check.
12522         (alpha_value_to_register): Likewise.
12523
12524 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12525
12526         * ia64-tdep.c (ia64_convert_register_p): Check type's code is
12527         TYPE_CODE_FLT.
12528
12529 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12530
12531         * m68k-tdep.c (m68k_convert_register_p): Check type's code is
12532         TYPE_CODE_FLT or not.
12533
12534 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12535
12536         * alpha-tdep.c (alpha_gdbarch_init): Use XCNEW instead of XNEW.
12537         * avr-tdep.c (avr_gdbarch_init): Likewise.
12538         * bfin-tdep.c (bfin_gdbarch_init): Likewise.
12539         * cris-tdep.c (cris_gdbarch_init): Likewise.
12540         * ft32-tdep.c (ft32_gdbarch_init): Likewise.
12541         * lm32-tdep.c (lm32_gdbarch_init): Likewise.
12542         * m32r-tdep.c (m32r_gdbarch_init): Likewise.
12543         * m68hc11-tdep.c (m68hc11_gdbarch_init): Likewise.
12544         * mep-tdep.c (mep_gdbarch_init): Likewise.
12545         * microblaze-tdep.c (microblaze_gdbarch_init): Likewise.
12546         * mips-tdep.c (mips_gdbarch_init): Likewise.
12547         * mn10300-tdep.c (mn10300_gdbarch_init): Likewise.
12548         * moxie-tdep.c (moxie_gdbarch_init): Likewise.
12549         * msp430-tdep.c (msp430_gdbarch_init): Likewise.
12550         * sh64-tdep.c (sh64_gdbarch_init): Likewise.
12551         * v850-tdep.c (v850_gdbarch_init): Likewise.
12552
12553 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12554
12555         * selftest-arch.c (tests_with_arch): Call registers_changed
12556         and reinit_frame_cache.
12557         * selftest.c (run_self_tests): Likewise.
12558
12559 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12560
12561         * rs6000-tdep.c (gdb_print_insn_powerpc): Remove.
12562         (rs6000_gdbarch_init): Don't call set_gdbarch_print_insn.
12563
12564 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12565
12566         * rl78-tdep.c (rl78_gdbarch_init): Don't call
12567         set_gdbarch_print_insn.
12568
12569 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12570
12571         * h8300-tdep.c (h8300_gdbarch_init): Don't call
12572         set_gdbarch_print_insn.
12573
12574 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12575
12576         * alpha-tdep.c (alpha_gdbarch_init): Don't call
12577         set_gdbarch_print_insn.
12578         * arc-tdep.c (arc_gdbarch_init): Likewise.
12579         * arch-utils.c: include dis-asm.h.
12580         (default_print_insn): New function.
12581         * arch-utils.h (default_print_insn): Declare.
12582         * avr-tdep.c (avr_gdbarch_init): Don't call set_gdbarch_print_insn.
12583         * bfin-tdep.c (bfin_gdbarch_init): Likewise.
12584         * cris-tdep.c (cris_delayed_get_disassembler): Remove.
12585         (cris_gdbarch_init): Don't call set_gdbarch_print_insn.
12586         * frv-tdep.c (frv_gdbarch_init): Likewise.
12587         * ft32-tdep.c (ft32_gdbarch_init): Likewise.
12588         * gdbarch.sh (print_insn): Use default_print_insn.
12589         * gdbarch.c: Regenerated.
12590         * hppa-tdep.c (hppa_gdbarch_init): Likewise.
12591         * iq2000-tdep.c (iq2000_gdbarch_init): Likewise.
12592         * lm32-tdep.c (lm32_gdbarch_init): Likewise.
12593         * m32c-tdep.c (m32c_gdbarch_init): Likewise.
12594         * m32r-tdep.c (m32r_gdbarch_init): Likewise.
12595         * m68hc11-tdep.c (gdb_print_insn_m68hc11): Remove.
12596         (m68hc11_gdbarch_init): Don't call set_gdbarch_print_insn.
12597         * m68k-tdep.c (m68k_gdbarch_init): Likewise.
12598         * m88k-tdep.c (m88k_gdbarch_init): Likewise.
12599         * microblaze-tdep.c (microblaze_gdbarch_init): Likewise.
12600         * mn10300-tdep.c (mn10300_gdbarch_init): Likewise.
12601         * moxie-tdep.c (moxie_gdbarch_init): Likewise.
12602         * msp430-tdep.c (msp430_gdbarch_init): Likewise.
12603         * mt-tdep.c (mt_gdbarch_init): Likewise.
12604         * nds32-tdep.c (nds32_gdbarch_init): Likewise.
12605         * nios2-tdep.c (nios2_print_insn): Remove.
12606         (nios2_gdbarch_init): Don't call set_gdbarch_print_insn.
12607         * rx-tdep.c (rx_gdbarch_init): Likewise.
12608         * s390-linux-tdep.c (s390_gdbarch_init): Likewise.
12609         * score-tdep.c (score_print_insn): Remove.
12610         (score_gdbarch_init): Don't call set_gdbarch_print_insn.
12611         * sh-tdep.c (sh_gdbarch_init): Likewise.
12612         * sh64-tdep.c (sh64_gdbarch_init): Likewise.
12613         * sparc-tdep.c (sparc32_gdbarch_init): Likewise.
12614         * tic6x-tdep.c (tic6x_print_insn): Remove.
12615         (tic6x_gdbarch_init): Don't call set_gdbarch_print_insn.
12616         * tilegx-tdep.c (tilegx_gdbarch_init): Likewise.
12617         * v850-tdep.c (v850_gdbarch_init): Likewise.
12618         * vax-tdep.c (vax_gdbarch_init): Likewise.
12619         * xstormy16-tdep.c (xstormy16_gdbarch_init): Likewise.
12620         * xtensa-tdep.c (xtensa_gdbarch_init): Likewise.
12621
12622 2017-05-23  John Baldwin  <jhb@FreeBSD.org>
12623
12624         * mips-fbsd-tdep.c (MIPS_PC_REGNUM): Remove.
12625         (MIPS_FP0_REGNUM): Remove.
12626         (MIPS_FSR_REGNUM): Remove.
12627         (mips_fbsd_supply_fpregs): Use mips_regnum.
12628         (mips_fbsd_supply_gregs): Likewise.
12629         (mips_fbsd_collect_fpregs): Likewise.
12630         (mips_fbsd_collect_gregs): Likewise.
12631
12632 2017-05-23  John Baldwin  <jhb@FreeBSD.org>
12633
12634         * mips-fbsd-nat.c (getregs_supplies): Fix upper bound comparison.
12635         (getpfpregs_supplies): New function.
12636         (mips_fbsd_fetch_inferior_registers): Remove early exit and use
12637         getfpregs_supplies.
12638         (mips_fbsd_store_inferior_registers): Likewise.
12639
12640 2017-05-22  Pedro Alves <palves@redhat.com>
12641
12642         * MAINTAINERS (Host/Native): Add John Baldwin as FreeBSD
12643         maintainer.
12644
12645 2017-05-22  Alan Hayward  <alan.hayward@arm.com>
12646
12647         * ppc-linux-nat.c (fetch_register): Use PPC_MAX_REGISTER_SIZE.
12648         (store_register): Likewise.
12649         * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Likewise.
12650         (get_decimal_float_return_value): Likewise.
12651         (do_ppc_sysv_return_value): Likewise.
12652         (ppc64_sysv_abi_push_integer): Likewise.
12653         (ppc64_sysv_abi_push_freg): Likewise.
12654         (ppc64_sysv_abi_return_value_base): Likewise.
12655         (ppc64_sysv_abi_return_value): Likewise.
12656         * rs6000-aix-tdep.c (rs6000_push_dummy_call): Likewise.
12657         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Likewise.
12658         * rs6000-nat.c: Likewise.
12659         * rs6000-tdep.c (rs6000_register_to_value): Likewise.
12660         (rs6000_value_to_register): Likewise.
12661         * ppc-tdep.h (PPC_MAX_REGISTER_SIZE): Add.
12662
12663 2017-05-21  Tom Tromey  <tom@tromey.com>
12664
12665         PR rust/21466:
12666         * rust-lang.c (rust_print_type) <TYPE_CODE_ARRAY>: Print unsized
12667         arrays as "[T]", not "[T; ]".
12668
12669 2017-05-19  Tom Tromey  <tom@tromey.com>
12670
12671         PR rust/21484:
12672         * rust-lang.c (exp_descriptor_rust): New function.
12673         (rust_language_defn): Use it.
12674         * p-lang.c (pascal_language_defn): Update.
12675         * opencl-lang.c (opencl_language_defn): Update.
12676         * objc-lang.c (objc_language_defn): Update.
12677         * m2-lang.c (m2_language_defn): Update.
12678         * language.h (struct language_defn)
12679         <la_watch_location_expression>: New member.
12680         * language.c (unknown_language_defn, auto_language_defn)
12681         (local_language_defn): Update.
12682         * go-lang.c (go_language_defn): Update.
12683         * f-lang.c (f_language_defn): Update.
12684         * d-lang.c (d_language_defn): Update.
12685         * c-lang.h (c_watch_location_expression): Declare.
12686         * c-lang.c (c_watch_location_expression): New function.
12687         (c_language_defn, cplus_language_defn, asm_language_defn)
12688         (minimal_language_defn): Use it.
12689         * breakpoint.c (watch_command_1): Call
12690         la_watch_location_expression.
12691         * ada-lang.c (ada_language_defn): Update.
12692
12693 2017-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12694
12695         PR tui/21482
12696         * gdb_curses.h (NOMACROS): Define.
12697         (NCURSES_NOMACROS): Define.
12698
12699 2017-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12700
12701         PR tui/21482
12702         * tui/tui-windata.c (tui_erase_data_content): Cast last mvwaddstr
12703         arg to char *.
12704         * tui/tui-wingeneral.c (box_win): Likewise.
12705         * tui/tui-winsource.c (tui_erase_source_content): Likewise.
12706         (tui_show_source_line): Likewise.
12707         (tui_show_exec_info_content): Likewise.
12708
12709 2017-05-19  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>
12710
12711         * sparc-tdep.c (sparc_structure_return_p)
12712         (sparc_arg_on_registers_p): New functions.
12713         (sparc32_store_arguments): Use them.
12714         * sparc64-tdep.c (sparc64_16_byte_align_p)
12715         (sparc64_store_floating_fields, sparc64_extract_floating_fields):
12716         Handle TYPE_CODE_ARRAY.
12717
12718 2017-05-17  Yao Qi  <yao.qi@linaro.org>
12719
12720         * cli/cli-decode.c (add_alias_cmd): New function.
12721         * command.h (add_alias_cmd): Declare.
12722         * infcmd.c (_initialize_infcmd): Don't call add_com_alias,
12723         instead call add_alias_cmd.
12724
12725 2017-05-17  Pedro Alves  <palves@redhat.com>
12726
12727         * Makefile.in (nat_extra_makefile_frag): Rename to ...
12728         (nat_makefile_frag): ... this.  All references updated.
12729         * configure.ac: Likewise.
12730         * configure.nat: Likewise.  Enhance comments.
12731         * configure: Regenerate.
12732
12733 2017-05-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12734
12735         * procfs.c (procfs_create_inferior): Change prototype to match
12736         definition.
12737
12738 2017-05-13  Eli Zaretskii  <eliz@gnu.org>
12739
12740         * tui/tui.c (tui_enable): Cast "unknown" to 'char *' to avoid a
12741         C++ compiler warning.
12742
12743 2017-05-12  Tom Tromey  <tom@tromey.com>
12744
12745         PR rust/21483:
12746         * rust-lang.c (rust_evaluate_subexp) <STRUCTOP_STRUCT>: Don't
12747         recurse, just call value_struct_elt directly.
12748
12749 2017-05-12  Tom Tromey  <tom@tromey.com>
12750
12751         * rust-lang.c (rust_dump_subexp_body) <STRUCTOP_ANONYMOUS,
12752         OP_RUST_ARRAY>: Fix.
12753
12754 2017-05-12  Tom Tromey  <tom@tromey.com>
12755
12756         * rust-lang.c (rust_print_subexp): Replace "return" with "break".
12757
12758 2017-05-09  Yao Qi  <yao.qi@linaro.org>
12759
12760         * regcache.c: Include <forward_list>.
12761         (struct regcache_list): Remove.
12762         (current_regcache): Update.
12763         (get_thread_arch_aspace_regcache): Update for std::forward_list.
12764         (regcache_thread_ptid_changed): Likewise.
12765         (registers_changed_ptid): Likewise.
12766         (current_regcache_size): Likewise.
12767
12768 2017-05-09  Yao Qi  <yao.qi@linaro.org>
12769
12770         * regcache.c [GDB_SELF_TEST]: Include selftest.h.
12771         (current_regcache_size): New function.
12772         (current_regcache_test): New function.
12773         (_initialize_regcache) [GDB_SELF_TEST]: Register the unit test.
12774
12775 2017-05-08  Alan Hayward  <alan.hayward@arm.com>
12776
12777         * mips-tdep.c (mips_o32_return_value): Remove unused buffer.
12778         (print_gp_register_row): Use get_frame_register_value.
12779
12780 2017-05-08  Alan Hayward  <alan.hayward@arm.com>
12781
12782         * mips-linux-tdep.c (mips_supply_gregset): Use raw_supply_zeroed.
12783         (mips_supply_fpregset): Likewise.
12784         (mips64_supply_gregset): Likewise.
12785
12786 2017-05-08  Alan Hayward  <alan.hayward@arm.com>
12787
12788         * mn10300-linux-tdep.c (am33_supply_gregset_method): Use 
12789         regcache->raw_supply_zeroed.
12790
12791 2017-05-06  Sergio Durigan Junior  <sergiodj@redhat.com>
12792
12793         * configure.nat: Rearrange 'case' statements to match
12794         host before cpu.
12795
12796 2017-05-06  Sergio Durigan Junior  <sergiodj@redhat.com>
12797
12798         * Makefile.in: Remove "@host_makefile_frag@".  Add variables
12799         NAT_FILE, NATDEPFILES, NAT_CDEPS, LOADLIBES, MH_CFLAGS, XM_CLIBS,
12800         NAT_GENERATED_FILES, HAVE_NATIVE_GCORE_HOST.  Add
12801         "@nat_extra_makefile_frag@".
12802         (Makefile): Remove dependency on "@frags@".
12803         ($(GNULIB_BUILDDIR)/Makefile): Likewise.
12804         (data-directory/Makefile): Likewise.
12805         * config/aarch64/linux.mh: Deleted; moved contents to
12806         "gdb/configure.nat".
12807         * config/alpha/alpha-linux.mh: Likewise.
12808         * config/alpha/nbsd.mh: Likewise.
12809         * config/arm/linux.mh: Likewise.
12810         * config/arm/nbsdelf.mh: Likewise.
12811         * config/i386/cygwin.mh: Likewise.
12812         * config/i386/cygwin64.mh: Likewise.
12813         * config/i386/darwin.mh: Likewise.
12814         * config/i386/fbsd.mh: Likewise.
12815         * config/i386/fbsd64.mh: Likewise.
12816         * config/i386/go32.mh: Likewise.
12817         * config/i386/i386gnu.mh: Likewise.
12818         * config/i386/i386sol2.mh: Likewise.
12819         * config/i386/linux.mh: Likewise.
12820         * config/i386/linux64.mh: Likewise.
12821         * config/i386/mingw.mh: Likewise.
12822         * config/i386/mingw64.mh: Likewise.
12823         * config/i386/nbsd64.mh: Likewise.
12824         * config/i386/nbsdelf.mh: Likewise.
12825         * config/i386/nto.mh: Likewise.
12826         * config/i386/obsd.mh: Likewise.
12827         * config/i386/obsd64.mh: Likewise.
12828         * config/i386/sol2-64.mh: Likewise.
12829         * config/ia64/linux.mh: Likewise.
12830         * config/m32r/linux.mh: Likewise.
12831         * config/m68k/linux.mh: Likewise.
12832         * config/m68k/nbsdelf.mh: Likewise.
12833         * config/m68k/obsd.mh: Likewise.
12834         * config/m88k/obsd.mh: Likewise.
12835         * config/mips/fbsd.mh: Likewise.
12836         * config/mips/linux.mh: Likewise.
12837         * config/mips/nbsd.mh: Likewise.
12838         * config/mips/obsd64.mh: Likewise.
12839         * config/pa/linux.mh: Likewise.
12840         * config/pa/nbsd.mh: Likewise.
12841         * config/pa/obsd.mh: Likewise.
12842         * config/powerpc/aix.mh: Likewise.
12843         * config/powerpc/fbsd.mh: Likewise.
12844         * config/powerpc/linux.mh: Likewise.
12845         * config/powerpc/nbsd.mh: Likewise.
12846         * config/powerpc/obsd.mh: Likewise.
12847         * config/powerpc/ppc64-linux.mh: Likewise.
12848         * config/powerpc/spu-linux.mh: Likewise.
12849         * config/s390/linux.mh: Likewise.
12850         * config/sh/nbsd.mh: Likewise.
12851         * config/sparc/fbsd.mh: Likewise.
12852         * config/sparc/linux.mh: Likewise.
12853         * config/sparc/linux64.mh: Likewise.
12854         * config/sparc/nbsd64.mh: Likewise.
12855         * config/sparc/nbsdelf.mh: Likewise.
12856         * config/sparc/obsd64.mh: Likewise.
12857         * config/sparc/sol2.mh: Likewise.
12858         * config/tilegx/linux.mh: Likewise.
12859         * config/vax/nbsdelf.mh: Likewise.
12860         * config/vax/obsd.mh: Likewise.
12861         * config/xtensa/linux.mh: Likewise.
12862         * config/i386/i386gnu.mn: New file, with excerpts from
12863         "config/i386/i386gnu.mh".
12864         * configure: Regenerate.
12865         * configure.ac: Rewrite code to use "gdb/configure.nat" instead of
12866         *.mh files under "gdb/config".
12867         * configure.nat: New file, with contents from the
12868         "gdb/config/*/*.mh" files.
12869
12870 2017-05-05  Tim Wiederhake  <tim.wiederhake@intel.com>
12871
12872         * btrace.c (btrace_clear): Free insn vector.
12873
12874 2017-05-05  Pedro Alves  <palves@redhat.com>
12875
12876         * warning.m4 (build_warnings): Add -Wno-error=maybe-uninitialized.
12877         * configure: Regenerate.
12878
12879 2017-05-04  Pedro Alves  <palves@redhat.com>
12880
12881         * Makefile.in (SFILES): Add progspace-and-thread.c.
12882         (HFILES_NO_SRCDIR): Add progspace-and-thread.h.
12883         (COMMON_OBS): Add progspace-and-thread.o.
12884         * breakpoint.c: Include "progspace-and-thread.h".
12885         (update_inserted_breakpoint_locations)
12886         (insert_breakpoint_locations, create_longjmp_master_breakpoint):
12887         Use scoped_restore_current_pspace_and_thread.
12888         (create_std_terminate_master_breakpoint): Use
12889         scoped_restore_current_program_space.
12890         (remove_breakpoint): Use scoped_restore_current_pspace_and_thread.
12891         (print_breakpoint_location): Use
12892         scoped_restore_current_program_space.
12893         (bp_loc_is_permanent): Use
12894         scoped_restore_current_pspace_and_thread.
12895         (resolve_sal_pc): Use scoped_restore_current_pspace_and_thread.
12896         (download_tracepoint_locations): Use
12897         scoped_restore_current_pspace_and_thread.
12898         (breakpoint_re_set): Use scoped_restore_current_pspace_and_thread.
12899         * exec.c (exec_close_1): Use scoped_restore_current_program_space.
12900         (enum step_over_calls_kind): Moved from inferior.h.
12901         (class scoped_restore_current_thread): New class.
12902         * gdbthread.h (make_cleanup_restore_current_thread): Delete
12903         declaration.
12904         (scoped_restore_current_thread): New class.
12905         * infcmd.c: Include "common/gdb_optional.h".
12906         (continue_1, proceed_after_attach): Use
12907         scoped_restore_current_thread.
12908         (notice_new_inferior): Use scoped_restore_current_thread.
12909         * inferior.c: Include "progspace-and-thread.h".
12910         (restore_inferior, save_current_inferior): Delete.
12911         (add_inferior_command, clone_inferior_command): Use
12912         scoped_restore_current_pspace_and_thread.
12913         * inferior.h (scoped_restore_current_inferior): New class.
12914         * infrun.c: Include "progspace-and-thread.h" and
12915         "common/gdb_optional.h".
12916         (follow_fork_inferior): Use
12917         scoped_restore_current_pspace_and_thread.
12918         (scoped_restore_exited_inferior): New class.
12919         (handle_vfork_child_exec_or_exit): Use
12920         scoped_restore_exited_inferior,
12921         scoped_restore_current_pspace_and_thread,
12922         scoped_restore_current_thread and scoped_restore.
12923         (fetch_inferior_event): Use scoped_restore_current_thread.
12924         * linespec.c (decode_line_full, decode_line_1): Use
12925         scoped_restore_current_program_space.
12926         * mi/mi-main.c: Include "progspace-and-thread.h".
12927         (exec_continue): Use scoped_restore_current_thread.
12928         (mi_cmd_exec_run): Use scoped_restore_current_pspace_and_thread.
12929         (mi_cmd_trace_frame_collected): Use scoped_restore_current_thread.
12930         * proc-service.c (ps_pglobal_lookup): Use
12931         scoped_restore_current_program_space.
12932         * progspace-and-thread.c: New file.
12933         * progspace-and-thread.h: New file.
12934         * progspace.c (release_program_space, clone_program_space): Use
12935         scoped_restore_current_program_space.
12936         (restore_program_space, save_current_program_space)
12937         (save_current_space_and_thread): Delete.
12938         (switch_to_program_space_and_thread): Moved to
12939         progspace-and-thread.c.
12940         * progspace.h (save_current_program_space)
12941         (save_current_space_and_thread): Delete declarations.
12942         (scoped_restore_current_program_space): New class.
12943         * remote.c (remote_btrace_maybe_reopen): Use
12944         scoped_restore_current_thread.
12945         * symtab.c: Include "progspace-and-thread.h".
12946         (skip_prologue_sal): Use scoped_restore_current_pspace_and_thread.
12947         * thread.c (print_thread_info_1): Use
12948         scoped_restore_current_thread.
12949         (struct current_thread_cleanup): Delete.
12950         (do_restore_current_thread_cleanup)
12951         (restore_current_thread_cleanup_dtor): Rename/convert both to ...
12952         (scoped_restore_current_thread::~scoped_restore_current_thread):
12953         ... this new dtor.
12954         (make_cleanup_restore_current_thread): Rename/convert to ...
12955         (scoped_restore_current_thread::scoped_restore_current_thread):
12956         ... this new ctor.
12957         (thread_apply_all_command): Use scoped_restore_current_thread.
12958         (thread_apply_command): Use scoped_restore_current_thread.
12959         * tracepoint.c (tdump_command): Use scoped_restore_current_thread.
12960         * varobj.c (value_of_root_1): Use scoped_restore_current_thread.
12961
12962 2017-05-04  Pedro Alves  <palves@redhat.com>
12963
12964         * thread.c (make_cleanup_restore_current_thread): Move
12965         find_thread_ptid call before the is_stopped call.  Assert that the
12966         thread is found.  Replace is_stopped call by checking the thread's
12967         state directly.  Remove unnecessary NULL-thread check.
12968
12969 2017-05-04  Pedro Alves  <palves@redhat.com>
12970
12971         * corelow.c (thread_section_name): New class.
12972         (get_core_register_section, get_core_siginfo): Use it.
12973
12974 2017-05-04  Andreas Arnez  <arnez@linux.vnet.ibm.com>
12975
12976         * corelow.c (sniff_core_bfd): Remove extra semicolon.
12977         (get_core_register_section): Remove xfree of NULL pointer.
12978
12979 2017-05-03  Alan Hayward  <alan.hayward@arm.com>
12980
12981         * frv-linux-tdep.c (frv_linux_supply_gregset): Use raw_supply_zeroed.
12982         * regcache.c (regcache::raw_supply_zeroed): New function.
12983         * regcache.h (regcache::raw_supply_zeroed): New declaration.
12984
12985 2017-05-03  Simon Marchi  <simon.marchi@ericsson.com>
12986
12987         * gdbarch.sh: Remove commented out definition of
12988         TARGET_CHAR_BIT.
12989         * gdbarch.h: Re-generate.
12990
12991 2017-05-03  Sergio Durigan Junior  <sergiodj@redhat.com>
12992
12993         * configure: Regenerate.
12994
12995 2017-05-02  Simon Marchi  <simon.marchi@ericsson.com>
12996
12997         * solib-target.c (solib_target_relocate_section_addresses):
12998         Remove num_section_bases, num_bases, segment_bases variables.
12999
13000 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
13001
13002         * common/gdb_vecs.h (DEF_VEC_I (CORE_ADDR)): Remove.
13003
13004 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
13005
13006         * solib-target.c: Include <vector>
13007         (struct lm_info_target) <~lm_info_target>: Remove.
13008         <segment_bases, section_bases>: Change type to
13009         std::vector<CORE_ADDR>.
13010         (library_list_start_segment, library_list_start_section,
13011         library_list_end_library,
13012         solib_target_relocate_section_addresses): Adjust.
13013
13014 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
13015
13016         * gdbarch.sh (software_single_step): Change return type to
13017         std::vector<CORE_ADDR>.
13018         * gdbarch.c, gdbarch.h: Re-generate.
13019         * arch/arm-get-next-pcs.c (thumb_deal_with_atomic_sequence_raw):
13020         Adjust.
13021         (arm_deal_with_atomic_sequence_raw): Adjust.
13022         (thumb_get_next_pcs_raw): Adjust.
13023         (arm_get_next_pcs_raw): Adjust.
13024         (arm_get_next_pcs): Adjust.
13025         * arch/arm-get-next-pcs.h (arm_get_next_pcs): Adjust.
13026         * aarch64-tdep.c (aarch64_software_single_step): Adjust.
13027         * alpha-tdep.c (alpha_deal_with_atomic_sequence): Adjust.
13028         (alpha_software_single_step): Adjust.
13029         * alpha-tdep.h (alpha_software_single_step): Adjust.
13030         * arm-linux-tdep.c (arm_linux_software_single_step): Adjust.
13031         * arm-tdep.c (arm_software_single_step): Adjust.
13032         (arm_breakpoint_kind_from_current_state): Adjust.
13033         * arm-tdep.h (arm_software_single_step): Adjust.
13034         * breakpoint.c (insert_single_step_breakpoint): Adjust.
13035         * cris-tdep.c (cris_software_single_step): Adjust.
13036         * mips-tdep.c (mips_deal_with_atomic_sequence): Adjust.
13037         (micromips_deal_with_atomic_sequence): Adjust.
13038         (deal_with_atomic_sequence): Adjust.
13039         (mips_software_single_step): Adjust.
13040         * mips-tdep.h (mips_software_single_step): Adjust.
13041         * moxie-tdep.c (moxie_software_single_step): Adjust.
13042         * nios2-tdep.c (nios2_software_single_step): Adjust.
13043         * ppc-tdep.h (ppc_deal_with_atomic_sequence): Adjust.
13044         * rs6000-aix-tdep.c (rs6000_software_single_step): Adjust.
13045         * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Adjust.
13046         * s390-linux-tdep.c (s390_software_single_step): Adjust.
13047         * sparc-tdep.c (sparc_software_single_step): Adjust.
13048         * spu-tdep.c (spu_software_single_step): Adjust.
13049         * tic6x-tdep.c (tic6x_software_single_step): Adjust.
13050
13051 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
13052
13053         * gdbarch.sh: Use semi-colon as field separator instead of colon.
13054         * gdbarch.h: Re-generate.
13055
13056 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13057
13058         * Makefile.in (SUBDIR_PYTHON_OBS): Add py-instruction.o.
13059         (SUBDIR_PYTHON_SRCS): Add py-instruction.c.
13060         * python/py-instruction.c, python/py-instruction.h: New file.
13061         * python/py-record.c: Add py-instruction.h include.
13062         (gdbpy_initialize_record): Make gdb.Instruction a super class of
13063         gdb.RecordInstruction.
13064         * python/python-internal.h: Add gdbpy_initialize_instruction
13065         declaration.
13066         * python/python.c (do_start_initialization): Add
13067         gdbpy_initialize_instruction.
13068
13069 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13070
13071         * python/py-record-btrace.c (BTPY_REQUIRE_VALID_CALL, btpy_call_type):
13072         Remove.
13073         (btrace_func_from_recpy_func): New function.
13074         (btpy_call_new, btpy_number, btpy_hash, btpy_richcompare): Remove.
13075         (btpy_call_level, btpy_call_symbol, btpy_call_instructions,
13076         btpy_call_up, btpy_call_prev_sibling, btpy_call_next_sibling): Rename to ...
13077         (recpy_bt_func_level, recpy_bt_func_symbol, recpy_bt_func_instructions,
13078         recpy_bt_func_up, recpy_bt_func_prev, recpy_bt_func_next): This.
13079         Also, use new helper functions.
13080         (btpy_list_item): Use new helper functions.
13081         (recpy_bt_function_call_history): Use new type name.
13082         (btpy_call_getset): Remove.
13083         (gdbpy_initialize_btrace): Remove code to initialize
13084         gdb.BtraceFunctionCall.
13085         * python/py-record-btrace.h (recpy_bt_func_number, recpy_btb_func_level,
13086         recpy_btb_func_symbol, recpy_bt_func_instructions, recpy_bt_func_up,
13087         recpy_bt_func_prev, recpy_bt_func_next): New export.
13088         * python/py-record.c (recpy_func_type): New static object.
13089         (recpy_func_new, recpy_func_level, recpy_func_symbol,
13090         recpy_func_instructions, recpy_func_up, recpy_func_prev,
13091         recpy_func_next): New function.
13092         (recpy_element_hash, recpy_element_richcompare): Updated comment.
13093         (recpy_func_getset): New static object.
13094         (gdbpy_initialize_record): Add code to initialize gdb.RecordInstruction.
13095         * python/py-record.h (recpy_func_type, recpy_func_new): New export.
13096
13097 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13098
13099         * python/py-record-btrace.c (BTPY_REQUIRE_VALID_INSN): Remove.
13100         (btpy_object, btpy_insn_type, btpy_new): Remove.
13101         (btpy_list_object): Use gdb.RecordInstruction type instead of
13102         gdb.BtraceInstruction type.
13103         (btrace_insn_from_recpy_insn): New function.
13104         (btpy_insn_or_gap_new): Adjust comment. Use recpy_insn_new instead of
13105         btpy_new.
13106         (btpy_call_new, btpy_list_item): Do not use btpy_new anymore.
13107         (btpy_number, btpy_hash, btpy_call_level, btpy_call_symbol,
13108         btpy_call_instructions, btpy_call_up, btpy_call_prev_sibling,
13109         btpy_call_next_sibling, btpy_richcompare): Use recpy_element_object
13110         instead of btpy_object.
13111         (btpy_insn_sal, btpy_insn_pc, btpy_insn_size, btpy_insn_is_speculative,
13112         btpy_insn_data, btpy_insn_decode): Rename to ...
13113         (recpy_bt_insn_sal, recpy_bt_insn_pc, recpy_bt_insn_size,
13114         recpy_bt_insn_is_speculative, recpy_bt_insn_data,
13115         recpy_bt_insn_decode): This.  Also, use new helper functions.
13116         (btpy_list_position, recpy_bt_goto): Use recpy_element_object and
13117         recpy_insn_type.
13118         (btpy_insn_getset): Remove.
13119         (gdbpy_initialize_btrace): Remove code to initialize
13120         gdb.BtraceInstruction.  Use recpy_element_object.
13121         * python/py-record-btrace.h (recpy_bt_insn_number, recpy_bt_insn_sal,
13122         recpy_bt_insn_pc, recpy_bt_insn_data, recpy_bt_insn_decoded,
13123         recpy_bt_insn_size, recpy_bt_insn_is_speculative): New export.
13124         * python/py-record.c (recpy_insn_type): New static object.
13125         (recpy_insn_new, recpy_insn_sal, recpy_insn_pc, recpy_insn_data,
13126         recpy_insn_decoded, recpy_insn_size, recpy_insn_is_speculative,
13127         recpy_element_number, recpy_element_hash, recpy_element_richcompare):
13128         New function.
13129         (recpy_insn_getset): New static object.
13130         (gdbpy_initialize_record): Initialize gdb.RecordInstruction.
13131         * python/py-record.h (recpy_element_object): New typedef.
13132         (recpy_insn_type, recpy_insn_new): New export.
13133
13134 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13135
13136         * py-record-btrace.c (btpy_insn_new): Removed.
13137         (btpy_insn_or_gap_new): New function.
13138         (btpy_insn_error): Removed.
13139         (btpy_insn_sal, btpy_insn_pc, btpy_insn_size, btpy_insn_is_speculative,
13140         btpy_insn_data, btpy_insn_decode): Remove code path for gaps.
13141         (recpy_bt_replay_position, recpy_bt_begin, recpy_bt_end): Call
13142         btpy_insn_or_gap_new instead of btpy_insn_new.
13143         (btpy_insn_getset): Remove btpy_insn_error.
13144         * py-record.c (recpy_gap_type): New static object.
13145         (recpy_gap_object): New typedef.
13146         (recpy_gap_new, recpy_gap_number, recpy_gap_reason_code,
13147         recpy_gap_reason_string): New function.
13148         (recpy_gap_getset): New static object.
13149         (gdbpy_initialize_record): Initialize gdb.RecordGap type.
13150         * py-record.h (recpy_gap_new): New export.
13151
13152 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13153
13154         * python/py-record.c (recpy_ptid): Remove.
13155         (recpy_record_getset): Remove recpy_ptid.
13156
13157 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13158
13159         * btrace.c (btrace_fetch): Set inferior_ptid.
13160         * python/py-record-btrace.c: Add "py-record.h" include.
13161         (recpy_bt_format, recpy_bt_replay_position, recpy_bt_begin,
13162         recpy_bt_end, recpy_bt_instruction_history,
13163         recpy_bt_function_call_history, recpy_bt_goto): Use ptid stored
13164         in gdb.Record object instead of current ptid.
13165         * python/py-record.c: Include new "py-record.h" file.
13166         (recpy_record_object): Moved to py-record.h.
13167         * python/py-record.h: New file.
13168
13169 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13170
13171         * python/py-record-btrace.c (BTPY_REQUIRE_VALID_INSN,
13172         BTPY_REQUIRE_VALID_CALL, recpy_bt_function_call_history): Fix
13173         indentation.
13174
13175 2017-05-01  Joel Brobecker  <brobecker@adacore.com>
13176
13177         * MAINTAINERS: Move Daniel Jacobowitz and Mark Kettenis to
13178         the past maintainers section.
13179
13180 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13181
13182         * infcmd.c (get_return_value): Use regcache ctor, and remove
13183         cleanup.
13184
13185 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13186             Pedro Alves  <palves@redhat.com>
13187
13188         * regcache.c (regcache::regcache): New tag dispatch ctor.
13189         (do_cooked_read): Moved above.
13190         (regcache_dup): Use the tag dispatch ctor..
13191         * regcache.h (regcache): Declare ctor, delete copy ctor and
13192         assignment operator, remove friend regcache_dup.
13193
13194 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13195
13196         * regcache.c (regcache_dup): Assert !src->m_readonly_p and
13197         call method save instead of regcache_cpy.
13198         * regcache.h (struct regcache): Make regcache_dup a friend.
13199
13200 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13201
13202         * regcache.c (struct regcache): Move to regcache.h
13203         (regcache::arch): New method.
13204         (regcache_get_ptid): Update.
13205         (get_regcache_arch): Call arch method.
13206         (get_regcache_aspace): Call method aspace.
13207         (register_buffer): Change it to method.
13208         (regcache_save): Change it to regcache::save.
13209         (regcache_restore): Likewise.
13210         (regcache_cpy_no_passthrough): Remove the declaration.
13211         (regcache_cpy): Call methods restore and cpy_no_passthrough.
13212         (regcache_cpy_no_passthrough): Change it to method
13213         cpy_no_passthrough.
13214         (regcache_register_status): Change it to method
13215         get_register_status.
13216         (regcache_invalidate): Change it to method invalidate.
13217         (regcache_thread_ptid_changed): Use methods ptid and set_ptid.
13218         (regcache_raw_update): Change it to method raw_update.
13219         (regcache_raw_read): Likewise.
13220         (regcache_raw_read_signed): Likewise.
13221         (regcache_raw_read_unsigned): Likewise.
13222         (regcache_raw_write_signed): Likewise.
13223         (regcache_raw_write_unsigned): Likewise.
13224         (regcache_cooked_read): Likewise.
13225         (regcache_cooked_read_value): Likewise.
13226         (regcache_cooked_read_signed): Likewise.
13227         (regcache_cooked_read_unsigned): Likewise.
13228         (regcache_cooked_write_signed): Likewise.
13229         (regcache_cooked_write_unsigned): Likewise.
13230         (regcache_raw_set_cached_value): Likewise.
13231         (regcache_raw_write): Likewise.
13232         (regcache_cooked_write): Likewise.
13233         (regcache_xfer_part): Likewise.
13234         (regcache_raw_read_part): Likewise.
13235         (regcache_raw_write_part): Likewise.
13236         (regcache_cooked_read_part): Likewise.
13237         (regcache_cooked_write_part): Likewise.
13238         (regcache_raw_supply): Likewise.
13239         (regcache_raw_collect): Likewise.
13240         (regcache_transfer_regset): Likewise.
13241         (regcache_supply_regset): Likewise.
13242         (regcache_collect_regset): Likewise.
13243         (regcache_debug_print_register): Likewise.
13244         (enum regcache_dump_what): Move it to regcache.h.
13245         (regcache_dump): Change it to method dump.
13246         * regcache.h (enum regcache_dump_what): New.
13247         (class regcache): New.
13248         * target.c (target_fetch_registers): Call method
13249         debug_print_register.
13250         (target_store_registers): Likewise.
13251
13252 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13253
13254         * windows-nat.c (struct lm_info_windows): Initialize field.
13255         (windows_make_so): Allocate lm_info_windows with new.
13256         (windows_free_so): Free lm_info_windows with delete.
13257
13258 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13259
13260         * solib-darwin.c (struct lm_info_darwin): Initialize field.
13261         (darwin_current_sos): Allocate lm_info_darwin with new, remove
13262         cleanup.
13263         (darwin_free_so): Free lm_info_darwin with delete.
13264
13265 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13266
13267         * solib-svr4.h (struct lm_info_svr4): Initialize fields.
13268         <l_addr_p>: Change type to bool.
13269         * solib-svr4.c (lm_info_read): Allocate lm_info_svr4 with new.
13270         (svr4_free_so): Free lm_info_svr4 with delete.
13271         (svr4_copy_library_list): Replace memcpy with call to copy
13272         constructor.
13273         (library_list_start_library, svr4_default_sos): Allocate
13274         lm_info_svr4 with new.
13275
13276 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13277
13278         * solib-target.c (struct lm_info_target): Add destructor,
13279         initialize fields.
13280         <name>: Change type to std::string.
13281         (library_list_start_library): Allocate lm_info_target with new.
13282         (solib_target_free_library_list): Free lm_info_target with
13283         delete.
13284         (solib_target_current_sos): Adapt to std::string.
13285         (solib_target_free_so): Free lm_info_target with delete.
13286
13287 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13288
13289         * solib-frv.c (struct lm_info_frv): Add destructor, initialize
13290         fields.
13291         (frv_current_sos): Allocate lm_info_frv with new.
13292         (frv_relocate_main_executable): Free lm_info_frv with delete,
13293         allocate with new.
13294         (frv_clear_solib, frv_free_so): Free lm_info_frv with delete.
13295
13296 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13297
13298         * solib-frv.c (struct lm_info_frv): Fix indentation.
13299
13300 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13301
13302         * solib-dsbt.c (struct lm_info_dsbt): Add destructor, initialize
13303         map field.
13304         (dsbt_current_sos): Allocate lm_info_dsbt with new.
13305         (dsbt_relocate_main_executable): Free lm_info_dsbt with delete
13306         and allocate with new.
13307         (dsbt_clear_solib, dsbt_free_so): Free lm_info_dsbt with delete.
13308
13309 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13310
13311         * solib-aix.c (struct lm_info_aix): Initialize fields in-class.
13312         <filename, member_name>: Change type to std::string.
13313         (solib_aix_new_lm_info, solib_aix_xfree_lm_info): Remove.
13314         (library_list_start_library): Allocate lm_info_aix with new.
13315         (solib_aix_free_library_list, solib_aix_free_so): Free with delete.
13316         (solib_aix_current_sos): Adapt to std::string, copy lm_info_aix
13317         with copy constructor.
13318
13319 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13320
13321         * solist.h (struct lm_info): Remove.
13322         (struct lm_info_base): New class.
13323         (struct so_list) <lm_info>: Change type to lm_info_base *.
13324         * nto-tdep.c (struct lm_info): Remove.
13325         (lm_addr): Adjust.
13326         * solib-aix.c (struct lm_info): Rename to ...
13327         (struct lm_info_aix): ... this.  Extend lm_info_base.
13328         (lm_info_p): Rename to ...
13329         (lm_info_aix_p): ... this, and adjust.
13330         (solib_aix_new_lm_info, solib_aix_xfree_lm_info,
13331         solib_aix_parse_libraries, library_list_start_library,
13332         solib_aix_free_library_list, solib_aix_parse_libraries,
13333         solib_aix_get_library_list,
13334         solib_aix_relocate_section_addresses, solib_aix_free_so,
13335         solib_aix_get_section_offsets,
13336         solib_aix_solib_create_inferior_hook, solib_aix_current_sos):
13337         Adjust.
13338         (struct solib_aix_inferior_data) <library_list>: Adjust.
13339         * solib-darwin.c (struct lm_info): Rename to ...
13340         (struct lm_info_darwin): ... this.  Extend lm_info_base.
13341         (darwin_current_sos, darwin_relocate_section_addresses): Adjust.
13342         * solib-dsbt.c (struct lm_info): Rename to ...
13343         (struct lm_info_dsbt): ... this.  Extend lm_info_base.
13344         (struct dsbt_info) <main_executable_lm_info): Adjust.
13345         (dsbt_current_sos, dsbt_relocate_main_executable, dsbt_free_so,
13346         dsbt_relocate_section_addresses): Adjust.
13347         * solib-frv.c (struct lm_info): Rename to ...
13348         (struct lm_info_frv): ... this.  Extend lm_info_base.
13349         (main_executable_lm_info): Adjust.
13350         (frv_current_sos, frv_relocate_main_executable, frv_free_so,
13351         frv_relocate_section_addresses, frv_fdpic_find_global_pointer,
13352         find_canonical_descriptor_in_load_object,
13353         frv_fdpic_find_canonical_descriptor): Adjust.
13354         * solib-svr4.c (struct lm_info): Move to solib-svr4.h, renamed
13355         to lm_info_svr4.
13356         (lm_info_read, lm_addr_check, svr4_keep_data_in_core,
13357         svr4_clear_so, svr4_copy_library_list,
13358         library_list_start_library, svr4_default_sos, svr4_read_so_list,
13359         svr4_current_sos, svr4_fetch_objfile_link_map,
13360         solist_update_incremental): Adjust.
13361         * solib-svr4.h (struct lm_info_svr4): Move here from
13362         solib-svr4.c.
13363         * solib-target.c (struct lm_info): Rename to ...
13364         (struct lm_info_target): ... this.  Extend lm_info_base.
13365         (lm_info_p): Rename to ...
13366         (lm_info_target_p): ... this.
13367         (solib_target_parse_libraries, library_list_start_segment,
13368         library_list_start_section, library_list_start_library,
13369         library_list_end_library, solib_target_free_library_list,
13370         solib_target_current_sos, solib_target_free_so,
13371         solib_target_relocate_section_addresses): Adjust.
13372         * windows-nat.c (struct lm_info): Rename to ...
13373         (struct lm_info_windows): ... this.  Extend lm_info_base.
13374         (windows_make_so, handle_load_dll, handle_unload_dll,
13375         windows_xfer_shared_libraries): Adjust.
13376
13377 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13378
13379         * solib-darwin.c (struct darwin_so_list): Remove.
13380         (darwin_current_sos): Allocate an so_list object instead of a
13381         darwin_so_list, separately allocate an lm_info object.
13382         (darwin_free_so): Free lm_info.
13383
13384 2017-04-28  John Baldwin  <jhb@FreeBSD.org>
13385
13386         * mips-tdep.c (print_gp_register_row): Replace printf_filtered
13387         with fprintf_filtered.
13388
13389 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13390
13391         * regcache.c (regcache::regcache): New function.
13392         (regcache::~regcache): New function.
13393         (regcache_xmalloc_1): Remove.
13394         (regcache_xmalloc): Call new regcache.
13395         (regcache_xfree): Call delete regcache.
13396         (get_thread_arch_aspace_regcache): Call new regcache.
13397
13398 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13399
13400         * mips-linux-nat.c (mips_linux_new_thread): Use ptid method
13401         lwp instead of ptid_get_lwp.
13402
13403 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13404
13405         * mips-linux-nat.c (mips_linux_new_thread): Get lwpid from
13406         lwp_info instead of getting from inferior_ptid.
13407
13408 2017-04-27  Keith Seitz  <keiths@redhat.com>
13409
13410         * gdbtypes.c (LVALUE_REFERENCE_TO_RVALUE_BINDING_BADNESS)
13411         DIFFERENT_REFERENCE_TYPE_BADNESS): Remove.
13412         (CV_CONVERSION_BADNESS): Define.
13413         (rank_one_type): Remove overly restrictive rvalue reference
13414         rank checks.
13415         Add cv-qualifier checks and subranks for type equality.
13416         * gdbtypes.h (REFERENCE_CONVERSION_RVALUE,
13417         REFERENCE_CONVERSION_CONST_LVALUE, CV_CONVERSION_BADNESS,
13418         CV_CONVERSION_CONST, CV_CONVERSION_VOLATILE): Declare.
13419
13420 2017-04-27  Simon Marchi  <simon.marchi@ericsson.com>
13421
13422         * python/py-inferior.c (inferior_to_inferior_object): Increment reference
13423         count when creating the object.
13424
13425 2017-04-27  Sangamesh Mallayya  <sangamesh.swamy@in.ibm.com>
13426             Ulrich Weigand  <uweigand@de.ibm.com>
13427
13428         * xcoffread.c (read_xcoff_symtab): Read correct function auxiliary
13429         entry if xlc -qfuncsect or gcc -ffunction-sections compiler option
13430         is used in AIX.
13431         (read_xcoff_symtab): Handle C_WEAKEXT storage class.
13432         (process_xcoff_symbol): Likewise.
13433         (scan_xcoff_symtab): Likewise.
13434
13435 2017-04-26  Alan Hayward  <alan.hayward@arm.com>
13436
13437         * ia64-tdep.c (examine_prologue): Use get_frame_register_unsigned.
13438         (ia64_sigtramp_frame_prev_register): Use read_memory_unsigned_integer.
13439         (ia64_access_reg): Use get_frame_register_unsigned.
13440         (ia64_access_rse_reg): Likewise.
13441         (ia64_libunwind_frame_prev_register): Likewise.
13442
13443 2017-04-26  Jiong Wang  <jiong.wang@arm.com>
13444
13445         * gdbarch.sh: New gdbarch method execute_dwarf_cfa_vendor_op.
13446         * gdbarch.c: Regenerated.
13447         * gdbarch.h: Regenerated.
13448         * dwarf2-frame.c (dwarf2_frame_state_alloc_regs): Made the
13449         visibility external.
13450         (execute_cfa_program): Call execute_dwarf_cfa_vendor_op for CFI
13451         between DW_CFA_lo_user and DW_CFA_high_user inclusive.
13452         (enum cfa_how_kind): Move to ...
13453         (struct dwarf2_frame_state_reg_info): Likewise.
13454         (struct dwarf2_frame_state): Likewise.
13455         * dwarf2-frame.h: ... here.
13456         (dwarf2_frame_state_alloc_regs): New declaration.
13457         * sparc-tdep.c (sparc_execute_dwarf_cfa_vendor_op): New function.
13458         (sparc32_gdbarch_init): Register execute_dwarf_cfa_vendor_op hook.
13459
13460 2017-04-26  Alan Hayward  <alan.hayward@arm.com>
13461
13462         * xtensa-tdep.c (xtensa_pseudo_register_read): Use
13463         regcache_raw_read_unsigned.
13464         (xtensa_pseudo_register_write): Likewise.
13465
13466 2017-04-26  Alan Hayward  <alan.hayward@arm.com>
13467
13468         * nds32-tdep.c (nds32_pseudo_register_read): Abort on errors.
13469         (nds32_pseudo_register_write): Likewise.
13470
13471 2017-04-25  Yao Qi  <yao.qi@linaro.org>
13472
13473         * regcache.c (struct regcache) <readonly_p>: Change its type
13474         to bool.
13475         (regcache_xmalloc_1): Update parameter type and callers update.
13476
13477 2017-04-25  Yao Qi  <yao.qi@linaro.org>
13478
13479         * aarch64-tdep.c (aarch64_gdbarch_init): Don't call
13480         set_gdbarch_wchar_bit.
13481         * arm-tdep.c (arm_gdbarch_init): Likewise.
13482
13483 2017-04-25  Pedro Alves  <palves@redhat.com>
13484
13485         * common/poison.h [!HAVE_IS_TRIVIALLY_COPYABLE] (IsRelocatable)
13486         (BothAreRelocatable, memcopy, memmove): Don't define.
13487         * common/traits.h (__has_feature, HAVE_IS_TRIVIALLY_COPYABLE): New
13488         macros.
13489
13490 2017-04-25  Pedro Alves  <palves@redhat.com>
13491
13492         * common/common-defs.h: Include "common/poison.h".
13493         * common/function-view.h: (Not, Or, Requires): Move to traits.h
13494         and adjust.
13495         * common/poison.h: New file.
13496         * common/traits.h: Include <type_traits>.
13497         (Not, Or, Requires): New, moved from common/function-view.h.
13498
13499 2017-04-25  Pedro Alves  <palves@redhat.com>
13500
13501         * breakpoint.h (struct breakpoint): In-class initialize all
13502         fields.  Make boolean fields "bool".
13503         * breakpoint.c (init_raw_breakpoint_without_location): Remove
13504         memset call and initializations no longer necessary.
13505
13506 2017-04-25  Pedro Alves  <palves@redhat.com>
13507
13508         * btrace.c (pt_btrace_insn_flags): Change parameter type to
13509         reference.
13510         (pt_btrace_insn): New function.
13511         (ftrace_add_pt): Remove memset call and use pt_btrace_insn.
13512
13513 2017-04-25  Pedro Alves  <palves@redhat.com>
13514
13515         * ada-lang.c (ada_catchpoint_location): Now a "class".  Remove
13516         "base" field and inherit from "bp_location" instead.  Add
13517         non-default ctor.
13518         (allocate_location_exception): Use new non-default ctor.
13519         * breakpoint.c (get_first_locp_gte_addr): Remove memset call.
13520         (init_bp_location): Convert to ...
13521         (bp_location::bp_location): ... this new ctor, and remove memset
13522         call.
13523         (base_breakpoint_allocate_location): Use the new non-default ctor.
13524         * breakpoint.h (bp_location): Now a class.  Declare default and
13525         non-default ctors.  In-class initialize all members.
13526         (init_bp_location): Remove declaration.
13527
13528 2017-04-25  Pedro Alves  <palves@redhat.com>
13529
13530         * common/enum-flags.h (enum_flags): Don't implement copy ctor and
13531         assignment operator.
13532
13533 2017-04-24  Yao Qi  <yao.qi@linaro.org>
13534
13535         * doublest.c (convert_doublest_to_floatformat): Call
13536         floatformat_totalsize_bytes.
13537
13538 2017-04-22  Tom Tromey  <tom@tromey.com>
13539
13540         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Use
13541         ui_out_emit_list.
13542         * stack.c (print_frame): Use ui_out_emit_list.
13543         * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Use
13544         ui_out_emit_list.
13545         * mi/mi-main.c (print_one_inferior)
13546         (mi_cmd_data_list_register_names)
13547         (mi_cmd_data_list_register_values, mi_cmd_list_features)
13548         (mi_cmd_list_target_features, mi_cmd_trace_frame_collected): Use
13549         ui_out_emit_list.
13550         * mi/mi-interp.c (mi_on_normal_stop_1): Use ui_out_emit_list.
13551         (mi_output_solib_attribs): Use ui_out_emit_list,
13552         ui_out_emit_tuple.
13553         * mi/mi-cmd-var.c (varobj_update_one): Use ui_out_emit_list.
13554         * mi/mi-cmd-stack.c (mi_cmd_stack_list_frames)
13555         (mi_cmd_stack_list_args, list_args_or_locals): Use
13556         ui_out_emit_list.
13557         * disasm.c (do_assembly_only): Use ui_out_emit_list.
13558         * breakpoint.c (print_solib_event, output_thread_groups): Use
13559         ui_out_emit_list.
13560
13561 2017-04-22  Tom Tromey  <tom@tromey.com>
13562
13563         * mi/mi-main.c (print_variable_or_computed): Use ui_out_emit_tuple.
13564         * mi/mi-cmd-var.c (varobj_update_one): Use ui_out_emit_tuple.
13565         * mi/mi-cmd-stack.c (list_arg_or_local): Use ui_out_emit_tuple.
13566
13567 2017-04-22  Tom Tromey  <tom@tromey.com>
13568
13569         * tracepoint.c (tvariables_info_1)
13570         (print_one_static_tracepoint_marker): Use ui_out_emit_tuple.
13571
13572 2017-04-22  Tom Tromey  <tom@tromey.com>
13573
13574         * stack.c (print_frame_arg): Use ui_out_emit_tuple,
13575         annotate_arg_emitter.
13576         * breakpoint.c (print_mention_watchpoint)
13577         (print_mention_masked_watchpoint): Use ui_out_emit_tuple.
13578         * annotate.h (struct annotate_arg_emitter): New.
13579
13580 2017-04-22  Tom Tromey  <tom@tromey.com>
13581
13582         * record-btrace.c (record_btrace_insn_history)
13583         (record_btrace_insn_history_range, record_btrace_call_history)
13584         (record_btrace_call_history_range): Use ui_out_emit_tuple.
13585         * thread.c (do_captured_list_thread_ids, print_thread_info_1): Use
13586         ui_out_emit_tuple.
13587         * stack.c (print_frame_info): Use ui_out_emit_tuple.
13588         * solib.c (info_sharedlibrary_command): Use ui_out_emit_tuple.
13589         * skip.c (skip_info): Use ui_out_emit_tuple.
13590         * remote.c (show_remote_cmd): Use ui_out_emit_tuple.
13591         * progspace.c (print_program_space): Use ui_out_emit_tuple.
13592         * probe.c (info_probes_for_ops): Use ui_out_emit_tuple.
13593         * osdata.c (info_osdata): Use ui_out_emit_tuple.
13594         * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Use
13595         ui_out_emit_tuple.
13596         * mi/mi-main.c (print_one_inferior, list_available_thread_groups)
13597         (output_register, mi_cmd_data_read_memory)
13598         (mi_cmd_data_read_memory_bytes, mi_load_progress)
13599         (mi_cmd_trace_frame_collected): Use ui_out_emit_tuple.
13600         * mi/mi-cmd-var.c (mi_cmd_var_list_children, varobj_update_one):
13601         Use ui_out_emit_tuple.
13602         * mi/mi-cmd-stack.c (mi_cmd_stack_list_args): Use
13603         ui_out_emit_tuple.
13604         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions)
13605         (mi_cmd_info_gdb_mi_command): Use ui_out_emit_tuple.
13606         * linux-thread-db.c (info_auto_load_libthread_db): Use
13607         ui_out_emit_tuple.
13608         * inferior.c (print_inferior): Use ui_out_emit_tuple.
13609         * gdb_bfd.c (print_one_bfd): Use ui_out_emit_tuple.
13610         * disasm.c (do_mixed_source_and_assembly_deprecated)
13611         (do_mixed_source_and_assembly): Use ui_out_emit_tuple.
13612         * cp-abi.c (list_cp_abis): Use ui_out_emit_tuple.
13613         * cli/cli-setshow.c (cmd_show_list): Use ui_out_emit_tuple.
13614         * breakpoint.c (print_one_breakpoint_location)
13615         (print_one_breakpoint): Use ui_out_emit_tuple.
13616         * auto-load.c (print_script, info_auto_load_cmd): Use
13617         ui_out_emit_tuple.
13618         * ada-tasks.c (print_ada_task_info): Use ui_out_emit_tuple.
13619
13620 2017-04-21  Simon Marchi  <simon.marchi@ericsson.com>
13621
13622         * thread.c (print_thread_info_1): Remove dead code.
13623
13624 2017-04-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
13625
13626         * aarch64-tdep.c (selftests::aarch64_process_record_test): Make it #if
13627         GDB_SELF_TEST.
13628         * arm-tdep.c (selftests::arm_record_test): Likewise.
13629
13630 2017-04-21  Yao Qi  <yao.qi@linaro.org>
13631
13632         * regcache.c (regcache_restore): Remove argument 2.  Replace
13633         argument 3 with regcache.  Get register status from
13634         src->register_status and get register contents from
13635         register_buffer (src, regnum).
13636         (regcache_cpy): Update.
13637
13638 2017-04-19  Pedro Alves  <palves@redhat.com>
13639
13640         * gdbthread.h (thread): Add missing closing parenthesis in
13641         comment.
13642
13643 2017-04-19  Pedro Alves  <palves@redhat.com>
13644
13645         * common/refcounted-object.h: New file.
13646         * gdbthread.h: Include "common/refcounted-object.h".
13647         (thread_info): Inherit from refcounted_object and add comments.
13648         (thread_info::incref, thread_info::decref)
13649         (thread_info::m_refcount): Delete.
13650         (thread_info::deletable): Use the refcounted_object::refcount()
13651         method.
13652         * inferior.c (current_inferior_): Add comment.
13653         (set_current_inferior): Increment/decrement refcounts.
13654         (prune_inferiors, remove_inferior_command): Skip inferiors marked
13655         not-deletable instead of comparing with the current inferior.
13656         (initialize_inferiors): Increment the initial inferior's refcount.
13657         * inferior.h (struct inferior): Forward declare.
13658         Include "common/refcounted-object.h".
13659         (current_inferior, set_current_inferior): Move declaration to
13660         before struct inferior's definition, and fix comment.
13661         (inferior): Inherit from refcounted_object.  Add comments.
13662         * thread.c (switch_to_thread_no_regs): Reference the thread's
13663         inferior pointer directly instead of doing a ptid lookup.
13664         (switch_to_no_thread): New function.
13665         (switch_to_thread(thread_info *)): New function, factored out
13666         from ...
13667         (switch_to_thread(ptid_t)): ... this.
13668         (restore_current_thread): Delete.
13669         (current_thread_cleanup): Remove 'inf_id' and 'was_removable'
13670         fields, and add 'inf' field.
13671         (do_restore_current_thread_cleanup): Check whether old->inf is
13672         alive instead of looking up an inferior by ptid.  Use
13673         switch_to_thread and switch_to_no_thread.
13674         (restore_current_thread_cleanup_dtor): Use old->inf directly
13675         instead of lookup up an inferior by id.  Decref the inferior.
13676         Don't restore 'removable'.
13677         (make_cleanup_restore_current_thread): Same the inferior pointer
13678         in old, instead of the inferior number.  Incref the inferior.
13679         Don't save/clear 'removable'.
13680
13681 2017-04-19  Pedro Alves  <palves@redhat.com>
13682
13683         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
13684         unittests/scoped_restore-selftests.c.
13685         (SUBDIR_UNITTESTS_OBS): Add scoped_restore-selftests.o.
13686         * common/scoped_restore.h (scoped_restore_base): Make "class".
13687         (scoped_restore_base::release): New public method.
13688         (scoped_restore_base::scoped_restore_base): New protected ctor.
13689         (scoped_restore_base::m_saved_var): New protected field.
13690         (scoped_restore_tmpl::scoped_restore_tmpl(T*)): Initialize the
13691         scoped_restore_base base class instead of m_saved_var directly.
13692         (scoped_restore_tmpl::scoped_restore_tmpl(T*, T2)): Likewise.
13693         (scoped_restore_tmpl::scoped_restore_tmpl(const
13694         scoped_restore_tmpl<T>&)): Likewise.
13695         (scoped_restore_tmpl::~scoped_restore_tmpl): Use the saved_var
13696         method.
13697         (scoped_restore_tmpl::saved_var): New method.
13698         (scoped_restore_tmpl::m_saved_var): Delete.
13699         * inferior.h (inferior::detaching): Now a bool.
13700         * infrun.c (prepare_for_detach): Use a scoped_restore instead of a
13701         cleanup.
13702         * unittests/scoped_restore-selftests.c: New file.
13703
13704 2017-04-19  Pedro Alves  <palves@redhat.com>
13705
13706         * Makefile.in (SUBDIR_UNITTESTS_SRCS, SUBDIR_UNITTESTS_OBS):
13707         Re-sort in alphabetic order.
13708
13709 2017-04-18  Pedro Alves  <palves@redhat.com>
13710
13711         * xml-support.c (obstack_xml_printf): Delete.
13712         * xml-support.h (obstack_xml_printf): Delete.
13713
13714 2017-04-18  Pedro Alves  <palves@redhat.com>
13715
13716         * xml-support.c (gdb_xml_parser) <use_dtd, dtd_name, parse,
13717         vdebug, verror, body_text, start_element, end_element, name,
13718         user_data, set_is_xinclude, set_error, expat_parser>: New methods.
13719         <name, user_data, expat_parser, scopes, error, last_line, dtd_name,
13720         is_xinclude>: Make private and add m_ prefix.
13721         (gdb_xml_parser::body_text): New method, based on ...
13722         (gdb_xml_body_text): ... this.  Adjust.
13723         (gdb_xml_parser::vdebug): New method, based on ...
13724         (gdb_xml_debug): ... this.  Adjust.
13725         (gdb_xml_parser::verror): New method, based on ...
13726         (gdb_xml_error): ... this.  Adjust.
13727         (gdb_xml_parser::start_element): New method, based on ...
13728         (gdb_xml_start_element): ... this.  Adjust.
13729         (gdb_xml_start_element_wrapper): Defer to
13730         gdb_xml_parser::start_element and gdb_xml_parser::set_error.
13731         (gdb_xml_parser::end_element): New method, based on ...
13732         (gdb_xml_end_element_wrapper): ... this.  Adjust.
13733         (gdb_xml_parser::~gdb_xml_parser): Adjust.
13734         (gdb_xml_parser::gdb_xml_parser): Adjust to field renames.
13735         (gdb_xml_parser::use_dtd): New method, based on ...
13736         (gdb_xml_use_dtd): ... this.  Adjust.
13737         (gdb_xml_parser::parse): New method, based on ...
13738         (gdb_xml_parse): ... this.  Adjust.
13739         (gdb_xml_parse_quick): Adjust to call the parser's parse method.
13740         (xinclude_start_include): Adjust to call the parser's name method.
13741         (xml_xinclude_default, xml_xinclude_start_doctype)
13742         (xml_xinclude_end_doctype): Adjust to call the parser's user_data
13743         method.
13744         (xml_process_xincludes): Adjust to call parser methods.
13745         * xml-support.h (gdb_xml_use_dtd, gdb_xml_parse): Delete
13746         declarations.
13747
13748 2017-04-18  Pedro Alves  <palves@redhat.com>
13749
13750         * tracefile-tfile.c (tfile_write_tdesc): Adjust to use
13751         gdb::optional<std::string>.
13752         * xml-support.c: Include <string>.
13753         (scope_level::scope_level(scope_level &&))
13754         (scope_level::~scope_level): Delete.
13755         (scope_level::body): Now a std::string.
13756         (gdb_xml_body_text, gdb_xml_end_element): Adjust.
13757         (xinclude_parsing_data::xinclude_parsing_data): Add 'output'
13758         parameter.
13759         (xinclude_parsing_data::~xinclude_parsing_data): Delete.
13760         (xinclude_parsing_data::output): Now a std::string reference.
13761         (xinclude_start_include): Adjust.
13762         (xml_xinclude_default): Adjust.
13763         (xml_process_xincludes): Add 'output' parameter, and return bool.
13764         * xml-support.h (xml_process_xincludes): Add 'output' parameter,
13765         and return bool.
13766         * xml-tdesc.c: Include <unordered_map> and <string>.
13767         (tdesc_xml_cache): Delete.
13768         (tdesc_xml_cache_s): Delete.
13769         (xml_cache): Now an std::unordered_map.
13770         (tdesc_parse_xml): Adjust to use std::string and unordered_map.
13771         (target_fetch_description_xml): Change return type to
13772         gdb::optional<std::string>, and adjust.
13773         * xml-tdesc.h: Include "common/gdb_optional.h" and <string>.
13774         (target_fetch_description_xml): Change return type to
13775         gdb::optional<std::string>.
13776
13777 2017-04-18  Pedro Alves  <palves@redhat.com>
13778
13779         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
13780         unittests/optional-selftests.c.
13781         (SUBDIR_UNITTESTS_OBS): Add optional-selftests.o.
13782         * unittests/optional-selftests.c: New file.
13783         * unittests/optional/assignment/1.cc: New file.
13784         * unittests/optional/assignment/2.cc: New file.
13785         * unittests/optional/assignment/3.cc: New file.
13786         * unittests/optional/assignment/4.cc: New file.
13787         * unittests/optional/assignment/5.cc: New file.
13788         * unittests/optional/assignment/6.cc: New file.
13789         * unittests/optional/assignment/7.cc: New file.
13790         * unittests/optional/cons/copy.cc: New file.
13791         * unittests/optional/cons/default.cc: New file.
13792         * unittests/optional/cons/move.cc: New file.
13793         * unittests/optional/cons/value.cc: New file.
13794         * unittests/optional/in_place.cc: New file.
13795         * unittests/optional/observers/1.cc: New file.
13796         * unittests/optional/observers/2.cc: New file.
13797
13798 2017-04-18  Pedro Alves  <palves@redhat.com>
13799
13800         * common/gdb_optional.h: Include common/traits.h.
13801         (in_place_t): New type.
13802         (in_place): New constexpr variable.
13803         (optional::optional): Remove member initialization of
13804         m_instantiated.
13805         (optional::optional(in_place_t...)): New constructor.
13806         (optional::~optional): Use reset.
13807         (optional::optional(const optional&)): New.
13808         (optional::optional(const optional&&)): New.
13809         (optional::optional(T &)): New.
13810         (optional::optional(T &&)): New.
13811         (operator::operator=(const optional &)): New.
13812         (operator::operator=(optional &&)): New.
13813         (operator::operator= (const T &))
13814         (operator::operator= (T &&))
13815         (operator::emplace (Args &&... args)): Return a T&.  Use reset.
13816         (operator::reset): New.
13817         (operator::m_instantiated):: Add in-class initializer.
13818         * common/traits.h: Include <type_traits>.
13819         (struct And): New types.
13820
13821 2017-04-18  Pedro Alves  <palves@redhat.com>
13822
13823         * xml-support.c: Include <vector>.
13824         (scope_level::scope_level(const gdb_xml_element *))
13825         (scope_level::scope_level(scope_level&&)): New.
13826         (scope_level::~scope_level): New.
13827         (scope_level_s): Delete.
13828         (gdb_xml_parser::scopes): Now a std::vector.
13829         (gdb_xml_body_text, gdb_xml_start_element, gdb_xml_end_element):
13830         Use std::vector.
13831         (gdb_xml_parser::~gdb_xml_parser): Remove now unnecessary
13832         scope cleanup code.
13833         (gdb_xml_parser::gdb_xml_parser): Remove explicit initialization
13834         of the scopes member.  Use std::vector::emplace_back.
13835
13836 2017-04-18  Pedro Alves  <palves@redhat.com>
13837
13838         * xml-support.c (gdb_xml_parser): Add ctor/dtor.  Make is_xinclude
13839         a bool.
13840         (gdb_xml_end_element): Change type of first parameter.
13841         (gdb_xml_cleanup): Rename to ...
13842         (gdb_xml_parser::~gdb_xml_parser): ... this.
13843         (gdb_xml_create_parser_and_cleanup): Delete with ...
13844         (gdb_xml_parser::gdb_xml_parser): ... creation parts factored out
13845         to this new ctor.
13846         (gdb_xml_parse_quick): Create a local gdb_xml_parser instead of
13847         using gdb_xml_create_parser_and_cleanup.
13848         (xinclude_parsing_data): Add ctor/dtor.
13849         (xml_xinclude_cleanup): Delete.
13850         (xml_process_xincludes): Create a local xinclude_parsing_data
13851         instead of heap-allocating one.  Create a local gdb_xml_parser
13852         instead of heap-allocating one with
13853         gdb_xml_create_parser_and_cleanup.
13854
13855 2017-04-18  John Baldwin  <jhb@FreeBSD.org>
13856
13857         PR threads/20743
13858         * fbsd-nat.c (resume_one_thread_cb): Remove.
13859         (resume_all_threads_cb): Remove.
13860         (fbsd_resume): Use ALL_NON_EXITED_THREADS instead of
13861         iterate_over_threads.
13862
13863 2017-04-17  Joel Brobecker  <brobecker@adacore.com>
13864
13865         * NEWS: Create a new section for the next release branch.
13866         Rename the section of the current branch, now that it has
13867         been cut.
13868
13869 2017-04-17  Joel Brobecker  <brobecker@adacore.com>
13870
13871         GDB 8.0 branch created (725bf5cf125783c2a7ca4ab63d3768e220bab2db):
13872         * version.in: Bump version to 8.0.50.DATE-git.
13873
13874 2017-04-13  Sergio Durigan Junior  <sergiodj@redhat.com>
13875
13876         PR gdb/21385
13877         * windows-nat.c (windows_create_inferior): Declare 'allargs'
13878         independently of the host, and fix build breakage on Cygwin.
13879
13880 2017-04-13  Pedro Alves  <palves@redhat.com>
13881
13882         * inferior.c (free_inferior): Convert to ...
13883         (inferior::~inferior): ... this dtor.
13884         (inferior::inferior): New ctor, factored out from ...
13885         (add_inferior_silent): ... here.  Allocate the inferior with a new
13886         expression.
13887         (delete_inferior): Call delete instead of free_inferior.
13888         * inferior.h (gdb_environ, continuation): Forward declare.
13889         (inferior): Now a class.  Add in-class initialization to all
13890         members.  Make boolean fields bool, except 'detaching'.
13891         (inferior::inferior): New explicit ctor.
13892         (inferior::~inferior): New.
13893
13894 2017-04-13  Pedro Alves  <palves@redhat.com>
13895
13896         * inferior.c (init_inferior_list): Delete.
13897         * inferior.h (init_inferior_list): Delete.
13898
13899 2017-04-13  Pedro Alves  <palves@redhat.com>
13900
13901         PR threads/13217
13902         * gdb.threads/threadapply.exp (thr_apply_detach): New procedure.
13903         (top level): Call it twice, with different thread sets.
13904
13905 2017-04-13  Pedro Alves  <palves@redhat.com>
13906
13907         * thread.c: Include <algorithm>.
13908         (thread_array_cleanup): Delete.
13909         (scoped_inc_dec_ref): New class.
13910         (live_threads_count): New function.
13911         (set_thread_refcount): Delete.
13912         (tp_array_compar_ascending): Now a bool.
13913         (tp_array_compar): Convert to a std::sort comparison function.
13914         (thread_apply_all_command): Use std::vector and scoped_inc_dec_ref
13915         and live_threads_count.
13916
13917 2017-04-13  Pedro Alves  <palves@redhat.com>
13918
13919         * infrun.c (follow_fork_inferior): Also switch the current
13920         inferior.
13921
13922 2017-04-13  Pedro Alves  <palves@redhat.com>
13923
13924         * breakpoint.c (watch_command_1): Save watchpoint-frame info
13925         before calling create_internal_breakpoint.
13926
13927 2017-04-13  Pedro Alves  <palves@redhat.com>
13928
13929         * fork-child.c (execv_argv): New class.
13930         (breakup_args): Refactored as ...
13931         (execv_argv::init_for_no_shell): .. this method of execv_argv.
13932         Copy arguments to storage and replace separators with NULL
13933         terminators in place.
13934         (escape_bang_in_quoted_argument): Adjust to return bool.
13935         (execv_argv::execv_argv): New ctor.
13936         (execv_argv::init_for_shell): New method, factored out from
13937         fork_inferior.  Don't strdup strings into the vector.
13938         (fork_inferior): Eliminate "shell" local and use execv_argv.  Use
13939         Remove free_vector_argv call.
13940
13941 2017-04-13  Yao Qi  <yao.qi@linaro.org>
13942
13943         * rx-tdep.c (rx_fpsw_type): Check tdep->rx_fpsw_type instead of
13944         tdep->rx_psw_type.
13945
13946 2017-04-13  Yao Qi  <yao.qi@linaro.org>
13947
13948         * rl78-tdep.c (rl78_gdbarch_init): Use XCNEW instead of XNEW.
13949         * rx-tdep.c (rx_gdbarch_init): Likewise.
13950
13951 2017-04-13  Pedro Alves  <palves@redhat.com>
13952
13953         * breakpoint.h (struct breakpoint): Reindent.
13954
13955 2017-04-13  Pedro Alves  <palves@redhat.com>
13956
13957         * breakpoint.c (bp_location): Rename to ...
13958         (bp_locations): ... this.  All references updated.
13959         (bp_location_count): Rename to ...
13960         (bp_locations_count): ... this.  All references updated.
13961         (bp_location_placed_address_before_address_max): Rename to ...
13962         (bp_locations_placed_address_before_address_max): ... this.  All
13963         references updated.
13964         (bp_location_shadow_len_after_address_max): Rename to ...
13965         (bp_locations_shadow_len_after_address_max): ... this.  All
13966         references updated.
13967         (bp_location_compare_addrs): Rename to ...
13968         (bp_locations_compare_addrs): ... this.  All references updated.
13969         (bp_location_compare):Rename to ...
13970         (bp_locations_compare): ... this.  All references updated.
13971         (bp_location_target_extensions_update): Rename to ...
13972         (bp_locations_target_extensions_update): ... this.  All references
13973         updated.
13974
13975 2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
13976
13977         * Makefile.in (HFILES_NO_SRCDIR): Add "common/gdb_termios.h".
13978         * common/common.m4: Check headers 'termios.h', 'termio.h' and
13979         'sgtty.h'.
13980         * common/gdb_termios.h: New file, with parts of "terminal.h".
13981         * inflow.c: Include "gdb_termios.h".
13982         * ser-unix.c: Include "gdb_termios.h".
13983         * terminal.h: Move terminal-related defines to
13984         "common/gdb_termios.h".
13985
13986 2017-04-12  Tom Tromey  <tom@tromey.com>
13987
13988         * probe.c (parse_probes): Update.
13989         * location.h (delete_event_location): Don't declare.
13990         (event_location_deleter::operator()): Update.
13991         * location.c (event_location_deleter::operator()): Rename from
13992         delete_event_location.
13993         * linespec.h (linespec_result) <location>: Change type to
13994         event_location_up.
13995         * linespec.c (canonicalize_linespec, event_location_to_sals)
13996         (decode_objc): Update.
13997         (linespec_result): Don't call delete_event_location.
13998         * breakpoint.c (create_breakpoints_sal)
13999         (bkpt_probe_create_sals_from_location)
14000         (strace_marker_create_sals_from_location): Update.
14001
14002 2017-04-12  Tom Tromey  <tom@tromey.com>
14003
14004         * linespec.h (struct linespec_result): Add constructor and
14005         destructor.
14006         (init_linespec_result, destroy_linespec_result)
14007         (make_cleanup_destroy_linespec_result): Don't declare.
14008         * linespec.c (init_linespec_result): Remove.
14009         (linespec_result::~linespec_result): Rename from
14010         destroy_linespec_result.  Update.
14011         (cleanup_linespec_result, make_cleanup_destroy_linespec_result):
14012         Remove.
14013         * breakpoint.c (create_breakpoint, break_range_command)
14014         (decode_location_default): Update.
14015         * ax-gdb.c (agent_command_1): Update.
14016
14017 2017-04-12  Tom Tromey  <tom@tromey.com>
14018
14019         * remote.c (remote_download_tracepoint): Update.
14020         * python/py-breakpoint.c (bppy_get_location): Update.
14021         * guile/scm-breakpoint.c (bpscm_print_breakpoint_smob)
14022         (gdbscm_breakpoint_location): Update.
14023         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Update.
14024         * breakpoint.h (struct breakpoint) <location, location_range_end>:
14025         Change type to event_location_up.
14026         * breakpoint.c (create_overlay_event_breakpoint)
14027         (create_longjmp_master_breakpoint)
14028         (create_std_terminate_master_breakpoint)
14029         (create_exception_master_breakpoint)
14030         (breakpoint_event_location_empty_p, print_breakpoint_location)
14031         (print_one_breakpoint_location, create_thread_event_breakpoint)
14032         (init_breakpoint_sal, create_breakpoint)
14033         (print_recreate_ranged_breakpoint, break_range_command)
14034         (init_ada_exception_breakpoint, say_where): Update.
14035         (base_breakpoint_dtor): Don't call delete_event_location.
14036         (bkpt_print_recreate, tracepoint_print_recreate)
14037         (dprintf_print_recreate, update_static_tracepoint)
14038         (breakpoint_re_set_default): Update.
14039
14040 2017-04-12  Tom Tromey  <tom@tromey.com>
14041
14042         * compile/compile-loc2c.c (compute_stack_depth_worker): Change
14043         type of "to_do".  Update.
14044         (compute_stack_depth): Use std::vector.
14045
14046 2017-04-12  Tom Tromey  <tom@tromey.com>
14047
14048         * printcmd.c (find_instruction_backward): Use std::vector.
14049
14050 2017-04-12  Tom Tromey  <tom@tromey.com>
14051
14052         * symfile.c (objfilep): Remove typedef.
14053         (reread_symbols): Use a std::vector.
14054
14055 2017-04-12  Tom Tromey  <tom@tromey.com>
14056
14057         * mi/mi-main.c (exec_direction_forward): Remove.
14058         (exec_reverse_continue, mi_execute_command): Use scoped_restore.
14059         * guile/scm-ports.c (ioscm_with_output_to_port_worker): Use
14060         scoped_restore.
14061         * guile/guile.c (guile_repl_command, guile_command)
14062         (gdbscm_execute_gdb_command): Use scoped_restore.
14063         * go-exp.y (go_parse): Use scoped_restore.
14064         * d-exp.y (d_parse): Use scoped_restore.
14065         * cli/cli-decode.c (cmd_func): Use scoped_restore.
14066         * c-exp.y (c_parse): Use scoped_restore.
14067
14068 2017-04-12  Tom Tromey  <tom@tromey.com>
14069
14070         * mi/mi-parse.h (struct mi_parse): Add constructor, destructor.
14071         (mi_parse): Update return type.
14072         (mi_parse_free): Remove.
14073         * mi/mi-parse.c (mi_parse::mi_parse): New constructor.
14074         (mi_parse::~mi_parse): Rename from mi_parse_free.
14075         (mi_parse_cleanup): Remove.
14076         (mi_parse): Return a unique_ptr.  Use new.
14077         * mi/mi-main.c (mi_execute_command): Update.
14078
14079 2017-04-12  Tom Tromey  <tom@tromey.com>
14080
14081         * location.c (explicit_location_lex_one): Return a
14082         unique_xmalloc_ptr.
14083         (string_to_explicit_location): Update.  Remove cleanups.
14084
14085 2017-04-12  Tom Tromey  <tom@tromey.com>
14086
14087         * gnu-v3-abi.c (value_and_voffset_p): Remove typedef.
14088         (compare_value_and_voffset): Change type.  Update.
14089         (compute_vtable_size): Change type of "offset_vec".
14090         (gnuv3_print_vtable): Use std::vector.  Remove cleanups.
14091         (gnuv3_get_typeid): Remove extraneous declaration.
14092
14093 2017-04-12  Tom Tromey  <tom@tromey.com>
14094
14095         * charset.h (wchar_iterator): Fix comment.
14096
14097 2017-04-12  Tom Tromey  <tom@tromey.com>
14098
14099         * charset.c (iconv_wrapper): New class.
14100         (cleanup_iconv): Remove.
14101         (convert_between_encodings): Use it.
14102
14103 2017-04-12  Tom Tromey  <tom@tromey.com>
14104
14105         * symfile.h (increment_reading_symtab): Update type.
14106         * symfile.c (decrement_reading_symtab): Remove.
14107         (increment_reading_symtab): Return a scoped_restore_tmpl<int>.
14108         * psymtab.c (psymtab_to_symtab): Update.
14109         * dwarf2read.c (dw2_instantiate_symtab): Update.
14110
14111 2017-04-12  Tom Tromey  <tom@tromey.com>
14112
14113         * jit.c (struct jit_reader): Declare separately.  Add constructor
14114         and destructor.  Change type of "handle".
14115         (loaded_jit_reader): Define separately.
14116         (jit_reader_load): Update.  New "new".
14117         (jit_reader_unload_command): Use "delete".
14118         * gdb-dlfcn.h (struct dlclose_deleter): New.
14119         (gdb_dlhandle_up): New typedef.
14120         (gdb_dlopen, gdb_dlsym): Update types.
14121         (gdb_dlclose): Remove.
14122         * gdb-dlfcn.c (gdb_dlopen): Return a gdb_dlhandle_up.
14123         (gdb_dlsym): Change type of "handle".
14124         (make_cleanup_dlclose): Remove.
14125         (dlclose_deleter::operator()): Rename from gdb_dlclose.
14126         * compile/compile-c-support.c (load_libcc): Update.
14127
14128 2017-04-12  Tom Tromey  <tom@tromey.com>
14129
14130         * symtab.h (find_pcs_for_symtab_line): Change return type.
14131         * symtab.c (find_pcs_for_symtab_line): Change return type.
14132         * python/py-linetable.c (build_line_table_tuple_from_pcs): Change
14133         type of "vec".  Update.
14134         (ltpy_get_pcs_for_line): Update.
14135         * linespec.c (decode_digits_ordinary): Update.
14136
14137 2017-04-12  Tom Tromey  <tom@tromey.com>
14138
14139         * tracepoint.c (actions_command): Update.
14140         * python/python.c (python_command, python_interactive_command):
14141         Update.
14142         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
14143         * guile/guile.c (guile_command): Update.
14144         * defs.h (read_command_lines, read_command_lines_1): Return
14145         command_line_up.
14146         (command_lines_deleter): New struct.
14147         (command_line_up): New typedef.
14148         * compile/compile.c (compile_code_command)
14149         (compile_print_command): Update.
14150         * cli/cli-script.h (get_command_line, copy_command_lines): Return
14151         command_line_up.
14152         (make_cleanup_free_command_lines): Remove.
14153         * cli/cli-script.c (get_command_line, read_command_lines_1)
14154         (copy_command_lines): Return command_line_up.
14155         (while_command, if_command, read_command_lines, define_command)
14156         (document_command): Update.
14157         (do_free_command_lines_cleanup, make_cleanup_free_command_lines):
14158         Remove.
14159         * breakpoint.h (breakpoint_set_commands): Change type of
14160         "commands".
14161         * breakpoint.c (breakpoint_set_commands): Change type of
14162         "commands".  Update.
14163         (do_map_commands_command, update_dprintf_command_list)
14164         (create_tracepoint_from_upload): Update.
14165
14166 2017-04-12  Tom Tromey  <tom@tromey.com>
14167
14168         * tracepoint.c (scope_info): Update.
14169         * spu-tdep.c (spu_catch_start): Update.
14170         * python/python.c (gdbpy_decode_line): Update.
14171         * python/py-finishbreakpoint.c (bpfinishpy_init): Update.
14172         * python/py-breakpoint.c (bppy_init): Update.
14173         * probe.c (parse_probes): Update.
14174         * mi/mi-cmd-break.c (mi_cmd_break_insert_1): Update.
14175         * location.h (event_location_deleter): New struct.
14176         (event_location_up): New typedef.
14177         (new_linespec_location, new_address_location, new_probe_location)
14178         (new_explicit_location, copy_event_location)
14179         (string_to_event_location, string_to_event_location_basic)
14180         (string_to_explicit_location): Update return type.
14181         (make_cleanup_delete_event_location): Remove.
14182         * location.c (new_linespec_location, new_address_location)
14183         (new_probe_location, new_explicit_location, copy_event_location):
14184         Return event_location_up.
14185         (delete_event_location_cleanup)
14186         (make_cleanup_delete_event_location): Remove.
14187         (string_to_explicit_location, string_to_event_location_basic)
14188         (string_to_event_location): Return event_location_up.
14189         * linespec.c (canonicalize_linespec, event_location_to_sals)
14190         (decode_line_with_current_source)
14191         (decode_line_with_last_displayed, decode_objc): Update.
14192         * guile/scm-breakpoint.c (gdbscm_register_breakpoint_x): Update.
14193         * completer.c (location_completer): Update.
14194         * cli/cli-cmds.c (edit_command, list_command): Update.
14195         * breakpoint.c (create_overlay_event_breakpoint)
14196         (create_longjmp_master_breakpoint)
14197         (create_std_terminate_master_breakpoint)
14198         (create_exception_master_breakpoint)
14199         (create_thread_event_breakpoint): Update.
14200         (init_breakpoint_sal): Update.  Remove some dead code.
14201         (create_breakpoint_sal): Change type of "location".  Update.
14202         (create_breakpoints_sal, create_breakpoint, break_command_1)
14203         (dprintf_command, break_range_command, until_break_command)
14204         (init_ada_exception_breakpoint)
14205         (strace_marker_create_sals_from_location)
14206         (update_static_tracepoint, trace_command, ftrace_command)
14207         (strace_command, create_tracepoint_from_upload): Update.
14208         * break-catch-throw.c (re_set_exception_catchpoint): Update.
14209         * ax-gdb.c (agent_command_1): Update.
14210
14211 2017-04-12  Pedro Alves  <palves@redhat.com>
14212
14213         * Makefile.in (ALL_TARGET_OBS): Add i386-go32-tdep.o.
14214         * configure.tgt: Handle i[34567]86-*-go32* and
14215         i[34567]86-*-msdosdjgpp*.
14216         * i386-tdep.c (i386_svr4_reg_to_regnum):
14217         Make extern.
14218         (i386_go32_init_abi, i386_coff_osabi_sniffer): Moved to
14219         i386-go32-tdep.c.
14220         (_initialize_i386_tdep): DJGPP bits moved to i386-go32-tdep.c.
14221         * i386-go32-tdep.c: New file.
14222         * i386-tdep.h (tdesc_i386_mmx, i386_svr4_reg_to_regnum): New
14223         declarations.
14224
14225 2017-04-12  Simon Marchi  <simon.marchi@ericsson.com>
14226
14227         * aix-thread.c (pd_status2str): Change return type to const char *.
14228
14229 2017-04-12  Pedro Alves  <palves@redhat.com>
14230
14231         * i386-tdep.c (i386_elf_init_abi, i386_go32_init_abi): Remove
14232         calls to set_gdbarch_gnu_triplet_regexp.
14233
14234 2017-04-12  Pedro Alves  <palves@redhat.com>
14235
14236         PR gdb/21323
14237         * c-lang.c (cplus_primitive_types) <cplus_primitive_type_wchar_t>:
14238         New enum value.
14239         (cplus_language_arch_info): Register cplus_primitive_type_wchar_t.
14240         * gdbtypes.h (struct builtin_type) <builtin_wchar>: New field.
14241         * gdbtypes.c (gdbtypes_post_init): Create the "wchar_t" type.
14242         * gdbarch.sh (wchar_bit, wchar_signed): New per-arch values.
14243         * gdbarch.h, gdbarch.c: Regenerate.
14244         * aarch64-tdep.c (aarch64_gdbarch_init): Override
14245         gdbarch_wchar_bit and gdbarch_wchar_signed.
14246         * alpha-tdep.c (alpha_gdbarch_init): Likewise.
14247         * arm-tdep.c (arm_gdbarch_init): Likewise.
14248         * avr-tdep.c (avr_gdbarch_init): Likewise.
14249         * h8300-tdep.c (h8300_gdbarch_init): Likewise.
14250         * i386-nto-tdep.c (i386nto_init_abi): Likewise.
14251         * i386-tdep.c (i386_go32_init_abi): Likewise.
14252         * m32r-tdep.c (m32r_gdbarch_init): Likewise.
14253         * moxie-tdep.c (moxie_gdbarch_init): Likewise.
14254         * nds32-tdep.c (nds32_gdbarch_init): Likewise.
14255         * rs6000-aix-tdep.c (rs6000_aix_init_osabi): Likewise.
14256         * sh-tdep.c (sh_gdbarch_init): Likewise.
14257         * sparc-tdep.c (sparc32_gdbarch_init): Likewise.
14258         * sparc64-tdep.c (sparc64_init_abi): Likewise.
14259         * windows-tdep.c (windows_init_abi): Likewise.
14260         * xstormy16-tdep.c (xstormy16_gdbarch_init): Likewise.
14261
14262 2017-04-12  Pedro Alves  <palves@redhat.com>
14263
14264         PR c++/21323
14265         * c-lang.c (cplus_primitive_types) <cplus_primitive_type_char16_t,
14266         cplus_primitive_type_char32_t>: New enum values.
14267         (cplus_language_arch_info): Register cplus_primitive_type_char16_t
14268         and cplus_primitive_type_char32_t.
14269         * dwarf2read.c (read_base_type) <DW_ATE_UTF>: If bit size is 16 or
14270         32, use the archtecture's built-in type for char16_t and char32_t,
14271         respectively.  Otherwise, fallback to init_integer_type as before,
14272         but make the type unsigned, and issue a complaint.
14273         * gdbtypes.c (gdbtypes_post_init): Make char16_t and char32_t unsigned.
14274
14275 2017-04-12  Alan Hayward  <alan.hayward@arm.com>
14276
14277         * m32r-tdep.c (M32R_ARG_REGISTER_SIZE): Added.
14278         (m32r_push_dummy_call): Use M32R_ARG_REGISTER_SIZE.
14279
14280 2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
14281
14282         * windows-nat.c (windows_create_inferior): Declare 'toexec' as
14283         'const char *'.
14284
14285 2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
14286
14287         * common/common-utils.c (free_vector_argv): New function.
14288         * common/common-utils.h: Include <vector>.
14289         (free_vector_argv): New prototype.
14290         * darwin-nat.c (darwin_create_inferior): Rewrite function
14291         prototype in order to constify "exec_file" and accept a
14292         "std::string" for "allargs".
14293         * fork-child.c: Include <vector>.
14294         (breakup_args): Rewrite function, using C++.
14295         (fork_inferior): Rewrite function header, constify "exec_file_arg"
14296         and accept "std::string" for "allargs".  Update the code to
14297         calculate "argv" based on "allargs".  Update calls to "exec_fun"
14298         and "execvp".
14299         * gnu-nat.c (gnu_create_inferior): Rewrite function prototype in
14300         order to constify "exec_file" and accept a "std::string" for
14301         "allargs".
14302         * go32-nat.c (go32_create_inferior): Likewise.
14303         * inf-ptrace.c (inf_ptrace_create_inferior): Likewise.
14304         * infcmd.c (run_command_1): Constify "exec_file".  Use
14305         "std::string" for inferior arguments.
14306         * inferior.h (fork_inferior): Update prototype.
14307         * linux-nat.c (linux_nat_create_inferior): Rewrite function
14308         prototype in order to constify "exec_file" and accept a
14309         "std::string" for "allargs".
14310         * nto-procfs.c (procfs_create_inferior): Likewise.
14311         * procfs.c (procfs_create_inferior): Likewise.
14312         * remote-sim.c (gdbsim_create_inferior): Likewise.
14313         * remote.c (extended_remote_run): Update code to accept
14314         "std::string" as argument.
14315         (extended_remote_create_inferior): Rewrite function prototype in
14316         order to constify "exec_file" and accept a "std::string" for
14317         "allargs".
14318         * rs6000-nat.c (super_create_inferior): Likewise.
14319         (rs6000_create_inferior): Likewise.
14320         * target.h (struct target_ops) <to_create_inferior>: Likewise.
14321         * windows-nat.c (windows_create_inferior): Likewise.
14322
14323 2017-04-11  Pedro Alves  <palves@redhat.com>
14324
14325         * thread.c: Fix whitespace throughout.
14326
14327 2017-04-11  Philipp Rudo  <prudo@linux.vnet.ibm.com>
14328
14329         * linux-nat.c (linux_nat_detach): Remove delete_lwp call.
14330
14331 2017-04-11  Alan Hayward  <alan.hayward@arm.com>
14332
14333         * arm-tdep.c (arm_store_return_value): Use FP_REGISTER_SIZE
14334
14335 2017-04-10  Sergio Durigan Junior  <sergiodj@redhat.com>
14336
14337         PR gdb/21364
14338         * osdata.c (info_osdata): Check if 'type' is an empty string
14339         instead of NULL.
14340
14341 2017-04-10  Pedro Alves  <palves@redhat.com>
14342
14343         * thread.c (add_thread_silent, delete_thread_1, find_thread_ptid)
14344         (ptid_to_global_thread_id, in_thread_list)
14345         (do_captured_list_thread_ids, set_resumed, set_running)
14346         (set_executing, set_stop_requested, finish_thread_state)
14347         (validate_registers_access, can_access_registers_ptid)
14348         (print_thread_info_1, switch_to_thread)
14349         (do_restore_current_thread_cleanup)
14350         (make_cleanup_restore_current_thread, thread_command)
14351         (thread_name_command): Use operator== instead of ptid_equal.
14352
14353 2017-04-10  Pedro Alves  <palves@redhat.com>
14354
14355         * thread.c (struct current_thread_cleanup) <next>: Delete field.
14356         (current_thread_cleanup_chain): Delete.
14357         (restore_current_thread_cleanup_dtor)
14358         (make_cleanup_restore_current_thread): Remove references to
14359         current_thread_cleanup_chain.
14360
14361 2017-04-10  Alan Hayward  <alan.hayward@arm.com>
14362
14363         * msp430-tdep.c (msp430_pseudo_register_read): Never return
14364         REG_UNKNOWN.
14365
14366 2017-04-10  Yao Qi  <yao.qi@linaro.org>
14367
14368         PR gdb/19942
14369         * gdbthread.h (thread_info::deletable): New method.
14370         (thread_info::incref): New method.
14371         (thread_info::decref): New method.
14372         (thread_info::refcount): Move it to private.
14373         * infrun.c (save_stop_context): Call inc_refcount.
14374         (release_stop_context_cleanup): Likewise.
14375         * thread.c (set_thread_exited): New function.
14376         (init_thread_list): Delete "tp" only it is deletable, otherwise
14377         call set_thread_exited.
14378         (delete_thread_1): Call set_thread_exited.
14379         (current_thread_cleanup) <inferior_pid>: Remove.
14380         <thread>: New field.
14381         (restore_current_thread_ptid_changed): Removed.
14382         (do_restore_current_thread_cleanup): Adjust.
14383         (restore_current_thread_cleanup_dtor): Don't call
14384         find_thread_ptid.
14385         (set_thread_refcount): Use dec_refcount.
14386         (make_cleanup_restore_current_thread): Adjust.
14387         (thread_apply_all_command): Call inc_refcount.
14388         (_initialize_thread): Don't call
14389         observer_attach_thread_ptid_changed.
14390
14391 2017-04-10  Yao Qi  <yao.qi@linaro.org>
14392
14393         * thread.c (delete_thread_1): Hoist code on marking thread as
14394         exited.
14395
14396 2017-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
14397
14398         * windows-nat.c (windows_detach): Initialize ptid with
14399         minus_one_ptid.
14400
14401 2017-04-07  Simon Marchi  <simon.marchi@ericsson.com>
14402
14403         * unittests/ptid-selftests.c: Fix erroneous assert messages.
14404
14405 2017-04-07  Alan Hayward  <alan.hayward@arm.com>
14406
14407         * bfin-tdep.c (BFIN_MAX_REGISTER_SIZE): Add.
14408         (bfin_pseudo_register_read): Use BFIN_MAX_REGISTER_SIZE.
14409         (bfin_pseudo_register_write): Likewise
14410
14411 2017-04-06  Simon Marchi  <simon.marchi@ericsson.com>
14412
14413         * common/ptid.h (struct ptid): Change to...
14414         (class ptid_t): ... this.
14415         <ptid_t>: New constructors.
14416         <pid, lwp_p, lwp, tid_p, tid, is_pid, operator==, operator!=,
14417         matches>: New methods.
14418         <make_null, make_minus_one>: New static methods.
14419         <pid>: Rename to...
14420         <m_pid>: ...this.
14421         <lwp>: Rename to...
14422         <m_lwp>: ...this.
14423         <tid>: Rename to...
14424         <m_tid>: ...this.
14425         (ptid_build, ptid_get_pid, ptid_get_lwp, ptid_get_tid, ptid_equal,
14426         ptid_is_pid, ptid_lwp_p, ptid_tid_p, ptid_match): Take ptid arguments
14427         as references, move comment to class ptid_t.
14428         * common/ptid.c (null_ptid, minus_one_ptid): Initialize with
14429         ptid_t static methods.
14430         (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_tid,
14431         ptid_equal, ptid_is_pid, ptid_lwp_p, ptid_tid_p, ptid_match):
14432         Take ptid arguments as references, implement using ptid_t methods.
14433         * unittests/ptid-selftests.c: New file.
14434         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
14435         unittests/ptid-selftests.c.
14436         (SUBDIR_UNITTESTS_OBS): Add unittests/ptid-selftests.o.
14437
14438 2017-04-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
14439
14440         * python/python.c (python_run_simple_file): Cast mode literal to
14441         non-const char pointer as expected by PyFile_FromString.
14442
14443 2017-04-05  Simon Marchi  <simon.marchi@ericsson.com>
14444
14445         * common/ptid.c (ptid_lwp_p, ptid_tid_p): Remove comparison with
14446         minus_one_ptid and null_ptid.
14447
14448 2017-04-05  Pedro Alves  <palves@redhat.com>
14449
14450         * warning.m4 (build_warnings): Remove -Wno-write-strings.
14451         * configure: Regenerate.
14452
14453 2017-04-05  Pedro Alves  <palves@redhat.com>
14454
14455         * ada-exp.y (yyerror): Constify.
14456         * ada-lang.c (bound_name, get_selections)
14457         (ada_variant_discrim_type)
14458         (ada_variant_discrim_name, ada_value_struct_elt)
14459         (ada_lookup_struct_elt_type, is_unchecked_variant)
14460         (ada_which_variant_applies, standard_exc, ada_get_next_arg)
14461         (catch_ada_exception_command_split)
14462         (catch_ada_assert_command_split, catch_assert_command)
14463         (ada_op_name): Constify.
14464         * ada-lang.h (ada_yyerror, get_selections)
14465         (ada_variant_discrim_name, ada_value_struct_elt): Constify.
14466         * arc-tdep.c (arc_print_frame_cache): Constify.
14467         * arm-tdep.c (arm_skip_stub): Constify.
14468         * ax-gdb.c (gen_binop, gen_struct_ref_recursive, gen_struct_ref)
14469         (gen_aggregate_elt_ref): Constify.
14470         * bcache.c (print_bcache_statistics): Constify.
14471         * bcache.h (print_bcache_statistics): Constify.
14472         * break-catch-throw.c (catch_exception_command_1):
14473         * breakpoint.c (struct ep_type_description::description):
14474         Constify.
14475         (add_solib_catchpoint): Constify.
14476         (catch_fork_command_1): Add cast.
14477         (add_catch_command): Constify.
14478         * breakpoint.h (add_catch_command, add_solib_catchpoint):
14479         Constify.
14480         * bsd-uthread.c (bsd_uthread_state): Constify.
14481         * buildsym.c (patch_subfile_names): Constify.
14482         * buildsym.h (next_symbol_text_func, patch_subfile_names):
14483         Constify.
14484         * c-exp.y (yyerror): Constify.
14485         (token::oper): Constify.
14486         * c-lang.h (c_yyerror, cp_print_class_member): Constify.
14487         * c-varobj.c (cplus_describe_child): Constify.
14488         * charset.c (find_charset_names): Add cast.
14489         (find_charset_names): Constify array and add const_cast.
14490         * cli/cli-cmds.c (complete_command, cd_command): Constify.
14491         (edit_command): Constify.
14492         * cli/cli-decode.c (lookup_cmd): Constify.
14493         * cli/cli-dump.c (dump_memory_command, dump_value_command):
14494         Constify.
14495         (struct dump_context): Constify.
14496         (add_dump_command, restore_command): Constify.
14497         * cli/cli-script.c (get_command_line): Constify.
14498         * cli/cli-script.h (get_command_line): Constify.
14499         * cli/cli-utils.c (check_for_argument): Constify.
14500         * cli/cli-utils.h (check_for_argument): Constify.
14501         * coff-pe-read.c (struct read_pe_section_data): Constify.
14502         * command.h (lookup_cmd): Constify.
14503         * common/print-utils.c (decimal2str): Constify.
14504         * completer.c (gdb_print_filename): Constify.
14505         * corefile.c (set_gnutarget): Constify.
14506         * cp-name-parser.y (yyerror): Constify.
14507         * cp-valprint.c (cp_print_class_member): Constify.
14508         * cris-tdep.c (cris_register_name, crisv32_register_name):
14509         Constify.
14510         * d-exp.y (yyerror): Constify.
14511         (struct token::oper): Constify.
14512         * d-lang.h (d_yyerror): Constify.
14513         * dbxread.c (struct header_file_location::name): Constify.
14514         (add_old_header_file, add_new_header_file, last_function_name)
14515         (dbx_next_symbol_text, add_bincl_to_list)
14516         (find_corresponding_bincl_psymtab, set_namestring)
14517         (find_stab_function_addr, read_dbx_symtab, start_psymtab)
14518         (dbx_end_psymtab, read_ofile_symtab, process_one_symbol):
14519         * defs.h (command_line_input, print_address_symbolic)
14520         (deprecated_readline_begin_hook): Constify.
14521         * dwarf2read.c (anonymous_struct_prefix, dwarf_bool_name):
14522         Constify.
14523         * event-top.c (handle_line_of_input): Constify and add cast.
14524         * exceptions.c (catch_errors): Constify.
14525         * exceptions.h (catch_errors): Constify.
14526         * expprint.c (print_subexp_standard, op_string, op_name)
14527         (op_name_standard, dump_raw_expression, dump_raw_expression):
14528         * expression.h (op_name, op_string, dump_raw_expression):
14529         Constify.
14530         * f-exp.y (yyerror): Constify.
14531         (struct token::oper): Constify.
14532         (struct f77_boolean_val::name): Constify.
14533         * f-lang.c (f_word_break_characters): Constify.
14534         * f-lang.h (f_yyerror): Constify.
14535         * fork-child.c (fork_inferior): Add cast.
14536         * frv-tdep.c (struct gdbarch_tdep::register_names): Constify.
14537         (new_variant): Constify.
14538         * gdbarch.sh (pstring_ptr, pstring_list): Constify.
14539         * gdbarch.c: Regenerate.
14540         * gdbcore.h (set_gnutarget): Constify.
14541         * go-exp.y (yyerror): Constify.
14542         (token::oper): Constify.
14543         * go-lang.h (go_yyerror): Constify.
14544         * go32-nat.c (go32_sysinfo): Constify.
14545         * guile/scm-breakpoint.c (gdbscm_breakpoint_expression): Constify.
14546         * guile/scm-cmd.c (cmdscm_function): Constify.
14547         * guile/scm-param.c (pascm_param_value): Constify.
14548         * h8300-tdep.c (h8300_register_name, h8300s_register_name)
14549         (h8300sx_register_name): Constify.
14550         * hppa-tdep.c (hppa32_register_name, hppa64_register_name):
14551         Constify.
14552         * ia64-tdep.c (ia64_register_names): Constify.
14553         * infcmd.c (construct_inferior_arguments): Constify.
14554         (path_command, attach_post_wait): Constify.
14555         * language.c (show_range_command, show_case_command)
14556         (unk_lang_error): Constify.
14557         * language.h (language_defn::la_error)
14558         (language_defn::la_name_of_this): Constify.
14559         * linespec.c (decode_line_2): Constify.
14560         * linux-thread-db.c (thread_db_err_str): Constify.
14561         * lm32-tdep.c (lm32_register_name): Constify.
14562         * m2-exp.y (yyerror): Constify.
14563         * m2-lang.h (m2_yyerror): Constify.
14564         * m32r-tdep.c (m32r_register_names): Constify and make static.
14565         * m68hc11-tdep.c (m68hc11_register_names): Constify.
14566         * m88k-tdep.c (m88k_register_name): Constify.
14567         * macroexp.c (appendmem): Constify.
14568         * mdebugread.c (fdr_name, add_data_symbol, parse_type)
14569         (upgrade_type, parse_external, parse_partial_symbols)
14570         (mdebug_next_symbol_text, cross_ref, mylookup_symbol, new_psymtab)
14571         (new_symbol): Constify.
14572         * memattr.c (mem_info_command): Constify.
14573         * mep-tdep.c (register_name_from_keyword): Constify.
14574         * mi/mi-cmd-env.c (mi_cmd_env_path, _initialize_mi_cmd_env):
14575         Constify.
14576         * mi/mi-cmd-stack.c (list_args_or_locals): Constify.
14577         * mi/mi-cmd-var.c (mi_cmd_var_show_attributes): Constify.
14578         * mi/mi-main.c (captured_mi_execute_command): Constify and add
14579         cast.
14580         (mi_execute_async_cli_command): Constify.
14581         * mips-tdep.c (mips_register_name): Constify.
14582         * mn10300-tdep.c (register_name, mn10300_generic_register_name)
14583         (am33_register_name, am33_2_register_name)
14584         * moxie-tdep.c (moxie_register_names): Constify.
14585         * nat/linux-osdata.c (osdata_type): Constify fields.
14586         * nto-tdep.c (nto_parse_redirection): Constify.
14587         * objc-lang.c (lookup_struct_typedef, lookup_objc_class)
14588         (lookup_child_selector): Constify.
14589         (objc_methcall::name): Constify.
14590         * objc-lang.h (lookup_objc_class, lookup_child_selector)
14591         (lookup_struct_typedef): Constify.
14592         * objfiles.c (pc_in_section): Constify.
14593         * objfiles.h (pc_in_section): Constify.
14594         * p-exp.y (struct token::oper): Constify.
14595         (yyerror): Constify.
14596         * p-lang.h (pascal_yyerror): Constify.
14597         * parser-defs.h (op_name_standard): Constify.
14598         (op_print::string): Constify.
14599         (exp_descriptor::op_name): Constify.
14600         * printcmd.c (print_address_symbolic): Constify.
14601         * psymtab.c (print_partial_symbols): Constify.
14602         * python/py-breakpoint.c (stop_func): Constify.
14603         (bppy_get_expression): Constify.
14604         * python/py-cmd.c (cmdpy_completer::name): Constify.
14605         (cmdpy_function): Constify.
14606         * python/py-event.c (evpy_add_attribute)
14607         (gdbpy_initialize_event_generic): Constify.
14608         * python/py-event.h (evpy_add_attribute)
14609         (gdbpy_initialize_event_generic): Constify.
14610         * python/py-evts.c (add_new_registry): Constify.
14611         * python/py-finishbreakpoint.c (outofscope_func): Constify.
14612         * python/py-framefilter.c (get_py_iter_from_func): Constify.
14613         * python/py-inferior.c (get_buffer): Add cast.
14614         * python/py-param.c (parm_constant::name): Constify.
14615         * python/py-unwind.c (fprint_frame_id): Constify.
14616         * python/python.c (gdbpy_parameter_value): Constify.
14617         * remote-fileio.c (remote_fio_func_map): Make 'name' const.
14618         * remote.c (memory_packet_config::name): Constify.
14619         (show_packet_config_cmd, remote_write_bytes)
14620         (remote_buffer_add_string):
14621         * reverse.c (exec_reverse_once): Constify.
14622         * rs6000-tdep.c (variant::name, variant::description): Constify.
14623         * rust-exp.y (rustyyerror): Constify.
14624         * rust-lang.c (rust_op_name): Constify.
14625         * rust-lang.h (rustyyerror): Constify.
14626         * serial.h (serial_ops::name): Constify.
14627         * sh-tdep.c (sh_sh_register_name, sh_sh3_register_name)
14628         (sh_sh3e_register_name, sh_sh2e_register_name)
14629         (sh_sh2a_register_name, sh_sh2a_nofpu_register_name)
14630         (sh_sh_dsp_register_name, sh_sh3_dsp_register_name)
14631         (sh_sh4_register_name, sh_sh4_nofpu_register_name)
14632         (sh_sh4al_dsp_register_name): Constify.
14633         * sh64-tdep.c (sh64_register_name): Constify.
14634         * solib-darwin.c (lookup_symbol_from_bfd): Constify.
14635         * spu-tdep.c (spu_register_name, info_spu_dma_cmdlist): Constify.
14636         * stabsread.c (patch_block_stabs, read_type_number)
14637         (ref_map::stabs, ref_add, process_reference)
14638         (symbol_reference_defined, define_symbol, define_symbol)
14639         (error_type, read_type, read_member_functions, read_cpp_abbrev)
14640         (read_one_struct_field, read_struct_fields, read_baseclasses)
14641         (read_tilde_fields, read_struct_type, read_array_type)
14642         (read_enum_type, read_sun_builtin_type, read_sun_floating_type)
14643         (read_huge_number, read_range_type, read_args, common_block_start)
14644         (find_name_end): Constify.
14645         * stabsread.h (common_block_start, define_symbol)
14646         (process_one_symbol, symbol_reference_defined, ref_add):
14647         * symfile.c (get_section_index, add_symbol_file_command):
14648         * symfile.h (get_section_index): Constify.
14649         * target-descriptions.c (tdesc_type::name): Constify.
14650         (tdesc_free_type): Add cast.
14651         * target.c (find_default_run_target):
14652         (add_deprecated_target_alias, find_default_run_target)
14653         (target_announce_detach): Constify.
14654         (do_option): Constify.
14655         * target.h (add_deprecated_target_alias): Constify.
14656         * thread.c (print_thread_info_1): Constify.
14657         * top.c (deprecated_readline_begin_hook, command_line_input):
14658         Constify.
14659         (init_main): Add casts.
14660         * top.h (handle_line_of_input): Constify.
14661         * tracefile-tfile.c (tfile_write_uploaded_tsv): Constify.
14662         * tracepoint.c (tvariables_info_1, trace_status_mi): Constify.
14663         (tfind_command): Rename to ...
14664         (tfind_command_1): ... this and constify.
14665         (tfind_command): New function.
14666         (tfind_end_command, tfind_start_command): Adjust.
14667         (encode_source_string): Constify.
14668         * tracepoint.h (encode_source_string): Constify.
14669         * tui/tui-data.c (tui_partial_win_by_name): Constify.
14670         * tui/tui-data.h (tui_partial_win_by_name): Constify.
14671         * tui/tui-source.c (tui_set_source_content_nil): Constify.
14672         * tui/tui-source.h (tui_set_source_content_nil): Constify.
14673         * tui/tui-win.c (parse_scrolling_args): Constify.
14674         * tui/tui-windata.c (tui_erase_data_content): Constify.
14675         * tui/tui-windata.h (tui_erase_data_content): Constify.
14676         * tui/tui-winsource.c (tui_erase_source_content): Constify.
14677         * tui/tui.c (tui_enable): Add cast.
14678         * utils.c (defaulted_query): Constify.
14679         (init_page_info): Add cast.
14680         (puts_debug, subset_compare): Constify.
14681         * utils.h (subset_compare): Constify.
14682         * varobj.c (varobj_format_string): Constify.
14683         * varobj.h (varobj_format_string): Constify.
14684         * vax-tdep.c (vax_register_name): Constify.
14685         * windows-nat.c (windows_detach): Constify.
14686         * xcoffread.c (process_linenos, xcoff_next_symbol_text): Constify.
14687         * xml-support.c (gdb_xml_end_element): Constify.
14688         * xml-tdesc.c (tdesc_start_reg): Constify.
14689         * xstormy16-tdep.c (xstormy16_register_name): Constify.
14690         * xtensa-tdep.c (xtensa_find_register_by_name): Constify.
14691         * xtensa-tdep.h (xtensa_register_t::name): Constify.
14692
14693 2017-04-05  Pedro Alves  <palves@redhat.com>
14694
14695         * proc-api.c (struct trans): Constify.
14696         (procfs_note): Constify.
14697         * proc-events.c (struct trans, syscall_table):
14698         * proc-flags.c (struct trans): Constify.
14699         * proc-utils.h (procfs_note): Constify.
14700         * proc-why.c (struct trans): Constify.
14701         * procfs.c (dead_procinfo, find_syscall, proc_warn, proc_error)
14702         (procfs_detach): Constify.
14703         * sol-thread.c (struct string_map): Constify.
14704         (td_err_string, td_state_string): Constify.
14705
14706 2017-04-05  Pedro Alves  <palves@redhat.com>
14707
14708         * proc-api.c (procfs_filename): Don't initialize
14709         procfs_filename.
14710         (prepare_to_trace): Assume procfs_filename is non-NULL.
14711         (_initialize_proc_api): Give procfs_filename a default value here.
14712
14713 2017-04-05  Pedro Alves  <palves@redhat.com>
14714
14715         * break-catch-throw.c (handle_gnu_v3_exceptions): Constify
14716         'cond_string' parameter.
14717         (extract_exception_regexp): Constify 'string' parameter.
14718         (catch_exception_command_1): Constify.
14719         * breakpoint.c (init_catchpoint)
14720         (create_fork_vfork_event_catchpoint): Constify 'cond_string'
14721         parameter.
14722         (ep_parse_optional_if_clause, catch_fork_command_1)
14723         (catch_exec_command_1): Constify.
14724         * breakpoint.h (init_catchpoint): Constify 'cond_string'
14725         parameter.
14726         (ep_parse_optional_if_clause): Constify.
14727         * cli/cli-utils.c (remove_trailing_whitespace)
14728         (check_for_argument): Constify.
14729         * cli/cli-utils.h (remove_trailing_whitespace): Constify and add
14730         non-const overload.
14731         (check_for_argument): Likewise.
14732
14733 2017-04-05  Pedro Alves  <palves@redhat.com>
14734
14735         * event-top.c (command_line_handler): Add cast to execute_command
14736         call.
14737         * record-btrace.c (cmd_record_btrace_bts_start)
14738         (cmd_record_btrace_pt_start, cmd_record_btrace_start)
14739         (cmd_record_btrace_start): Add cast to execute_command call.
14740         * record-full.c (record_full_goto_insn):
14741         * record.c (record_start, record_stop): Add cast to
14742         execute_command_to_string calls.
14743         (cmd_record_start): Add cast to execute_command calls.
14744
14745 2017-04-05  Pedro Alves  <palves@redhat.com>
14746
14747         * python/python-internal.h (gdb_PyArg_ParseTupleAndKeywords): New
14748         static inline function.
14749         * python/py-arch.c (archpy_disassemble): Constify 'keywords'
14750         array and use gdb_PyArg_ParseTupleAndKeywords.
14751         * python/py-cmd.c (cmdpy_init): Likewise.
14752         * python/py-finishbreakpoint.c (bpfinishpy_init): Likewise.
14753         * python/py-inferior.c (infpy_read_memory, infpy_write_memory)
14754         (infpy_search_memory): Likewise.
14755         * python/py-objfile.c (objfpy_add_separate_debug_file)
14756         (gdbpy_lookup_objfile): Likewise.
14757         * python/py-symbol.c (gdbpy_lookup_symbol)
14758         (gdbpy_lookup_global_symbol): Likewise.
14759         * python/py-type.c (gdbpy_lookup_type): Likewise.
14760         * python/py-value.c (valpy_lazy_string, valpy_string): Likewise.
14761         * python/python.c (execute_gdb_command, gdbpy_write, gdbpy_flush):
14762         Likewise.
14763
14764 2017-04-05  Pedro Alves  <palves@redhat.com>
14765
14766         * python/python-internal.h (gdb_PyGetSetDef): New type.
14767         * python/py-block.c (block_object_getset)
14768         (breakpoint_object_getset): Now a gdb_PyGetSetDef array.
14769         * python/py-event.c (event_object_getset)
14770         (finish_breakpoint_object_getset): Likewise.
14771         * python/py-inferior.c (inferior_object_getset): Likewise.
14772         * python/py-infthread.c (thread_object_getset): Likewise.
14773         * python/py-lazy-string.c (lazy_string_object_getset): Likewise.
14774         * python/py-linetable.c (linetable_entry_object_getset): Likewise.
14775         * python/py-objfile.c (objfile_getset): Likewise.
14776         * python/py-progspace.c (pspace_getset): Likewise.
14777         * python/py-record-btrace.c (btpy_insn_getset, btpy_call_getset):
14778         Likewise.
14779         * python/py-record.c (recpy_record_getset): Likewise.
14780         * python/py-symbol.c (symbol_object_getset): Likewise.
14781         * python/py-symtab.c (symtab_object_getset, sal_object_getset):
14782         Likewise.
14783         * python/py-type.c (type_object_getset, field_object_getset):
14784         Likewise.
14785         * python/py-value.c (value_object_getset): Likewise.
14786
14787 2017-04-05  Pedro Alves  <palves@redhat.com>
14788
14789         * python/python-internal.h (gdb_PyObject_CallMethod)
14790         (gdb_PyErr_NewException, gdb_PySys_GetObject, gdb_PySys_SetPath):
14791         New functions.
14792         (GDB_PYSYS_SETPATH_CHAR, PyObject_CallMethod, PyErr_NewException)
14793         (PySys_GetObject, PySys_SetPath): New macros.
14794
14795 2017-04-05  Pedro Alves  <palves@redhat.com>
14796
14797         * mi/mi-cmd-info.c (mi_cmd_info_os): Call info_osdata instead of
14798         info_osdata_command.
14799         * osdata.c (info_osdata_command): Rename to ...
14800         (info_osdata): ... this.  Constify 'type' parameter, and remove
14801         the 'from_tty' parameter.  Accept NULL TYPE.
14802         (info_osdata_command): New function.
14803         * osdata.h (info_osdata_command): Remove declaration.
14804         (info_osdata): New declaration.
14805
14806 2017-04-05  Pedro Alves  <palves@redhat.com>
14807
14808         * mi/mi-cmd-break.c (mi_cmd_break_insert_1, mi_cmd_break_insert)
14809         (mi_cmd_dprintf_insert, mi_cmd_break_passcount)
14810         (mi_cmd_break_watch, mi_cmd_break_commands): Constify 'command'
14811         parameter.
14812         * mi/mi-cmd-catch.c (mi_cmd_catch_assert, mi_cmd_catch_exception)
14813         (mi_cmd_catch_load, mi_cmd_catch_unload): Constify cmd' parameter.
14814         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Constify 'command'
14815         parameter.
14816         * mi/mi-cmd-env.c (mi_cmd_env_pwd, mi_cmd_env_cd, mi_cmd_env_path)
14817         (mi_cmd_env_dir, mi_cmd_inferior_tty_set, _cmd_inferior_tty_show)
14818         * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file)
14819         (mi_cmd_file_list_exec_source_files)
14820         (mi_cmd_file_list_shared_libraries): Constify 'command' parameter.
14821         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions)
14822         (mi_cmd_info_gdb_mi_command, mi_cmd_info_os): Constify 'command'
14823         parameter.
14824         * mi/mi-cmd-stack.c (mi_cmd_enable_frame_filters)
14825         (mi_cmd_stack_list_frames, mi_cmd_stack_info_depth)
14826         (mi_cmd_stack_list_locals, mi_cmd_stack_list_args)
14827         (mi_cmd_stack_list_variables, mi_cmd_stack_select_frame)
14828         (mi_cmd_stack_info_frame): Constify 'command' parameter.
14829         * mi/mi-cmd-target.c (mi_cmd_target_file_get)
14830         (mi_cmd_target_file_put, mi_cmd_target_file_delete): Constify
14831         'command' parameter.
14832         * mi/mi-cmd-var.c (mi_cmd_var_create, mi_cmd_var_delete)
14833         (mi_cmd_var_set_format, mi_cmd_var_set_visualizer)
14834         (mi_cmd_var_set_frozen, mi_cmd_var_show_format)
14835         (mi_cmd_var_info_num_children, mi_cmd_var_list_children)
14836         (mi_cmd_var_info_type, mi_cmd_var_info_path_expression)
14837         (mi_cmd_var_info_expression, mi_cmd_var_show_attributes)
14838         (mi_cmd_var_evaluate_expression, mi_cmd_var_assign)
14839         (mi_cmd_var_update, mi_cmd_enable_pretty_printing)
14840         (mi_cmd_var_set_update_range): Constify 'command' parameter.
14841         * mi/mi-cmds.h (mi_cmd_argv_ftype): Constify 'command' parameter.
14842         * mi/mi-interp.c (mi_cmd_interpreter_exec): Constify 'command'
14843         parameter.
14844         * mi/mi-main.c (mi_cmd_gdb_exit, mi_cmd_exec_next)
14845         (mi_cmd_exec_next_instruction, mi_cmd_exec_step)
14846         (mi_cmd_exec_step_instruction, mi_cmd_exec_finish)
14847         (mi_cmd_exec_return ,mi_cmd_exec_jump, mi_cmd_exec_continue)
14848         (mi_cmd_exec_interrupt, mi_cmd_exec_run, mi_cmd_target_detach)
14849         (mi_cmd_target_flash_erase, mi_cmd_thread_select)
14850         (mi_cmd_thread_list_ids, mi_cmd_thread_info)
14851         (mi_cmd_list_thread_groups, mi_cmd_data_list_register_names)
14852         (mi_cmd_data_list_changed_registers)
14853         (mi_cmd_data_write_register_values)
14854         (mi_cmd_data_evaluate_expression, mi_cmd_data_read_memory)
14855         (mi_cmd_data_read_memory_bytes, mi_cmd_data_write_memory)
14856         (mi_cmd_data_write_memory_bytes, mi_cmd_enable_timings)
14857         (mi_cmd_list_features, mi_cmd_list_target_features)
14858         (mi_cmd_add_inferior, mi_cmd_remove_inferior)
14859         (mi_cmd_trace_define_variable, mi_cmd_trace_list_variables)
14860         (mi_cmd_trace_find, mi_cmd_trace_save, mi_cmd_trace_start)
14861         (mi_cmd_trace_status, mi_cmd_trace_stop, mi_cmd_ada_task_info)
14862         (mi_cmd_trace_frame_collected): Constify 'command'
14863         parameter.
14864         * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Constify
14865         'command' parameter.
14866
14867 2017-04-05  Pedro Alves  <palves@redhat.com>
14868
14869         * ada-lang.c (ada_completer_word_break_characters): Now a const
14870         array.
14871         (ada_get_gdb_completer_word_break_characters): Constify.
14872         * completer.c (gdb_completer_command_word_break_characters)
14873         (gdb_completer_file_name_break_characters)
14874         (gdb_completer_quote_characters): Now const arrays.
14875         (get_gdb_completer_quote_characters): Constify.
14876         (set_rl_completer_word_break_characters): New function.
14877         (set_gdb_completion_word_break_characters)
14878         (complete_line_internal): Use it.
14879         * completer.h (get_gdb_completer_quote_characters): Constify.
14880         (set_rl_completer_word_break_characters): Declare.
14881         * f-lang.c (f_word_break_characters): Constify.
14882         * language.c (default_word_break_characters): Constify.
14883         * language.h (language_defn::la_word_break_characters): Constify.
14884         (default_word_break_characters): Constify.
14885         * top.c (init_main): Use set_rl_completer_word_break_characters.
14886
14887 2017-04-05  Pedro Alves  <palves@redhat.com>
14888
14889         * aix-thread.c (aix_thread_pid_to_str)
14890         (aix_thread_extra_thread_info): Constify.
14891         * bsd-kvm.c (bsd_kvm_pid_to_str): Constify.
14892         * bsd-uthread.c (bsd_uthread_extra_thread_info)
14893         (bsd_uthread_pid_to_str): Constify.
14894         * corelow.c (core_pid_to_str): Constify.
14895         * darwin-nat.c (darwin_pid_to_str): Constify.
14896         * fbsd-nat.c (fbsd_pid_to_str): Constify.
14897         * fbsd-tdep.c (fbsd_core_pid_to_str, gdbarch_core_pid_to_str):
14898         Constify.
14899         * gnu-nat.c (gnu_pid_to_str): Constify.
14900         * go32-nat.c (go32_pid_to_str): Constify.
14901         * i386-cygwin-tdep.c (i386_windows_core_pid_to_str): Constify.
14902         * inf-ptrace.c (inf_ptrace_pid_to_str): Constify.
14903         * inferior.c (inferior_pid_to_str): Constify.
14904         * linux-nat.c (linux_nat_pid_to_str): Constify.
14905         * linux-tdep.c (linux_core_pid_to_str): Constify.
14906         * linux-thread-db.c (thread_db_pid_to_str)
14907         (thread_db_extra_thread_info): Constify.
14908         * nto-tdep.c (nto_extra_thread_info): Constify.
14909         * nto-tdep.h (nto_extra_thread_info): Constify.
14910         * obsd-nat.c (obsd_pid_to_str): Constify.
14911         * procfs.c (procfs_pid_to_str): Constify.
14912         * ravenscar-thread.c (ravenscar_extra_thread_info)
14913         (ravenscar_pid_to_str): Constify.
14914         * remote-sim.c (gdbsim_pid_to_str): Constify.
14915         * remote.c (remote_threads_extra_info, remote_pid_to_str):
14916         Constify.
14917         * sol-thread.c (solaris_pid_to_str): Constify.
14918         * sol2-tdep.c (sol2_core_pid_to_str): Constify.
14919         * sol2-tdep.h (sol2_core_pid_to_str): Constify.
14920         * target.c (default_pid_to_str, target_pid_to_str)
14921         (normal_pid_to_str, default_pid_to_str): Constify.
14922         * target.h (target_ops::to_pid_to_str)
14923         (target_ops::to_extra_thread_info): Constify.
14924         (target_pid_to_str, normal_pid_to_str): Constify.
14925         * windows-nat.c (windows_pid_to_str): Constify.
14926         * gdbarch.sh (core_pid_to_str): Constify.
14927         * target-delegates.c: Regenerate.
14928         * gdbarch.h, gdbarch.c: Regenerate.
14929
14930 2017-04-05  Pedro Alves  <palves@redhat.com>
14931
14932         * main.c (captured_main_1): Use gdb::unique_xmalloc_ptr to manage
14933         the memory of the temporary warning_pre_print override.
14934         * utils.c (warning_pre_print): Constify.
14935         * utils.h (warning_pre_print): Constify.
14936
14937 2017-04-05  Pedro Alves  <palves@redhat.com>
14938
14939         * cli/cli-cmds.c (shell_escape): Constify 'arg' parameter.
14940         (shell_command): New function.
14941         (make_command): Use std::string.
14942         (init_cli_cmds): Register shell_command instead of shell_escape.
14943
14944 2017-04-05  Pedro Alves  <palves@redhat.com>
14945
14946         * breakpoint.c (dprintf_function, dprintf_channel): Don't initialize.
14947         * tracepoint.c (default_collect): Don't initialize.
14948
14949 2017-04-05  Pedro Alves  <palves@redhat.com>
14950
14951         * macroexp.c (macro_buffer::shared): Now a bool.
14952         (init_buffer): Update.
14953         (init_shared_buffer): Constify 'addr' parameter.
14954         (substitute_args, expand, macro_expand, macro_expand_next): Remove
14955         casts.
14956
14957 2017-04-05  Pedro Alves  <palves@redhat.com>
14958
14959         * arm-tdep.c (show_disassembly_style_sfunc): Constify local.
14960         * disasm.c (set_disassembler_options): Constify local.
14961         * i386-tdep.c (i386_print_insn): Remove cast and FIXME comment.
14962
14963 2017-04-05  Sergio Durigan Junior  <sergiodj@redhat.com>
14964
14965         PR gdb/21352
14966         * tracefile.c (tsave_command): Fix argument parsing for '-r'
14967         option.
14968
14969 2017-04-05  Yao Qi  <yao.qi@linaro.org>
14970
14971         * frame.c (frame_unwind_register_unsigned): Call
14972         frame_unwind_register_value.
14973
14974 2017-04-05  Yao Qi  <yao.qi@linaro.org>
14975
14976         * gdb.threads/thread-specific-bp.exp (check_thread_specific_breakpoint):
14977         Use gdb_test_multiple, and don't match anchor.
14978
14979 2017-04-05  Pedro Alves  <palves@redhat.com>
14980
14981         * MAINTAINERS (Global Maintainers): Add Simon Marchi.
14982         (Write After Approval): Remove Simon Marchi.
14983
14984 2017-04-05  Pedro Alves  <palves@redhat.com>
14985
14986         * common/gdb_optional.h (optional::optional): Make constexpr and
14987         initialize m_dummy.
14988
14989 2017-04-04  John Baldwin  <jhb@FreeBSD.org>
14990
14991         * amd64-fbsd-tdep.c: Remove "bsd-uthread.h" include.
14992         (amd64fbsd_jmp_buf_reg_offset): Remove.
14993         (amd64fbsd_supply_uthread): Remove function.
14994         (amd64fbsd_collect_uthread): Remove function.
14995         (amd64fbsd_init_abi): Don't set bsd-uthread callbacks.
14996         * configure.tgt (i[34567]86-*-freebsd*): Remove bsd-uthread.o.
14997         (x86_64-*-freebsd*): Remove bsd-uthread.o.
14998         (fbsd-nat.c): Update comment.
14999         * i386-fbsd-tdep.c: Remove "bsd-uthread.h" include.
15000         (i386fbsd_jmp_buf_reg_offset): Remove.
15001         (i386fbsd_supply_uthread): Remove function.
15002         (i386fbsd_collect_uthread): Remove function.
15003         (i386fbsd_init_abi): Don't set bsd-uthread callbacks.
15004
15005 2017-04-04  John Baldwin  <jhb@FreeBSD.org>
15006
15007         * Makefile.in (ALL_64_TARGET_OBS): Remove alpha-fbsd-tdep.o.
15008         (ALLDEPFILES): Remove alpha-fbsd-tdep.c
15009         * NEWS: Mention that support for FreeBSD/alpha was removed.
15010         * alpha-fbsd-tdep.c: Delete file.
15011         * config/alpha/fbsd.mh: Delete file.
15012         * configure.host: Delete alpha*-*-freebsd* and
15013         alpha*-*-kfreebsd*-gnu.
15014         * configure.tgt: Delete alpha*-*-freebsd* and
15015         alpha*-*-kfreebsd*-gnu.
15016
15017 2017-04-04  John Baldwin  <jhb@FreeBSD.org>
15018
15019         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers,
15020         amd64bsd_store_inferior_registers): Use ptid from regcache.
15021
15022 2017-04-04  Pedro Alves  <palves@redhat.com>
15023
15024         * dwarf2read.c (lnp_state_machine): Now a class.  Initialize all
15025         data fields, make them private and add "m_" prefixes.
15026         (lnp_state_machine::lnp_state_machine): New ctor.
15027         (record_line, check_line_address, handle_set_discriminator)
15028         (handle_set_address, handle_advance_pc, handle_special_opcode)
15029         (handle_advance_line, handle_set_file, handle_negate_stmt)
15030         (handle_const_add_pc, handle_fixed_advance_pc, handle_copy)
15031         (end_sequence, advance_line): New methods.
15032         (m_gdbarch, m_record_lines_p): New fields.
15033         (lnp_reader_state): Delete.
15034         (dwarf_record_line): Rename to ...
15035         (lnp_state_machine::record_line): ... adjust.
15036         (init_lnp_state_machine): Delete.
15037         (lnp_state_machine::lnp_state_machine): New.
15038         (check_line_address): Rename to ...
15039         (lnp_state_machine::check_line_address): This.
15040         (dwarf_decode_lines_1): Remove reference to "reader_state".
15041         Adjust lnp_state_machine having a non-default ctor.  Use bool.
15042         State machine internal state manipulation moved to
15043         lnp_state_machine methods.
15044
15045 2017-04-04  Pedro Alves  <palves@redhat.com>
15046
15047         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
15048         unittests/offset-type-selftests.c.
15049         (SUBDIR_UNITTESTS_OBS): Add offset-type-selftests.o.
15050         * common/offset-type.h: New file.
15051         * common/preprocessor.h: New file.
15052         * common/traits.h: New file.
15053         * common/valid-expr.h: New file.
15054         * dwarf2expr.c: Include "common/underlying.h".  Adjust to use
15055         sect_offset and cu_offset strong typedefs throughout.
15056         * dwarf2expr.h: Adjust to use sect_offset and cu_offset strong
15057         typedefs throughout.
15058         * dwarf2loc.c: Include "common/underlying.h".  Adjust to use
15059         sect_offset and cu_offset strong typedefs throughout.
15060         * dwarf2read.c: Adjust to use sect_offset and cu_offset strong
15061         typedefs throughout.
15062         * gdbtypes.h: Include "common/offset-type.h".
15063         (cu_offset): Now an offset type (strong typedef) instead of a
15064         struct.
15065         (sect_offset): Likewise.
15066         (union call_site_parameter_u): Rename "param_offset" field to
15067         "param_cu_off".
15068         * unittests/offset-type-selftests.c: New file.
15069
15070 2017-04-04  Pedro Alves  <palves@redhat.com>
15071
15072         * common/underlying.h: New file.
15073         * dwarf2read.c: Include "common/gdb_optional.h" and
15074         "common/underlying.h".
15075         (dir_index, file_name_index): New types.
15076         (file_entry): Use them.
15077         (file_entry::include): Use to_underlying.
15078         (line_header::add_file_name): Use dir_index.
15079         (read_formatted_entries): Use gdb::optional.  Read form before
15080         writting to file_entry.
15081         (dwarf_decode_line_header): Use dir_index.
15082         (lnp_state_machine::current_file): Use to_underlying.
15083         (lnp_state_machine::file): Change type to file_name_index.
15084         (dwarf_record_line): Use to_underlying.
15085         (init_lnp_state_machine): Use file_name_index.
15086         (dwarf_decode_lines_1): Use dir_index and file_name_index.
15087
15088 2017-04-04  Pedro Alves  <palves@redhat.com>
15089
15090         * common/gdb_optional.h (gdb::optiona): Add operator->, operator*,
15091         operator bool, has_value and get methods.
15092
15093 2017-04-04  Pedro Alves  <palves@redhat.com>
15094
15095         * dwarf2read.c (struct file_entry): Add ctors, and initialize all
15096         fields.
15097         (line_header): Initialize all data fields.  Change type of
15098         standard_opcode_lengths to std::unique_ptr<unsigned char[]>.
15099         Change type of include_dirs to std::vector<const char *>.  Remove
15100         num_include_dirs, include_dirs_size.  Change type of file_names to
15101         std::vector<file_entry>.  Remove num_file_names, file_names_size.
15102         (line_header::line_header): New.
15103         (line_header::add_include_dir, line_header::add_file_name): New
15104         methods.
15105         (line_header::include_dir_at): Remove NULL check.
15106         (line_header::file_name_at): Add const overload.
15107         (line_header_up): New unique_ptr typedef.
15108         (dw2_get_file_names_reader): Use line_header_up.  Adjust to use
15109         std::vector.  Remove free_line_header call.
15110         (dwarf2_build_include_psymtabs): Use line_header_up.  Remove
15111         free_line_header call.
15112         (free_cu_line_header): Delete.
15113         (handle_DW_AT_stmt_list, handle_DW_AT_stmt_list)
15114         (setup_type_unit_groups): Use line_header_up instead of cleanups.
15115         Adjust to use std::vector.
15116         (free_line_header): Delete.
15117         (free_line_header_voidp): Use delete.
15118         (add_include_dir): Replace with ...
15119         (line_header::add_include_dir): ... this method.  Use std::vector.
15120         (add_file_name): Replace with ...
15121         (line_header::add_file_name): ... this method.  Use std::vector.
15122         (add_include_dir_stub): Delete.
15123         (read_formatted_entries): Remove memset.
15124         (dwarf_decode_line_header): Return a line_header_up instead of a
15125         raw pointer.  Remove cleanup handling.  Pass lambdas to
15126         read_formatted_entries.  Adjust to use line_header methods.
15127         (dwarf_decode_lines_1): Adjust to use line_header methods.
15128         (dwarf_decode_lines, file_file_name, file_full_name): Adjust to
15129         use std::vector.
15130
15131 2017-04-04  Simon Marchi  <simon.marchi@polymtl.ca>
15132
15133         * remote.c (set_general_thread, set_continue_thread): Use ptid_t
15134         instead of struct ptid.
15135
15136 2017-05-04  Alan Hayward  <alan.hayward@arm.com>
15137
15138         * frame.c (get_frame_register_bytes): Unwind using value.
15139         (put_frame_register_bytes): Likewise.
15140
15141 2017-03-30  Iain Buclaw  <ibuclaw@gdcproject.org>
15142
15143         * d-exp.y (type_aggregate_p): Treat TYPE_CODE_MODULE as being
15144         aggregate-like.
15145
15146 2017-03-29  Jan Kratochvil  <jan.kratochvil@redhat.com>
15147
15148         * auto-load.c (auto_load_section_scripts): Check SEC_HAS_CONTENTS.
15149
15150 2017-03-29  Yao Qi  <yao.qi@linaro.org>
15151
15152         * gdbthread.h (struct thread_info): Declare constructor and
15153         destructor.  Add some in-class member initializers.
15154         * thread.c (free_thread): Remove.
15155         (init_thread_list): Call delete instead of free_thread.
15156         (new_thread): Call thread_info constructor.
15157         (thread_info::thread_info): New function.
15158         (thread_info::~thread_info): New function.
15159         (delete_thread_1): Call delete instead of free_thread.
15160         (make_cleanup_restore_current_thread): Move tp and frame to
15161         inner block.
15162
15163 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15164
15165         * arc-tdep.c (arc_frame_cache): Add support for prologue analysis.
15166         (arc_skip_prologue): Likewise.
15167         (arc_make_frame_cache): Likewise.
15168         (arc_pv_get_operand): New function.
15169         (arc_is_in_prologue): Likewise.
15170         (arc_analyze_prologue): Likewise.
15171         (arc_print_frame_cache): Likewise.
15172         (MAX_PROLOGUE_LENGTH): New constant.
15173
15174 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15175
15176         * configure.tgt: Add arc-insn.o.
15177         * arc-tdep.c (arc_delayed_print_insn): Make non-static.
15178         (dump_arc_instruction_command): New function.
15179         (arc_fprintf_disasm): Likewise.
15180         (arc_disassemble_info): Likewise.
15181         (arc_insn_get_operand_value): Likewise.
15182         (arc_insn_get_operand_value_signed): Likewise.
15183         (arc_insn_get_memory_base_reg): Likewise.
15184         (arc_insn_get_memory_offset): Likewise.
15185         (arc_insn_get_branch_target): Likewise.
15186         (arc_insn_dump): Likewise.
15187         (arc_insn_get_linear_next_pc): Likewise.
15188         * arc-tdep.h (arc_delayed_print_insn): Add function declaration.
15189         (arc_disassemble_info): Likewise.
15190         (arc_insn_get_branch_target): Likewise.
15191         (arc_insn_get_linear_next_pc): Likewise.
15192         * NEWS: Mention new "maint print arc arc-instruction".
15193
15194 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15195
15196         * arc-tdep (maintenance_print_arc_list): New variable.
15197         (maintenance_print_arc_command): New function.
15198
15199 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15200
15201         * arc-tdep.c (core_v2_register_names, core_arcompact_register_names)
15202         Add "limm" and "reserved".
15203         (arc_cannot_fetch_register, arc_cannot_store_register): Add
15204         ARC_RESERVED_REGNUM and ARC_LIMM_REGNUM.
15205         * arc-tdep.h (arc_regnum): Likewise.
15206
15207 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15208
15209         * xtensa-linux-nat.c (fill_gregset): Call regcache_raw_collect
15210         for THREADPTR register.
15211         (supply_gregset_reg): Call regcache_raw_supply for THREADPTR
15212         register.
15213         * xtensa-tdep.c (XTENSA_DBREGN_UREG): New definition.
15214         (xtensa_derive_tdep): Initialize tdep->threadptr_regnum.
15215         * xtensa-tdep.h (gdbarch_tdep::threadptr_regnum): New field.
15216
15217 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15218
15219         * xtensa-tdep.c (xtensa_pseudo_register_read): Treat all
15220         registers above gdbarch_num_regs (gdbarch) as privileged in
15221         call0 ABI.
15222
15223 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15224
15225         * xtensa-linux-nat.c (fill_gregset): Call regcache_raw_collect
15226         for a single specified register or for all registers in
15227         a0_base..a0_base + C0_NREGS range.
15228         (supply_gregset_reg): Call regcache_raw_supply for a single
15229         specified register or for all registers in a0_base..a0_base +
15230         C0_NREGS range.
15231
15232 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15233
15234         * arch/xtensa.h (C0_NREGS): Add definition.
15235         * xtensa-tdep.c (C0_NREGS): Remove definition.
15236
15237 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15238
15239         * xtensa-tdep.c (xtensa_scan_prologue, call0_analyze_prologue):
15240         Drop xtensa_default_isa initialization.
15241         (xtensa_gdbarch_init): Initialize xtensa_default_isa.
15242
15243 2017-03-27  Pedro Alves  <palves@redhat.com>
15244
15245         * dwarf2read.c (file_entry) <dir_index>: Add comment.
15246         (file_entry::include_dir): New method.
15247         (line_header::include_dir_at, line_header::file_name_at): New
15248         methods.
15249         (setup_type_unit_groups, setup_type_unit_groups)
15250         (psymtab_include_file_name): Simplify using the new methods.
15251         (lnp_state_machine) <the_line_header>: New field.
15252         <file>: Add comment.
15253         (lnp_state_machine::current_file): New method.
15254         (dwarf_record_line): Simplify using the new methods.
15255         (init_lnp_state_machine): Initialize the "the_line_header" field.
15256         (dwarf_decode_lines_1, dwarf_decode_lines, file_file_name):
15257         Simplify using the new methods.
15258
15259 2017-03-27  Pedro Alves  <palves@redhat.com>
15260
15261         * cp-name-parser.y (make_empty): Delete.
15262         (demangler_special, nested_name, ptr_operator, array_indicator)
15263         (direct_declarator, declarator_1): Use fill_comp instead of
15264         make_empty.
15265
15266 2017-03-27  Pedro Alves  <palves@redhat.com>
15267
15268         * xml-support.h (gdb_xml_debug): Pass a "first-to-check" argument
15269         to ATTRIBUTE_PRINTF.
15270         * solib-target.c (library_list_start_list): Print "string" not
15271         "version".
15272         * xml-tdesc.c (tdesc_start_field): Pass "field_name" to
15273         gdb_xml_error call.
15274
15275 2017-03-27  Pedro Alves  <palves@redhat.com>
15276
15277         * dwarf2read.c (struct file_and_directory): New.
15278         (dwarf2_get_dwz_file): Adjust to use std::string.
15279         (dw2_get_file_names_reader): Adjust to use file_and_directory.
15280         (find_file_and_directory): Adjust to return a file_and_directory
15281         object.
15282         (read_file_scope): Adjust to use file_and_directory.  Remove
15283         make_cleanup/do_cleanups calls.
15284         (open_and_init_dwp_file): Adjust to use std::string.  Remove
15285         make_cleanup/do_cleanups calls.
15286         * python/python.c (do_start_initialization): Adjust to ldirname
15287         returning a std::string.
15288         * utils.c (ldirname): Now returns a std::string.
15289         * utils.h (ldirname): Change return type to std::string.
15290         * xml-syscall.c (xml_init_syscalls_info): Adjust to ldirname
15291         returning a std::string.
15292         * xml-tdesc.c (file_read_description_xml): Likewise.
15293
15294 2017-03-24  Alan Hayward  <alan.hayward@arm.com>
15295
15296         * regcache.c (regcache_debug_print_register): New function.
15297         * regcache.h (regcache_debug_print_register): New declaration.
15298         * target.c (debug_print_register): Remove.
15299         (target_fetch_registers): Call regcache_debug_print_register.
15300         (target_store_registers): Likewise.
15301
15302 2017-03-24  Pádraig Brady  <pbrady@fb.com>
15303
15304         * dwarf2read.c (setup_type_unit_groups): Ensure dir_index doesn't
15305         reference beyond the 'lh->include_dirs' array before accessing to
15306         it.
15307         (psymtab_include_file_name): Likewise.
15308         (dwarf_decode_lines_1): Likewise.
15309         (dwarf_decode_lines): Likewise.
15310         (file_file_name): Likewise.
15311
15312 2017-03-23  Simon Marchi  <simon.marchi@ericsson.com>
15313
15314         * fbsd-tdep.c (fbsd_corefile_thread): Don't set/restore
15315         inferior_ptid.
15316         * proc-service.c (ps_lgetregs, ps_lsetregs, ps_lgetfpregs,
15317         ps_lsetfpregs): Likewise.
15318         * regcache.c (regcache_raw_update, regcache_raw_write): Likewise.
15319         * sol-thread.c (ps_lgetregs, ps_lsetregs, ps_lgetfpregs,
15320         ps_lsetfpregs): Likewise.
15321         * target.c (target_fetch_registers, target_store_registers):
15322         Remove asserts.
15323
15324 2017-03-23  Alan Hayward  <alan.hayward@arm.com>
15325
15326         * sol-thread.c (sol_thread_store_registers): Remove regcache calls.
15327
15328 2017-03-23  Yao Qi  <yao.qi@linaro.org>
15329
15330         * aarch64-tdep.c (aarch64_process_record_test): Declare.
15331         (_initialize_aarch64_tdep): Register it.
15332         (aarch64_record_load_store): Handle PRFM instruction.
15333         (aarch64_process_record_test): New function.
15334
15335 2017-03-23  Yao Qi  <yao.qi@linaro.org>
15336
15337         * aarch64-tdep.c (aarch64_record_load_store): Fix code
15338         indentation.
15339
15340 2017-03-23  Yao Qi  <yao.qi@linaro.org>
15341
15342         * aarch64-tdep.c: Remove AARCH64_RECORD_FAILURE.
15343
15344 2017-03-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
15345
15346         python/python.c (do_start_initialization): Fix memory leak.
15347
15348 2017-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
15349
15350         * inf-ptrace.c (inf_ptrace_xfer_partial): Get pid from ptid
15351         using get_ptrace_pid.
15352         * linux-nat.c (linux_nat_xfer_partial): Don't set/restore
15353         inferior_ptid.
15354         (linux_proc_xfer_partial, linux_proc_xfer_spu): Use lwp of
15355         inferior_ptid instead of pid.
15356
15357 2017-03-22  Yao Qi  <yao.qi@linaro.org>
15358
15359         * aarch64-tdep.c: Wrap locally used classes in anonymous
15360         namespace.
15361         * arm-tdep.c: Likewise.
15362         * linespec.c: Likewise.
15363         * ui-out.c: Likewise.
15364
15365 2017-03-22  Jonah Graham  <jonah@kichwacoders.com>
15366
15367         PR gdb/19637
15368         * python/lib/gdb/printer/bound_registers.py: Import sys.
15369
15370 2017-03-21  Simon Marchi  <simon.marchi@ericsson.com>
15371
15372         * windows-nat.c (do_windows_fetch_inferior_registers): Add
15373         windows_thread_info parameter and use it instead of
15374         current_thread.
15375         (windows_fetch_inferior_registers): Don't set current_thread,
15376         pass the thread to do_windows_fetch_inferior_registers.  Use
15377         ptid from regcache instead of inferior_ptid.
15378         (do_windows_store_inferior_registers): Add windows_thread_info
15379         parameter and use it instead of current_thread.
15380         (windows_store_inferior_registers): Don't set current_thread,
15381         pass the thread to do_windows_store_inferior_registers.  Use
15382         ptid from regcache instead of inferior_ptid.
15383
15384 2017-03-21  Simon Marchi  <simon.marchi@ericsson.com>
15385
15386         * ser-mingw.c (ser_windows_raw): Remove reference to
15387         struct serial::current_timeout.
15388
15389 2017-03-21  Ivo Raisr  <ivo.raisr@oracle.com>
15390
15391         PR tdep/20928
15392         * gdb/sparc-tdep.h (gdbarch_tdep) <sparc64_ccr_type>: New field.
15393         * gdb/sparc64-tdep.c (sparc64_ccr_type): New function.
15394         (sparc64_fsr_type): Fix %fsr decoding.
15395
15396 2017-03-21  Tim Wiederhake  <tim.wiederhake@intel.com>
15397
15398         * python/py-record-btrace.c (btpy_insn_data): Change return type
15399         for Python 2.
15400
15401 2017-03-20  Simon Marchi  <simon.marchi@polymtl.ca>
15402
15403         * spu-linux-nat.c (spu_fetch_inferior_registers,
15404         spu_store_inferior_registers): Use ptid from regcache, set and
15405         restore inferior_ptid.
15406         * spu-multiarch.c (spu_fetch_registers, spu_store_registers):
15407         Likewise.
15408
15409 2017-03-20  Simon Marchi  <simon.marchi@polymtl.ca>
15410
15411         * i386-linux-nat.c (fetch_register, store_register,
15412         i386_linux_fetch_inferior_registers,
15413         i386_linux_store_inferior_registers): Use ptid from regcache.
15414         * ia64-linux-nat.c (ia64_linux_fetch_register,
15415         ia64_linux_store_register): Likewise.
15416         * inf-ptrace.c (inf_ptrace_fetch_register,
15417         inf_ptrace_store_register): Likewise.
15418         * m32r-linux-nat.c (m32r_linux_fetch_inferior_registers,
15419         m32r_linux_store_inferior_registers): Likewise.
15420         * m68k-bsd-nat.c (m68kbsd_fetch_inferior_registers,
15421         m68kbsd_store_inferior_registers): Likewise.
15422         * m68k-linux-nat.c (fetch_register, store_register,
15423         m68k_linux_fetch_inferior_registers,
15424         m68k_linux_store_inferior_registers): Likewise.
15425         * m88k-bsd-nat.c (m88kbsd_fetch_inferior_registers,
15426         m88kbsd_store_inferior_registers): Likewise.
15427         * mips-fbsd-nat.c (mips_fbsd_fetch_inferior_registers,
15428         mips_fbsd_store_inferior_registers): Likewise.
15429         * mips-linux-nat.c (mips64_linux_regsets_fetch_registers,
15430         mips64_linux_regsets_store_registers): Likewise.
15431         * mips-nbsd-nat.c (mipsnbsd_fetch_inferior_registers,
15432         mipsnbsd_store_inferior_registers): Likewise.
15433         * mips-obsd-nat.c (mips64obsd_fetch_inferior_registers,
15434         mips64obsd_store_inferior_registers): Likewise.
15435         * nto-procfs.c (procfs_fetch_registers, procfs_store_registers):
15436         Likewise.
15437         * ppc-fbsd-nat.c (ppcfbsd_fetch_inferior_registers,
15438         ppcfbsd_store_inferior_registers): Likewise.
15439         * ppc-linux-nat.c (ppc_linux_fetch_inferior_registers,
15440         ppc_linux_store_inferior_registers): Likewise.
15441         * ppc-nbsd-nat.c (ppcnbsd_fetch_inferior_registers,
15442         ppcnbsd_store_inferior_registers): Likewise.
15443         * ppc-obsd-nat.c (ppcobsd_fetch_registers,
15444         ppcobsd_store_registers): Likewise.
15445         * procfs.c (procfs_fetch_registers, procfs_store_registers):
15446         Likewise.
15447         * ravenscar-thread.c (ravenscar_fetch_registers,
15448         ravenscar_store_registers, ravenscar_prepare_to_store):
15449         Likewise.
15450         * record-btrace.c (record_btrace_fetch_registers,
15451         record_btrace_store_registers, record_btrace_prepare_to_store):
15452         Likewise.
15453         * remote-sim.c (gdbsim_fetch_register, gdbsim_store_register):
15454         Lookup inferior using ptid from regcache, instead of
15455         current_inferior.
15456         * remote.c (remote_fetch_registers, remote_store_registers): Use
15457         ptid from regcache.
15458         * rs6000-nat.c (fetch_register, store_register): Likewise.
15459         * s390-linux-nat.c (s390_linux_fetch_inferior_registers,
15460         s390_linux_store_inferior_registers): Likewise.
15461         * sh-nbsd-nat.c (shnbsd_fetch_inferior_registers,
15462         shnbsd_store_inferior_registers): Likewise.
15463         * sol-thread.c (sol_thread_fetch_registers,
15464         sol_thread_store_registers): Likewise.
15465         * sparc-nat.c (sparc_fetch_inferior_registers,
15466         sparc_store_inferior_registers): Likewise.
15467         * tilegx-linux-nat.c (fetch_inferior_registers,
15468         store_inferior_registers): Likewise.
15469         * vax-bsd-nat.c (vaxbsd_fetch_inferior_registers,
15470         vaxbsd_store_inferior_registers): Likewise.
15471         * xtensa-linux-nat.c (fetch_gregs, store_gregs, fetch_xtregs,
15472         store_xtregs): Likewise.
15473
15474 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15475
15476         PR gdb/14441
15477         * NEWS: Mention support for rvalue references in GDB and python.
15478         * doc/gdb.texinfo (C Plus Plus Expressions): Mention that GDB
15479         supports both lvalue and rvalue references.
15480
15481 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15482
15483         PR gdb/14441
15484         * gdbtypes.c (rank_one_type): Implement overloading
15485         resolution rules regarding rvalue references.
15486
15487 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15488
15489         PR gdb/14441
15490         * aarch64-tdep.c (aarch64_type_align)
15491         (aarch64_extract_return_value, aarch64_store_return_value): Change
15492         lvalue reference type checks to general reference type checks.
15493         * amd64-tdep.c (amd64_classify): Likewise.
15494         * amd64-windows-tdep.c (amd64_windows_passed_by_integer_register):
15495         Likewise.
15496         * arm-tdep.c (arm_type_align, arm_extract_return_value)
15497         (arm_store_return_value): Likewise.
15498         * ax-gdb.c (gen_fetch, gen_cast): Likewise.
15499         * c-typeprint.c (c_print_type): Likewise.
15500         * c-varobj.c (adjust_value_for_child_access, c_value_of_variable)
15501         (cplus_number_of_children, cplus_describe_child): Likewise.
15502         * compile/compile-c-symbols.c (generate_vla_size): Likewise.
15503         * completer.c (expression_completer): Likewise.
15504         * cp-support.c (make_symbol_overload_list_adl_namespace):
15505         Likewise.
15506         * darwin-nat-info.c (info_mach_region_command): Likewise.
15507         * dwarf2loc.c (entry_data_value_coerce_ref)
15508         (value_of_dwarf_reg_entry): Likewise.
15509         * eval.c (ptrmath_type_p, evaluate_subexp_standard)
15510         (evaluate_subexp_for_address, evaluate_subexp_for_sizeof):
15511         Likewise.
15512         * findvar.c (extract_typed_address, store_typed_address):
15513         Likewise.
15514         * gdbtypes.c (rank_one_type): Likewise.
15515         * hppa-tdep.c (hppa64_integral_or_pointer_p): Likewise.
15516         * infcall.c (value_arg_coerce): Likewise.
15517         * language.c (pointer_type): Likewise.
15518         * m32c-tdep.c (m32c_reg_arg_type, m32c_m16c_address_to_pointer):
15519         Likewise.
15520         * m88k-tdep.c (m88k_integral_or_pointer_p): Likewise.
15521         * mn10300-tdep.c (mn10300_type_align): Likewise.
15522         * msp430-tdep.c (msp430_push_dummy_call): Likewise.
15523         * ppc-sysv-tdep.c (do_ppc_sysv_return_value)
15524         (ppc64_sysv_abi_push_param, ppc64_sysv_abi_return_value):
15525         Likewise.
15526         * printcmd.c (print_formatted, x_command): Likewise.
15527         * python/py-type.c (typy_get_composite, typy_template_argument):
15528         Likewise.
15529         * python/py-value.c (valpy_referenced_value)
15530         (valpy_get_dynamic_type, value_has_field): Likewise.
15531         * s390-linux-tdep.c (s390_function_arg_integer): Likewise.
15532         * sparc-tdep.c (sparc_integral_or_pointer_p): Likewise.
15533         * sparc64-tdep.c (sparc64_integral_or_pointer_p): Likewise.
15534         * spu-tdep.c (spu_scalar_value_p): Likewise.
15535         * symtab.c (lookup_symbol_aux): Likewise.
15536         * typeprint.c (whatis_exp, print_type_scalar): Likewise.
15537         * valarith.c (binop_types_user_defined_p, unop_user_defined_p):
15538         Likewise.
15539         * valops.c (value_cast_pointers, value_cast)
15540         (value_reinterpret_cast, value_dynamic_cast, value_addr, typecmp)
15541         (value_struct_elt, value_struct_elt_bitpos)
15542         (value_find_oload_method_list, find_overload_match)
15543         (value_rtti_indirect_type): Likewise.
15544         * valprint.c (val_print_scalar_type_p, generic_val_print):
15545         Likewise.
15546         * value.c (value_actual_type, value_as_address, unpack_long)
15547         (pack_long, pack_unsigned_long, coerce_ref_if_computed)
15548         (coerce_ref): Likewise.
15549         * varobj.c (varobj_get_value_type): Likewise.
15550
15551 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15552
15553         PR gdb/14441
15554         * doc/python.texi (Types in Python): Add TYPE_CODE_RVALUE_REF to
15555         table of constants.
15556         * python/lib/gdb/command/explore.py: Support exploring values
15557         of rvalue reference types.
15558         * python/lib/gdb/types.py: Implement get_basic_type() for
15559         rvalue reference types.
15560         * python/py-type.c (pyty_codes) <TYPE_CODE_RVALUE_REF>: New
15561         constant.
15562         * python/py-value.c (valpy_getitem): Add an rvalue reference
15563         check.
15564         (valpy_reference_value): Add new parameter "refcode".
15565         (valpy_lvalue_reference_value, valpy_rvalue_reference_value):
15566         New wrappers for valpy_reference_value().
15567         * python/py-xmethods.c (gdbpy_get_xmethod_result_type)
15568         (gdbpy_invoke_xmethod): Likewise.
15569
15570 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15571
15572         PR gdb/14441
15573         * dwarf2read.c (process_die, read_type_die_1): Handle the
15574         DW_TAG_rvalue_reference_type DIE.
15575         (read_tag_reference_type): Add new parameter "refcode".
15576
15577 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15578
15579         PR gdb/14441
15580         * c-typeprint.c (c_print_type, c_type_print_varspec_prefix)
15581         (c_type_print_modifier, c_type_print_varspec_suffix)
15582         (c_type_print_base): Support printing rvalue reference types.
15583         * c-valprint.c (c_val_print, c_value_print): Support printing
15584         rvalue reference values.
15585
15586 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15587
15588         PR gdb/14441
15589         * cp-name-parser.y (ptr_operator): Handle the '&&' token in
15590         typename.
15591         * cp-support.c (replace_typedefs): Handle
15592         DEMANGLE_COMPONENT_RVALUE_REFERENCE.
15593         * python/py-type.c (typy_lookup_type): Likewise.
15594
15595 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15596
15597         PR gdb/14441
15598         * c-exp.y (ptr_operator): Handle the '&&' token in the typename.
15599         * parse.c (insert_type): Change assert statement.
15600         (follow_types): Handle rvalue reference types.
15601         * parser-defs.h (enum type_pieces) <tp_rvalue_reference>: New
15602         constant.
15603
15604 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15605
15606         PR gdb/14441
15607         * ada-lang.c (ada_evaluate_subexp): Adhere to the new
15608         value_ref() interface.
15609         * c-valprint.c (c_value_print): Likewise.
15610         * infcall.c (value_arg_coerce): Likewise.
15611         * python/py-value.c (valpy_reference_value): Likewise.
15612         * valops.c (value_cast, value_reinterpret_cast)
15613         (value_dynamic_cast, typecmp): Likewise.
15614         (value_ref): Parameterize by kind of return value reference type.
15615         * value.h (value_ref): Add new parameter "refcode".
15616
15617 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15618
15619         PR gdb/14441
15620         * dwarf2read.c (read_tag_reference_type): Use
15621         lookup_lvalue_reference_type() instead of lookup_reference_type().
15622         * eval.c (evaluate_subexp_standard): Likewise.
15623         * f-exp.y: Likewise.
15624         * gdbtypes.c (make_reference_type, lookup_reference_type):
15625         Generalize with rvalue reference types.
15626         (lookup_lvalue_reference_type, lookup_rvalue_reference_type): New
15627         convenience wrappers for lookup_reference_type().
15628         * gdbtypes.h (make_reference_type, lookup_reference_type): Add a
15629         reference kind parameter.
15630         (lookup_lvalue_reference_type, lookup_rvalue_reference_type): Add
15631         wrappers for lookup_reference_type().
15632         * guile/scm-type.c (gdbscm_type_reference): Use
15633         lookup_lvalue_reference_type() instead of lookup_reference_type().
15634         * guile/scm-value.c (gdbscm_value_dynamic_type): Likewise.
15635         * parse.c (follow_types): Likewise.
15636         * python/py-type.c (typy_reference, typy_lookup_type): Likewise.
15637         * python/py-value.c (valpy_get_dynamic_type, valpy_getitem):
15638         Likewise.
15639         * python/py-xmethods.c (gdbpy_get_xmethod_result_type)
15640         (gdbpy_invoke_xmethod): Likewise.
15641         * stabsread.c: Provide extra argument to make_reference_type()
15642         call.
15643         * valops.c (value_ref, value_rtti_indirect_type): Use
15644         lookup_lvalue_reference_type() instead of lookup_reference_type().
15645
15646 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15647
15648         PR gdb/14441
15649         * gdbtypes.h (enum type_code) <TYPE_CODE_RVALUE_REF>: New constant.
15650         (TYPE_IS_REFERENCE): New macro.
15651         (struct type): Add rvalue_reference_type field.
15652         (TYPE_RVALUE_REFERENCE_TYPE): New macro.
15653
15654 2017-03-20  Marc-Andre Laperle  <marc-andre.laperle@ericsson.com>
15655
15656         * NEWS: Add an entry about new '-file-list-shared-libraries' command.
15657         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries):
15658         New function definition.
15659         * mi/mi-cmds.c (mi_cmds): Add -file-list-shared-libraries command.
15660         * mi/mi-cmds.h (mi_cmd_file_list_shared_libraries):
15661         New function declaration.
15662         * mi/mi-interp.c (mi_output_solib_attribs): New Function.
15663         * mi/mi-interp.h: New file.
15664         * solib.c (info_sharedlibrary_command): Replace for loop with
15665         ALL_SO_LIBS macro
15666         * solib.h (update_solib_list): New function declaration.
15667         (so_list_head): Move macro.
15668         * solist.h (ALL_SO_LIBS): New macro.
15669
15670 2017-03-20  Marc-Andre Laperle  <marc-andre.laperle@ericsson.com>
15671
15672         * infcmd.c (post_create_inferior): Remove unused argument in
15673         call to solib_add.
15674         * remote.c (remote_start_remote): Likewise.
15675         * solib-frv.c (frv_fetch_objfile_link_map): Likewise.
15676         * solib-svr4.c: (svr4_fetch_objfile_link_map): Likewise.
15677         (enable_break): Likewise.
15678         * solib.c (update_solib_list): Remove unused target argument
15679         and its documentation.
15680         (solib_add): Remove unused target argument.  Remove unused
15681         argument in call to update_solib_list.
15682         (info_sharedlibrary_command): Remove unused argument in call
15683         to update_solib_list.
15684         (sharedlibrary_command): Remove unused argument in call to
15685         solib_add.
15686         (handle_solib_event): Likewise.
15687         (reload_shared_libraries): Likewise.
15688         * solib.h (solib_add): Remove unused target argument.
15689
15690 2017-03-20  Andreas Arnez  <arnez@linux.vnet.ibm.com>
15691
15692         * s390-linux-tdep.c (is_rsi, is_rie): Remove functions.
15693         (s390_displaced_step_fixup): Cover relative branches with the
15694         default fixup handling.  This fixes lack of support for some
15695         relative branch instructions.
15696
15697 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15698
15699         * i386-gnu-nat.c (gnu_fetch_registers, gnu_store_registers): Use
15700         ptid from regcache.
15701
15702 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15703
15704         * i386-darwin-nat.c (i386_darwin_fetch_inferior_registers,
15705         i386_darwin_store_inferior_registers): Use ptid from regcache.
15706
15707 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15708
15709         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers,
15710         i386bsd_store_inferior_registers): Use ptid from regcache.
15711
15712 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15713
15714         * hppa-obsd-nat.c (hppaobsd_fetch_registers,
15715         hppaobsd_store_registers): Use ptid from regcache.
15716
15717 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15718
15719         * hppa-nbsd-nat.c (hppanbsd_fetch_registers,
15720         hppanbsd_store_registers): Use ptid from regcache.
15721
15722 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15723
15724         * hppa-linux-nat.c (fetch_register, store_register): Use ptid
15725         from regcache.  Use get_ptrace_pid.
15726
15727 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15728
15729         * corelow.c (get_core_register_section): Use ptid from regcache,
15730         update doc.
15731
15732 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15733
15734         * bsd-uthread.c (bsd_uthread_fetch_registers,
15735         bsd_uthread_store_registers): Use ptid from regcache, set and
15736         restore inferior_ptid.
15737
15738 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15739
15740         * arm-nbsd-nat.c (fetch_register, fetch_regs, fetch_fp_register,
15741         fetch_fp_regs, store_register, store_regs, store_fp_register,
15742         store_fp_regs): Use ptid from regcache.
15743
15744 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15745
15746         * arm-linux-nat.c (fetch_fpregs, store_fpregs, fetch_regs,
15747         store_regs, fetch_wmmx_regs, store_wmmx_regs, fetch_vfp_regs,
15748         store_vfp_regs): Use ptid from regcache.
15749
15750 2017-03-17  Pedro Alves  <palves@redhat.com>
15751
15752         PR remote/21188
15753         * ser-base.c (ser_base_wait_for): Add comment.
15754         (do_ser_base_readchar): Improve comment based on the ser-unix.c's
15755         version.
15756         * ser-unix.c (hardwire_raw): Remove reference to
15757         scb->current_timeout.
15758         (wait_for, do_hardwire_readchar, hardwire_readchar): Delete.
15759         (hardwire_ops): Install ser_base_readchar instead of
15760         hardwire_readchar.
15761         * serial.h (struct serial) <current_timeout, timeout_remaining>:
15762         Remove fields.
15763
15764 2017-03-17  Jonah Graham  <jonah@kichwacoders.com>
15765
15766         PR gdb/19637
15767         * python/lib/gdb/printer/bound_registers.py: Add support for
15768         Python 3.
15769
15770 2017-03-16  Andreas Arnez  <arnez@linux.vnet.ibm.com>
15771
15772         * dwarf2loc.c (indirect_synthetic_pointer): Get data type of
15773         pointed-to DIE and pass it to dwarf2_evaluate_loc_desc_full.
15774         (dwarf2_evaluate_loc_desc_full): New parameter subobj_type; rename
15775         byte_offset to subobj_byte_offset.  Fix the handling of
15776         DWARF_VALUE_STACK on big-endian targets when coming via an
15777         implicit pointer.
15778         (dwarf2_evaluate_loc_desc): Adjust call to
15779         dwarf2_evaluate_loc_desc_full.
15780         * dwarf2loc.h (dwarf2_fetch_die_type_sect_off): New declaration.
15781         * dwarf2read.c (dwarf2_fetch_die_type_sect_off): New function.
15782
15783 2017-03-16  Yao Qi  <yao.qi@linaro.org>
15784
15785         * arm-tdep.c (thumb_record_misc): Decode CBNZ, CBZ, REV16,
15786         and REVSH instructions.
15787
15788 2017-03-16  Yao Qi  <yao.qi@linaro.org>
15789
15790         * arm-tdep.c [GDB_SELF_TEST]: include "selftests.h".
15791         (arm_record_test): Declare.
15792         (_initialize_arm_tdep) [GDB_SELF_TEST]: call register_self_test.
15793         (thumb_record_ld_st_reg_offset): Rewrite the opcode matching to
15794         align with the manual.
15795         (thumb_record_misc): Adjust the code order to align with the
15796         manual.
15797         (thumb2_record_decode_insn_handler): Fix instruction matching.
15798         (instruction_reader_thumb): New class.
15799         (arm_record_test): New function.
15800
15801 2017-03-16  Yao Qi  <yao.qi@linaro.org>
15802
15803         * arm-tdep.c (abstract_memory_reader): New class.
15804         (instruction_reader): New class.
15805         (extract_arm_insn): Add argument 'reader'.  Callers updated.
15806         (decode_insn): Likewise.
15807
15808 2017-03-16  Doug Evans  <dje@google.com>
15809
15810         * guile/scm-lazy-string.c (lazy_string_smob): Clarify use of LENGTH
15811         member.  Change type of TYPE member to SCM.  All uses updated.
15812         (lsscm_make_lazy_string_smob): Add assert.
15813         (lsscm_make_lazy_string): Flag bad length values.
15814         (lsscm_elt_type): New function.
15815         (gdbscm_lazy_string_to_value): Rewrite to use
15816         lsscm_safe_lazy_string_to_value.
15817         (lsscm_safe_lazy_string_to_value): Fix handling of TYPE_CODE_PTR.
15818         * guile/scm-value.c (gdbscm_value_to_lazy_string): Flag bad length
15819         values.  Fix TYPE_CODE_PTR.  Handle TYPE_CODE_ARRAY.  Handle typedefs
15820         in incoming type.
15821         * guile/guile-internal.h (tyscm_scm_to_type): Declare.
15822         * guile/scm-type.c (tyscm_scm_to_type): New function.
15823
15824 2017-03-15  Doug Evans  <dje@google.com>
15825
15826         PR python/17728, python/18439, python/18779
15827         * python/py-lazy-string.c (lazy_string_object): Clarify use of LENGTH
15828         member.  Change type of TYPE member to PyObject *.  All uses updated.
15829         (stpy_convert_to_value): Fix handling of TYPE_CODE_PTR.
15830         (gdbpy_create_lazy_string_object): Flag bad length values.
15831         Handle TYPE_CODE_ARRAY with possibly different user-provided length.
15832         Handle typedefs in incoming type.
15833         (stpy_lazy_string_elt_type): New function.
15834         (gdbpy_extract_lazy_string): Call it.
15835         * python/py-value.c (valpy_lazy_string): Flag bad length values.
15836         Fix handling of TYPE_CODE_PTR.  Handle TYPE_CODE_ARRAY.  Handle
15837         typedefs in incoming type.
15838
15839 2017-03-16  Doug Evans  <dje@google.com>
15840
15841         * guile/guile-internal.h (tyscm_scm_to_type): Declare.
15842         * guile/scm-type.c (tyscm_scm_to_type): New function.
15843
15844 2017-03-16  Jiong Wang  <jiong.wang@arm.com>
15845
15846         * inf-ptrace.c (inf_ptrace_peek_poke): Change the type to
15847         "ULONGEST" for "skip".
15848
15849 2017-03-14  Andreas Arnez  <arnez@linux.vnet.ibm.com>
15850
15851         PR gdb/21220
15852         * inf-ptrace.c (inf_ptrace_xfer_partial): In "case
15853         TARGET_OBJECT_MEMORY", extract the logic for ptrace peek/poke...
15854         (inf_ptrace_peek_poke): ...here.  New function.  Now also loop
15855         over ptrace peek/poke until end of buffer or error.
15856
15857 2017-03-14  Simon Marchi  <simon.marchi@ericsson.com>
15858
15859         * parse.c (length_of_subexp): Make static.
15860         * parser-defs.h (length_of_subexp): Remove.
15861
15862 2017-03-14  Andreas Arnez  <arnez@linux.vnet.ibm.com>
15863
15864         * linux-nat.c (linux_proc_xfer_partial): Handle write operations
15865         as well.
15866
15867 2017-03-14  Pedro Alves  <palves@redhat.com>
15868
15869         * cp-name-parser.y (cp_demangled_name_to_comp): Update comment.
15870         (main): Use std::unique_ptr.  Remove calls to
15871         cp_demangled_name_parse_free.
15872
15873 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15874
15875         * alpha-bsd-nat.c (alphabsd_fetch_inferior_registers,
15876         alphabsd_store_inferior_registers): Use regcache->ptid instead
15877         of inferior_ptid.
15878
15879 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15880
15881         * aix-thread.c (aix_thread_fetch_registers,
15882         aix_thread_store_registers): Use regcache->ptid instead of
15883         inferior_ptid.
15884
15885 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15886
15887         * aarch64-linux-nat.c (fetch_gregs_from_thread,
15888         store_gregs_to_thread, fetch_fpregs_from_thread,
15889         store_fpregs_to_thread): Use regcache->ptid instead of
15890         inferior_ptid.
15891
15892 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15893
15894         * amd64-linux-nat.c (amd64_linux_fetch_inferior_registers,
15895         amd64_linux_fetch_inferior_registers): Use regcache->ptid
15896         instead of inferior_ptid.
15897
15898 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15899
15900         * target.c (target_fetch_registers, target_store_registers): Add
15901         assert.
15902
15903 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15904
15905         * regcache.h (regcache_get_ptid): New function.
15906         * regcache.c (regcache_get_ptid): New function.
15907
15908 2017-03-13  Mark Wielaard  <mark@klomp.org>
15909
15910         * cp-name-parser.y (make_empty): Initialize d_printing to zero.
15911
15912 2017-03-10  Keith Seitz  <keiths@redhat.com>
15913
15914         PR c++/8218
15915         * c-typeprint.c (cp_type_print_method_args): Skip artificial arguments.
15916
15917 2017-03-08  Pedro Alves  <palves@redhat.com>
15918
15919         PR gdb/18360
15920         * infrun.c (start_step_over, do_target_resume, resume)
15921         (restart_threads): Assert we're not resuming a thread that is
15922         meant to be stopped.
15923         (infrun_thread_stop_requested_callback): Delete.
15924         (infrun_thread_stop_requested): If the thread is internally
15925         stopped, queue a pending stop event and clear the thread's
15926         inline-frame state.
15927         (handle_stop_requested): New function.
15928         (handle_syscall_event, handle_inferior_event_1): Use
15929         handle_stop_requested.
15930         (handle_stop_requested): New function.
15931         (handle_signal_stop): Set the thread's stop_signal here instead of
15932         at caller.
15933         (finish_step_over): Clear step over info unconditionally.
15934         (handle_signal_stop): If the user had interrupted the event
15935         thread, consider the stop a random signal.
15936         (handle_signal_stop) <signal arrived while stepping over
15937         breakpoint>: Don't restart threads here.
15938         (stop_waiting): Don't clear step-over info here.
15939
15940 2017-03-08  Pedro Alves  <palves@redhat.com>
15941
15942         PR 21206
15943         * common/gdb_unlinker.h (unlinker::unlinker): Attribute nonnull
15944         goes to argument 2, not 1.
15945
15946 2017-03-08  Pedro Alves  <palves@redhat.com>
15947
15948         PR cli/21218
15949         * top.c (gdb_readline_wrapper): Avoid passing NULL to
15950         display_gdb_prompt.
15951         (command_line_input): Add comment.
15952
15953 2017-03-08  Pedro Alves  <palves@redhat.com>
15954
15955         PR tui/21216
15956         * tui/tui-file.c (tui_file::write): New.
15957         * tui/tui-file.h (tui_file): Override "write".
15958         * tui/tui-io.c (do_tui_putc, update_start_line): New functions,
15959         factored out from ...
15960         (tui_puts): ... here.
15961         (tui_putc): Use them.
15962         (tui_write): New function.
15963         * tui/tui-io.h (tui_write): Declare.
15964
15965 2017-03-07  Sergio Durigan Junior  <sergiodj@redhat.com>
15966
15967         * Makefile.in (SFILES): Replace "environ.c" with
15968         "common/environ.c".
15969         (HFILES_NO_SRCDIR): Likewise, for "environ.h".
15970         * environ.c: Include "common-defs.h" instead of "defs.h.  Moved
15971         to...
15972         * common/environ.c: ... here.
15973         * environ.h: Moved to...
15974         * common/environ.h: ... here.
15975
15976 2017-03-07  Peter Bergner  <bergner@vnet.ibm.com>
15977
15978         * gdbarch.sh (pstring_ptr): New static function.
15979         (gdbarch_disassembler_options): Use it.
15980         (gdbarch_verify_disassembler_options): Print valid_disassembler_options,
15981         not valid_disassembler_option->name.
15982         * gdbarch.c: Regenerate.
15983
15984 2017-03-07  Peter Bergner  <bergner@vnet.ibm.com>
15985
15986         * config/powerpc/ppc64-linux.mh (MH_CFLAGS): Delete.
15987
15988 2017-03-07  Pedro Alves  <palves@redhat.com>
15989
15990         * tui/tui-regs.c (tui_restore_gdbout): Don't delete gdb_stdout.
15991
15992 2017-03-07  Walfred Tedeschi  <walfred.tedeschi@intel.com>
15993
15994         * i387-tdep.h (i387_reset_bnd_regs): Add function definition.
15995         * i387-tdep.c (i387_reset_bnd_regs): Add function implementation.
15996         * i386-tdep.c (i386_push_dummy_call): Call i387_reset_bnd_regs.
15997         * amd64-tdep.c (amd64_push_dummy_call): Call i387_reset_bnd_regs.
15998
15999 2017-03-06  Simon Marchi  <simon.marchi@ericsson.com>
16000
16001         * xtensa-linux-nat.c (fetch_gregs): Remove const.
16002
16003 2017-03-03  Simon Marchi  <simon.marchi@ericsson.com>
16004
16005         * remote.c (remote_add_target_side_commands): Use range-based
16006         for loop.
16007
16008 2017-03-03  Yao Qi  <yao.qi@linaro.org>
16009
16010         PR gdb/21165
16011         * ada-valprint.c (ada_val_print_ref): Call value_fetch_lazy if
16012         value is lazy.
16013         * valprint.c (common_val_print): Likewise.
16014
16015 2017-02-28  Peter Bergner  <bergner@vnet.ibm.com>
16016
16017         * NEWS: Mention new set/show disassembler-options commands.
16018         * doc/gdb.texinfo: Document new set/show disassembler-options commands.
16019         * disasm.c: Include "arch-utils.h", "gdbcmd.h" and "safe-ctype.h".
16020         (prospective_options): New static variable.
16021         (gdb_disassembler::gdb_disassembler): Initialize
16022         m_di.disassembler_options.
16023         (gdb_buffered_insn_length_init_dis): Initilize di->disassembler_options.
16024         (get_disassembler_options): New function.
16025         (set_disassembler_options): Likewise.
16026         (set_disassembler_options_sfunc): Likewise.
16027         (show_disassembler_options_sfunc): Likewise.
16028         (disassembler_options_completer): Likewise.
16029         (_initialize_disasm): Likewise.
16030         * disasm.h (get_disassembler_options): New prototype.
16031         (set_disassembler_options): Likewise.
16032         * gdbarch.sh (gdbarch_disassembler_options): New variable.
16033         (gdbarch_verify_disassembler_options): Likewise.
16034         * gdbarch.c: Regenerate.
16035         * gdbarch.h: Likewise.
16036         * arm-tdep.c (num_disassembly_options): Delete.
16037         (set_disassembly_style): Likewise.
16038         (arm_disassembler_options): New static variable.
16039         (set_disassembly_style_sfunc): Convert short style name into long
16040         option name.  Call set_disassembler_options.
16041         (show_disassembly_style_sfunc): New function.
16042         (arm_gdbarch_init): Call set_gdbarch_disassembler_options and
16043         set_gdbarch_verify_disassembler_options.
16044         (_initialize_arm_tdep): Delete regnames variable and update callers.
16045         (arm_disassembler_options): Initialize.
16046         (disasm_options): New variable.
16047         (num_disassembly_options): Rename from this...
16048         (num_disassembly_styles): ...to this.  Compute by scanning through
16049         disasm_options.
16050         (valid_disassembly_styles): Initialize using disasm_options.
16051         Remove calls to parse_arm_disassembler_option, get_arm_regnames and
16052         set_arm_regname_option.
16053         Pass show_disassembly_style_sfunc to the "disassembler" setshow command.
16054         * rs6000-tdep.c (powerpc_disassembler_options): New static variable.
16055         (rs6000_gdbarch_init): Call set_gdbarch_disassembler_options and
16056         set_gdbarch_verify_disassembler_options.
16057         * s390-tdep.c (s390_disassembler_options): New static variable.
16058         (s390_gdbarch_init):all set_gdbarch_disassembler_options and
16059         set_gdbarch_verify_disassembler_options.
16060
16061 2017-02-27  Simon Marchi  <simon.marchi@ericsson.com>
16062
16063         * remote.c (remote_add_target_side_condition): Remove "struct"
16064         keyword from range-based for loop.
16065
16066 2017-02-27  Simon Marchi  <simon.marchi@ericsson.com>
16067
16068         * remote.c (remote_add_target_side_condition): Use range-based
16069         for loop.  Update comment.
16070
16071 2017-02-27  Yao Qi  <yao.qi@linaro.org>
16072
16073         * f-typeprint.c (f_print_type): Check "varstring" is empty first.
16074
16075 2017-02-26  Alan Hayward  <alan.hayward@arm.com>
16076
16077         * regcache.c (regcache_raw_update): New function.
16078         (regcache_raw_read): Move code to regcache_raw_update.
16079         * regcache.h (regcache_raw_update): New declaration.
16080         * remote.c (remote_prepare_to_store): Call regcache_raw_update.
16081
16082 2017-02-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
16083
16084         * dwarf2read.c (create_debug_type_hash_table): Initialize
16085         header.signature and header.type_offset_in_tu.
16086
16087 2017-02-24  Pedro Alves  <palves@redhat.com>
16088
16089         * symtab.c (make_file_symbol_completion_list_1): Use
16090         add_symtab_completions.
16091
16092 2017-02-24  Alan Hayward  <alan.hayward@arm.com>
16093
16094         * stack.c (frame_info): Use frame_unwind_register_value to avoid buf.
16095
16096 2017-02-24  Alan Hayward  <alan.hayward@arm.com>
16097
16098         * i386-tdep.c (i386_pseudo_register_read_into_value): Use
16099         I386_MAX_REGISTER_SIZE.
16100         (i386_pseudo_register_write): Likewise.
16101         (i386_process_record): Likewise.
16102         * i387-tdep.c (i387_supply_xsave): Likewise.
16103         * m68k-linux-nat.c (fetch_register): Use M68K_MAX_REGISTER_SIZE.
16104         (store_register): Likewise.
16105
16106 2017-02-23  Pedro Alves  <palves@redhat.com>
16107
16108         * ada-lang.c: Include "common/function-view.h".
16109         (ada_iterate_over_symbols): Adjust to use function_view as
16110         callback type.
16111         (struct add_partial_datum, ada_complete_symbol_matcher): Delete.
16112         (ada_make_symbol_completion_list): Use a lambda.
16113         (ada_exc_search_name_matches): Delete.
16114         (name_matches_regex): New.
16115         (ada_add_global_exceptions): Use a lambda and name_matches_regex.
16116         * compile/compile-c-support.c: Include "common/function-view.h".
16117         (print_one_macro): Change prototype to accept a ui_file pointer.
16118         (write_macro_definitions): Use a lambda.
16119         * dwarf2read.c: Include "common/function-view.h".
16120         (dw2_map_expand_apply, dw2_map_symtabs_matching_filename)
16121         (dw2_expand_symtabs_matching): Adjust to use function_view as
16122         callback type.
16123         * language.h: Include "common/function-view.h".
16124         (struct language_defn) <la_iterate_over_symbols>: Adjust to use
16125         function_view as callback type.
16126         (LA_ITERATE_OVER_SYMBOLS): Remove DATA parameter.
16127         * linespec.c: Include "common/function-view.h".
16128         (collect_info::add_symbol): New method.
16129         (struct symbol_and_data_callback, iterate_inline_only, struct
16130         symbol_matcher_data, iterate_name_matcher): Delete.
16131         (iterate_over_all_matching_symtabs): Adjust to use function_view
16132         as callback type and lambdas.
16133         (iterate_over_file_blocks): Adjust to use function_view as
16134         callback type.
16135         (decode_compound_collector): Now a class with private fields.
16136         (decode_compound_collector::release_symbols): New method.
16137         (collect_one_symbol): Rename to...
16138         (decode_compound_collector::operator()): ... this and adjust.
16139         (lookup_prefix_sym): decode_compound_collector construction bits
16140         move to decode_compound_collector ctor.  Pass the
16141         decode_compound_collector object directly as callback.  Remove
16142         cleanups and use decode_compound_collector::release_symbols
16143         instead.
16144         (symtab_collector): Now a class with private fields.
16145         (symtab_collector::release_symtabs): New method.
16146         (add_symtabs_to_list): Rename to...
16147         (symtab_collector::operator()): ... this and adjust.
16148         (collect_symtabs_from_filename): symtab_collector construction
16149         bits move to symtab_collector ctor.  Pass the symtab_collector
16150         object directly as callback.  Remove cleanups and use
16151         symtab_collector::release_symtabs instead.
16152         (collect_symbols): Delete.
16153         (add_matching_symbols_to_info): Use lambdas.
16154         * macrocmd.c (print_macro_callback): Delete.
16155         (info_macro_command): Use a lambda.
16156         (info_macros_command): Pass print_macro_definition as callable
16157         directly.
16158         (print_one_macro): Remove 'ignore' parameter.
16159         (macro_list_command): Adjust.
16160         * macrotab.c (macro_for_each_data::fn): Now a function_view.
16161         (macro_for_each_data::user_data): Delete field.
16162         (foreach_macro): Adjust to call the function_view.
16163         (macro_for_each): Adjust to use function_view as callback type.
16164         (foreach_macro_in_scope): Adjust to call the function_view.
16165         (macro_for_each_in_scope): Adjust to use function_view as callback
16166         type.
16167         * macrotab.h: Include "common/function-view.h".
16168         (macro_callback_fn): Declare a prototype instead of a pointer.
16169         Remove "user_data" parameter.
16170         (macro_for_each, macro_for_each_in_scope): Adjust to use
16171         function_view as callback type.
16172         * psymtab.c (partial_map_expand_apply)
16173         (psym_map_symtabs_matching_filename, recursively_search_psymtabs):
16174         Adjust to use function_view as callback type and to return bool.
16175         (psym_expand_symtabs_matching): Adjust to use function_view as
16176         callback types.
16177         * symfile-debug.c (debug_qf_map_symtabs_matching_filename): Adjust
16178         to use function_view as callback type and to return bool.
16179         (debug_qf_expand_symtabs_matching): Adjust to use function_view as
16180         callback types.
16181         * symfile.c (expand_symtabs_matching): Adjust to use function_view
16182         as callback types.
16183         * symfile.h: Include "common/function-view.h".
16184         (expand_symtabs_file_matcher_ftype)
16185         (expand_symtabs_symbol_matcher_ftype)
16186         (expand_symtabs_exp_notify_ftype): Remove "data" parameter and
16187         return bool.
16188         (quick_symbol_functions::map_symtabs_matching_filename)
16189         (quick_symbol_functions::expand_symtabs_matching): Adjust to use
16190         function_view as callback type and return bool.
16191         (expand_symtabs_matching): Adjust to use function_view as callback
16192         type.
16193         (maintenance_expand_name_matcher)
16194         (maintenance_expand_file_matcher): Delete.
16195         (maintenance_expand_symtabs): Use lambdas.
16196         * symtab.c (iterate_over_some_symtabs): Adjust to use
16197         function_view as callback types and return bool.
16198         (iterate_over_symtabs): Likewise.  Use unique_xmalloc_ptr instead
16199         of a cleanup.
16200         (lookup_symtab_callback): Delete.
16201         (lookup_symtab): Use a lambda.
16202         (iterate_over_symbols): Adjust to use function_view as callback
16203         type.
16204         (struct search_symbols_data, search_symbols_file_matches)
16205         (search_symbols_name_matches): Delete.
16206         (search_symbols): Use a pair of lambdas.
16207         (struct add_name_data, add_macro_name, symbol_completion_matcher)
16208         (symtab_expansion_callback): Delete.
16209         (default_make_symbol_completion_list_break_on_1): Use lambdas.
16210         * symtab.h: Include "common/function-view.h".
16211         (iterate_over_some_symtabs): Adjust to use function_view as
16212         callback type and return bool.
16213         (iterate_over_symtabs): Adjust to use function_view as callback
16214         type.
16215         (symbol_found_callback_ftype): Remove 'data' parameter and return
16216         bool.
16217         (iterate_over_symbols): Adjust to use function_view as callback
16218         type.
16219
16220 2017-02-23  Pedro Alves  <palves@redhat.com>
16221
16222         * Makefile.in (SUBDIR_UNITTESTS_SRCS, SUBDIR_UNITTESTS_OBS): New.
16223         (%.o) <unittests/%.c>: New pattern.
16224         * configure.ac ($development): Add $(SUBDIR_UNITTESTS_OBS) to
16225         CONFIG_OBS, and $(SUBDIR_UNITTESTS_SRCS) to CONFIG_SRCS.
16226         * common/function-view.h: New file.
16227         * unittests/function-view-selftests.c: New file.
16228         * configure: Regenerate.
16229
16230 2017-02-23  Simon Marchi  <simon.marchi@ericsson.com>
16231
16232         * bsd-uthread.c (bsd_uthread_thread_alive): Use ptid instead of
16233         inferior_ptid.
16234         * go32-nat.c (go32_thread_alive): Likewise.
16235
16236 2017-02-23  Yao Qi  <yao.qi@linaro.org>
16237
16238         * varobj-iter.h (varobj_iter_delete): Call xfree instead of
16239         delete.
16240
16241 2017-02-23  Yao Qi  <yao.qi@linaro.org>
16242
16243         * varobj.c (varobj_clear_saved_item): Use delete instead of
16244         xfree.
16245         (update_dynamic_varobj_children): Likewise.
16246
16247 2017-02-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
16248
16249         * dwarf2read.c (dwarf2_record_block_ranges): Add forgotten BASEADDR.
16250
16251 2017-02-21  Simon Marchi  <simon.marchi@ericsson.com>
16252
16253         * common/enum-flags.h (enum_flags::enum_flags): Initialize
16254         m_enum_value to 0 in default constructor.
16255
16256 2017-02-21  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
16257
16258         * rs6000-tdep.c (LOAD_AND_RESERVE_MASK): Rename from LWARX_MASK.
16259         (STORE_CONDITIONAL_MASK): Rename from STWCX_MASK.
16260         (LBARX_INSTRUCTION, LHARX_INSTRUCTION, LQARX_INSTRUCTION,
16261         STBCX_INSTRUCTION, STHCX_INSTRUCTION, STQCX_INSTRUCTION): New defines.
16262         (IS_LOAD_AND_RESERVE_INSN, IS_STORE_CONDITIONAL_INSN): New macros.
16263         (ppc_displaced_step_copy_insn): Use IS_LOAD_AND_RESERVE_INSN.
16264         (ppc_deal_with_atomic_sequence): Use IS_LOAD_AND_RESERVE_INSN and
16265         IS_STORE_CONDITIONAL_INSN.
16266
16267 2017-02-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
16268
16269         * dwarf2_rnglists_process: Initialize range_beginning and range_end.
16270
16271 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16272
16273         * NEWS (Changes since GDB 7.12): Add DWARF-5.
16274
16275 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16276
16277         * dwarf2read.c (skip_one_die, read_attribute_value)
16278         (dwarf2_const_value_attr, dump_die_shallow)
16279         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
16280         (skip_form_bytes, attr_form_is_constant): Handle DW_FORM_data16.
16281
16282 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16283
16284         * dwarf2read.c (read_file_scope): Rename DW_MACRO_GNU_*.
16285         (dwarf_parse_macro_header): Accept DWARF version 5.
16286         (dwarf_decode_macro_bytes, dwarf_decode_macros): Rename DW_MACRO_GNU_*.
16287
16288 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16289
16290         * block.c (call_site_for_pc): Rename DW_OP_GNU_*, DW_TAG_GNU_* and
16291         DW_AT_GNU_*.
16292         * common/common-exceptions.h (enum errors): Likewise.
16293         * dwarf2-frame.c (class dwarf_expr_executor): Likewise.
16294         * dwarf2expr.c (dwarf_block_to_dwarf_reg)
16295         (dwarf_expr_context::execute_stack_op): Likewise.
16296         * dwarf2expr.h (struct dwarf_expr_context, struct dwarf_expr_piece):
16297         Likewise.
16298         * dwarf2loc.c (dwarf_evaluate_loc_desc::get_base_type)
16299         (dwarf_evaluate_loc_desc::push_dwarf_reg_entry_value)
16300         (show_entry_values_debug, call_site_to_target_addr)
16301         (func_addr_to_tail_call_list, func_verify_no_selftailcall)
16302         (dwarf_expr_reg_to_entry_parameter, dwarf_entry_parameter_to_value)
16303         (entry_data_value_free_closure, value_of_dwarf_reg_entry)
16304         (value_of_dwarf_block_entry, indirect_pieced_value)
16305         (symbol_needs_eval_context::push_dwarf_reg_entry_value):
16306         (disassemble_dwarf_expression): Likewise.
16307         * dwarf2read.c (process_die, inherit_abstract_dies)
16308         (read_call_site_scope): Likewise.
16309         * gdbtypes.h (struct func_type, struct call_site_parameter)
16310         (struct call_site): Likewise.
16311         * stack.c (read_frame_arg): Likewise.
16312         * std-operator.def (OP_VAR_ENTRY_VALUE): Likewise.
16313
16314 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16315
16316         * defs.h (read_unsigned_leb128): New declaration.
16317         * dwarf2loc.c (decode_debug_loclists_addresses): New function.
16318         (decode_debug_loc_dwo_addresses): Update DEBUG_LOC_* to DW_LLE_*.
16319         (dwarf2_find_location_expression): Call also
16320         decode_debug_loclists_addresses.  Handle DWARF-5 ULEB128 length.
16321         * dwarf2loc.h (dwarf2_version): New declaration.
16322         * dwarf2read.c (struct dwarf2_per_objfile): Add loclists, line_str,
16323         rnglists.
16324         (dwarf2_elf_names): Add .debug_loclists, .debug_line_str,
16325         .debug_rnglists.
16326         (struct dwop_section_names): Add loclists_dwo.
16327         (dwop_section_names): Add .debug_loclists.dwo.
16328         (struct comp_unit_head): Add unit_type, signature, type_offset_in_tu.
16329         (struct dwarf2_per_cu_data): Add dwarf_version.
16330         (struct dwo_sections): Add loclists.
16331         (struct attr_abbrev): Add implicit_const.
16332         (read_indirect_line_string): New declaration.
16333         (read_unsigned_leb128): Delete declaration.
16334         (rcuh_kind): New definition.
16335         (read_and_check_comp_unit_head): Change parameter
16336         is_debug_types_section to section_kind.
16337         (dwarf2_locate_sections): Handle loclists, line_str and rnglists.
16338         (read_comp_unit_head): Change parameter abfd to section, add parameter
16339         section_kind.  Handle DWARF-5.
16340         (error_check_comp_unit_head): Accept also DWARF version 5.
16341         (read_and_check_comp_unit_head): Change parameter
16342         is_debug_types_section to section_kind.
16343         (read_and_check_type_unit_head): Delete function.
16344         (read_abbrev_offset): Handle DWARF-5.
16345         (create_debug_type_hash_table): Add parameter section_kind.  Process
16346         only DW_UT_type.  Use signature and type_offset_in_tu from struct
16347         comp_unit_head.
16348         (create_debug_types_hash_table): Update create_debug_type_hash_table
16349         caller.
16350         (create_all_type_units): Call create_debug_type_hash_table.
16351         (read_cutu_die_from_dwo, init_cutu_and_read_dies): Change
16352         read_and_check_type_unit_head caller to read_and_check_comp_unit_head
16353         caller.
16354         (skip_one_die): Handle DW_FORM_implicit_const.
16355         (dwarf2_rnglists_process): New function.
16356         (dwarf2_ranges_process): Call dwarf2_rnglists_process for DWARF-5.
16357         (abbrev_table_read_table): Handle DW_FORM_implicit_const.
16358         (read_attribute_value): Handle DW_FORM_implicit_const,
16359         DW_FORM_line_strp.
16360         (read_attribute): Handle DW_FORM_implicit_const.
16361         (read_indirect_string_at_offset_from): New function from
16362         read_indirect_string_at_offset.
16363         (read_indirect_string_at_offset): Call
16364         read_indirect_string_at_offset_from.
16365         (read_indirect_line_string_at_offset): New function.
16366         (read_indirect_string): New function comment.
16367         (read_indirect_line_string): New function.
16368         (read_unsigned_leb128): Make it global.
16369         (dwarf2_string_attr): Handle DWARF-5.
16370         (add_include_dir_stub, read_formatted_entries): New functions.
16371         (dwarf_decode_line_header, dump_die_shallow, cu_debug_loc_section):
16372         Handle DWARF-5.
16373         (per_cu_header_read_in): Update read_comp_unit_head caller.
16374         (dwarf2_version): New function.
16375         * symfile.h (struct dwarf2_debug_sections): Add loclists, line_str and
16376         rnglists.
16377         * xcoffread.c (dwarf2_xcoff_names): Update struct dwarf2_debug_sections
16378         fields.
16379
16380 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16381
16382         * dwarf2read.c (abbrev_table_read_table): Read the data only once.
16383
16384 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16385
16386         * dwarf2read.c (dwarf2_ranges_process): New function from
16387         dwarf2_ranges_read.
16388         (dwarf2_ranges_read, dwarf2_record_block_ranges): Use
16389         dwarf2_ranges_process.
16390
16391 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16392
16393         * dwarf2read.c (create_debug_type_hash_table): New function from
16394         create_debug_types_hash_table.
16395         (create_debug_types_hash_table): Call create_debug_type_hash_table.
16396         (create_all_type_units, open_and_init_dwo_file): Update
16397         create_debug_types_hash_table callers.
16398
16399 2017-02-20  Sergio Durigan Junior  <sergiodj@redhat.com>
16400
16401         PR gdb/16188
16402         * fork-child.c (trace_start_error): Fix thinko.  va_end should
16403         refer to 'ap', not 'args'.
16404
16405 2017-02-20  Sergio Durigan Junior  <sergiodj@redhat.com>
16406             Pedro Alves  <palves@redhat.com>
16407
16408         PR gdb/16188
16409         * darwin-nat.c (darwin_ptrace_me): Check if calls to system
16410         calls succeeded.
16411         * fork-child.c (trace_start_error): New function.
16412         (trace_start_error_with_name): Likewise.
16413         * gnu-nat.c (gnu_ptrace_me): Check if call to PTRACE succeeded.
16414         * inf-ptrace.c (inf_ptrace_me): Likewise.
16415         * inferior.h (trace_start_error): New prototype.
16416         (trace_start_error_with_name): Likewise.
16417
16418 2017-02-15  Sergio Durigan Junior  <sergiodj@redhat.com>
16419
16420         PR gdb/21164
16421         * psymtab.c (maintenance_print_psymbols): Verify if 'argv' is not
16422         NULL before using it.
16423         * symmisc.c (maintenance_print_symbols): Likewise.
16424         (maintenance_print_msymbols): Likewise.
16425
16426 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16427
16428         * NEWS: Add record Python bindings entry.
16429
16430 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16431
16432         * Makefile.in (SUBDIR_PYTHON_OBS): Add py-record-btrace.o,
16433         py-record-full.o.
16434         (SUBDIR_PYTHON_SRCS): Add py-record-btrace.c, py-record-full.c.
16435         * python/py-record-btrace.c, python/py-record-btrace.h,
16436         python/py-record-full.c, python/py-record-full.h: New file.
16437         * python/py-record.c: Add include for py-record-btrace.h and
16438         py-record-full.h.
16439         (recpy_method, recpy_format, recpy_goto, recpy_replay_position,
16440         recpy_instruction_history, recpy_function_call_history, recpy_begin,
16441         recpy_end): Use functions from py-record-btrace.c and py-record-full.c.
16442         * python/python-internal.h (PyInt_FromSsize_t, PyInt_AsSsize_t):
16443         New definition.
16444         (gdbpy_initialize_btrace): New export.
16445         * python/python.c (_initialize_python): Add gdbpy_initialize_btrace.
16446
16447 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16448
16449         * Makefile.in (SUBDIR_PYTHON_OBS): Add python/py-record.o.
16450         (SUBDIR_PYTHON_SRCS): Add python/py-record.c.
16451         * python/py-record.c: New file.
16452         * python/python-internal.h (gdbpy_start_recording,
16453         gdbpy_current_recording, gdpy_stop_recording,
16454         gdbpy_initialize_record): New export.
16455         * python/python.c (_initialize_python): Add gdbpy_initialize_record.
16456         (python_GdbMethods): Add gdbpy_start_recording,
16457         gdbpy_current_recording and gdbpy_stop_recording.
16458
16459 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16460
16461         * record-btrace.c (record_btrace_record_method): New function.
16462         (init_record_btrace_ops): Initialize to_record_method.
16463         * record-full.c (record_full_record_method): New function.
16464         (init_record_full_ops, init_record_full_core_ops): Add
16465         record_full_record_method.
16466         * record.h (enum record_method): New enum.
16467         * target-debug.h (target_debug_print_enum_record_method: New define.
16468         * target-delegates.c: Regenerate.
16469         * target.c (target_record_method): New function.
16470         * target.h: Include record.h.
16471         (struct target_ops) <to_record_method>: New field.
16472         (target_record_method): New export.
16473
16474 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16475
16476         * record.h (record_start, record_stop): New export.
16477         * record.c (record_start, record_stop): New function.
16478
16479 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16480
16481         * btrace.c (btrace_fetch): Copy function call segments pointer
16482         into a vector.
16483         (btrace_clear): Clear the vector.
16484         (btrace_find_insn_by_number): Use binary search to find the correct
16485         function call segment.
16486         * btrace.h (brace_fun_p): New typedef.
16487         (struct btrace_thread_info) <functions>: New field.
16488
16489 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16490
16491         * record-btrace.c (btrace_ui_out_decode_error): Move most of it ...
16492         * btrace.c (btrace_decode_error): ... here.  New function.
16493         * btrace.h (btrace_decode_error): New export.
16494
16495 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16496
16497         * btrace.c (ftrace_call_num_insn, btrace_insn_get_error): New function.
16498         (ftrace_new_function, btrace_insn_number, btrace_insn_cmp,
16499         btrace_find_insn_by_number): Remove special case for gaps.
16500         * btrace.h (btrace_insn_get_error): New export.
16501         (btrace_insn_number, btrace_find_insn_by_number): Adjust comment.
16502         * record-btrace.c (btrace_insn_history): Print number for gaps.
16503         (record_btrace_info, record_btrace_goto): Handle gaps.
16504
16505 2017-02-14  Tom Tromey  <tom@tromey.com>
16506
16507         PR python/13598:
16508         * python/python.c (gdbpy_before_prompt_hook): Emit before_prompt
16509         event.
16510         * python/py-evts.c (gdbpy_initialize_py_events): Add
16511         before_prompt registry.
16512         * python/py-events.h (events_object) <before_prompt>: New field.
16513
16514 2017-02-14  Markus Metzger  <markus.t.metzger@intel.com>
16515
16516         * btrace.c (ftrace_new_switch): Preserve up link and flags.
16517
16518 2017-02-13  Luis Machado  <lgustavo@codesourcery.com>
16519
16520         * symfile (_initialize_symfile): Add usage text to the load command's
16521         help text.
16522
16523 2017-02-10  Simon Marchi  <simon.marchi@ericsson.com>
16524
16525         * utils.c (defaulted_query): Don't query on secondary UIs.
16526
16527 2017-02-10  Tom Tromey  <tom@tromey.com>
16528
16529         * rust-lang.c (rust_get_disr_info): Remove unused variable.
16530
16531 2017-02-10  Tom Tromey  <tom@tromey.com>
16532
16533         * python/py-value.c (valpy_richcompare_throw): Remove unnecessary
16534         "cleanup" local.
16535         * python/py-type.c (typy_legacy_template_argument): Remove
16536         unnecessary "cleanup" local.
16537
16538 2017-02-10  Tom Tromey  <tom@tromey.com>
16539
16540         * python/python.c (do_start_initialization): New function, from
16541         _initialize_python.
16542         (_initialize_python): Call do_start_initialization.
16543         * python/py-linetable.c (ltpy_iternext): Use explicit returns, not
16544         goto.
16545
16546 2017-02-10  Tom Tromey  <tom@tromey.com>
16547
16548         * python/py-prettyprint.c (pretty_print_one_value): Use
16549         gdbpy_ref.
16550
16551 2017-02-10  Tom Tromey  <tom@tromey.com>
16552
16553         * python/py-cmd.c (cmdpy_destroyer): Use gdbpy_ref.
16554         * python/py-breakpoint.c (gdbpy_breakpoint_deleted): Use
16555         gdbpy_ref.
16556         * python/py-type.c (field_new): Use gdbpy_ref.
16557         * python/py-symtab.c (symtab_and_line_to_sal_object): Use
16558         gdbpy_ref.
16559         * python/py-progspace.c (pspy_new): Use gdbpy_ref.
16560         (py_free_pspace): Likewise.
16561         (pspace_to_pspace_object): Likewise.
16562         * python/py-objfile.c (objfpy_new): Use gdbpy_ref.
16563         (py_free_objfile): Likewise.
16564         (objfile_to_objfile_object): Likewise.
16565         * python/py-inferior.c (delete_thread_object): Use
16566         gdbpy_ref.
16567         (infpy_read_memory): Likewise.
16568         (py_free_inferior): Likewise.
16569         * python/py-evtregistry.c (create_eventregistry_object): Use
16570         gdbpy_ref.
16571         * python/py-event.c (create_event_object): Use gdbpy_ref.
16572
16573 2017-02-10  Tom Tromey  <tom@tromey.com>
16574
16575         * python/py-ref.h (gdbpy_ref_policy): Now a template.
16576         (gdbpy_ref): Now a template; allow subclasses of PyObject to be
16577         used.
16578         * python/py-arch.c, python/py-bpevent.c, python/py-breakpoint.c,
16579         python/py-cmd.c, python/py-continueevent.c, python/py-event.c,
16580         python/py-exitedevent.c, python/py-finishbreakpoint.c,
16581         python/py-framefilter.c, python/py-function.c,
16582         python/py-inferior.c, python/py-infevents.c,
16583         python/py-linetable.c, python/py-newobjfileevent.c,
16584         python/py-param.c, python/py-prettyprint.c, python/py-ref.h,
16585         python/py-signalevent.c, python/py-stopevent.c,
16586         python/py-symbol.c, python/py-threadevent.c, python/py-type.c,
16587         python/py-unwind.c, python/py-utils.c, python/py-value.c,
16588         python/py-varobj.c, python/py-xmethods.c, python/python.c,
16589         varobj.c: Change gdbpy_ref to gdbpy_ref<>.
16590
16591 2017-02-10  Tom Tromey  <tom@tromey.com>
16592
16593         * ui-out.h (ui_out_emit_type): New class.
16594         (ui_out_emit_tuple, ui_out_emit_list): New typedefs.
16595         * python/py-framefilter.c (py_print_single_arg): Use gdb::optional
16596         and ui_out_emit_tuple.
16597         (enumerate_locals): Likewise.
16598         (py_mi_print_variables, py_print_locals, py_print_args): Use
16599         ui_out_emit_list.
16600         (py_print_frame): Use gdb::optional, ui_out_emit_tuple,
16601         ui_out_emit_list.
16602         * common/gdb_optional.h: New file.
16603
16604 2017-02-10  Martin Galvan  <martingalvan@sourceware.org>
16605
16606         * MAINTAINERS (Write After Approval): Update my e-mail address.
16607
16608 2017-02-10  Martin Galvan  <martingalvan@sourceware.org>
16609
16610         PR gdb/21122
16611         * breakpoint.c (_initialize_breakpoint): Update the help description
16612         of the 'commands' command to indicate that it takes a list argument.
16613
16614 2017-02-09  Simon Marchi  <simon.marchi@ericsson.com>
16615
16616         * interps.c (current_interp_set_logging): Remove "return".
16617
16618 2017-02-09  Gary Benson  <gbenson@redhat.com>
16619
16620         * symtab.c (add_symtab_completions): Prevent NULL pointer
16621         dereference.
16622
16623 2017-02-08  Pedro Alves  <palves@redhat.com>
16624
16625         * interps.c (interp::interp): Remove reference to quiet_p.
16626         (interp_set): Make static.  Remove dead "Switching to" output
16627         code.
16628         (interp_quiet_p, interp_set_quiet): Delete.
16629         (interpreter_exec_cmd): Don't set the interpreter quiet.
16630         * interps.h (interp_quiet_p): Make static.
16631         (class interp) <quiet_p>: Remove field
16632
16633 2017-02-08  Jerome Guitton  <guitton@adacore.com>
16634
16635         * cli/cli-decode.c (find_command_name_length): Make it extern.
16636         * cli/cli-decode.h (find_command_name_length): Declare.
16637         * cli/cli-script.c (command_name_equals, line_first_arg):
16638         New functions.
16639         (process_next_line): Use cli-decode to parse command names.
16640         (build_command_line): Make args a constant pointer.
16641
16642 2017-02-08  Jerome Guitton  <guitton@adacore.com>
16643
16644         * cli-decode.c (lookup_cmd_1, lookup_cmd_composition):
16645         Remove case-insensitive search.
16646
16647 2017-02-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
16648
16649         * sparc-tdep.c (sparc32_gdbarch_init): Do not place a + operator
16650         at the end of the line.  Avoids an ARI warning.
16651
16652 2017-02-06  Luis Machado  <lgustavo@codesourcery.com>
16653
16654         * NEWS: Mention support for record/replay of Intel 64 rdrand and
16655         rdseed instructions.
16656         i386-tdep.c (i386_process_record): Handle Intel 64 rdrand and rseed.
16657
16658 2017-02-06  Ivo Raisr  <ivo.raisr@oracle.com>
16659
16660         PR tdep/20936
16661         Provide and use sparc32 and sparc64 target description XML files.
16662         * features/sparc/sparc32-cp0.xml, features/sparc/sparc32-cpu.xml,
16663         features/sparc/sparc32-fpu.xml: New files for sparc 32-bit.
16664         * features/sparc/sparc64-cp0.xml, features/sparc/sparc64-cpu.xml,
16665         features/sparc/sparc64-fpu.xml: New files for sparc 64-bit.
16666         * features/sparc/sparc32-solaris.xml: New file.
16667         * features/sparc/sparc64-solaris.xml: New file.
16668         * features/sparc/sparc32-solaris.c: Generated.
16669         * features/sparc/sparc64-solaris.c: Generated.
16670         * sparc-tdep.h: Account for differences in target descriptions.
16671         * sparc-tdep.c (sparc32_register_name): Use target provided registers.
16672         (sparc32_register_type): Use target provided registers.
16673         (validate_tdesc_registers): New function.
16674         (sparc32_gdbarch_init): Use tdesc_has_registers.
16675         Set pseudoregister functions.
16676         * sparc64-tdep.c (sparc64_register_name): Use target provided registers.
16677         (sparc64_register_type): Use target provided registers.
16678         (sparc64_init_abi): Set pseudoregister functions.
16679
16680 2017-02-03  Tom Tromey  <tom@tromey.com>
16681
16682         PR rust/21097:
16683         * rust-lang.c (rust_print_type) <TYPE_CODE_UNION>: Handle enums
16684         with a single member.
16685
16686 2017-02-03  Pedro Alves  <palves@redhat.com>
16687
16688         * cli/cli-interp.c (cli_interp_base::cli_interp_base)
16689         (cli_interp_base::~cli_interp_base): New.
16690         (cli_interp): New struct.
16691         (as_cli_interp): Cast the interp itself to cli_interp.
16692         (cli_interpreter_pre_command_loop): Rename to ...
16693         (cli_interp_base::pre_command_loop): ... this.  Remove 'self'
16694         parameter.
16695         (cli_interpreter_init): Rename to ...
16696         (cli_interp::init): ... this.  Remove 'self' parameter.  Use
16697         boolean.  Make extern.
16698         (cli_interpreter_resume): Rename to ...
16699         (cli_interp::resume): ... this.  Remove 'data' parameter.  Make
16700         extern.
16701         (cli_interpreter_suspend): Rename to ...
16702         (cli_interp::suspend): ... this.  Remove 'data' parameter.  Make
16703         extern.
16704         (cli_interpreter_exec): Rename to ...
16705         (cli_interp::exec): ... this.  Remove 'data' parameter.  Make
16706         extern.
16707         (cli_interpreter_supports_command_editing): Rename to ...
16708         (cli_interp_base::supports_command_editing): ... this.  Remove
16709         'interp' parameter.  Make extern.
16710         (cli_ui_out): Rename to ...
16711         (cli_interp::interp_ui_out): ... this.  Remove 'interp' parameter.
16712         Make extern.
16713         (cli_set_logging): Rename to ...
16714         (cli_interp_base::set_logging): ... this.  Remove 'interp'
16715         parameter.  Make extern.
16716         (cli_interp_procs): Delete.
16717         (cli_interp_factory): Adjust to use "new".
16718         * cli/cli-interp.h: Include "interps.h".
16719         (struct cli_interp_base): New struct.
16720         * interps.c (struct interp): Delete.  Fields moved to interps.h.
16721         (interp_new): Delete.
16722         (interp::interp, interp::~interp): New.
16723         (interp_set): Use bool, and return void.  Assume the interpreter
16724         has suspend, init and resume methods, and that the all return
16725         void.
16726         (set_top_level_interpreter): interp_set returns void.
16727         (interp_ui_out): Adapt.
16728         (current_interp_set_logging): Adapt.
16729         (interp_data): Delete.
16730         (interp_pre_command_loop, interp_supports_command_editing): Adapt.
16731         (interp_exec): Adapt.
16732         (top_level_interpreter_data): Delete.
16733         * interps.h (interp_init_ftype, interp_resume_ftype)
16734         (interp_suspend_ftype, interp_exec_ftype)
16735         (interp_pre_command_loop_ftype, interp_ui_out_ftype): Delete.
16736         (class interp): New.
16737         (interp_new): Delete.
16738         (interp_set): Now returns void.  Use bool.
16739         (interp_data, top_level_interpreter_data): Delete.
16740         * mi/mi-common.h: Include interps.h.
16741         (class mi_interp): Inherit from interp.  Define a ctor.  Declare
16742         init, resume, suspect, exec, interp_ui_out, set_logging and
16743         pre_command_loop methods.
16744         * mi/mi-interp.c (as_mi_interp): Cast the interp itself.
16745         (mi_interpreter_init): Rename to ...
16746         (mi_interp::init): ... this.  Remove the 'interp' parameter, use
16747         bool, return void and make extern.  Adjust.
16748         (mi_interpreter_resume): ... Rename to ...
16749         (mi_interp::resume): ... this.  Remove the 'data' parameter,
16750         return void and make extern.  Adjust.
16751         (mi_interpreter_suspend): ... Rename to ...
16752         (mi_interp::suspend): ... this.  Remove the 'data' parameter,
16753         return void and make extern.  Adjust.
16754         (mi_interpreter_exec): ... Rename to ...
16755         (mi_interp::exec): ... this.  Remove the 'data' parameter and make
16756         extern.  Adjust.
16757         (mi_interpreter_pre_command_loop): ... Rename to ...
16758         (mi_interp::pre_command_loop): ... this.  Remove the 'self'
16759         parameter and make extern.
16760         (mi_on_normal_stop_1): Adjust.
16761         (mi_ui_out): Rename to ...
16762         (mi_interp::interp_ui_out): ... this.  Remove the 'interp'
16763         parameter and make extern.  Adjust.
16764         (mi_set_logging): Rename to ...
16765         (mi_interp::set_logging): ... this.  Remove the 'interp'
16766         parameter and make extern.  Adjust.
16767         (mi_interp_procs): Delete.
16768         (mi_interp_factory): Adjust to use 'new'.
16769         * mi/mi-main.c (mi_cmd_gdb_exit, captured_mi_execute_command)
16770         (mi_print_exception, mi_execute_command, mi_load_progress):
16771         Adjust.
16772         * tui/tui-interp.c (tui_interp): New class.
16773         (as_tui_interp): Return a tui_interp pointer.
16774         (tui_on_normal_stop, tui_on_signal_received)
16775         (tui_on_end_stepping_range, tui_on_signal_exited, tui_on_exited)
16776         (tui_on_no_history, tui_on_user_selected_context_changed): Adjust
16777         to use interp::interp_ui_out.
16778         (tui_init): Rename to ...
16779         (tui_interp::init): ... this.  Remove the 'self' parameter, use
16780         bool, return void and make extern.  Adjust.
16781         (tui_resume): Rename to ...
16782         (tui_interp::resume): ... this.  Remove the 'data' parameter,
16783         return void and make extern.  Adjust.
16784         (tui_suspend): Rename to ...
16785         (tui_interp::suspend): ... this.  Remove the 'data' parameter,
16786         return void and make extern.  Adjust.
16787         (tui_ui_out): Rename to ...
16788         (tui_interp::interp_ui_out): ... this.  Remove the 'self'
16789         parameter, and make extern.  Adjust.
16790         (tui_exec): Rename to ...
16791         (tui_interp::exec): ... this.  Remove the 'data' parameter and
16792         make extern.
16793         (tui_interp_procs): Delete.
16794         (tui_interp_factory): Use "new".
16795
16796 2017-02-02  Tom Tromey  <tom@tromey.com>
16797
16798         * rust-exp.y (ends_raw_string, space_then_number)
16799         (rust_identifier_start_p): Return bool.
16800         * rust-lang.c (rust_tuple_type_p, rust_underscore_fields)
16801         (rust_tuple_struct_type_p, rust_tuple_variant_type_p)
16802         (rust_slice_type_p, rust_range_type_p, rust_u8_type_p)
16803         (rust_chartype_p): Return bool.
16804         (val_print_struct, rust_print_struct_def, rust_print_type):
16805         Update.
16806         * rust-lang.h (rust_tuple_type_p, rust_tuple_struct_type_p):
16807         Return bool.
16808
16809 2017-02-02  Tom Tromey  <tom@tromey.com>
16810
16811         * rust-lang.c: Reindent.
16812
16813 2017-02-02  Tom Tromey  <tom@tromey.com>
16814
16815         * rust-lang.h (rust_crate_for_block): Update.
16816         * rust-lang.c (rust_crate_for_block): Return std::string.
16817         (rust_get_disr_info): Use std:;string, not
16818         gdb::unique_xmalloc_ptr.
16819         * rust-exp.y (crate_name): Update.
16820
16821 2017-02-02  Pedro Alves  <palves@redhat.com>
16822
16823         * disasm-selftests.c (print_one_insn_test): Move the "verbose"
16824         field out of gdb_disassembler_test and make it static.
16825
16826 2017-02-02  Pedro Alves  <palves@redhat.com>
16827
16828         * mi/mi-common.h (struct mi_interp): Delete the mi2_interp,
16829         mi1_interp and mi_interp fields.
16830
16831 2017-02-02  Pedro Alves  <palves@redhat.com>
16832
16833         * cli/cli-interp.c (struct saved_output_files, saved_output):
16834         Moved from cli/cli-logging.c.
16835         (cli_set_logging): New function.
16836         (cli_interp_procs): Install cli_set_logging.
16837         * cli/cli-interp.h (make_logging_output, cli_set_logging):
16838         Declare.
16839         * cli/cli-logging.c (struct saved_output_files, saved_output):
16840         Moved to cli/cli-interp.c.
16841         (pop_output_files): Don't save outputs here.
16842         (make_logging_output): New function.
16843         (handle_redirections): Don't build tee nor save previous outputs
16844         here.
16845         * interps.c (current_interp_set_logging): Change prototype.
16846         Assume there's always a set_logging_proc method installed.
16847         * interps.h (interp_set_logging_ftype): Change prototype.
16848         (current_interp_set_logging): Change prototype and adjust comment.
16849         * mi/mi-interp.c (mi_set_logging): Change protototype.  Adjust to
16850         use make_logging_output.
16851         * tui/tui-interp.c (tui_interp_procs): Install cli_set_logging.
16852 2017-02-02  Pedro Alves  <palves@redhat.com>
16853
16854         * cli/cli-logging.c (maybe_warn_already_logging): New factored out
16855         from ...
16856         (set_logging_overwrite): ... here.
16857         (logging_no_redirect_file): Delete.
16858         (set_logging_redirect): Don't handle redirection on the fly.
16859         Instead warn that "logging off" / "logging on" is necessary.
16860         (pop_output_files): Delete references to logging_no_redirect_file.
16861         (show_logging_command): Always speak in terms of what will happen
16862         once logging is reenabled.
16863
16864 2017-02-02  Pedro Alves  <palves@redhat.com>
16865
16866         * disasm.h (gdb_pretty_print_disassembler): Tweak intro comment.
16867
16868 2017-02-02  Pedro Alves  <palves@redhat.com>
16869
16870         * disasm.c (gdb_pretty_print_insn): Rename to ...
16871         (gdb_pretty_print_disassembler::pretty_print_insn): ... this.
16872         Remove gdbarch parameter.  Adapt to clear the object's buffers
16873         instead of allocating new buffers, and to print using the object's
16874         gdb_disassembler instead of calling gdb_print_insn.
16875         (dump_insns): Use gdb_pretty_print_disassembler.
16876         * disasm.h (gdb_pretty_print_insn): Delete declaration.
16877         (gdb_pretty_print_disassembler): New class.
16878         * record-btrace.c (btrace_insn_history): Use
16879         gdb_pretty_print_disassembler.
16880
16881 2017-02-02  Pedro Alves  <palves@redhat.com>
16882
16883         * ada-lang.c (type_as_string): Use string_file.
16884         * ada-valprint.c (ada_print_floating): Use string_file.
16885         * ada-varobj.c (ada_varobj_scalar_image)
16886         (ada_varobj_get_value_image): Use string_file.
16887         * aix-thread.c (aix_thread_extra_thread_info): Use string_file.
16888         * arm-tdep.c (_initialize_arm_tdep): Use string_printf.
16889         * breakpoint.c (update_inserted_breakpoint_locations)
16890         (insert_breakpoint_locations, reattach_breakpoints)
16891         (print_breakpoint_location, print_one_detail_ranged_breakpoint)
16892         (print_it_watchpoint): Use string_file.
16893         (save_breakpoints): Use stdio_file.
16894         * c-exp.y (oper): Use string_file.
16895         * cli/cli-logging.c (set_logging_redirect): Use ui_file_up and
16896         tee_file.
16897         (pop_output_files): Use delete.
16898         (handle_redirections): Use stdio_file and tee_file.
16899         * cli/cli-setshow.c (do_show_command): Use string_file.
16900         * compile/compile-c-support.c (c_compute_program): Use
16901         string_file.
16902         * compile/compile-c-symbols.c (generate_vla_size): Take a
16903         'string_file &' instead of a 'ui_file *'.
16904         (generate_c_for_for_one_variable): Take a 'string_file &' instead
16905         of a 'ui_file *'.  Use string_file.
16906         (generate_c_for_variable_locations): Take a 'string_file &'
16907         instead of a 'ui_file *'.
16908         * compile/compile-internal.h (generate_c_for_for_one_variable):
16909         Take a 'string_file &' instead of a 'ui_file *'.
16910         * compile/compile-loc2c.c (push, pushf, unary, binary)
16911         (print_label, pushf_register_address, pushf_register)
16912         (do_compile_dwarf_expr_to_c): Take a 'string_file &' instead of a
16913         'ui_file *'.  Adjust.
16914         * compile/compile.c (compile_to_object): Use string_file.
16915         * compile/compile.h (compile_dwarf_expr_to_c)
16916         (compile_dwarf_bounds_to_c): Take a 'string_file &' instead of a
16917         'ui_file *'.
16918         * cp-support.c (inspect_type): Use string_file and obstack_copy0.
16919         (replace_typedefs_qualified_name): Use string_file and
16920         obstack_copy0.
16921         * disasm.c (gdb_pretty_print_insn): Use string_file.
16922         (gdb_disassembly): Adjust reference the null_stream global.
16923         (do_ui_file_delete): Delete.
16924         (gdb_insn_length): Use null_stream.
16925         * dummy-frame.c (maintenance_print_dummy_frames): Use stdio_file.
16926         * dwarf2loc.c (dwarf2_compile_property_to_c)
16927         (locexpr_generate_c_location, loclist_generate_c_location): Take a
16928         'string_file &' instead of a 'ui_file *'.
16929         * dwarf2loc.h (dwarf2_compile_property_to_c): Likewise.
16930         * dwarf2read.c (do_ui_file_peek_last): Delete.
16931         (dwarf2_compute_name): Use string_file.
16932         * event-top.c (gdb_setup_readline): Use stdio_file.
16933         * gdbarch.sh (verify_gdbarch): Use string_file.
16934         * gdbtypes.c (safe_parse_type): Use null_stream.
16935         * guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Use
16936         string_file.
16937         * guile/scm-disasm.c (gdbscm_print_insn_from_port): Take a
16938         'string_file *' instead of a 'ui_file *'.
16939         (gdbscm_arch_disassemble): Use string_file.
16940         * guile/scm-frame.c (frscm_print_frame_smob): Use string_file.
16941         * guile/scm-ports.c (class ioscm_file_port): Now a class that
16942         inherits from ui_file.
16943         (ioscm_file_port_delete, ioscm_file_port_rewind)
16944         (ioscm_file_port_put): Delete.
16945         (ioscm_file_port_write): Rename to ...
16946         (ioscm_file_port::write): ... this.  Remove file_port_magic
16947         checks.
16948         (ioscm_file_port_new): Delete.
16949         (ioscm_with_output_to_port_worker): Use ioscm_file_port and
16950         ui_file_up.
16951         * guile/scm-type.c (tyscm_type_name): Use string_file.
16952         * guile/scm-value.c (vlscm_print_value_smob, gdbscm_value_print):
16953         Use string_file.
16954         * infcmd.c (print_return_value_1): Use string_file.
16955         * infrun.c (print_target_wait_results): Use string_file.
16956         * language.c (add_language): Use string_file.
16957         * location.c (explicit_to_string_internal): Use string_file.
16958         * main.c (captured_main_1): Use null_file.
16959         * maint.c (maintenance_print_architecture): Use stdio_file.
16960         * mi/mi-cmd-stack.c (list_arg_or_local): Use string_file.
16961         * mi/mi-common.h (struct mi_interp) <out, err, log, targ,
16962         event_channel>: Change type to mi_console_file pointer.
16963         * mi/mi-console.c (mi_console_file_fputs, mi_console_file_flush)
16964         (mi_console_file_delete): Delete.
16965         (struct mi_console_file): Delete.
16966         (mi_console_file_magic): Delete.
16967         (mi_console_file_new): Delete.
16968         (mi_console_file::mi_console_file): New.
16969         (mi_console_file_delete): Delete.
16970         (mi_console_file_fputs): Delete.
16971         (mi_console_file::write): New.
16972         (mi_console_raw_packet): Delete.
16973         (mi_console_file::flush): New.
16974         (mi_console_file_flush): Delete.
16975         (mi_console_set_raw): Rename to ...
16976         (mi_console_file::set_raw): ... this.
16977         * mi/mi-console.h (class mi_console_file): New class.
16978         (mi_console_file_new, mi_console_set_raw): Delete.
16979         * mi/mi-interp.c (mi_interpreter_init): Use mi_console_file.
16980         (mi_set_logging): Use delete and tee_file.  Adjust.
16981         * mi/mi-main.c (output_register): Use string_file.
16982         (mi_cmd_data_evaluate_expression): Use string_file.
16983         (mi_cmd_data_read_memory): Use string_file.
16984         (mi_cmd_execute, print_variable_or_computed): Use string_file.
16985         * mi/mi-out.c (mi_ui_out::main_stream): New.
16986         (mi_ui_out::rewind): Use main_stream and
16987         string_file.
16988         (mi_ui_out::put): Use main_stream and string_file.
16989         (mi_ui_out::mi_ui_out): Remove 'stream' parameter.
16990         Allocate a 'string_file' instead.
16991         (mi_out_new): Don't allocate a mem_fileopen stream here.
16992         * mi/mi-out.h (mi_ui_out::mi_ui_out): Remove 'stream' parameter.
16993         (mi_ui_out::main_stream): Declare method.
16994         * printcmd.c (eval_command): Use string_file.
16995         * psymtab.c (maintenance_print_psymbols): Use stdio_file.
16996         * python/py-arch.c (archpy_disassemble): Use string_file.
16997         * python/py-breakpoint.c (bppy_get_commands): Use string_file.
16998         * python/py-frame.c (frapy_str): Use string_file.
16999         * python/py-framefilter.c (py_print_type, py_print_single_arg):
17000         Use string_file.
17001         * python/py-type.c (typy_str): Use string_file.
17002         * python/py-unwind.c (unwind_infopy_str): Use string_file.
17003         * python/py-value.c (valpy_str): Use string_file.
17004         * record-btrace.c (btrace_insn_history): Use string_file.
17005         * regcache.c (regcache_print): Use stdio_file.
17006         * reggroups.c (maintenance_print_reggroups): Use stdio_file.
17007         * remote.c (escape_buffer): Use string_file.
17008         * rust-lang.c (rust_get_disr_info): Use string_file.
17009         * serial.c (serial_open_ops_1): Use stdio_file.
17010         (do_serial_close): Use delete.
17011         * stack.c (print_frame_arg): Use string_file.
17012         (print_frame_args): Remove local mem_fileopen stream, not used.
17013         (print_frame): Use string_file.
17014         * symmisc.c (maintenance_print_symbols): Use stdio_file.
17015         * symtab.h (struct symbol_computed_ops) <generate_c_location>:
17016         Take a 'string_file *' instead of a 'ui_file *'.
17017         * top.c (new_ui): Use stdio_file and stderr_file.
17018         (free_ui): Use delete.
17019         (execute_command_to_string): Use string_file.
17020         (quit_confirm): Use string_file.
17021         * tracepoint.c (collection_list::append_exp): Use string_file.
17022         * tui/tui-disasm.c (tui_disassemble): Use string_file.
17023         * tui/tui-file.c: Don't include "ui-file.h".
17024         (enum streamtype, struct tui_stream): Delete.
17025         (tui_file_new, tui_file_delete, tui_fileopen, tui_sfileopen)
17026         (tui_file_isatty, tui_file_rewind, tui_file_put): Delete.
17027         (tui_file::tui_file): New method.
17028         (tui_file_fputs): Delete.
17029         (tui_file_get_strbuf): Delete.
17030         (tui_file::puts): New method.
17031         (tui_file_adjust_strbuf): Delete.
17032         (tui_file_flush): Delete.
17033         (tui_file::flush): New method.
17034         * tui/tui-file.h: Tweak intro comment.
17035         Include ui-file.h.
17036         (tui_fileopen, tui_sfileopen, tui_file_get_strbuf)
17037         (tui_file_adjust_strbuf): Delete declarations.
17038         (class tui_file): New class.
17039         * tui/tui-io.c (tui_initialize_io): Use tui_file.
17040         * tui/tui-regs.c (tui_restore_gdbout): Use delete.
17041         (tui_register_format): Use string_stream.
17042         * tui/tui-stack.c (tui_make_status_line): Use string_file.
17043         (tui_get_function_from_frame): Use string_file.
17044         * typeprint.c (type_to_string): Use string_file.
17045         * ui-file.c (struct ui_file, ui_file_magic, ui_file_new): Delete.
17046         (null_stream): New global.
17047         (ui_file_delete): Delete.
17048         (ui_file::ui_file): New.
17049         (null_file_isatty): Delete.
17050         (ui_file::~ui_file): New.
17051         (null_file_rewind): Delete.
17052         (ui_file::printf): New.
17053         (null_file_put): Delete.
17054         (null_file_flush): Delete.
17055         (ui_file::putstr): New.
17056         (null_file_write): Delete.
17057         (ui_file::putstrn): New.
17058         (null_file_read): Delete.
17059         (ui_file::putc): New.
17060         (null_file_fputs): Delete.
17061         (null_file_write_async_safe): Delete.
17062         (ui_file::vprintf): New.
17063         (null_file_delete): Delete.
17064         (null_file::write): New.
17065         (null_file_fseek): Delete.
17066         (null_file::puts): New.
17067         (ui_file_data): Delete.
17068         (null_file::write_async_safe): New.
17069         (gdb_flush, ui_file_isatty): Adjust.
17070         (ui_file_put, ui_file_rewind): Delete.
17071         (ui_file_write): Adjust.
17072         (ui_file_write_for_put): Delete.
17073         (ui_file_write_async_safe, ui_file_read): Adjust.
17074         (ui_file_fseek): Delete.
17075         (fputs_unfiltered): Adjust.
17076         (set_ui_file_flush, set_ui_file_isatty, set_ui_file_rewind)
17077         (set_ui_file_put, set_ui_file_write, set_ui_file_write_async_safe)
17078         (set_ui_file_read, set_ui_file_fputs, set_ui_file_fseek)
17079         (set_ui_file_data): Delete.
17080         (string_file::~string_file, string_file::write)
17081         (struct accumulated_ui_file, do_ui_file_xstrdup, ui_file_xstrdup)
17082         (do_ui_file_as_string, ui_file_as_string): Delete.
17083         (do_ui_file_obsavestring, ui_file_obsavestring): Delete.
17084         (struct mem_file): Delete.
17085         (mem_file_new): Delete.
17086         (stdio_file::stdio_file): New.
17087         (mem_file_delete): Delete.
17088         (stdio_file::stdio_file): New.
17089         (mem_fileopen): Delete.
17090         (stdio_file::~stdio_file): New.
17091         (mem_file_rewind): Delete.
17092         (stdio_file::set_stream): New.
17093         (mem_file_put): Delete.
17094         (stdio_file::open): New.
17095         (mem_file_write): Delete.
17096         (stdio_file_magic, struct stdio_file): Delete.
17097         (stdio_file_new, stdio_file_delete, stdio_file_flush): Delete.
17098         (stdio_file::flush): New.
17099         (stdio_file_read): Rename to ...
17100         (stdio_file::read): ... this.  Adjust.
17101         (stdio_file_write): Rename to ...
17102         (stdio_file::write): ... this.  Adjust.
17103         (stdio_file_write_async_safe): Rename to ...
17104         (stdio_file::write_async_safe) ... this.  Adjust.
17105         (stdio_file_fputs): Rename to ...
17106         (stdio_file::puts) ... this.  Adjust.
17107         (stdio_file_isatty): Delete.
17108         (stdio_file_fseek): Delete.
17109         (stdio_file::isatty): New.
17110         (stderr_file_write): Rename to ...
17111         (stderr_file::write) ... this.  Adjust.
17112         (stderr_file_fputs): Rename to ...
17113         (stderr_file::puts) ... this.  Adjust.
17114         (stderr_fileopen, stdio_fileopen, gdb_fopen): Delete.
17115         (stderr_file::stderr_file): New.
17116         (tee_file_magic): Delete.
17117         (struct tee_file): Delete.
17118         (tee_file::tee_file): New.
17119         (tee_file_new): Delete.
17120         (tee_file::~tee_file): New.
17121         (tee_file_delete): Delete.
17122         (tee_file_flush): Rename to ...
17123         (tee_file::flush): ... this.  Adjust.
17124         (tee_file_write): Rename to ...
17125         (tee_file::write): ... this.  Adjust.
17126         (tee_file::write_async_safe): New.
17127         (tee_file_fputs): Rename to ...
17128         (tee_file::puts): ... this.  Adjust.
17129         (tee_file_isatty): Rename to ...
17130         (tee_file::isatty): ... this.  Adjust.
17131         * ui-file.h (struct obstack, struct ui_file): Don't
17132         forward-declare.
17133         (ui_file_new, ui_file_flush_ftype, set_ui_file_flush)
17134         (ui_file_write_ftype)
17135         (set_ui_file_write, ui_file_fputs_ftype, set_ui_file_fputs)
17136         (ui_file_write_async_safe_ftype, set_ui_file_write_async_safe)
17137         (ui_file_read_ftype, set_ui_file_read, ui_file_isatty_ftype)
17138         (set_ui_file_isatty, ui_file_rewind_ftype, set_ui_file_rewind)
17139         (ui_file_put_method_ftype, ui_file_put_ftype, set_ui_file_put)
17140         (ui_file_delete_ftype, set_ui_file_data, ui_file_fseek_ftype)
17141         (set_ui_file_fseek): Delete.
17142         (ui_file_data, ui_file_delete, ui_file_rewind)
17143         (struct ui_file): New.
17144         (ui_file_up): New.
17145         (class null_file): New.
17146         (null_stream): Declare.
17147         (ui_file_write_for_put, ui_file_put): Delete.
17148         (ui_file_xstrdup, ui_file_as_string, ui_file_obsavestring):
17149         Delete.
17150         (ui_file_fseek, mem_fileopen, stdio_fileopen, stderr_fileopen)
17151         (gdb_fopen, tee_file_new): Delete.
17152         (struct string_file): New.
17153         (struct stdio_file): New.
17154         (stdio_file_up): New.
17155         (struct stderr_file): New.
17156         (class tee_file): New.
17157         * ui-out.c (ui_out::field_stream): Take a 'string_file &' instead
17158         of a 'ui_file *'.  Adjust.
17159         * ui-out.h (class ui_out) <field_stream>: Likewise.
17160         * utils.c (do_ui_file_delete, make_cleanup_ui_file_delete)
17161         (null_stream): Delete.
17162         (error_stream): Take a 'string_file &' instead of a 'ui_file *'.
17163         Adjust.
17164         * utils.h (struct ui_file): Delete forward declaration..
17165         (make_cleanup_ui_file_delete, null_stream): Delete declarations.
17166         (error_stream): Take a 'string_file &' instead of a
17167         'ui_file *'.
17168         * varobj.c (varobj_value_get_print_value): Use string_file.
17169         * xtensa-tdep.c (xtensa_verify_config): Use string_file.
17170         * gdbarch.c: Regenerate.
17171
17172 2017-02-02  Pedro Alves  <palves@redhat.com>
17173
17174         * disasm.c (gdb_disassembler::pretty_print_insn): Rename to...
17175         (gdb_pretty_print_insn): ... this.  Now a free function.  Add back
17176         a 'gdbarch' parameter.  Allocate a mem_fileopen stream here.
17177         Adjust to call gdb_print_insn instead of
17178         gdb_disassembler::print_insn.
17179         (dump_insns, do_mixed_source_and_assembly_deprecated)
17180         (do_mixed_source_and_assembly, do_assembly_only): Add back a
17181         'gdbarch' parameter.  Remove gdb_disassembler parameter.
17182         (gdb_disassembly): Don't allocate a gdb_disassembler here.
17183         * disasm.h (gdb_disassembler::pretty_print_insn): Delete
17184         declaration.
17185         (gdb_pretty_print_insn): Re-add declaration.
17186         * record-btrace.c (btrace_insn_history): Don't allocate a
17187         gdb_disassembler here.  Adjust to call gdb_pretty_print_insn.
17188
17189 2017-02-01  Simon Marchi  <simon.marchi@polymtl.ca>
17190
17191         * disasm.h (gdb_disassembly): Remove file_string parameter.
17192         * disasm.c (gdb_disassembly): Likewise.
17193         * cli/cli-cmds.c (print_disassembly): Adapt.
17194         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Likewise.
17195         * stack.c (do_gdb_disassembly): Likewise.
17196
17197 2017-02-01  Andreas Arnez  <arnez@linux.vnet.ibm.com>
17198
17199         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): For
17200         DWARF_VALUE_LITERAL, no longer ignore the offset on big-endian
17201         targets.  And if the implicit value is longer than needed, extract
17202         the first bytes instead of the "least significant" ones.
17203
17204 2017-02-01  Markus Metzger  <markus.t.metzger@intel.com>
17205
17206         * btrace.c (btrace_enable): Do not call btrace_add_pc for
17207         BTRACE_FORMAT_PT or if can_access_registers_ptid returns false.
17208         (btrace_fetch): Assert can_access_registers_ptid.
17209         * record-btrace.c (require_btrace_thread, record_btrace_info): Call
17210         validate_registers_access.
17211
17212 2017-02-01  Markus Metzger  <markus.t.metzger@intel.com>
17213
17214         * gdbthread.h (can_access_registers_ptid): New.
17215         * thread.c (can_access_registers_ptid): New.
17216
17217 2017-02-01  Pedro Alves  <palves@redhat.com>
17218
17219         * i386-tdep.c (i386_fast_tracepoint_valid_at): Use gdb_insn_length.
17220
17221 2017-01-31  Pedro Alves  <palves@redhat.com>
17222
17223         * mi/mi-interp.c (mi_breakpoint_created, mi_breakpoint_modified):
17224         Fix typos.
17225
17226 2017-01-31  Pedro Alves  <palves@redhat.com>
17227
17228         * stack.c (print_frame_args): Remove local mem_fileopen stream,
17229         not used.
17230
17231 2017-01-31  Pedro Alves  <palves@redhat.com>
17232
17233         * varobj.c (varobj_value_get_print_value): Remove xstrdup call.
17234
17235 2017-01-31  Pedro Alves  <palves@redhat.com>
17236
17237         * common/scoped_restore.h
17238         (scoped_restore_tmpl::scoped_restore_tmpl): Template on T2, and
17239         change the value's parameter type to T2.
17240         (make_scoped_restore): Likewise.
17241
17242 2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
17243             Richard Henderson  <rth@redhat.com>
17244
17245         * amd64-linux-nat.c (PTRACE_ARCH_PRCTL): New define.
17246         (amd64_linux_fetch_inferior_registers): Add case to fetch FS_BASE
17247         GS_BASE for older kernels.
17248         (amd64_linux_store_inferior_registers): Add case to store FS_BASE
17249         GS_BASE for older kernels.
17250         * amd64-linux-tdep.c (amd64_linux_gregset_reg_offset): Add FS_BASE
17251         and GS_BASE to the offset table.
17252         (amd64_linux_register_reggroup_p): Add FS_BASE and GS_BASE to the
17253         system register group.
17254         * amd64-nat.c (amd64_native_gregset_reg_offset): Implements case
17255         for older kernels.
17256         * amd64-tdep.c (amd64_init_abi): Add segment registers for the
17257         amd64 ABI.
17258         * amd64-tdep.h (amd64_regnum): Add AMD64_FSBASE_REGNUM and
17259         AMD64_GSBASE_REGNUM.
17260         (AMD64_NUM_REGS): Set to AMD64_GSBASE_REGNUM + 1.
17261         * features/Makefile (amd64-linux.dat, amd64-avx-linux.dat)
17262         (amd64-mpx-linux.dat, amd64-avx512-linux.dat, x32-linux.dat)
17263         (x32-avx-linux.dat, x32-avx512-linux.dat): Add
17264         i386/64bit-segments.xml in those rules.
17265         * features/i386/64bit-segments.xml: New file.
17266         * features/i386/amd64-avx-mpx-linux.xml: Add 64bit-segments.xml.
17267         * features/i386/amd64-avx-linux.xml: Add 64bit-segments.xml.
17268         * features/i386/amd64-avx512-linux.xml: Add 64bit-segments.xml.
17269         * features/i386/amd64-mpx-linux.xml: Add 64bit-segments.xml.
17270         * features/i386/x32-avx512-linux.xml: Add 64bit-segments.xml.
17271         * features/i386/x32-avx-linux.xml: Add 64bit-segments.xml.
17272         * features/i386/amd64-linux.xml: Add 64bit-segments.xml.
17273         * features/i386/amd64-avx-linux.c: Regenerated.
17274         * features/i386/amd64-avx-mpx-linux.c: Regenerated.
17275         * features/i386/amd64-avx-mpx.c: Regenerated.
17276         * features/i386/amd64-avx512-linux.c: Regenerated.
17277         * features/i386/amd64-linux.c: Regenerated.
17278         * features/i386/amd64-mpx-linux.c: Regenerated.
17279         * features/i386/i386-avx-mpx-linux.c: Regenerated.
17280         * features/i386/i386-avx-mpx.c: Regenerated.
17281         * features/i386/x32-avx-linux.c: Regenerated.
17282         * features/i386/x32-avx512-linux.c: Regenerated.
17283         * regformats/i386/amd64-avx-linux.dat: Regenerated.
17284         * regformats/i386/amd64-avx-mpx-linux.dat: Regenerated.
17285         * regformats/i386/amd64-avx512-linux.dat: Regenerated.
17286         * regformats/i386/amd64-linux.dat: Regenerated.
17287         * regformats/i386/amd64-mpx-linux.dat: Regenerated.
17288         * regformats/i386/x32-avx-linux.dat: Regenerated.
17289         * regformats/i386/x32-avx512-linux.dat: Regenerated.
17290         * regformats/i386/x32-linux.dat: Regenerated.
17291
17292 2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
17293
17294         * amd64-linux-tdep.h (AMD64_LINUX_ORIG_RAX_REGNUM):
17295         Set to AMD64_NUM_REGS.
17296
17297 2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
17298
17299         * amd64-nat.c (amd64_native_gregset_reg_offset): Simplify logic
17300         that checks validity of a register number.
17301
17302 2017-01-27  Kees Cook  <keescook@google.com>
17303
17304         * gdb/arm-linux-nat.c (arm_linux_fetch_inferior_registers): Call
17305         fetch_fpregs if target has fpa registers.
17306         (arm_linux_store_inferior_registers): Call store_fpregs if target
17307         has fpa registers.
17308
17309 2017-01-26  Andreas Arnez  <arnez@linux.vnet.ibm.com>
17310
17311         * cris-tdep.c (cris_gdbarch_init): Remove check for
17312         info.byte_order and force it to BFD_ENDIAN_LITTLE.
17313
17314 2017-01-26  Antoine Tremblay  <antoine.tremblay@ericsson.com>
17315
17316         * corelow.c (get_core_register_section): Check for regset
17317         existence before checking for REGSET_VARIABLE_SIZE.
17318
17319 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17320             Pedro Alves  <palves@redhat.com>
17321
17322         PR gdb/20939
17323         * disasm.c (gdb_disassembler::dis_asm_memory_error): Don't
17324         call memory_error, save memaddr instead.
17325         (gdb_disassembler::print_insn): If gdbarch_print_insn returns
17326         negative, cal memory_error.
17327         * disasm.h (gdb_disassembler) <m_err_memaddr>: New field.
17328
17329 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17330
17331         * disasm-selftests.c (memory_error_test): New function.
17332         (_initialize_disasm_selftests): Register memory_error_test.
17333
17334 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17335
17336         * Makefile.in (SFILES): Add disasm-selftests.c and
17337         selftest-arch.c.
17338         (COMMON_OBS): Add disasm-selftests.o and selftest-arch.o.
17339         * disasm-selftests.c: New file.
17340         * selftest-arch.c: New file.
17341         * selftest-arch.h: New file.
17342
17343 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17344
17345         * mep-tdep.c (mep_gdb_print_insn): Set info->arch
17346         to bfd_arch_mep.  Don't return 0 if section is not
17347         found.  Call print_insn_mep.
17348
17349 2017-01-26  Pedro Alves  <palves@redhat.com>
17350             Yao Qi  <yao.qi@linaro.org>
17351
17352         * arm-tdep.c: Include "disasm.h".
17353         (gdb_print_insn_arm): Update code to get gdbarch.
17354         * disasm.c (dis_asm_read_memory): Change it to
17355         gdb_disassembler::dis_asm_read_memory.
17356         (dis_asm_memory_error): Likewise.
17357         (dis_asm_print_address): Likewise.
17358         (gdb_pretty_print_insn): Change it to
17359         gdb_disassembler::pretty_print_insn.
17360         (dump_insns): Add one argument gdb_disassemlber.  All
17361         callers updated.
17362         (do_mixed_source_and_assembly_deprecated): Likewise.
17363         (do_mixed_source_and_assembly): Likewise.
17364         (do_assembly_only): Likewise.
17365         (gdb_disassembler::gdb_disassembler): New.
17366         (gdb_disassembler::print_insn): New.
17367         * disasm.h (class gdb_disassembler): New.
17368         (gdb_pretty_print_insn): Remove declaration.
17369         (gdb_disassemble_info): Likewise.
17370         * guile/scm-disasm.c (class gdbscm_disassembler): New.
17371         (gdbscm_disasm_read_memory_worker): Update.
17372         (gdbscm_disasm_read_memory): Update.
17373         (gdbscm_disasm_memory_error): Remove.
17374         (gdbscm_disasm_print_address): Remove.
17375         (gdbscm_disassembler::gdbscm_disassembler): New.
17376         (gdbscm_print_insn_from_port): Update.
17377         * mips-tdep.c: Include disasm.h.
17378         (gdb_print_insn_mips): Update code to get gdbarch.
17379         * record-btrace.c (btrace_insn_history): Update.
17380         * spu-tdep.c: Include disasm.h.
17381         (struct spu_dis_asm_data): Remove.
17382         (struct spu_dis_asm_info): New.
17383         (spu_dis_asm_print_address): Use spu_dis_asm_info to get
17384         SPU id.
17385         (gdb_print_insn_spu): Cast disassemble_info to
17386         spu_dis_asm_info.
17387
17388 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17389
17390         * disasm.c (do_ui_file_delete): Delete.
17391         (gdb_insn_length): Move code creating stream to ...
17392         * utils.c (null_stream): ... here.  New function.
17393         * utils.h (null_stream): Declare.
17394
17395 2017-01-23  Simon Marchi  <simon.marchi@polymtl.ca>
17396
17397         * python/py-inferior.c (find_thread_object): Return directly
17398         from the loop.  Remove "found" variable.
17399
17400 2017-01-21  Joel Brobecker  <brobecker@adacore.com>
17401
17402         GDB 7.12.1 released.
17403
17404 2017-01-20  Simon Marchi  <simon.marchi@ericsson.com>
17405
17406         * python/py-function.c (fnpy_call): Reorder declarations to have
17407         the gdbpy_enter object declared first.
17408         * python/py-xmethods.c (gdbpy_get_xmethod_arg_types): Likewise.
17409
17410 2017-01-20  Simon Marchi  <simon.marchi@ericsson.com>
17411
17412         PR python/21068
17413         * python/python-internal.h (PyMem_RawMalloc): Define for
17414         Python < 3.4.
17415         * python/py-gdb-readline.c (gdbpy_readline_wrapper): Use
17416         PyMem_RawMalloc instead of PyMem_Malloc.
17417
17418 2017-01-20  Mike Wrighton  <mike_wrighton@codesourcery.com>
17419             Luis Machado  <lgustavo@codesourcery.com>
17420
17421         * NEWS (New commands): Mention flash-erase.
17422         (New MI commands): Mention target-flash-erase.
17423         * mi/mi-cmds.c (mi_cmd_target_flash_erase): Add target-flash-erase MI
17424         command.
17425         * mi/mi-cmds.h (mi_cmd_target_flash_erase): New declaration.
17426         * mi/mi-main.c (mi_cmd_target_flash_erase): New function.
17427         * target.c (flash_erase_command): New function.
17428         (initialize_targets): Add new flash-erase command.
17429         * target.h (flash_erase_command): New declaration.
17430
17431 2017-01-20  Joel Brobecker  <brobecker@adacore.com>
17432
17433         * nat/linux-ptrace.c: Only include <sys/procfs.h> if
17434         HAVE_SYS_PROCFS_H is defined.
17435
17436 2017-01-18  Alan Hayward  <alan.hayward@arm.com>
17437
17438         * remote.c (struct cached_reg): Change data into a pointer.
17439         * (stop_reply_dtr): Free data pointers before deleting vector.
17440         (process_stop_reply): Likewise.
17441         (remote_parse_stop_reply): Allocate space for data
17442
17443 2017-01-18  Alan Hayward  <alan.hayward@arm.com>
17444
17445         * amd64-tdep.c (amd64_pseudo_register_read_value): remove
17446         MAX_REGISTER_SIZE.
17447         (amd64_pseudo_register_read_value): Likewise.
17448         * remote.c (fetch_register_using_p): Remove MAX_REGISTER_SIZE.
17449         (store_register_using_P): Likewise.
17450         * regcache.c (regcache_xfer_part): Likewise.
17451
17452 2017-01-16  Ivo Raisr  <ivo.raisr@oracle.com>
17453
17454         Split real and pseudo registers.
17455         * sparc-tdep.h (SPARC_CORE_REGISTERS): New macro.
17456         (sparc32_pseudo_regnum): New enum.
17457         * sparc64-tdep.h (sparc64_pseudo_regnum): New enum.
17458         * sparc-tdep.c (SPARC32_FPU_REGISTERS): New macro.
17459         (SPARC32_CP0_REGISTERS): New macro.
17460         (sparc32_pseudo_register_name): New function.
17461         (sparc32_register_name): Use sparc32_pseudo_register_name.
17462         (sparc32_pseudo_register_type): New function.
17463         (sparc32_register_type): Use sparc32_pseudo_register_type.
17464         (sparc32_pseudo_register_read, sparc32_pseudo_register_write): Handle
17465         pseudo register numbers.
17466         * sparc64-tdep.c SPARC64_FPU_REGISTERS): New macro.
17467         (SPARC64_CP0_REGISTERS): New macro.
17468         (sparc64_pseudo_register_name): New function.
17469         (sparc64_register_name): Use sparc64_pseudo_register_name.
17470         (sparc64_pseudo_register_type): New function.
17471         (sparc64_register_type): Use sparc64_pseudo_register_type.
17472         (sparc64_pseudo_register_read, sparc64_pseudo_register_write): Handle
17473         pseudo register numbers.
17474         (sparc64_store_floating_fields, sparc64_extract_floating_fields,
17475         sparc64_store_arguments): Handle pseudo register numbers.
17476
17477 2017-01-13  Yao Qi  <yao.qi@linaro.org>
17478
17479         * remote.c (REMOTE_DEBUG_MAX_CHAR): New macro.
17480         (putpkt_binary): Print only REMOTE_DEBUG_MAX_CHAR chars in debug
17481         output.
17482         (getpkt_or_notif_sane_1): Likewise.
17483
17484 2017-01-13  Yao Qi  <yao.qi@linaro.org>
17485
17486         * Makefile.in (checker-headers): Use CXX and CXX_DIALET instead
17487         of CC.  Pass "-x c++-header" instead of "-x c".
17488
17489 2017-01-12  Simon Marchi  <simon.marchi@ericsson.com>
17490
17491         * remote.c (remote_can_async_p): Update comment.
17492
17493 2017-01-12  Simon Marchi  <simon.marchi@ericsson.com>
17494
17495         * linux-nat.c (linux_nat_can_async_p): Update comment.
17496
17497 2017-01-12  Simon Marchi  <simon.marchi@ericsson.com>
17498
17499         * serial.c (serial_open): Forget about "pc" and "lpt" serial interface.
17500
17501 2017-01-11  Simon Marchi  <simon.marchi@ericsson.com>
17502
17503         * cli/cli-decode.c (lookup_cmd_1): Fix typo in comment.
17504
17505 2017-01-10  Tom Tromey  <tom@tromey.com>
17506
17507         * python/py-type.c (typy_legacy_template_argument): Update.
17508         * cp-support.h (struct demangle_parse_info) (demangle_parse_info,
17509         ~demangle_parse_info): Declare new members.
17510         (cp_demangled_name_to_comp): Return unique_ptr.
17511         (cp_demangled_name_parse_free)
17512         (make_cleanup_cp_demangled_name_parse_free)
17513         (cp_new_demangle_parse_info): Remove.
17514         * cp-support.c (do_demangled_name_parse_free_cleanup)
17515         (make_cleanup_cp_demangled_name_parse_free): Remove.
17516         (inspect_type, cp_canonicalize_string_full)
17517         (cp_canonicalize_string): Update.
17518         (mangled_name_to_comp): Change return type.
17519         (cp_class_name_from_physname, method_name_from_physname)
17520         (cp_func_name, cp_remove_params): Update.
17521         * cp-name-parser.y (demangle_parse_info): New constructor, from
17522         cp_new_demangle_parse_info.
17523         (~demangle_parse_info): New destructor, from
17524         cp_demangled_name_parse_free.
17525         (cp_merge_demangle_parse_infos): Update.
17526         (cp_demangled_name_to_comp): Change return type.
17527
17528 2017-01-10  Tom Tromey  <tom@tromey.com>
17529
17530         * top.c (prevent_dont_repeat): Change return type.
17531         * python/python.c (execute_gdb_command): Use std::string.
17532         Update.
17533         * guile/guile.c (gdbscm_execute_gdb_command): Update.
17534         * command.h (prevent_dont_repeat): Change return type.
17535         * breakpoint.c (bpstat_do_actions_1): Update.
17536
17537 2017-01-10  Tom Tromey  <tom@tromey.com>
17538
17539         * value.h (scoped_value_mark::~scoped_value_mark): Call
17540         free_to_mark.
17541         (scoped_value_mark::free_to_mark): New method.
17542         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use
17543         scoped_value_mark.
17544
17545 2017-01-10  Tom Tromey  <tom@tromey.com>
17546
17547         * python/py-value.c (valpy_dereference, valpy_referenced_value)
17548         (valpy_reference_value, valpy_const_value, valpy_get_address)
17549         (valpy_get_dynamic_type, valpy_lazy_string, valpy_do_cast)
17550         (valpy_getitem, valpy_call, valpy_binop_throw, valpy_negative)
17551         (valpy_absolute, valpy_richcompare_throw): Use scoped_value_mark.
17552         * dwarf2loc.c (dwarf2_loc_desc_get_symbol_read_needs): Use
17553         scoped_value_mark.
17554         * dwarf2-frame.c (execute_stack_op): Use scoped_value_mark.
17555         * value.h (scoped_value_mark): New class.
17556
17557 2017-01-10  Tom Tromey  <tom@tromey.com>
17558
17559         * dwarf2read.c (dwarf2_build_psymtabs): Use psymtab_discarder.
17560         * psympriv.h (make_cleanup_discard_psymtabs): Don't declare.
17561         * psymtab.c (discard_psymtabs_upto): Remove.
17562         (make_cleanup_discard_psymtabs): Remove.
17563         (struct psymtab_state): Remove.
17564
17565 2017-01-10  Tom Tromey  <tom@tromey.com>
17566
17567         * record-full.c (record_full_save_cleanups): Remove.
17568         (record_full_save): Use gdb::unlinker.
17569         * gcore.c (do_bfd_delete_cleanup): Remove.
17570         (gcore_command): Use gdb::unlinker, unique_xmalloc_ptr.  Remove
17571         cleanups.
17572         * dwarf2read.c (unlink_if_set): Remove.
17573         (write_psymtabs_to_index): Use gdb::unlinker.
17574         * common/gdb_unlinker.h: New file.
17575
17576 2017-01-10  Tom Tromey  <tom@tromey.com>
17577
17578         * windows-tdep.c (windows_xfer_shared_library): Update.
17579         * windows-nat.c (windows_make_so): Update.
17580         * utils.h (make_cleanup_bfd_unref): Remove.
17581         * utils.c (do_bfd_close_cleanup, make_cleanup_bfd_unref): Remove.
17582         * symfile.h (symfile_bfd_open)
17583         (find_separate_debug_file_in_section): Return gdb_bfd_ref_ptr.
17584         * symfile.c (read_symbols, symbol_file_add)
17585         (separate_debug_file_exists): Update.
17586         (symfile_bfd_open): Return gdb_bfd_ref_ptr.
17587         (generic_load, reread_symbols): Update.
17588         * symfile-mem.c (symbol_file_add_from_memory): Update.
17589         * spu-linux-nat.c (spu_bfd_open): Return gdb_bfd_ref_ptr.
17590         (spu_symbol_file_add_from_memory): Update.
17591         * solist.h (struct target_so_ops) <bfd_open>: Return
17592         gdb_bfd_ref_ptr.
17593         (solib_bfd_fopen, solib_bfd_open): Return gdb_bfd_ref_ptr.
17594         * solib.c (solib_bfd_fopen, solib_bfd_open): Return
17595         gdb_bfd_ref_ptr.
17596         (solib_map_sections, reload_shared_libraries_1): Update.
17597         * solib-svr4.c (enable_break): Update.
17598         * solib-spu.c (spu_bfd_fopen): Return gdb_bfd_ref_ptr.
17599         * solib-frv.c (enable_break2): Update.
17600         * solib-dsbt.c (enable_break): Update.
17601         * solib-darwin.c (gdb_bfd_mach_o_fat_extract): Return
17602         gdb_bfd_ref_ptr.
17603         (darwin_solib_get_all_image_info_addr_at_init): Update.
17604         (darwin_bfd_open): Return gdb_bfd_ref_ptr.
17605         * solib-aix.c (solib_aix_bfd_open): Return gdb_bfd_ref_ptr.
17606         * record-full.c (record_full_save): Update.
17607         * python/py-objfile.c (objfpy_add_separate_debug_file): Update.
17608         * procfs.c (insert_dbx_link_bpt_in_file): Update.
17609         * minidebug.c (find_separate_debug_file_in_section): Return
17610         gdb_bfd_ref_ptr.
17611         * machoread.c (macho_add_oso_symfile): Change abfd to
17612         gdb_bfd_ref_ptr.
17613         (macho_symfile_read_all_oso): Update.
17614         (macho_check_dsym): Return gdb_bfd_ref_ptr.
17615         (macho_symfile_read): Update.
17616         * jit.c (bfd_open_from_target_memory): Return gdb_bfd_ref_ptr.
17617         (jit_bfd_try_read_symtab): Update.
17618         * gdb_bfd.h (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
17619         (gdb_bfd_openw, gdb_bfd_openr_iovec)
17620         (gdb_bfd_openr_next_archived_file, gdb_bfd_fdopenr): Return
17621         gdb_bfd_ref_ptr.
17622         (gdb_bfd_ref_policy): New struct.
17623         (gdb_bfd_ref_ptr): New typedef.
17624         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
17625         (gdb_bfd_openw, gdb_bfd_openr_iovec)
17626         (gdb_bfd_openr_next_archived_file, gdb_bfd_fdopenr): Return
17627         gdb_bfd_ref_ptr.
17628         * gcore.h (create_gcore_bfd): Return gdb_bfd_ref_ptr.
17629         * gcore.c (create_gcore_bfd): Return gdb_bfd_ref_ptr.
17630         (gcore_command): Update.
17631         * exec.c (exec_file_attach): Update.
17632         * elfread.c (elf_symfile_read): Update.
17633         * dwarf2read.c (dwarf2_get_dwz_file): Update.
17634         (try_open_dwop_file, open_dwo_file): Return gdb_bfd_ref_ptr.
17635         (open_and_init_dwo_file): Update.
17636         (open_dwp_file): Return gdb_bfd_ref_ptr.
17637         (open_and_init_dwp_file): Update.
17638         * corelow.c (core_open): Update.
17639         * compile/compile-object-load.c (compile_object_load): Update.
17640         * common/gdb_ref_ptr.h (ref_ptr::operator->): New operator.
17641         * coffread.c (coff_symfile_read): Update.
17642         * cli/cli-dump.c (bfd_openr_or_error, bfd_openw_or_error): Return
17643         gdb_bfd_ref_ptr.  Rename.
17644         (dump_bfd_file, restore_command): Update.
17645         * build-id.h (build_id_to_debug_bfd): Return gdb_bfd_ref_ptr.
17646         * build-id.c (build_id_to_debug_bfd): Return gdb_bfd_ref_ptr.
17647         (find_separate_debug_file_by_buildid): Update.
17648
17649 2017-01-10  Tom Tromey  <tom@tromey.com>
17650
17651         * common/gdb_ref_ptr.h: New file.
17652         * python/py-ref.h (struct gdbpy_ref_policy): New.
17653         (gdbpy_ref): Now a typedef.
17654
17655 2017-01-10  Tom Tromey  <tom@tromey.com>
17656
17657         * utils.h (make_cleanup_htab_delete): Don't declare.
17658         * utils.c (do_htab_delete_cleanup, make_cleanup_htab_delete):
17659         Remove.
17660         * linespec.c (decode_compound_collector): Add constructor,
17661         destructor.
17662         (lookup_prefix_sym): Remove cleanup.
17663         (symtab_collector): Add constructor, destructor.
17664         (collect_symtabs_from_filename): Remove cleanup.
17665         * disasm.c (do_mixed_source_and_assembly): Use htab_up.
17666         * compile/compile-c-symbols.c (generate_c_for_variable_locations):
17667         Use htab_up.
17668         * gnu-v3-abi.c (gnuv3_print_vtable): Use htab_up.
17669         * dwarf2read.c (dw2_expand_symtabs_matching)
17670         (dw2_map_symbol_filenames, dwarf_decode_macros)
17671         (write_psymtabs_to_index): Use htab_up.
17672         * dwarf2loc.c (func_verify_no_selftailcall)
17673         (call_site_find_chain_1, func_verify_no_selftailcall)
17674         (chain_candidate, call_site_find_chain_1): Use std::unordered_set,
17675         std::vector, gdb::unique_xmalloc_ptr.
17676         (call_sitep): Remove typedef.
17677         (dwarf2_locexpr_baton_eval): Remove unused variable.
17678
17679 2017-01-10  Tom Tromey  <tom@tromey.com>
17680
17681         * python/python-internal.h (make_cleanup_py_decref)
17682         (make_cleanup_py_xdecref): Don't declare.
17683         * python/py-utils.c (py_decref, make_cleanup_py_decref)
17684         (py_xdecref, make_cleanup_py_xdecref): Remove.
17685
17686 2017-01-10  Tom Tromey  <tom@tromey.com>
17687
17688         * python/py-framefilter.c (py_mi_print_variables): Use gdbpy_ref.
17689         (py_print_locals, enumerate_locals, py_print_args): Use gdbpy_ref.
17690
17691 2017-01-10  Tom Tromey  <tom@tromey.com>
17692
17693         * python/py-framefilter.c (enumerate_args): Use gdbpy_ref.
17694
17695 2017-01-10  Tom Tromey  <tom@tromey.com>
17696
17697         * python/py-utils.c (unicode_to_encoded_string)
17698         (python_string_to_target_string)
17699         (python_string_to_target_python_string)
17700         (python_string_to_host_string, gdbpy_obj_to_string)
17701         (get_addr_from_python): Use gdbpy_ref.
17702
17703 2017-01-10  Tom Tromey  <tom@tromey.com>
17704
17705         * python/py-unwind.c (pyuw_object_attribute_to_pointer): Use
17706         gdbpy_ref.
17707
17708 2017-01-10  Tom Tromey  <tom@tromey.com>
17709
17710         * python/python.c (eval_python_command, gdbpy_decode_line)
17711         (gdbpy_run_events, gdbpy_start_type_printers)
17712         (gdbpy_apply_type_printers): Use gdbpy_ref.
17713
17714 2017-01-10  Tom Tromey  <tom@tromey.com>
17715
17716         * python/py-param.c (get_doc_string, compute_enum_values): Use
17717         gdbpy_ref.
17718
17719 2017-01-10  Tom Tromey  <tom@tromey.com>
17720
17721         * python/py-inferior.c (find_thread_object, build_inferior_list):
17722         Use gdbpy_ref.
17723
17724 2017-01-10  Tom Tromey  <tom@tromey.com>
17725
17726         * python/py-framefilter.c (py_print_frame): Use gdbpy_ref.
17727
17728 2017-01-10  Tom Tromey  <tom@tromey.com>
17729
17730         * python/py-finishbreakpoint.c (bpfinishpy_out_of_scope): Use
17731         gdbpy_ref.
17732
17733 2017-01-10  Tom Tromey  <tom@tromey.com>
17734
17735         * python/py-cmd.c (cmdpy_completer_helper): Use gdbpy_ref.  Remove
17736         extra incref.
17737         (cmdpy_completer_handle_brkchars, cmdpy_completer, cmdpy_init):
17738         Use gdbpy_ref.
17739
17740 2017-01-10  Tom Tromey  <tom@tromey.com>
17741
17742         * python/py-breakpoint.c (gdbpy_breakpoint_cond_says_stop): Use
17743         gdbpy_ref.
17744
17745 2017-01-10  Tom Tromey  <tom@tromey.com>
17746
17747         * python/py-arch.c (archpy_disassemble): Use gdbpy_ref.  Don't
17748         decref results of PyArg_ParseTupleAndKeywords.
17749
17750 2017-01-10  Tom Tromey  <tom@tromey.com>
17751
17752         * python/python.c (python_run_simple_file): Use
17753         unique_xmalloc_ptr, gdbpy_ref.
17754
17755 2017-01-10  Tom Tromey  <tom@tromey.com>
17756
17757         * python/py-prettyprint.c (print_stack_unless_memory_error)
17758         (print_string_repr, print_children): Use gdbpy_ref.
17759         (dummy_python_frame): New class.
17760         (dummy_python_frame::dummy_python_frame): Rename from
17761         push_dummy_python_frame.
17762         (py_restore_tstate): Remove.
17763
17764 2017-01-10  Tom Tromey  <tom@tromey.com>
17765
17766         * python/py-framefilter.c (py_print_frame): Use gdbpy_ref.
17767
17768 2017-01-10  Tom Tromey  <tom@tromey.com>
17769
17770         * python/python.c (ensure_python_env, restore_python_env):
17771         Remove.
17772         * python/python-internal.h (ensure_python_env): Don't declare.
17773         * varobj.h (varobj_ensure_python_env): Don't declare.
17774         * varobj.c (varobj_ensure_python_env): Remove.
17775
17776 2017-01-10  Tom Tromey  <tom@tromey.com>
17777
17778         * varobj.c (varobj_value_get_print_value): Use
17779         gdbpy_enter_varobj.
17780
17781 2017-01-10  Tom Tromey  <tom@tromey.com>
17782
17783         * python/py-prettyprint.c (print_string_repr, print_children):
17784         Update.
17785         * python/py-lazy-string.c (gdbpy_extract_lazy_string): Change type
17786         of "encoding".
17787         * varobj.c (varobj_value_get_print_value): Update.
17788         * python/python-internal.h (gdbpy_extract_lazy_string): Update.
17789
17790 2017-01-10  Tom Tromey  <tom@tromey.com>
17791
17792         * varobj.c (varobj_get_display_hint)
17793         (dynamic_varobj_has_child_method, install_new_value_visualizer)
17794         (varobj_set_visualizer, free_variable): Use
17795         gdbpy_enter_varobj.
17796
17797 2017-01-10  Tom Tromey  <tom@tromey.com>
17798
17799         * python/python.c (python_command): Use gdbpy_enter, gdbpy_ref.
17800         (do_finish_initialization): New function.  Use gdbpy_ref.
17801         (gdbpy_finish_initialization): Use gdbpy_enter.  Call
17802         do_finish_initialization.
17803
17804 2017-01-10  Tom Tromey  <tom@tromey.com>
17805
17806         * python/py-param.c (get_set_value, get_show_value): Use
17807         gdbpy_enter, gdbpy_ref.
17808
17809 2017-01-10  Tom Tromey  <tom@tromey.com>
17810
17811         * python/py-function.c (fnpy_call): Use gdbpy_enter, gdbpy_ref.
17812
17813 2017-01-10  Tom Tromey  <tom@tromey.com>
17814
17815         * python/py-cmd.c (cmdpy_function): Use gdbpy_enter, gdbpy_ref.
17816
17817 2017-01-10  Tom Tromey  <tom@tromey.com>
17818
17819         * python/py-varobj.c (py_varobj_iter_dtor, py_varobj_iter_next):
17820         Use gdbpy_enter_varobj.
17821
17822 2017-01-10  Tom Tromey  <tom@tromey.com>
17823
17824         * varobj.c (gdbpy_enter_varobj): New constructor.
17825         * python/python-internal.h (gdbpy_enter_varobj): New class.
17826         * python/py-varobj.c (py_varobj_get_iterator): Use
17827         gdbpy_enter_varobj.
17828
17829 2017-01-10  Tom Tromey  <tom@tromey.com>
17830
17831         * python/py-xmethods.c (gdbpy_get_xmethod_result_type): Use
17832         gdbpy_enter, gdbpy_ref, unique_xmalloc_ptr.
17833         (gdbpy_invoke_xmethod): Use gdbpy_ref, gdbpy_enter.
17834         (gdbpy_get_xmethod_arg_types): Use gdbpy_ref,
17835         unique_xmalloc_ptr.
17836         (gdbpy_get_xmethod_arg_types): Use gdbpy_ref, gdbpy_enter.
17837
17838 2017-01-10  Tom Tromey  <tom@tromey.com>
17839
17840         * python/py-xmethods.c (invoke_match_method): Use
17841         gdbpy_ref.
17842
17843 2017-01-10  Tom Tromey  <tom@tromey.com>
17844
17845         * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers): use
17846         gdbpy_enter, gdbpy_ref.
17847
17848 2017-01-10  Tom Tromey  <tom@tromey.com>
17849
17850         * python/python.c (python_interactive_command): Use gdbpy_enter.
17851
17852 2017-01-10  Tom Tromey  <tom@tromey.com>
17853
17854         * python/python.c (gdbpy_before_prompt_hook): Use gdbpy_enter,
17855         gdbpy_ref.
17856
17857 2017-01-10  Tom Tromey  <tom@tromey.com>
17858
17859         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Use
17860         gdbpy_enter, gdbpy_ref, unique_xmalloc_ptr.
17861
17862 2017-01-10  Tom Tromey  <tom@tromey.com>
17863
17864         * utils.h (htab_deleter): New struct.
17865         (htab_up): New typedef.
17866         * python/py-framefilter.c (gdbpy_apply_frame_filter): Use
17867         gdbpy_enter, gdbpy_ref, htab_up.
17868
17869 2017-01-10  Tom Tromey  <tom@tromey.com>
17870
17871         * python/py-unwind.c (pending_frame_invalidate): Remove.
17872         (pyuw_sniffer): Use gdbpy_enter and gdbpy_ref.
17873
17874 2017-01-10  Tom Tromey  <tom@tromey.com>
17875
17876         * python/py-xmethods.c (gdbpy_free_xmethod_worker_data)
17877         (gdbpy_clone_xmethod_worker_data): Use gdbpy_enter.
17878
17879 2017-01-10  Tom Tromey  <tom@tromey.com>
17880
17881         * python/py-type.c (save_objfile_types): Use gdbpy_enter.
17882
17883 2017-01-10  Tom Tromey  <tom@tromey.com>
17884
17885         * python/python.c (gdbpy_eval_from_control_command)
17886         (gdbpy_source_script, gdbpy_run_events)
17887         (gdbpy_source_objfile_script, gdbpy_execute_objfile_script)
17888         (gdbpy_free_type_printers, gdbpy_finish_initialization): Use
17889         gdbpy_enter.
17890
17891 2017-01-10  Tom Tromey  <tom@tromey.com>
17892
17893         * python/py-progspace.c (py_free_pspace): Use gdbpy_enter.
17894
17895 2017-01-10  Tom Tromey  <tom@tromey.com>
17896
17897         * python/py-objfile.c (py_free_objfile): Use gdbpy_enter.
17898
17899 2017-01-10  Tom Tromey  <tom@tromey.com>
17900
17901         * python/py-inferior.c (python_on_normal_stop, python_on_resume)
17902         (python_on_inferior_call_pre, python_on_inferior_call_post)
17903         (python_on_memory_change, python_on_register_change)
17904         (python_inferior_exit, python_new_objfile, add_thread_object)
17905         (delete_thread_object, py_free_inferior): Use gdbpy_enter.
17906
17907 2017-01-10  Tom Tromey  <tom@tromey.com>
17908
17909         * python/py-finishbreakpoint.c (bpfinishpy_handle_stop)
17910         (bpfinishpy_handle_exit): Use gdbpy_enter.
17911
17912 2017-01-10  Tom Tromey  <tom@tromey.com>
17913
17914         * python/py-cmd.c (cmdpy_destroyer)
17915         (cmdpy_completer_handle_brkchars, cmdpy_completer): Use
17916         gdbpy_enter.
17917
17918 2017-01-10  Tom Tromey  <tom@tromey.com>
17919
17920         * python/py-breakpoint.c (gdbpy_breakpoint_cond_says_stop): Use
17921         gdbpy_enter.
17922         (gdbpy_breakpoint_has_cond): Likewise.
17923
17924 2017-01-10  Tom Tromey  <tom@tromey.com>
17925
17926         * python/python.c (gdbpy_enter): New constructor.
17927         (~gdbpy_enter): New destructor.
17928         (restore_python_env, ensure_python_env): Rewrite.
17929         * python/python-internal.h (gdbpy_enter): New class.
17930
17931 2017-01-10  Tom Tromey  <tom@tromey.com>
17932
17933         * python/py-symbol.c (gdbpy_lookup_symbol): Use gdbpy_ref.
17934
17935 2017-01-10  Tom Tromey  <tom@tromey.com>
17936
17937         * python/py-value.c (value_has_field, get_field_flag)
17938         (get_field_type, valpy_getitem, convert_value_from_python): Use
17939         gdbpy_ref.
17940
17941 2017-01-10  Tom Tromey  <tom@tromey.com>
17942
17943         * python/python.c (gdbpy_progspaces, gdbpy_objfiles): Use
17944         gdbpy_ref.
17945
17946 2017-01-10  Tom Tromey  <tom@tromey.com>
17947
17948         * python/py-prettyprint.c (search_pp_list)
17949         (find_pretty_printer_from_objfiles)
17950         (find_pretty_printer_from_progspace)
17951         (find_pretty_printer_from_gdb, find_pretty_printer)
17952         (gdbpy_get_display_hint, gdbpy_get_varobj_pretty_printer): Use
17953         gdbpy_ref.
17954
17955 2017-01-10  Tom Tromey  <tom@tromey.com>
17956
17957         * python/py-param.c (call_doc_function): Use gdbpy_ref.
17958
17959 2017-01-10  Tom Tromey  <tom@tromey.com>
17960
17961         * python/py-linetable.c (build_line_table_tuple_from_pcs)
17962         (ltpy_get_all_source_lines): Use gdbpy_ref.
17963
17964 2017-01-10  Tom Tromey  <tom@tromey.com>
17965
17966         * python/py-framefilter.c (extract_sym, extract_value)
17967         (get_py_iter_from_func, bootstrap_python_frame_filters): Use
17968         gdbpy_ref.
17969
17970 2017-01-10  Tom Tromey  <tom@tromey.com>
17971
17972         * python/py-breakpoint.c (gdbpy_breakpoints): Use gdbpy_ref.
17973
17974 2017-01-10  Tom Tromey  <tom@tromey.com>
17975
17976         * python/py-inferior.c (gdbpy_inferiors): Use gdbpy_ref.
17977
17978 2017-01-10  Tom Tromey  <tom@tromey.com>
17979
17980         * python/py-function.c (convert_values_to_python, fnpy_init): Use
17981         gdbpy_ref.
17982
17983 2017-01-10  Tom Tromey  <tom@tromey.com>
17984
17985         * python/py-cmd.c (gdbpy_string_to_argv): Use gdbpy_ref.
17986
17987 2017-01-10  Tom Tromey  <tom@tromey.com>
17988
17989         * python/py-type.c (convert_field, make_fielditem, typy_fields)
17990         (typy_range): Use gdbpy_ref.
17991
17992 2017-01-10  Tom Tromey  <tom@tromey.com>
17993
17994         * python/py-threadevent.c (create_thread_event_object): Use
17995         gdbpy_ref.
17996         * python/py-stopevent.c (create_stop_event_object): Simplify.
17997         (emit_stop_event): Use gdbpy_ref.
17998         * python/py-signalevent.c (create_signal_event_object): Use
17999         gdbpy_ref.
18000         * python/py-newobjfileevent.c (create_new_objfile_event_object)
18001         (emit_new_objfile_event, create_clear_objfiles_event_object)
18002         (emit_clear_objfiles_event): Use gdbpy_ref.
18003         * python/py-infevents.c (create_inferior_call_event_object)
18004         (create_register_changed_event_object)
18005         (create_memory_changed_event_object, emit_inferior_call_event)
18006         (emit_memory_changed_event, emit_register_changed_event): Use
18007         gdbpy_ref.
18008         * python/py-exitedevent.c (create_exited_event_object)
18009         (emit_exited_event): Use gdbpy_ref.
18010         * python/py-event.h (evpy_emit_event): Remove
18011         CPYCHECKER_STEALS_REFERENCE_TO_ARG annotation.
18012         * python/py-event.c (evpy_emit_event): Use gdbpy_ref.
18013         * python/py-continueevent.c (emit_continue_event): Use
18014         gdbpy_ref.
18015         * python/py-breakpoint.c (gdbpy_breakpoint_created)
18016         (gdbpy_breakpoint_deleted, gdbpy_breakpoint_modified): Use
18017         gdbpy_ref.
18018         * python/py-bpevent.c (create_breakpoint_event_object): Use
18019         gdbpy_ref.
18020
18021 2017-01-10  Tom Tromey  <tom@tromey.com>
18022
18023         * python/py-ref.h: New file.
18024
18025 2017-01-10  Simon Marchi  <simon.marchi@ericsson.com>
18026
18027         * cli-out.c (cli_ui_out::do_redirect): Change return type to
18028         void.
18029         * cli-out.h (cli_ui_out::do_redirect): Likewise.
18030         * mi/mi-out.c (mi_ui_out::do_redirect): Likewise.
18031         * mi/mi-out.h (mi_ui_out::do_redirect): Likewise.
18032         * ui-out.c (ui_out::redirect): Likewise.
18033         * ui-out.h (ui_out::redirect, ui_out::do_redirect): Likewise.
18034         * cli/cli-logging.c (set_logging_redirect): Update call site of
18035         ui_out::redirect.
18036         (handle_redirections): Likewise.
18037         * scm-ports.c (ioscm_with_output_to_port_worker): Likewise.
18038         * top.c (execute_command_to_string): Likewise.
18039         * utils.c (do_ui_out_redirect_pop): Likewise.
18040
18041 2017-01-10  Simon Marchi  <simon.marchi@ericsson.com>
18042
18043         * stack.c (_initialize_stack): Update "frame" command help message.
18044
18045 2017-01-08  Iain Buclaw  <ibuclaw@gdcproject.org>
18046
18047         * d-exp.y (CastExpression): Emit UNOP_CAST_TYPE.
18048
18049 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18050
18051         * x86-linux-nat.h: Include gdb_proc_service.h.
18052
18053 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18054
18055         * ser-base.h: Include serial.h.
18056
18057 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18058
18059         * ppc-linux-tdep.h: Include ppc-tdep.h.
18060
18061 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18062
18063         * nat/amd64-linux-siginfo.h: Include signal.h.
18064
18065 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18066
18067         * nat/aarch64-linux-hw-point.h: Include break-common.h.
18068
18069 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18070
18071         * mi/mi-parse.h: Include mi-cmds.h.
18072
18073 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18074
18075         * inf-loop.c: Don't include "target.h".
18076         * inf-loop.h: Include it here.
18077
18078 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18079
18080         * dfp.h: Include "dboulest.h" and "expression.h".
18081
18082 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18083
18084         * ax-gdb.h: Include "ax.h".
18085
18086 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18087
18088         * Makefile.in (HFILES_NO_SRCDIR): Replace gdb_ptrace.h
18089         with nat/gdb_ptrace.h.
18090
18091 2017-01-05  Yao Qi  <yao.qi@linaro.org>
18092
18093         * mips-fbsd-tdep.c (mips_fbsd_sigframe_init): Move && to
18094         new line.
18095         (mips64_fbsd_sigframe_init): Likewise.
18096
18097 2017-01-04  John Baldwin  <jhb@FreeBSD.org>
18098
18099         * mips-fbsd-tdep.c (_initialize_mips_fbsd_tdep): Use
18100         GDB_OSABI_FREEBSD instead of GDB_OSABI_FREEBSD_ELF.
18101
18102 2017-01-04  John Baldwin  <jhb@FreeBSD.org>
18103
18104         * Makefile.in (ALLDEPFILES): Add mips-fbsd-nat.c.
18105         * NEWS: Mention new FreeBSD/mips native configuration.
18106         * config/mips/fbsd.mh: New file.
18107         * configure.host: Add mips*-*-freebsd*.
18108         * mips-fbsd-nat.c: New file.
18109
18110 2017-01-04  John Baldwin  <jhb@FreeBSD.org>
18111
18112         * Makefile.in (ALL_TARGET_OBS): Add mips-fbsd-tdep.o.
18113         (ALLDEPFILES): Add mips-fbsd-tdep.c.
18114         * NEWS: Mention new FreeBSD/mips target.
18115         * configure.tgt: Add mips*-*-freebsd*.
18116         * mips-fbsd-tdep.c: New file.
18117         * mips-fbsd-tdep.h: New file.
18118
18119 2017-01-04  Yao Qi  <yao.qi@linaro.org>
18120
18121         * dwarf2loc.c (write_pieced_value): Don't use VALUE_FRAME_ID (to),
18122         use c->frame_id when the piece location is DWARF_VALUE_REGISTER.
18123
18124 2017-01-01  Joel Brobecker  <brobecker@adacore.com>
18125
18126         Update copyright year range in all GDB files.
18127
18128 2017-01-01  Joel Brobecker  <brobecker@adacore.com>
18129
18130         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2016.
18131
18132 For older changes see ChangeLog-2016.
18133 \f
18134 Local Variables:
18135 mode: change-log
18136 left-margin: 8
18137 fill-column: 74
18138 version-control: never
18139 coding: utf-8
18140 End: