PR22576, ppc64_skip_trampoline_code uses wrong r2 for EXEC_REVERSE
[external/binutils.git] / gdb / ChangeLog
1 2017-12-12  Alan Modra  <amodra@gmail.com>
2
3         PR tdep/22576
4         * ppc64-tdep.c (ppc64_plt_entry_point): Rewrite to take TOC-relative
5         PLT offset, and retrieve r2 from stack when executing in reverse.
6         (ppc64_standard_linkage1_target): Drop pc param.  Calculate offset
7         rather than PLT address.
8         (ppc64_standard_linkage2_target): Likewise.
9         (ppc64_standard_linkage3_target): Likewise.
10         (ppc64_standard_linkage4_target): Likewise.
11         (ppc64_skip_trampoline_code_1): Adjust to suit.
12
13 2017-12-11  Simon Marchi  <simon.marchi@ericsson.com>
14
15         PR gdb/22556
16         * remote.c (remote_thread_name): Return NULL if name is empty.
17         (remote_threads_extra_info): Return NULL if extra info is empty.
18
19 2017-12-11  Pedro Alves  <palves@redhat.com>
20
21         * defs.h (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index)
22         (elf_sym_fns_debug_names): Move to elfread.c.
23         * dwarf2read.c (dwarf2_initialize_objfile): Return a boolean
24         instead of a sym_fns and add 'index_kind' output parameter.  Fill
25         the latter in with the index variant kind if using an index.
26         (enum dw_index_kind): Moved to symfile.h.
27         * elfread.c (elf_sym_fns_gdb_index, elf_sym_fns_debug_names)
28         (elf_sym_fns_lazy_psyms): Move from defs.h.
29         (elf_symfile_read): Adjust to new dwarf2_initialize_objfile
30         interface.
31         * symfile.h (enum class dw_index_kind): New, moved from
32         dwarf2read.c.
33         (dwarf2_initialize_objfile): Change prototype.
34
35 2017-12-11  Ulrich Weigand  <uweigand@de.ibm.com>
36
37         * target-float.c (mpfr_float_ops::from_target): Use mpfr_set_ui
38         instead of mpfr_set_si to convert mantissa bits.
39
40 2017-12-11  Xavier Roirand <roirand@adacore.com>
41             Joel Brobecker  <brobecker@adacore.com>
42
43         * ada-lang.c (ada_tag_value_at_base_address): Change the way
44         tagged type base address is computed.
45         (enum ada_primitive_types) <ada_primitive_type_storage_offset>:
46         New enumerate.
47         (ada_language_arch_info): Set the ada_primitive_type_storage_offset
48         element of lai->primitive_type_vector.
49
50 2017-12-08  Pedro Alves  <palves@redhat.com>
51
52         * dwarf2read.c (mock_mapped_index): Reimplement as an extension of
53         mapped_index_base.
54         (check_match): Adjust to use mock_index directly.
55         (check_find_bounds_finds)
56         (test_mapped_index_find_name_component_bounds): Adjust to work
57         with a mapped_index_base.
58
59 2017-12-08  Pedro Alves  <palves@redhat.com>
60
61         * dwarf2read.c (struct mapped_index_base): New, partially factored
62         out from ...
63         (struct mapped_index): ... this.  Inherit mapped_index_base.
64         (mapped_index::symbol_name_slot_invalid):
65         (mapped_index::symbol_name_at): Add override marker.
66         (mapped_index::symbol_name_count): New.
67         (struct mapped_debug_names): Inherit mapped_index_base.
68         (mapped_debug_names::symbol_name_at): New.
69         (mapped_debug_names::symbol_name_count): New.
70         (mapped_index::find_name_components_bounds): Rename to ...
71         (mapped_index_base::find_name_components_bounds): ... this.
72         (mapped_index::build_name_components): Rename to ...
73         (mapped_index_base::build_name_components): ... this.  Adjust to
74         use mapped_index_base::symbol_name_count and
75         mapped_index_base::symbol_name_slot_invalid.
76         (dw2_expand_symtabs_matching_symbol): Take a mapped_index_base
77         instead of a mapped_index.  Use
78         dw2_expand_symtabs_matching_symbol.
79
80 2017-12-08  Pedro Alves  <palves@redhat.com>
81
82         * dwarf2read.c (mapped_index::symbol_table_slot): New.
83         (mapped_index::address_table): Now a gdb::array_view of const
84         gdb_byte.
85         (mapped_index::symbol_table): Now a gdb::array_view of
86         symbol_table_slot.
87         (mapped_index::address_table_size)
88         (mapped_index::symbol_table_slots): Delete.
89         (create_addrmap_from_index): Adjust.
90         (find_slot_in_mapped_hash): Adjust.
91         (read_index_from_section): Adjust.
92         (dwarf2_read_index): Adjust.
93
94 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
95             Pedro Alves  <palves@redhat.com>
96
97         * defs.h (elf_sym_fns_debug_names): New declaration.
98         * dwarf2read.c: Include "hash_enum.h".
99         (mapped_debug_names): New.
100         (struct dwarf2_per_objfile): Add debug_names, debug_aranges and
101         debug_names_table.
102         (dwarf2_elf_names): Add ".debug_names" and ".debug_aranges".
103         (struct dwz_file): Add debug_names.
104         (dwarf2_per_objfile::locate_sections): Handle debug_names and
105         debug_aranges.
106         (locate_dwz_sections): Handle debug_names.
107         (create_signatured_type_table_from_debug_names)
108         (create_addrmap_from_aranges): New.
109         (dwarf2_read_index): Update function comment.
110         (dwarf5_augmentation): Moved up.
111         (read_debug_names_from_section, create_cus_from_debug_names_list)
112         (create_cus_from_debug_names, dwarf2_read_debug_names): New.
113         (dwarf5_djb_hash): Moved up.
114         (dw2_debug_names_iterator): New.
115         (read_indirect_string_at_offset): New declaration.
116         (mapped_debug_names::namei_to_name)
117         (dw2_debug_names_iterator::find_vec_in_debug_names)
118         (dw2_debug_names_iterator::next, dw2_debug_names_lookup_symbol)
119         (dw2_debug_names_dump, dw2_debug_names_expand_symtabs_for_function)
120         (dw2_debug_names_expand_symtabs_matching, dwarf2_debug_names_functions):
121         New.
122         (dwarf2_initialize_objfile): Return also elf_sym_fns_debug_names.
123         (debug_names::djb_hash): Rename it to dwarf5_djb_hash.
124         (debug_names::build): Update djb_hash caller.
125         (write_debug_names): Move out and rename augmentation to
126         dwarf5_augmentation.
127         * elfread.c (elf_sym_fns_debug_names): New.
128         * psymtab.h (dwarf2_debug_names_functions): New declaration.
129         * symfile.h (struct dwarf2_debug_sections): Add debug_names and
130         debug_aranges.
131         * xcoffread.c (dwarf2_xcoff_names): Add debug_names and debug_aranges.
132
133 2017-12-08  Pedro Alves  <palves@redhat.com>
134
135         * common/hash_enum.h: New file.
136
137 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
138
139         * dwarf2read.c (create_cu_from_index_list): New from ...
140         (create_cus_from_index_list): ... this function, use it.
141         (dw_expand_symtabs_matching_file_matcher)
142         (dw2_expand_symtabs_matching_one): New from ...
143         (dw2_expand_symtabs_matching): ... this function, use them.
144
145 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
146
147         * defs.h (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index): Move here
148         declarations from elfread.c.
149         (dwarf2_initialize_objfile): Change return value.
150         * elfread.c (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index): Move these
151         declarations to defs.h.
152         (elf_symfile_read): Adjust dwarf2_initialize_objfile caller.
153         * symfile.h (dwarf2_initialize_objfile): Change return type.
154
155 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
156             Pedro Alves  <palves@redhat.com>
157
158         * contrib/gdb-add-index.sh (index): Rename to ...
159         (index4): ... here.
160         (index5, debugstr, debugstrmerge, debugstrerr): New variables.
161         Support also .debug_names and .debug_str.
162         * dwarf2read.c: Include cmath, set, list.
163         (INDEX_SUFFIX): Rename to ...
164         (INDEX4_SUFFIX): ... here.
165         (INDEX5_SUFFIX, DEBUG_STR_SUFFIX): New.
166         (file_write(FILE *, const void *, size_t)): New.
167         (file_write(FILE *, const std::vector<Elem, Alloc> &)): New.
168         (data_buf::append_unsigned_leb128, data_buf::empty): New.
169         (data_buf::file_write): Use ::file_write.
170         (data_buf::c_str, dwarf5_djb_hash, debug_names)
171         (check_dwarf64_offsets): New.
172         (psyms_seen_size, write_gdbindex): New from
173         write_psymtabs_to_index code.
174         (dwarf5_gdb_augmentation, write_debug_names, assert_file_size)
175         (enum dw_index_kind): New.
176         (write_psymtabs_to_index): New parameter index_kind.  Support
177         filename_str and out_file_str.  Move code to write_gdbindex,
178         possibly call write_debug_names.
179         (save_gdb_index_command): New parameter -dwarf-5.
180         (_initialize_dwarf2_read): Document the new parameter -dwarf-5.
181
182 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
183             Pedro Alves  <palves@redhat.com>
184
185         * contrib/cc-with-tweaks.sh: Change interpreter to bash, incl. initial
186         comment.
187         (GDB_ADD_INDEX): New variable.
188         <$want_index>: Call $GDB_ADD_INDEX.
189
190 2017-12-08  Sergio Durigan Junior  <sergiodj@redhat.com>
191
192         * dtrace-probe.c (dtrace_process_dof_probe): Do not declare a new
193         "expression_up" inside the TRY block.
194
195 2017-12-08  Yao Qi  <yao.qi@linaro.org>
196
197         * breakpoint.c (update_watchpoint): Call
198         address_significant.
199
200 2017-12-08  Yao Qi  <yao.qi@linaro.org>
201
202         * breakpoint.c (adjust_breakpoint_address): Call
203         address_significant.
204
205 2017-12-08  Yao Qi  <yao.qi@linaro.org>
206
207         * aarch64-tdep.c (aarch64_gdbarch_init): Install gdbarch
208         significant_addr_bit.
209         * gdbarch.sh (significant_addr_bit): New.
210         * gdbarch.c, gdbarch.h: Re-generated.
211         * target.c (memory_xfer_partial): Call address_significant.
212         * utils.c (address_significant): New function.
213         * utils.h (address_significant): Declare.
214
215 2017-12-08  Tom Tromey  <tom@tromey.com>
216
217         * printcmd.c (ui_printf): Update.  Use std::vector.
218         * common/format.h (struct format_piece): Add constructor.
219         <string>: Now const.
220         (class format_pieces): New class.
221         (parse_format_string, free_format_pieces)
222         (free_format_pieces_cleanup): Remove.
223         * common/format.c (format_pieces::format_pieces): Rename from
224         parse_format_string.  Update.
225         (free_format_pieces, free_format_pieces_cleanup): Remove.
226         * breakpoint.c (parse_cmd_to_aexpr): Update.  Use std::vector.
227         * ax-gdb.h (gen_printf): Remove argument.
228         * ax-gdb.c (gen_printf): Remove "frags" argument.
229         (maint_agent_printf_command): Update.  Use std::vector.
230
231 2017-12-08  Yao Qi  <yao.qi@linaro.org>
232
233         PR breakpionts/22567
234         * linespec.c (minsym_found): Set sal.section.
235
236 2017-12-08  Andreas Arnez  <arnez@linux.vnet.ibm.com>
237
238         * configure.tgt (s390*-*-linux*): Add symfile-mem.o.
239
240 2017-12-07  Keith Seitz  <keiths@redhat.com>
241
242         PR breakpoints/22569
243         * location.c (string_to_explicit_location): When terminating
244         parsing early, break out of enclosing loop instead of returning.
245
246 2017-12-07  Keith Seitz  <keiths@redhat.com>
247
248         * NEWS (New commands): Mention set/show print type nested-type-limit.
249         * c-typeprint.c (c_type_print_base): Print out nested types.
250         * dwarf2read.c (struct typedef_field_list): Rename to ...
251         (struct decl_field_list): ... this.  Change all uses.
252         (struct field_info) <nested_types_list, nested_types_list_count>:
253         New fields.
254         (add_partial_symbol): Look for nested type definitions in C++, too.
255         (dwarf2_add_typedef): Rename to ...
256         (dwarf2_add_type_defn): ... this.
257         (type_can_define_types): New function.
258         Update assertion to use type_can_define_types.
259         Permit NULL for a field's name.
260         (process_structure_scope): Handle child DIEs of types that can
261         define types.
262         Copy the list of nested types into the type struct.
263         * gdbtypes.h (struct typedef_field): Rename to ...
264         (struct decl_field): ... this.  Change all uses.
265         [is_protected, is_private]: New fields.
266         (struct cplus_struct_type) <nested_types, nested_types_count>: New
267         fields.
268         (TYPE_NESTED_TYPES_ARRAY, TYPE_NESTED_TYPES_FIELD)
269         (TYPE_NESTED_TYPES_FIELD_NAME, TYPE_NESTED_TYPES_FIELD_TYPE)
270         (TYPE_NESTED_TYPES_COUNT, TYPE_NESTED_TYPES_FIELD_PROTECTED)
271         (TYPE_NESTED_TYPES_FIELD_PRIVATE): New macros.
272         * typeprint.c (type_print_raw_options, default_ptype_flags): Add
273         default value for print_nested_type_limit.
274         (print_nested_type_limit): New static variable.
275         (set_print_type_nested_types, show_print_type_nested_types): New
276         functions.
277         (_initialize_typeprint): Register new commands for set/show
278         `print-nested-type-limit'.
279         * typeprint.h (struct type_print_options) [print_nested_type_limit]:
280         New field.
281
282 2017-12-07  Tom Tromey  <tom@tromey.com>
283
284         PR breakpoints/22511:
285         * breakpoint.c (commands_command_1): Don't throw an exception when
286         no commands have been read.
287
288 2017-12-07  Adam Stylinski  <adam.stylinski@etegent.com>
289
290         PR c++/21222
291         * target-descriptions.c (print_c_tdesc::visit_pre): Change type of
292         range-for variable.
293
294 2017-12-07  Simon Marchi  <simon.marchi@ericsson.com>
295
296         * common/selftest.h (struct selftest): Add virtual destructor.
297
298 2017-12-07  Phil Muldoon  <pmuldoon@redhat.com>
299
300         * python/py-breakpoint.c (bppy_init): Use string_to_event_location
301         over basic location code. Implement explicit location keywords.
302         (bppy_init_validate_args): New function.
303         * NEWS: Document Python explicit breakpoint locations.
304
305 2017-12-07  Joel Brobecker  <brobecker@adacore.com>
306
307         * MAINTAINERS: Restore target entries for m68hc11-elf,
308         score-elf and xstormy16-elf, incorrectly removed in a previous
309         patch meant to only update the list of active maintainers.
310
311 2017-12-06  Pedro Alves  <palves@redhat.com>
312
313         * break-catch-syscall.c (insert_catch_syscall)
314         (remove_catch_syscall): Adjust to pass reference to
315         inf_data->syscalls_counts directly via gdb::array_view.
316         * fbsd-nat.c (fbsd_set_syscall_catchpoint): Adjust to use bool
317         and gdb::array_view.
318         * linux-nat.c (linux_child_set_syscall_catchpoint): Likewise.
319         * remote.c (remote_set_syscall_catchpoint): Likewise.
320         * target-debug.h (target_debug_print_bool): New.
321         (define target_debug_print_gdb_array_view_const_int): New.
322         * target-delegates.c: Regenerate.
323         * target.h (target_ops) <to_set_syscall_catchpoint>: Use
324         gdb::array_view and bool.
325         (target_set_syscall_catchpoint): Likewise.
326
327 2017-12-06  Simon Marchi  <simon.marchi@ericsson.com>
328
329         * break-catch-syscall.c (catch_syscall_completer): Get pointers
330         to syscall group strings after building the string vector.
331
332 2017-12-06  Pedro Alves  <palves@redhat.com>
333
334         * remote.c (remote_query_supported): Don't send "xmlRegisters=" if
335         "qXfer:features:read"" is disabled.
336         (remote_write_qxfer, remote_read_qxfer, remote_search_memory):
337         Check packet_config_support instead of packet->support directly.
338
339 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
340
341         * target-descriptions.c (struct tdesc_feature) <registers>: Use
342         tdesc_reg_up typedef.
343         (struct target_desc) <features>: Use tdesc_feature_up typedef.
344
345 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
346
347         * target-descriptions.c (struct tdesc_type): Use default
348         destructor.
349         <u>: Remove.
350         <accept>: Remove.
351         (struct tdesc_type_builtin): New.
352         (struct tdesc_type_vector): New.
353         (struct tdesc_type_with_fields): New.
354         (tdesc_predefined_types): Change type to tdesc_type_builtin[].
355         (tdesc_gdb_type): Remove.
356         (tdesc_register_type): Adjust.
357         (tdesc_create_vector): Create tdesc_type_vector.
358         (tdesc_create_struct): Create tdesc_type_with_fields.
359         (tdesc_set_struct_size): Change parameter type.
360         (tdesc_create_union): Create tdesc_type_with_fields.
361         (tdesc_create_flags): Likewise.
362         (tdesc_create_enum): Likewise.
363         (tdesc_add_field): Change parameter type.
364         (tdesc_add_typed_bitfield): Likewise.
365         (tdesc_add_bitfield): Likewise.
366         (tdesc_add_flag): Likewise.
367         (tdesc_add_enum_value): Likewise.
368         (print_c_tdesc) <visit>: Remove overload with tdesc_type
369         parameter, add overloads for tdesc_type_builtin,
370         tdesc_type_with_fields and tdesc_type_vector.
371         <m_printed_type>: Remove.
372         <m_printed_element_type, m_printed_type_with_fields>: Add.
373         * target-descriptions.h (tdesc_create_enum): Change return type.
374         (tdesc_add_typed_bitfield): Change parameter type.
375         (tdesc_add_enum_value): Change parameter type.
376         * xml-tdesc.c (struct tdesc_parsing_data) <current_type>: Change
377         type to tdesc_type_with_fields.
378         (tdesc_start_struct): Adjust.
379         (tdesc_start_flags): Adjust.
380         (tdesc_start_enum): Adjust.
381         (tdesc_start_field): Adjust.
382         * arch/tdesc.h (struct tdesc_type_builtin): Forward-declare.
383         (struct tdesc_type_vector): Forward-declare.
384         (struct tdesc_type_with_fields): Forward-declare.
385         (tdesc_create_struct): Change return type.
386         (tdesc_create_union): Likewise.
387         (tdesc_create_flags): Likewise.
388         (tdesc_add_field): Change parameter type.
389         (tdesc_set_struct_size): Likewise.
390         (tdesc_add_bitfield): Likewise.
391         (tdesc_add_flag): Likewise.
392         * features: Re-generate C files.
393
394 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
395
396         * target-descriptions.c (tdesc_arch_reg): Remove typedef.
397         (struct tdesc_arch_reg): Add constructor.
398         (DEF_VEC_O (tdesc_arch_reg)): Remove.
399         (struct tdesc_arch_data): Initialize fields.
400         <arch_regs>: Change type to std::vector.
401         (target_find_description): Adjust.
402         (tdesc_find_type): Adjust.
403         (tdesc_data_init): Call tdesc_arch_data constructor.
404         (tdesc_data_alloc): Allocate tdesc_arch_data with new.
405         (tdesc_data_cleanup): Free data with delete.
406         (tdesc_numbered_register): Adjust.
407         (tdesc_find_arch_register): Adjust.
408         (tdesc_use_registers): Adjust.
409
410 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
411
412         * target-descriptions.c (tdesc_type_field): Remove typedef.
413         (DEF_VEC_O (tdesc_type_field)): Remove.
414         (struct tdesc_type_field): Add constructor.
415         <name>: Change type to std::string.
416         (struct tdesc_type) <tdesc_type>: Instantiate vector if the type
417         kind uses it.
418         <~tdesc_type>: Destroy vector if the type kind uses it.
419         <u::u::fields>: Change type to std::vector.
420         (tdesc_gdb_type): Adjust.
421         (tdesc_add_field): Adjust.
422         (tdesc_add_typed_bitfield): Adjust.
423         (tdesc_add_field): Adjust.
424         (tdesc_add_enum_value): Adjust.
425         (class print_c_tdesc) <visit>: Adjust.
426
427 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
428
429         * target-descriptions.c (struct tdesc_type) <name>: Change type
430         to std::string.
431         <~tdesc_type>: Don't manually free name.
432         <operator==>: Adjust.
433         (tdesc_named_type): Adjust.
434         (tdesc_find_type): Adjust.
435         (tdesc_gdb_type): Adjust.
436         (class print_c_tdesc) <visit>: Adjust.
437
438 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
439
440         * target-descriptions.c (tdesc_type_p): Remove typedef.
441         (DEF_VEC_P (tdesc_type_p)): Remove.
442         (struct tdesc_feature) <types>: Change type to std::vector.
443         <~tdesc_feature>: Replace with default implementation.
444         <accept>: Adjust.
445         (tdesc_named_type): Adjust.
446         (tdesc_create_vector): Adjust.
447         (tdesc_create_struct): Adjust.
448         (tdesc_create_union): Adjust.
449         (tdesc_create_flags): Adjust.
450         (tdesc_create_enum): Adjust.
451
452 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
453
454         * target-descriptions.c (struct tdesc_reg) <tdesc_reg>: Change
455         type of name_ parameter, adjust to std::string change.
456         <name, group, type>: Change type to std::string.
457         <~tdesc_reg>: Replace with default implementation.
458         <operator==>: Adjust.
459         (tdesc_find_register_early): Adjust.
460         (tdesc_register_name): Adjust.
461         (tdesc_register_type): Adjust.
462         (tdesc_register_in_reggroup_p): Adjust.
463         (class print_c_tdesc) <visit>: Adjust.
464         (class print_c_feature) <visit>: Adjust.
465         * features/arc-arcompact.c: Re-generate.
466         * features/arc-v2.c: Re-generate.
467
468 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
469
470         * target-descriptions.c (tdesc_reg_p): Remove typedef.
471         (DEF_VEC_P (tdesc_reg_p)): Remove.
472         (struct tdesc_feature) <registers>: Change type to std::vector.
473         <~tdesc_feature>: Don't manually free registers.
474         <accept>: Adjust.
475         <operator==>: Adjust.
476         (tdesc_has_registers): Adjust.
477         (tdesc_find_register_early): Adjust.
478         (tdesc_use_registers): Adjust.
479         (tdesc_create_reg): Adjust.
480
481 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
482
483         * target-descriptions.c (tdesc_feature) <name>: Change type to
484         std::string.
485         <~tdesc_feature>: Don't manually free name.
486         <operator==>: Adjust.
487         (tdesc_find_feature): Adjust.
488         (tdesc_feature_name): Adjust.
489         (class print_c_tdesc) <visit_pre>: Adjust.
490         (class print_c_feature) <visit_pre>: Adjust.
491
492 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
493
494         * target-descriptions.c (tdesc_feature_p): Remove typedef.
495         (DEF_VEC_P (tdesc_feature_p)): Remove.
496         (struct target_desc) <features>: Change type to std::vector.
497         <~target_desc>: Replace with default implementation.
498         <accept>: Adjust.
499         <operator==>: Adjust.
500         (tdesc_has_registers): Adjust.
501         (tdesc_find_feature): Adjust.
502         (tdesc_use_registers): Adjust.
503         (tdesc_create_feature): Adjust.
504
505 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
506
507         * target-descriptions.c (arch_p): Remove typedef.
508         (DEF_VEC_P (arch_p)): Remove.
509         (struct target_desc) <compatible>: Change type to std::vector.
510         <~target_desc>: Don't manually free compatible.
511         (tdesc_compatible_p): Adjust.
512         (tdesc_add_compatible): Adjust.
513         (class print_c_tdesc) <visit_pre>: Adjust.
514
515 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
516
517         * target-descriptions.c (property_s): Remove typedef.
518         (DEF_VEC_O (property_s)): Remove.
519         (struct target_desc) <properties>: Make an std::vector.
520         <~target_desc>: Don't manually free properties.
521         (tdesc_property): Adjust.
522         (set_tdesc_property): Adjust.
523         (class print_c_tdesc) <visit_pre>: Adjust.
524
525 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
526
527         * common/gdb_assert.h (gdb_static_assert): Redefine using
528         static_assert.
529
530 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
531
532         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
533         unused variables.
534         (ada_is_redundant_range_encoding): Likewise.
535         * ada-varobj.c (ada_varobj_get_value_of_array_variable):
536         Likewise.
537         * alpha-tdep.c (alpha_software_single_step): Likewise.
538         * arm-tdep.c (_initialize_arm_tdep): Likewise.
539         * auto-load.c (info_auto_load_cmd): Likewise.
540         * break-catch-syscall.c (insert_catch_syscall): Likewise.
541         (remove_catch_syscall): Likewise.
542         * breakpoint.c (condition_completer): Likewise.
543         (clear_command): Likewise.
544         (update_breakpoint_locations): Likewise.
545         * btrace.c (btrace_disable): Likewise.
546         (btrace_teardown): Likewise.
547         (btrace_maint_update_pt_packets): Likewise.
548         (maint_btrace_clear_cmd): Likewise.
549         * cli/cli-decode.c (lookup_cmd_1): Likewise.
550         (lookup_cmd_composition): Likewise.
551         * cli/cli-dump.c (scan_filename): Likewise.
552         (restore_command): Likewise.
553         * compile/compile-loc2c.c (compute_stack_depth): Likewise.
554         * compile/compile-object-load.c (compile_object_load): Likewise.
555         * compile/compile-object-run.c (compile_object_run): Likewise.
556         * compile/compile.c (compile_to_object): Likewise.
557         * completer.c (filename_completer): Likewise.
558         (complete_files_symbols): Likewise.
559         (complete_expression): Likewise.
560         * corelow.c (core_open): Likewise.
561         * ctf.c (ctf_start): Likewise.
562         (ctf_write_status): Likewise.
563         (ctf_write_uploaded_tsv): Likewise.
564         (ctf_write_definition_end): Likewise.
565         (ctf_open_dir): Likewise.
566         (ctf_xfer_partial): Likewise.
567         (ctf_trace_find): Likewise.
568         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
569         Likewise.
570         * dwarf2loc.c (allocate_piece_closure): Likewise.
571         (indirect_pieced_value): Likewise.
572         (dwarf2_evaluate_loc_desc_full): Likewise.
573         * dwarf2read.c (dw2_expand_marked_cus): Likewise.
574         (dw2_expand_symtabs_matching): Likewise.
575         (dw2_map_symbol_filenames): Likewise.
576         (read_and_check_comp_unit_head): Likewise.
577         (read_cutu_die_from_dwo): Likewise.
578         (lookup_dwo_unit): Likewise.
579         (read_comp_units_from_section): Likewise.
580         (dwarf2_compute_name): Likewise.
581         (handle_DW_AT_stmt_list): Likewise.
582         (create_cus_hash_table): Likewise.
583         (create_dwp_v2_section): Likewise.
584         (dwarf2_rnglists_process): Likewise.
585         (dwarf2_ranges_process): Likewise.
586         (dwarf2_record_block_ranges): Likewise.
587         (is_vtable_name): Likewise.
588         (read_formatted_entries): Likewise.
589         (skip_form_bytes): Likewise.
590         * elfread.c (elf_symtab_read): Likewise.
591         * exec.c (exec_file_command): Likewise.
592         * f-valprint.c (f_val_print): Likewise.
593         (info_common_command_for_block): Likewise.
594         * guile/guile.c (initialize_scheme_side): Likewise.
595         * guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Likewise.
596         * guile/scm-cmd.c (cmdscm_completer): Likewise.
597         (gdbscm_register_command_x): Likewise.
598         * guile/scm-frame.c (gdbscm_frame_read_var): Likewise.
599         * guile/scm-param.c (gdbscm_parameter_value): Likewise.
600         * guile/scm-ports.c (file_port_magic): Likewise.
601         * guile/scm-pretty-print.c (ppscm_search_pp_list): Likewise.
602         (ppscm_pretty_print_one_value): Likewise.
603         (ppscm_print_children): Likewise.
604         * guile/scm-string.c (gdbscm_string_to_argv): Likewise.
605         * guile/scm-symtab.c (gdbscm_sal_symtab): Likewise.
606         * guile/scm-type.c (gdbscm_type_next_field_x): Likewise.
607         * guile/scm-utils.c (gdbscm_parse_function_args): Likewise.
608         * i386-tdep.c (i386_register_reggroup_p): Likewise.
609         * infcmd.c (run_command_1): Likewise.
610         (until_next_fsm_clean_up): Likewise.
611         * linespec.c (linespec_complete): Likewise.
612         (find_label_symbols): Likewise.
613         * m2-valprint.c (m2_val_print): Likewise.
614         * memattr.c (require_user_regions): Likewise.
615         (lookup_mem_region): Likewise.
616         (disable_mem_command): Likewise.
617         (mem_delete): Likewise.
618         * mep-tdep.c (mep_register_name): Likewise.
619         (mep_analyze_prologue): Likewise.
620         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Likewise.
621         * mi/mi-interp.c (mi_on_sync_execution_done): Likewise.
622         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
623         * microblaze-linux-tdep.c (microblaze_linux_init_abi): Likewise.
624         * minidebug.c (lzma_open): Likewise.
625         * minsyms.c (lookup_minimal_symbol): Likewise.
626         * mips-linux-tdep.c (mips64_fill_fpregset): Likewise.
627         * mips-tdep.c (mips_stub_frame_sniffer): Likewise.
628         (mips_o64_return_value): Likewise.
629         (mips_single_step_through_delay): Likewise.
630         (_initialize_mips_tdep): Likewise.
631         * nios2-tdep.c (nios2_push_dummy_call): Likewise.
632         (nios2_software_single_step): Likewise.
633         * parse.c (find_minsym_type_and_address): Likewise.
634         * psymtab.c (psym_relocate): Likewise.
635         * python/py-breakpoint.c (bppy_get_commands): Likewise.
636         (gdbpy_breakpoint_modified): Likewise.
637         * python/py-infevents.c (create_inferior_call_event_object):
638         Likewise.
639         * python/py-record-btrace.c (btpy_list_item): Likewise.
640         * python/py-type.c (typy_str): Likewise.
641         * python/py-value.c (valpy_call): Likewise.
642         * python/python.c (do_start_initialization): Likewise.
643         * record-btrace.c (record_btrace_insn_history_range): Likewise.
644         (record_btrace_call_history_range): Likewise.
645         (record_btrace_record_method): Likewise.
646         (record_btrace_xfer_partial): Likewise.
647         (btrace_get_frame_function): Likewise.
648         * record-full.c (record_full_open): Likewise.
649         * record.c (get_context_size): Likewise.
650         * registry.h (DEFINE_REGISTRY): Likewise.
651         * remote-fileio.c (remote_fileio_request): Likewise.
652         * remote.c (remote_update_thread_list): Likewise.
653         (remote_check_symbols): Likewise.
654         (remote_commit_resume): Likewise.
655         (remote_interrupt): Likewise.
656         (remote_insert_breakpoint): Likewise.
657         (compare_sections_command): Likewise.
658         * rust-exp.y (super_name): Likewise.
659         (lex_string): Likewise.
660         (convert_ast_to_type): Likewise.
661         (convert_ast_to_expression): Likewise.
662         * rust-lang.c (rust_print_struct_def): Likewise.
663         (rust_print_type): Likewise.
664         (rust_evaluate_subexp): Likewise.
665         * rx-tdep.c (rx_register_type): Likewise.
666         * ser-event.c (serial_event_clear): Likewise.
667         * serial.c (serial_open): Likewise.
668         * spu-tdep.c (spu_overlay_new_objfile): Likewise.
669         * symfile.c (section_is_overlay): Likewise.
670         (overlay_unmapped_address): Likewise.
671         (overlay_mapped_address): Likewise.
672         (simple_overlay_update_1): Likewise.
673         (simple_overlay_update): Likewise.
674         * symtab.c (symbol_find_demangled_name): Likewise.
675         (search_symbols): Likewise.
676         * target-descriptions.c (tdesc_predefined_type): Likewise.
677         * target.c (target_commit_resume): Likewise.
678         * thread.c (print_selected_thread_frame): Likewise.
679         * top.c (new_ui_command): Likewise.
680         (gdb_readline_no_editing): Likewise.
681         * tracefile-tfile.c (tfile_open): Likewise.
682         * tracepoint.c (create_tsv_from_upload): Likewise.
683         * utils.c (quit): Likewise.
684         (defaulted_query): Likewise.
685         * valarith.c (value_concat): Likewise.
686         * xml-syscall.c (xml_list_syscalls_by_group): Likewise.
687         * xml-tdesc.c (target_fetch_description_xml): Likewise.
688         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
689         (xtensa_pseudo_register_write): Likewise.
690
691 2017-12-04  Tom Tromey  <tom@tromey.com>
692
693         * NEWS: Mention Rust trait object inspection.
694
695 2017-12-04  Pedro Alves  <palves@redhat.com>
696
697         PR gdb/22499
698         * amd64-tdep.c (amd64_insn::rex_offset): Rename to...
699         (amd64_insn::enc_prefix_offset): ... this, and tweak comment.
700         (vex2_prefix_p, vex3_prefix_p): New functions.
701         (amd64_get_insn_details): Adjust to rename.  Also skip VEX2 and
702         VEX3 prefixes.
703         (fixup_riprel): Set VEX3.!B.
704
705 2017-12-03  Simon Marchi  <simon.marchi@ericsson.com>
706
707         * target.h (mem_region_vector): Remove.
708         (struct target_ops) <to_memory_map>: Change return type to
709         std::vector<mem_region>.
710         * target-debug.h (target_debug_print_mem_region_vector): Rename
711         to ...
712         (target_debug_print_std_vector_mem_region): ... this.
713         * target-delegates.c: Re-generate.
714
715 2017-12-03  Pedro Alves  <palves@redhat.com>
716
717         * make-target-delegates (munge_type): Also munge '<', '>', and
718         ':'.  Avoid double underscores in identifiers, and trailing
719         underscores.
720         * target-debug.h
721         (target_debug_print_VEC_static_tracepoint_marker_p__p): Rename to
722         ...
723         (target_debug_print_VEC_static_tracepoint_marker_p_p): ... this.
724         * target-delegates.c: Regenerate.
725
726 2017-12-02  Simon Marchi  <simon.marchi@polymtl.ca>
727
728         * common/poison.h (XDELETE): Fix typo.
729
730 2017-12-01  Andrew Cagney  <cagney@redhat.com>
731             Joel Brobecker  <brobecker@adacore.com>
732             Sergio Durigan Junior  <sergiodj@redhat.com>
733
734         * NEWS (Changes since GDB 8.0: Mention new '--readnever'
735         feature.
736         * coffread.c (coff_symfile_read): Do not map over sections with
737         'coff_locate_sections' if readnever is on.
738         * dwarf2read.c (dwarf2_has_info): Return 0 if
739         readnever is on.
740         * elfread.c (elf_symfile_read): Do not map over sections with
741         'elf_locate_sections' if readnever is on.
742         * main.c (validate_readnow_readnever): New function.
743         (captured_main_1): Add support for --readnever.
744         (print_gdb_help): Document --readnever.
745         * objfile-flags.h (enum objfile_flag) <OBJF_READNEVER>: New
746         flag.
747         * symfile.c (readnever_symbol_files): New global.
748         (symbol_file_add_with_addrs): Set 'OBJF_READNEVER' when
749         'READNEVER_SYMBOL_FILES' is set.
750         (validate_readnow_readnever): New function.
751         (symbol_file_command): Handle '-readnever' option.
752         Call 'validate_readnow_readnever'.
753         (add_symbol_file_command): Handle '-readnever' option.
754         Call 'validate_readnow_readnever'.
755         (_initialize_symfile): Document new '-readnever' option for
756         both 'symbol-file' and 'add-symbol-file' commands.
757         * top.h (readnever_symbol_files): New extern global.
758         * xcoffread.c (xcoff_initial_scan): Do not read debug
759         information if readnever is on.
760
761 2017-12-01  Sergio Durigan Junior  <sergiodj@redhat.com>
762
763         * symfile.c (symbol_file_command): Call
764         'symbol_file_add_main_1' only after processing all command
765         line options.
766         (add_symbol_file_command): Modify logic to make arguments
767         position-independent.
768
769 2017-12-01  Joel Brobecker  <brobecker@adacore.com>
770
771         * ada-lang.c (symbol_list_obstack): Delete.
772         (resolve_subexp): Make sure "candidates" gets xfree'ed.
773         (ada_lookup_symbol_list_worker): Remove the limitation that
774         the result is only good until the next call, now making it
775         the responsibility of the caller to free the result when no
776         longer needed.  Adjust the function's intro comment accordingly.
777         (ada_lookup_symbol_list): Adjust the function's intro comment.
778         (ada_iterate_over_symbols): Make sure "results" gets xfree'ed.
779         (ada_lookup_encoded_symbol, get_var_value): Likewise.
780         (_initialize_ada_language): Remove symbol_list_obstack
781         initialization.
782         * ada-exp.y (block_lookup): Make sure "syms" gets xfree'ed.
783         (write_var_or_type, write_name_assoc): Likewise.
784
785 2017-12-01  Tom Tromey  <tom@tromey.com>
786
787         * Makefile.in (all_deps_files): New variable.
788         Include .Po files using all_deps_files.
789
790 2017-12-01  Joel Brobecker  <brobecker@adacore.com>
791
792         * MAINTAINERS: Update list of maintainers, moving those who
793         stepped down or became inactive to the "Past Maintainers"
794         section.
795
796 2017-11-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
797
798         * configure.ac Don't check for sys/fault.h, sys/syscall.h,
799         sys/proc.h.
800         (NEW_PROC_API): Remove.
801         (prsysent_t, pr_sigset_t, pr_sigaction64_t, pr_siginfo64_t):
802         Likewise.
803         * common/common.m4 (GDB_AC_COMMON): Don't check for sys/syscall.h.
804         * configure: Regenerate.
805         * config.in: Regenerate.
806         * gdbserver/configure: Regenerate.
807         * gdbserver/config.in: Regenerate.
808
809         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Remove
810         NEW_PROC_API test.
811         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Likewise.
812
813         * linux-btrace.c: Remove HAVE_SYS_SYSCALL_H test.
814
815         * proc-api.c: Remove !NEW_PROC_API support.
816         Remove HAVE_SYS_PROC_H and HAVE_SYS_USER_H tests.
817         Remove tests for macros always defined on Solaris.
818         * proc-events.c: Remove !NEW_PROC_API support.
819         Remove Remove HAVE_SYS_SYSCALL_H, HAVE_SYS_PROC_H and
820         HAVE_SYS_USER_H tests.
821         (init_syscall_table): Remove non-Solaris syscalls.
822         Remove tests for syscalls present on all Solaris versions.
823         Add missing Solaris 10+ syscalls.
824         (signal_table): Remove non-Solaris signals.
825         Remove tests for signals present on all Solaris versions.
826         (fault_table): Remove non-Solaris faults.
827         Remove tests for faults present on all Solaris versions.
828         * proc-flags.c: Remove !NEW_PROC_API support.
829         (pr_flag_table): Remove non-Solaris and pre-Solaris 7 comments.
830         Remove non-Solaris flags.
831         * proc-why.c: Remove !NEW_PROC_API support.
832         (pr_why_table): Remove meaningless comments.
833         Remove tests for reasons present on all Solaris versions.
834         Remove OSF/1 cases.
835         (proc_prettyfprint_why): Likewise.
836
837         * procfs.c: Remove !NEW_PROC_API and DYNAMIC_SYSCALLS support.
838         Remove HAVE_SYS_FAULT_H and HAVE_SYS_SYSCALL_H tests.
839         Remove WA_READ test, IRIX watchpoint support.
840         (gdb_sigset_t, gdb_sigaction_t, gdb_siginfo_t): Replace by base
841         types.  Change users.
842         (gdb_praddset, gdb_prdelset, gdb_premptysysset, gdb_praddsysset)
843         (gdb_prdelset, gdb_pr_issyssetmember): Replace by base macros.
844         Change callers.
845         Remove CTL_PROC_NAME_FMT tests.
846         (gdb_prstatus_t, gdb_lwpstatus_t): Replace by base types.  Change
847         users.
848         (sysset_t_size): Remove.  Use sizeof (sysset_t) in callers.
849         Remove PROCFS_DONT_PIOCSSIG_CURSIG support.
850         (proc_modify_flag): Replace GDBRESET by PCUNSET.
851         Remove PR_ASYNC, PR_KLC tests.
852         (proc_unset_inherit_on_fork): Remove PR_ASYNC test.
853         (proc_parent_pid): Remove PCWATCH etc. tests.
854         (proc_set_watchpoint): Remove !PCWATCH && !PIOCSWATCH support.
855         Remove PCAGENT test.
856         (proc_get_nthreads) [PIOCNTHR && PIOCTLIST]: Remove.
857         Remove SYS_lwpcreate || SYS_lwp_create test.
858         (proc_get_current_thread): Likewise.
859         [PIOCNTHR && PIOCTLIST]: Remove.
860         [PIOCLSTATUS]: Remove.
861         (procfs_debug_inferior): Remove non-Solaris cases, conditionals.
862         [PRFS_STOPEXEC]: Remove.
863         (syscall_is_lwp_exit): Remove non-Solaris cases, conditionals.
864         (syscall_is_exit): Likewise.
865         (syscall_is_exec): Likewise.
866         (syscall_is_lwp_create): Likewise.
867         Remove SYS_syssgi support.
868         (procfs_wait): Remove PR_ASYNC, !PIOCSSPCACT tests.
869         [SYS_syssgi]: Remove.
870         Remove non-Solaris cases, conditionals.
871         (unconditionally_kill_inferior) [PROCFS_NEED_PIOCSSIG_FOR_KILL]:
872         Remove.
873         (procfs_init_inferior) [SYS_syssgi]: Remove.
874         (procfs_set_exec_trap) [PRFS_STOPEXEC]: Remove.
875         (procfs_inferior_created) [SYS_syssgi]: Remove.
876         (procfs_set_watchpoint): Remove !AIX5 test.
877         (procfs_stopped_by_watchpoint): Remove FLTWATCH test, FLTKWATCH
878         case.
879         (mappingflags) [MA_PHYS]: Remove.
880         (info_mappings_callback): Remove PCAGENT test.
881         Remove PIOCOPENLWP || PCAGENT test.
882
883 2017-11-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
884
885         * sol-thread.c (info_solthreads): Constify args.
886         Cast args to void *.
887
888 2017-11-29  John Baldwin  <jhb@FreeBSD.org>
889
890         * target-float.c [HAVE_LIBMPFR]: Define MPFR_USE_INTMAX_T.
891
892 2017-11-29  Joel Brobecker  <brobecker@adacore.com>
893
894         * ada-lang.c (to_fixed_range_type): Make sure that the size
895         of the range type being returned is the same as the size
896         of the range type being fixed.
897
898 2017-11-29  Pedro Alves  <palves@redhat.com>
899
900         PR c++/19436
901         * NEWS: Mention setting breakpoints on functions with C++ ABI
902         tags.
903         * completer.h (completion_match_for_lcd) <match,
904         mark_ignored_range>: New methods.
905         <finish>: Consider ignored ranges.
906         <clear>: Clear ignored ranges.
907         <m_ignored_ranges, m_finished_storage>: New fields.
908         * cp-support.c (cp_search_name_hash): Ignore ABI tags.
909         (cp_symbol_name_matches_1, cp_fq_symbol_name_matches): Pass the
910         completion_match_for_lcd pointer to strncmp_iw_with_mode.
911         (test_cp_symbol_name_cmp): Add [abi:...] tags unit tests.
912         * language.c (default_symbol_name_matcher): Pass the
913         completion_match_for_lcd pointer to strncmp_iw_with_mode.
914         * linespec.c (linespec_lexer_lex_string): Don't tokenize ABI tags.
915         * utils.c (skip_abi_tag): New function.
916         (strncmp_iw_with_mode): Add completion_match_for_lcd parameter.
917         Handle ABI tags.
918         * utils.h (strncmp_iw_with_mode): Add completion_match_for_lcd
919         parameter.
920
921 2017-11-29  Pedro Alves  <palves@redhat.com>
922
923         PR c++/19436
924         * NEWS: Mention setting breakpoints on functions with C++ ABI
925         tags.
926         * completer.h (completion_match_for_lcd) <match,
927         mark_ignored_range>: New methods.
928         <finish>: Consider ignored ranges.
929         <clear>: Clear ignored ranges.
930         <m_ignored_ranges, m_finished_storage>: New fields.
931         * cp-support.c (cp_search_name_hash): Ignore ABI tags.
932         (cp_symbol_name_matches_1, cp_fq_symbol_name_matches): Pass the
933         completion_match_for_lcd pointer to strncmp_iw_with_mode.
934         (test_cp_symbol_name_cmp): Add [abi:...] tags unit tests.
935         * language.c (default_symbol_name_matcher): Pass the
936         completion_match_for_lcd pointer to strncmp_iw_with_mode.
937         * linespec.c (linespec_lexer_lex_string): Don't tokenize ABI tags.
938         * utils.c (skip_abi_tag): New function.
939         (strncmp_iw_with_mode): Add completion_match_for_lcd parameter.
940         Handle ABI tags.
941         * utils.h (strncmp_iw_with_mode): Add completion_match_for_lcd
942         parameter.
943
944 2017-11-29  Pedro Alves  <palves@redhat.com>
945
946         * NEWS: Mention that breakpoints on C++ functions are now set on
947         on all namespaces/classes by default, and mention "break
948         -qualified".
949         * ax-gdb.c (agent_command_1): Adjust to pass a
950         symbol_name_match_type to new_linespec_location.
951         * breakpoint.c (parse_breakpoint_sals): Adjust to
952         get_linespec_location's return type change.
953         (strace_marker_create_sals_from_location): Adjust to pass a
954         symbol_name_match_type to new_linespec_location.
955         (strace_marker_decode_location): Adjust to get_linespec_location's
956         return type change.
957         (strace_command): Adjust to pass a symbol_name_match_type to
958         new_linespec_location.
959         (LOCATION_HELP_STRING): Add paragraph about wildmatching, and
960         mention "-qualified".
961         * c-lang.c (cplus_language_defn): Install cp_search_name_hash.
962         * completer.c (explicit_location_match_type::MATCH_QUALIFIED): New
963         enumerator.
964         (complete_address_and_linespec_locations): New parameter
965         'match_type'.  Pass it down.
966         (explicit_options): Add "-qualified".
967         (collect_explicit_location_matches): Pass the requested match type
968         to the linespec completers.  Handle MATCH_QUALIFIED.
969         (location_completer): Handle "-qualified" combined with linespecs.
970         * cp-support.c (cp_search_name_hash): New.
971         (cp_symbol_name_matches_1): Implement wild matching for C++.
972         (cp_fq_symbol_name_matches): Reimplement.
973         (cp_get_symbol_name_matcher): Return different matchers depending
974         on the lookup name's match type.
975         (selftests::test_cp_symbol_name_matches): Add wild matching tests.
976         * cp-support.h (cp_search_name_hash): New declaration.
977         * dwarf2read.c
978         (selftests::dw2_expand_symtabs_matching::test_symbols): Add
979         symbols.
980         (test_dw2_expand_symtabs_matching_symbol): Add wild matching
981         tests.
982         * guile/scm-breakpoint.c (gdbscm_register_breakpoint_x): Adjust to
983         pass a symbol_name_match_type to new_linespec_location.
984         * linespec.c (linespec_parse_basic): Lookup function symbols using
985         the parser's symbol name match type.
986         (convert_explicit_location_to_linespec): New
987         symbol_name_match_type parameter.  Pass it down to
988         find_linespec_symbols.
989         (convert_explicit_location_to_sals): Pass the location's name
990         match type to convert_explicit_location_to_linespec.
991         (parse_linespec): New match_type parameter.  Save it in the
992         parser.
993         (linespec_parser_new): Default to symbol_name_match_type::WILD.
994         (linespec_complete_function): New symbol_name_match_type
995         parameter.  Use it.
996         (complete_linespec_component): Pass down the parser's recorded
997         name match type.
998         (linespec_complete_label): New symbol_name_match_type parameter.
999         Use it.
1000         (linespec_complete): New symbol_name_match_type parameter.  Save
1001         it in the parser and pass it down.  Adjust to
1002         get_linespec_location's prototype change.
1003         (find_function_symbols, find_linespec_symbols): New
1004         symbol_name_match_type parameter.  Pass it down instead of
1005         assuming symbol_name_match_type::WILD.
1006         * linespec.h (linespec_complete, linespec_complete_function)
1007         (linespec_complete_label): New symbol_name_match_type parameter.
1008         * location.c (event_location::linespec_location): Now a struct
1009         linespec_location.
1010         (EL_LINESPEC): Adjust.
1011         (initialize_explicit_location): Default to
1012         symbol_name_match_type::WILD.
1013         (new_linespec_location): New symbol_name_match_type parameter.
1014         Record it in the location.
1015         (get_linespec_location): Now returns a struct linespec_location.
1016         (new_explicit_location): Also copy func_name_match_type.
1017         (explicit_to_string_internal)
1018         (string_to_explicit_location): Handle "-qualified".
1019         (copy_event_location): Adjust to LINESPEC_LOCATION type change.
1020         Copy symbol_name_match_type fields.
1021         (event_location_deleter::operator()): Adjust to LINESPEC_LOCATION
1022         type change.
1023         (event_location_to_string): Adjust to LINESPEC_LOCATION type
1024         change.  Handle "-qualfied".
1025         (string_to_explicit_location): Handle "-qualified".
1026         (string_to_event_location_basic): New symbol_name_match_type
1027         parameter.  Pass it down.
1028         (string_to_event_location): Handle "-qualified".
1029         * location.h (struct linespec_location): New.
1030         (explicit_location::func_name_match_type): New field.
1031         (new_linespec_location): Now returns a const linespec_location *.
1032         (string_to_event_location_basic): New symbol_name_match_type
1033         parameter.
1034         (explicit_completion_info::saw_explicit_location_option): New
1035         field.
1036         * mi/mi-cmd-break.c (mi_cmd_break_insert_1): Adjust to pass a
1037         symbol_name_match_type to new_linespec_location.
1038         * python/py-breakpoint.c (bppy_init): Likewise.
1039         * python/python.c (gdbpy_decode_line): Likewise.
1040
1041 2017-11-29  Pedro Alves  <palves@redhat.com>
1042
1043         * ada-lang.c (ada_lookup_name_info::matches): Change type of
1044         parameter from completion_match to completion_match_result.
1045         Adjust.
1046         (do_wild_match, do_full_match, ada_symbol_name_matches): Likewise.
1047         * completer.c (completion_tracker::maybe_add_completion): Add
1048         match_for_lcd parameter and use it.
1049         (completion_tracker::add_completion): Likewise.
1050         * completer.h (class completion_match_for_lcd): New class.
1051         (completion_match_result::match_for_lcd): New field.
1052         (completion_match_result::set_match): New method.
1053         (completion_tracker): Add comments.
1054         (completion_tracker::add_completion): Add match_for_lcd parameter.
1055         (completion_tracker::reset_completion_match_result): Reset
1056         match_for_lcd too.
1057         (completion_tracker::maybe_add_completion): Add match_for_lcd
1058         parameter.
1059         (completion_tracker::m_lowest_common_denominator_unique): Extend
1060         comments.
1061         * cp-support.c (cp_symbol_name_matches_1)
1062         (cp_fq_symbol_name_matches): Change type of parameter from
1063         completion_match to completion_match_result.  Adjust.
1064         * language.c (default_symbol_name_matcher): Change type of
1065         parameter from completion_match to completion_match_result.
1066         Adjust.
1067         * language.h (completion_match_for_lcd): Forward declare.
1068         (default_symbol_name_matcher): Change type of parameter from
1069         completion_match to completion_match_result.
1070         * symtab.c (compare_symbol_name): Adjust.
1071         (completion_list_add_name): Pass the match_for_lcd to the tracker.
1072         * symtab.h (ada_lookup_name_info::matches): Change type of
1073         parameter from completion_match to completion_match_result.
1074         (symbol_name_matcher_ftype): Likewise, and update comments.
1075
1076 2017-11-29  Pedro Alves  <palves@redhat.com>
1077
1078         * linespec.c (minsym_found, add_minsym): Use msymbol_is_function.
1079         * minsyms.c (msymbol_is_text): Delete.
1080         (msymbol_is_function): New function.
1081         * minsyms.h (msymbol_is_text): Delete.
1082         (msymbol_is_function): New declaration.
1083         * symtab.c (find_function_alias_target): Use msymbol_is_function.
1084
1085 2017-11-29  Tom Tromey  <tom@tromey.com>
1086
1087         * Makefile.in (distclean): Handle the case where rmdir fails.
1088
1089 2017-11-29  Tom Tromey  <tom@tromey.com>
1090
1091         * symfile.c (_initialize_symfile): Update usage text for
1092         add-symbol-file, symbol-file, load.
1093
1094 2017-11-29  Tom Tromey  <tom@tromey.com>
1095
1096         * symfile.c (add_symbol_file_command): Error if some arguments to
1097         -s are missing.  Change unrecognized-argument error message.
1098         (_initialize_symfile): Fix usage text for add-symbol-file.
1099
1100 2017-11-27  Tom Tromey  <tom@tromey.com>
1101
1102         * Makefile.in (REMOTE_OBS): Remove.
1103         (SFILES): Remove remote sources.
1104         (COMMON_SFILES): Add remote sources.
1105         (ALLDEPFILES): Remove dcache.c.
1106
1107 2017-11-27  Tom Tromey  <tom@tromey.com>
1108
1109         * Makefile.in (SUBDIR_TARGET_SRCS, SUBDIR_TARGET_OBS): New
1110         variables.
1111         (SFILES): Use SUBDIR_TARGET_SRCS.
1112         (COMMON_OBS): Use SUBDIR_TARGET_OBS.  Remove waitstatus.o.
1113         (CONFIG_SRC_SUBDIR): Add target.
1114         (%.o): Remove target rule.
1115
1116 2017-11-27  Tom Tromey  <tom@tromey.com>
1117
1118         * Makefile.in (COMMON_OBS): Remove filename-seen-cache.o,
1119         registry.o, thread-fsm.o, debug.o.
1120         (COMMON_SFILES): Add filename-seen-cache.c, registry.c,
1121         thread-fsm.c, debug.c.
1122
1123 2017-11-27  Tom Tromey  <tom@tromey.com>
1124
1125         * Makefile.in (COMMON_SFILES): New.
1126         (SFILES): Move some entries to COMMON_SFILES.
1127         (COMMON_OBS): Use COMMON_SFILES.
1128
1129 2017-11-27  Tom Tromey  <tom@tromey.com>
1130
1131         * Makefile.in (YYFILES): Update comment.
1132         (YYOBJ): Redefine.
1133
1134 2017-11-27  Tom Tromey  <tom@tromey.com>
1135
1136         * Makefile.in (SUBDIR_PYTHON_OBS): Redefine.
1137         (CONFIG_SRC_SUBDIR): Add python.
1138         (%.o): Remove python rule.
1139         (python/%.o): New rule.
1140         * configure: Rebuild.
1141         * configure.ac (CONFIG_OBS): Refer to python/python.o
1142
1143 2017-11-27  Tom Tromey  <tom@tromey.com>
1144
1145         * configure: Rebuild.
1146         * configure.ac (CONFIG_OBS): Refer to guile/guile.o.
1147         * Makefile.in (SUBDIR_GUILE_OBS): Redefine.
1148         (CONFIG_SRC_SUBDIR): Add guile.
1149         (%.o): Remove guile rule.
1150
1151 2017-11-27  Tom Tromey  <tom@tromey.com>
1152
1153         * Makefile.in (SUBDIR_UNITTESTS_OBS): Redefine.
1154         (%.o): Remove unittests rule.
1155         (CONFIG_SRC_SUBDIR): Add unittests.
1156
1157 2017-11-27  Tom Tromey  <tom@tromey.com>
1158
1159         * Makefile.in (SUBDIR_TUI_OBS): Redefine.
1160         (CONFIG_SRC_SUBDIR): Add tui.
1161         (%.o): Remove tui rule.
1162
1163 2017-11-27  Tom Tromey  <tom@tromey.com>
1164
1165         * Makefile.in (SUBDIR_GCC_COMPILE_OBS): Redefine.
1166         (%.o): Remove compile rule.
1167         (CONFIG_SRC_SUBDIR): Add compile.
1168
1169 2017-11-27  Tom Tromey  <tom@tromey.com>
1170
1171         * Makefile.in (SUBDIR_MI_OBS): Redefine.
1172         (%.o): Remove mi rule.
1173         (CONFIG_SRC_SUBDIR): Add mi.
1174         (COMMON_OBS): Use mi/mi-common.o
1175
1176 2017-11-27  Tom Tromey  <tom@tromey.com>
1177
1178         * Makefile.in (SUBDIR_CLI_OBS): Redefine.
1179         (%.o): Remove cli rule.
1180         (CONFIG_SRC_SUBDIR): Add cli.
1181
1182 2017-11-27  Tom Tromey  <tom@tromey.com>
1183
1184         * configure.ac (CONFIG_SRC_SUBDIR): Don't subst.
1185         * configure: Rebuild.
1186         * Makefile.in (CONFIG_SRC_SUBDIR): Redefine.
1187         (CONFIG_DEP_SUBDIR): New variable.
1188         (%.o): Add order-only dependency.
1189         ($(CONFIG_DEP_SUBDIR)): New target.
1190
1191 2017-11-26  Dominik Czarnota  <dominik.b.czarnota@gmail.com>
1192
1193         PR gdb/21945
1194         * findcmd.c (_initialize_mem_search): Update find command help
1195         text.
1196
1197 2017-11-26  Simon Marchi  <simon.marchi@polymtl.ca>
1198
1199         * python/python.c (do_start_initialization): Change progname
1200         type to gdb::unique_xmalloc_ptr.  Release the pointer when using
1201         Python 2.
1202
1203 2017-11-26  Tom Tromey  <tom@tromey.com>
1204
1205         * common/format.h: Add include guards.
1206
1207 2017-11-26  Tom Tromey  <tom@tromey.com>
1208
1209         * nat/linux-personality.h (class
1210         maybe_disable_address_space_randomization): New class.
1211         (maybe_disable_address_space_randomization): Don't declare
1212         function.
1213         * nat/linux-personality.c (restore_personality)
1214         (make_disable_asr_cleanup): Remove.
1215         (maybe_disable_address_space_randomization): Now a constructor.
1216         (~maybe_disable_address_space_randomization): New destructor.
1217         * linux-nat.c (linux_nat_create_inferior): Update.
1218
1219 2017-11-26  Tom Tromey  <tom@tromey.com>
1220
1221         * gcore.c (write_gcore_file_1): Use gdb::unique_xmalloc_ptr.
1222
1223 2017-11-26  Ulrich Weigand  <uweigand@de.ibm.com>
1224
1225         * spu-tdep.c (spu_software_single_step): Access SPU_LSLR_REGNUM as
1226         "cooked" register.  Access only first four bytes of branch target
1227         registers.
1228
1229 2017-11-25  Sergio Durigan Junior  <sergiodj@redhat.com>
1230
1231         PR gdb/22491
1232         * stap-probe.c (relocate_address): New function.
1233         (stap_probe::get_relocated_address): Use 'relocate_address'.
1234         (stap_probe::set_semaphore): Use 'relocate_address' and pass
1235         'm_sem_addr'.
1236         (stap_probe::clear_semaphore): Likewise.
1237
1238 2017-11-25  Pedro Alves  <palves@redhat.com>
1239
1240         * dictionary.c: Include "safe-ctype.h".
1241         * minsyms.c: Include "safe-ctype.h".
1242         * minsyms.c (SYMBOL_HASH_NEXT): Use TOLOWER instead of tolower.
1243
1244 2017-11-25   Pedro Alves  <palves@redhat.com>
1245
1246         * completer.c (complete_line_internal_1): Skip spaces until the
1247         start of the command.
1248
1249 2017-11-24  Pedro Alves  <palves@redhat.com>
1250
1251         * cp-support.c (cp_symbol_name_matches_1): New, factored out from
1252         cp_fq_symbol_name_matches.  Pass language_cplus to
1253         strncmp_with_mode.
1254         (cp_fq_symbol_name_matches): Call cp_symbol_name_matches_1.
1255         (selftests::test_cp_symbol_name_cmp): New.
1256         (_initialize_cp_support): Register "cp_symbol_name_matches"
1257         selftests.
1258         * language.c (default_symbol_name_matcher): Pass language_minimal
1259         to strncmp_iw_with_mode.
1260         * utils.c: Include "cp-support.h" and <algorithm>.
1261         (valid_identifier_name_char, cp_skip_operator_token, skip_ws)
1262         (cp_is_operator): New functions.
1263         (strncmp_iw_with_mode): Use them.  Add language parameter.  Don't
1264         skip whitespace in the symbol name when the lookup name doesn't
1265         have spaces, and vice versa.
1266         (strncmp_iw, strcmp_iw): Pass language to strncmp_iw_with_mode.
1267         * utils.h (strncmp_iw_with_mode): Add language parameter.
1268
1269 2017-11-24  Joel Brobecker  <brobecker@adacore.com>
1270
1271         * ada-lang.c (ada_exception_message_1, ada_exception_message):
1272         New functions.
1273         (print_it_exception): If available, display the exception
1274         message as well.
1275         * NEWS: Document new feature.
1276
1277 2017-11-24  Ulrich Weigand  <uweigand@de.ibm.com>
1278
1279         * configure.nat <spu-linux>: Add fork-inferior.o to NATDEPFILES.
1280
1281 2017-11-24  Philipp Rudo  <prudo@linux.vnet.ibm.com>
1282
1283         * dtrace-probe.c (dtrace_probe::build_arg_exprs)
1284         (dtrace_probe::is_enabled, dtrace_probe::enable)
1285         (dtrace_probe::disable): Remove keyword 'struct' at for-range
1286         variable
1287         * probe.c (gen_ui_out_table_header_info)
1288         (print_ui_out_not_applicables):  Remove keyword 'struct' at
1289         for-range variable
1290
1291 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1292
1293         * configure.tgt: Add arch/aarch64.o
1294
1295 2017-11-24  Simon Marchi  <simon.marchi@polymtl.ca>
1296
1297         * common/common-utils.h: Include poison.h.
1298         (xfree): Remove declaration, add definition with static_assert.
1299         * common/common-utils.c (xfree): Remove.
1300         * common/poison.h (IsMallocatable): Define.
1301         (IsFreeable): Define.
1302         (free): Delete for non-freeable types.
1303         (xnew): New.
1304         (XNEW): Undef and redefine.
1305         (xcnew): New.
1306         (XCNEW): Undef and redefine.
1307         (xdelete): New.
1308         (XDELETE): Undef and redefine.
1309         (xnewvec): New.
1310         (XNEWVEC): Undef and redefine.
1311         (xcnewvec): New.
1312         (XCNEWVEC): Undef and redefine.
1313         (xresizevec): New.
1314         (XRESIZEVEC): Undef and redefine.
1315         (xdeletevec): New.
1316         (XDELETEVEC): Undef and redefine.
1317         (xnewvar): New.
1318         (XNEWVAR): Undef and redefine.
1319         (xcnewvar): New.
1320         (XCNEWVAR): Undef and redefine.
1321         (xresizevar): New.
1322         (XRESIZEVAR): Undef and redefine.
1323
1324 2017-11-24  Simon Marchi  <simon.marchi@polymtl.ca>
1325
1326         * gdbthread.h (private_thread_info): Define structure type, add
1327         virtual pure destructor.
1328         (thread_info) <priv>: Change type to unique_ptr.
1329         <private_dtor>: Remove.
1330         * thread.c (add_thread_with_info): Adjust to use of unique_ptr.
1331         (private_thread_info::~private_thread_info): Provide default
1332         implementation.
1333         (thread_info::~thread_info): Don't call private_dtor nor
1334         manually free priv.
1335         * aix-thread.c (private_thread_info): Rename to ...
1336         (aix_thread_info): ... this.
1337         (get_aix_thread_info): New.
1338         (sync_threadlists): Adjust.
1339         (iter_tid): Adjust.
1340         (aix_thread_resume): Adjust.
1341         (aix_thread_fetch_registers): Adjust.
1342         (aix_thread_store_registers): Adjust.
1343         (aix_thread_extra_thread_info): Adjust.
1344         * darwin-nat.h (private_thread_info): Rename to ...
1345         (darwin_thread_info): ... this.
1346         (get_darwin_thread_info): New.
1347         * darwin-nat.c (darwin_init_thread_list): Adjust.
1348         (darwin_check_new_threads): Adjust.
1349         (thread_info_from_private_thread_info): Adjust.
1350         * linux-thread-db.c (private_thread_info): Rename to ...
1351         (thread_db_thread_info): ... this, initialize fields.
1352         (get_thread_db_thread_info): New.
1353         <dying>: Change type to bool.
1354         (update_thread_state): Adjust to type rename.
1355         (record_thread): Adjust to type rename an use of unique_ptr.
1356         (thread_db_pid_to_str): Likewise.
1357         (thread_db_extra_thread_info): Likewise.
1358         (thread_db_thread_handle_to_thread_info): Likewise.
1359         (thread_db_get_thread_local_address): Likewise.
1360         * nto-tdep.h (private_thread_info): Rename to ...
1361         (nto_thread_info): ... this, initialize fields.
1362         (get_nto_thread_info): New.
1363         <name>: Change type to std::string.
1364         * nto-tdep.c (nto_extra_thread_info): Adjust to type rename and
1365         use of unique_ptr.
1366         * nto-procfs.c (update_thread_private_data_name): Adjust to
1367         std::string change, allocate nto_private_thread_info with new.
1368         (update_thread_private_data): Adjust to unique_ptr.
1369         * remote.c (private_thread_info): Rename to ...
1370         (remote_thread_info): ... this, initialize data members with
1371         default values.
1372         <extra, name>: Change type to std::string.
1373         <thread_handle>: Change type to non-pointer.
1374         (free_private_thread_info): Remove.
1375         (get_private_info_thread): Rename to...
1376         (get_remote_thread_info): ... this, change return type, adjust to
1377         use of unique_ptr, use remote_thread_info constructor.
1378         (remote_add_thread): Adjust.
1379         (get_private_info_ptid): Rename to...
1380         (get_remote_thread_info): ...this, change return type.
1381         (remote_thread_name): Use get_remote_thread_info, adjust to
1382         change to std::string.
1383         (struct thread_item) <~thread_item>: Remove.
1384         <thread_handle>: Make non pointer.
1385         (start_thread): Adjust to thread_item::thread_handle type
1386         change.
1387         (remote_update_thread_list): Adjust to type name change, move
1388         strings from temporary to long-lived object instead of
1389         duplicating.
1390         (remote_threads_extra_info): Use get_remote_thread_info.
1391         (process_initial_stop_replies): Likewise.
1392         (resume_clear_thread_private_info): Likewise.
1393         (remote_resume): Adjust to type name change.
1394         (remote_commit_resume): Use get_remote_thread_info.
1395         (process_stop_reply): Adjust to type name change.
1396         (remote_stopped_by_sw_breakpoint): Use get_remote_thread_info.
1397         (remote_stopped_by_hw_breakpoint): Likewise.
1398         (remote_stopped_by_watchpoint): Likewise.
1399         (remote_stopped_data_address): Likewise.
1400         (remote_core_of_thread): Likewise.
1401         (remote_thread_handle_to_thread_info): Use
1402         get_private_info_thread, adjust to thread_handle field type
1403         change.
1404
1405 2017-11-24  Simon Marchi  <simon.marchi@polymtl.ca>
1406
1407         * remote.c (struct thread_item): Add constructor, disable copy
1408         construction and copy assignment, define default move
1409         construction and move assignment.
1410         <extra, name>: Change type to std::string.
1411         <core>: Initialize.
1412         <thread_handle>: Make non-pointer.
1413         (thread_item_t): Remove typedef.
1414         (DEF_VEC_O(thread_item_t)): Remove.
1415         (threads_listing_context) <contains_thread>: New method.
1416         <remove_thread>: New method.
1417         <items>: Change type to std::vector.
1418         (clear_threads_listing_context): Remove.
1419         (threads_listing_context_remove): Remove.
1420         (remote_newthread_step): Use thread_item constructor, adjust to
1421         change to std::vector.
1422         (start_thread): Use thread_item constructor, adjust to change to
1423         std::vector.
1424         (end_thread): Adjust to change to std::vector and std::string.
1425         (remote_get_threads_with_qthreadinfo): Use thread_item
1426         constructor, adjust to std::vector.
1427         (remote_update_thread_list): Adjust to change to std::vector and
1428         std::string, use threads_listing_context methods.
1429         (remove_child_of_pending_fork): Adjust.
1430         (remove_new_fork_children): Adjust.
1431         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add rsp-low-selftests.c.
1432         (SUBDIR_UNITTESTS_OBS): Add rsp-low-selftests.o.
1433         * unittests/rsp-low-selftests.c: New file.
1434         * common/rsp-low.h: Include common/byte-vector.h.
1435         (hex2bin): New overload.
1436         * common/rsp-low.c (hex2bin): New overload.
1437
1438 2017-11-24  Simon Marchi  <simon.marchi@ericsson.com>
1439
1440         * inferior.h (private_inferior): Define structure type, add
1441         virtual pure destructor.
1442         (inferior) <priv>: Change type to unique_ptr.
1443         * inferior.c (private_inferior::~private_inferior): Provide
1444         default implementation.
1445         (inferior::~inferior): Don't free priv field.
1446         (exit_inferior_1): Likewise.
1447         * darwin-nat.h (struct darwin_exception_info): Initialize fields.
1448         (darwin_exception_info): Remove typedef.
1449         (DEF_VEC_O (darwin_thread_t)); Remove.
1450         (private_inferior): Rename to ...
1451         (darwin_private_inferior): ... this, extend private_inferior.
1452         (get_darwin_inferior): New.
1453         <threads>: Change type to std::vector of darwin_thread_t pointers.
1454         * darwin-nat.c (darwin_check_new_threads): Adjust.
1455         (find_inferior_task_it): Adjust.
1456         (darwin_find_thread); Adjust.
1457         (darwin_suspend_inferior): Adjust.
1458         (darwin_resume_inferior): Adjust.
1459         (darwin_find_new_inferior): Adjust.
1460         (darwin_decode_notify_message): Adjust.
1461         (darwin_send_reply): Adjust.
1462         (darwin_resume_inferior_threads): Adjust.
1463         (darwin_suspend_inferior_threads): Adjust.
1464         (darwin_decode_message): Adjust.
1465         (darwin_wait): Adjust.
1466         (darwin_interrupt): Adjust.
1467         (darwin_deallocate_threads): Adjust.
1468         (darwin_mourn_inferior): Adjust, don't free private data.
1469         (darwin_reply_to_all_pending_messages): Adjust.
1470         (darwin_stop_inferior): Adjust.
1471         (darwin_setup_exceptions): Adjust.
1472         (darwin_kill_inferior): Adjust.
1473         (darwin_setup_request_notification): Adjust.
1474         (darwin_attach_pid): Adjust.
1475         (darwin_init_thread_list): Adjust.
1476         (darwin_setup_fake_stop_event): Adjust.
1477         (darwin_attach): Adjust.
1478         (darwin_detach): Adjust.
1479         (darwin_xfer_partial): Adjust.
1480         (set_enable_mach_exceptions): Adjust.
1481         (darwin_pid_to_exec_file): Adjust.
1482         (darwin_get_ada_task_ptid): Adjust.
1483         * darwin-nat-info.c (get_task_from_args): Adjust.
1484         (info_mach_ports_command): Adjust.
1485         (info_mach_region_command): Adjust.
1486         (info_mach_exceptions_command): Adjust.
1487         * remote.c (private_inferior): Rename to ...
1488         (remote_private_inferior): ... this, initialize fields.
1489         (get_remote_inferior); New.
1490         (remote_commit_resume): Use get_remote_inferior.
1491         (check_pending_event_prevents_wildcard_vcont_callback): Likewise.
1492
1493 2017-11-24  Pedro Alves  <palves@redhat.com>
1494
1495         * NEWS: Mention linespecs and explicit locations, and completion
1496         improvements.
1497
1498 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1499
1500         * regcache.c (regcache::dump): Remove footnote_register_size.
1501
1502 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1503
1504         * regcache.c (cooked_read_test): Add more test for readonly
1505         regcache.
1506
1507 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1508
1509         * gdbarch-selftests.c (test_target_has_registers): Move it to
1510         target.c.
1511         (test_target_has_stack): Likewise.
1512         (test_target_has_memory): Likewise.
1513         (test_target_prepare_to_store): Likewise.
1514         (test_target_store_registers): Likewise.
1515         (test_target_ops): Likewise.
1516         * regcache.c: Include selftest-arch.h and gdbthread.h.
1517         (target_ops_no_register): New class.
1518         (test_target_fetch_registers): New.
1519         (test_target_store_registers): New.
1520         (test_target_xfer_partial): New.
1521         (readwrite_regcache): New.
1522         (cooked_read_test): New.
1523         (_initialize_regcache): Register the test.
1524         * target.c: (test_target_has_registers): Moved from
1525         gdbarch-selftests.c.
1526         (test_target_has_stack): Likewise.
1527         (test_target_has_memory): Likewise.
1528         (test_target_prepare_to_store): Likewise.
1529         (test_target_store_registers): Likewise.
1530         * target.h (test_target_ops): New class.
1531
1532 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1533
1534         * aarch64-tdep.c (_initialize_aarch64_tdep): Add target desc
1535         selftest.
1536
1537 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1538
1539         * aarch64-tdep.c (_initialize_aarch64_tdep): Remove init.
1540         * arch/aarch64.c (aarch64_create_target_description): Create
1541         new target description.
1542         * features/Makefile: Add new files.
1543         * features/aarch64.c: Remove file.
1544         * features/aarch64-core.c: New autogenerated file.
1545         * features/aarch64-fpu.c: New autogenerated file.
1546         * target-descriptions.c (maint_print_c_tdesc_cmd): Check for aarch64.
1547
1548 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1549
1550         * Makefile.in: Add new files.
1551         * aarch64-linux-nat.c (aarch64_linux_read_description): Call
1552         aarch64_read_description.
1553         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
1554         Call aarch64_read_description.
1555         * aarch64-tdep.c (aarch64_read_description): New function.
1556         (aarch64_gdbarch_init): Call aarch64_read_description.
1557         * aarch64-tdep.h (aarch64_read_description): New function.
1558         * arch/aarch64.c: New file.
1559         * configure.tgt: Add new files.
1560
1561 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1562
1563         * mi/mi-main.c (register_changed_p): Update.
1564         * value.c (value_contents_bits_eq): Change return type.
1565         (value_contents_eq): Likewise.
1566         * value.h: Update comments.
1567
1568 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1569
1570         * mi/mi-main.c (mi_cmd_data_list_changed_registers): Remove
1571         local 'changed'.  Remove error.
1572         (register_changed_p): Change return type to bool.
1573
1574 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1575
1576         * arch/tic6x.c: New file.
1577         * arch/tic6x.h: New file.
1578         * features/Makefile (FEATURE_XMLFILES): Add tic6x-c6xp.xml,
1579         tic6x-core.xml and tic6x-gp.xml.
1580         * features/tic6x-c6xp.c: Generated.
1581         * features/tic6x-core.c: Generated.
1582         * features/tic6x-gp.c: Generated.
1583         * target-descriptions.c (maint_print_c_tdesc_cmd): Match
1584         "tic6x-".
1585
1586 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1587
1588         * mi/mi-main.c (list_available_thread_groups): Change map value
1589         type to std::vector.
1590
1591 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1592
1593         * osdata.c (osdata_end_column, get_osdata): Remove std::move.
1594
1595 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1596
1597         * varobj.c (struct varobj_dynamic) <children_requested_>: Rename
1598         back to...
1599         <children_requested>: ... this.
1600         (varobj_get_num_children, varobj_update): Adjust.
1601
1602 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1603
1604         * ada-varobj.c (ada_value_is_changeable_p): Change int to bool where applicable.
1605         (ada_value_has_mutated): Likewise.
1606         * c-varobj.c (varobj_is_anonymous_child): Likewise.
1607         (c_is_path_expr_parent): Likewise.
1608         * mi/mi-cmd-var.c (varobj_update_one): Likewise.
1609         (mi_cmd_var_set_frozen): Likewise.
1610         (mi_cmd_var_update_iter): Likewise.
1611         (mi_cmd_var_update): Likewise.
1612         * varobj.c (pretty_printing): Likewise.
1613         (varobj_enable_pretty_printing): Likewise.
1614         (struct varobj_root) <floating, is_valid>: Likewise.
1615         (struct varobj_dynamic) <children_requested>: Likewise.
1616         (delete_variable): Likewise.
1617         (delete_variable_1): Likewise.
1618         (install_variable): Likewise.
1619         (update_type_if_necessary): Likewise.
1620         (install_new_value): Likewise.
1621         (value_of_root): Likewise.
1622         (is_root_p): Likewise.
1623         (varobj_create): Likewise.
1624         (varobj_delete): Likewise.
1625         (varobj_has_more): Likewise.
1626         (varobj_set_frozen): Likewise.
1627         (varobj_get_frozen): Likewise.
1628         (install_dynamic_child): Likewise.
1629         (dynamic_varobj_has_child_method): Likewise.
1630         (update_dynamic_varobj_children): Likewise.
1631         (varobj_get_num_children): Likewise.
1632         (varobj_list_children): Likewise.
1633         (is_path_expr_parent): Likewise.
1634         (varobj_default_is_path_expr_parent): Likewise.
1635         (varobj_is_dynamic_p): Likewise.
1636         (varobj_set_value): Likewise.
1637         (varobj_value_has_mutated): Likewise.
1638         (varobj_update): Likewise.
1639         (check_scope): Likewise.
1640         (value_of_root_1): Likewise.
1641         (varobj_value_get_print_value): Likewise.
1642         (varobj_editable_p): Likewise.
1643         (varobj_value_is_changeable_p): Likewise.
1644         (varobj_floating_p): Likewise.
1645         (varobj_default_value_is_changeable_p): Likewise.
1646         (varobj_invalidate_iter): Likewise.
1647         * varobj.h (struct varobj_update_result) <type_changed,
1648         children_changed, changed, value_installed>: Likewise.
1649         (struct varobj) <updated, frozen, not_fetched>: Likewise.
1650         (struct lang_varobj_ops) <value_is_changeable_p,
1651         value_has_mutated, is_path_expr_parent>: Likewise.
1652         (varobj_delete): Likewise.
1653         (varobj_set_frozen): Likewise.
1654         (varobj_get_frozen): Likewise.
1655         (varobj_set_value): Likewise.
1656         (varobj_update): Likewise.
1657         (varobj_editable_p): Likewise.
1658         (varobj_floating_p): Likewise.
1659         (varobj_has_more): Likewise.
1660         (varobj_is_dynamic_p): Likewise.
1661         (varobj_default_value_is_changeable_p): Likewise.
1662         (varobj_value_is_changeable_p): Likewise.
1663         (varobj_is_anonymous_child): Likewise.
1664         (varobj_default_is_path_expr_parent): Likewise.
1665
1666 2017-11-22  Sergio Durigan Junior  <sergiodj@redhat.com>
1667
1668         * dtrace-probe.c (struct probe_ops dtrace_probe_ops): Delete.
1669         (struct dtrace_probe_arg) <dtrace_probe_arg>: New constructor.
1670         <type_str>: Convert to 'std::string'.
1671         <expr>: Convert to 'expression_up'.
1672         (dtrace_probe_arg_s): Delete type and VEC.
1673         (dtrace_probe_enabler_s): Likewise.
1674         (struct dtrace_probe): Replace by...
1675         (class dtrace_static_probe_ops): ...this and...
1676         (class dtrace_probe): ...this.
1677         (dtrace_probe_is_linespec): Rename to...
1678         (dtrace_static_probe_ops::is_linespec): ...this.  Adjust code
1679         to reflect change.
1680         (dtrace_process_dof_probe): Use 'std::vector' instead of VEC.
1681         Adjust code.  Create new instance of 'dtrace_probe'.
1682         (dtrace_build_arg_exprs): Rename to...
1683         (dtrace_probe::build_arg_exprs): ...this.  Adjust code to
1684         reflect change.
1685         (dtrace_get_probes): Rename to...
1686         (dtrace_static_probe_ops::get_probes): ...this.  Adjust code
1687         to reflect change.
1688         (dtrace_get_arg): Rename to...
1689         (dtrace_probe::get_arg_by_number): ...this.  Adjust code to
1690         reflect change.
1691         (dtrace_probe_is_enabled): Rename to...
1692         (dtrace_probe::is_enabled): ...this.  Adjust code to reflect
1693         change.
1694         (dtrace_get_probe_address): Rename to...
1695         (dtrace_probe::get_relocated_address): ...this.  Adjust code
1696         to reflect change.
1697         (dtrace_get_probe_argument_count): Rename to...
1698         (dtrace_probe::get_argument_count): ...this.  Adjust code to
1699         reflect change.
1700         (dtrace_can_evaluate_probe_arguments): Rename to...
1701         (dtrace_probe::can_evaluate_arguments): ...this.  Adjust code
1702         to reflect change.
1703         (dtrace_evaluate_probe_argument): Rename to...
1704         (dtrace_probe::evaluate_argument): ...this.  Adjust code to
1705         reflect change.
1706         (dtrace_compile_to_ax): Rename to...
1707         (dtrace_probe::compile_to_ax): ...this.  Adjust code to
1708         reflect change.
1709         (dtrace_probe_destroy): Delete.
1710         (dtrace_type_name): Rename to...
1711         (dtrace_static_probe_ops::type_name): ...this.  Adjust code to
1712         reflect change.
1713         (dtrace_probe::get_static_ops): New method.
1714         (dtrace_gen_info_probes_table_header): Rename to...
1715         (dtrace_static_probe_ops::gen_info_probes_table_header):
1716         ...this.  Adjust code to reflect change.
1717         (dtrace_gen_info_probes_table_values): Rename to...
1718         (dtrace_probe::gen_info_probes_table_values): ...this.  Adjust
1719         code to reflect change.
1720         (dtrace_enable_probe): Rename to...
1721         (dtrace_probe::enable_probe): ...this.  Adjust code to reflect
1722         change.
1723         (dtrace_disable_probe): Rename to...
1724         (dtrace_probe::disable_probe): ...this.  Adjust code to reflect
1725         change.
1726         (struct probe_ops dtrace_probe_ops): Delete.
1727         (info_probes_dtrace_command): Call 'info_probes_for_spops'
1728         instead of 'info_probes_for_ops'.
1729         (_initialize_dtrace_probe): Use 'all_static_probe_ops' instead
1730         of 'all_probe_ops'.
1731
1732 2017-11-22  Sergio Durigan Junior  <sergiodj@redhat.com>
1733             Simon Marchi  <simark@simark.ca>
1734
1735         * stap-probe.c (struct probe_ops stap_probe_ops): Delete
1736         variable.
1737         (struct stap_probe_arg) <stap_probe_arg>: New constructor.
1738         <aexpr>: Change type to 'expression_up'.
1739         (stap_probe_arg_s): Delete type and VEC.
1740         (struct stap_probe): Delete.  Replace by...
1741         (class stap_static_probe_ops): ...this and...
1742         (class stap_probe): ...this.  Rename variables to add 'm_'
1743         prefix.  Do not use 'union' for arguments anymore.
1744         (stap_get_expected_argument_type): Receive probe name instead
1745         of 'struct stap_probe'.  Adjust code.
1746         (stap_parse_probe_arguments): Rename to...
1747         (stap_probe::parse_arguments): ...this.  Adjust code to
1748         reflect change.
1749         (stap_get_probe_address): Rename to...
1750         (stap_probe::get_relocated_address): ...this.  Adjust code
1751         to reflect change.
1752         (stap_get_probe_argument_count): Rename to...
1753         (stap_probe::get_argument_count): ...this.  Adjust code
1754         to reflect change.
1755         (stap_get_arg): Rename to...
1756         (stap_probe::get_arg_by_number'): ...this. Adjust code to
1757         reflect change.
1758         (can_evaluate_probe_arguments): Rename to...
1759         (stap_probe::can_evaluate_arguments): ...this.  Adjust code
1760         to reflect change.
1761         (stap_evaluate_probe_argument): Rename to...
1762         (stap_probe::evaluate_argument): ...this.  Adjust code
1763         to reflect change.
1764         (stap_compile_to_ax): Rename to...
1765         (stap_probe::compile_to_ax): ...this.  Adjust code to
1766         reflect change.
1767         (stap_probe_destroy): Delete.
1768         (stap_modify_semaphore): Adjust comment.
1769         (stap_set_semaphore): Rename to...
1770         (stap_probe::set_semaphore): ...this.  Adjust code to reflect
1771         change.
1772         (stap_clear_semaphore): Rename to...
1773         (stap_probe::clear_semaphore): ...this.  Adjust code to
1774         reflect change.
1775         (stap_probe::get_static_ops): New method.
1776         (handle_stap_probe): Adjust code to create instance of
1777         'stap_probe'.
1778         (stap_get_probes): Rename to...
1779         (stap_static_probe_ops::get_probes): ...this.  Adjust code to
1780         reflect change.
1781         (stap_probe_is_linespec): Rename to...
1782         (stap_static_probe_ops::is_linespec): ...this.  Adjust code to
1783         reflect change.
1784         (stap_type_name): Rename to...
1785         (stap_static_probe_ops::type_name): ...this.  Adjust code to
1786         reflect change.
1787         (stap_gen_info_probes_table_header): Rename to...
1788         (stap_static_probe_ops::gen_info_probes_table_header):
1789         ...this.  Adjust code to reflect change.
1790         (stap_gen_info_probes_table_values): Rename to...
1791         (stap_probe::gen_info_probes_table_values): ...this.  Adjust
1792         code to reflect change.
1793         (struct probe_ops stap_probe_ops): Delete.
1794         (info_probes_stap_command): Use 'info_probes_for_spops'
1795         instead of 'info_probes_for_ops'.
1796         (_initialize_stap_probe): Use 'all_static_probe_ops' instead
1797         of 'all_probe_ops'.
1798
1799 2017-11-22  Sergio Durigan Junior  <sergiodj@redhat.com>
1800
1801         * break-catch-throw.c (fetch_probe_arguments): Use
1802         'probe.prob' instead of 'probe.probe'.
1803         * breakpoint.c (create_longjmp_master_breakpoint): Call
1804         'can_evaluate_arguments' and 'get_relocated_address' methods
1805         from probe.
1806         (create_exception_master_breakpoint): Likewise.
1807         (add_location_to_breakpoint): Use 'sal->prob' instead of
1808         'sal->probe'.
1809         (bkpt_probe_insert_location): Call 'set_semaphore' method from
1810         probe.
1811         (bkpt_probe_remove_location): Likewise, for 'clear_semaphore'.
1812         * elfread.c (elf_get_probes): Use 'static_probe_ops' instead
1813         of 'probe_ops'.
1814         (probe_key_free): Call 'delete' on probe.
1815         (check_exception_resume): Use 'probe.prob' instead of
1816         'probe.probe'.
1817         * location.c (string_to_event_location_basic): Call
1818         'probe_linespec_to_static_ops'.
1819         * probe.c (class any_static_probe_ops): New class.
1820         (any_static_probe_ops any_static_probe_ops): New variable.
1821         (parse_probes_in_pspace): Receive 'static_probe_ops' as
1822         argument.  Adjust code to reflect change.
1823         (parse_probes): Use 'static_probe_ops' instead of
1824         'probe_ops'.  Adjust code to reflect change.
1825         (find_probes_in_objfile): Call methods to get name and
1826         provider from probe.
1827         (find_probe_by_pc): Use 'result.prob' instead of
1828         'result.probe'.  Call 'get_relocated_address' method from
1829         probe.
1830         (collect_probes): Adjust comment and argument list to receive
1831         'static_probe_ops' instead of 'probe_ops'.  Adjust code to
1832         reflect change.  Call necessary methods from probe.
1833         (compare_probes): Call methods to get name and provider from
1834         probes.
1835         (gen_ui_out_table_header_info): Receive 'static_probe_ops'
1836         instead of 'probe_ops'.  Use 'std::vector' instead of VEC,
1837         adjust code accordingly.
1838         (print_ui_out_not_applicables): Likewise.
1839         (info_probes_for_ops): Rename to...
1840         (info_probes_for_spops): ...this.  Receive 'static_probe_ops'
1841         as argument instead of 'probe_ops'.  Adjust code.  Call
1842         necessary methods from probe.
1843         (info_probes_command): Use 'info_probes_for_spops'.
1844         (enable_probes_command): Pass correct argument to
1845         'collect_probes'.  Call methods from probe.
1846         (disable_probes_command): Likewise.
1847         (get_probe_address): Move to 'any_static_probe_ops::get_address'.
1848         (get_probe_argument_count): Move to
1849         'any_static_probe_ops::get_argument_count'.
1850         (can_evaluate_probe_arguments): Move to
1851         'any_static_probe_ops::can_evaluate_arguments'.
1852         (evaluate_probe_argument): Move to
1853         'any_static_probe_ops::evaluate_argument'.
1854         (probe_safe_evaluate_at_pc): Use 'probe.prob' instead of
1855         'probe.probe'.
1856         (probe_linespec_to_ops): Rename to...
1857         (probe_linespec_to_static_ops): ...this.  Adjust code.
1858         (probe_any_is_linespec): Rename to...
1859         (any_static_probe_ops::is_linespec): ...this.
1860         (probe_any_get_probes): Rename to...
1861         (any_static_probe_ops::get_probes): ...this.
1862         (any_static_probe_ops::type_name): New method.
1863         (any_static_probe_ops::gen_info_probes_table_header): New
1864         method.
1865         (compute_probe_arg): Use 'pc_probe.prob' instead of
1866         'pc_probe.probe'.  Call methods from probe.
1867         (compile_probe_arg): Likewise.
1868         (std::vector<const probe_ops *> all_probe_ops): Delete.
1869         (std::vector<const static_probe_ops *> all_static_probe_ops):
1870         New variable.
1871         (_initialize_probe): Use 'all_static_probe_ops' instead of
1872         'all_probe_ops'.
1873         * probe.h (struct info_probe_column) <field_name>: Delete
1874         extraneous newline
1875         (info_probe_column_s): Delete type and VEC.
1876         (struct probe_ops): Delete.  Replace with...
1877         (class static_probe_ops): ...this and...
1878         (clas probe): ...this.
1879         (struct bound_probe) <bound_probe>: Delete extraneous
1880         newline.  Adjust constructor to receive 'probe' instead of
1881         'struct probe'.
1882         <probe>: Rename to...
1883         <prob>: ...this.  Delete extraneous newline.
1884         <objfile>: Delete extraneous newline.
1885         (register_probe_ops): Delete unused prototype.
1886         (info_probes_for_ops): Rename to...
1887         (info_probes_for_spops): ...this.  Adjust comment.
1888         (get_probe_address): Move to 'probe::get_address'.
1889         (get_probe_argument_count): Move to
1890         'probe::get_argument_count'.
1891         (can_evaluate_probe_arguments): Move to
1892         'probe::can_evaluate_arguments'.
1893         (evaluate_probe_argument): Move to 'probe::evaluate_argument'.
1894         * solib-svr4.c (struct svr4_info): Adjust comment.
1895         (struct probe_and_action) <probe>: Rename to...
1896         <prob>: ...this.
1897         (register_solib_event_probe): Receive 'probe' instead of
1898         'struct probe' as argument.  Use 'prob' instead of 'probe'
1899         when applicable.
1900         (solib_event_probe_action): Call 'get_argument_count' method
1901         from probe.  Adjust comment.
1902         (svr4_handle_solib_event): Adjust comment.  Call
1903         'evaluate_argument' method from probe.
1904         (svr4_create_probe_breakpoints): Call 'get_relocated_address'
1905         from probe.
1906         (svr4_create_solib_event_breakpoints): Use 'probe' instead of
1907         'struct probe'.  Call 'can_evaluate_arguments' from probe.
1908         * symfile.h: Forward declare 'class probe' instead of 'struct
1909         probe'.
1910         * symtab.h: Likewise.
1911         (struct symtab_and_line) <probe>: Rename to...
1912         <prob>: ...this.
1913         * tracepoint.c (start_tracing): Use 'prob' when applicable.
1914         Call probe methods.
1915         (stop_tracing): Likewise.
1916
1917 2017-11-22  Joel Brobecker  <brobecker@adacore.com>
1918
1919         * ravenscar-thread.c (ravenscar_inferior_created): Remove
1920         trailing newline at end of string in call to warning.
1921
1922 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
1923
1924         * osdata.h: Include vector isntead of vec.h.
1925         (osdata_column_s): Remove typedef.
1926         (struct osdata_column): Add constructor.
1927         <name, value>: Change type to std::string.
1928         (DEF_VEC_O (osdata_column_s)): Remove.
1929         (osdata_item_s): Remove typedef.
1930         (struct osdata_item) <columns>: Change type to std::vector.
1931         (DEF_VEC_O (osdata_item_s)): Remove.
1932         (struct osdata): Add constructor.
1933         <type>: Change type to std::string.
1934         <items>: Change type to std::vector.
1935         (osdata_p): Remove typedef.
1936         (DEF_VEC_P (osdata_p)): Remove.
1937         (osdata_parse): Return a unique_ptr.
1938         (osdata_free): Remove.
1939         (make_cleanup_osdata_free): Remove.
1940         (get_osdata): Return a unique_ptr.
1941         (get_osdata_column): Return pointer to std::string, take a
1942         reference to osdata_item as parameter.
1943         * osdata.c (struct osdata_parsing_data) <osdata>: Change type to
1944         unique_ptr.
1945         <property_name>: Change type to std::string.
1946         (osdata_start_osdata): Allocate osdata with new and adjust.
1947         (osdata_start_item): Adjust.
1948         (osdata_start_column): Adjust.
1949         (osdata_end_column): Adjust.
1950         (clear_parsing_data): Remove.
1951         (osdata_parse): Return a unique_ptr and adjust, remove cleanup.
1952         (osdata_item_clear): Remove.
1953         (get_osdata): return a unique_ptr and adjust.
1954         (get_osdata_column): Return a pointer to std::string and adjust.
1955         (info_osdata): Adjust.
1956         * mi/mi-main.c: Include <map>.
1957         (free_vector_of_osdata_items): Remove.
1958         (list_available_thread_groups): Adjust, use std::map instead of
1959         splay tree.
1960
1961 2017-11-22  Simon Marchi  <simon.marchi@ericsson.com>
1962
1963         * stack.c (iterate_over_block_locals): Add LOC_OPTIMIZED_OUT
1964         case in switch.
1965
1966 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
1967
1968         * varobj.h (DEF_VEC_P (varobj_p)): Remove.
1969
1970 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
1971
1972         * varobj.h (struct varobj_update_result): Add constructor, add
1973         move constructor, disable copy and assign, initialize fields.
1974         <newobj>: Change type to std::vector.
1975         (varobj_update): Return std::vector.
1976         * varobj.c (install_dynamic_child): Change VEC parameters to
1977         std::vector and adjust.
1978         (update_dynamic_varobj_children): Likewise.
1979         (varobj_update): Return std::vector and adjust.
1980         * mi/mi-cmd-var.c (varobj_update_one): Adjust to vector changes.
1981
1982 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
1983
1984         * varobj.h (struct varobj) <parent>: Remove const.
1985         <children>: Change type to std::vector.
1986         (varobj_list_children): Return std::vector const reference.
1987         (varobj_restrict_range): Change parameter type to std::vector
1988         const reference.
1989         * varobj.c (varobj_has_more): Adjust.
1990         (varobj_restrict_range): Change parameter type to std::vector
1991         const reference and adjust.
1992         (install_dynamic_child): Adjust.
1993         (update_dynamic_varobj_children): Adjust.
1994         (varobj_list_children): Return std::vector const reference and
1995         adjust.
1996         (varobj_add_child): Adjust.
1997         (update_type_if_necessary): Adjust.
1998         (varobj_update): Adjust.
1999         (delete_variable_1): Adjust.
2000         * ada-varobj.c (ada_value_has_mutated): Adjust.
2001         * mi/mi-cmd-var.c (mi_cmd_var_list_children): Adjust.
2002
2003 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
2004
2005         * varobj.h (struct varobj): Add constructor and destructor,
2006         initialize fields.
2007         * varobj.c (struct varobj_root): Initialize fields.
2008         (struct varobj_dynamic): Initialize fields.
2009         (varobj_create): Use unique_ptr instead of cleanup.  Create
2010         varobj with new instead of new_root_variable.
2011         (delete_variable_1): Free variable with delete instead of
2012         free_variable.
2013         (create_child_with_value): Create variable with new instead of
2014         new_variable.
2015         (varobj::varobj): New.
2016         (varobj::~varobj): New (body mostly coming from free_variable).
2017         (new_variable): Remove.
2018         (free_variable): Remove.
2019         (do_free_variable_cleanup): Remove.
2020         (make_cleanup_free_variable): Remove.
2021
2022 2017-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
2023
2024         * core-regset.c: Remove file.
2025         * Makefile.in (ALLDEPFILES): Remove core-regset.c.
2026
2027 2017-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
2028
2029         * NEWS: Document use of GNU MPFR.
2030         * README: Likewise.
2031
2032         * Makefile.in (LIBMPFR): Add define.
2033         (CLIBS): Add $(LIBMPFR).
2034         * configure.ac: Add --with-mpfr configure option.
2035         * configure: Regenerate.
2036         * config.in: Regenerate.
2037
2038         * target-float.c [HAVE_LIBMPFR]: Include <mpfr.h>.
2039         (class mpfr_float_ops): New type.
2040         (mpfr_float_ops::from_target): Two new overloaded functions.
2041         (mpfr_float_ops::to_target): Likewise.
2042         (mpfr_float_ops::to_string): New function.
2043         (mpfr_float_ops::from_string): Likewise.
2044         (mpfr_float_ops::to_longest): Likewise.
2045         (mpfr_float_ops::from_longest): Likewise.
2046         (mpfr_float_ops::from_ulongest): Likewise.
2047         (mpfr_float_ops::to_host_double): Likewise.
2048         (mpfr_float_ops::from_host_double): Likewise.
2049         (mpfr_float_ops::convert): Likewise.
2050         (mpfr_float_ops::binop): Likewise.
2051         (mpfr_float_ops::compare): Likewise.
2052         (get_target_float_ops): Use mpfr_float_ops if available.
2053
2054 2017-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
2055
2056         * target-float.c: Do not include <math.h>.
2057         Include <cmath> and <limits>.
2058         (DOUBLEST): Do not define.
2059         (class target_float_ops): New type.
2060         (class host_float_ops): New templated type.
2061         (class decimal_float_ops): New type.
2062
2063         (floatformat_to_doublest): Rename to ...
2064         (host_float_ops<T>::from_target): ... this.  Use template type T
2065         instead of DOUBLEST.  Use C++ math routines.  Update recursive calls.
2066         (host_float_ops<T>::from_target): New overload using a type argument.
2067         (floatformat_from_doublest): Rename to ...
2068         (host_float_ops<T>::to_target): ... this.  Use template type T
2069         instead of DOUBLEST.  Use C++ math routines.  Update recursive calls.
2070         (host_float_ops<T>::to_target): New overload using a type argument.
2071         (floatformat_printf_format): New function.
2072         (struct printf_length_modifier): New templated type.
2073         (floatformat_to_string): Rename to ...
2074         (host_float_ops<T>::to_string): ... this.  Use type instead of
2075         floatformat argument.  Use floatformat_printf_format and
2076         printf_length_modifier.  Remove special handling of invalid numbers,
2077         infinities and NaN (moved to target_float_to_string).
2078         (struct scanf_length_modifier): New templated type.
2079         (floatformat_from_string): Rename to ...
2080         (host_float_ops<T>::from_string): ... this.  Use type instead of
2081         floatformat argument.  Use scanf_length_modifier.
2082         (floatformat_to_longest): Rename to ...
2083         (host_float_ops<T>::to_longest): ... this.  Use type instead of
2084         floatformat argument.  Handle out-of-range values deterministically.
2085         (floatformat_from_longest): Rename to ...
2086         (host_float_ops<T>::from_longest): ... this.  Use type instead of
2087         floatformat argument.
2088         (floatformat_from_ulongest): Rename to ...
2089         (host_float_ops<T>::from_ulongest): ... this.  Use type instead of
2090         floatformat argument.
2091         (floatformat_to_host_double): Rename to ...
2092         (host_float_ops<T>::to_host_double): ... this.  Use type instead of
2093         floatformat argument.
2094         (floatformat_from_host_double): Rename to ...
2095         (host_float_ops<T>::from_host_double): ... this.  Use type instead of
2096         floatformat argument.
2097         (floatformat_convert): Rename to ...
2098         (host_float_ops<T>::convert): ... this.  Use type instead of
2099         floatformat arguments.  Remove handling of no-op conversions.
2100         (floatformat_binop): Rename to ...
2101         (host_float_ops<T>::binop): ... this.  Use type instead of
2102         floatformat arguments.
2103         (floatformat_compare): Rename to ...
2104         (host_float_ops<T>::compare): ... this.  Use type instead of
2105         floatformat arguments.
2106
2107         (match_endianness): Use type instead of length/byte_order arguments.
2108         (set_decnumber_context): Likewise.
2109         (decimal_from_number): Likewise.  Update calls.
2110         (decimal_to_number): Likewise.
2111         (decimal_is_zero): Likewise.  Update calls.  Move to earlier in file.
2112         (decimal_float_ops::to_host_double): New dummy function.
2113         (decimal_float_ops::from_host_double): Likewise.
2114         (decimal_to_string): Rename to ...
2115         (decimal_float_ops::to_string): ... this.  Use type instead of
2116         length/byte_order arguments.  Update calls.
2117         (decimal_from_string): Rename to ...
2118         (decimal_float_ops::from_string): ... this.  Use type instead of
2119         length/byte_order arguments.  Update calls.
2120         (decimal_from_longest): Rename to ...
2121         (decimal_float_ops::from_longest): ... this.  Use type instead of
2122         length/byte_order arguments.  Update calls.
2123         (decimal_from_ulongest): Rename to ...
2124         (decimal_float_ops::from_ulongest): ... this.  Use type instead of
2125         length/byte_order arguments.  Update calls.
2126         (decimal_to_longest): Rename to ...
2127         (decimal_float_ops::to_longest): ... this.  Use type instead of
2128         length/byte_order arguments.  Update calls.
2129         (decimal_binop): Rename to ...
2130         (decimal_float_ops::binop): ... this.  Use type instead of
2131         length/byte_order arguments.  Update calls.
2132         (decimal_compare): Rename to ...
2133         (decimal_float_ops::compare): ... this.  Use type instead of
2134         length/byte_order arguments.  Update calls.
2135         (decimal_convert): Rename to ...
2136         (decimal_float_ops::convert): ... this.  Use type instead of
2137         length/byte_order arguments.  Update calls.
2138
2139         (target_float_same_category_p): New function.
2140         (target_float_same_format_p): Likewise.
2141         (target_float_format_length): Likewise.
2142         (enum target_float_ops_kind): New type.
2143         (get_target_float_ops_kind): New function.
2144         (get_target_float_ops): Three new overloaded functions.
2145
2146         (target_float_is_zero): Update call.
2147         (target_float_to_string): Add special handling of invalid numbers,
2148         infinities and NaN (moved from floatformat_to_string).  Use
2149         target_float_ops callback.
2150         (target_float_from_string): Use target_float_ops callback.
2151         (target_float_to_longest): Likewise.
2152         (target_float_from_longest): Likewise.
2153         (target_float_from_ulongest): Likewise.
2154         (target_float_to_host_double): Likewise.
2155         (target_float_from_host_double): Likewise.
2156         (target_float_convert): Add special case for no-op conversions.
2157         Use target_float_ops callback.
2158         (target_float_binop): Use target_float_ops callback.
2159         (target_float_compare): Likewise.
2160
2161 2017-11-22  Yao Qi  <yao.qi@linaro.org>
2162
2163         * python/py-gdb-readline.c (gdbpy_readline_wrapper): Use strcpy.
2164
2165 2017-11-22  Yao Qi  <yao.qi@linaro.org>
2166
2167         * cli/cli-decode.c (help_list): Use memcpy instead of strncpy.
2168         * cp-namespace.c (cp_lookup_transparent_type_loop): Likewise.
2169
2170 2017-11-21  Jerome Guitton  <guitton@adacore.com>
2171
2172         * ravenscar-thread.c (ravenscar_wait): Update inferior ptid
2173         with event ptid from the lower layer before doing the
2174         ravenscar-specific update.
2175
2176 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2177
2178         * ravenscar-thread.c (is_ravenscar_task): Also verify that
2179         the ptid's TID is nonzero.
2180
2181 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2182
2183         * ada-lang.h (ada_get_tcb_types_info): Add declaration.
2184         * ada-tasks.c (ada_get_tcb_types_info): Renames get_tcb_types_info.
2185         Make non-static.  Change return type to char *.  Adjust code
2186         accordingly.  Rewrite the function's documentation.
2187         (read_atcb): Adjust call to get_tcb_types_info accordingly.
2188         * ravenscar-thread.c (ravenscar_inferior_created): Check that
2189         we have enough debugging information in the runtime to support
2190         Ada task debugging before we enable the ravenscar-thread layer.
2191
2192 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2193
2194         * ada-lang.h (ada_get_task_info_from_ptid): Add declaration.
2195         * ada-tasks.c (ada_get_task_info_from_ptid): New function.
2196         * ravenscar-thread.c: Add into comment.
2197         (base_magic_null_ptid): Delete.
2198         (base_ptid): Change documentation.
2199         (ravenscar_active_task): Renames ravenscar_running_thread.
2200         All callers updated throughout.
2201         (is_ravenscar_task, ravenscar_get_thread_base_cpu): New function.
2202         (ravenscar_task_is_currently_active): Likewise.
2203         (get_base_thread_from_ravenscar_task): Ditto.
2204         (ravenscar_update_inferior_ptid): Adjust to handle multiple CPUs.
2205         (ravenscar_runtime_initialized): Likewise.
2206         (get_running_thread_id): Add new parameter "cpu".  Adjust
2207         implementation to handle this new parameter.
2208         (ravenscar_fetch_registers): Small adjustment to use
2209         is_ravenscar_task and ravenscar_task_is_currently_active in
2210         order to decide whether to use the target beneath or this
2211         module's arch_ops.
2212         (ravenscar_store_registers, ravenscar_prepare_to_store): Likewise.
2213         (ravenscar_stopped_by_sw_breakpoint): Use
2214         get_base_thread_from_ravenscar_task to get the underlying
2215         thread, rather than using base_ptid.
2216         (ravenscar_stopped_by_hw_breakpoint, ravenscar_stopped_by_watchpoint)
2217         (ravenscar_stopped_data_address, ravenscar_core_of_thread):
2218         Likewise.
2219         (ravenscar_inferior_created): Do not set base_magic_null_ptid.
2220
2221 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2222
2223         * ada-lang.h (struct ada_task_info) <base_cpu>: New field.
2224         * ada-lang.c (struct atcb_fieldno) <base_cpu>: New field.
2225         (get_tcb_types_info): Set fieldnos.base_cpu.
2226         (read_atcb): Set task_info->base_cpu.
2227         (info_task): Print "Base CPU" info if set by runtime.
2228
2229 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2230
2231         * ravenscar-thread.c (ravenscar_stopped_by_sw_breakpoint)
2232         (ravenscar_stopped_by_hw_breakpoint, ravenscar_stopped_by_watchpoint)
2233         (ravenscar_stopped_data_address, ravenscar_core_of_thread):
2234         New functions.
2235         (init_ravenscar_thread_ops): Set the to_stopped_by_sw_breakpoint,
2236         to_stopped_by_hw_breakpoint, to_stopped_by_watchpoint,
2237         to_stopped_data_address and to_core_of_thread fields of
2238         ravenscar_ops.
2239
2240 2017-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
2241
2242         * ppc-tdep.h (enum powerpc_long_double_abi): New data type.
2243         (struct gdbarch_tdep): New member long_double_abi.
2244         * rs6000-tdep.c (rs6000_gdbarch_init): Initialize long_double_abi
2245         member of tdep struct based on Tag_GNU_Power_ABI_FP attribute.
2246         * ppc-linux-tdep.c (ppc_linux_init_abi): Install long double data
2247         format depending on long_double_abi tdep member.
2248         (ppc_floatformat_for_type): Handle __ibm128 type.
2249
2250 2017-11-20  Simon Marchi  <simon.marchi@polymtl.ca>
2251
2252         * darwin-nat.c (set_enable_mach_exceptions): Constify parameter.
2253
2254 2017-11-21  Pedro Alves  <palves@redhat.com>
2255
2256         * dwarf2read.c (mapped_index::find_name_components_bounds)
2257         <completion mode, upper bound>: Use std::lower_bound instead of
2258         std::upper_bound.
2259         (test_mapped_index_find_name_component_bounds): Remove incorrect
2260         "t1_fund" from expected symbols.
2261
2262 2017-11-21  Pedro Alves  <palves@redhat.com>
2263
2264         * dwarf2read.c (mapped_index::name_components_casing): New field.
2265         (mapped_index) <build_name_components,
2266         find_name_components_bounds): Declare new methods.
2267         (mapped_index::find_name_components_bounds)
2268         (mapped_index::build_name_components): New methods, factored out
2269         from dw2_expand_symtabs_matching_symbol.
2270         (check_find_bounds_finds)
2271         (test_mapped_index_find_name_component_bounds): New.
2272         (run_test): Rename to ...
2273         (test_dw2_expand_symtabs_matching_symbol): ... this.
2274         (run_test): Reimplement.
2275
2276 2017-11-21  Pedro Alves  <palves@redhat.com>
2277
2278         * cp-name-parser.y (cp_ident_is_alpha, cp_ident_is_alnum): New.
2279         (symbol_end): Use cp_ident_is_alnum.
2280         (yylex): Use cp_ident_is_alpha and cp_ident_is_alnum.
2281         * dwarf2read.c (make_sort_after_prefix_name): New function.
2282         (dw2_expand_symtabs_matching_symbol): Use it.
2283         (test_symbols): Add more symbols.
2284         (run_test): Add tests.
2285
2286 2017-11-17  Tom Tromey  <tom@tromey.com>
2287
2288         * symtab.h (enum symbol_subclass_kind): New.
2289         (struct symbol) <is_cplus_template_function, is_rust_vtable>:
2290         Remove.
2291         <subclass>: New member.
2292         (SYMBOL_IS_CPLUS_TEMPLATE_FUNCTION): Update.
2293         * rust-lang.c (rust_get_trait_object_pointer): Update.
2294         * dwarf2read.c (read_func_scope): Update.
2295         (read_variable): Update.
2296
2297 2017-11-17  Tom Tromey  <tom@tromey.com>
2298
2299         * dwarf2read.c (read_func_scope): Update.
2300         * symtab.h (struct template_symbol): Derive from symbol.
2301         <base>: Remove.
2302
2303 2017-11-17  Tom Tromey  <tom@tromey.com>
2304
2305         * symtab.h (struct symbol) <is_rust_vtable>: New member.
2306         (struct rust_vtable_symbol): New.
2307         (find_symbol_at_address): Declare.
2308         * symtab.c (find_symbol_at_address): New function.
2309         * symfile.h (struct quick_symbol_functions)
2310         <find_compunit_symtab_by_address>: New member.
2311         * symfile-debug.c (debug_qf_find_compunit_symtab_by_address): New
2312         function.
2313         (debug_sym_quick_functions): Link to
2314         debug_qf_find_compunit_symtab_by_address.
2315         * rust-lang.c (rust_get_trait_object_pointer): New function.
2316         (rust_evaluate_subexp) <case UNOP_IND>: New case.  Call
2317         rust_get_trait_object_pointer.
2318         * psymtab.c (psym_relocate): Clear psymbol_map.
2319         (psym_fill_psymbol_map, psym_find_compunit_symtab_by_address): New
2320         functions.
2321         (psym_functions): Link to psym_find_compunit_symtab_by_address.
2322         * objfiles.h (struct objfile) <psymbol_map>: New member.
2323         * dwarf2read.c (dwarf2_gdb_index_functions): Update.
2324         (process_die) <DW_TAG_variable>: New case.  Call read_variable.
2325         (rust_containing_type, read_variable): New functions.
2326
2327 2017-11-17  Simon Marchi  <simon.marchi@polymtl.ca>
2328
2329         * common/gdb_vecs.h (DEF_VEC_I (int)): Remove.
2330
2331 2017-11-17  Simon Marchi  <simon.marchi@polymtl.ca>
2332
2333         * common/filestuff.c: Include <algorithm>.
2334         (open_fds): Change type to std::vector<int>.
2335         (do_mark_open_fd): Adjust.
2336         (unmark_fd_no_cloexec): Adjust.
2337         (do_close): Adjust.
2338
2339 2017-11-17  Simon Marchi  <simon.marchi@polymtl.ca>
2340
2341         * breakpoint.c (output_thread_groups): Take an std::vector.
2342         (print_one_breakpoint_location): Adjust.
2343
2344 2017-11-17  Joel Brobecker  <brobecker@adacore.com>
2345
2346         * ada-lang.c (resolve_subexp): Add handling of OP_VAR_MSYM_VALUE.
2347         (ada_evaluate_subexp_for_cast): New function.
2348         (ada_evaluate_subexp) <UNOP_CAST>: Replace code by call to
2349         ada_evaluate_subexp_for_cast.
2350         (ada_evaluate_subexp) <nosideret>: Replace code by call to
2351         eval_skip_value.
2352         * eval.c (evaluate_var_value): Make non-static.
2353         (evaluate_var_msym_value, eval_skip_value): Likewise.
2354         * value.h (evaluate_var_value, evaluate_var_msym_value)
2355         (eval_skip_value): Declare.
2356
2357 2017-11-16  Joel Brobecker  <brobecker@adacore.com>
2358
2359         * ada-lang.c (ada_value_cast): Remove parameter "noside".
2360         Update all callers.
2361
2362 2017-11-16  Pedro Alves  <palves@redhat.com>
2363
2364         * python/py-unwind.c (pyuw_sniffer): Translate
2365         PyExc_KeyboardInterrupt to a GDB Quit exception.
2366
2367 2017-11-16  Pedro Alves  <palves@redhat.com>
2368
2369         * infrun.c (resume_cleanups): Delete.
2370         (resume): No longer install a resume_cleanups cleanup nor call
2371         QUIT.
2372         (proceed): Pass the terminal to the inferior.
2373         (keep_going_pass_signal): No longer install a resume_cleanups
2374         cleanup.
2375
2376 2017-11-16  Pedro Alves  <palves@redhat.com>
2377
2378         * inf-loop.c (inferior_event_handler): Don't swallow the exception
2379         if the prompt is blocked.
2380
2381 2017-11-16  Pedro Alves  <palves@redhat.com>
2382
2383         * breakpoint.c (insert_bp_location): Replace bp_err and
2384         bp_err_message locals by a gdb_exception local.
2385
2386 2017-11-16  Pedro Alves  <palves@redhat.com>
2387
2388         * inflow.c (scoped_ignore_sigttou): New class.
2389         (child_terminal_ours_1, new_tty): Use it.
2390
2391 2017-11-16  Ulrich Weigand  <uweigand@de.ibm.com>
2392
2393         * target-float.c (decimal_from_number): Add byte_order argument and
2394         call match_endianness.  Error if unknown floating-point type.
2395         (decimal_to_number): Add byte_order argument and call match_endianness.
2396         (decimal_from_longest): Update call.  Do not call match_endianness.
2397         (decimal_from_ulongest): Likewise.
2398         (decimal_binop): Likewise.
2399         (decimal_is_zero): Likewise.
2400         (decimal_compare): Likewise.
2401         (decimal_convert): Likewise.
2402
2403 2017-11-16  Phil Muldoon  <pmuldoon@redhat.com>
2404
2405         * python/python.c (gdbpy_rbreak): New function.
2406         * NEWS: Document Python rbreak feature.
2407
2408 2017-11-16  Yao Qi  <yao.qi@linaro.org>
2409
2410         * features/tic6x-c62x.xml: Remove.
2411         * features/tic6x-c64x.xml: Remove.
2412         * features/tic6x-c64xp.xml: Remove.
2413
2414 2017-11-15  John Baldwin  <jhb@FreeBSD.org>
2415
2416         * symtab.h: Include <array>.
2417
2418 2017-11-15  John Baldwin  <jhb@FreeBSD.org>
2419
2420         * bsd-kvm.c (bsd_kvm_cmd): Constify 'arg'.
2421         (bsd_kvm_proc_cmd): Likewise.
2422
2423 2017-11-15  Simon Marchi  <simon.marchi@ericsson.com>
2424
2425         * tui/tui-win.c (window_name_completer): Replace VEC with
2426         std::vector.
2427
2428 2017-11-15  Andrew Cagney  <cagney@gnu.org>
2429
2430         * MAINTAINERS: Remove no-longer applicable entries.
2431
2432 2017-11-15  Andrew Cagney  <cagney@gnu.org>
2433
2434         * MAINTAINERS: Move self to Past Maintainers.
2435
2436 2017-11-15  Yao Qi  <yao.qi@linaro.org>
2437
2438         * features/Makefile (XMLTOC): Remove nios2-linux.xml.
2439         * features/nios2-linux.c: Remove.
2440         * nios2-linux-tdep.c (_initialize_nios2_linux_tdep): Don't call
2441         initialize_tdesc_nios2_linux.
2442
2443 2017-11-15  Yao Qi  <yao.qi@linaro.org>
2444
2445         * m68hc11-tdep.c (M68HC11_NUM_REGS): Change it to
2446         M68HC11_LAST_HARD_REG + 1.
2447
2448 2017-11-14  Paul Carroll  <pcarroll@codesourcery.com>
2449
2450         PR gdb/22388
2451         * remote.c (remote_write_bytes_aux, remote_read_bytes_1,
2452         remote_read_bytes, remote_write_qxfer, remote_xfer_partial):
2453         Return TARGET_XFER_EOF if size of returned data is 0.
2454
2455 2017-11-14  Simon Marchi  <simon.marchi@ericsson.com>
2456
2457         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
2458         memory-map-selftests.c.
2459         (SUBDIR_UNITTESTS_OBS): Add memory-map-selftests.o.
2460         * memory-map.c (memory_map_start_memory): Fix computation of hi
2461         address.
2462         * unittests/memory-map-selftests.c: New file.
2463
2464 2017-11-09  Joel Brobecker  <brobecker@adacore.com>
2465
2466         * ada-lang.c: Fix some typos in the general command documenting
2467         how Ada expressions are being evaluated and how their result
2468         is printed.
2469
2470 2017-11-09  Tom Tromey  <tom@tromey.com>
2471
2472         * psymtab.c (psymbol_hash): Do not hash string contents.
2473         (psymbol_compare): Add comment.
2474
2475 2017-11-09  Tom Tromey  <tom@tromey.com>
2476
2477         * dictionary.c (dict_hash): Move "TKB" check into the "switch".
2478
2479 2017-11-08  Joel Brobecker  <brobecker@adacore.com>
2480
2481         * ada-exp.y (write_var_from_sym): Remove parameter
2482         "orig_left_context".  Update all callers.
2483
2484 2017-11-08  Simon Marchi  <simon.marchi@ericsson.com>
2485
2486         * tracepoint.h (class collection_list) <stringify>: Return
2487         std::vector<std::string>.
2488         (encode_actions_rsp): Change parameters to
2489         std::vector<std::string> *.
2490         * tracepoint.c (collection_list::stringify): Return
2491         std::vector<std::string> and adjust accordingly.
2492         (encode_actions_rsp): Changee parameters to
2493         std::vector<std::string> and adjust accordingly.
2494         * remote.c (free_actions_list),
2495         free_actions_list_cleanup_wrapper): Remove.
2496         (remote_download_tracepoint): Adjust to std::vector.
2497
2498 2017-11-08  Tom Tromey  <tom@tromey.com>
2499
2500         * dwarf2read.c (symbolp): Remove typedef.
2501         (read_func_scope): Use std::vector.
2502         (process_structure_scope): Use std::vector.
2503
2504 2017-11-08  Pedro Alves  <palves@redhat.com>
2505
2506         * ada-lang.c (ada_make_symbol_completion_list): Use
2507         completion_skip_symbol.
2508         * symtab.c (symbol_is_function_or_method(minimal_symbol*)): New.
2509         (symbol_is_function_or_method(symbol*)): New.
2510         (add_symtab_completions): Add complete_symbol_mode parameter.  Use
2511         completion_skip_symbol.
2512         (default_collect_symbol_completion_matches_break_on): Use
2513         completion_skip_symbol.  Pass down mode.
2514         (collect_file_symbol_completion_matches): Pass down mode.
2515         * symtab.h (symbol_is_function_or_method): New declarations.
2516         (completion_skip_symbol): New template function.
2517
2518 2017-11-08  Pedro Alves  <palves@redhat.com>
2519
2520         * linespec.c (iterate_over_all_matching_symtabs): Add
2521         search_domain parameter.  Pass it down to expand_symtabs_matching.
2522         (decode_objc): Request FUNCTIONS_DOMAIN symbols only.
2523         (lookup_prefix_sym): Adjust by passing ALL_DOMAIN as
2524         search_domain.
2525         (add_all_symbol_names_from_pspace): Add search_domain parameter.
2526         Pass it down.
2527         (find_method, find_function_symbols): Request FUNCTIONS_DOMAIN
2528         symbols.
2529         (add_matching_symbols_to_info): Add search_domain parameter.  Pass
2530         it down.
2531
2532 2017-11-08  Pedro Alves  <palves@redhat.com>
2533
2534         * ada-lang.c (ada_make_symbol_completion_list): Remove text and
2535         text_len locals and don't pass them down.
2536         * symtab.c (completion_list_add_name): Remove
2537         sym_text/sym_text_len parameters and adjust.
2538         (completion_list_add_symbol, completion_list_add_msymbol)
2539         (completion_list_objc_symbol, completion_list_add_fields)
2540         (add_symtab_completions): Likewise.
2541         (default_collect_symbol_completion_matches_break_on)
2542         (collect_file_symbol_completion_matches): Remove sym_text_len
2543         local and don't pass it down.
2544         * symtab.h (completion_list_add_name): Remove
2545         sym_text/sym_text_len parameters.
2546
2547 2017-11-08  Pedro Alves  <palves@redhat.com>
2548
2549         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
2550         unittests/lookup_name_info-selftests.c.
2551         (SUBDIR_UNITTESTS_OBS): Add lookup_name_info-selftests.o.
2552         * cp-support.c: Include "selftest.h".
2553         (cp_remove_params_1): Rename from cp_remove_params.  Add
2554         'require_param' parameter, and handle it.
2555         (cp_remove_params): Reimplement.
2556         (cp_remove_params_if_any): New.
2557         (selftests::quote): New.
2558         (selftests::check_remove_params): New.
2559         (selftests::test_cp_remove_params): New.
2560         (_initialize_cp_support): Install
2561         selftests::test_cp_remove_params.
2562         * cp-support.h (cp_remove_params_if_any): Declare.
2563         * dwarf2read.c :Include "selftest.h".
2564         (dw2_expand_symtabs_matching_symbol): Use
2565         lookup_name_info::make_ignore_params.
2566         (selftests::dw2_expand_symtabs_matching::mock_mapped_index)
2567         (selftests::dw2_expand_symtabs_matching::string_or_null)
2568         (selftests::dw2_expand_symtabs_matching::check_match)
2569         (selftests::dw2_expand_symtabs_matching::test_symbols)
2570         (selftests::dw2_expand_symtabs_matching::run_test): New.
2571         (_initialize_dwarf2_read): Register
2572         selftests::dw2_expand_symtabs_matching::run_test.
2573         * psymtab.c (psym_expand_symtabs_matching): Use
2574         lookup_name_info::make_ignore_params.
2575         * symtab.c (demangle_for_lookup_info::demangle_for_lookup_info):
2576         If the lookup name wants to ignore parameters, strip them.
2577         (compare_symbol_name): Remove sym_text/sym_text_len parameters and
2578         code handling '('.
2579         (completion_list_add_name): Don't pass down sym_text/sym_text_len.
2580         (default_collect_symbol_completion_matches_break_on): Don't try to
2581         strip parameters.
2582         * symtab.h (lookup_name_info::lookup_name_info): Add
2583         'ignore_parameters' parameter.
2584         (lookup_name_info::ignore_parameters)
2585         (lookup_name_info::make_ignore_params): New methods.
2586         (lookup_name_info::m_ignore_parameters): New field.
2587         * unittests/lookup_name_info-selftests.c: New file.
2588
2589 2017-11-08  Pedro Alves  <palves@redhat.com>
2590
2591         * dwarf2read.c (dw2_expand_marked_cus)
2592         (dw2_expand_symtabs_matching_symbol): Remove forward declarations.
2593         (dw2_expand_symtabs_matching): Move further below.
2594         (dw2_expand_marked_cus): Reindent.
2595
2596 2017-11-08  Pedro Alves  <palves@redhat.com>
2597
2598         * dwarf2read.c (byte_swap, MAYBE_SWAP): Move higher up in file.
2599         (struct name_component): New.
2600         (mapped_index::name_components): New field.
2601         (mapped_index::symbol_name_at): New method.
2602         (dwarf2_read_index): Call mapped_index ctor.
2603         (dw2_map_matching_symbols): Add comment about name_components
2604         table.
2605         (dw2_expand_symtabs_matching): Factor part to...
2606         (dw2_expand_symtabs_matching_symbol): ... this new function.
2607         Build name components table, and lookup symbols in it before
2608         calling the name matcher.
2609         (dw2_expand_marked_cus): New, factored out from
2610         dw2_expand_symtabs_matching.
2611         (dwarf2_per_objfile_free): Call the mapped_index's dtor.
2612
2613 2017-11-08   Pedro Alves  <palves@redhat.com>
2614
2615         * ada-lang.c (ada_encode): Rename to ..
2616         (ada_encode_1): ... this.  Add throw_errors parameter and handle
2617         it.
2618         (ada_encode): Reimplement.
2619         (match_name): Delete, folded into full_name.
2620         (resolve_subexp): No longer pass the encoded name to
2621         ada_lookup_symbol_list.
2622         (should_use_wild_match): Delete.
2623         (name_match_type_from_name): New.
2624         (ada_lookup_simple_minsym): Use lookup_name_info and the
2625         language's symbol_name_matcher_ftype.
2626         (add_symbols_from_enclosing_procs, ada_add_local_symbols)
2627         (ada_add_block_renamings): Adjust to use lookup_name_info.
2628         (ada_lookup_name): New.
2629         (add_nonlocal_symbols, ada_add_all_symbols)
2630         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list)
2631         (ada_iterate_over_symbols): Adjust to use lookup_name_info.
2632         (ada_name_for_lookup): Delete.
2633         (ada_lookup_encoded_symbol): Construct a verbatim name.
2634         (wild_match): Reverse sense of return type.  Use bool.
2635         (full_match): Reverse sense of return type.  Inline bits of old
2636         match_name here.
2637         (ada_add_block_symbols): Adjust to use lookup_name_info.
2638         (symbol_completion_match): Delete, folded into...
2639         (ada_lookup_name_info::matches): ... .this new method.
2640         (symbol_completion_add): Delete.
2641         (ada_collect_symbol_completion_matches): Add name_match_type
2642         parameter.  Adjust to use lookup_name_info and
2643         completion_list_add_name.
2644         (get_var_value, ada_add_global_exceptions): Adjust to use
2645         lookup_name_info.
2646         (ada_get_symbol_name_cmp): Delete.
2647         (do_wild_match, do_full_match): New functions.
2648         (ada_lookup_name_info::ada_lookup_name_info): New method.
2649         (ada_symbol_name_matches, ada_get_symbol_name_matcher): New
2650         functions.
2651         (ada_language_defn): Install ada_get_symbol_name_matcher.
2652         * ada-lex.l (processId): If name starts with '<', copy it
2653         verbatim.
2654         * block.c (block_iter_match_step, block_iter_match_first)
2655         (block_iter_match_next, block_lookup_symbol)
2656         (block_lookup_symbol_primary, block_find_symbol): Adjust to use
2657         lookup_name_info.
2658         * block.h (block_iter_match_first, block_iter_match_next)
2659         (ALL_BLOCK_SYMBOLS_WITH_NAME): Adjust to use lookup_name_info.
2660         * c-lang.c (c_language_defn, cplus_language_defn)
2661         (asm_language_defn, minimal_language_defn): Adjust comments to
2662         refer to la_get_symbol_name_matcher.
2663         * completer.c (complete_files_symbols)
2664         (collect_explicit_location_matches, symbol_completer): Pass a
2665         symbol_name_match_type down.
2666         * completer.h (class completion_match, completion_match_result):
2667         New classes.
2668         (completion_tracker::reset_completion_match_result): New method.
2669         (completion_tracker::m_completion_match_result): New field.
2670         * cp-support.c (make_symbol_overload_list_block): Adjust to use
2671         lookup_name_info.
2672         (cp_fq_symbol_name_matches, cp_get_symbol_name_matcher): New
2673         functions.
2674         * cp-support.h (cp_get_symbol_name_matcher): New declaration.
2675         * d-lang.c: Adjust comments to refer to
2676         la_get_symbol_name_matcher.
2677         * dictionary.c (dict_vector) <iter_match_first, iter_match_next>:
2678         Adjust to use lookup_name_info.
2679         (dict_iter_match_first, dict_iter_match_next)
2680         (iter_match_first_hashed, iter_match_next_hashed)
2681         (iter_match_first_linear, iter_match_next_linear): Adjust to work
2682         with a lookup_name_info.
2683         * dictionary.h (dict_iter_match_first, dict_iter_match_next):
2684         Likewise.
2685         * dwarf2read.c (dw2_lookup_symbol): Adjust to use lookup_name_info.
2686         (dw2_map_matching_symbols): Adjust to use symbol_name_match_type.
2687         (gdb_index_symbol_name_matcher): New class.
2688         (dw2_expand_symtabs_matching) Adjust to use lookup_name_info and
2689         gdb_index_symbol_name_matcher.  Accept a NULL symbol_matcher.
2690         * f-lang.c (f_collect_symbol_completion_matches): Adjust to work
2691         with a symbol_name_match_type.
2692         (f_language_defn): Adjust comments to refer to
2693         la_get_symbol_name_matcher.
2694         * go-lang.c (go_language_defn): Adjust comments to refer to
2695         la_get_symbol_name_matcher.
2696         * language.c (default_symbol_name_matcher)
2697         (language_get_symbol_name_matcher): New functions.
2698         (unknown_language_defn, auto_language_defn): Adjust comments to
2699         refer to la_get_symbol_name_matcher.
2700         * language.h (symbol_name_cmp_ftype): Delete.
2701         (language_defn) <la_collect_symbol_completion_matches>: Add match
2702         type parameter.
2703         <la_get_symbol_name_cmp>: Delete field.
2704         <la_get_symbol_name_matcher>: New field.
2705         <la_iterate_over_symbols>: Adjust to use lookup_name_info.
2706         (default_symbol_name_matcher, language_get_symbol_name_matcher):
2707         Declare.
2708         * linespec.c (iterate_over_all_matching_symtabs)
2709         (iterate_over_file_blocks): Adjust to use lookup_name_info.
2710         (find_methods): Add language parameter, and use lookup_name_info
2711         and the language's symbol_name_matcher_ftype.
2712         (linespec_complete_function): Adjust.
2713         (lookup_prefix_sym): Use lookup_name_info.
2714         (add_all_symbol_names_from_pspace): Adjust.
2715         (find_superclass_methods): Add language parameter and pass it
2716         down.
2717         (find_method): Pass symbol language down.
2718         (find_linespec_symbols): Don't demangle or Ada encode here.
2719         (search_minsyms_for_name): Add lookup_name_info parameter.
2720         (add_matching_symbols_to_info): Add name_match_type parameter.
2721         Use lookup_name_info.
2722         * m2-lang.c (m2_language_defn): Adjust comments to refer to
2723         la_get_symbol_name_matcher.
2724         * minsyms.c: Include <algorithm>.
2725         (add_minsym_to_demangled_hash_table): Remove table parameter and
2726         add objfile parameter.  Use search_name_hash, and add language to
2727         demangled languages vector.
2728         (struct found_minimal_symbols): New struct.
2729         (lookup_minimal_symbol_mangled, lookup_minimal_symbol_demangled):
2730         New functions.
2731         (lookup_minimal_symbol): Adjust to use them.  Don't canonicalize
2732         input names here.  Use lookup_name_info instead.  Lookup up
2733         demangled names once for each language in the demangled names
2734         vector.
2735         (iterate_over_minimal_symbols): Use lookup_name_info.  Lookup up
2736         demangled names once for each language in the demangled names
2737         vector.
2738         (build_minimal_symbol_hash_tables): Adjust.
2739         * minsyms.h (iterate_over_minimal_symbols): Adjust to pass down a
2740         lookup_name_info.
2741         * objc-lang.c (objc_language_defn): Adjust comment to refer to
2742         la_get_symbol_name_matcher.
2743         * objfiles.h: Include <vector>.
2744         (objfile_per_bfd_storage) <demangled_hash_languages>: New field.
2745         * opencl-lang.c (opencl_language_defn): Adjust comment to refer to
2746         la_get_symbol_name_matcher.
2747         * p-lang.c (pascal_language_defn): Adjust comment to refer to
2748         la_get_symbol_name_matcher.
2749         * psymtab.c (psym_lookup_symbol): Use lookup_name_info.
2750         (match_partial_symbol): Use symbol_name_match_type,
2751         lookup_name_info and psymbol_name_matches.
2752         (lookup_partial_symbol): Use lookup_name_info.
2753         (map_block): Use symbol_name_match_type and lookup_name_info.
2754         (psym_map_matching_symbols): Use symbol_name_match_type.
2755         (psymbol_name_matches): New.
2756         (recursively_search_psymtabs): Use lookup_name_info and
2757         psymbol_name_matches.  Rename 'kind' parameter to 'domain'.
2758         (psym_expand_symtabs_matching): Use lookup_name_info.  Rename
2759         'kind' parameter to 'domain'.
2760         * rust-lang.c (rust_language_defn): Adjust comment to refer to
2761         la_get_symbol_name_matcher.
2762         * symfile-debug.c (debug_qf_map_matching_symbols)
2763         (debug_qf_map_matching_symbols): Use symbol_name_match_type.
2764         (debug_qf_expand_symtabs_matching): Use lookup_name_info.
2765         * symfile.c (expand_symtabs_matching): Use lookup_name_info.
2766         * symfile.h (quick_symbol_functions) <map_matching_symbols>:
2767         Adjust to use symbol_name_match_type.
2768         <expand_symtabs_matching>: Adjust to use lookup_name_info.
2769         (expand_symtabs_matching): Adjust to use lookup_name_info.
2770         * symmisc.c (maintenance_expand_symtabs): Use
2771         lookup_name_info::match_any ().
2772         * symtab.c (symbol_matches_search_name): New.
2773         (eq_symbol_entry): Adjust to use lookup_name_info and the
2774         language's matcher.
2775         (demangle_for_lookup_info::demangle_for_lookup_info): New.
2776         (lookup_name_info::match_any): New.
2777         (iterate_over_symbols, search_symbols): Use lookup_name_info.
2778         (compare_symbol_name): Add language, lookup_name_info and
2779         completion_match_result parameters, and use them.
2780         (completion_list_add_name): Make extern.  Add language and
2781         lookup_name_info parameters.  Use them.
2782         (completion_list_add_symbol, completion_list_add_msymbol)
2783         (completion_list_objc_symbol): Add lookup_name_info parameters and
2784         adjust.  Pass down language.
2785         (completion_list_add_fields): Add lookup_name_info parameters and
2786         adjust.  Pass down language.
2787         (add_symtab_completions): Add lookup_name_info parameters and
2788         adjust.
2789         (default_collect_symbol_completion_matches_break_on): Add
2790         name_match_type parameter, and use it.  Use lookup_name_info.
2791         (default_collect_symbol_completion_matches)
2792         (collect_symbol_completion_matches): Add name_match_type
2793         parameter, and pass it down.
2794         (collect_symbol_completion_matches_type): Adjust.
2795         (collect_file_symbol_completion_matches): Add name_match_type
2796         parameter, and use lookup_name_info.
2797         * symtab.h: Include <string> and "common/gdb_optional.h".
2798         (enum class symbol_name_match_type): New.
2799         (class ada_lookup_name_info): New.
2800         (struct demangle_for_lookup_info): New.
2801         (class lookup_name_info): New.
2802         (symbol_name_matcher_ftype): New.
2803         (SYMBOL_MATCHES_SEARCH_NAME): Use symbol_matches_search_name.
2804         (symbol_matches_search_name): Declare.
2805         (MSYMBOL_MATCHES_SEARCH_NAME): Delete.
2806         (default_collect_symbol_completion_matches)
2807         (collect_symbol_completion_matches)
2808         (collect_file_symbol_completion_matches): Add name_match_type
2809         parameter.
2810         (iterate_over_symbols): Use lookup_name_info.
2811         (completion_list_add_name): Declare.
2812         * utils.c (enum class strncmp_iw_mode): Moved to utils.h.
2813         (strncmp_iw_with_mode): Now extern.
2814         * utils.h (enum class strncmp_iw_mode): Moved from utils.c.
2815         (strncmp_iw_with_mode): Declare.
2816
2817 2017-11-08  Keith Seitz  <keiths@redhat.com>
2818             Pedro Alves  <palves@redhat.com>
2819
2820         * ada-lang.c (ada_language_defn): Install
2821         default_search_name_hash.
2822         * buildsym.c (struct buildsym_compunit): <language>: New field.
2823         (finish_block_internal): Pass language when creating dictionaries.
2824         (start_buildsym_compunit, start_symtab): New language parameters.
2825         Use them.
2826         (restart_symtab): Pass down compilation unit's language.
2827         * buildsym.h (enum language): Forward declare.
2828         (start_symtab): New 'language' parameter.
2829         * c-lang.c (c_language_defn, cplus_language_defn)
2830         (asm_language_defn, minimal_language_defn): Install
2831         default_search_name_hash.
2832         * coffread.c (coff_start_symtab): Adjust.
2833         * d-lang.c (d_language_defn): Install default_search_name_hash.
2834         * dbxread.c (struct symloc): Add 'pst_language' field.
2835         (PST_LANGUAGE): Define.
2836         (start_psymtab, read_ofile_symtab): Use it.
2837         (process_one_symbol): New 'language' parameter.  Pass it down.
2838         * dictionary.c (struct dictionary) <language>: New field.
2839         (DICT_LANGUAGE): Define.
2840         (dict_create_hashed, dict_create_hashed_expandable)
2841         (dict_create_linear, dict_create_linear_expandable): New parameter
2842         'language'.  Set the dictionary's language.
2843         (iter_match_first_hashed): Adjust to rename.
2844         (insert_symbol_hashed): Assert we don't see mismatching
2845         languages.  Adjust to rename.
2846         (dict_hash): Rename to ...
2847         (default_search_name_hash): ... this and make extern.
2848         * dictionary.h (struct language_defn): Forward declare.
2849         (dict_create_hashed): New parameter 'language'.
2850         * dwarf2read.c (dwarf2_start_symtab): Pass down language.
2851         * f-lang.c (f_language_defn): Install default_search_name_hash.
2852         * go-lang.c (go_language_defn): Install default_search_name_hash.
2853         * jit.c (finalize_symtab): Pass compunit's language to dictionary
2854         creation.
2855         * language.c (unknown_language_defn, auto_language_defn):
2856         * language.h (language_defn::la_search_name_hash): New field.
2857         (default_search_name_hash): Declare.
2858         * m2-lang.c (m2_language_defn): Install default_search_name_hash.
2859         * mdebugread.c (new_block): New parameter 'language'.
2860         * mdebugread.c (parse_symbol): Pass symbol language to block
2861         allocation.
2862         (psymtab_to_symtab_1): Pass down language.
2863         (new_symtab): Pass compunit's language to block allocation.
2864         * objc-lang.c (objc_language_defn): Install
2865         default_search_name_hash.
2866         * opencl-lang.c (opencl_language_defn):
2867         * p-lang.c (pascal_language_defn): Install
2868         default_search_name_hash.
2869         * rust-lang.c (rust_language_defn): Install
2870         default_search_name_hash.
2871         * stabsread.h (enum language): Forward declare.
2872         (process_one_symbol): Add 'language' parameter.
2873         * symtab.c (search_name_hash): New function.
2874         * symtab.h (search_name_hash): Declare.
2875         * xcoffread.c (read_xcoff_symtab): Pass language to start_symtab.
2876
2877 2017-11-08  Pedro Alves  <palves@redhat.com>
2878
2879         * cp-name-parser.y (main): Don't initialize extra_chars.
2880
2881 2017-11-07  Tom Tromey  <tom@tromey.com>
2882
2883         * event-top.h (command_handler): Constify.
2884         * record-full.c (cmd_record_full_start): Update.
2885         * thread.c (thread_apply_all_command): Update.
2886         * printcmd.c (eval_command): Update.
2887         * mi/mi-main.c (mi_execute_cli_command): Update.
2888         (mi_execute_async_cli_command): Update.
2889         * tui/tui-stack.c (tui_update_command): Update.
2890         * cli/cli-interp.c (safe_execute_command): Constify.
2891         * record.c (record_start): Update.
2892         (record_start, record_stop, cmd_record_start): Update.
2893         * record-btrace.c (cmd_record_btrace_bts_start): Update.
2894         (cmd_record_btrace_pt_start): Update.
2895         (cmd_record_btrace_start): Update.
2896         (cmd_record_btrace_start): Update.
2897         * reverse.c (exec_reverse_once): Update.
2898         * python/python.c (execute_gdb_command): Don't copy the command.
2899         * event-top.c (command_line_handler): Update.
2900         (command_handler): Constify.
2901         * defs.h (deprecated_call_command_hook): Constify.
2902         * cli/cli-script.h (execute_user_command): Constify.
2903         * cli/cli-script.c (execute_user_command): Constify.
2904         (execute_cmd_pre_hook, execute_cmd_post_hook): Constify.
2905         (enum command_control_type): Update.
2906         * main.c (catch_command_errors): Remove non-const overload.
2907         (catch_command_errors_ftype): Remove.
2908         * python/py-cmd.c (cmdpy_function): Constify.
2909         * guile/scm-cmd.c (cmdscm_function): Constify.
2910         * cli/cli-dump.c (call_dump_func): Constify.
2911         * cli/cli-decode.c (do_const_cfunc): Constify.
2912         (do_sfunc): Constify.
2913         (cmd_func): Constify.
2914         * gdbcmd.h (execute_command, execute_command_to_string): Constify.
2915         * top.h (execute_command): Constify.
2916         * top.c (execute_command): Constify.
2917         (execute_command_to_string): Constify.
2918         (deprecated_call_command_hook): Constify.
2919         * command.h (cmd_func): Constify.
2920         * cli/cli-decode.h (struct cmd_list_element) <func>: Constify.
2921
2922 2017-11-07  Tom Tromey  <tom@tromey.com>
2923
2924         * ada-lang.c (catch_ada_exception_command): Constify.
2925         (catch_assert_command): Constify.
2926         * break-catch-throw.c (catch_catch_command, catch_throw_command)
2927         (catch_rethrow_command): Constify.
2928         (catch_exception_command_1): Constify.
2929         * breakpoint.h (add_catch_command): Constify.
2930         * break-catch-syscall.c (catch_syscall_command_1): Constify.
2931         (catch_syscall_split_args): Constify.
2932         * break-catch-sig.c (catch_signal_command): Constify.
2933         (catch_signal_split_args): Constify.
2934         * cli/cli-decode.h (struct cmd_list_element) <function>: Use
2935         cmd_const_sfunc_ftype.
2936         * cli/cli-decode.c (add_setshow_cmd_full): Constify.
2937         (add_setshow_enum_cmd, add_setshow_auto_boolean_cmd)
2938         (add_setshow_boolean_cmd, add_setshow_filename_cmd)
2939         (add_setshow_string_cmd, struct cmd_list_element)
2940         (add_setshow_optional_filename_cmd, add_setshow_integer_cmd)
2941         (add_setshow_uinteger_cmd, add_setshow_zinteger_cmd)
2942         (add_setshow_zuinteger_unlimited_cmd, add_setshow_zuinteger_cmd):
2943         Constify.
2944         (set_cmd_sfunc): Constify.
2945         (empty_sfunc): Constify.
2946         * command.h (add_setshow_enum_cmd, add_setshow_auto_boolean_cmd)
2947         (add_setshow_boolean_cmd, add_setshow_filename_cmd)
2948         (add_setshow_string_cmd, add_setshow_string_noescape_cmd)
2949         (add_setshow_optional_filename_cmd, add_setshow_integer_cmd)
2950         (add_setshow_uinteger_cmd, add_setshow_zinteger_cmd)
2951         (add_setshow_zuinteger_cmd, add_setshow_zuinteger_unlimited_cmd):
2952         Constify.
2953         (set_cmd_sfunc): Constify.
2954         (cmd_sfunc_ftype): Remove.
2955         * compile/compile.c (set_compile_args): Constify.
2956         * infrun.c (set_disable_randomization): Constify.
2957         * infcmd.c (set_args_command, set_cwd_command): Constify.
2958         * breakpoint.c (set_condition_evaluation_mode): Constify.
2959         (add_catch_command): Constify.
2960         (catch_fork_command_1, catch_exec_command_1)
2961         (catch_load_command_1, catch_unload_command_1): Constify.
2962         (catch_load_or_unload): Constify.
2963         * guile/scm-param.c (pascm_set_func): Constify.
2964         (add_setshow_generic): Constify.
2965         * python/py-param.c (get_set_value): Constify.
2966         * top.h (set_verbose): Constify.
2967         * tui/tui-win.c (tui_set_var_cmd): Constify.
2968         * mi/mi-main.c (set_mi_async_command): Constify.
2969         * cli/cli-logging.c (set_logging_overwrite)
2970         (set_logging_redirect): Constify.
2971         * value.c (set_max_value_size): Constify.
2972         * valprint.c (set_input_radix, set_output_radix): Constify.
2973         * utils.c (set_width_command, set_height_command): Constify.
2974         * typeprint.c (set_print_type_methods, set_print_type_typedefs): Constify.
2975         * tracepoint.c (set_disconnected_tracing)
2976         (set_circular_trace_buffer, set_trace_buffer_size)
2977         (set_trace_user, set_trace_notes, set_trace_stop_notes): Constify.
2978         * top.c (set_history_size_command, set_verbose, set_editing)
2979         (set_gdb_datadir, set_history_filename): Constify.
2980         * target.c (set_targetdebug, maint_set_target_async_command)
2981         (maint_set_target_non_stop_command, set_target_permissions)
2982         (set_write_memory_permission): Constify.
2983         (open_target): Constify.
2984         * target-descriptions.c (set_tdesc_filename_cmd): Constify.
2985         * target-dcache.c (set_stack_cache, set_code_cache): Constify.
2986         * symtab.c (set_symbol_cache_size_handler): Constify.
2987         * symfile.c (set_ext_lang_command): Constify.
2988         * symfile-debug.c (set_debug_symfile): Constify.
2989         * source.c (set_directories_command): Constify.
2990         * solib.c (reload_shared_libraries, gdb_sysroot_changed): Constify.
2991         * serial.c (set_parity): Constify.
2992         * rs6000-tdep.c (powerpc_set_soft_float, powerpc_set_vector_abi): Constify.
2993         * remote.c (set_remote_exec_file, set_remotebreak)
2994         (set_remote_protocol_Z_packet_cmd, set_range_stepping): Constify.
2995         * record.c (set_record_insn_history_size)
2996         (set_record_call_history_size): Constify.
2997         * record-full.c (set_record_full_insn_max_num): Constify.
2998         * proc-api.c (set_procfs_trace_cmd, set_procfs_file_cmd): Constify.
2999         * osabi.c (set_osabi): Constify.
3000         * mips-tdep.c (set_mips64_transfers_32bit_regs)
3001         (reinit_frame_cache_sfunc, mips_abi_update): Constify.
3002         * maint.c (maintenance_set_profile_cmd): Constify.
3003         * linux-thread-db.c (set_libthread_db_search_path): Constify.
3004         * language.c (set_language_command, set_range_command)
3005         (set_case_command): Constify.
3006         * infrun.c (set_non_stop, set_observer_mode)
3007         (set_stop_on_solib_events, set_schedlock_func)
3008         (set_exec_direction_func): Constify.
3009         * infcmd.c (set_inferior_tty_command): Constify.
3010         * disasm.c (set_disassembler_options_sfunc): Constify.
3011         * demangle.c (set_demangling_command): Constify.
3012         * dcache.c (set_dcache_size, set_dcache_line_size): Constify.
3013         * cris-tdep.c (set_cris_version, set_cris_mode)
3014         (set_cris_dwarf2_cfi): Constify.
3015         * corefile.c (set_gnutarget_command): Constify.
3016         * charset.c (set_host_charset_sfunc, set_target_charset_sfunc)
3017         (set_target_wide_charset_sfunc): Constify.
3018         * breakpoint.c (update_dprintf_commands): Constify.
3019         * auto-load.c (set_auto_load_dir, set_auto_load_safe_path): Constify.
3020         * arm-tdep.c (set_fp_model_sfunc, arm_set_abi)
3021         (set_disassembly_style_sfunc): Constify.
3022         * arch-utils.c (set_endian, set_architecture): Constify.
3023         * alpha-tdep.c (reinit_frame_cache_sfunc): Constify.
3024         * agent.c (set_can_use_agent): Constify.
3025
3026 2017-11-07  Tom Tromey  <tom@tromey.com>
3027
3028         * go32-nat.c (go32_sysinfo, go32_sldt, go32_sgdt, go32_sidt)
3029         (go32_pde, go32_pte, go32_pte_for_address): Constify.
3030         * gnu-nat.c (_parse_bool_arg, show_thread_default_pause_cmd)
3031         (set_thread_default_pause_cmd, set_thread_default_run_cmd)
3032         (show_thread_default_run_cmd, set_thread_default_detach_sc_cmd)
3033         (parse_int_arg, show_thread_default_detach_sc_cmd)
3034         (set_signals_cmd, show_signals_cmd, set_sig_thread_cmd)
3035         (show_sig_thread_cmd, set_stopped_cmd, show_stopped_cmd)
3036         (set_exceptions_cmd, show_exceptions_cmd, set_task_pause_cmd)
3037         (show_task_pause_cmd, set_task_detach_sc_cmd)
3038         (show_task_detach_sc_cmd, set_task_exc_port_cmd)
3039         (set_noninvasive_cmd, set_thread_pause_cmd)
3040         (show_thread_pause_cmd, set_thread_run_cmd, show_thread_run_cmd)
3041         (set_thread_detach_sc_cmd, show_thread_detach_sc_cmd)
3042         (set_thread_exc_port_cmd, thread_takeover_sc_cmd): Constify.
3043         * windows-nat.c (display_selectors): Constify.
3044         * cli/cli-decode.h (struct cmd_list_element) <function>: Remove
3045         non-const "cfunc".
3046         * cli/cli-decode.c (set_cmd_cfunc): Remove non-const overload.
3047         (cmd_cfunc_eq): Likewise.
3048         (struct cmd_list_element): Likewise.
3049         (do_cfunc): Remove.
3050         (cli_user_command_p): Update.
3051         * command.h (add_cmd): Remove non-const overload.
3052         (cmd_cfunc_ftype): Remove typedef.
3053         (cmd_cfunc_eq): Remove non-const overload.
3054         * value.c (show_values): Constify.
3055         * thread.c (thread_apply_all_command): Constify.
3056         * symfile.c (load_command): Constify.
3057         * source.c (directory_command): Constify.
3058         * maint.c (maintenance_internal_error)
3059         (maintenance_demangler_warning, maintenance_space_display)
3060         (maintenance_print_architecture, maintenance_translate_address)
3061         (maintenance_info_selftests, maintenance_internal_warning):
3062         Constify.
3063         * breakpoint.c (disable_trace_command, enable_trace_command):
3064         Constify.
3065         * auto-load.c (info_auto_load_local_gdbinit, add_auto_load_dir):
3066         Constify.
3067         (add_auto_load_safe_path): Constify.
3068         * guile/scm-auto-load.c (info_auto_load_guile_scripts): Constify.
3069         * top.h (show_commands): Constify.
3070         * linux-thread-db.c (info_auto_load_libthread_db): Constify.
3071         * sparc64-tdep.c (adi_examine_command): Constify.
3072         (adi_assign_command): Constify.
3073
3074 2017-11-07  Tom Tromey  <tom@tromey.com>
3075
3076         * frame.h (info_locals_command, info_args_command): Constify.
3077         * auto-load.h (auto_load_info_scripts): Constify.
3078         * inferior.h (registers_info): Constify.
3079         * copying.c: Rebuild.
3080         * copying.awk: Constify generated commands.
3081         * auto-load.c (auto_load_info_scripts)
3082         (info_auto_load_gdb_scripts): Constify.
3083         * cli/cli-decode.c (struct cmd_list_element): Take a
3084         cmd_const_cfunc_ftype.
3085         * command.h (add_info): Take a cmd_const_cfunc_ftype.
3086         * tui/tui-win.c (tui_all_windows_info): Constify.
3087         * python/py-auto-load.c (info_auto_load_python_scripts):
3088         Constify.
3089         * cli/cli-cmds.c (show_command): Remove non-const overload.
3090         * tracepoint.c (info_tvariables_command, info_scope_command):
3091         Constify.
3092         (info_static_tracepoint_markers_command): Constify.
3093         * thread.c (info_threads_command): Constify.
3094         (print_thread_info_1): Constify.
3095         * target.c (info_target_command): Constify.
3096         * symtab.c (info_sources_command, info_functions_command)
3097         (info_types_command): Constify.
3098         (info_variables_command): Remove non-const overload.
3099         * symfile.c (info_ext_lang_command): Constify.
3100         * stack.c (info_frame_command, info_locals_command)
3101         (info_args_command): Constify.
3102         (backtrace_command): Remove non-const overload.
3103         * source.c (info_source_command, info_line_command): Constify.
3104         * solib.c (info_sharedlibrary_command): Constify.
3105         * skip.c (info_skip_command): Constify.
3106         * ser-go32.c (info_serial_command): Constify.
3107         * reverse.c (info_bookmarks_command): Constify.
3108         * printcmd.c (info_symbol_command, info_address_command)
3109         (info_display_command): Constify.
3110         * osdata.c (info_osdata_command): Constify.
3111         * objc-lang.c (info_selectors_command, info_classes_command):
3112         Constify.
3113         * nto-procfs.c (procfs_pidlist, procfs_meminfo): Constify.
3114         * memattr.c (info_mem_command): Constify.
3115         * macrocmd.c (info_macro_command, info_macros_command): Constify.
3116         * linux-fork.c (info_checkpoints_command): Constify.
3117         * infrun.c (info_signals_command): Constify.
3118         * inflow.c (info_terminal_command): Constify.
3119         * inferior.c (info_inferiors_command): Constify.
3120         (print_inferior): Constify.
3121         * infcmd.c (info_program_command, info_all_registers_command)
3122         (info_registers_command, info_vector_command)
3123         (info_float_command): Constify.
3124         (registers_info): Constify.
3125         * gnu-nat.c (info_send_rights_cmd, info_recv_rights_cmd)
3126         (info_port_sets_cmd, info_dead_names_cmd, info_port_rights_cmd):
3127         Constify.
3128         * f-valprint.c (info_common_command): Constify.
3129         * dcache.c (info_dcache_command): Constify.
3130         (dcache_info_1): Constify.
3131         * darwin-nat-info.c (info_mach_tasks_command)
3132         (info_mach_task_command, info_mach_ports_command)
3133         (info_mach_port_command, info_mach_threads_command)
3134         (info_mach_thread_command, info_mach_regions_command)
3135         (info_mach_regions_recurse_command, info_mach_region_command)
3136         (info_mach_exceptions_command): Constify.
3137         (get_task_from_args): Constify.
3138         * cp-support.c (info_vtbl_command): Constify.
3139         * breakpoint.c (info_watchpoints_command)
3140         (info_tracepoints_command): Constify.
3141         (info_breakpoints_command): Remove non-const overload.
3142         * avr-tdep.c (avr_io_reg_read_command): Constify.
3143         * auxv.c (info_auxv_command): Constify.
3144         * ada-tasks.c (info_tasks_command): Constify.
3145         (info_task): Constify.
3146         * ada-lang.c (info_exceptions_command): Constify.
3147
3148 2017-11-07  Tom Tromey  <tom@tromey.com>
3149
3150         * solib.h (no_shared_libraries): Constify.
3151         * frame.h (return_command): Constify.
3152         * cli/cli-cmds.h (quit_command): Constify.
3153         * top.h (quit_command, execute_command): Constify.
3154         * target.h (flash_erase_command): Constify.
3155         * inferior.h (set_inferior_args, attach_command): Constify.
3156         * tracepoint.h (start_tracing, stop_tracing): Constify.
3157         * breakpoint.h (break_command, tbreak_command)
3158         (hbreak_command_wrapper, thbreak_command_wrapper)
3159         (rbreak_command_wrapper, watch_command_wrapper)
3160         (awatch_command_wrapper, rwatch_command_wrapper)
3161         (get_tracepoint_by_number): Constify.
3162         * symtab.c (info_variables_command, rbreak_command)
3163         (symtab_symbol_info): Constify.
3164         (info_variables_command): Add non-const overload.
3165         * top.c (dont_repeat_command): Constify.
3166         * breakpoint.c (ignore_command, commands_command)
3167         (condition_command, tbreak_command, hbreak_command)
3168         (thbreak_command, clear_command, break_command)
3169         (info_breakpoints_command, watch_command, rwatch_command)
3170         (awatch_command, trace_command, ftrace_command, strace_command)
3171         (trace_pass_command, break_range_command, dprintf_command)
3172         (agent_printf_command, get_tracepoint_by_number)
3173         (watch_maybe_just_location, trace_pass_command): Constify.
3174         (info_breakpoints_command): Add non-const overload.
3175         * tracefile.c (tsave_command): Constify.
3176         * infcmd.c (attach_command, disconnect_command, signal_command)
3177         (queue_signal_command, stepi_command, nexti_command)
3178         (finish_command, next_command, step_command, until_command)
3179         (advance_command, jump_command, continue_command, run_command)
3180         (start_command, starti_command, interrupt_command)
3181         (run_command_1, set_inferior_args, step_1): Constify.
3182         * inferior.c (add_inferior_command, remove_inferior_command)
3183         (clone_inferior_command): Constify.
3184         * linux-fork.c (checkpoint_command, restart_command): Constify.
3185         * windows-nat.c (signal_event_command): Constify.
3186         * guile/guile.c (guile_repl_command, guile_command): Constify.
3187         * printcmd.c (x_command, display_command, printf_command)
3188         (output_command, set_command, call_command, print_command)
3189         (eval_command): Constify.
3190         (non_const_set_command): Remove.
3191         (_initialize_printcmd): Update.
3192         * source.c (forward_search_command, reverse_search_command):
3193         Constify.
3194         * jit.c (jit_reader_load_command, jit_reader_unload_command):
3195         Constify.
3196         * infrun.c (handle_command): Constify.
3197         * memattr.c (mem_command): Constify.
3198         * stack.c (return_command, up_command, up_silently_command)
3199         (down_command, down_silently_command, frame_command)
3200         (backtrace_command, func_command, backtrace_command_1): Constify.
3201         (backtrace_command): Add non-const overload.
3202         * remote-sim.c (simulator_command): Constify.
3203         * exec.c (set_section_command): Constify.
3204         * tracepoint.c (tdump_command, trace_variable_command)
3205         (tstatus_command, tstop_command, tstart_command)
3206         (end_actions_pseudocommand, while_stepping_pseudocommand)
3207         (collect_pseudocommand, teval_pseudocommand, actions_command)
3208         (start_tracing, stop_tracing): Constify.
3209         * value.c (init_if_undefined_command): Constify.
3210         * tui/tui-stack.c (tui_update_command): Constify.
3211         * tui/tui-win.c (tui_refresh_all_command)
3212         (tui_set_tab_width_command, tui_set_win_height_command)
3213         (tui_set_focus_command, tui_scroll_forward_command)
3214         (tui_scroll_backward_command, tui_scroll_left_command)
3215         (tui_scroll_right_command, parse_scrolling_args, tui_set_focus)
3216         (tui_set_win_height): Constify.
3217         * tui/tui-layout.c (tui_layout_command): Constify.
3218         * procfs.c (proc_trace_syscalls, proc_trace_sysentry_cmd)
3219         (proc_trace_sysexit_cmd, proc_untrace_sysentry_cmd)
3220         (proc_untrace_sysexit_cmd): Constify.
3221         * remote.c (threadlist_test_cmd, threadinfo_test_cmd)
3222         (threadset_test_cmd, threadlist_update_test_cmd)
3223         (threadalive_test): Constify.
3224         * objc-lang.c (print_object_command): Constify.
3225         * command.h (add_com): Constify.
3226         * cli/cli-dump.c (restore_command): Constify.
3227         * cli/cli-cmds.c (pwd_command, echo_command, quit_command)
3228         (help_command, complete_command, shell_command, edit_command)
3229         (list_command, disassemble_command, make_command)
3230         (apropos_command, alias_command): Constify.
3231         * cli/cli-script.c (document_command, define_command)
3232         (while_command, if_command, validate_comname): Constify.
3233         * cli/cli-decode.c (struct cmd_list_element): Change type of
3234         "fun".
3235         * target.c (do_monitor_command, flash_erase_command): Constify.
3236         * regcache.c (reg_flush_command): Constify.
3237         * reverse.c (reverse_step, reverse_next, reverse_stepi)
3238         (reverse_nexti, reverse_continue, reverse_finish)
3239         (save_bookmark_command, goto_bookmark_command)
3240         (exec_reverse_once): Constify.
3241         * python/python.c (python_interactive_command, python_command):
3242         Constify.
3243         * typeprint.c (ptype_command, whatis_command, whatis_exp):
3244         Constify.
3245         * solib.c (sharedlibrary_command, no_shared_libraries): Constify.
3246         * gcore.c (gcore_command): Constify.
3247
3248 2017-11-07  Tom Tromey  <tom@tromey.com>
3249
3250         * printcmd.c (x_command): Call set_repeat_arguments.
3251         * cli/cli-cmds.c (list_command): Call set_repeat_arguments.
3252         * top.c (repeat_arguments): New global.
3253         (set_repeat_arguments): New function.
3254         (execute_command): Handle repeat_arguments.
3255         (show_commands): Calls set_repeat_arguments.
3256         * command.h (set_repeat_arguments): Declare.
3257
3258 2017-11-07  Tom Tromey  <tom@tromey.com>
3259
3260         * stack.c (backtrace_command): Use std::string.
3261         (backtrace_command_1): Make "count_exp" const.
3262
3263 2017-11-07  Tom Tromey  <tom@tromey.com>
3264
3265         * source.c (directory_switch, mod_path, add_path): Constify.
3266         * defs.h (add_path, mod_path, directory_switch): Constify.
3267         * mi/mi-cmd-env.c (env_mod_path): Constify.
3268
3269 2017-11-07  Tom Tromey  <tom@tromey.com>
3270
3271         * infcmd.c (strip_bg_char): Return gdb::unique_xmalloc_ptr.
3272         (run_command_1, continue_command, step_1, jump_command)
3273         (signal_command, until_command, advance_command, finish_command)
3274         (attach_command): Update.
3275
3276 2017-11-07  Tom Tromey  <tom@tromey.com>
3277
3278         * command.h (set_cmd_cfunc): Don't declare.
3279         * cli/cli-decode.c (set_cmd_cfunc): Now static.
3280
3281 2017-11-07  Tom Tromey  <tom@tromey.com>
3282
3283         * stack.c (select_frame_command): Constify.
3284         * cli/cli-decode.c (add_com_suppress_notification): Constify.
3285         * command.h (add_com_suppress_notification): Constify.
3286
3287 2017-11-07  Tom Tromey  <tom@tromey.com>
3288
3289         * breakpoint.c (stop_command): Constify.
3290         * cli/cli-decode.c (struct cmd_list_element): Constify.
3291         * command.h (add_abbrev_prefix_cmd): Constify.
3292
3293 2017-11-07  Pedro Alves  <palves@redhat.com>
3294
3295         * breakpoint.c (extract_bp_kind): New enum.
3296         (extract_bp_num, extract_bp_or_bp_range): New functions, partially
3297         factored out from ...
3298         (extract_bp_number_and_location): ... here.
3299         * cli/cli-utils.c (get_number_trailer): Handle '-$variable'.
3300
3301 2017-11-07  Pedro Alves  <palves@redhat.com>
3302
3303         * breakpoint.c (extract_bp_number_and_location): Change return
3304         type to void.  Throw error instead of warning.
3305         (enable_disable_command): Adjust.
3306
3307 2017-11-07  Xavier Roirand  <roirand@adacore.com>
3308             Pedro Alves  <palves@redhat.com>
3309
3310         * breakpoint.c (map_breakpoint_number_range): New, factored out
3311         from ...
3312         (map_breakpoint_numbers): ... here.
3313         (find_location_by_number): Change parameters from string to
3314         breakpoint number and location.
3315         (extract_bp_number_and_location): New function.
3316         (enable_disable_bp_num_loc)
3317         (enable_disable_breakpoint_location_range)
3318         (enable_disable_command): New functions, factored out ...
3319         (enable_command, disable_command): ... these functions, and
3320         adjusted to support ranges.
3321         * NEWS: Document enable/disable breakpoint location range feature.
3322
3323 2017-11-06  Luis Machado  <luis.machado@linaro.org>
3324
3325         * MAINTAINERS (Write After Approval): Update my e-mail address.
3326
3327 2017-11-06  Pedro Alves  <palves@redhat.com>
3328
3329         * gnu-nat.c (gnu_terminal_init): Delete.
3330         (gnu_target): Don't install gnu_terminal_init.
3331         * inflow.c (child_terminal_init_with_pgrp): Delete, merged with ...
3332         (child_terminal_init): ... this function.
3333
3334 2017-11-06  Pedro Alves  <palves@redhat.com>
3335
3336         * common/common.m4 (GDB_AC_COMMON): No longer check termio.h nor
3337         sgtty.h.
3338         * config.in, configure: Regenerate.
3339
3340 2017-11-06  Pedro Alves  <palves@redhat.com>
3341
3342         * event-top.c: Check SIGTSTP instead of STOP_SIGNAL thoughout.
3343         (async_init_signals): Adjust.
3344         (handle_stop_sig): Rename to ...
3345         (handle_sigtstp): ... this.
3346         (async_stop_sig): Rename to ...
3347         (async_sigtstp_handler): ... this, and delete STOP_SIGNAL !=
3348         SIGTSTP path.
3349         * event-top.h: Move signal.h include to the top.  Check SIGTSTP
3350         instead of STOP_SIGNAL thoughout.
3351         (handle_stop_sig): Rename to ...
3352         (handle_sigtstp): ... this.
3353         * top.c (command_line_input): Replace STOP_SIGNAL -> SIGTSTP.
3354
3355 2017-11-06  Pedro Alves  <palves@redhat.com>
3356
3357         * inflow.c (child_terminal_inferior, child_terminal_ours_1): No
3358         longer set flags twice in row.
3359
3360 2017-11-06  Pedro Alves  <palves@redhat.com>
3361
3362         * Makefile.in (SER_HARDWIRE): Update comment.
3363         (HFILES_NO_SRCDIR): Remove gdb_termios.h.
3364         * common/gdb_termios.h: Delete file.
3365         * common/job-control.c: Include termios.h and unistd.h instead of
3366         gdb_termios.h.
3367         (gdb_setpgid): Remove HAVE_TERMIOS || TIOCGPGRP preprocessor
3368         check.
3369         (have_job_control): Check HAVE_TERMIOS_H instead of HAVE_TERMIOS.
3370         Remove sgtty code.
3371         * configure.ac: No longer check for termio.h and sgtty.h.
3372         * configure: Regenerate.
3373         * inflow.c: Include termios.h instead of gdb_termios.h.  Replace
3374         PROCESS_GROUP_TYPE checks with HAVE_TERMIOS_H checks throughout.
3375         Replace PROCESS_GROUP_TYPE references with pid_t references
3376         throughout.
3377         (gdb_getpgrp): Delete.
3378         (set_initial_gdb_ttystate): Use tcgetpgrp instead of gdb_getpgrp.
3379         (child_terminal_inferior): Remove comment.  Remove sgtty code.
3380         (child_terminal_ours_1): Use tcgetpgrp directly instead of
3381         gdb_getpgrp.  Use serial_set_tty_state instead aof
3382         serial_noflush_set_tty_state.  Remove sgtty code.
3383         * inflow.h: Include unistd.h instead of gdb_termios.h.  Replace
3384         PROCESS_GROUP_TYPE check with HAVE_TERMIOS_H check.
3385         (inferior_process_group): Now returns pid_t.
3386         * ser-base.c (ser_base_noflush_set_tty_state): Delete.
3387         * ser-base.h (ser_base_noflush_set_tty_state): Delete.
3388         * ser-event.c (serial_event_ops): Update.
3389         * ser-go32.c (dos_noflush_set_tty_state): Delete.
3390         (dos_ops): Update.
3391         * ser-mingw.c (hardwire_ops, tty_ops, pipe_ops, tcp_ops): Update.
3392         * ser-pipe.c (pipe_ops): Update.
3393         * ser-tcp.c (tcp_ops): Update.
3394         * ser-unix.c: Include termios.h instead of gdb_termios.h.  Remove
3395         HAVE_TERMIOS checks.
3396         [HAVE_TERMIO] (struct hardwire_ttystate): Delete.
3397         [HAVE_SGTTY] (struct hardwire_ttystate): Delete.
3398         (get_tty_state, set_tty_state): Drop termio and sgtty code, and
3399         assume termios.
3400         (hardwire_noflush_set_tty_state): Delete.
3401         (hardwire_print_tty_state, hardwire_drain_output)
3402         (hardwire_flush_output, hardwire_flush_input)
3403         (hardwire_send_break, hardwire_raw, hardwire_setbaudrate)
3404         (hardwire_setstopbits, hardwire_setparity): Drop termio and sgtty
3405         code, and assume termios.
3406         (hardwire_ops): Update.
3407         (_initialize_ser_hardwire): Remove HAVE_TERMIOS check.
3408         * serial.c (serial_noflush_set_tty_state): Delete.
3409         * serial.h (serial_noflush_set_tty_state): Delete.
3410         (serial_ops::noflush_set_tty_state): Delete.
3411
3412 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3413
3414         * Makefile.in (SFILES): Remove doublest.c and dfp.c.
3415         (HFILES_NO_SRCDIR): Remove doublest.h and dfp.h.
3416         (COMMON_OBS): Remove doublest.o and dfp.o.
3417         Do not build target-float.c (instead of doublest.c)
3418         with -Wformat-nonliteral.
3419
3420         * doublest.c: Remove file.
3421         * doublest.h: Remove file.
3422         * dfp.c: Remove file.
3423         * dfp.h: Remove file.
3424
3425         * target-float.c: Do not include "doublest.h" and "dfp.h".
3426         (DOUBLEST): Move here from doublest.h.
3427         (enum float_kind): Likewise.
3428         (FLOATFORMAT_CHAR_BIT): Likewise.
3429         (FLOATFORMAT_LARGEST_BYTES): Likewise.
3430         (floatformat_totalsize_bytes): Move here from doublest.c.  Make static.
3431         (floatformat_precision): Likewise.
3432         (floatformat_normalize_byteorder, get_field, put_field): Likewise.
3433         (floatformat_is_negative, floatformat_classify, floatformat_mantissa):
3434         Likewise.
3435         (host_float_format, host_double_format, host_long_double_format):
3436         Likewise.
3437         (floatformat_to_string, floatformat_from_string): Likewise.
3438         (floatformat_to_doublest): Likewise.  Also, inline the original
3439         convert_floatformat_to_doublest.
3440         (floatformat_from_doublest): Likewise.  Also, inline the original
3441         convert_floatformat_from_doublest.
3442
3443         Include "dpd/decimal128.h", "dpd/decimal64.h", and "dpd/decimal32.h".
3444         (MAX_DECIMAL_STRING): Move here from dfp.c.
3445         (match_endianness): Likewise.
3446         (set_decnumber_context, decimal_check_errors): Likewise.
3447         (decimal_from_number, decimal_to_number): Likewise.
3448         (decimal_to_string, decimal_from_string): Likewise.  Make static.
3449         (decimal_from_longest, decimal_from_ulongest): Likewise.
3450         (decimal_to_longest): Likewise.
3451         (decimal_binop, decimal_is_zero, decimal_compare): Likewise.
3452         (decimal_convert): Likewise.
3453
3454 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3455
3456         * doublest.c: Do not include "gdbtypes.h".
3457         (extract_typed_floating): Remove.
3458         (store_typed_floating): Remove.
3459         (convert_typed_floating): Remove.
3460         * doublest.h (struct type): Remove.
3461         (DOUBLEST_PRINT_FORMAT): Remove.
3462         (DOUBLEST_SCAN_FORMAT): Remove.
3463         (extract_typed_floating): Remove.
3464         (store_typed_floating): Remove.
3465         (convert_typed_floating): Remove.
3466
3467         * dfp.c (decimal_from_doublest): Remove.
3468         (decimal_to_doublest): Remove.
3469         * dfp.h: Do not include "doublest.h".
3470         (decimal_from_doublest): Remove.
3471         (decimal_to_doublest): Remove.
3472
3473         * value.c: Do not include "doublest.h" and "dfp.h".
3474         (value_as_double): Remove.
3475         (unpack_double): Remove.
3476         (value_from_double): Remove.
3477         (value_from_decfloat): Remove.
3478         * value.h: Do not include "doublest.h".
3479         (value_as_double): Remove.
3480         (unpack_double): Remove.
3481         (value_from_double): Remove.
3482         (value_from_decfloat): Remove.
3483
3484 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3485
3486         * i386-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3487         (i386_extract_return_value): Use target_float_convert.
3488         (i386_store_return_value): Likewise.
3489         * i387-tdep.c (i387_register_to_value): Use target_float_convert.
3490         (i387_value_to_register): Likewise.
3491         * ia64-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3492         (ia64_register_to_value): Use target_float_convert.
3493         (ia64_value_to_register): Likewise.
3494         (ia64_extract_return_value): Likewise.
3495         (ia64_store_return_value): Likewise.
3496         (ia64_push_dummy_call): Likewise.
3497         * m68k-tdep.c: Include "target-float.h".
3498         (m68k_register_to_value): Use target_float_convert.
3499         (m68k_value_to_register): Likewise.
3500         (m68k_svr4_extract_return_value): Likewise.
3501         (m68k_svr4_store_return_value): Likewise.
3502         * ppc-sysv-tdep.c: Include "target-float.h".
3503         (ppc_sysv_abi_push_dummy_call): Use target_float_convert.
3504         (do_ppc_sysv_return_value): Likewise.
3505         (ppc64_sysv_abi_push_freg): Likewise.
3506         (ppc64_sysv_abi_return_value_base): Likewise.
3507         * rs6000-aix-tdep.c: Include "target-float.h".
3508         (rs6000_push_dummy_call): Use target_float_convert.
3509         (rs6000_return_value): Likewise.
3510         * rs6000-lynx178-tdep.c: Include "target-float.h".
3511         (rs6000_lynx178_push_dummy_call): Use target_float_convert.
3512         (rs6000_lynx178_return_value): Likewise.
3513         * rs6000-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3514         (rs6000_register_to_value): Use target_float_convert.
3515         (rs6000_value_to_register): Likewise.
3516         * arm-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3517         (arm_extract_return_value): Use target_float_convert.
3518         (arm_store_return_value): Likewise.
3519         * sh-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3520         (sh_register_convert_to_virtual): Use target_float_convert.
3521         (sh_register_convert_to_raw): Likewise.
3522         * sh64-tdep.c: Include "target-float.h".
3523         (sh64_extract_return_value): Use target_float_convert.
3524         (sh64_register_convert_to_virtual): Likewise.
3525         (sh64_register_convert_to_raw): Likewise.  Fix argument types.
3526
3527 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3528
3529         * target-float.c (floatformat_to_host_double): New function.
3530         (floatformat_from_host_double): Likewise.
3531         (target_float_to_host_double): Likewise.
3532         (target_float_from_host_double): Likewise.
3533         * target-float.h (target_float_to_host_double): Add prototype.
3534         (target_float_from_host_double): Likewise.
3535
3536         * guile/scm-value.c: Include "target-float.h".
3537         (gdbscm_value_to_real): Use target_float_to_host_double.
3538         Handle integer source values via value_as_long.
3539         * guile/scm-math.c: Include "target-float.h".  Do not include
3540         "doublest.h", "dfp.h", and "expression.h".
3541         (vlscm_convert_typed_number): Use target_float_from_host_double.
3542         (vlscm_convert_number): Likewise.
3543
3544         * python/py-value.c (valpy_float): Use target_float_to_host_double.
3545         (convert_value_from_python): Use target_float_from_host_double.
3546
3547 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3548
3549         * ada-lang.c (cast_to_fixed): Reimplement in target arithmetic.
3550         (cast_from_fixed): Likewise.
3551         (ada_scaling_type): New function.
3552         (ada_delta): Return value instead of DOUBLEST.  Perform target
3553         arithmetic instead of host arithmetic.
3554         (scaling_factor): Rename to ...
3555         (ada_scaling_factor) ... this.  Make non-static.  Return value instead
3556         of DOUBLEST.  Perform target arithmetic instead of host arithmetic.
3557         (ada_fixed_to_float): Remove.
3558         (ada_float_to_fixed): Remove.
3559         * ada-lang.h (ada_fixed_to_float): Remove.
3560         (ada_float_to_fixed): Remove.
3561         (ada_delta): Return value instead of DOUBLEST.
3562         (ada_scaling_factor): Add prototype.
3563
3564         * ada-typeprint.c: Include "target-float.h".
3565         (print_fixed_point_type): Perform target arithmetic instead of
3566         host arithmetic.
3567         * ada-valprint.c: Include "target-float.h".
3568         (ada_val_print_num): Perform target arithmetic instead of
3569         host arithmetic for fixed-point types.
3570
3571 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3572
3573         * target-float.c: Include <math.h>.
3574         (floatformat_binop): New function.
3575         (floatformat_compare): Likewise.
3576         (target_float_binop): Likewise.
3577         (target_float_compare): Likewise.
3578         * target-float.h: Include "expression.h".
3579         (target_float_binop): Add prototype.
3580         (target_float_compare): Likewise.
3581
3582         * valarith.c: Do not include "doublest.h" and "dfp.h".
3583         Include "common/byte-vector.h".
3584         (value_args_as_decimal): Remove, replace by ...
3585         (value_args_as_target_float): ... this function.  Handle both
3586         binary and decimal target floating-point formats.
3587         (scalar_binop): Handle both binary and decimal FP using
3588         value_args_as_target_float and target_float_binop.
3589         (value_equal): Handle both binary and decimal FP using
3590         value_args_as_target_float and target_float_compare.
3591         (value_less): Likewise.
3592         (value_pos): Handle all scalar types as simple copy.
3593         (value_neg): Handle all scalar types via BINOP_SUB from 0.
3594         * dfp.c (decimal_binop): Throw error instead of internal_error
3595         when called with an unsupported operation code.
3596
3597 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3598
3599         * target-float.c (target_float_to_string): New function.
3600         (target_float_from_string): New function.
3601         * target-float.h (target_float_to_string): Add prototype.
3602         (target_float_from_string): Add prototype.
3603
3604         * valprint.c: Include "target-float.h".  Do not include
3605         "doublest.h" and "dfp.h".
3606         (print_floating): Use target_float_to_string.
3607         * printcmd.c: Include "target-float.h".  Do not include "dfp.h".
3608         (printf_floating): Use target_float_to_string.
3609         * i387-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3610         (print_i387_value): Use target_float_to_string.
3611         * mips-tdep.c: Include "target-float.h".
3612         (mips_print_fp_register): Use target_float_to_string.
3613         * sh64-tdep.c: Include "target-float.h".
3614         (sh64_do_fp_register): Use target_float_to_string.
3615
3616         * parse.c: Include "target-float.h".  Do not include
3617         "doublest.h" and "dfp.h".
3618         (parse_float): Use target_float_from_string.
3619         * stabsread.c: Include "target-float.h".  Do not include "doublest.h".
3620         (define_symbol): Use target_float_from_string.
3621         * gdbarch-selftests.c: Include "target-float.h".
3622         (register_to_value_test): Use target_float_from_string.
3623
3624 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3625
3626         * Makefile.c (SFILES): Add target-float.c.
3627         (HFILES_NO_SRCDIR): Add target-float.h.
3628         (COMMON_OBS): Add target-float.o.
3629         * target-float.h: New file.
3630         * target-float.c: New file.
3631
3632         * doublest.c (floatformat_classify): Fix detection of float_zero.
3633
3634         * gdbtypes.c (is_floating_type): New function.
3635         * gdbtypes.h (is_floating_type): Add prototype.
3636
3637         * value.c: Do not include "floatformat.h".
3638         (unpack_double): Use target_float_is_valid.
3639         (is_floating_value): New function.
3640         * value.h (is_floating_value): Add prototype-
3641
3642         * valarith.c: Include "target-float.h".
3643         (value_logical_not): Use target_float_is_zero.
3644
3645         * python/py-value.c: Include "target-float.h".
3646         (valpy_nonzero): Use target_float_is_zero.
3647
3648 2017-11-04  Tom Tromey  <tom@tromey.com>
3649
3650         * h8300-tdep.c (h8300_push_dummy_call): Use std::vector.
3651
3652 2017-11-04  Tom Tromey  <tom@tromey.com>
3653
3654         * breakpoint.c (set_momentary_breakpoint): Return
3655         breakpoint_up.
3656         (until_break_command): Update.
3657         (new_until_break_fsm): Change argument types to
3658         breakpoint_up.
3659         (set_momentary_breakpoint_at_pc): Return breakpoint_up.
3660         (do_delete_breakpoint_cleanup, make_cleanup_delete_breakpoint):
3661         Remove.
3662         * infcmd.c (finish_forward): Update.
3663         * breakpoint.h (set_momentary_breakpoint)
3664         (set_momentary_breakpoint_at_pc): Return breakpoint_up.
3665         (make_cleanup_delete_breakpoint): Remove.
3666         (struct breakpoint_deleter): New.
3667         (breakpoint_up): New typedef.
3668         * infrun.c (insert_step_resume_breakpoint_at_sal_1): Update.
3669         (insert_exception_resume_breakpoint): Update.
3670         (insert_exception_resume_from_probe): Update.
3671         (insert_longjmp_resume_breakpoint): Update.
3672         * arm-linux-tdep.c (arm_linux_copy_svc): Update.
3673         * elfread.c (elf_gnu_ifunc_resolver_stop): Update.
3674         * infcall.c (call_function_by_hand_dummy): Update
3675
3676 2017-11-04  Tom Tromey  <tom@tromey.com>
3677
3678         * c-typeprint.c (c_type_print_base): Use gdb::unique_xmalloc_ptr.
3679
3680 2017-11-04  Tom Tromey  <tom@tromey.com>
3681
3682         * linux-tdep.c (linux_core_info_proc_mappings): Use
3683         gdb::def_vector.
3684         (linux_get_siginfo_data): Return gdb::byte_vector.  Remove
3685         "size" argument.
3686         (linux_corefile_thread): Update.
3687         (linux_make_corefile_notes): Remove unused variable.
3688
3689 2017-11-04  Tom Tromey  <tom@tromey.com>
3690
3691         * ppc-linux-tdep.c (ppc_linux_get_syscall_number): Use
3692         gdb::byte_vector.
3693
3694 2017-11-04  Tom Tromey  <tom@tromey.com>
3695
3696         * objfiles.c (do_free_objfile_cleanup): Remove.
3697         * compile/compile-object-load.c (compile_object_load): Update.
3698         * objfiles.h (make_cleanup_free_objfile): Remove.
3699
3700 2017-11-04  Tom Tromey  <tom@tromey.com>
3701
3702         * sparc64-tdep.c (do_examine): Use gdb::def_vector.
3703         (adi_read_versions): Change "tags" to "gdb_byte *".
3704         (adi_print_versions): Likewise.
3705
3706 2017-11-04  Tom Tromey  <tom@tromey.com>
3707
3708         * breakpoint.c
3709         (scoped_rbreak_breakpoints::scoped_rbreak_breakpoints): Rename
3710         from start_rbreak_breakpoints.
3711         (scoped_rbreak_breakpoints): Rename from end_rbreak_breakpoints.
3712         * breakpoint.h (class scoped_rbreak_breakpoints): New.
3713         (start_rbreak_breakpoints, end_rbreak_breakpoints): Remove.
3714         * symtab.c (do_end_rbreak_breakpoints): Remove.
3715         (rbreak_command): Use scoped_rbreak_breakpoints, std::string.
3716
3717 2017-11-04  Tom Tromey  <tom@tromey.com>
3718
3719         * cp-namespace.c (reset_directive_searched): Remove.
3720         (cp_lookup_symbol_via_imports): Use scoped_restore.
3721         * cp-support.c (reset_directive_searched): Remove.
3722         (make_symbol_overload_list_using): Use scoped_restore.
3723         * d-namespace.c (d_lookup_symbol_imports): Use scoped_restore.
3724         (reset_directive_searched): Remove.
3725
3726 2017-11-04  Tom Tromey  <tom@tromey.com>
3727
3728         * symfile.c (find_separate_debug_file_by_debuglink): Use
3729         unique_xmalloc_ptr.
3730
3731 2017-11-04  Tom Tromey  <tom@tromey.com>
3732
3733         * compile/compile-loc2c.c (compute_stack_depth_worker): Change
3734         type of "info".
3735         (compute_stack_depth): Likewise.
3736         (do_compile_dwarf_expr_to_c): Use std::vector.
3737
3738 2017-11-04  Tom Tromey  <tom@tromey.com>
3739
3740         * compile/compile-object-load.c (link_callbacks_einfo): Use
3741         std::string.
3742
3743 2017-11-04  Tom Tromey  <tom@tromey.com>
3744
3745         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
3746         Use scoped_free_pendings.
3747         * dbxread.c (dbx_symfile_read, dbx_psymtab_to_symtab_1): Use
3748         scoped_free_pendings.
3749         * xcoffread.c (xcoff_psymtab_to_symtab_1): Use scoped_free_pendings.
3750         (xcoff_initial_scan): Likewise.
3751         * buildsym.c (reset_symtab_globals): Update comment.
3752         (scoped_free_pendings): Rename from really_free_pendings.
3753         (prepare_for_building): Update comment.
3754         (buildsym_init): Likewise.
3755         * buildsym.h (class scoped_free_pendings): New class.
3756         (really_free_pendings): Don't declare.
3757
3758 2017-11-03  Ulrich Weigand  <uweigand@de.ibm.com>
3759
3760         * doublest.c (convert_doublest_to_floatformat): Fix uninitialized
3761         output when converting a zero value to a special byteorder format.
3762
3763 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3764
3765         * frame.c (do_frame_register_read): Remove aspace.
3766         * jit.c (jit_frame_sniffer): Likwise.
3767         * ppc-linux-tdep.c (ppu2spu_sniffer): Likewise.
3768         * regcache.c (regcache::regcache): Pass nullptr.
3769         (regcache_print): Caller updated.
3770         * regcache.h (regcache::regcache): Remove one constructor
3771         parameter aspace.
3772
3773 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3774
3775         * regcache.h (regcache) <m_readonly_p>: Change it to const bool.
3776
3777 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3778
3779         * breakpoint.c (insert_single_step_breakpoints): Update.
3780         * frame.c (struct frame_info) <aspace>: Add const.
3781         (frame_save_as_regcache): Add const.
3782         (get_frame_address_space): Return const address_space *.
3783         * frame.h (get_frame_address_space): Update declaration.
3784         * infrun.c (struct step_over_info) <aspace>: Add const.
3785         (set_step_over_info): Make aspace const.
3786         (displaced_step_prepare_throw): Change variable const.
3787         (resume): Likewise.
3788         (proceed): Likewise.
3789         (adjust_pc_after_break): Likewise.
3790         (save_waitstatus): Likewise.
3791         (handle_signal_stop): Likewise.
3792         (keep_going_pass_signal): Likewise.
3793         * jit.c (jit_frame_sniffer): Add const.
3794         * mips-tdep.c (mips_single_step_through_delay): Likewise.
3795         * ppc-linux-tdep.c (ppu2spu_sniffer): Likewise.
3796         * record-full.c (record_full_wait_1): Likewise.
3797         * regcache.c (regcache::regcache): Change parameter to const.
3798         * regcache.h (regcache::regcache): Likewise.
3799         (regcache::aspace): Return const address_space *.
3800         (regcache) <m_aspace>: Add const.
3801
3802 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3803
3804         * darwin-nat.c (cancel_breakpoint): Use regcache->aspace ().
3805         * frame.c (create_sentinel_frame): Likewise.
3806         * infrun.c (displaced_step_prepare_throw): Likewise.
3807         (resume): Likewise.
3808         (thread_still_needs_step_over_bp): Likewise.
3809         (proceed): Likewise.
3810         (do_target_wait): Likewise.
3811         (adjust_pc_after_break): Likewise.
3812         (handle_syscall_event): Likewise.
3813         (save_waitstatus): Likewise.
3814         (handle_inferior_event_1): Likewise.
3815         (handle_signal_stop): Likewise.
3816         (keep_going_pass_signal): Likewise.
3817         * linux-nat.c (status_callback): Likewise.
3818         (save_stop_reason): Likewise.
3819         (resume_stopped_resumed_lwps): Likewise.
3820         * record-full.c (record_full_exec_insn): Likewise.
3821         (record_full_wait_1): Likewise.
3822         * regcache.c (get_regcache_aspace): Remove.
3823         * regcache.h (get_regcache_aspace): Remove.
3824
3825 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3826
3827         * regcache.c (struct regcache_descr) <nr_raw_registers>: Remove.
3828         (init_regcache_descr): Use gdbarch_num_regs.
3829         (regcache::regcache): Likewise.
3830         (regcache::get_register_status): Likewise.
3831         (regcache::assert_raw_regnum): Likewise.
3832         (regcache::cooked_read): Likewise.
3833         (regcache::cooked_read_value): Likewise.
3834         (regcache::cooked_write): Likewise.
3835         (regcache::dump): Likewise.
3836         (regcache::num_raw_registers): New method.
3837         * regcache.h (class regcache) <num_raw_registers>: New.
3838
3839 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3840
3841         * regcache.c (regcache::assert_regnum): New method.
3842         (regcache::invalidate): Call assert_regnum.
3843         (regcache::raw_update): Likewise.
3844         (regcache::raw_write): Likewise.
3845         (regcache::raw_read_part): Likewise.
3846         (regcache::raw_write_part): Likewise.
3847         (regcache::raw_supply): Likewise.
3848         (regcache::raw_supply_integer): Likewise.
3849         (regcache::raw_supply_zeroed): Likewise.
3850         (regcache::raw_collect): Likewise.
3851         (regcache::raw_collect_integer): Likewise.
3852         * regcache.h (regcache::assert_regnum): Declare.
3853
3854 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3855
3856         * regcache.c (regcache::dump): Remove code.
3857
3858 2017-11-02  Yao Qi  <yao.qi@linaro.org>
3859
3860         * regcache.c (struct regcache_descr) <sizeof_raw_register_status>:
3861         Remove.
3862         <sizeof_cooked_register_status>: Remove.
3863         (init_regcache_descr): Update.
3864         (regcache::regcache): Use nr_cooked_registers and nr_raw_registers.
3865         (regcache::save): Likewise.
3866         (regcache::dump): Likewise.
3867
3868 2017-11-01  James Bowman  <james.bowman@ftdichip.com>
3869
3870         * ft32-tdep.c (ft32_fetch_instruction): New function.
3871         (ft32_analyze_prologue): Use ft32_fetch_instruction().
3872
3873 2017-10-31  Simon Marchi  <simon.marchi@polymtl.ca>
3874
3875         * cli/cli-script.c (execute_control_command): Rename to ...
3876         (execute_control_command_1): ... this.
3877         (execute_control_command): New function.
3878
3879 2017-10-31  Simon Marchi  <simon.marchi@ericsson.com>
3880
3881         * tracepoint.c (tfind_command): Remove const_cast.
3882
3883 2017-10-30  Mike Gulick  <mgulick@mathworks.com>
3884
3885         * Makefile.in (HFILES_NO_SRCDIR): Remove reference to gdb.h.
3886
3887 2017-10-30  Simon Marchi  <simon.marchi@ericsson.com>
3888
3889         * common/common-utils.h (in_inclusive_range): New function.
3890         * arm-tdep.c (arm_record_extension_space): Use
3891         in_inclusive_range.
3892         (thumb_record_ld_st_reg_offset): Use in_inclusive_range.
3893         * cris-tdep.c (cris_spec_reg_applicable): Use
3894         in_inclusive_range.
3895
3896 2017-10-30  Pedro Alves  <palves@redhat.com>
3897             Simon Marchi <simon.marchi@ericsson.com>
3898
3899         * remote.c (remote_set_syscall_catchpoint): Build a std::string
3900         instead of a gdb::unique_xmalloc_ptr, using string_appendf.
3901
3902 2017-10-30  Pedro Alves  <palves@redhat.com>
3903
3904         * common/common-utils.c (string_appendf, string_vappendf): New
3905         functions.
3906         * common/common-utils.h (string_appendf, string_vappendf): New
3907         declarations.
3908         * unittests/common-utils-selftests.c (string_appendf_func)
3909         (test_appendf_func, string_vappendf_wrapper, string_appendf_tests)
3910         (string_vappendf_tests): New functions.
3911         (_initialize_common_utils_selftests): Register "string_appendf" and
3912         "string_vappendf tests".
3913
3914 2017-10-30  Pedro Alves  <palves@redhat.com>
3915
3916         * unittests/common-utils-selftests.c (format_func): New typedef.
3917         (string_printf_tests, string_vprintf_tests): Tests factored out
3918         and merged to ...
3919         (test_format_func): ... this new function.
3920         (string_printf_tests, string_vprintf_tests): Reimplement on top of
3921         test_format_func.
3922
3923 2017-10-29  Simon Marchi  <simon.marchi@ericsson.com>
3924
3925         * darwin-nat.c: Remove include of gdb.h.
3926
3927 2017-10-29  Simon Marchi  <simon.marchi@ericsson.com>
3928
3929         * xtensa-xtregs.c: Fix formatting issues.
3930
3931 2017-10-29  Simon Marchi  <simon.marchi@ericsson.com>
3932
3933         * xtensa-xtregs.c (xtensa_regtable_t) <name>: Constify.
3934
3935 2017-10-28  Maksim Dzabraev  <dzabraew@gmail.com>
3936
3937         PR python/21213
3938         * python/py-infthread.c (thpy_get_inferior): Increment reference
3939         of inferior before returning it.
3940
3941 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
3942
3943         * unittests/common-utils-selftests.c (format): Add
3944         ATTRIBUTE_PRINTF.
3945
3946 2017-10-27  Simon Marchi  <simon.marchi@polymtl.ca>
3947
3948         * xml-syscall.c (struct syscall_desc): Add constructor.
3949         <name>: Change type to std::string.
3950         (syscall_desc_up): New typedef.
3951         (syscall_desc_p): Remove typeder.
3952         (DEF_VEC_P(syscall_desc_p)): Remove.
3953         (struct syscall_group_desc): Add constructor.
3954         <name>: Change type to std::string.
3955         <syscalls>: Change type to std::vector.
3956         (syscall_group_desc_up): New typedef.
3957         (syscall_group_desc_p): Remove typedef.
3958         (DEF_VEC_P(syscall_group_desc_p)): Remove.
3959         (struct syscalls_info) <syscalls>: Change type to std::vector of
3960         unique_ptr.
3961         <groups>: Likewise.
3962         <my_gdb_datadir>: Change type to std::string.
3963         (syscalls_info_up): New typedef.
3964         (allocate_syscalls_info): Remove.
3965         (syscalls_info_free_syscalls_desc): Remove.
3966         (syscalls_info_free_syscall_group_desc): Remove.
3967         (free_syscalls_info): Remove.
3968         (make_cleanup_free_syscalls_info): Remove.
3969         (syscall_group_create_syscall_group_desc): Adjust.
3970         (syscall_group_add_syscall): Adjust.
3971         (syscall_create_syscall_desc): Adjust.
3972         (syscall_parse_xml): Adjust, use unique_ptr instead of cleanup.
3973         (init_syscalls_info): Adjust.
3974         (syscall_group_get_group_by_name): Adjust.
3975         (xml_get_syscall_number): Adjust.
3976         (xml_get_syscall_name): Adjust.
3977         (xml_list_of_syscalls): Adjust.
3978         (xml_list_syscalls_by_group): Adjust.
3979         (xml_list_of_groups): Adjust.
3980
3981 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
3982
3983         * probe.h: Don't include gdb_vecs.h.
3984         (DEF_VEC_P (probe_p)): Remove.
3985         (find_probes_in_objfile): Return an std::vector.
3986         * probe.c (find_probes_in_objfile): Likewise.
3987         * breakpoint.c (breakpoint_objfile_data)
3988         <longjmp_probes>: Change type to std::vector.
3989         <exception_probes>: Likewise.
3990         (free_breakpoint_probes): Don't manually free vectors.
3991         (create_longjmp_master_breakpoint): Adjust.
3992         (create_exception_master_breakpoint): Adjust.
3993         * solib-svr4.c (svr4_create_probe_breakpoints): Change
3994         parameter type, adjust.
3995         (svr4_create_solib_event_breakpoints): Adjust.
3996
3997 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
3998
3999         * breakpoint.c (breakpoint_objfile_data): Initialize fields.
4000         (get_breakpoint_objfile_data): Allocate breakpoint_objfile_data
4001         with new.
4002         (free_breakpoint_probes): Rename to ...
4003         (free_breakpoint_objfile_data): ... this, and call delete on
4004         bp_objfile_data..
4005
4006 2017-10-27  Simon Marchi  <simon.marchi@polymtl.ca>
4007
4008         * auto-load.c: Don't include gdb_vecs.h, include algorithm.
4009         (loaded_script_ptr): Remove typedef.
4010         (DEF_VEC_P (loaded_script_ptr)): Remove.
4011         (struct collect_matching_scripts_data): Add constructor.
4012         <scripts_p>: Change type to (pointer to) std::vector.
4013         (collect_matching_scripts_data): Adjust.
4014         (sort_scripts_by_name): Make suitable for std::sort.
4015         (print_scripts): Don't sort vector, adjust to std::vector.
4016         (auto_load_info_scripts): Sort vectors, adjust to std::vector.
4017
4018 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4019
4020         * symfile.c (filename_language): Make struct, not typedef.  Add
4021         constructor.
4022         <ext>: Change type to std::string.
4023         (DEF_VEC_O (filename_language)): Remove.
4024         (filename_language_table): Change type to std::vector.
4025         (add_filename_language): Adjust.
4026         (set_ext_lang_command): Adjust.
4027         (info_ext_lang_command): Adjust.
4028         (deduce_language_from_filename): Adjust.
4029         (class scoped_restore_filename_language_table): Remove.
4030         (test_filename_language): Use scoped_restore.
4031         (test_set_ext_lang_command): Use scoped_restore, adjust to
4032         std::vector change.
4033
4034 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4035
4036         * symfile.c: Include selftest.h.
4037         (class scoped_restore_filename_language_table): New.
4038         (test_filename_language): New test.
4039         (test_set_ext_lang_command): New test.
4040         (_initialize_symfile): Register tests.
4041
4042 2017-10-27  Keith Seitz  <keiths@redhat.com>
4043
4044         * breakpoint.c (print_breakpoint_location): Use the symbol saved
4045         in the bp_location, falling back to find_pc_sect_function when
4046         needed.
4047         (add_location_to_breakpoint): Save sal->symbol.
4048         * breakpoint.h (struct bp_location) <symbol>: New field.
4049         * symtab.c (find_function_start_sal): Save the symbol into the SaL.
4050         * symtab.h (struct symtab_and_line) <symbol>: New field.
4051
4052 2017-10-26  Patrick Frants  <osscontribute@gmail.com>
4053
4054         PR gdb/13669
4055         * cp-valprint.c (cp_print_value_fields): Use obstack_blank_fast
4056         to rewind obstack.
4057
4058 2017-10-26  Pedro Alves  <palves@redhat.com>
4059
4060         * remote.c (remote_async_terminal_ours_p): Delete.
4061         (remote_open_1, remote_terminal_inferior, remote_terminal_ours):
4062         Remove references to 'remote_async_terminal_ours_p'.
4063
4064 2017-10-26  Yao Qi  <yao.qi@linaro.org>
4065
4066         * breakpoint.h (regular_breakpoint_inserted_here_p): Remove.
4067
4068 2017-10-26  Yao Qi  <yao.qi@linaro.org>
4069
4070         * break-catch-sig.c (signal_catchpoint_breakpoint_hit): Make
4071         aspace const.
4072         * break-catch-syscall.c (breakpoint_hit_catch_syscall):
4073         Likewise.
4074         * breakpoint.c (bpstat_check_location): Remove cast.
4075         (breakpoint_hit_catch_fork): Make aspce const.
4076         (breakpoint_hit_catch_solib): Likewise.
4077         (breakpoint_hit_catch_exec): Likewise.
4078         (breakpoint_hit_ranged_breakpoint): Likewise.
4079         (breakpoint_hit_watchpoint): Likewise.
4080         (base_breakpoint_breakpoint_hit): Likewise.
4081         (bkpt_breakpoint_hit): Likewise.
4082         (dprintf_breakpoint_hit): Likewise.
4083         (tracepoint_breakpoint_hit): Likewise.
4084         * breakpoint.h (breakpoint_ops) <breakpoint_hit>: Likewise.
4085
4086 2017-10-26  Yao Qi  <yao.qi@linaro.org>
4087
4088         * breakpoint.c (breakpoint_location_address_match): Change
4089         "struct address_space *" to "const address_space".
4090         (breakpoint_location_address_range_overlap): Likewise.
4091         (breakpoint_here_p): Likewise.
4092         (breakpoint_in_range_p): Likewise.
4093         (moribund_breakpoint_here_p): Likewise.
4094         (bp_location_inserted_here_p): Likewise.
4095         (software_breakpoint_inserted_here_p): Likewise.
4096         (hardware_breakpoint_inserted_here_p): Likewise.
4097         (hardware_watchpoint_inserted_in_range): Likewise.
4098         (bpstat_check_location): Likewise.
4099         (bpstat_stop_status): Likewise.
4100         (breakpoint_address_match): Likewise.
4101         (breakpoint_address_match_range): Likewise.
4102         (breakpoint_location_address_match): Likewise.
4103         (breakpoint_location_address_range_overlap): Likewise.
4104         (insert_single_step_breakpoint): Likewise.
4105         (breakpoint_has_location_inserted_here): Likewise.
4106         (single_step_breakpoint_inserted_here_p): Likewise.
4107         (pc_at_non_inline_function): Likewise.
4108         * breakpoint.h (bpstat_stop_status): Update declaration.
4109         (breakpoint_here_p): Likewise.
4110         (breakpoint_in_range_p): Likewise.
4111         (moribund_breakpoint_here_p): Likewise.
4112         (breakpoint_inserted_here_p): Likewise.
4113         (software_breakpoint_inserted_here_p): Likewise.
4114         (hardware_breakpoint_inserted_here_p): Likewise.
4115         (breakpoint_has_location_inserted_here): Likewise.
4116         (single_step_breakpoint_inserted_here_p): Likewise.
4117         (hardware_watchpoint_inserted_in_range): Likewise.
4118         (breakpoint_address_match): Likewise.
4119         (insert_single_step_breakpoint): Likewise.
4120         (pc_at_non_inline_function): Likewise.
4121         * gdbthread.h (thread_has_single_step_breakpoint_here): Likewise.
4122         * record.c (record_check_stopped_by_breakpoint): Likewise.
4123         * record.h (record_check_stopped_by_breakpoint): Likewise.
4124         * thread.c (thread_has_single_step_breakpoint_here): Likewise.
4125
4126 2017-10-25  Yao Qi  <yao.qi@linaro.org>
4127
4128         * aarch32-linux-nat.c (aarch32_gp_regcache_supply): Use
4129         regcache->arch () instead get_regcache_arch.
4130         * aarch64-fbsd-nat.c (aarch64_fbsd_fetch_inferior_registers):
4131         Likewise.
4132         (aarch64_fbsd_store_inferior_registers): Likewise.
4133         * aarch64-linux-nat.c (fetch_gregs_from_thread): Likewise.
4134         (store_gregs_to_thread): Likewise.
4135         (fetch_fpregs_from_thread): Likewise.
4136         (store_fpregs_to_thread): Likewise.
4137         * aarch64-tdep.c (aarch64_extract_return_value): Likewise.
4138         (aarch64_store_return_value): Likewise.
4139         (aarch64_software_single_step): Likewise.
4140         * aix-thread.c (aix_thread_wait): Likewise.
4141         (supply_reg32): Likewise.
4142         (supply_sprs64): Likewise.
4143         (supply_sprs32): Likewise.
4144         (fill_gprs64): Likewise.
4145         (fill_gprs32): Likewise.
4146         (fill_sprs64): Likewise.
4147         (fill_sprs32): Likewise.
4148         (store_regs_user_thread): Likewise.
4149         (store_regs_kernel_thread): Likewise.
4150         * alpha-bsd-nat.c (alphabsd_fetch_inferior_registers): Likewise.
4151         (alphabsd_store_inferior_registers): Likewise.
4152         * alpha-tdep.c (alpha_extract_return_value): Likewise.
4153         (alpha_store_return_value): Likewise.
4154         (alpha_deal_with_atomic_sequence): Likewise.
4155         (alpha_next_pc): Likewise.
4156         (alpha_software_single_step): Likewise.
4157         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers): Likewise.
4158         (amd64bsd_store_inferior_registers): Likewise.
4159         * amd64-linux-nat.c (amd64_linux_fetch_inferior_registers):
4160         Likewise.
4161         (amd64_linux_store_inferior_registers): Likewise.
4162         * amd64-nat.c (amd64_supply_native_gregset): Likewise.
4163         (amd64_collect_native_gregset): Likewise.
4164         * amd64-obsd-tdep.c (amd64obsd_supply_uthread): Likewise.
4165         (amd64obsd_collect_uthread): Likewise.
4166         * amd64-tdep.c (amd64_supply_fpregset): Likewise.
4167         (amd64_collect_fpregset): Likewise.
4168         (amd64_supply_fxsave): Likewise.
4169         (amd64_supply_xsave): Likewise.
4170         (amd64_collect_fxsave): Likewise.
4171         (amd64_collect_xsave): Likewise.
4172         * arc-tdep.c (arc_write_pc): Likewise.
4173         * arch-utils.c (default_skip_permanent_breakpoint): Likewise.
4174         * arm-fbsd-nat.c (arm_fbsd_fetch_inferior_registers): Likewise.
4175         (arm_fbsd_store_inferior_registers): Likewise.
4176         * arm-linux-nat.c (fetch_vfp_regs): Likewise.
4177         (store_vfp_regs): Likewise.
4178         (arm_linux_fetch_inferior_registers): Likewise.
4179         (arm_linux_store_inferior_registers): Likewise.
4180         * arm-linux-tdep.c (arm_linux_supply_gregset): Likewise.
4181         (arm_linux_sigreturn_next_pc): Likewise.
4182         (arm_linux_get_next_pcs_syscall_next_pc): Likewise.
4183         * arm-nbsd-nat.c (arm_supply_gregset): Likewise.
4184         (fetch_register): Likewise.
4185         (store_register): Likewise.
4186         * arm-tdep.c (arm_is_thumb): Likewise.
4187         (displaced_in_arm_mode): Likewise.
4188         (bx_write_pc): Likewise.
4189         (arm_get_next_pcs_addr_bits_remove): Likewise.
4190         (arm_software_single_step): Likewise.
4191         (arm_extract_return_value): Likewise.
4192         (arm_store_return_value): Likewise.
4193         (arm_write_pc): Likewise.
4194         * bfin-tdep.c (bfin_extract_return_value): Likewise.
4195         * bsd-uthread.c (bsd_uthread_fetch_registers): Likewise.
4196         (bsd_uthread_store_registers): Likewise.
4197         * core-regset.c (fetch_core_registers): Likewise.
4198         * corelow.c (get_core_registers): Likewise.
4199         * cris-tdep.c (cris_store_return_value): Likewise.
4200         (cris_extract_return_value): Likewise.
4201         (find_step_target): Likewise.
4202         (find_step_target): Likewise.
4203         (cris_software_single_step): Likewise.
4204         * ctf.c (ctf_fetch_registers): Likewise.
4205         * darwin-nat.c (cancel_breakpoint): Likewise.
4206         * fbsd-tdep.c (fbsd_collect_thread_registers): Likewise.
4207         * frv-tdep.c (frv_extract_return_value): Likewise.
4208         * ft32-tdep.c (ft32_store_return_value): Likewise.
4209         (ft32_extract_return_value): Likewise.
4210         * go32-nat.c (fetch_register): Likewise.
4211         (go32_fetch_registers): Likewise.
4212         (go32_store_registers): Likewise.
4213         (store_register): Likewise.
4214         * h8300-tdep.c (h8300_extract_return_value): Likewise.
4215         (h8300_store_return_value): Likewise.
4216         * hppa-linux-nat.c (fetch_register): Likewise.
4217         (store_register): Likewise.
4218         (hppa_linux_fetch_inferior_registers): Likewise.
4219         (hppa_linux_store_inferior_registers): Likewise.
4220         * i386-darwin-nat.c (i386_darwin_fetch_inferior_registers): Likewise.
4221         (i386_darwin_store_inferior_registers): Likewise.
4222         * i386-gnu-nat.c (gnu_fetch_registers): Likewise.
4223         (gnu_store_registers): Likewise.
4224         * i386-linux-nat.c (fetch_register): Likewise.
4225         (store_register): Likewise.
4226         (supply_gregset): Likewise.
4227         (fill_gregset): Likewise.
4228         (i386_linux_fetch_inferior_registers): Likewise.
4229         (i386_linux_store_inferior_registers): Likewise.
4230         (i386_linux_resume): Likewise.
4231         * i386-linux-tdep.c (i386_linux_get_syscall_number_from_regcache):
4232         Likewise.
4233         * i386-nto-tdep.c (i386nto_supply_gregset): Likewise.
4234         * i386-obsd-nat.c (i386obsd_supply_pcb): Likewise.
4235         * i386-obsd-tdep.c (i386obsd_supply_uthread): Likewise.
4236         (i386obsd_collect_uthread): Likewise.
4237         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
4238         (i386_supply_gregset): Likewise.
4239         (i386_collect_gregset): Likewise.
4240         (i386_supply_fpregset): Likewise.
4241         (i386_collect_fpregset): Likewise.
4242         (i386_mpx_bd_base): Likewise.
4243         * i386-v4-nat.c (supply_fpregset): Likewise.
4244         (fill_fpregset): Likewise.
4245         * i387-tdep.c (i387_supply_fsave): Likewise.
4246         (i387_collect_fsave): Likewise.
4247         (i387_supply_fxsave): Likewise.
4248         (i387_collect_fxsave): Likewise.
4249         (i387_supply_xsave): Likewise.
4250         (i387_collect_xsave): Likewise.
4251         * ia64-linux-nat.c (ia64_linux_fetch_registers): Likewise.
4252         (ia64_linux_store_registers): Likewise.
4253         * ia64-tdep.c (ia64_access_rse_reg): Likewise.
4254         (ia64_extract_return_value): Likewise.
4255         (ia64_store_return_value): Likewise.
4256         (find_func_descr): Likewise.
4257         * inf-child.c (inf_child_fetch_inferior_registers): Likewise.
4258         * inf-ptrace.c (inf_ptrace_fetch_registers): Likewise.
4259         (inf_ptrace_store_registers): Likewise.
4260         * infrun.c (use_displaced_stepping): Likewise.
4261         (displaced_step_prepare_throw): Likewise.
4262         (resume): Likewise.
4263         (proceed): Likewise.
4264         (do_target_wait): Likewise.
4265         (adjust_pc_after_break): Likewise.
4266         (handle_inferior_event_1): Likewise.
4267         (handle_signal_stop): Likewise.
4268         (save_infcall_suspend_state): Likewise.
4269         (restore_infcall_suspend_state): Likewise.
4270         * iq2000-tdep.c (iq2000_extract_return_value): Likewise.
4271         * jit.c (jit_frame_prev_register): Likewise.
4272         * linux-nat.c (save_stop_reason): Likewise.
4273         (linux_nat_wait_1): Likewise.
4274         (resume_stopped_resumed_lwps): Likewise.
4275         * linux-record.c (record_linux_sockaddr): Likewise.
4276         (record_linux_msghdr): Likewise.
4277         (record_linux_system_call): Likewise.
4278         * linux-tdep.c (linux_collect_thread_registers): Likewise.
4279         * lm32-tdep.c (lm32_extract_return_value): Likewise.
4280         (lm32_store_return_value): Likewise.
4281         * m32c-tdep.c (m32c_read_flg): Likewise.
4282         (m32c_pseudo_register_read): Likewise.
4283         (m32c_pseudo_register_write): Likewise.
4284         * m32r-linux-tdep.c (m32r_linux_supply_gregset): Likewise.
4285         (m32r_linux_collect_gregset): Likewise.
4286         * m32r-tdep.c (m32r_store_return_value): Likewise.
4287         (m32r_extract_return_value): Likewise.
4288         * m68k-bsd-nat.c (m68kbsd_supply_fpregset): Likewise.
4289         (m68kbsd_collect_fpregset): Likewise.
4290         * m68k-bsd-tdep.c (m68kbsd_supply_fpregset): Likewise.
4291         * m68k-linux-nat.c (fetch_register): Likewise.
4292         (old_fetch_inferior_registers): Likewise.
4293         (old_store_inferior_registers): Likewise.
4294         (store_regs): Likewise.
4295         * m68k-tdep.c (m68k_svr4_extract_return_value): Likewise.
4296         (m68k_svr4_store_return_value): Likewise.
4297         * m88k-tdep.c (m88k_store_arguments): Likewise.
4298         * mi/mi-main.c (mi_cmd_data_list_changed_registers): Likewise.
4299         (mi_cmd_data_write_register_values): Likewise.
4300         * mips-fbsd-nat.c (mips_fbsd_fetch_inferior_registers): Likewise.
4301         (mips_fbsd_store_inferior_registers): Likewise.
4302         * mips-fbsd-tdep.c (mips_fbsd_supply_fpregs): Likewise.
4303         (mips_fbsd_supply_gregs): Likewise.
4304         (mips_fbsd_collect_fpregs): Likewise.
4305         (mips_fbsd_collect_gregs): Likewise.
4306         (mips_fbsd_supply_fpregset): Likewise.
4307         (mips_fbsd_collect_fpregset): Likewise.
4308         (mips_fbsd_supply_gregset): Likewise.
4309         (mips_fbsd_collect_gregset): Likewise.
4310         * mips-linux-nat.c (supply_gregset): Likewise.
4311         (fill_gregset): Likewise.
4312         (supply_fpregset): Likewise.
4313         (fill_fpregset): Likewise.
4314         * mips-linux-tdep.c (mips_supply_gregset): Likewise.
4315         (mips_fill_gregset): Likewise.
4316         (mips_supply_fpregset): Likewise.
4317         (mips_fill_fpregset): Likewise.
4318         (mips64_supply_gregset): Likewise.
4319         (micromips_linux_sigframe_validate): Likewise.
4320         * mips-nbsd-nat.c (mipsnbsd_fetch_inferior_registers): Likewise.
4321         (mipsnbsd_fetch_inferior_registers): Likewise.
4322         (mipsnbsd_store_inferior_registers): Likewise.
4323         * mips-nbsd-tdep.c (mipsnbsd_supply_fpregset): Likewise.
4324         (mipsnbsd_supply_gregset): Likewise.
4325         (mipsnbsd_iterate_over_regset_sections): Likewise.
4326         (mipsnbsd_supply_reg): Likewise.
4327         (mipsnbsd_supply_fpreg): Likewise.
4328         * mips-tdep.c (mips_in_frame_stub): Likewise.
4329         (mips_dummy_id): Likewise.
4330         (is_octeon_bbit_op): Likewise.
4331         (micromips_bc1_pc): Likewise.
4332         (extended_mips16_next_pc): Likewise.
4333         (mips16_next_pc): Likewise.
4334         (deal_with_atomic_sequence): Likewise.
4335         * moxie-tdep.c (moxie_process_readu): Likewise.
4336         * nios2-tdep.c (nios2_get_next_pc): Likewise.
4337         * nto-procfs.c (procfs_store_registers): Likewise.
4338         * ppc-fbsd-nat.c (ppcfbsd_fetch_inferior_registers): Likewise.
4339         (ppcfbsd_store_inferior_registers): Likewise.
4340         * ppc-linux-nat.c (fetch_vsx_register): Likewise.
4341         (fetch_altivec_register): Likewise.
4342         (get_spe_registers): Likewise.
4343         (fetch_spe_register): Likewise.
4344         (fetch_altivec_registers): Likewise.
4345         (fetch_all_gp_regs): Likewise.
4346         (fetch_all_fp_regs): Likewise.
4347         (store_vsx_register): Likewise.
4348         (store_altivec_register): Likewise.
4349         (set_spe_registers): Likewise.
4350         (store_spe_register): Likewise.
4351         (store_altivec_registers): Likewise.
4352         (store_all_gp_regs): Likewise.
4353         (store_all_fp_regs): Likewise.
4354         * ppc-linux-tdep.c (ppc_linux_supply_gregset): Likewise.
4355         (ppc_linux_collect_gregset): Likewise.
4356         (ppc_canonicalize_syscall): Likewise.
4357         (ppc_linux_record_signal): Likewise.
4358         (ppu2spu_prev_register): Likewise.
4359         * ppc-nbsd-nat.c (ppcnbsd_supply_pcb): Likewise.
4360         * ppc-obsd-nat.c (ppcobsd_fetch_registers): Likewise.
4361         (ppcobsd_store_registers): Likewise.
4362         * ppc-ravenscar-thread.c (ppc_ravenscar_generic_fetch_registers):
4363         Likewise.
4364         (ppc_ravenscar_generic_store_registers): Likewise.
4365         * procfs.c (procfs_fetch_registers): Likewise.
4366         (procfs_store_registers): Likewise.
4367         * ravenscar-thread.c (ravenscar_fetch_registers): Likewise.
4368         (ravenscar_store_registers): Likewise.
4369         (ravenscar_prepare_to_store): Likewise.
4370         * record-btrace.c (record_btrace_fetch_registers): Likewise.
4371         * record-full.c (record_full_wait_1): Likewise.
4372         (record_full_registers_change): Likewise.
4373         (record_full_store_registers): Likewise.
4374         (record_full_core_fetch_registers): Likewise.
4375         (record_full_save): Likewise.
4376         (record_full_goto_insn): Likewise.
4377         * regcache.c (regcache_register_size): Likewise.
4378         (get_regcache_arch): Remove.
4379         (regcache_read_pc): Likewise.
4380         * regcache.h (get_regcache_arch): Remove.
4381         * remote-sim.c (gdbsim_fetch_register): Likewise.
4382         (gdbsim_store_register): Likewise.
4383         * remote.c (fetch_register_using_p): Likewise.
4384         (send_g_packet): Likewise.
4385         (remote_prepare_to_store): Likewise.
4386         (store_registers_using_G): Likewise.
4387         * reverse.c (save_bookmark_command): Likewise.
4388         (goto_bookmark_command): Likewise.
4389         * rs6000-aix-tdep.c (branch_dest): Likewise.
4390         * rs6000-nat.c (rs6000_ptrace64): Likewise.
4391         (fetch_register): Likewise.
4392         * rs6000-tdep.c (ppc_supply_reg): Likewise.
4393         (ppc_collect_reg): Likewise.
4394         (ppc_collect_gregset): Likewise.
4395         (ppc_collect_fpregset): Likewise.
4396         (ppc_collect_vsxregset): Likewise.
4397         (ppc_collect_vrregset): Likewise.
4398         (ppc_displaced_step_hw_singlestep): Likewise.
4399         (rs6000_pseudo_register_read): Likewise.
4400         (rs6000_pseudo_register_write): Likewise.
4401         * s390-linux-nat.c (supply_gregset): Likewise.
4402         (fill_gregset): Likewise.
4403         (s390_linux_fetch_inferior_registers): Likewise.
4404         * s390-linux-tdep.c (s390_write_pc): Likewise.
4405         (s390_software_single_step): Likewise.
4406         (s390_all_but_pc_registers_record): Likewise.
4407         (s390_linux_syscall_record): Likewise.
4408         * sentinel-frame.c (sentinel_frame_prev_arch): Likewise.
4409         * sh-nbsd-nat.c (shnbsd_fetch_inferior_registers): Likewise.
4410         (shnbsd_store_inferior_registers): Likewise.
4411         * sh-tdep.c (sh_extract_return_value_nofpu): Likewise.
4412         (sh_extract_return_value_fpu): Likewise.
4413         (sh_store_return_value_nofpu): Likewise.
4414         (sh_corefile_supply_regset): Likewise.
4415         (sh_corefile_collect_regset): Likewise.
4416         * sh64-tdep.c (sh64_extract_return_value): Likewise.
4417         (sh64_store_return_value): Likewise.
4418         * sparc-linux-tdep.c (sparc32_linux_collect_core_fpregset): Likewise.
4419         * sparc-nat.c (sparc_fetch_inferior_registers): Likewise.
4420         (sparc_store_inferior_registers): Likewise.
4421         * sparc-ravenscar-thread.c (register_in_thread_descriptor_p): Likewise.
4422         (sparc_ravenscar_prepare_to_store): Likewise.
4423         * sparc-tdep.c (sparc32_store_arguments): Likewise.
4424         (sparc_analyze_control_transfer): Likewise.
4425         (sparc_step_trap): Likewise.
4426         (sparc_software_single_step): Likewise.
4427         (sparc32_gdbarch_init): Likewise.
4428         (sparc_supply_rwindow): Likewise.
4429         (sparc_collect_rwindow): Likewise.
4430         * sparc64-linux-tdep.c (sparc64_linux_collect_core_fpregset): Likewise.
4431         * sparc64-nbsd-nat.c (sparc64nbsd_supply_gregset): Likewise.
4432         (sparc64nbsd_collect_gregset): Likewise.
4433         (sparc64nbsd_supply_fpregset): Likewise.
4434         (sparc64nbsd_collect_fpregset): Likewise.
4435         * sparc64-tdep.c (sparc64_store_arguments): Likewise.
4436         (sparc64_supply_gregset): Likewise.
4437         (sparc64_collect_gregset): Likewise.
4438         (sparc64_supply_fpregset): Likewise.
4439         (sparc64_collect_fpregset): Likewise.
4440         * spu-linux-nat.c (spu_fetch_inferior_registers): Likewise.
4441         * spu-tdep.c (spu_unwind_sp): Likewise.
4442         (spu2ppu_prev_register): Likewise.
4443         (spu_memory_remove_breakpoint): Likewise.
4444         * stack.c (return_command): Likewise.
4445         * tic6x-tdep.c (tic6x_extract_signed_field): Likewise.
4446         * tracefile-tfile.c (tfile_fetch_registers): Likewise.
4447         * tracefile.c (trace_save_ctf): Likewise.
4448         * windows-nat.c (do_windows_fetch_inferior_registers): Likewise.
4449         (do_windows_store_inferior_registers): Likewise.
4450         (windows_resume): Likewise.
4451         * xtensa-linux-nat.c (fill_gregset): Likewise.
4452         (supply_gregset_reg): Likewise.
4453         * xtensa-tdep.c (xtensa_register_write_masked): Likewise.
4454         (xtensa_register_read_masked): Likewise.
4455         (xtensa_supply_gregset): Likewise.
4456         (xtensa_extract_return_value): Likewise.
4457         (xtensa_store_return_value): Likewise.
4458
4459 2017-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
4460
4461         * doublest.c (floatformat_from_string): New function.
4462         * doublest.h (floatformat_from_string): Add prototype.
4463
4464         * std-operator.def (OP_DOUBLE, OP_DECFLOAT): Remove, replace by ...
4465         (OP_FLOAT): ... this.
4466         * expression.h: Do not include "doublest.h".
4467         (union exp_element): Replace doubleconst and decfloatconst by
4468         new element floatconst.
4469         * ada-lang.c (resolve_subexp): Handle OP_FLOAT instead of OP_DOUBLE.
4470         (ada_evaluate_subexp): Likewise.
4471         * eval.c (evaluate_subexp_standard): Handle OP_FLOAT instead of
4472         OP_DOUBLE and OP_DECFLOAT.
4473         * expprint.c (print_subexp_standard): Likewise.
4474         (dump_subexp_body_standard): Likewise.
4475         * breakpoint.c (watchpoint_exp_is_const): Likewise.
4476
4477         * parse.c: Include "dfp.h".
4478         (write_exp_elt_dblcst, write_exp_elt_decfloatcst): Remove.
4479         (write_exp_elt_floatcst): New function.
4480         (operator_length_standard): Handle OP_FLOAT instead of OP_DOUBLE
4481         and OP_DECFLOAT.
4482         (operator_check_standard): Likewise.
4483         (parse_float): Do not accept suffix.  Take type as input.  Return bool.
4484         Return target format buffer instead of host DOUBLEST.
4485         Use floatformat_from_string and decimal_from_string to parse
4486         either binary or decimal floating-point types.
4487         (parse_c_float): Remove.
4488         * parser-defs.h: Do not include "doublest.h".
4489         (write_exp_elt_dblcst, write_exp_elt_decfloatcst): Remove.
4490         (write_exp_elt_floatcst): Add prototype.
4491         (parse_float): Update prototype.
4492         (parse_c_float): Remove.
4493
4494         * c-exp.y: Do not include "dfp.h".
4495         (typed_val_float): Use byte buffer instead of DOUBLEST.
4496         (typed_val_decfloat): Remove.
4497         (DECFLOAT): Remove.
4498         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4499         (parse_number): Update to new parse_float interface.
4500         Parse suffixes and determine type before calling parse_float.
4501         Handle decimal and binary FP types the same way.
4502
4503         * d-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4504         (FLOAT_LITERAL): Use OP_FLOAT and write_exp_elt_floatcst.
4505         (parse_number): Update to new parse_float interface.
4506         Parse suffixes and determine type before calling parse_float.
4507
4508         * f-exp.y: Replace dval by typed_val_float.
4509         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4510         (parse_number): Use parse_float instead of atof.
4511
4512         * go-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4513         (parse_go_float): Remove.
4514         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4515         (parse_number): Call parse_float instead of parse_go_float.
4516         Parse suffixes and determine type before calling parse_float.
4517
4518         * p-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4519         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4520         (parse_number): Update to new parse_float interface.
4521         Parse suffixes and determine type before calling parse_float.
4522
4523         * m2-exp.y: Replace dval by byte buffer val.
4524         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4525         (parse_number): Call parse_float instead of atof.
4526
4527         * rust-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4528         (lex_number): Call parse_float instead of strtod.
4529         (ast_dliteral): Use OP_FLOAT instead of OP_DOUBLE.
4530         (convert_ast_to_expression): Handle OP_FLOAT instead of OP_DOUBLE.
4531         Use write_exp_elt_floatcst.
4532         (unit_testing): Remove static variable.
4533         (rust_type): Do not check unit_testing.
4534         (rust_lex_tests): Do not set uint_testing.  Set up dummy rust_parser.
4535
4536         * ada-exp.y (type_float, type_double): Remove.
4537         (typed_val_float): Use byte buffer instead of DOUBLEST.
4538         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4539         * ada-lex.l (processReal): Use parse_float instead of sscanf.
4540
4541 2017-10-25  Alan Hayward  <alan.hayward@arm.com>
4542
4543         * aarch64-tdep.h (enum aarch64_regnum): Remove.
4544         * arch/aarch64.h: New file.
4545
4546 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4547
4548         * dfp.h (decimal_from_string): Use const reference for argument.
4549         * dfp.c (decimal_from_string): Likewise.
4550
4551 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4552
4553         * i387-tdep.c (print_i387_value): Use floatformat_to_string.
4554         * sh64-tdep.c (sh64_do_fp_register): Likewise.
4555         * mips-tdep.c (mips_print_fp_register): Likewise.
4556
4557 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4558
4559         * common/format.h (enum argclass): Replace decfloat_arg by
4560         dec32float_arg, dec64float_arg, and dec128float_arg.
4561         * common/format.c (parse_format_string): Update to return
4562         new decimal float argument classes.
4563
4564         * printcmd.c (printf_decfloat): Rename to ...
4565         (printf_floating): ... this.  Add argclass argument, and use it
4566         instead of parsing the format string again.  Add support for
4567         binary floating-point values, using floatformat_to_string.
4568         Convert value to the target format if it doesn't already match.
4569         (ui_printf): Call printf_floating instead of printf_decfloat,
4570         also for double_arg / long_double_arg.  Pass argclass.
4571
4572         * dfp.c (decimal_to_string): Add format string argument.
4573         * dfp.h (decimal_to_string): Likewise.
4574
4575         * doublest.c (floatformat_to_string): Add format string argument.
4576         * doublest.h (floatformat_to_string): Likewise.
4577
4578 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4579
4580         * doublest.c (floatformat_precision): New routine.
4581         (floatformat_to_string): Likewise.
4582         * doublest.c (floatformat_to_string): Add prototype.
4583
4584         * printcmd.c (print_scalar_formatted): Only call print_floating
4585         on floating-point types.
4586         * valprint.c: Do not include "floatformat.h".
4587         (generic_val_print_decfloat): Remove.
4588         (generic_val_print): Call generic_val_print_float for both
4589         TYPE_CODE_FLT and TYPE_CODE_DECFLOAT.
4590         (print_floating): Use floatformat_to_string.  Handle decimal float.
4591         (print_decimal_floating): Remove, merge into floatformat_to_string.
4592         * value.h (print_decimal_floating): Remove.
4593
4594         * Makefile.in: Do not build doublest.c with -Wformat-nonliteral.
4595
4596 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4597
4598         * buildsym.c (end_symtab_get_static_block): Use std::stable_sort.
4599
4600 2017-10-21  Simon Marchi  <simon.marchi@ericsson.com>
4601
4602         * memattr.h: Don't include vec.h.
4603         (struct mem_attrib): Initialize fields.
4604         <unknown>: New static method.
4605         (struct mem_region): Add constructors, operator<, initialize
4606         fields.
4607         * memattr.c: Include algorithm.
4608         (default_mem_attrib, unknown_mem_attrib): Remove.
4609         (user_mem_region_list): New global.
4610         (target_mem_region_list, mem_region_list): Change type to
4611         std::vector<mem_region>.
4612         (mem_use_target): Now a function.
4613         (target_mem_regions_valid): Change type to bool.
4614         (mem_region_lessthan, mem_region_cmp, mem_region_init): Remove.
4615         (require_user_regions): Adjust.
4616         (require_target_regions): Adjust.
4617         (create_mem_region): Adjust.
4618         (lookup_mem_region): Adjust.
4619         (invalidate_target_mem_regions): Adjust.
4620         (mem_clear): Rename to...
4621         (user_mem_clear): ... this, and adjust.
4622         (mem_command): Adjust.
4623         (info_mem_command): Adjust.
4624         (mem_enable, enable_mem_command, mem_disable,
4625         disable_mem_command): Adjust.
4626         (mem_delete): Adjust.
4627         (delete_mem_command): Adjust.
4628         * memory-map.h (parse_memory_map): Return an std::vector.
4629         * memory-map.c (parse_memory_map): Likewise.
4630         (struct memory_map_parsing_data): Add constructor.
4631         <memory_map>: Point to std::vector.
4632         (memory_map_start_memory): Adjust.
4633         (memory_map_end_memory): Adjust.
4634         (memory_map_end_property): Adjust.
4635         (clear_result): Remove.
4636         * remote.c (remote_memory_map): Return an std::vector.
4637         * target-debug.h (target_debug_print_VEC_mem_region_s__p):
4638         Remove.
4639         (target_debug_print_mem_region_vector): New.
4640         * target-delegates.c: Regenerate.
4641         * target.h (mem_region_vector): New typedef.
4642         (to_memory_map): Return mem_region_vector.
4643         (target_memory_map): Return an std::vector.
4644         * target.c (target_memory_map): Return an std::vector.
4645         (flash_erase_command): Adjust.
4646
4647 2017-10-21  Simon Marchi  <simon.marchi@ericsson.com>
4648
4649         * memory-map.c (struct memory_map_parsing_data) <property_name>:
4650         Change type to std::string.
4651         (memory_map_start_property): Adjust.
4652         (memory_map_end_property): Adjust.
4653
4654 2017-10-21  Simon Marchi  <simon.marchi@polymtl.ca>
4655
4656         * infrun.h: Include common/byte-vector.h.
4657         (struct displaced_step_closure): New struct.
4658         (struct buf_displaced_step_closure): New struct.
4659         * infrun.c (displaced_step_closure::~displaced_step_closure):
4660         Provide default implementation.
4661         (displaced_step_clear): Deallocate step closure with delete.
4662         * aarch64-tdep.c (displaced_step_closure): Rename to ...
4663         (aarch64_displaced_step_closure): ... this, extend
4664         displaced_step_closure.
4665         (aarch64_displaced_step_data) <dsc>: Change type to
4666         aarch64_displaced_step_closure.
4667         (aarch64_displaced_step_copy_insn): Adjust to type change, use
4668         unique_ptr.
4669         (aarch64_displaced_step_fixup): Add cast for displaced step
4670         closure.
4671         * amd64-tdep.c (displaced_step_closure): Rename to ...
4672         (amd64_displaced_step_closure): ... this, extend
4673         displaced_step_closure.
4674         <insn_buf>: Change type to std::vector<gdb_byte>.
4675         <max_len>: Remove.
4676         (fixup_riprel): Change type of DSC parameter, adjust to type
4677         change of insn_buf.
4678         (fixup_displaced_copy): Change type of DSC parameter.
4679         (amd64_displaced_step_copy_insn): Instantiate
4680         amd64_displaced_step_closure.
4681         (amd64_displaced_step_fixup): Add cast for closure type, adjust
4682         to type change of insn_buf.
4683         * arm-linux-tdep.c (arm_linux_cleanup_svc): Change type of
4684         parameter DSC.
4685         (arm_linux_copy_svc): Likewise.
4686         (cleanup_kernel_helper_return): Likewise.
4687         (arm_catch_kernel_helper_return): Likewise.
4688         (arm_linux_displaced_step_copy_insn): Instantiate
4689         arm_displaced_step_closure.
4690         * arm-tdep.c (arm_pc_is_thumb): Add cast for closure.
4691         (displaced_read_reg): Change type of parameter DSC.
4692         (branch_write_pc): Likewise.
4693         (load_write_pc): Likewise.
4694         (alu_write_pc): Likewise.
4695         (displaced_write_reg): Likewise.
4696         (arm_copy_unmodified): Likewise.
4697         (thumb_copy_unmodified_32bit): Likewise.
4698         (thumb_copy_unmodified_16bit): Likewise.
4699         (cleanup_preload): Likewise.
4700         (install_preload): Likewise.
4701         (arm_copy_preload): Likewise.
4702         (thumb2_copy_preload): Likewise.
4703         (install_preload_reg): Likewise.
4704         (arm_copy_preload_reg): Likewise.
4705         (cleanup_copro_load_store): Likewise.
4706         (install_copro_load_store): Likewise.
4707         (arm_copy_copro_load_store) Likewise.
4708         (thumb2_copy_copro_load_store): Likewise.
4709         (cleanup_branch): Likewise.
4710         (install_b_bl_blx): Likewise.
4711         (arm_copy_b_bl_blx): Likewise.
4712         (thumb2_copy_b_bl_blx): Likewise.
4713         (thumb_copy_b): Likewise.
4714         (install_bx_blx_reg): Likewise.
4715         (arm_copy_bx_blx_reg): Likewise.
4716         (thumb_copy_bx_blx_reg): Likewise.
4717         (cleanup_alu_imm): Likewise.
4718         (arm_copy_alu_imm): Likewise.
4719         (thumb2_copy_alu_imm): Likewise.
4720         (cleanup_alu_reg): Likewise.
4721         (install_alu_reg): Likewise.
4722         (arm_copy_alu_reg): Likewise.
4723         (thumb_copy_alu_reg): Likewise.
4724         (cleanup_alu_shifted_reg): Likewise.
4725         (install_alu_shifted_reg): Likewise.
4726         (arm_copy_alu_shifted_reg): Likewise.
4727         (cleanup_load): Likewise.
4728         (cleanup_store): Likewise.
4729         (arm_copy_extra_ld_st): Likewise.
4730         (install_load_store): Likewise.
4731         (thumb2_copy_load_literal): Likewise.
4732         (thumb2_copy_load_reg_imm): Likewise.
4733         (arm_copy_ldr_str_ldrb_strb): Likewise.
4734         (cleanup_block_load_all): Likewise.
4735         (cleanup_block_store_pc): Likewise.
4736         (cleanup_block_load_pc): Likewise.
4737         (arm_copy_block_xfer): Likewise.
4738         (thumb2_copy_block_xfer): Likewise.
4739         (cleanup_svc): Likewise.
4740         (install_svc): Likewise.
4741         (arm_copy_svc): Likewise.
4742         (thumb_copy_svc): Likewise.
4743         (arm_copy_undef): Likewise.
4744         (thumb_32bit_copy_undef): Likewise.
4745         (arm_copy_unpred): Likewise.
4746         (arm_decode_misc_memhint_neon): Likewise.
4747         (arm_decode_unconditional): Likewise.
4748         (arm_decode_miscellaneous): Likewise.
4749         (arm_decode_dp_misc): Likewise.
4750         (arm_decode_ld_st_word_ubyte): Likewise.
4751         (arm_decode_media): Likewise.
4752         (arm_decode_b_bl_ldmstm): Likewise.
4753         (arm_decode_ext_reg_ld_st): Likewise.
4754         (thumb2_decode_dp_shift_reg): Likewise.
4755         (thumb2_decode_ext_reg_ld_st): Likewise.
4756         (arm_decode_svc_copro): Likewise.
4757         (thumb2_decode_svc_copro): Likewise.
4758         (install_pc_relative): Likewise.
4759         (thumb_copy_pc_relative_16bit): Likewise.
4760         (thumb_decode_pc_relative_16bit): Likewise.
4761         (thumb_copy_pc_relative_32bit): Likewise.
4762         (thumb_copy_16bit_ldr_literal): Likewise.
4763         (thumb_copy_cbnz_cbz): Likewise.
4764         (thumb2_copy_table_branch): Likewise.
4765         (cleanup_pop_pc_16bit_all): Likewise.
4766         (thumb_copy_pop_pc_16bit): Likewise.
4767         (thumb_process_displaced_16bit_insn): Likewise.
4768         (decode_thumb_32bit_ld_mem_hints): Likewise.
4769         (thumb_process_displaced_32bit_insn): Likewise.
4770         (thumb_process_displaced_insn): Likewise.
4771         (arm_process_displaced_insn): Likewise.
4772         (arm_displaced_init_closure): Likewise.
4773         (arm_displaced_step_fixup): Add cast for closure.
4774         * arm-tdep.h: Include infrun.h.
4775         (displaced_step_closure): Rename to ...
4776         (arm_displaced_step_closure): ... this, extend
4777         displaced_step_closure.
4778         <u::svc::copy_svc_os>: Change type of parameter DSC.
4779         <cleanup>: Likewise.
4780         (arm_process_displaced_insn): Likewise.
4781         (arm_displaced_init_closure): Likewise.
4782         (displaced_read_reg): Likewise.
4783         (displaced_write_reg): Likewise.
4784         * i386-linux-tdep.c (i386_linux_displaced_step_copy_insn):
4785         Adjust.
4786         * i386-tdep.h: Include infrun.h.
4787         (i386_displaced_step_closure): New typedef.
4788         * i386-tdep.c (i386_displaced_step_copy_insn): Use
4789         i386_displaced_step_closure.
4790         (i386_displaced_step_fixup): Adjust.
4791         * rs6000-tdep.c (ppc_displaced_step_closure): New typedef.
4792         (ppc_displaced_step_copy_insn): Use ppc_displaced_step_closure
4793         and unique_ptr.
4794         (ppc_displaced_step_fixup): Adjust.
4795         * s390-linux-tdep.c (s390_displaced_step_closure): New typedef.
4796         (s390_displaced_step_copy_insn): Use s390_displaced_step_closure
4797         and unique_ptr.
4798         (s390_displaced_step_fixup): Adjust.
4799
4800 2017-10-21  Simon Marchi  <simon.marchi@polymtl.ca>
4801
4802         * interps.h (interp_resume, interp_suspend, interp_set_temp):
4803         Remove declarations.
4804
4805 2017-10-20  Tom Tromey  <tom@tromey.com>
4806
4807         * gdb_bfd.c (struct gdb_bfd_data) <included_bfds>: Now a
4808         std::vector.
4809         (gdb_bfd_record_inclusion): Update.
4810         (bfdp): Remove typedef.
4811
4812 2017-10-20  Tom Tromey  <tom@tromey.com>
4813
4814         * gdb_bfd.c (gdb_bfd_ref): Use new.
4815         (struct gdb_bfd_data): Add constructor, destructor, and member
4816         initializers.
4817         (gdb_bfd_unref): Use delete.
4818
4819 2017-10-20  Tom Tromey  <tom@tromey.com>
4820
4821         * exec.c (exec_file_attach): Use new_bfd_ref.
4822         * symfile-mem.c (symbol_file_add_from_memory): Use new_bfd_ref.
4823         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
4824         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_fdopenr): Use
4825         new_bfd_ref.
4826         * gdb_bfd.h (new_bfd_ref): New function.
4827
4828 2017-10-20  Pedro Alves  <palves@redhat.com>
4829
4830         * main.c (captured_command_loop): Add attribute noinline.
4831
4832 2017-10-19  Simon Marchi  <simon.marchi@ericsson.com>
4833
4834         * interps.c (struct interp_factory): Add constructor.
4835         (interp_factory_p): Remove typedef.
4836         (DEF_VEC_P(interp_factory_p)): Remove.
4837         (interpreter_factories): Change type to std::vector.
4838         (interp_factory_register): Adjust.
4839         (interp_lookup): Adjust.
4840         (interpreter_completer): Adjust.
4841
4842 2017-10-19  Tom Tromey  <tom@tromey.com>
4843
4844         * break-catch-syscall.c (catch_syscall_completer): Use
4845         std::string, gdb::unique_xmalloc_ptr.
4846
4847 2017-10-19  Tom Tromey  <tom@tromey.com>
4848
4849         * infcall.c (call_function_by_hand_dummy): Use std::string.
4850
4851 2017-10-19  Tom Tromey  <tom@tromey.com>
4852
4853         * mi/mi-main.c (mi_cmd_execute): Update.
4854         * top.h (prepare_execute_command): Return scoped_value_mark.
4855         * value.h (class scoped_value_mark): Use DISABLE_COPY_AND_ASSIGN.
4856         Add move constructor.
4857         * top.c (prepare_execute_command): Return scoped_value_mark.
4858         (execute_command): Update.
4859
4860 2017-10-19  Pedro Alves  <palves@redhat.com>
4861
4862         * xml-support.c (xml_fetch_content_from_file): Check fread's
4863         return.
4864
4865 2017-10-19  Pedro Alves  <palves@redhat.com>
4866
4867         * ser-base.c (ser_base_read_error_fd): Delete the file handler if
4868         async.
4869         (handle_error_fd): New function.
4870         (ser_base_async): Add/delete an event loop file handler for
4871         error_fd.
4872
4873 2017-10-19  Pedro Alves  <palves@redhat.com>
4874
4875         * xml-support.c (xml_fetch_content_from_file): Don't read in
4876         chunks.  Instead use fseek to determine the file's size, and read
4877         it in one go.
4878
4879 2017-11-18  Keith Seitz  <keiths@redhat.com>
4880
4881         * c-exp.y (oper): Canonicalize conversion operators of user-defined
4882         types.
4883         Add whitespace to front of type name.
4884
4885 2017-10-18  Keith Seitz  <keiths@redhat.com>
4886
4887         * dwarf2read.c (dwarf2_add_typedef): Issue a complaint on unhandled
4888         DW_AT_accessibility.
4889
4890 2017-10-18  Yao Qi  <yao.qi@linaro.org>
4891
4892         * features/tic6x-c62x-linux.c: Remove.
4893
4894 2017-10-17  Tom Tromey  <tom@tromey.com>
4895
4896         * disasm.c (do_mixed_source_and_assembly_deprecated): Use
4897         gdb::optional, ui_out_emit_list, ui_out_emit_tuple.
4898         (do_mixed_source_and_assembly): Likewise.
4899
4900 2017-10-17  Tom Tromey  <tom@tromey.com>
4901
4902         * regcache.c (regcache::xfer_part): Remove assertion.
4903
4904 2017-10-17  Pedro Alves  <palves@redhat.com>
4905
4906         * xml-support.c (xml_fetch_content_from_file): Call
4907         unique_ptr::release() instead unique_ptr::get() when passing
4908         through xrealloc.
4909
4910 2017-10-17  Yao Qi  <yao.qi@linaro.org>
4911
4912         * regcache.c (regcache::xfer_part): Remove parameters read and
4913         write, add parameter is_raw.  All callers are updated.
4914
4915 2017-10-16  Keith Seitz  <keiths@redhat.com>
4916
4917         * c-typeprint.c (enum access_specifier): Moved here from
4918         c_type_print_base.
4919         (output_access_specifier): New function.
4920         (c_type_print_base): Consider typedefs when assessing
4921         whether access labels are needed.
4922         Use output_access_specifier as needed.
4923         Output access specifier for typedefs, if needed.
4924         * dwarf2read.c (dwarf2_add_typedef): Record DW_AT_accessibility.
4925         * gdbtypes.h (struct typedef_field) <is_protected, is_private>: New
4926         fields.
4927         (TYPE_TYPEDEF_FIELD_PROTECTED, TYPE_TYPEDEF_FIELD_PRIVATE): New
4928         accessor macros.
4929
4930 2017-10-16  Tom Tromey  <tom@tromey.com>
4931
4932         * linux-tdep.c (linux_info_proc, linux_find_memory_regions_full)
4933         (linux_fill_prpsinfo, linux_vsyscall_range_raw): Update.
4934         * target.c (target_fileio_read_stralloc): Update.
4935         * sparc64-tdep.c (adi_is_addr_mapped): Update.
4936         * target.h (target_fileio_read_stralloc): Return
4937         unique_xmalloc_ptr.
4938
4939 2017-10-16  Tom Tromey  <tom@tromey.com>
4940
4941         * xml-syscall.c (xml_init_syscalls_info): Update.
4942         * xml-support.c (xinclude_start_include): Update.
4943         (xml_fetch_content_from_file): Return unique_xmalloc_ptr.
4944         * xml-support.h (xml_fetch_another): Return unique_xmalloc_ptr.
4945         (xml_fetch_content_from_file): Likewise.
4946         * osdata.c (get_osdata): Update.
4947         * target.h (target_read_stralloc, target_get_osdata): Return
4948         unique_xmalloc_ptr.
4949         * solib-aix.c (solib_aix_get_library_list): Update.
4950         * solib-target.c (solib_target_current_sos): Update.
4951         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Update.
4952         * xml-tdesc.c (fetch_available_features_from_target): Update.
4953         (target_fetch_description_xml): Update.
4954         (file_read_description_xml): Update.
4955         * remote.c (remote_get_threads_with_qxfer, remote_memory_map)
4956         (remote_traceframe_info, btrace_read_config, remote_read_btrace)
4957         (remote_pid_to_exec_file): Update.
4958         * target.c (target_read_stralloc): Return unique_xmalloc_ptr.
4959         (target_get_osdata): Likewise.
4960
4961 2017-10-16  Tom Tromey  <tom@tromey.com>
4962
4963         * remote.c (remote_register_number_and_offset): Use std::vector.
4964         (remote_set_syscall_catchpoint): Use gdb::unique_xmalloc_ptr.
4965         (putpkt_binary): Use gdb::def_vector.
4966         (compare_sections_command): Use gdb::byte_vector.
4967
4968 2017-10-16  Tom Tromey  <tom@tromey.com>
4969
4970         * ppc-linux-nat.c (hwdebug_insert_point): Use
4971         gdb::unique_xmalloc_ptr, XDUP.
4972
4973 2017-10-16  Tom Tromey  <tom@tromey.com>
4974
4975         * probe.c (parse_probes): Use std::string.
4976         (info_probes_for_ops, enable_probes_command)
4977         (disable_probes_command): Remove cleanups.
4978
4979 2017-10-16  Tom Tromey  <tom@tromey.com>
4980
4981         * buildsym.c (block_compar): Remove.
4982         (end_symtab_get_static_block): Use std::vector.
4983
4984 2017-10-16  Simon Marchi  <simon.marchi@ericsson.com>
4985
4986         * memrange.h (struct mem_range): Define operator< and operator==.
4987         (mem_range_s): Remove.
4988         (DEF_VEC_O (mem_range_s)): Remove.
4989         (normalize_mem_ranges): Change parameter type to std::vector.
4990         * memrange.c (compare_mem_ranges): Remove.
4991         (normalize_mem_ranges): Change parameter type to std::vector,
4992         adjust to vector change.
4993         * exec.c (section_table_available_memory): Return vector, remove
4994         parameter.
4995         (section_table_read_available_memory): Adjust to std::vector
4996         change.
4997         * remote.c (remote_read_bytes): Adjust to std::vector
4998         change.
4999         * tracepoint.h (traceframe_available_memory): Change parameter
5000         type to std::vector.
5001         * tracepoint.c (traceframe_available_memory): Change parameter
5002         type to std::vector, adjust.
5003         * gdb/mi/mi-main.c (mi_cmd_trace_frame_collected): Adjust to
5004         std::vector change.
5005         * gdb/Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
5006         unittests/memrange-selftests.c.
5007         (SUBDIR_UNITTESTS_OBS): Add memrange-selftests.o.
5008         * gdb/unittests/memrange-selftests.c: New file.
5009
5010 2017-10-16  Pedro Alves  <palves@redhat.com>
5011
5012         * elfread.c (probe_key_free): Rename range-for variable.
5013         * probe.c (parse_probes_in_pspace, find_probes_in_objfile)
5014         (find_probe_by_pc, collect_probes): Rename range-for variable.
5015
5016 2017-10-16  Yao Qi  <yao.qi@linaro.org>
5017
5018         * features/Makefile (XMLTOC): Remove tic6x-*.xml.
5019         * features/tic6x-c62x.c: Remove.
5020         * features/tic6x-c64x-linux.c: Remove.
5021         * features/tic6x-c64x.c: Remove.
5022         * features/tic6x-c64xp-linux.c: Remove.
5023         * features/tic6x-c64xp.c: Remove.
5024         * tic6x-linux-tdep.c (_initialize_tic6x_linux_tdep): Don't call
5025         initialize_tdesc_tic6x_*_linux functions.
5026         * tic6x-tdep.c (_initialize_tic6x_tdep): Don't call
5027         initialize_tdesc_tic6x_* functions.
5028
5029 2017-10-16  Yao Qi  <yao.qi@linaro.org>
5030
5031         * features/Makefile (WHICH): Remove tic6x-c64xp, tic6x-c64x
5032         tic6x-c62x.
5033         * regformats/tic6x-c62x.dat: Remove.
5034         * regformats/tic6x-c64x.dat: Remove.
5035         * regformats/tic6x-c64xp.dat: Remove.
5036
5037 2017-10-15  Simon Marchi  <simon.marchi@ericsson.com>
5038
5039         * tracepoint.c (parse_traceframe_info): Return a unique_ptr
5040         (the !HAVE_LIBEXPAT version).
5041
5042 2017-10-14  Simon Marchi  <simon.marchi@ericsson.com>
5043
5044         * nat/linux-osdata.c (struct pid_pgid_entry) <operator<>: Make
5045         const.
5046
5047 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5048
5049         * target.h: Include tracepoint.h.
5050         (enum trace_find_type): Move to tracepoint.h.
5051         (struct target_ops) <to_traceframe_info>: Return a unique ptr.
5052         * tracepoint.h: Don't include target.h
5053         (enum trace_find_type): Move from target.h.
5054         (parse_traceframe_info): Return a unique ptr.
5055         * tracepoint.c (current_traceframe_info): Change type to unique
5056         ptr.
5057         (free_traceframe_info): Remove.
5058         (clear_traceframe_info): Don't manually free
5059         current_traceframe_info.
5060         (free_result): Remove.
5061         (parse_traceframe_info): Return a unique ptr.
5062         (get_traceframe_info): Adjust to unique ptr.
5063         * ctf.c (ctf_traceframe_info): Return a unique ptr.
5064         * remote.c (remote_traceframe_info): Return a unique ptr.
5065         * tracefile-tfile.c (tfile_traceframe_info): Return a unique
5066         ptr.
5067         * target-debug.h (target_debug_print_traceframe_info_up): New
5068         macro.
5069         * target-delegates.c: Regenerate.
5070
5071 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5072
5073         * memrange.h (struct mem_range): Add constructors.
5074         * tracepoint.h (struct traceframe_info) <memory>: Change type to
5075         std::vector<mem_range>.
5076         * tracepoint.c (free_traceframe_info): Don't manually free
5077         vector.
5078         (traceframe_info_start_memory): Adjust to vector change.
5079         (traceframe_available_memory): Likewise.
5080         * tracefile-tfile.c (build_traceframe_info): Likewise.
5081         * ctf.c (ctf_traceframe_info): Likewise.
5082
5083 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5084
5085         * tracepoint.h (struct traceframe_info) <tvars>: Change type to
5086         std::vector<int>.
5087         * tracepoint.c (free_traceframe_info): Deallocate with delete.
5088         (traceframe_info_start_tvar): Adjust to vector change.
5089         (parse_traceframe_info): Allocate with new.
5090         * ctf.c (ctf_traceframe_info): Allocate with new, adjust to
5091         vector change.
5092         * tracefile-tfile.c (build_traceframe_info): Adjust to vector
5093         change.
5094         tfile_traceframe_info): Allocate with new.
5095         * mi/mi-main.c (mi_cmd_trace_frame_collected): Adjust to vector
5096         change.
5097
5098 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5099
5100         * tracepoint.c (traceframe_info): Rename to...
5101         (current_traceframe_info): ...this.
5102         (clear_traceframe_info): Adjust.
5103         (get_traceframe_info): Adjust.
5104
5105 2017-10-14  Simon Marchi  <simon.marchi@ericsson.com>
5106
5107         * nat/linux-osdata.c: Include algorithm.
5108         (compare_processes): Remove.
5109         (struct pid_pgid_entry): New struct.
5110         (linux_xfer_osdata_processgroups): Use std::vector instead of
5111         XNEWVEC.
5112
5113 2017-10-14  Simon Marchi  <simon.marchi@ericsson.com>
5114
5115         * objfiles.h: Don't include symfile.h.
5116         (struct partial_symbol): Remove forward-declaration.
5117         (struct objfile) <global_psymbols, static_psymbols>: Change type
5118         to std::vector<partial_symbol *>.
5119         * objfiles.c (objfile::objfile): Don't memset those fields.
5120         (objfile::~objfile): Don't free those fields.
5121         * psympriv.h (struct psymbol_allocation_list): Remove
5122         forward-declaration.
5123         (add_psymbol_to_list): Change psymbol_allocation_list parameter
5124         to std::vector.
5125         (start_psymtab_common): Change parameters to std::vector.
5126         * psymtab.c: Include algorithm.
5127         (require_partial_symbols): Call shrink_to_fit.
5128         (find_pc_sect_psymbol): Adjust to vector change.
5129         (match_partial_symbol): Likewise.
5130         (lookup_partial_symbol): Likewise.
5131         (psym_relocate): Likewise.
5132         (dump_psymtab): Likewise.
5133         (recursively_search_psymtabs): Likewise.
5134         (compare_psymbols): Remove.
5135         (sort_pst_symbols): Adjust to vector change.
5136         (start_psymtab_common): Likewise.
5137         (end_psymtab_common): Likewise.
5138         (psymbol_bcache_full): De-constify return value.
5139         (add_psymbol_to_bcache): Likewise.
5140         (extend_psymbol_list): Remove.
5141         (append_psymbol_to_list): Adjust to vector change.
5142         (add_psymbol_to_list): Likewise.
5143         (init_psymbol_list): Likewise.
5144         (maintenance_info_psymtabs): Likewise.
5145         (maintenance_check_psymtabs): Likewise.
5146         * symfile.h (struct psymbol_allocation_list): Remove.
5147         * symfile.c (reread_symbols): Adjust to vector change.
5148         * dbxread.c (start_psymtab): Change type of parameters.
5149         (dbx_symfile_read): Adjust to vector change.
5150         (read_dbx_symtab): Likewise.
5151         (start_psymtab): Change type of parameters.
5152         * dwarf2read.c (dwarf2_build_psymtabs): Adjust to vector change.
5153         (create_partial_symtab): Likewise.
5154         (add_partial_symbol): Likewise.
5155         (write_one_signatured_type): Likewise.
5156         (recursively_write_psymbols): Likewise.
5157         * mdebugread.c (parse_partial_symbols): Likewise.
5158         * xcoffread.c (xcoff_start_psymtab): Change type of parameters.
5159         (scan_xcoff_symtab): Adjust to vector change.
5160         (xcoff_initial_scan): Likewise.
5161
5162 2017-10-13  Simon Marchi  <simon.marchi@ericsson.com>
5163
5164         * ada-typeprint.c (print_dynamic_range_bound): Use std::string.
5165
5166 2017-10-13  Yao Qi  <yao.qi@linaro.org>
5167
5168         * features/Makefile: Remove tic6x-*-expedite, add tic6x-expedite.
5169         Remove s390x-*-expedite, add s390x-expedite.
5170
5171 2017-10-13  Yao Qi  <yao.qi@linaro.org>
5172
5173         * features/s390-gs-linux64.c: Regenerated.
5174         * features/s390x-gs-linux64.c: Regenerated.
5175
5176 2017-10-13  Tom Tromey  <tom@tromey.com>
5177
5178         * compile/compile-object-run.c (do_module_cleanup): Use delete.
5179         * solib.c (update_solib_list, reload_shared_libraries_1): Use
5180         delete.
5181         * symfile.c (symbol_file_add_with_addrs): Use new.
5182         (symbol_file_add_separate): Update comment.
5183         (syms_from_objfile_1, remove_symbol_file_command): Use delete.
5184         * jit.c (jit_object_close_impl): Use new.
5185         (jit_unregister_code): Use delete.
5186         * objfiles.c (objfile::objfile): Rename from allocate_objfile.
5187         (~objfile): Rename from free_objfile.
5188         (free_objfile_separate_debug, do_free_objfile_cleanup)
5189         (free_all_objfiles, objfile_purge_solibs): Use delete.
5190         * objfiles.h (struct objfile): Add constructor and destructor.
5191         Use DISABLE_COPY_AND_ASSIGN.  Add initializers to data members.
5192         (allocate_objfile, free_objfile): Don't declare.
5193         (struct objstats): Add initializers.
5194
5195 2017-10-12  Simon Marchi  <simon.marchi@ericsson.com>
5196
5197         * arch-utils.h (simple_displaced_step_copy_insn): Remove.
5198         * arch-utils.c (simple_displaced_step_copy_insn): Remove.
5199         * gdbarch.sh (displaced_step_copy_insn): Adjust comment.
5200         * gdbarch.h: Regenerate.
5201         * i386-linux-tdep.c (i386_linux_displaced_step_copy_insn):
5202         Adjust comment.
5203         * i386-tdep.c (i386_displaced_step_copy_insn): Adjust comment.
5204         (i386_displaced_step_fixup): Adjust comment.
5205         * rs6000-tdep.c (ppc_displaced_step_copy_insn): Adjust comment.
5206
5207 2017-10-12  Tom Tromey  <tom@tromey.com>
5208
5209         * prologue-value.h (pv_area::store_would_trash): Return bool.
5210         (pv_area::find_reg): Likewise.
5211         * prologue-value.c (pv_area::store_would_trash): Return bool.
5212         (pv_area::find_reg): Likewise.
5213
5214 2017-10-12  Tom Tromey  <tom@tromey.com>
5215
5216         * s390-linux-tdep.c (s390_store, s390_load)
5217         (s390_check_for_saved, s390_analyze_prologue): Update.
5218         * rx-tdep.c (check_for_saved, rx_analyze_prologue): Update.
5219         * rl78-tdep.c (rl78_analyze_prologue, check_for_saved): Update.
5220         * prologue-value.h (class pv_area): Move from prologue-value.c.
5221         Change names of members.  Add constructor, destructor, member
5222         functions.
5223         (make_pv_area, free_pv_area, make_cleanup_free_pv_area)
5224         (pv_area_store, pv_area_fetch, pv_area_store_would_trash)
5225         (pv_area_fetch, pv_area_scan): Don't declare.
5226         * prologue-value.c (struct pv_area::area_entry): Now member of
5227         pv_area.
5228         (struct pv_area): Move to prologue-value.h.
5229         (pv_area::pv_area): Rename from make_pv_area.
5230         (pv_area::~pv_area): Rename from free_pv_area.
5231         (do_free_pv_area_cleanup, make_cleanup_free_pv_area): Remove.
5232         (clear_entries, find_entry, overlaps, store_would_trash, store)
5233         (fetch, find_reg, scan): Now member of pv_area.
5234         Remove "area" argument.  Update.
5235         * msp430-tdep.c (check_for_saved, msp430_analyze_prologue):
5236         Update.
5237         * mn10300-tdep.c (push_reg, check_for_saved)
5238         (mn10300_analyze_prologue): Update.
5239         * mep-tdep.c (is_arg_spill, check_for_saved)
5240         (mep_analyze_prologue): Update.
5241         * m32c-tdep.c (m32c_pv_push, m32c_srcdest_fetch)
5242         (m32c_srcdest_store, m32c_pv_enter, m32c_is_arg_spill)
5243         (m32c_is_struct_return, m32c_analyze_prologue): Update.
5244         * arm-tdep.c (thumb_analyze_prologue, arm_analyze_prologue):
5245         Update.
5246         * arc-tdep.c (arc_is_in_prologue, arc_analyze_prologue): Update.
5247         * aarch64-tdep.c (aarch64_analyze_prologue): Update.
5248
5249 2017-10-12  Simon Marchi  <simon.marchi@ericsson.com>
5250
5251         * linux-nat.h (linux_nat_set_delete_thread): New declaration.
5252         * linux-nat.c (linux_nat_delete_thread): New variable.
5253         (lwp_free): Invoke linux_nat_delete_thread if set.
5254         (linux_nat_set_delete_thread): New function.
5255         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Assign
5256         thread delete callback.
5257         * arm-linux-nat.c (arm_linux_delete_thread): New function.
5258         (_initialize_arm_linux_nat): Assign thread delete callback.
5259         * s390-linux-nat.c (s390_delete_thread): New function.
5260         (_initialize_s390_nat): Assign thread delete callback.
5261         * x86-linux-nat.c (x86_linux_add_target): Likewise.
5262         * nat/aarch64-linux.c (aarch64_linux_delete_thread): New
5263         function.
5264         * nat/aarch64-linux.h (aarch64_linux_delete_thread): New
5265         declaration.
5266         * nat/x86-linux.c (x86_linux_delete_thread): New function.
5267         * nat/x86-linux.h (x86_linux_delete_thread): New declaration.
5268
5269 2017-10-09  Tom Tromey  <tom@tromey.com>
5270
5271         * tui/tui-win.c (tui_set_win_height, parse_scrolling_args): Use
5272         std::string.
5273         * tui/tui-layout.c (enum tui_status): Use std::string.
5274
5275 2017-10-11  Tom Tromey  <tom@tromey.com>
5276
5277         * gdbthread.h (thread_command): Constify.
5278         * inferior.h (detach_command): Constify.
5279         * top.h (set_history, show_history): Constify.
5280         * arm-tdep.c (set_arm_command, show_arm_command): Constify.
5281         * serial.c (serial_set_cmd, serial_show_cmd): Constify.
5282         * bsd-kvm.c (bsd_kvm_cmd): Constify.
5283         * printcmd.c (set_command): Constify.
5284         (non_const_set_command): New function.
5285         * dcache.c (set_dcache_command, show_dcache_command): Constify.
5286         * breakpoint.c (enable_command, disable_command, delete_command)
5287         (catch_command, tcatch_command, set_breakpoint_cmd)
5288         (show_breakpoint_cmd): Constify.
5289         * macrocmd.c (macro_command): Constify.
5290         * infcmd.c (unset_command, kill_command, detach_command)
5291         (info_proc_cmd): Constify.
5292         * i386-tdep.c (set_mpx_cmd, show_mpx_cmd): Constify.
5293         * auto-load.c (show_auto_load_cmd, set_auto_load_cmd)
5294         (info_auto_load_cmd): Constify.
5295         * target-descriptions.c (set_tdesc_cmd, show_tdesc_cmd)
5296         (unset_tdesc_cmd): Constify.
5297         * ada-lang.c (set_ada_command, show_ada_command)
5298         (maint_set_ada_cmd, maint_show_ada_cmd): Constify.
5299         * guile/guile.c (set_guile_command, show_guile_command)
5300         (info_guile_command): Constify.
5301         * tui/tui-win.c (tui_command, set_tui_cmd, show_tui_cmd):
5302         Constify.
5303         * skip.c (skip_command): Constify.
5304         * compile/compile.c (_initialize_compile): Constify.
5305         * dwarf2read.c (set_dwarf_cmd, show_dwarf_cmd): Constify.
5306         * btrace.c (maint_btrace_cmd, maint_btrace_set_cmd)
5307         (maint_btrace_show_cmd, maint_btrace_pt_set_cmd)
5308         (maint_btrace_pt_show_cmd): Constify.
5309         * remote.c (set_remote_cmd, show_remote_cmd, remote_command):
5310         Constify.
5311         * python/python.c (user_show_python, user_set_python): Constify.
5312         * mips-tdep.c (set_mips_command, show_mips_command)
5313         (set_mipsfpu_command): Constify.
5314         * record-btrace.c (cmd_record_btrace_start)
5315         (cmd_set_record_btrace, cmd_show_record_btrace)
5316         (cmd_set_record_btrace_bts, cmd_show_record_btrace_bts)
5317         (cmd_set_record_btrace_pt, cmd_show_record_btrace_pt): Constify.
5318         * rs6000-tdep.c (set_powerpc_command, show_powerpc_command):
5319         Constify.
5320         * symfile.c (overlay_command): Constify.
5321         * spu-tdep.c (set_spu_command, show_spu_command): Constify.
5322         * cli/cli-logging.c (set_logging_command, show_logging_command):
5323         Constify.
5324         * cli/cli-dump.c (dump_command, append_command)
5325         (srec_dump_command, ihex_dump_command, verilog_dump_command)
5326         (tekhex_dump_command, binary_dump_command)
5327         (binary_append_command): Constify.
5328         * cli/cli-decode.c (struct cmd_list_element): Change type of
5329         "fun".
5330         * cli/cli-cmds.c (info_command, show_command, set_debug)
5331         (show_debug): Constify.
5332         (show_command): Add non-const overload.
5333         * top.c (set_history, show_history): Constify.
5334         * sh-tdep.c (set_sh_command, show_sh_command): Constify.
5335         * command.h (add_prefix_cmd): Accept a cmd_const_cfunc_ftype.
5336         * target.c (target_command): Constify.
5337         * sparc64-tdep.c (info_adi_command): Constify.
5338         * record-full.c (cmd_record_full_start): Constify.
5339         (set_record_full_command): Constify.  Fix typo.
5340         (show_record_full_command): Constify.
5341         * thread.c (thread_command, thread_apply_command): Constify.
5342         * memattr.c (dummy_cmd): Constify.
5343         * value.c (function_command): Constify.
5344         * frame.c (set_backtrace_cmd, show_backtrace_cmd): Constify.
5345         * probe.c (info_probes_command): Constify.
5346         * ser-tcp.c (set_tcp_cmd, show_tcp_cmd): Constify.
5347         * gnu-nat.c (set_task_cmd, show_task_cmd, set_thread_cmd)
5348         (show_thread_cmd, set_thread_default_cmd)
5349         (show_thread_default_cmd): Constify.
5350         (check_empty): Constify.
5351         * tracepoint.c (tfind_command): Constify.
5352         * cp-support.c (maint_cplus_command): Constify.
5353         * windows-tdep.c (info_w32_command): Constify.
5354         * record.c (cmd_record_start, set_record_command)
5355         (show_record_command, info_record_command, cmd_record_goto):
5356         Constify.
5357         * ravenscar-thread.c (set_ravenscar_command)
5358         (show_ravenscar_command): Constify.
5359         * utils.c (set_internal_problem_cmd, show_internal_problem_cmd):
5360         Constify.
5361         (add_internal_problem_command): Remove casts.
5362         * arc-tdep.c (maintenance_print_arc_command): Constify.
5363         * valprint.c (set_print, show_print, set_print_raw)
5364         (show_print_raw): Constify.
5365         * maint.c (maintenance_command, maintenance_info_command)
5366         (maintenance_print_command, maintenance_set_cmd)
5367         (maintenance_show_cmd, set_per_command_cmd)
5368         (show_per_command_cmd, maintenance_check_command): Constify.
5369         * language.c (set_check, show_check): Constify.
5370         * typeprint.c (show_print_type, set_print_type): Constify.
5371         * go32-nat.c (go32_info_dos_command): Constify.
5372
5373 2017-10-11  Tom Tromey  <tom@tromey.com>
5374
5375         * breakpoint.c (prepare_re_set_context): Remove.
5376         (breakpoint_re_set_one): Update.  Don't use cleanups.
5377         (breakpoint_re_set): Use scoped_restore, std::string, and
5378         scoped_restore_current_language.
5379
5380 2017-10-11  Tom Tromey  <tom@tromey.com>
5381
5382         * breakpoint.c (commands_command_1): Use std::string.
5383         (cleanup_executing_breakpoints): Remove.
5384         (bpstat_do_actions_1): Use scoped_restore.
5385         (bpstat_check_watchpoint): Use std::string.
5386         (decode_static_tracepoint_spec): Likewise.
5387         (break_range_command): Likewise.
5388         (watch_command_1): Likewise.
5389         (compare_breakpoints): Change argument types.
5390         (clear_command): Use std::vector.
5391         (cleanup_executing_breakpoints): Remove.
5392         (update_global_location_list): Use unique_xmalloc_ptr.
5393         (strace_command): Remove unused declaration.
5394
5395 2017-10-11  John Baldwin  <jhb@FreeBSD.org>
5396
5397         * Makefile.in (ALLDEPFILES): Add arm-fbsd-nat.c.
5398         * NEWS: Mention new FreeBSD/arm native configuration.
5399         * configure.host: Add arm*-*-freebsd*.
5400         * configure.nat: Likewise.
5401         * arm-fbsd-nat.c: New file.
5402
5403 2017-10-11  John Baldwin  <jhb@FreeBSD.org>
5404
5405         * Makefile.in (ALL_TARGET_OBS): Add arm-fbsd-tdep.o.
5406         (ALLDEPFILES): Add arm-fbsd-tdep.c.
5407         * NEWS: Mention new FreeBSD/arm target.
5408         * configure.tgt: Add arm*-*-freebsd*.
5409         * arm-fbsd-tdep.c: New file.
5410         * arm-fbsd-tdep.h: New file.
5411
5412 2017-10-11  Maciej W. Rozycki  <macro@imgtec.com>
5413
5414         * linux-tdep.c (linux_make_corefile_notes): Remove call to
5415         `gdbarch_elfcore_write_linux_prpsinfo'.
5416         * gdbarch.sh (elfcore_write_linux_prpsinfo): Remove architecture
5417         method.
5418         (elf_internal_linux_prpsinfo): Remove declaration.
5419         * gdbarch.h: Regenerate.
5420         * gdbarch.c: Regenerate.
5421
5422 2017-10-11  Maciej W. Rozycki  <macro@imgtec.com>
5423
5424         * ppc-linux-tdep.c (ppc_linux_init_abi): Remove call to
5425         `set_gdbarch_elfcore_write_linux_prpsinfo'.
5426
5427 2017-10-11  Pedro Alves  <palves@redhat.com>
5428
5429         * breakpoint.c (reattach_breakpoints): Delete.
5430         * breakpoint.h (reattach_breakpoints): Delete.
5431
5432 2017-10-11  Simon Marchi  <simon.marchi@ericsson.com>
5433
5434         * symfile.c (registered_sym_fns): Make struct, not typedef.
5435         (DEF_VEC_O (registered_sym_fns)): Remove.
5436         (symtab_fns): Change type to std::vector.
5437         (add_symtab_fns): Adjust.
5438         (find_sym_fns): Adjust.
5439
5440 2017-10-11  Anton Kolesov  <Anton.Kolesov@synopsys.com>
5441
5442         * arc-tdep.c (arc_gdbarch_init): Pass proper cpu value to disassembler.
5443         * arc-tdep.h (arc_arch_is_em): New function.
5444         (arc_arch_is_hs): Likewise.
5445
5446 2017-10-11  Egeyar Bagcioglu  <egeyar.bagcioglu@oracle.com>
5447
5448         * macrotab.h (macro_lookup_inclusion): Remove unnecessary
5449         parentheses in the declaration.
5450         (macro_lookup_inclusion): Likewise.
5451         (macro_lookup_definition): Likewise.
5452         * p-lang.h (pascal_builtin_types): Likewise.
5453         * tui/tui-data.c (tui_win_list): Likewise.
5454         * tui/tui-data.h (tui_win_list): Likewise.
5455         * utils.h (make_cleanup_free_section_addr_info): Likewise.
5456
5457 2017-10-11  Mark Rages  <markrages@gmail.com>
5458
5459         * target-memory.c (block_boundaries): Fix for block address not
5460         aligned on block size.
5461
5462 2017-10-10  Pedro Alves <palves@redhat.com>
5463             Tom Tromey  <tom@tromey.com>
5464
5465         * breakpoint.c (struct captured_breakpoint_query_args)
5466         (do_captured_breakpoint_query, gdb_breakpoint_query): Delete.
5467         (print_breakpoint): New.
5468         * breakpoint.h (print_breakpoint): Declare.
5469         * common/common-exceptions.h (enum return_reason): Remove
5470         references to catch_exceptions.
5471         * exceptions.c (catch_exceptions, catch_exceptions_with_msg):
5472         Delete.
5473         * exceptions.h (catch_exceptions_ftype, catch_exceptions)
5474         (catch_exception_ftype, catch_exceptions_with_msg): Delete.
5475         * gdb.h: Delete.
5476         * gdbthread.h (thread_select): Declare.
5477         * mi/mi-cmd-break.c: Don't include gdb.h.
5478         (breakpoint_notify): Use print_breakpoint.
5479         * mi/mi-cmd-catch.c: Don't include gdb.h.
5480         * mi/mi-interp.c: Don't include gdb.h.
5481         (mi_print_breakpoint_for_event): New.
5482         (mi_breakpoint_created, mi_breakpoint_modified): Use
5483         mi_print_breakpoint_for_event.
5484         * mi/mi-main.c: Don't include gdb.h.
5485         (mi_cmd_thread_select): Parse the global thread ID here.  Use
5486         thread_select instead of gdb_thread_select.
5487         (mi_cmd_thread_list_ids): Output "thread-ids" tuple here instead
5488         of using gdb_list_thread_ids.
5489         * remote-fileio.c (do_remote_fileio_request): Change type.  Reply
5490         FILEIO_ENOSYS here.
5491         (remote_fileio_request): Use TRY/CATCH instead of
5492         catch_exceptions.
5493         * symfile-mem.c (struct symbol_file_add_from_memory_args)
5494         (symbol_file_add_from_memory_wrapper): Delete.
5495         (add_vsyscall_page): Use TRY/CATCH instead of catch_exceptions.
5496         * thread.c: Don't include gdb.h.
5497         (do_captured_list_thread_ids, gdb_list_thread_ids): Delete.
5498         (thread_alive): Use thread_select.
5499         (do_captured_thread_select): Delete, parts salvaged as ...
5500         (thread_select): ... this new function.
5501         (gdb_thread_select): Delete.
5502
5503 2017-10-10  Pedro Alves  <palves@redhat.com>
5504             Tom Tromey  <tom@tromey.com>
5505
5506         * breakpoint.c (breakpoint_cond_eval): Change return type to bool
5507         and reverse logic.
5508         (WP_DELETED, WP_VALUE_CHANGED, WP_VALUE_NOT_CHANGED, WP_IGNORE):
5509         No longer macros.  Instead ...
5510         (enum wp_check_result): They're now values of this new
5511         enumeration.
5512         (watchpoint_check): Change return type to wp_check_result and
5513         parameter type to bpstat.
5514         (bpstat_check_watchpoint): Use TRY/CATCH instead of catch_errors.
5515         (bpstat_check_breakpoint_conditions): Use TRY/CATCH instead of
5516         catch_errors.  Reverse logic of watchpoint_check call.
5517         (breakpoint_re_set_one): Now returns void and takes a breakpoint
5518         pointer as parameter.
5519         (breakpoint_re_set): Use TRY/CATCH instead of catch_errors.
5520         * common/common-exceptions.c (throw_exception_sjlj): Update
5521         comments to avoid mentioning catch_errors.
5522         * exceptions.c (catch_errors): Delete.
5523         * exceptions.h: Update comments to avoid mentioning catch_errors.
5524         (catch_errors_ftype, catch_errors): Delete.
5525         * infrun.c (normal_stop): Use TRY/CATCH instead of catch_errors.
5526         (hook_stop_stub): Delete.
5527         (restore_selected_frame): Change return type to void, and
5528         parameter type to const frame_id &.
5529         (restore_infcall_control_state): Use TRY/CATCH instead of
5530         catch_errors.
5531         * main.c (captured_command_loop): Return void and remove
5532         parameter.  Remove references to catch_errors.
5533         (captured_main): Use TRY/CATCH instead of catch_errors.
5534         * objc-lang.c (objc_submethod_helper_data)
5535         (find_objc_msgcall_submethod_helper): Delete.
5536         (find_objc_msgcall_submethod): Use TRY/CATCH instead of
5537         catch_errors.
5538         * record-full.c (record_full_message): Return void.
5539         (record_full_message_args, record_full_message_wrapper): Delete.
5540         (record_full_message_wrapper_safe): Return bool and use TRY/CATCH
5541         instead of catch_errors.
5542         * solib-aix.c (solib_aix_open_symbol_file_object): Change
5543         parameter type to int.
5544         * solib-darwin.c (open_symbol_file_object): Ditto.
5545         * solib-dsbt.c (open_symbol_file_object): Ditto.
5546         * solib-frv.c (open_symbol_file_object): Ditto.
5547         * solib-svr4.c (open_symbol_file_object): Ditto.
5548         * solib-target.c (solib_target_open_symbol_file_object): Ditto.
5549         * solib.c (update_solib_list): Use TRY/CATCH instead of
5550         catch_errors.
5551         * solist.h (struct target_so_ops) <open_symbol_file_object>:
5552         Change type.
5553         * symmisc.c (struct print_symbol_args): Remove.
5554         (dump_symtab_1): Use TRY/CATCH instead of catch_errors.
5555         (print_symbol): Change type.
5556         * windows-nat.c (handle_load_dll, handle_unload_dll): Return void
5557         and remove parameters.
5558         (catch_errors): New.
5559         (get_windows_debug_event): Adjust.
5560
5561 2017-10-09  Tom Tromey  <tom@tromey.com>
5562
5563         * mi/mi-main.c (free_splay_tree): Remove.
5564         (list_available_thread_groups): Use splay_tree_up.
5565         * common/gdb_splay_tree.h: New file.
5566
5567 2017-10-09  Tom Tromey  <tom@tromey.com>
5568
5569         * mi/mi-main.c (do_nothing): Remove.
5570         (list_available_thread_groups): Update.
5571
5572 2017-10-09  Pedro Alves  <palves@redhat.com>
5573
5574         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>: Skip
5575         reading registers when switching context.
5576
5577 2017-10-09  John Baldwin  <jhb@FreeBSD.org>
5578
5579         * fbsd-nat.c (fbsd_siginfo_size): Use gdbarch_long_bit.
5580         (fbsd_convert_siginfo): Likewise.
5581         * fbsd-tdep.c (fbsd_core_xfer_siginfo): Likewise.
5582
5583 2017-10-09  Simon Marchi  <simon.marchi@polymtl.ca>
5584
5585         * configure.ac (try_guile_versions): Remove guile-2.2.
5586         * configure: Regenerate.
5587
5588 2017-10-09  Tom Tromey  <tom@tromey.com>
5589
5590         * Makefile.in (COMPILE.post, POSTCOMPILE): Restore $(basename).
5591         (COMPILE.pre): Use $(CXX).
5592
5593 2017-10-09  Pedro Alves  <palves@redhat.com>
5594
5595         * cp-support.c (cp_remove_params): Return a gdb::unique_xmalloc_ptr.
5596         Use bool.
5597         (overload_list_add_symbol): Adjust to use gdb::unique_xmalloc_ptr.
5598         * cp-support.h (cp_remove_params): Now returns a
5599         gdb::unique_xmalloc_ptr.
5600         * dwarf2read.c (find_slot_in_mapped_hash): Now returns bool.
5601         Adjust to cp_remove_params returning a gdb::unique_xmalloc_ptr.
5602         * psymtab.c (psymtab_search_name): Adjust to cp_remove_params
5603         returning a gdb::unique_xmalloc_ptr.
5604         (lookup_partial_symbol): Adjust to use gdb::unique_xmalloc_ptr.
5605         * stack.c (find_frame_funname): Adjust to cp_remove_params
5606         returning a gdb::unique_xmalloc_ptr.
5607
5608 2017-10-08  Tom Tromey  <tom@tromey.com>
5609
5610         * dwarf2read.c (dwarf2_get_dwz_file): Use
5611         gdb::unique_xmalloc_ptr.
5612         (find_slot_in_mapped_hash): Likewise.
5613         (dwarf2_physname): Likewise.
5614         (create_dwo_unit_in_dwp_v1): Use std::string.
5615         (create_dwo_unit_in_dwp_v2): Likewise.
5616         (lookup_dwo_cutu): Likewise.
5617         (inherit_abstract_dies): Use std::vector.
5618         (read_array_type): Likewise.
5619         (dwarf_decode_macros): Remove unused declaration.
5620         (unsigned_int_compar): Remove.
5621         (dwarf2_build_psymtabs_hard): Use scoped_restore.
5622         (psymtabs_addrmap_cleanup): Remove.
5623
5624 2017-10-08  Tom Tromey  <tom@tromey.com>
5625
5626         * frame-unwind.c (frame_unwind_try_unwinder): Update.
5627         * frame.h (frame_cleanup_after_sniffer): Declare.
5628         (frame_prepare_for_sniffer): Return void.
5629         * frame.c (frame_cleanup_after_sniffer): No longer static.  Change
5630         type of argument.
5631         (frame_prepare_for_sniffer): Return void.
5632
5633 2017-10-08  Tom Tromey  <tom@tromey.com>
5634
5635         * utils.h (make_cleanup_value_free): Remove.
5636         * utils.c (do_value_free, struct cleanup): Remove.
5637         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full) <DWARF_VALUE_STACK>:
5638         Use gdb_value_up.
5639         * value.h (struct value_deleter): New.
5640         (gdb_value_up): New typedef.
5641
5642 2017-10-08  Tom Tromey  <tom@tromey.com>
5643
5644         * symtab.c (free_search_symbols, do_free_search_symbols_cleanup)
5645         (make_cleanup_free_search_symbols): Remove.
5646         (search_symbols): Return std::vector.
5647         (symbol_search::compare_search_syms): Now member of
5648         symbol_search.  Change arguments.
5649         (sort_search_symbols_remove_dups): Change arguments.  Rewrite.
5650         (symtab_symbol_info, rbreak_command): Update.
5651         * symtab.h (struct symbol_search) <next>: Remove.
5652         Add constructors.
5653         (symbol_search::operator<): New function.
5654         (symbol_search::operator==): New function.
5655         (search_symbols): Remove std::vector.
5656         (free_search_symbols, make_cleanup_free_search_symbols): Remove.
5657         (symbol_search::compare_search_syms): Declare.
5658
5659 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5660
5661         * Makefile.in (ALL_64_TARGET_OBS): Replace aarch64-insn.o with
5662         arch/aarch64-insn.o.
5663         Remove one rule.
5664         * configure.tgt: Replace aarch64-insn.o with arch/aarch64-insn.o.
5665
5666 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5667
5668         * Makefile.in (ALL_TARGET_OBS): Replace arm.o, arm-get-next-pcs.o,
5669         and arm-linux.o with arch/arm.o, arch/arm-get-next-pcs.o and
5670         arch/arm-linux.o respectively.
5671         * configure.tgt: Likewise.
5672
5673 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5674
5675         * Makefile.in (ALL_TARGET_OBS): Rename i386.o to arch/i386.o.
5676         * configure.tgt (i386_tobjs): Replace i386.o with arch/i386.o.
5677
5678 2017-10-06  Pedro Alves  <palves@redhat.com>
5679
5680         * windows-nat.c: Include <algorithm>.
5681
5682 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5683
5684         * configure.tgt (i386_tobjs): New variable.
5685         (amd64_tobjs): New variable.
5686         Set $cpu_obs and $os_obs.
5687
5688 2017-10-06  Yao Qi  <yao.qi@linaro.org>
5689
5690         * Makefile.in (CONFIG_SRC_SUBDIR): New.
5691         (ALL_64_TARGET_OBS): Replace amd64.o with arch/amd64.o.
5692         (clean): Remove object files and dependency files.
5693         (distclean): Remove the directory.
5694         * configure.ac: Invoke AC_CONFIG_COMMANDS.
5695         * configure: Re-generated.
5696         * configure.tgt: Replace amd64.o with arch/amd64.o.
5697
5698 2017-10-05  Jose E. Marchesi  <jose.marchesi@oracle.com>
5699
5700         PR build/22188
5701         * arm-tdep.c (arm_decode_misc_memhint_neon): Fix decoding of CPS
5702         and SETEND.
5703
5704 2017-10-05  Pedro Alves  <palves@redhat.com>
5705
5706         * linux-nat.c (linux_child_follow_fork): When following the parent
5707         and detaching the child, consult the parent thread's architecture
5708         instead of the child's.
5709
5710 2017-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
5711
5712         * ax.h: Do not include "doublest.h".
5713         (union agent_val): Remove.
5714
5715 2017-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
5716
5717         * dfp.h (MAX_DECIMAL_STRING): Move to dfp.c.
5718         (decimal_to_string): Return std::string object.
5719         (decimal_from_string): Accept std::string object.  Return bool.
5720         (decimal_from_integral, decimal_from_doublest): Remove.
5721         (decimal_from_longest): Add prototype.
5722         (decimal_from_ulongest): Likewise.
5723         (decimal_to_longest): Likewise.
5724         (decimal_from_doublest): Likewise.
5725         * dfp.c: Do not include "gdbtypes.h" or "value.h".
5726         (MAX_DECIMAL_STRING): Move here.
5727         (decimal_to_string): Return std::string object.
5728         (decimal_from_string): Accept std::string object.  Return bool.
5729         (decimal_from_integral): Remove, replace by ...
5730         (decimal_from_longest, decimal_from_ulongest): ... these new functions.
5731         (decimal_to_longest): New function.
5732         (decimal_from_floating): Remove, replace by ...
5733         (decimal_from_doublest): ... this new function.
5734         (decimal_to_doublest): Update to new decimal_to_string interface.
5735
5736         * value.c (unpack_long): Use decimal_to_longest.
5737         * valops.c (value_cast): Use decimal_from_doublest instead of
5738         decimal_from_floating.  Use decimal_from_[u]longest isntead of
5739         decimal_from_integral.
5740         * valarith.c (value_args_as_decimal): Likewise.
5741         * valprint.c (print_decimal_floating): Update to new
5742         decimal_to_string interface.
5743         * printcmd.c (printf_decfloat): Likewise.
5744         * c-exp.y (parse_number): Update to new decimal_from_string interface.
5745
5746 2017-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
5747
5748         * doublest.h: Do not include "floatformat.h".  Remove stale comments.
5749         * gdbtypes.c: Include "floatformat.h".
5750         * value.c: Likewise.
5751         * m68k-tdep.c: Likewise.
5752
5753         * findvar.c: Do not include "floatformat.h".
5754         * amd64-darwin-tdep.c: Likewise.
5755         * arm-linux-tdep.c: Likewise.
5756         * i386-darwin-tdep.c: Likewise.
5757         * i387-tdep.c: Likewise.
5758         * m68k-linux-tdep.c: Likewise.
5759         * mep-tdep.c: Likewise.
5760         * mips-tdep.c: Likewise.
5761         * nios2-tdep.c: Likewise.
5762         * s390-linux-tdep.c: Likewise.
5763         * sparc-obsd-tdep.c: Likewise.
5764         * sparc-tdep.c: Likewise.
5765         * sparc64-tdep.c: Likewise.
5766         * spu-tdep.c: Likewise.
5767         * tic6x-tdep.c: Likewise.
5768         * tilegx-tdep.c: Likewise.
5769         * vax-tdep.c: Likewise.
5770         * xstormy16-tdep.c: Likewise.
5771         * xtensa-tdep.c: Likewise.
5772
5773         * top.c: Do not include "doublest.h".
5774         * aarch64-tdep.c: Likewise.
5775         * alpha-tdep.c: Likewise.
5776         * arm-linux-tdep.c: Likewise.
5777         * m68k-linux-tdep.c: Likewise.
5778         * tilegx-tdep.c: Likewise.
5779         * xstormy16-tdep.c: Likewise.
5780
5781 2017-10-05  John Baldwin  <jhb@FreeBSD.org>
5782
5783         * mips-fbsd-tdep.c (MIPS_INST_ADDIU_A0_SP_N32): Define.
5784         (mipsn32_fbsd_sigframe): Define.
5785         (mips_fbsd_init_abi): Install mipsn32_fbsd_sigframe unwinder
5786         for FreeBSD/mipsn32.
5787
5788 2017-10-05  John Baldwin  <jhb@FreeBSD.org>
5789
5790         * fbsd-tdep.c (fbsd_print_auxv_entry): Handle AT_EHDRFLAGS and
5791         AT_HWCAP.
5792
5793 2017-10-05  Tristan Gingold  <tgingold@free.fr>
5794
5795         * MAINTAINERS (Misc): Update my email address.
5796
5797 2017-10-04  Pedro Alves  <palves@redhat.com>
5798
5799         * remote.c (get_remote_arch_state): New 'gdbarch' parameter.  Use
5800         it instead of target_gdbarch.
5801         (get_remote_state, get_remote_packet_size): Adjust
5802         get_remote_arch_state calls, passing down target_gdbarch
5803         explicitly.
5804         (packet_reg_from_regnum, packet_reg_from_pnum): New parameter
5805         'gdbarch' and use it instead of target_gdbarch.
5806         (get_memory_packet_size): Adjust get_remote_arch_state calls,
5807         passing down target_gdbarch explicitly.
5808         (struct stop_reply) <arch>: New field.
5809         (remote_parse_stop_reply): Use the stopped thread's architecture,
5810         not the current inferior's.  Save the architecture in the
5811         stop_reply.
5812         (process_stop_reply): Use the stop reply's architecture.
5813         (process_g_packet, remote_fetch_registers)
5814         (remote_prepare_to_store, store_registers_using_G)
5815         (remote_store_registers): Adjust get_remote_arch_state calls,
5816         using the regcache's architecture.
5817         (remote_get_trace_status): Adjust get_remote_arch_state calls,
5818         passing down target_gdbarch explicitly.
5819         * spu-multiarch.c (spu_thread_architecture): Defer to the target
5820         beneath instead of calling target_gdbarch.
5821         * target.c (default_thread_architecture): Use the specified
5822         inferior's architecture, instead of the current inferior's
5823         architecture (via target_gdbarch).
5824
5825 2017-10-04  Pedro Alves  <palves@redhat.com>
5826
5827         * regcache.c (get_thread_arch_regcache): Remove null_ptid special
5828         case.
5829         (regcache_print): Handle !target_has_registers here instead.
5830
5831 2017-10-04  Pedro Alves  <palves@redhat.com>
5832
5833         * frame.c (create_test_frame): Delete.
5834         * frame.h (create_test_frame): Delete.
5835         * gdbarch-selftests.c: Include gdbthread.h and target.h.
5836         (class regcache_test): Delete.
5837         (test_target_has_registers, test_target_has_stack)
5838         (test_target_has_memory, test_target_prepare_to_store)
5839         (test_target_store_registers): New functions.
5840         (test_target_ops): New class.
5841         (register_to_value_test): Error out if there's already a
5842         process_stratum (or higher) target pushed.  Create a fuller mock
5843         environment, with mock target_ops, inferior, address space, thread
5844         and inferior_ptid.
5845         * progspace.c (struct address_space): Move to ...
5846         * progspace.h (struct address_space): ... here.
5847         * regcache.h (regcache::~regcache, regcache::raw_write)
5848         [GDB_SELF_TEST]: No longer virtual.
5849
5850 2017-10-04  Simon Marchi  <simon.marchi@ericsson.com>
5851
5852         * mi/mi-main.c (list_available_thread_groups): Reverse filter logic.
5853
5854 2017-10-04  Pedro Alves  <palves@redhat.com>
5855
5856         * guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Move code
5857         out of 'between TRY and CATCH'.
5858
5859 2017-10-04  Pedro Alves  <palves@redhat.com>
5860
5861         * cli/cli-cmds.c (complete_command): Add missing END_CATCH.
5862         * common/common-exceptions.h (TRY): Open an outermost scope.
5863         Expand intro comment.
5864         (CATCH): Reindent.
5865         (END_CATCH): Close the outermost scope.
5866         * completer.c (complete_line_internal): Add missing END_CATCH.
5867
5868 2017-10-04  Sergio Durigan Junior  <sergiodj@redhat.com>
5869
5870         * NEWS (Changes since GDB 8.0): Add entry about new
5871         'set-cwd-on-gdbserver' feature.
5872         (New remote packets): Add entry for QSetWorkingDir.
5873         * common/common-inferior.h (set_inferior_cwd): New prototype.
5874         * infcmd.c (set_inferior_cwd): Remove "static".
5875         (show_cwd_command): Expand text to include remote debugging.
5876         * remote.c: Add PACKET_QSetWorkingDir.
5877         (remote_protocol_features) <QSetWorkingDir>: New entry for
5878         PACKET_QSetWorkingDir.
5879         (extended_remote_set_inferior_cwd): New function.
5880         (extended_remote_create_inferior): Call
5881         "extended_remote_set_inferior_cwd".
5882         (_initialize_remote): Call "add_packet_config_cmd" for
5883         QSetWorkingDir.
5884
5885 2017-10-04  Sergio Durigan Junior  <sergiodj@redhat.com>
5886
5887         * NEWS (New commands): Mention "set/show cwd".
5888         * cli/cli-cmds.c (_initialize_cli_cmds): Mention "set cwd" on
5889         "cd" command's help text.
5890         * common/common-inferior.h (get_inferior_cwd): New prototype.
5891         * infcmd.c (inferior_cwd_scratch): New global variable.
5892         (set_inferior_cwd): New function.
5893         (get_inferior_cwd): Likewise.
5894         (set_cwd_command): Likewise.
5895         (show_cwd_command): Likewise.
5896         (_initialize_infcmd): Add "set/show cwd" commands.
5897         * inferior.h (class inferior) <cwd>: New field.
5898         * nat/fork-inferior.c: Include "gdb_tilde_expand.h".
5899         (fork_inferior): Change inferior's cwd before its execution.
5900         * windows-nat.c (windows_create_inferior): Pass inferior's cwd
5901         to CreateProcess.
5902
5903 2017-10-04  Sergio Durigan Junior  <sergiodj@redhat.com>
5904
5905         * Makefile.in (SFILES): Add gdb_tilde_expand.c.
5906         (HFILES_NO_SRCDIR): Add gdb_tilde_expand.h.
5907         (COMMON_OBS): Add gdb_tilde_expand.o.
5908         * common/gdb_tilde_expand.c: New file.
5909         * common/gdb_tilde_expand.h: Likewise.
5910
5911 2017-10-03  Maciej W. Rozycki  <macro@imgtec.com>
5912
5913         * gdbarch.sh (objfile): Remove duplicate declaration.
5914         * gdbarch.h: Regenerate.
5915
5916 2017-10-03  Tom Tromey  <tom@tromey.com>
5917
5918         * utils.c (internal_vproblem): Use string_vprintf.
5919
5920 2017-10-03  Tom Tromey  <tom@tromey.com>
5921
5922         * printcmd.c (info_symbol_command): Use std::string.
5923
5924 2017-10-03  Tom Tromey  <tom@tromey.com>
5925
5926         * top.c (gdb_safe_append_history): Use std::string.
5927
5928 2017-10-03  Tom Tromey  <tom@tromey.com>
5929
5930         * event-top.c (stdin_event_handler): Update.
5931         * main.c (captured_main_1): Update.
5932         * top.h (make_delete_ui_cleanup): Remove.
5933         (struct ui): Add constructor and destructor.
5934         (new_ui, delete_ui): Remove.
5935         * top.c (make_delete_ui_cleanup): Remove.
5936         (new_ui_command): Use std::unique_ptr.
5937         (delete_ui_cleanup): Remove.
5938         (ui::ui): Rename from new_ui.  Update.
5939         (free_ui): Remove.
5940         (ui::~ui): Rename from delete_ui.  Update.
5941
5942 2017-10-03  Tom Tromey  <tom@tromey.com>
5943
5944         * symfile.c (load_progress): Use gdb::byte_vector.
5945
5946 2017-10-03  Tom Tromey  <tom@tromey.com>
5947
5948         * mi/mi-main.c (mi_cmd_trace_frame_collected): Remove unused
5949         declaration.
5950         * printcmd.c (x_command): Remove unused declaration.
5951         * symfile.c (symbol_file_command): Remove unused declaration.
5952
5953 2017-10-03  Tom Tromey  <tom@tromey.com>
5954
5955         * utils.c (internal_vproblem): Use std::string.
5956         (defaulted_query): Likewise.
5957
5958 2017-10-03  Tom Tromey  <tom@tromey.com>
5959
5960         * guile/scm-ports.c (ioscm_with_output_to_port_worker): Update.
5961         * top.c (execute_command_to_string): Update.
5962         * utils.c (make_cleanup_restore_page_info): Remove.
5963         (do_restore_page_info_cleanup): Remove.
5964         (set_batch_flag_and_restore_page_info):
5965         New.
5966         (make_cleanup_restore_page_info): Remove.
5967         (set_batch_flag_and_make_cleanup_restore_page_info): Remove.
5968         (~set_batch_flag_and_restore_page_info): New
5969         (make_cleanup_restore_uinteger): Remove.
5970         (make_cleanup_restore_integer): Remove.
5971         (struct restore_integer_closure): Remove.
5972         (restore_integer): Remove.
5973         * utils.h (struct set_batch_flag_and_restore_page_info): New
5974         class.
5975         (set_batch_flag_and_make_cleanup_restore_page_info): Remove.
5976         (make_cleanup_restore_page_info): Remove.
5977         (make_cleanup_restore_uinteger) Remove.
5978         (make_cleanup_restore_integer) Remove.
5979
5980 2017-10-03  Tom Tromey  <tom@tromey.com>
5981
5982         * record-full.h (record_full_gdb_operation_disable_set): Return
5983         scoped_restore_tmpl<int>.
5984         * infrun.c (adjust_pc_after_break): Update.
5985         (handle_signal_stop): Update.
5986         * record-full.c (record_full_gdb_operation_disable_set): Return
5987         scoped_restore_tmpl<int>.
5988         (record_full_wait_1, record_full_insert_breakpoint)
5989         (record_full_remove_breakpoint, record_full_save)
5990         (record_full_goto_insn): Update.
5991
5992 2017-10-02  Tom Tromey  <tom@tromey.com>
5993
5994         PR rust/22236:
5995         * rust-lang.c (rust_val_print_str): New function.
5996         (val_print_struct): Call it.
5997         (rust_subscript): Preserve name of slice type.
5998
5999 2017-10-02  Tom Tromey  <tom@tromey.com>
6000
6001         * rust-lang.c (rust_subscript): Handle slices in
6002         EVAL_AVOID_SIDE_EFFECTS case.
6003
6004 2017-10-02  Tom Tromey  <tom@tromey.com>
6005
6006         * rust-lang.c (rust_slice_type_p): Recognize &str as a slice type.
6007
6008 2017-10-02  Tom Tromey  <tom@tromey.com>
6009
6010         * rust-lang.h (rust_slice_type): Add "extern".
6011
6012 2017-10-02  Tom Tromey  <tom@tromey.com>
6013             Pedro Alves  <palves@redhat.com>
6014
6015         * ada-lang.h (ada_exc_info::operator<): Make const.
6016         (ada_exc_info::operator==): Make const.
6017         * ada-lang.c (ada_exc_info::operator<, ada_exc_info::operator==):
6018         Make const.
6019
6020 2017-09-29  Tom Tromey  <tom@tromey.com>
6021
6022         * target.c (read_whatever_is_readable): Change type of "result".
6023         Update.
6024         (free_memory_read_result_vector): Remove.
6025         (read_memory_robust): Change return type.  Update.
6026         * mi/mi-main.c (mi_cmd_data_read_memory_bytes): Update.  Use
6027         bin2hex, std::string.
6028         * target.h (memory_read_result_s): Remove typedef.
6029         (free_memory_read_result_vector): Remove.
6030         (read_memory_robust): Return std::vector.
6031
6032 2017-09-29  Tom Tromey  <tom@tromey.com>
6033
6034         * mi/mi-main.c (captured_mi_execute_command): Use scope_restore.
6035
6036 2017-09-29  Tom Tromey  <tom@tromey.com>
6037
6038         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions): Update.
6039         * ada-lang.h (struct ada_exc_info): Remove typedef.  Declare
6040         operator< and operator==.
6041         (ada_exceptions_list): Return a std::vector.
6042         * ada-lang.c (ada_exc_info::operator<): Rename from
6043         compare_ada_exception_info.
6044         (ada_exc_info::operator==): New.
6045         (sort_remove_dups_ada_exceptions_list): Change type of
6046         "exceptions".
6047         (ada_add_standard_exceptions, ada_add_exceptions_from_frame)
6048         (ada_add_global_exceptions): Likewise.
6049         (ada_exceptions_list_1): Return a std::vector.
6050         (ada_exceptions_list): Likewise.
6051
6052 2017-09-29  Tom Tromey  <tom@tromey.com>
6053
6054         * mi/mi-main.c (struct print_one_inferior_data) <inferiors>: Now a
6055         'std::set *'.
6056         (print_one_inferior): Update.
6057         (free_vector_of_ints): Remove.
6058         (list_available_thread_groups): Change "ids" to std::set.
6059         (mi_cmd_list_thread_groups): Update.
6060         (struct collect_cores_data) <core>: Now a std::set.
6061         (collect_cores): Update.
6062         (unique): Remove.
6063         (print_one_inferior): Update.
6064
6065 2017-09-29  Tom Tromey  <tom@tromey.com>
6066
6067         * mi/mi-main.c (mi_execute_cli_command): Use std::string.
6068         (mi_execute_async_cli_command): Likewise.
6069         (mi_cmd_trace_frame_collected): Use field_fmt.
6070
6071 2017-09-29  Tom Tromey  <tom@tromey.com>
6072
6073         * mi/mi-main.c (mi_cmd_data_write_memory_bytes): Use
6074         gdb::byte_vector.
6075
6076 2017-09-29  Tom Tromey  <tom@tromey.com>
6077
6078         * mi/mi-parse.c (mi_parse): Remove unused declaration.
6079
6080 2017-09-29  Tom Tromey  <tom@tromey.com>
6081
6082         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Don't copy "oarg".
6083
6084 2017-09-29  Tom Tromey  <tom@tromey.com>
6085
6086         * varobj.h (varobj_gen_name): Return std::string.
6087         * varobj.c (varobj_gen_name): Return std::string.
6088         * mi/mi-cmd-var.c (mi_cmd_var_create): Use std::string.
6089         (mi_cmd_var_delete): Don't copy "name".
6090
6091 2017-09-29  Tom Tromey  <tom@tromey.com>
6092
6093         * mi/mi-cmd-break.c (mi_argv_to_format): Return std::string.
6094         (mi_cmd_break_insert_1): Update.
6095
6096 2017-09-29  Tom Tromey  <tom@tromey.com>
6097
6098         * target.h (make_scoped_defer_target_commit_resume): Update.
6099         * target.c (make_scoped_defer_target_commit_resume): Rename from
6100         make_cleanup_defer_target_commit_resume.  Return a
6101         scoped_restore.
6102         * infrun.c (proceed): Use make_scoped_defer_target_commit_resume.
6103
6104 2017-09-29  Tom Tromey  <tom@tromey.com>
6105
6106         * main.c (captured_main_1): Remove unused declaration.
6107         * spu-multiarch.c (parse_spufs_run): Remove unused declaration.
6108
6109 2017-09-29  Tom Tromey  <tom@tromey.com>
6110
6111         * symtab.c (search_symbols): Remove unused outer cleanup.
6112         (make_source_files_completion_list): Remove unused declaration.
6113
6114 2017-09-29  Tom Tromey  <tom@tromey.com>
6115
6116         * mt-tdep.c (mt_push_dummy_call): Use gdb::byte_vector.
6117
6118 2017-09-29  Tom Tromey  <tom@tromey.com>
6119
6120         * xstormy16-tdep.c (xstormy16_push_dummy_call): Use
6121         gdb::byte_vector.
6122
6123 2017-09-29  Tom Tromey  <tom@tromey.com>
6124
6125         * complaints.c (vcomplaint): Use std::string.
6126
6127 2017-09-29  Tom Tromey  <tom@tromey.com>
6128
6129         * tracepoint.c (trace_variable_command): Use std::string.
6130         (encode_actions_1): Remove unused declarations.
6131         (create_tsv_from_upload): Use std::string.
6132
6133 2017-09-29  Tom Tromey  <tom@tromey.com>
6134
6135         * cp-support.c (gdb_demangle): Use std::string.
6136
6137 2017-09-29  Tom Tromey  <tom@tromey.com>
6138
6139         * stack.c (parse_frame_specification): Use std::string
6140         (info_frame_command): Use gdb::unique_xmalloc_ptr.
6141
6142 2017-09-29  Tom Tromey  <tom@tromey.com>
6143
6144         * tilegx-tdep.c (tilegx_push_dummy_call): Use gdb::byte_vector.
6145
6146 2017-09-29  Tom Tromey  <tom@tromey.com>
6147
6148         * utils.c (vfprintf_maybe_filtered): Use std::string.
6149         (vfprintf_unfiltered): Likewise.
6150
6151 2017-09-29  Tom Tromey  <tom@tromey.com>
6152
6153         * event-top.c (top_level_prompt): Return std::string.
6154         (display_gdb_prompt): Update.
6155
6156 2017-09-29  Tom Tromey  <tom@tromey.com>
6157
6158         * unittests/common-utils-selftests.c (format): New function.
6159         (string_vprintf_tests): New function.
6160         (_initialize_common_utils_selftests): Register new tests.
6161         * common/common-utils.c (string_vprintf): New function.
6162         * common/common-utils.h (string_vprintf): Declare.
6163
6164 2017-09-29  Pedro Alves  <palves@redhat.com>
6165
6166         * common/rsp-low.c (unpack_varlen_hex): Constify.
6167         * common/rsp-low.h (unpack_varlen_hex): Constify.
6168         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
6169         Constify.
6170         * remote.c (remote_set_permissions, read_ptid)
6171         (remote_current_thread, remote_get_threads_with_qthreadinfo)
6172         (remote_static_tracepoint_marker_at)
6173         (remote_static_tracepoint_markers_by_strid)
6174         (stop_reply_extract_thread, remote_parse_stop_reply): Constify.
6175         * tracepoint.c (parse_trace_status, parse_tracepoint_status)
6176         (parse_tracepoint_definition, parse_tsv_definition)
6177         (parse_static_tracepoint_marker_definition): Constify.
6178         * tracepoint.h (parse_static_tracepoint_marker_definition)
6179         (parse_trace_status, parse_tracepoint_status)
6180         (parse_tracepoint_definition, parse_tsv_definition): Constify.
6181
6182 2017-09-29  Pedro Alves  <palves@redhat.com>
6183
6184         * remote.c (target_buf, target_buf_size): Delete.
6185         (remote_get_noisy_reply): Remove buf_p and sizeof_buf parameters.
6186         Use the connection's packet buffer instead.
6187         All callers adjusted.
6188         (_initialize_remote): Remove references to target_buf and
6189         target_buf_size.
6190
6191 2017-09-28  Pedro Alves  <palves@redhat.com>
6192
6193         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
6194         unittests/common-utils-selftests.c.
6195         (SUBDIR_UNITTESTS_OBS): Add common-utils-selftests.o.
6196         (COMMON_OBS): Remove utils-selftests.o.
6197         * utils-selftests.c: Move to ...
6198         * unittests/common-utils-selftests.c: ... here and rename self
6199         test to "string_printf".
6200
6201 2017-09-28  Alexander Shaposhnikov <alexander.v.shaposhnikov@gmail.com> (tiny patch)
6202
6203         * dwarf2read.c (open_and_init_dwp_file): Protect against dwp_file
6204         having NULL cus or tus.
6205
6206 2017-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
6207
6208         * arm-tdep.c: (convert_from_extended): Remove.
6209         (convert_to_extended): Likewise.
6210         (arm_extract_return_value): Use convert_typed_floating.
6211         (arm_store_return_value): Likewise.
6212
6213         * sh-tdep.h (struct gdbarch_tdep): Add sh_littlebyte_bigword_type.
6214         * sh-tdep.c: Do not include "floatformat.h".
6215         (sh_littlebyte_bigword_type): New function.
6216         (sh_register_convert_to_virtual): Use convert_typed_floating.
6217         (sh_register_convert_to_raw): Likewise.
6218         * sh64-tdep.c: (struct gdbarch_tdep): Add sh_littlebyte_bigword_type.
6219         (sh64_littlebyte_bigword_type): New function.
6220         (sh64_extract_return_value): Use convert_typed_floating.
6221         (sh64_register_convert_to_virtual): Likewise.
6222         (sh64_register_convert_to_raw): Likewise.
6223
6224 2017-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
6225
6226         * doublest.h (floatformat_from_type): Move to gdbtypes.h.
6227         * doublest.c (floatformat_from_type): Move to gdbtypes.c.
6228
6229         * gdbtypes.h (union type_specific): Make field floatformat hold
6230         just a single struct floatformat, not an array.
6231         (floatformat_from_type): Move here.
6232         * gdbtypes.c (floatformat_from_type): Move here.  Update to
6233         changed TYPE_FLOATFORMAT definition.
6234         (verify_floatformat): Update to changed TYPE_FLOATFORMAT.
6235         (recursive_dump_type): Likewise.
6236         (init_float_type): Install correct floatformat for byte order.
6237         (arch_float_type): Likewise.
6238
6239 2017-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
6240
6241         * gdbtypes.c (init_type): Change incoming argument from
6242         length-in-bytes to length-in-bits.  Assert length is a
6243         multiple of TARGET_CHAR_BITS.
6244         (arch_type, arch_flags_type): Likewise.
6245         (init_integer_type): Update call to init_type.
6246         (init_character_type): Likewise.
6247         (init_boolean_type): Likewise.
6248         (init_float_type): Likewise.
6249         (init_decfloat_type): Likewise.
6250         (init_complex_type): Likewise.
6251         (init_pointer_type): Likewise.
6252         (objfile_type): Likewise.
6253         (arch_integer_type): Update call to arch_type.
6254         (arch_character_type): Likewise.
6255         (arch_boolean_type): Likewise.
6256         (arch_float_type): Likewise.
6257         (arch_decfloat_type): Likewise.
6258         (arch_complex_type): Likewise.
6259         (arch_pointer_type): Likewise.
6260         (gdbtypes_post_init): Likewise.
6261
6262         * dwarf2read.c (dwarf2_init_float_type): Update call to init_type.
6263         (read_base_type): Likewise.
6264         * mdebugread.c (basic_type): Likewise.
6265         * stabsread.c (dbx_init_float_type): Likewise.
6266         (rs6000_builtin_type): Likewise.
6267         (read_range_type): Likewise.  Also, fix call to init_integer_type
6268         with erroneous length argument.
6269
6270         * ada-lang.c (ada_language_arch_info): Update call to arch_type.
6271         * d-lang.c (build_d_types): Likewise.
6272         * f-lang.c (build_fortran_types): Likewise.
6273         * go-lang.c (build_go_types): Likewise.
6274         * opencl-lang.c (build_opencl_types): Likewise.
6275         * jit.c (finalize_symtab): Likewise.
6276         * gnu-v3-abi.c (build_gdb_vtable_type): Likewise.
6277         (build_std_type_info_type): Likewise.
6278         * target-descriptions.c (tdesc_gdb_type): Likewise.  Also,
6279         update call to arch_flags_type.
6280
6281         * linux-tdep.c (linux_get_siginfo_type_with_fields): Update call to
6282         arch_type.
6283         * fbsd-tdep.c (fbsd_get_siginfo_type): Likewise.
6284         * windows-tdep.c (windows_get_tlb_type): Likewise.
6285
6286         * avr-tdep.c (avr_gdbarch_init): Update call to arch_type.
6287         * ft32-tdep.c (ft32_gdbarch_init): Likewise.
6288         * m32c-tdep.c (make_types): Likewise.
6289         * rl78-tdep.c (rl78_gdbarch_init): Likewise.
6290         (rl78_psw_type): Update call to arch_flags_type.
6291         * m68k-tdep.c (m68k_ps_type): Update call to arch_flags_type.
6292         * rx-tdep.c (rx_psw_type): Likewise.
6293         (rx_fpsw_type): Likewise.
6294         * sparc-tdep.c (sparc_psr_type): Likewise.
6295         (sparc_fsr_type): Likewise.
6296         * sparc64-tdep.c (sparc64_pstate_type): Likewise.
6297         (sparc64_ccr_type): Likewise.
6298         (sparc64_fsr_type): Likewise.
6299         (sparc64_fprs_type): Likewise.
6300
6301 2017-09-27  Tom Tromey  <tom@tromey.com>
6302
6303         * findcmd.c (find_command): Constify.
6304
6305 2017-09-27  Tom Tromey  <tom@tromey.com>
6306
6307         * ada-tasks.c (task_command_1, task_command): Constify.
6308
6309 2017-09-27  Tom Tromey  <tom@tromey.com>
6310
6311         * symtab.c (maintenance_print_symbol_cache)
6312         (maintenance_flush_symbol_cache)
6313         (maintenance_print_symbol_cache_statistics): Constify.
6314
6315 2017-09-27  Tom Tromey  <tom@tromey.com>
6316
6317         * inferior.c (detach_inferior_command, kill_inferior_command)
6318         (inferior_command): Constify.
6319
6320 2017-09-27  Tom Tromey  <tom@tromey.com>
6321
6322         * regcache.c (regcache_print, maintenance_print_registers)
6323         (maintenance_print_raw_registers)
6324         (maintenance_print_cooked_registers)
6325         (maintenance_print_register_groups)
6326         (maintenance_print_remote_registers): Constify.
6327
6328 2017-09-27  Tom Tromey  <tom@tromey.com>
6329
6330         * printcmd.c (map_display_numbers, undisplay_command)
6331         (enable_disable_display_command, enable_display_command)
6332         (disable_display_command): Constify.
6333
6334 2017-09-27  Tom Tromey  <tom@tromey.com>
6335
6336         * breakpoint.h (delete_command): Don't declare.
6337         * breakpoint.c (delete_command, enable_once_command)
6338         (enable_count_command, enable_delete_command, breakpoint_1)
6339         (maintenance_info_breakpoints, stopin_command, stopat_command)
6340         (delete_command, delete_trace_command, save_breakpoints)
6341         (save_breakpoints_command, save_tracepoints_command): Constify.
6342
6343 2017-09-27  Tom Tromey  <tom@tromey.com>
6344
6345         * macrocmd.c (macro_expand_command, macro_expand_once_command)
6346         (skip_ws, extract_identifier, macro_define_command)
6347         (macro_undef_command, macro_list_command): Constify.
6348
6349 2017-09-27  Tom Tromey  <tom@tromey.com>
6350
6351         * infcmd.c (environment_info, set_environment_command)
6352         (unset_environment_command, path_info, info_proc_cmd_1)
6353         (info_proc_cmd_mappings, info_proc_cmd_stat)
6354         (info_proc_cmd_status, info_proc_cmd_cwd, info_proc_cmd_cmdline)
6355         (info_proc_cmd_exe, info_proc_cmd_all): Constify.
6356
6357 2017-09-27  Tom Tromey  <tom@tromey.com>
6358
6359         * i386-tdep.c (i386_mpx_info_bounds, i386_mpx_set_bounds):
6360         Constify.
6361
6362 2017-09-27  Tom Tromey  <tom@tromey.com>
6363
6364         * symfile-mem.c (add_symbol_file_from_memory_command): Constify.
6365
6366 2017-09-27  Tom Tromey  <tom@tromey.com>
6367
6368         * demangle.c (demangle_command): Constify.
6369
6370 2017-09-27  Tom Tromey  <tom@tromey.com>
6371
6372         * progspace.c (maintenance_info_program_spaces_command):
6373         Constify.
6374
6375 2017-09-27  Tom Tromey  <tom@tromey.com>
6376
6377         * compile/compile.c (check_raw_argument, compile_file_command)
6378         (compile_code_command, compile_print_command): Constify.
6379
6380 2017-09-27  Tom Tromey  <tom@tromey.com>
6381
6382         * reggroups.c (maintenance_print_reggroups): Constify.
6383
6384 2017-09-27  Tom Tromey  <tom@tromey.com>
6385
6386         * dwarf2read.c (save_gdb_index_command): Constify.
6387
6388 2017-09-27  Tom Tromey  <tom@tromey.com>
6389
6390         * stap-probe.c (info_probes_stap_command): Constify.
6391
6392 2017-09-27  Tom Tromey  <tom@tromey.com>
6393
6394         * fork-child.c (unset_exec_wrapper_command): Constify.
6395
6396 2017-09-27  Tom Tromey  <tom@tromey.com>
6397
6398         * btrace.c (get_uint, get_context_size, no_chunk)
6399         (maint_btrace_packet_history_cmd)
6400         (maint_btrace_clear_packet_history_cmd, maint_btrace_clear_cmd)
6401         (maint_info_btrace_cmd): Constify.
6402
6403 2017-09-27  Tom Tromey  <tom@tromey.com>
6404
6405         * reverse.c (delete_bookmark_command): Constify.
6406
6407 2017-09-27  Tom Tromey  <tom@tromey.com>
6408
6409         * remote.c (set_memory_packet_size)
6410         (set_memory_write_packet_size, show_memory_write_packet_size)
6411         (set_memory_read_packet_size, show_memory_read_packet_size)
6412         (compare_sections_command, packet_command, remote_put_command)
6413         (remote_get_command, remote_delete_command): Constify.
6414
6415 2017-09-27  Tom Tromey  <tom@tromey.com>
6416
6417         * mips-tdep.c (show_mipsfpu_command, set_mipsfpu_single_command)
6418         (set_mipsfpu_double_command, set_mipsfpu_none_command)
6419         (set_mipsfpu_auto_command): Constify.
6420
6421 2017-09-27  Tom Tromey  <tom@tromey.com>
6422
6423         * cli/cli-cmds.h (cd_command): Constify.
6424         * cli/cli-cmds.c (cd_command): Constify.
6425
6426 2017-09-27  Tom Tromey  <tom@tromey.com>
6427
6428         * thread.c (thread_name_command, thread_find_command): Constify.
6429
6430 2017-09-27  Tom Tromey  <tom@tromey.com>
6431
6432         * probe.c (enable_probes_command, disable_probes_command):
6433         Constify.
6434
6435 2017-09-27  Tom Tromey  <tom@tromey.com>
6436
6437         * symfile.c (symbol_file_command): Constify.
6438         * gdbcore.h (deprecated_file_changed_hook): Constify.
6439         * exec.c (deprecated_file_changed_hook, exec_file_command)
6440         (file_command): Constify.
6441         * defs.h (symbol_file_command): Constify.
6442
6443 2017-09-27  Tom Tromey  <tom@tromey.com>
6444
6445         * remote-fileio.c (set_system_call_allowed)
6446         (show_system_call_allowed): Constify.
6447
6448 2017-09-27  Tom Tromey  <tom@tromey.com>
6449
6450         * tracepoint.c (delete_trace_variable_command)
6451         (tfind_end_command, tfind_start_command, tfind_pc_command)
6452         (tfind_tracepoint_command, tfind_line_command)
6453         (tfind_range_command, tfind_outside_command): Constify.
6454
6455 2017-09-27  Tom Tromey  <tom@tromey.com>
6456
6457         * ax-gdb.c (maint_agent_printf_command, agent_command)
6458         (agent_eval_command): Constify.
6459
6460 2017-09-27  Tom Tromey  <tom@tromey.com>
6461
6462         * tracepoint.c (info_scope_command): Constify.
6463         * python/python.c (gdbpy_decode_line): Constify.
6464         * python/py-breakpoint.c (bppy_init): Constify.
6465         * mi/mi-cmd-break.c (mi_cmd_break_insert_1): Constify.
6466         * location.h: (new_linespec_location)
6467         (string_to_event_location_basic, string_to_event_location):
6468         Constify.
6469         * location.c (new_linespec_location)
6470         (string_to_event_location_basic, string_to_event_location):
6471         Constify.
6472         * linespec.h (decode_line_with_current_source)
6473         (decode_line_with_last_displayed, linespec_lex_to_end): Constify.
6474         * linespec.c (linespec_lex_to_end)
6475         (decode_line_with_current_source)
6476         (decode_line_with_last_displayed): Constify.
6477         * guile/scm-breakpoint.c (gdbscm_register_breakpoint_x):
6478         Constify.
6479         * cli/cli-cmds.c (edit_command, list_command): Constify.
6480         * breakpoint.h (until_break_command, watch_command_wrapper)
6481         (awatch_command_wrapper, rwatch_command_wrapper)
6482         (init_ada_exception_breakpoint): Constify.
6483         * breakpoint.c (break_command_1, dprintf_command)
6484         (break_range_command, watch_command_wrapper)
6485         (rwatch_command_wrapper, awatch_command_wrapper)
6486         (until_break_command, init_ada_exception_breakpoint)
6487         (strace_marker_create_sals_from_location, trace_command)
6488         (ftrace_command, strace_command, struct tracepoint): Constify.
6489         * ax-gdb.c (agent_command_1): Constify.
6490         * ada-lang.c (ada_exception_sal): Constify.
6491
6492 2017-09-27  Tom Tromey  <tom@tromey.com>
6493
6494         * record.c (cmd_record_delete, cmd_record_stop, cmd_record_save)
6495         (cmd_record_goto_begin, cmd_record_goto_end, get_insn_number)
6496         (get_context_size, no_chunk, get_insn_history_modifiers)
6497         (cmd_record_insn_history, get_call_history_modifiers)
6498         (cmd_record_call_history): Constify.
6499
6500 2017-09-27  Tom Tromey  <tom@tromey.com>
6501
6502         * source.c (show_substitute_path_command)
6503         (unset_substitute_path_command, set_substitute_path_command):
6504         Constify.
6505
6506 2017-09-27  Tom Tromey  <tom@tromey.com>
6507
6508         * typeprint.c (maintenance_print_type): Constify.
6509         * maint.c (maintenance_dump_me, maintenance_demangle)
6510         (maintenance_time_display, maintenance_info_sections)
6511         (maintenance_print_statistics, maintenance_deprecate)
6512         (maintenance_undeprecate): Constify.
6513         (maintenance_do_deprecate): Constify.  Use std::string.
6514         (maintenance_selftest): Constify.
6515         * gdbtypes.h (maintenance_print_type): Constify.
6516
6517 2017-09-27  Tom Tromey  <tom@tromey.com>
6518
6519         * hppa-tdep.c (unwind_command): Constify.
6520
6521 2017-09-27  Tom Tromey  <tom@tromey.com>
6522
6523         * target-descriptions.c (unset_tdesc_filename_cmd)
6524         (maint_print_c_tdesc_cmd, maintenance_check_xml_descriptions):
6525         Constify.
6526
6527 2017-09-27  Tom Tromey  <tom@tromey.com>
6528
6529         * dummy-frame.c (maintenance_print_dummy_frames): Constify.
6530
6531 2017-09-27  Tom Tromey  <tom@tromey.com>
6532
6533         * tui/tui.c (tui_enable_command, tui_disable_command): Constify.
6534
6535 2017-09-27  Tom Tromey  <tom@tromey.com>
6536
6537         * tui/tui-regs.c (tui_reg_command): Constify.
6538
6539 2017-09-27  Tom Tromey  <tom@tromey.com>
6540
6541         * skip.c (skip_file_command, skip_function_command)
6542         (skip_enable_command, skip_disable_command, skip_delete_command):
6543         Constify.
6544
6545 2017-09-27  Tom Tromey  <tom@tromey.com>
6546
6547         * record-btrace.c (cmd_record_btrace_bts_start)
6548         (cmd_record_btrace_pt_start): Constify.
6549
6550 2017-09-27  Tom Tromey  <tom@tromey.com>
6551
6552         * symmisc.c (maintenance_print_symbols)
6553         (maintenance_print_msymbols, maintenance_print_objfiles)
6554         (maintenance_info_symtabs, maintenance_check_symtabs)
6555         (maintenance_expand_symtabs, maintenance_info_line_tables):
6556         Constify.
6557
6558 2017-09-27  Tom Tromey  <tom@tromey.com>
6559
6560         * top.c (new_ui_command): Constify.
6561
6562 2017-09-27  Tom Tromey  <tom@tromey.com>
6563
6564         * symfile.c (add_symbol_file_command)
6565         (remove_symbol_file_command, list_overlays_command)
6566         (map_overlay_command, unmap_overlay_command)
6567         (overlay_auto_command, overlay_manual_command)
6568         (overlay_off_command, overlay_load_command): Constify.
6569
6570 2017-09-27  Tom Tromey  <tom@tromey.com>
6571
6572         * spu-tdep.c (info_spu_event_command, info_spu_signal_command)
6573         (info_spu_mailbox_command, info_spu_dma_command)
6574         (info_spu_proxydma_command): Constify.
6575
6576 2017-09-27  Tom Tromey  <tom@tromey.com>
6577
6578         * cli/cli-logging.c (set_logging_on, set_logging_off): Constify.
6579
6580 2017-09-27  Tom Tromey  <tom@tromey.com>
6581
6582         * cli/cli-script.c (user_defined_command): Constify.
6583
6584 2017-09-27  Tom Tromey  <tom@tromey.com>
6585
6586         * cli/cli-dump.c (dump_memory_command, dump_value_command)
6587         (dump_srec_memory, dump_srec_value, dump_ihex_memory)
6588         (dump_ihex_value, dump_verilog_memory, dump_verilog_value)
6589         (dump_tekhex_memory, dump_tekhex_value, dump_binary_memory)
6590         (dump_binary_value, append_binary_memory, append_binary_value):
6591         Constify.
6592         (struct dump_context) <func>: Constify.
6593         (add_dump_command): Update.
6594
6595 2017-09-27  Tom Tromey  <tom@tromey.com>
6596
6597         * cli/cli-cmds.c (show_version, show_configuration)
6598         (source_command, show_user): Constify.
6599
6600 2017-09-27  Tom Tromey  <tom@tromey.com>
6601
6602         * target.c (maintenance_print_target_stack): Constify.
6603
6604 2017-09-27  Tom Tromey  <tom@tromey.com>
6605
6606         * interps.c (interpreter_exec_cmd): Constify.
6607
6608 2017-09-27  Tom Tromey  <tom@tromey.com>
6609
6610         * record-full.c (cmd_record_full_restore): Constify.
6611
6612 2017-09-27  Tom Tromey  <tom@tromey.com>
6613
6614         * memattr.c (enable_mem_command, disable_mem_command)
6615         (delete_mem_command): Constify.
6616
6617 2017-09-27  Tom Tromey  <tom@tromey.com>
6618
6619         * value.c (show_convenience): Constify.
6620
6621 2017-09-27  Tom Tromey  <tom@tromey.com>
6622
6623         * gdbcore.h (core_file_command): Update.
6624         * corefile.c (core_file_command): Constify.
6625
6626 2017-09-27  Tom Tromey  <tom@tromey.com>
6627
6628         * user-regs.c (maintenance_print_user_registers): Constify.
6629
6630 2017-09-27  Tom Tromey  <tom@tromey.com>
6631
6632         * cp-namespace.c (maintenance_cplus_namespace): Constify.
6633
6634 2017-09-27  Tom Tromey  <tom@tromey.com>
6635
6636         * cp-support.c (first_component_command): Constify.
6637
6638 2017-09-27  Tom Tromey  <tom@tromey.com>
6639
6640         * psymtab.c (maintenance_print_psymbols)
6641         (maintenance_info_psymtabs, maintenance_check_psymtabs):
6642         Constify.
6643
6644 2017-09-27  Tom Tromey  <tom@tromey.com>
6645
6646         * windows-tdep.c (display_tib): Constify.
6647
6648 2017-09-27  Tom Tromey  <tom@tromey.com>
6649
6650         * linux-fork.c (delete_checkpoint_command)
6651         (detach_checkpoint_command): Constify.
6652
6653 2017-09-27  Tom Tromey  <tom@tromey.com>
6654
6655         * cp-abi.c (set_cp_abi_cmd, show_cp_abi_cmd): Constify.
6656
6657 2017-09-27  Tom Tromey  <tom@tromey.com>
6658
6659         * arc-tdep.c (dump_arc_instruction_command): Constify.
6660
6661 2017-09-27  Tom Tromey  <tom@tromey.com>
6662
6663         * valprint.c (set_radix, show_radix): Constify.
6664
6665 2017-09-27  Tom Tromey  <tom@tromey.com>
6666
6667         * dtrace-probe.c (info_probes_dtrace_command): Constify.
6668
6669 2017-09-27  Tom Tromey  <tom@tromey.com>
6670
6671         * command.h (not_just_help_class_command): Update.
6672         * cli/cli-decode.h (not_just_help_class_command): Update.
6673         * cli/cli-decode.c (not_just_help_class_command): Constify.
6674
6675 2017-09-27  Tom Tromey  <tom@tromey.com>
6676
6677         * gdb_bfd.c (maintenance_info_bfds): Constify.
6678
6679 2017-09-27  Tom Tromey  <tom@tromey.com>
6680
6681         * cli/cli-decode.c (add_cmd, set_cmd_cfunc): New function
6682         overloads.
6683         (do_add_cmd): Rename from add_cmd.  Don't call set_cmd_cfunc.
6684         (do_const_cfunc): New function.
6685         (cmd_cfunc_eq): New overload.
6686         (cli_user_command_p): Check do_const_cfunc.
6687         * cli/cli-decode.h (struct cmd_list_element) <function>: New field
6688         const_cfunc.
6689         * command.h (add_cmd): Add const overload and no-function
6690         overload.
6691         (set_cmd_cfunc): Add const overload.
6692         (cmd_const_cfunc_ftype): Declare.
6693         (cmd_cfunc_eq): Add const overload.
6694         * breakpoint.c, cli-cmds.c, cli-dump.c, guile/scm-cmd.c,
6695         python/py-cmd.c, target.c, tracepoint.c: Use no-function add_cmd
6696         overload.
6697
6698 2017-09-27  Tom Tromey  <tom@tromey.com>
6699
6700         * macroexp.c (get_next_token_for_substitution): New function.
6701         (substitute_args): Call it.  Check for __VA_OPT__.
6702
6703 2017-09-26  Walfred Tedeschi  <walfred.tedeschi@intel.com>
6704             Pedro Alves <palves@redhat.com>
6705
6706         * dwarf2read.c (dwarf2_cu): Remove field producer_is_icc and add
6707         producer_is_icc_lt_14.
6708         (producer_is_icc_lt_14): New function.
6709         (check_producer): Add code for checking version of ICC.
6710         (producer_is_icc): Move to producer.c.
6711         (read_structure_type): Restrict ICC workaround to ICC<14.
6712         * producer.c: Include selftest.h.
6713         (producer_is_icc, producer_parsing_tests, _initialize_producer):
6714         New functions.
6715         * producer.h (producer_is_icc): New declaration.
6716
6717 2017-09-26  Walfred Tedeschi  <walfred.tedeschi@intel.com>
6718
6719         * Makefile.in (SFILES): Add producer.c.
6720         (COMMON_OBS): Add producer.o
6721         * amd64-tdep.c (producer.h): Add new include.
6722         * dwarf2read.c (producer.h): Add new include.
6723         * producer.c: New file.
6724         * producer.h: New file.
6725         * utils.c (producer_is_gcc, producer_is_gcc_ge_4): Move to
6726         producer.c.
6727         * utils.h (producer_is_gcc, producer_is_gcc_ge_4): Move to
6728         producer.h.
6729
6730 2017-09-26  Matthias Klose  <doko@ubuntu.com>
6731
6732         * configure.ac: Search ncursesw before ncurses.
6733         Check ncursesw/ncurses.h before ncurses/ncurses.h.
6734         * gdb_curses.h: Include <ncursesw/ncurses.h>
6735         * config.in, configure: Regenerate.
6736
6737 2017-09-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6738
6739         PR gdb/22185
6740         * configure.host <*-*-solaris2.[01], *-*-solaris2.[2-9]*>: Mark as
6741         obsolete.
6742         Use gdb_host sol2 for i[34567]86-*-solaris2*, x86_64-*-solaris2*.
6743         Remove i386sol2 support.
6744         * configure.nat <i386sol2>: Remove.
6745         <sol2-64>: Fold into ...
6746         <sol2>: ... this.
6747         Move common settings to default section.
6748         Add sol-thread.o.
6749         * configure.tgt <i[34567]86-*-solaris2.1[0-9]*,
6750         x86_64-*-solaris2.1[0-9]*>: Rename to ...
6751         <i[34567]86-*-solaris2*, x86_64-*-solaris2*>: ... this.
6752         <i[34567]86-*-solaris*>: Remove.
6753         <sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*>: Remove.
6754
6755         * configure.ac: Remove wctype in libw check.
6756         (_MSE_INT_H): Don't define on Solaris 7-9.
6757         <solaris*>: Remove libthread_db.so.1 check.
6758         * configure: Regenerate.
6759         * config.in: Regenerate.
6760
6761         * proc-service.c: Remove PROC_SERVICE_IS_OLD handling.
6762         (gdb_ps_prochandle_t, gdb_ps_read_buf_t, gdb_ps_write_buf_t)
6763         (gdb_ps_size_t): Remove.
6764         Use base types in users.
6765         * sol-thread.c: Likewise, also for gdb_ps_addr_t.
6766
6767         * NEWS (Changes since GDB 8.0): Document Solaris 2.0-9 removal.
6768
6769 2017-09-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6770
6771         PR build/22206
6772         * sparc64-tdep.c (adi_tag_fd): Print pid as long.
6773         (adi_is_addr_mapped): Likewise.
6774         (PSR_ICC): Don't redefine.
6775         (PSR_IMPL): Likewise.
6776
6777 2017-09-25  Tom Tromey  <tom@tromey.com>
6778
6779         * regcache.c (regcache::dump): Use string_printf.
6780
6781 2017-09-25  Tom Tromey  <tom@tromey.com>
6782
6783         * regcache.c (class regcache_invalidator): New.
6784         (struct register_to_invalidate): Remove.
6785         (make_cleanup_regcache_invalidate): Remove.
6786         (regcache::raw_write): Use regcache_invalidator.
6787
6788 2017-09-25  Tom Tromey  <tom@tromey.com>
6789
6790         * spu-tdep.c (spu2ppu_sniffer): Update.
6791         * regcache.h (make_cleanup_regcache_xfree): Don't declare.
6792         * regcache.c (do_regcache_xfree, make_cleanup_regcache_xfree):
6793         Remove.
6794         * ppc-linux-tdep.c (ppu2spu_sniffer): Update.
6795         * mi/mi-main.c (mi_cmd_data_list_changed_registers): Update.
6796         * frame.h (frame_save_as_regcache): Return std::unique_ptr.
6797         * frame.c (frame_save_as_regcache): Return std::unique_ptr.
6798         (frame_pop): Update.
6799
6800 2017-09-25  Tom Tromey  <tom@tromey.com>
6801
6802         * spu-tdep.c (spu2ppu_dealloc_cache): Use delete.
6803         * regcache.h (regcache_xfree): Don't declare.
6804         * regcache.c (regcache_xfree): Remove.
6805         (do_regcache_xfree): Use delete.
6806         * ppc-linux-tdep.c (ppu2spu_dealloc_cache): Use delete.
6807         * linux-fork.c (free_fork): Use delete.
6808         (fork_save_infrun_state): Likewise.
6809         * jit.c (jit_dealloc_cache): Use delete.
6810         * infrun.c (discard_infcall_suspend_state): Use delete.
6811
6812 2017-09-25  Tom Tromey  <tom@tromey.com>
6813
6814         * regcache.h (regcache_xmalloc): Don't declare.
6815         (regcache_raw_set_cached_value): Update comment.
6816         * regcache.c (regcache_xmalloc): Remove.
6817         * ppc-linux-tdep.c (ppu2spu_sniffer): Use new.
6818         * jit.c (jit_frame_sniffer): Use new.
6819         * frame.c (frame_save_as_regcache): Use new.
6820
6821 2017-09-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6822
6823         * NEWS: Advertise support for guarded-storage registers on IBM z.
6824
6825 2017-09-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6826
6827         * s390-linux-nat.c (have_regset_gs): New static variable.
6828         (s390_linux_fetch_inferior_registers): Handle guarded-storage
6829         control block and guarded-storage broadcast control regsets.
6830         (s390_read_description): Detect whether the target has
6831         guarded-storage support, return appropriate tdesc.
6832         * s390-linux-tdep.c (features/s390-gs-linux64.c): New include.
6833         (features/s390x-gs-linux64.c): Likewise.
6834         (struct gdbarch_tdep) <have_gs>: New field.
6835         (s390_regmap_gs, s390_regmap_gsbc, s390_gs_regset)
6836         (s390_gsbc_regset): New variables.
6837         (s390_iterate_over_regset_sections): Iterate over s390_gs_regset
6838         and s390_gsbc_regset, if applicable.
6839         (s390_core_read_description): Check whether core file was from a
6840         target with guarded-storage support; include appropriate regsets.
6841         (s390_gdbarch_init): Add registers for guarded-storage support.
6842         (_initialize_s390_tdep): Initialize new target descriptions that
6843         include registers for guarded-storage support.
6844         * s390-linux-tdep.h (HWCAP_S390_GS, S390_GSD_REGNUM)
6845         (S390_GSSM_REGNUM, S390_GSEPLA_REGNUM)
6846         (S390_BC_GSD_REGNUM, S390_BC_GSSM_REGNUM): New defines.
6847         (S390_NUM_REGS): Adjust macro definition.
6848         (s390_gs_regset, s390_gsbc_regset, tdesc_s390_gs_linux64)
6849         (tdesc_s390x_gs_linux64): New declarations.
6850
6851 2017-09-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6852
6853         * features/s390-gs-linux64.xml: New file.
6854         * features/s390-gs.xml: New file.
6855         * features/s390-gsbc.xml: New file.
6856         * features/s390x-gs-linux64.xml: New file.
6857         * features/Makefile (WHICH): Add s390-gs-linux64 and
6858         s390x-gs-linux64.
6859         (s390-gs-linux64-expedite, s390x-gs-linux64-expedite): New macros.
6860         (XMLTOC): Add s390-gs-linux64.xml and s390x-linux64.xml.
6861         * features/s390-gs-linux64.c: New generated file.
6862         * features/s390x-gs-linux64.c: New file.
6863         * regformats/s390-gs-linux64.dat: New file.
6864         * regformats/s390x-gs-linux64.dat: New file.
6865
6866 2017-09-23  Tom Tromey  <tom@tromey.com>
6867
6868         * defs.h (make_cleanup_override_quit_handler): Don't declare.
6869
6870 2017-09-22  Tom Tromey  <tom@tromey.com>
6871
6872         * utils.c (class scoped_input_handler) <m_quit_handler>: Change
6873         type to scoped_restore_tmpl.
6874         <scoped_input_handler>: Initialize m_quit_handler directly.
6875
6876 2017-09-22  Sergio Durigan Junior  <sergiodj@redhat.com>
6877
6878         * cli/cli-cmds.c (pwd_command): Use "getcwd (NULL, 0)".
6879         (cd_command): Likewise.  Free "current_directory" before
6880         assigning to it.
6881         * main.c (captured_main_1): Use "getcwd (NULL, 0)".
6882         * mi/mi-cmd-env.c (mi_cmd_env_pwd): Likewise.
6883         * top.c (gdb_dirbuf): Remove global declaration.
6884         * top.h (gdb_dirbuf): Likewise.
6885
6886 2017-09-22  Sergio Durigan Junior  <sergiodj@redhat.com>
6887
6888         * gnulib/aclocal.m4: Regenerate.
6889         * gnulib/config.in: Regenerate.
6890         * gnulib/configure: Regenerate.
6891         * gnulib/import/Makefile.am: Regenerate.
6892         * gnulib/import/Makefile.in: Regenerate.
6893         * gnulib/import/assure.h: New file.
6894         * gnulib/import/at-func.c: Likewise
6895         * gnulib/import/chdir-long.c: New file.
6896         * gnulib/import/chdir-long.h: New file.
6897         * gnulib/import/cloexec.c: New file.
6898         * gnulib/import/cloexec.h: New file.
6899         * gnulib/import/close.c: New file.
6900         * gnulib/import/closedir.c: New file.
6901         * gnulib/import/dirent-private.h: New file.
6902         * gnulib/import/dup-safer.c: New file.
6903         * gnulib/import/dup.c: New file.
6904         * gnulib/import/dup2.c: New file.
6905         * gnulib/import/error.c: New file.
6906         * gnulib/import/error.h: New file.
6907         * gnulib/import/exitfail.c: New file.
6908         * gnulib/import/exitfail.h: New file.
6909         * gnulib/import/fchdir.c: New file.
6910         * gnulib/import/fcntl.c: New file.
6911         * gnulib/import/fcntl.in.h: New file.
6912         * gnulib/import/fd-hook.c: New file.
6913         * gnulib/import/fd-hook.h: New file.
6914         * gnulib/import/fd-safer.c: New file.
6915         * gnulib/import/fdopendir.c: New file.
6916         * gnulib/import/filename.h: New file.
6917         * gnulib/import/filenamecat-lgpl.c: New file.
6918         * gnulib/import/filenamecat.h: New file.
6919         * gnulib/import/fstat.c: New file.
6920         * gnulib/import/fstatat.c: New file.
6921         * gnulib/import/getcwd-lgpl.c: New file.
6922         * gnulib/import/getcwd.c: New file.
6923         * gnulib/import/getdtablesize.c: New file.
6924         * gnulib/import/getlogin_r.c: New file.
6925         * gnulib/import/getprogname.c: New file.
6926         * gnulib/import/getprogname.h: New file.
6927         * gnulib/import/gettext.h: New file.
6928         * gnulib/import/glob-libc.h: New file.
6929         * gnulib/import/glob.c: New file.
6930         * gnulib/import/glob.in.h: New file.
6931         * gnulib/import/intprops.h: New file.
6932         * gnulib/import/m4/chdir-long.m4: New file.
6933         * gnulib/import/m4/close.m4: New file.
6934         * gnulib/import/m4/closedir.m4: New file.
6935         * gnulib/import/m4/d-ino.m4: New file.
6936         * gnulib/import/m4/d-type.m4: New file.
6937         * gnulib/import/m4/dup.m4: New file.
6938         * gnulib/import/m4/dup2.m4: New file.
6939         * gnulib/import/m4/error.m4: New file.
6940         * gnulib/import/m4/fchdir.m4: New file.
6941         * gnulib/import/m4/fcntl.m4: New file.
6942         * gnulib/import/m4/fcntl_h.m4: New file.
6943         * gnulib/import/m4/fdopendir.m4: New file.
6944         * gnulib/import/m4/filenamecat.m4: New file.
6945         * gnulib/import/m4/fstat.m4: New file.
6946         * gnulib/import/m4/fstatat.m4: New file.
6947         * gnulib/import/m4/getcwd-abort-bug.m4: New file.
6948         * gnulib/import/m4/getcwd-path-max.m4: New file.
6949         * gnulib/import/m4/getcwd.m4: New file.
6950         * gnulib/import/m4/getdtablesize.m4: New file.
6951         * gnulib/import/m4/getlogin_r.m4: New file.
6952         * gnulib/import/m4/getprogname.m4: New file.
6953         * gnulib/import/m4/glob.m4: New file.
6954         * gnulib/import/m4/gnulib-cache.m4: Regenerate.
6955         * gnulib/import/m4/gnulib-comp.m4: Regenerate.
6956         * gnulib/import/m4/mempcpy.m4: New file.
6957         * gnulib/import/m4/memrchr.m4: New file.
6958         * gnulib/import/m4/mode_t.m4: New file.
6959         * gnulib/import/m4/msvc-inval.m4: New file.
6960         * gnulib/import/m4/msvc-nothrow.m4: New file.
6961         * gnulib/import/m4/open.m4: New file.
6962         * gnulib/import/m4/openat.m4: New file.
6963         * gnulib/import/m4/opendir.m4: New file.
6964         * gnulib/import/m4/readdir.m4: New file.
6965         * gnulib/import/m4/realloc.m4: New file.
6966         * gnulib/import/m4/rewinddir.m4: New file.
6967         * gnulib/import/m4/save-cwd.m4: New file.
6968         * gnulib/import/m4/strdup.m4: New file.
6969         * gnulib/import/m4/strerror.m4: New file.
6970         * gnulib/import/m4/unistd-safer.m4: New file.
6971         * gnulib/import/mempcpy.c: New file.
6972         * gnulib/import/memrchr.c: New file.
6973         * gnulib/import/msvc-inval.c: New file.
6974         * gnulib/import/msvc-inval.h: New file.
6975         * gnulib/import/msvc-nothrow.c: New file.
6976         * gnulib/import/msvc-nothrow.h: New file.
6977         * gnulib/import/open.c: New file.
6978         * gnulib/import/openat-die.c: New file.
6979         * gnulib/import/openat-priv.h: New file.
6980         * gnulib/import/openat-proc.c: New file.
6981         * gnulib/import/openat.c: New file.
6982         * gnulib/import/openat.h: New file.
6983         * gnulib/import/opendir.c: New file.
6984         * gnulib/import/pipe-safer.c: New file.
6985         * gnulib/import/readdir.c: New file.
6986         * gnulib/import/realloc.c: New file.
6987         * gnulib/import/rewinddir.c: New file.
6988         * gnulib/import/save-cwd.c: New file.
6989         * gnulib/import/save-cwd.h: New file.
6990         * gnulib/import/strdup.c: New file.
6991         * gnulib/import/strerror-override.c: New file.
6992         * gnulib/import/strerror-override.h: New file.
6993         * gnulib/import/strerror.c: New file.
6994         * gnulib/import/unistd--.h: New file.
6995         * gnulib/import/unistd-safer.h: New file.
6996         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add
6997         "getcwd" and "glob".
6998         * ser-tcp.c: Undefine "close" before redefining it.
6999
7000 2017-09-21  Simon Marchi  <simon.marchi@ericsson.com>
7001
7002         * guile/scm-value.c (gdbscm_value_address): Initialize address,
7003         get rid of res_val.
7004
7005 2017-09-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7006
7007         * configure.nat <i386sol2,i386>: Add fork-inferior.o to NATDEPFILES.
7008         <sol2,sparc>: Likewise.
7009         <sol2-64,i386>: Likewise.
7010
7011         * warning.m4 (AM_GDB_WARNINGS): Disable -Wunknown-pragmas,
7012         -Wdeprecated-declarations on *-*-solaris*.
7013         * configure: Regenerate.
7014
7015         * procfs.c: Include "nat/inferior.h".
7016         (procfs_info_proc): Fix typo.
7017
7018 2017-09-21  Kevin Buettner  <kevinb@redhat.com>
7019
7020         * remote.c (vector): Include.
7021         (struct private_thread_info): Add field, thread_handle.
7022         (free_private_thread_info): Deallocate storage associated with
7023         thread handle.
7024         (get_private_info_thread): Initialize `thread_handle' field.
7025         (struct thread_item): Add field, thread_handle.
7026         (clear_threads_listing_context): Deallocate storage associated
7027         with thread handle.
7028         (start_thread): Add support for "handle" attribute.
7029         (thread_attributes): Add "handle".
7030         (remote_get_threads_with_qthreadinfo): Initialize thread_handle
7031         field.
7032         (remote_update_thread_list): Update thread_handle.
7033         (remote_thread_handle_to_thread_info): New function.
7034         (init_remote_ops): Initialize to_thread_handle_to_thread_info.
7035
7036 2017-09-21  Kevin Buettner  <kevinb@redhat.com>
7037
7038         * python/py-inferior.c (gdbpy_thread_from_thread_handle): New
7039         function.
7040         (inferior_object_methods): Add gdbpy_thread_from_thread_handle.
7041         * python/python-internal.h (thread_object_type): Declare.
7042
7043 2017-09-21  Kevin Buettner  <kevinb@redhat.com>
7044
7045         * target.h (struct target_ops): Add to_thread_handle_to_thread_info.
7046         (target_thread_handle_to_thread_info): Declare.
7047         * target.c (target_thread_handle_to_thread_info): New function.
7048         * target-delegates.c: Regenerate.
7049         * gdbthread.h (find_thread_by_handle): Declare.
7050         * thread.c (find_thread_by_handle): New function.
7051         * linux-thread-db.c (thread_db_thread_handle_to_thread_info): New
7052         function.
7053         (init_thread_db_ops): Register thread_db_thread_handle_to_thread_info.
7054
7055 2017-09-21  Simon Marchi  <simon.marchi@ericsson.com>
7056
7057         * nat/linux-waitpid.c (linux_debug): Add ATTRIBUTE_PRINTF.
7058
7059 2017-09-21  Simon Marchi  <simon.marchi@ericsson.com>
7060
7061         * microblaze-tdep.c (microblaze_debug): Add ATTRIBUTE_PRINTF.
7062
7063 2017-09-21  Yao Qi  <yao.qi@linaro.org>
7064
7065         * configure.tgt (aarch64*-*-freebsd*): Add fbsd-tdep.o solib-svr4.o
7066         to gdb_target_obs.
7067
7068 2017-09-20  Tom Tromey  <tom@tromey.com>
7069
7070         * breakpoint.c (struct counted_command_line): Remove.
7071         (breakpoint_commands): Update.
7072         (alloc_counted_command_line, incref_counted_command_line)
7073         (decref_counted_command_line, do_cleanup_counted_command_line)
7074         (make_cleanup_decref_counted_command_line): Remove.
7075         (breakpoint_set_commands, commands_command_1, ~bpstats, bpstats)
7076         (bpstat_clear_actions, bpstat_do_actions_1, watchpoint_check)
7077         (bpstat_stop_status, print_one_breakpoint_location, ~breakpoint)
7078         (save_breakpoints): Update.
7079         * breakpoint.h (counted_command_line): Now a typedef to
7080         shared_ptr.
7081         (struct breakpoint) <commands>: Now a counted_command_line.
7082         (struct bpstats) <command>: Likewise.
7083
7084 2017-09-20  Tom Tromey  <tom@tromey.com>
7085
7086         * breakpoint.c (struct commands_info, do_map_commands_command):
7087         Remove.
7088         (commands_command_1): Update.
7089         (iterate_over_related_breakpoints): Take a function_view.
7090         (do_delete_breakpoint, do_map_delete_breakpoint): Remove.
7091         (delete_command): Update.
7092         (map_breakpoint_numbers): Take a function_view.
7093         (do_disable_breakpoint, do_map_delete_breakpoint): Remove.
7094         (disable_command): Update.
7095         (do_enable_breakpoint, do_map_enable_breakpoint): Remove.
7096         (enable_command): Update.
7097         (struct disp_data, do_enable_breakpoint_disp)
7098         (do_map_enable_once_breakpoint, do_map_enable_count_breakpoint)
7099         (do_map_enable_delete_breakpoint): Remove.
7100         (enable_once_command, enable_count_command, enable_delete_command)
7101         (delete_trace_variable_command): Update.
7102
7103 2017-09-20  Tom Tromey  <tom@tromey.com>
7104
7105         * breakpoint.c (~bpstats): Rename from bpstat_free.  Update.
7106         (bpstat_clear): Use delete.
7107         (bpstats): New constructors.
7108         (bpstat_copy, bpstat_stop_status): Use new.
7109         (dprintf_after_condition_true): Update.
7110         * breakpoint.h (bpstats::bpstats): Add constructors.
7111         (bpstats::~bpstats): Add destructor.
7112
7113 2017-09-20  Pedro Alves  <palves@redhat.com>
7114
7115         * eval.c (make_params): Delete, refactored as ...
7116         (class fake_method): ... this new type's ctor.
7117         (fake_method::~fake_method): New.
7118         (evaluate_subexp_standard): Use 'fake_method'.
7119
7120 2017-09-20  Tom Tromey  <tom@tromey.com>
7121
7122         * windows-nat.c (get_windows_debug_event, windows_wait)
7123         (do_initial_windows_stuff, windows_attach): Update.
7124         * utils.c (vwarning, internal_vproblem): Update.
7125         (ui_unregister_input_event_handler_cleanup)
7126         (prepare_to_handle_input): Remove.
7127         (class scoped_input_handler): New.
7128         (defaulted_query, prompt_for_continue): Update.
7129         * tui/tui-hooks.c (tui_refresh_frame_and_register_information):
7130         Update.
7131         * top.c (undo_terminal_modifications_before_exit): Update.
7132         * target/target.h (target_terminal_init, target_terminal_inferior)
7133         (target_terminal_ours): Don't declare.
7134         (class target_terminal): New.
7135         * target.h (target_terminal_is_inferior, target_terminal_is_ours)
7136         (target_terminal_ours_for_output)
7137         (make_cleanup_restore_target_terminal): Don't declare.
7138         (target_terminal_info): Remove.
7139         * target.c (enum terminal_state, terminal_state): Remove.
7140         (target_terminal::terminal_state): Define.
7141         (target_terminal::init): Rename from target_terminal_init.
7142         (target_terminal::inferior): Rename from
7143         target_terminal_inferior.
7144         (target_terminal::ours): Rename from target_terminal_ours.
7145         (target_terminal::ours_for_output): Rename from
7146         target_terminal_ours_for_output.
7147         (target_terminal::info): New method.
7148         (cleanup_restore_target_terminal)
7149         (make_cleanup_restore_target_terminal): Remove.
7150         * solib.c (handle_solib_event): Update.
7151         * remote.c (remote_serial_quit_handler): Update.
7152         (remote_terminal_inferior, remote_wait_as): Update.
7153         * record-full.c (record_full_wait_1): Update.
7154         * nto-procfs.c (procfs_create_inferior): Update.
7155         * nat/fork-inferior.c (startup_inferior): Update.
7156         * mi/mi-interp.c (mi_new_thread, mi_thread_exit)
7157         (mi_record_changed, mi_inferior_added, mi_inferior_appeared)
7158         (mi_inferior_exit, mi_inferior_removed, mi_traceframe_changed)
7159         (mi_tsv_created, mi_tsv_deleted, mi_tsv_modified)
7160         (mi_breakpoint_created, mi_breakpoint_deleted)
7161         (mi_breakpoint_modified, mi_on_resume, mi_solib_loaded)
7162         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
7163         (mi_user_selected_context_changed, report_initial_inferior):
7164         Update.
7165         * linux-nat.c (linux_nat_attach, linux_nat_terminal_ours)
7166         (linux_nat_terminal_inferior): Update.
7167         * infrun.c (follow_fork_inferior)
7168         (handle_vfork_child_exec_or_exit, do_target_resume)
7169         (check_curr_ui_sync_execution_done, handle_inferior_event_1)
7170         (handle_signal_stop, maybe_remove_breakpoints, normal_stop):
7171         Update.
7172         * inflow.c (child_terminal_init, info_terminal_command): Update.
7173         * infcmd.c (post_create_inferior, continue_1, prepare_one_step)
7174         (attach_command): Update.
7175         * infcall.c (call_thread_fsm_should_stop): Update.
7176         * gnu-nat.c (gnu_attach): Update.
7177         * extension.c (struct active_ext_lang_state)
7178         (restore_active_ext_lang): Update.
7179         * exceptions.c (print_flush): Update.
7180         * event-top.c (async_enable_stdin, default_quit_handler): Update.
7181         (struct quit_handler_cleanup_data, restore_quit_handler)
7182         (restore_quit_handler_dtor, make_cleanup_override_quit_handler):
7183         Remove.
7184         * cp-support.c (gdb_demangle): Update.
7185         * breakpoint.c (update_inserted_breakpoint_locations)
7186         (insert_breakpoint_locations, handle_jit_event)
7187         (disable_breakpoints_in_unloaded_shlib): Update.
7188         * annotate.c (annotate_breakpoints_invalid)
7189         (annotate_frames_invalid): Update.
7190
7191 2017-09-20  Tom Tromey  <tom@tromey.com>
7192
7193         * main.c (catch_command_errors): Rename from
7194         catch_command_errors_const.
7195         (captured_main_1): Update.
7196
7197 2017-09-20  Pedro Alves  <palves@redhat.com>
7198
7199         * cli/cli-cmds.c (list_command): Use print_sal_location.
7200         (print_sal_location): New function.
7201         (ambiguous_line_spec): Use print_sal_location.
7202         * linespec.c (symbol_to_sal): Record the symbol in the sal.
7203         * symtab.c (find_function_start_sal): Likewise.
7204         * symtab.h (symtab_and_line::symbol): New field.
7205
7206 2017-09-20  Pedro Alves  <palves@redhat.com>
7207
7208         * linespec.c (minsym_found): Handle non-text minsyms.
7209         (symbol_to_sal): Record a sal.pc for non-block, non-label symbols.
7210
7211 2017-09-20  Walfred Tedeschi  <walfred.tedeschi@intel.com>
7212
7213         * features/Makefile (i386-avx-mpx-avx512-pku.dat): Add missing
7214         backslash.
7215
7216 2017-09-20  Walfred Tedeschi  <walfred.tedeschi@intel.com>
7217
7218         * gdb.arch/i386-avx512.c (move_zmm_data_to_reg): Use
7219         vmovups instead vmovaps.
7220         (move_zmm_data_to_memory): Use vmovups instead vmovaps.
7221
7222 2017-09-19  John Baldwin  <jhb@FreeBSD.org>
7223
7224         * NEWS (Changes since GDB 8.0): Add starti.
7225         * infcmd.c (enum run_break): New.
7226         (run_command_1): Queue pending event for RUN_STOP_AT_FIRST_INSN
7227         case.
7228         (run_command): Use enum run_how.
7229         (start_command): Likewise.
7230         (starti_command): New function.
7231         (RUN_ARGS_HELP): New macro.
7232         (_initialize_infcmd): Use RUN_ARGS_HELP for run and start
7233         commands.  Add starti command.
7234
7235 2017-09-19  Yao Qi  <yao.qi@linaro.org>
7236
7237         * Makefile.in (monitor.o): Remove the rule.
7238
7239 2017-09-19  Yao Qi  <yao.qi@linaro.org>
7240
7241         * annotate.h (struct annotate_arg_emitter): Use
7242         DISABLE_COPY_AND_ASSIGN.
7243         * common/refcounted-object.h (refcounted_object): Likewise.
7244         * completer.h (struct completion_result): Likewise.
7245         * dwarf2read.c (struct dwarf2_per_objfile): Likewise.
7246         * filename-seen-cache.h (filename_seen_cache): Likewise.
7247         * gdbcore.h (thread_section_name): Likewise.
7248         * gdb_regex.h (compiled_regex): Likewise.
7249         * gdbthread.h (scoped_restore_current_thread): Likewise.
7250         * inferior.h (scoped_restore_current_inferior): Likewise.
7251         * jit.c (jit_reader): Likewise.
7252         * linespec.h (struct linespec_result): Likewise.
7253         * mi/mi-parse.h (struct mi_parse): Likewise.
7254         * nat/fork-inferior.c (execv_argv): Likewise.
7255         * progspace.h (scoped_restore_current_program_space): Likewise.
7256         * python/python-internal.h (class gdbpy_enter): Likewise.
7257         * regcache.h (regcache): Likewise.
7258         * target-descriptions.c (struct tdesc_reg): Likewise.
7259         (struct tdesc_type): Likewise.
7260         (struct tdesc_feature): Likewise.
7261         * ui-out.h (ui_out_emit_type): Likewise.
7262
7263 2017-09-18  Simon Marchi  <simon.marchi@ericsson.com>
7264
7265         * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Remove
7266         label abort_expression.
7267
7268 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7269
7270         * common/buffer.c (buffer_xml_printf): Adjust.
7271         * common/xml-utils.c (xml_escape_text): Change return type to
7272         std::string, update code accordingly.
7273         * common/xml-utils.h (xml_escape_text): Change return type to
7274         std::string.
7275         * rs6000-aix-tdep.c (rs6000_aix_shared_library_to_xml): Adjust.
7276         * windows-tdep.c (windows_xfer_shared_library): Adjust.
7277         * unittests/xml-utils-selftests.c (test_xml_escape_text):
7278         Adjust.
7279
7280 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7281
7282         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add new source file.
7283         (SUBDIR_UNITTESTS_OBS): Add new object file.
7284         * unittests/xml-utils-selftests.c: New file.
7285
7286 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7287
7288         * common/selftest.h (selftest): New struct/interface.
7289         (register_test): Add name parameter, add new overload.
7290         (run_tests): Add filter parameter.
7291         (for_each_selftest_ftype): New typedef.
7292         (for_each_selftest): New declaration.
7293         * common/selftest.c (tests): Change type to
7294         map<string, unique_ptr<selftest>>.
7295         (simple_selftest): New struct.
7296         (register_test): New function.
7297         (register_test): Add name parameter and use it.
7298         (run_tests): Add filter parameter and use it.  Add prints.
7299         Adjust to vector -> map change.
7300         * aarch64-tdep.c (_initialize_aarch64_tdep): Add names when
7301         registering selftests.
7302         * arm-tdep.c (_initialize_arm_tdep): Likewise.
7303         * disasm-selftests.c (_initialize_disasm_selftests): Likewise.
7304         * dwarf2-frame.c (_initialize_dwarf2_frame): Likewise.
7305         * dwarf2loc.c (_initialize_dwarf2loc): Likewise.
7306         * findvar.c (_initialize_findvar): Likewise.
7307         * gdbarch-selftests.c (_initialize_gdbarch_selftests): Likewise.
7308         * maint.c (maintenance_selftest): Update call to run_tests.
7309         (maintenance_info_selftests): New function.
7310         (_initialize_maint_cmds): Register "maintenance info selftests"
7311         command.  Update "maintenance selftest" doc.
7312         * regcache.c (_initialize_regcache): Add names when registering
7313         selftests.
7314         * rust-exp.y (_initialize_rust_exp): Likewise.
7315         * selftest-arch.c (gdbarch_selftest): New struct.
7316         (gdbarch_tests): Remove.
7317         (register_test_foreach_arch): Add name parameter.  Call
7318         register_test.
7319         (tests_with_arch): Remove, move most content to
7320         gdbarch_selftest::operator().
7321         (_initialize_selftests_foreach_arch): Remove.
7322         * selftest-arch.h (register_test_foreach_arch): Add name
7323         parameter.
7324         (run_tests_with_arch): New declaration.
7325         * utils-selftests.c (_initialize_utils_selftests): Add names
7326         when registering selftests.
7327         * utils.c (_initialize_utils): Likewise.
7328         * unittests/array-view-selftests.c
7329         (_initialize_array_view_selftests): Likewise.
7330         * unittests/environ-selftests.c (_initialize_environ_selftests):
7331         Likewise.
7332         * unittests/function-view-selftests.c
7333         (_initialize_function_view_selftests): Likewise.
7334         * unittests/offset-type-selftests.c
7335         (_initialize_offset_type_selftests): Likewise.
7336         * unittests/optional-selftests.c
7337         (_initialize_optional_selftests): Likewise.
7338         * unittests/scoped_restore-selftests.c
7339         (_initialize_scoped_restore_selftests): Likewise.
7340         * NEWS: Document "maintenance selftest" and "maint info
7341         selftests".
7342
7343 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7344
7345         * mi/mi-main.c (mi_load_progress): Restore current_uiout using a
7346         scoped_restore.
7347
7348 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7349
7350         * mi/mi-main.c (mi_load_progress): Make uiout variable
7351         a unique_ptr.
7352
7353 2017-09-15  Pedro Alves  <palves@redhat.com>
7354
7355         * compile/compile-c-types.c (convert_enum, convert_int)
7356         (convert_float): Adjust to refer to int_type_v0 and float_type_v0.
7357
7358 2017-09-15  Simon Marchi  <simon.marchi@ericsson.com>
7359
7360         * dwarf2read.c (copy_string): Remove.
7361         (parse_macro_definition): Replace copy_string with savestring.
7362
7363 2017-09-15  Yao Qi  <yao.qi@linaro.org>
7364
7365         * configure.tgt (i[34567]86-*-darwin*): Append amd64.o to
7366         gdb_target_obs.
7367         (i[34567]86-*-solaris2.1[0-9]* | x86_64-*-solaris2.1[0-9]*):
7368         Likewise.
7369         (i[34567]86-*-linux*): Likewise.
7370
7371 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7372
7373         * dwarf2expr.h (dwarf_stack_value): Add constructor.
7374         (dwarf_expr_context) <~dwarf_expr_context>: Define as default.
7375         <stack>: Change type to std::vector.
7376         <stack_len, stack_allocated>: Remove.
7377         <grow_stack>: Remove.
7378         * dwarf2expr.c (dwarf_expr_context::dwarf_expr_context): Adjust.
7379         (dwarf_expr_context::~dwarf_expr_context): Remove.
7380         (dwarf_expr_context::grow_stack): Remove.
7381         (dwarf_expr_context::push): Adjust.
7382         (dwarf_expr_context::pop): Adjust.
7383         (dwarf_expr_context::fetch): Adjust.
7384         (dwarf_expr_context::fetch_in_stack_memory): Adjust.
7385         (dwarf_expr_context::stack_empty_p): Adjust.
7386         (dwarf_expr_context::execute_stack_op): Adjust.
7387
7388 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7389
7390         * dwarf2expr.h (dwarf_expr_context) <stack_empty_p>: Change
7391         return type to bool.
7392         * dwarf2expr.c (dwarf_expr_context::stack_empty_p): Likewise.
7393
7394 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7395
7396         * dwarf2expr.h (dwarf_expr_piece) <v.mem.in_stack_memory>:
7397         Change type to bool.
7398         (dwarf_stack_value) <in_stack_memory>: Likewise.
7399         (dwarf_expr_context) <push_address>: Change parameter type to
7400         bool.
7401         <fetch_in_stack_memory>: Change return type to bool.
7402         <push>: Change parameter type to bool.
7403         * dwarf2expr.c (dwarf_expr_context::push): Change parameter type
7404         to bool.
7405         (dwarf_expr_context::push_address): Likewise.
7406         (dwarf_expr_context::fetch_in_stack_memory): Change return type
7407         to bool.
7408         (dwarf_expr_context::execute_stack_op): Adjust.
7409         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Adjust.
7410
7411 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7412
7413         * dwarf2expr.h (struct dwarf_expr_piece): Move up.
7414         (struct dwarf_expr_context) <n_pieces>: Remove.
7415         <pieces>: Change type to std::vector.
7416         * dwarf2expr.c (dwarf_expr_context::dwarf_expr_context): Adjust.
7417         (dwarf_expr_context::~dwarf_expr_context): Don't manually free
7418         pieces.
7419         (dwarf_expr_context::add_piece): Adjust.
7420         * dwarf2loc.c (struct piece_closure): Initialize fields.
7421         <n_pieces>: Remove.
7422         <pieces>: Change type to std::vector.
7423         (allocate_piece_closure): Adjust, change parameter to
7424         std::vector rvalue and std::move it to piece_closure.
7425         (rw_pieced_value): Adjust.
7426         (check_pieced_synthetic_pointer): Adjust.
7427         (indirect_synthetic_pointer): Adjust.
7428         (coerce_pieced_ref): Adjust.
7429         (free_pieced_value_closure):  Adjust.  Use delete to free
7430         piece_closure.
7431         (dwarf2_evaluate_loc_desc_full): Adjust.  std::move ctx.pieces
7432         to allocate_piece_closure.
7433         (dwarf2_loc_desc_get_symbol_read_needs): Adjust.
7434
7435 2017-09-12  Simon Marchi  <simon.marchi@ericsson.com>
7436
7437         * probe.h (probe_ops_cp): Remove typedef.
7438         (DEF_VEC_P (probe_ops_cp)): Remove.
7439         (all_probe_ops): Change type to std::vector.
7440         * probe.c (info_probes_for_ops): Adjust to vector change.
7441         (probe_linespec_to_ops): Likewise.
7442         (all_probe_ops): Change type to std::vector.
7443         (_initialize_probe): Adjust to vector change.
7444         * dtrace-probe.c (_initialize_dtrace_probe): Likewise.
7445         * elfread.c (elf_get_probes): Likewise.
7446         * stap-probe.c (_initialize_stap_probe): Likewise.
7447
7448 2017-09-12  Simon Marchi  <simon.marchi@ericsson.com>
7449
7450         * probe.h (struct bound_probe): Define constructors.
7451         * probe.c (bound_probe_s): Remove typedef.
7452         (DEF_VEC_O (bound_probe_s)): Remove VEC.
7453         (collect_probes): Change return type to std::vector, remove
7454         cleanup.
7455         (compare_probes): Return bool, change parameter type.  Change
7456         semantic to "less than".
7457         (gen_ui_out_table_header_info): Change parameter to std::vector
7458         and update.
7459         (exists_probe_with_pops): Likewise.
7460         (info_probes_for_ops): Update to std::vector change.
7461         (enable_probes_command): Likewise.
7462         (disable_probes_command): Likewise.
7463
7464 2017-09-12  Simon Marchi  <simon.marchi@ericsson.com>
7465
7466         * probe.h (struct probe_ops) <get_probes>: Change parameter from
7467         vec to std::vector.
7468         * probe.c (parse_probes_in_pspace): Update.
7469         (find_probes_in_objfile): Update.
7470         (find_probe_by_pc): Update.
7471         (collect_probes): Update.
7472         (probe_any_get_probes): Update.
7473         * symfile.h (struct sym_probe_fns) <sym_get_probes> Change
7474         return type to reference to std::vector.
7475         * dtrace-probe.c (dtrace_process_dof_probe): Change parameter to
7476         std::vector and update.
7477         (dtrace_process_dof): Likewise.
7478         (dtrace_get_probes): Likewise.
7479         * elfread.c (elf_get_probes): Change return type to std::vector,
7480         store an std::vector in bfd_data.
7481         (probe_key_free): Update to std::vector.
7482         * stap-probe.c (handle_stap_probe): Change parameter to
7483         std::vector and update.
7484         (stap_get_probes): Likewise.
7485         * symfile-debug.c (debug_sym_get_probes): Change return type to
7486         std::vector and update.
7487
7488 2017-09-11  Tom Tromey  <tom@tromey.com>
7489
7490         * breakpoint.c (program_breakpoint_here_p): Update.
7491         * target.c (make_scoped_restore_show_memory_breakpoints): Rename
7492         from make_show_memory_breakpoints_cleanup.  Return a
7493         scoped_restore_tmpl<int>.
7494         (restore_show_memory_breakpoints): Remove.
7495         * ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint): Update.
7496         * mem-break.c (memory_validate_breakpoint): Update.
7497         * ia64-tdep.c (ia64_memory_insert_breakpoint): Update.
7498         (ia64_memory_remove_breakpoint): Update.
7499         (ia64_breakpoint_from_pc): Update.
7500         * target.h (make_scoped_restore_show_memory_breakpoints): Rename
7501         from make_show_memory_breakpoints_cleanup.
7502
7503 2017-09-11  Tom Tromey  <tom@tromey.com>
7504
7505         * d-namespace.c (d_lookup_symbol): Use std::string.
7506         (find_symbol_in_baseclass): Likewise.
7507
7508 2017-09-11  Tom Tromey  <tom@tromey.com>
7509
7510         * ctf.c (ctf_start): Use std::string.
7511
7512 2017-09-11  Tom Tromey  <tom@tromey.com>
7513
7514         * ada-lang.c (is_known_support_routine): Update.
7515         (ada_unhandled_exception_name_addr_from_raise): Update.
7516         * guile/scm-frame.c (gdbscm_frame_name): Update.
7517         * python/py-frame.c (frapy_name): Update.
7518         (frapy_function): Update.
7519         * stack.h (find_frame_funname): Update.
7520         * stack.c (find_frame_funname): Return unique_xmalloc_ptr.
7521         (print_frame): Update.
7522
7523 2017-09-11  Tom Tromey  <tom@tromey.com>
7524
7525         * findcmd.c (put_bits): Take a gdb::byte_vector.
7526         (parse_find_args): Return gdb::byte_vector.  "args" now const.
7527         Remove "pattern_bufp" and "pattern_lenp" parameters.  Remove
7528         cleanups.
7529         (find_command): Update.
7530
7531 2017-09-11  Tom Tromey  <tom@tromey.com>
7532
7533         * cli/cli-script.c (class scoped_restore_hook_in): New.
7534         (clear_hook_in_cleanup): Remove.
7535         (execute_cmd_pre_hook, execute_cmd_post_hook): Use
7536         scoped_restore_hook_in.
7537
7538 2017-09-11  Tom Tromey  <tom@tromey.com>
7539
7540         * cli/cli-script.c (restore_interp): Remove.
7541         (read_command_lines): Use scoped_restore_interp.
7542         * interps.c (scoped_restore_interp::set_temp): Rename from
7543         interp_set_temp.
7544         * interps.h (class scoped_restore_interp): New.
7545         (interp_set_temp): Remove.
7546
7547 2017-09-11  Tom Tromey  <tom@tromey.com>
7548
7549         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
7550         (mi_cmd_catch_exception, mi_catch_load_unload): Update.
7551         * mi/mi-cmd-break.c (setup_breakpoint_reporting): Return a
7552         scoped_restore.
7553         (mi_cmd_break_insert_1): Update.
7554         * mi/mi-cmd-break.h (setup_breakpoint_reporting): Return a
7555         scoped_restore.
7556
7557 2017-09-11  Tom Tromey  <tom@tromey.com>
7558
7559         * demangle.c (demangle_command): Update.
7560         * breakpoint.c (disable_command): Update.
7561         (enable_command): Update.
7562         (find_location_by_number): Make "number" const.  Use
7563         get_number_trailer.
7564         * cli/cli-utils.c (extract_arg): Return std::string.
7565         * probe.c (parse_probe_linespec): Update.  Change types.
7566         (collect_probes): Take string arguments.
7567         (parse_probe_linespec): Likewise.
7568         (info_probes_for_ops): Update.
7569         (enable_probes_command): Update.
7570         (disable_probes_command): Update.
7571         * break-catch-sig.c (catch_signal_split_args): Update.
7572         * mi/mi-parse.c (mi_parse): Update.
7573
7574 2017-09-11  Tom Tromey  <tom@tromey.com>
7575
7576         * language.h (language_enum): Make argument const.
7577         * language.c (language_enum): Make argument const.
7578
7579 2017-09-11  Tom Tromey  <tom@tromey.com>
7580
7581         * common/common-utils.h (skip_to_space): Remove macro, redeclare
7582         as function.
7583         (skip_to_space): Rename from skip_to_space_const.
7584         * common/common-utils.c (skip_to_space): New function.
7585         (skip_to_space): Rename from skip_to_space_const.
7586         * cli/cli-utils.h (get_number): Rename from get_number_const.
7587         (extract_arg): Rename from extract_arg_const.
7588         * cli/cli-utils.c (get_number): Rename from get_number_const.
7589         (extract_arg): Rename from extract_arg_const.
7590         (number_or_range_parser::get_number): Use ::get_number.
7591         * aarch64-linux-tdep.c, ada-lang.c, arm-linux-tdep.c, ax-gdb.c,
7592         break-catch-throw.c, breakpoint.c, cli/cli-cmds.c, cli/cli-dump.c,
7593         cli/cli-script.c, cli/cli-setshow.c, compile/compile.c,
7594         completer.c, demangle.c, disasm.c, findcmd.c, linespec.c,
7595         linux-tdep.c, linux-thread-db.c, location.c, mi/mi-parse.c,
7596         minsyms.c, nat/linux-procfs.c, printcmd.c, probe.c,
7597         python/py-breakpoint.c, record.c, rust-exp.y, serial.c, stack.c,
7598         stap-probe.c, tid-parse.c, tracepoint.c: Update all callers.
7599
7600 2017-09-11  Tom Tromey  <tom@tromey.com>
7601
7602         * python/python.c (do_start_initialization): Use
7603         py-event-types.def to initialize types.
7604         Define all object type structures.
7605         * python/python-internal.h: Don't declare event initialization
7606         functions.
7607         * python/py-threadevent.c (thread_event_object_type): Don't
7608         define.
7609         * python/py-stopevent.c (stop_event_object_type): Don't define.
7610         * python/py-signalevent.c (signal_event_object_type): Don't
7611         declare or define.
7612         * python/py-newobjfileevent.c (new_objfile_event_object_type)
7613         (clear_objfiles_event_object_type): Don't declare or define.
7614         * python/py-infevents.c (inferior_call_pre_event_object_type)
7615         (inferior_call_post_event_object_type)
7616         (register_changed_event_object_type)
7617         (memory_changed_event_object_type): Don't declare or define.
7618         * python/py-inferior.c (new_thread_event_object_type)
7619         (new_inferior_event_object_type)
7620         (inferior_deleted_event_object_type): Don't declare or define.
7621         * python/py-exitedevent.c (exited_event_object_type): Don't
7622         declare or define.
7623         * python/py-evts.c (gdbpy_initialize_py_events): Use
7624         py-all-events.def.
7625         * python/py-events.h (thread_event_object_type): Don't declare.
7626         (events_object): Use py-all-events.def.
7627         * python/py-event.h (GDBPY_NEW_EVENT_TYPE): Remove.  Use
7628         py-event-types.def.
7629         * python/py-event-types.def: New file.
7630         * python/py-continueevent.c (create_continue_event_object): Don't
7631         declare or define.
7632         * python/py-bpevent.c (breakpoint_event_object_type): Don't
7633         declare or define.
7634         * python/py-all-events.def: New file.
7635
7636 2017-09-11  Tom Tromey  <tom@tromey.com>
7637
7638         * python/py-threadevent.c (create_thread_event_object): Return
7639         gdbpy_ref.
7640         * python/py-stopevent.h (create_stop_event_object)
7641         (create_breakpoint_event_object, create_signal_event_object):
7642         Update.
7643         * python/py-stopevent.c (create_stop_event_object): Return
7644         gdbpy_ref.
7645         (emit_stop_event): Update.
7646         * python/py-signalevent.c (create_signal_event_object): Return
7647         gdbpy_ref.
7648         * python/py-infevents.c (create_inferior_call_event_object):
7649         Update.
7650         * python/py-event.h (create_event_object)
7651         (create_thread_event_object): Update.
7652         * python/py-event.c (create_event_object): Return gdbpy_ref.
7653         * python/py-continueevent.c: Return gdbpy_ref.
7654         * python/py-bpevent.c (create_breakpoint_event_object): Return
7655         gdbpy_ref.
7656
7657 2017-09-11  Tom Tromey  <tom@tromey.com>
7658
7659         PR python/15622:
7660         * NEWS: Add entry.
7661         * python/python.c (do_start_initialization): Initialize new event
7662         types.
7663         * python/python-internal.h (gdbpy_initialize_new_inferior_event)
7664         (gdbpy_initialize_inferior_deleted_event)
7665         (gdbpy_initialize_new_thread_event): Declare.
7666         * python/py-threadevent.c (create_thread_event_object): Add option
7667         "thread" parameter.
7668         * python/py-inferior.c (new_thread_event_object_type)
7669         (new_inferior_event_object_type)
7670         (inferior_deleted_event_object_type): Declare.
7671         (python_new_inferior, python_inferior_deleted): New functions.
7672         (add_thread_object): Emit new_thread event.
7673         (gdbpy_initialize_inferior): Attach new functions to corresponding
7674         observers.
7675         (new_thread, new_inferior, inferior_deleted): Define new event
7676         types.
7677         * python/py-evts.c (gdbpy_initialize_py_events): Add new
7678         registries.
7679         * python/py-events.h (events_object) <new_inferior,
7680         inferior_deleted, new_thread>: New fields.
7681         * python/py-event.h (create_thread_event_breakpoint): Add optional
7682         "thread" parameter.
7683
7684 2017-09-10  Andrew Burgess  <andrew.burgess@embecosm.com>
7685
7686         * utils.c (abort_with_message): Don't compare gdb_stderr to NULL,
7687         check current_ui instead.
7688         (internal_vproblem): Likewise.
7689
7690 2017-09-09  Simon Marchi  <simon.marchi@ericsson.com>
7691
7692         * thread.c (print_thread_info_1): Remove unnecessary calls to
7693         uiout->is_mi_like_p.
7694
7695 2017-09-09  Tom Tromey  <tom@tromey.com>
7696
7697         * namespace.h (add_using_directive): Update.
7698         * namespace.c (add_using_directive): Change type of excludes to
7699         std::vector.
7700         * dwarf2read.c (read_import_statement): Use std::vector.
7701         (read_namespace): Update.
7702         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
7703
7704 2017-09-09  Tom Tromey  <tom@tromey.com>
7705
7706         * linespec.c (create_sals_line_offset): Use gdb::def_vector.
7707
7708 2017-09-09  Tom Tromey  <tom@tromey.com>
7709
7710         * p-valprint.c (pascal_object_print_value): Use gdb::byte_vector.
7711
7712 2017-09-09  Tom Tromey  <tom@tromey.com>
7713
7714         * stack.c (func_command): Use gdb::def_vector.
7715
7716 2017-09-09  Tom Tromey  <tom@tromey.com>
7717
7718         * mi/mi-cmd-var.c (mi_cmd_var_list_children): Use gdb::optional,
7719         ui_out_emit_list, ui_out_emit_tuple.
7720         (mi_cmd_var_update): Likewise.
7721
7722 2017-09-09  Tom Tromey  <tom@tromey.com>
7723
7724         * mi/mi-interp.c (mi_user_selected_context_changed): Use
7725         ui_out_redirect_pop.
7726         * guile/scm-ports.c (ioscm_with_output_to_port_worker): Use
7727         ui_out_redirect_pop.
7728         * utils.c (do_ui_out_redirect_pop)
7729         (make_cleanup_ui_out_redirect_pop): Remove.
7730         * top.c (execute_command_to_string): Use ui_out_redirect_pop.
7731         * utils.h (make_cleanup_ui_out_redirect_pop): Remove.
7732         * ui-out.h (ui_out_redirect_pop): New class.
7733
7734 2017-09-09  Tom Tromey  <tom@tromey.com>
7735
7736         * mi/mi-main.c (output_cores): Use ui_out_emit_list.
7737         (list_available_thread_groups, mi_cmd_list_thread_groups)
7738         (mi_cmd_data_list_changed_registers, mi_cmd_data_read_memory)
7739         (mi_cmd_data_read_memory_bytes, mi_cmd_trace_frame_collected):
7740         Likewise.
7741
7742 2017-09-09  Tom Tromey  <tom@tromey.com>
7743
7744         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn): Use
7745         ui_out_emit_tuple.
7746
7747 2017-09-09  Tom Tromey  <tom@tromey.com>
7748
7749         * target.c (flash_erase_command): Use ui_out_emit_tuple.
7750         * stack.c (print_frame): Use ui_out_emit_tuple.
7751         * spu-tdep.c (info_spu_event_command): Use ui_out_emit_tuple.
7752         (info_spu_mailbox_command, info_spu_dma_command)
7753         (info_spu_proxydma_command): Likewise.
7754         * mi/mi-main.c (mi_cmd_trace_frame_collected): Use
7755         ui_out_emit_tuple, gdb::byte_vector, bin2hex.
7756         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Use
7757         ui_out_emit_tuple.
7758         * breakpoint.c (print_it_watchpoint): Use ui_out_emit_tuple.
7759
7760 2017-09-09  Tom Tromey  <tom@tromey.com>
7761
7762         * ui-out.h (make_cleanup_ui_out_table_begin_end): Remove.
7763         (class ui_out_emit_table): Update comment.
7764         * ui-out.c (do_cleanup_table_end)
7765         (make_cleanup_ui_out_table_begin_end): Remove.
7766         * spu-tdep.c (info_spu_mailbox_list): Use ui_out_emit_table.
7767         (info_spu_dma_cmdlist): Likewise.
7768         * probe.c (info_probes_for_ops): Use ui_out_emit_table.
7769         * darwin-nat-info.c (darwin_debug_regions_recurse): Use
7770         ui_out_emit_table.
7771
7772 2017-09-09  Tom Tromey  <tom@tromey.com>
7773
7774         * thread.c (print_thread_info_1): Use ui_out_emit_table,
7775         ui_out_emit_list, gdb::optional.
7776
7777 2017-09-09  John Baldwin  <jhb@FreeBSD.org>
7778
7779         * aarch64-linux-nat.c: Remove _initialize_aarch64_linux_nat
7780         prototype.
7781         * aarch64-linux-tdep.c: Remove _initialize_aarch64_linux_tdep
7782         prototype.
7783         * aarch64-newlib-tdep.c: Remove _initialize_aarch64_newlib_tdep
7784         prototype.
7785         * aarch64-tdep.c: Remove _initialize_aarch64_tdep prototype.
7786         * ada-exp.y: Remove _initialize_ada_exp prototype.
7787         * ada-lang.c: Remove _initialize_ada_language prototype.
7788         * ada-tasks.c: Remove _initialize_tasks prototype.
7789         * addrmap.c: Remove _initialize_addrmap prototype.
7790         * agent.c: Remove _initialize_agent prototype.
7791         * aix-thread.c: Remove _initialize_aix_thread prototype.
7792         * alpha-bsd-nat.c: Remove _initialize_alphabsd_nat prototype.
7793         * alpha-linux-nat.c: Remove _initialize_alpha_linux_nat prototype.
7794         * alpha-linux-tdep.c: Remove _initialize_alpha_linux_tdep
7795         prototype.
7796         * alpha-nbsd-tdep.c: Remove _initialize_alphanbsd_tdep prototype.
7797         * alpha-obsd-tdep.c: Remove _initialize_alphaobsd_tdep prototype.
7798         * alpha-tdep.c: Remove _initialize_alpha_tdep prototype.
7799         * amd64-darwin-tdep.c: Remove _initialize_amd64_darwin_tdep
7800         prototype.
7801         * amd64-dicos-tdep.c: Remove _initialize_amd64_dicos_tdep
7802         prototype.
7803         * amd64-fbsd-nat.c: Remove _initialize_amd64fbsd_nat prototype.
7804         * amd64-fbsd-tdep.c: Remove _initialize_amd64fbsd_tdep prototype.
7805         * amd64-linux-nat.c: Remove _initialize_amd64_linux_nat prototype.
7806         * amd64-linux-tdep.c: Remove _initialize_amd64_linux_tdep
7807         prototype.
7808         * amd64-nbsd-nat.c: Remove _initialize_amd64nbsd_nat prototype.
7809         * amd64-nbsd-tdep.c: Remove _initialize_amd64nbsd_tdep prototype.
7810         * amd64-obsd-nat.c: Remove _initialize_amd64obsd_nat prototype.
7811         * amd64-obsd-tdep.c: Remove _initialize_amd64obsd_tdep prototype.
7812         * amd64-sol2-tdep.c: Remove _initialize_amd64_sol2_tdep prototype.
7813         * amd64-tdep.c: Remove _initialize_amd64_tdep prototype.
7814         * amd64-windows-nat.c: Remove _initialize_amd64_windows_nat
7815         prototype.
7816         * amd64-windows-tdep.c: Remove _initialize_amd64_windows_tdep
7817         prototype.
7818         * annotate.c: Remove _initialize_annotate prototype.
7819         * arc-newlib-tdep.c: Remove _initialize_arc_newlib_tdep prototype.
7820         * arc-tdep.c: Remove _initialize_arc_tdep prototype.
7821         * arch-utils.c: Remove _initialize_gdbarch_utils prototype.
7822         * arm-linux-nat.c: Remove _initialize_arm_linux_nat prototype.
7823         * arm-linux-tdep.c: Remove _initialize_arm_linux_tdep prototype.
7824         * arm-nbsd-tdep.c: Remove _initialize_arm_netbsd_tdep prototype.
7825         * arm-obsd-tdep.c: Remove _initialize_armobsd_tdep prototype.
7826         * arm-symbian-tdep.c: Remove _initialize_arm_symbian_tdep
7827         prototype.
7828         * arm-tdep.c: Remove _initialize_arm_tdep prototype.
7829         * arm-wince-tdep.c: Remove _initialize_arm_wince_tdep prototype.
7830         * auto-load.c: Remove _initialize_auto_load prototype.
7831         * auxv.c: Remove _initialize_auxv prototype.
7832         * avr-tdep.c: Remove _initialize_avr_tdep prototype.
7833         * ax-gdb.c: Remove _initialize_ax_gdb prototype.
7834         * bfin-linux-tdep.c: Remove _initialize_bfin_linux_tdep prototype.
7835         * bfin-tdep.c: Remove _initialize_bfin_tdep prototype.
7836         * break-catch-sig.c: Remove _initialize_break_catch_sig prototype.
7837         * break-catch-syscall.c: Remove _initialize_break_catch_syscall
7838         prototype.
7839         * break-catch-throw.c: Remove _initialize_break_catch_throw
7840         prototype.
7841         * breakpoint.c: Remove _initialize_breakpoint prototype.
7842         * bsd-uthread.c: Remove _initialize_bsd_uthread prototype.
7843         * btrace.c: Remove _initialize_btrace prototype.
7844         * charset.c: Remove _initialize_charset prototype.
7845         * cli/cli-cmds.c: Remove _initialize_cli_cmds prototype.
7846         * cli/cli-dump.c: Remove _initialize_cli_dump prototype.
7847         * cli/cli-interp.c: Remove _initialize_cli_interp prototype.
7848         * cli/cli-logging.c: Remove _initialize_cli_logging prototype.
7849         * cli/cli-script.c: Remove _initialize_cli_script prototype.
7850         * coff-pe-read.c: Remove _initialize_coff_pe_read prototype.
7851         * coffread.c: Remove _initialize_coffread prototype.
7852         * compile/compile.c: Remove _initialize_compile prototype.
7853         * complaints.c: Remove _initialize_complaints prototype.
7854         * completer.c: Remove _initialize_completer prototype.
7855         * copying.awk: Remove _initialize_copying prototype.
7856         * copying.c: Regenerate.
7857         * core-regset.c: Remove _initialize_core_regset prototype.
7858         * corefile.c: Remove _initialize_core prototype.
7859         * corelow.c: Remove _initialize_corelow prototype.
7860         * cp-abi.c: Remove _initialize_cp_abi prototype.
7861         * cp-namespace.c: Remove _initialize_cp_namespace prototype.
7862         * cp-support.c: Remove _initialize_cp_support prototype.
7863         * cp-valprint.c: Remove _initialize_cp_valprint prototype.
7864         * cris-linux-tdep.c: Remove _initialize_cris_linux_tdep prototype.
7865         * cris-tdep.c: Remove _initialize_cris_tdep prototype.
7866         * ctf.c: Remove _initialize_ctf prototype.
7867         * d-lang.c: Remove _initialize_d_language prototype.
7868         * darwin-nat-info.c: Remove _initialize_darwin_info_commands
7869         prototype.
7870         * darwin-nat.c: Remove _initialize_darwin_inferior prototype.
7871         * dbxread.c: Remove _initialize_dbxread prototype.
7872         * dcache.c: Remove _initialize_dcache prototype.
7873         * demangle.c: Remove _initialize_demangler prototype.
7874         * disasm-selftests.c: Remove _initialize_disasm_selftests
7875         prototype.
7876         * disasm.c: Remove _initialize_disasm prototype.
7877         * dtrace-probe.c: Remove _initialize_dtrace_probe prototype.
7878         * dummy-frame.c: Remove _initialize_dummy_frame prototype.
7879         * dwarf2-frame-tailcall.c: Remove _initialize_tailcall_frame
7880         prototype.
7881         * dwarf2-frame.c: Remove _initialize_dwarf2_frame prototype.
7882         * dwarf2expr.c: Remove _initialize_dwarf2expr prototype.
7883         * dwarf2loc.c: Remove _initialize_dwarf2loc prototype.
7884         * dwarf2read.c: Remove _initialize_dwarf2_read prototype.
7885         * elfread.c: Remove _initialize_elfread prototype.
7886         * exec.c: Remove _initialize_exec prototype.
7887         * extension.c: Remove _initialize_extension prototype.
7888         * f-lang.c: Remove _initialize_f_language prototype.
7889         * f-valprint.c: Remove _initialize_f_valprint prototype.
7890         * fbsd-nat.c: Remove _initialize_fbsd_nat prototype.
7891         * fbsd-tdep.c: Remove _initialize_fbsd_tdep prototype.
7892         * filesystem.c: Remove _initialize_filesystem prototype.
7893         * findcmd.c: Remove _initialize_mem_search prototype.
7894         * fork-child.c: Remove _initialize_fork_child prototype.
7895         * frame-base.c: Remove _initialize_frame_base prototype.
7896         * frame-unwind.c: Remove _initialize_frame_unwind prototype.
7897         * frame.c: Remove _initialize_frame prototype.
7898         * frv-linux-tdep.c: Remove _initialize_frv_linux_tdep prototype.
7899         * frv-tdep.c: Remove _initialize_frv_tdep prototype.
7900         * ft32-tdep.c: Remove _initialize_ft32_tdep prototype.
7901         * gcore.c: Remove _initialize_gcore prototype.
7902         * gdb_bfd.c: Remove _initialize_gdb_bfd prototype.
7903         * gdbarch.c: Regenerate.
7904         * gdbarch.sh: Remove _initialize_gdbarch prototype.
7905         * gdbtypes.c: Remove _initialize_gdbtypes prototype.
7906         * gnu-nat.c: Remove _initialize_gnu_nat prototype.
7907         * gnu-v2-abi.c: Remove _initialize_gnu_v2_abi prototype.
7908         * gnu-v3-abi.c: Remove _initialize_gnu_v3_abi prototype.
7909         * go-lang.c: Remove _initialize_go_language prototype.
7910         * go32-nat.c: Remove _initialize_go32_nat prototype.
7911         * guile/guile.c: Remove _initialize_guile prototype.
7912         * h8300-tdep.c: Remove _initialize_h8300_tdep prototype.
7913         * hppa-linux-nat.c: Remove _initialize_hppa_linux_nat prototype.
7914         * hppa-linux-tdep.c: Remove _initialize_hppa_linux_tdep prototype.
7915         * hppa-nbsd-nat.c: Remove _initialize_hppanbsd_nat prototype.
7916         * hppa-nbsd-tdep.c: Remove _initialize_hppanbsd_tdep prototype.
7917         * hppa-obsd-nat.c: Remove _initialize_hppaobsd_nat prototype.
7918         * hppa-obsd-tdep.c: Remove _initialize_hppaobsd_tdep prototype.
7919         * hppa-tdep.c: Remove _initialize_hppa_tdep prototype.
7920         * i386-bsd-nat.c: Remove _initialize_i386bsd_nat prototype.
7921         * i386-cygwin-tdep.c: Remove _initialize_i386_cygwin_tdep
7922         prototype.
7923         * i386-darwin-tdep.c: Remove _initialize_i386_darwin_tdep
7924         prototype.
7925         * i386-dicos-tdep.c: Remove _initialize_i386_dicos_tdep prototype.
7926         * i386-fbsd-nat.c: Remove _initialize_i386fbsd_nat prototype.
7927         * i386-fbsd-tdep.c: Remove _initialize_i386fbsd_tdep prototype.
7928         * i386-gnu-nat.c: Remove _initialize_i386gnu_nat prototype.
7929         * i386-gnu-tdep.c: Remove _initialize_i386gnu_tdep prototype.
7930         * i386-linux-nat.c: Remove _initialize_i386_linux_nat prototype.
7931         * i386-linux-tdep.c: Remove _initialize_i386_linux_tdep prototype.
7932         * i386-nbsd-nat.c: Remove _initialize_i386nbsd_nat prototype.
7933         * i386-nbsd-tdep.c: Remove _initialize_i386nbsd_tdep prototype.
7934         * i386-nto-tdep.c: Remove _initialize_i386nto_tdep prototype.
7935         * i386-obsd-nat.c: Remove _initialize_i386obsd_nat prototype.
7936         * i386-obsd-tdep.c: Remove _initialize_i386obsd_tdep prototype.
7937         * i386-sol2-nat.c: Remove _initialize_amd64_sol2_nat prototype.
7938         * i386-sol2-tdep.c: Remove _initialize_amd64_sol2_tdep prototype.
7939         * i386-tdep.c: Remove _initialize_i386_tdep prototype.
7940         * i386-windows-nat.c: Remove _initialize_i386_windows_nat
7941         prototype.
7942         * ia64-libunwind-tdep.c: Remove _initialize_libunwind_frame
7943         prototype.
7944         * ia64-linux-nat.c: Remove _initialize_ia64_linux_nat prototype.
7945         * ia64-linux-tdep.c: Remove _initialize_ia64_linux_tdep prototype.
7946         * ia64-tdep.c: Remove _initialize_ia64_tdep prototype.
7947         * ia64-vms-tdep.c: Remove _initialize_ia64_vms_tdep prototype.
7948         * infcall.c: Remove _initialize_infcall prototype.
7949         * infcmd.c: Remove _initialize_infcmd prototype.
7950         * inferior.c: Remove _initialize_inferiors prototype.
7951         * inflow.c: Remove _initialize_inflow prototype.
7952         * infrun.c: Remove _initialize_infrun prototype.
7953         * interps.c: Remove _initialize_interpreter prototype.
7954         * iq2000-tdep.c: Remove _initialize_iq2000_tdep prototype.
7955         * jit.c: Remove _initialize_jit prototype.
7956         * language.c: Remove _initialize_language prototype.
7957         * linux-fork.c: Remove _initialize_linux_fork prototype.
7958         * linux-nat.c: Remove _initialize_linux_nat prototype.
7959         * linux-tdep.c: Remove _initialize_linux_tdep prototype.
7960         * linux-thread-db.c: Remove _initialize_thread_db prototype.
7961         * lm32-tdep.c: Remove _initialize_lm32_tdep prototype.
7962         * m2-lang.c: Remove _initialize_m2_language prototype.
7963         * m32c-tdep.c: Remove _initialize_m32c_tdep prototype.
7964         * m32r-linux-nat.c: Remove _initialize_m32r_linux_nat prototype.
7965         * m32r-linux-tdep.c: Remove _initialize_m32r_linux_tdep prototype.
7966         * m32r-tdep.c: Remove _initialize_m32r_tdep prototype.
7967         * m68hc11-tdep.c: Remove _initialize_m68hc11_tdep prototype.
7968         * m68k-bsd-nat.c: Remove _initialize_m68kbsd_nat prototype.
7969         * m68k-bsd-tdep.c: Remove _initialize_m68kbsd_tdep prototype.
7970         * m68k-linux-nat.c: Remove _initialize_m68k_linux_tdep prototype.
7971         * m68k-linux-tdep.c: Remove _initialize_m68k_linux_tdep prototype.
7972         * m68k-tdep.c: Remove _initialize_m68k_tdep prototype.
7973         * m88k-bsd-nat.c: Remove _initialize_m68kbsd_nat prototype.
7974         * m88k-tdep.c: Remove _initialize_m68kbsd_tdep prototype.
7975         * machoread.c: Remove _initialize_machoread prototype.
7976         * macrocmd.c: Remove _initialize_macrocmd prototype.
7977         * macroscope.c: Remove _initialize_macroscope prototype.
7978         * maint.c: Remove _initialize_maint_cmds prototype.
7979         * mdebugread.c: Remove _initialize_mdebugread prototype.
7980         * memattr.c: Remove _initialize_mem prototype.
7981         * mep-tdep.c: Remove _initialize_mep_tdep prototype.
7982         * mi/mi-cmd-env.c: Remove _initialize_mi_cmd_env prototype.
7983         * mi/mi-cmds.c: Remove _initialize_mi_cmds prototype.
7984         * mi/mi-interp.c: Remove _initialize_mi_interp prototype.
7985         * mi/mi-main.c: Remove _initialize_mi_main prototype.
7986         * microblaze-linux-tdep.c: Remove
7987         _initialize_microblaze_linux_tdep prototype.
7988         * microblaze-tdep.c: Remove _initialize_microblaze_tdep prototype.
7989         * mips-fbsd-nat.c: Remove _initialize_mips_fbsd_nat prototype.
7990         * mips-fbsd-tdep.c: Remove _initialize_mips_fbsd_tdep prototype.
7991         * mips-linux-nat.c: Remove _initialize_mips_linux_nat prototype.
7992         * mips-linux-tdep.c: Remove _initialize_mips_linux_tdep prototype.
7993         * mips-nbsd-nat.c: Remove _initialize_mipsnbsd_nat prototype.
7994         * mips-nbsd-tdep.c: Remove _initialize_mipsnbsd_tdep prototype.
7995         * mips-sde-tdep.c: Remove _initialize_mips_sde_tdep prototype.
7996         * mips-tdep.c: Remove _initialize_mips_tdep prototype.
7997         * mips64-obsd-nat.c: Remove _initialize_mips64obsd_nat prototype.
7998         * mips64-obsd-tdep.c: Remove _initialize_mips64obsd_tdep
7999         prototype.
8000         * mipsread.c: Remove _initialize_mipsread prototype.
8001         * mn10300-linux-tdep.c: Remove _initialize_mn10300_linux_tdep
8002         prototype.
8003         * mn10300-tdep.c: Remove _initialize_mn10300_tdep prototype.
8004         * moxie-tdep.c: Remove _initialize_moxie_tdep prototype.
8005         * msp430-tdep.c: Remove _initialize_msp430_tdep prototype.
8006         * mt-tdep.c: Remove _initialize_mt_tdep prototype.
8007         * nds32-tdep.c: Remove _initialize_nds32_tdep prototype.
8008         * nios2-linux-tdep.c: Remove _initialize_nios2_linux_tdep
8009         prototype.
8010         * nios2-tdep.c: Remove _initialize_nios2_tdep prototype.
8011         * nto-procfs.c: Remove _initialize_procfs prototype.
8012         * nto-tdep.c: Remove _initialize_nto_tdep prototype.
8013         * objc-lang.c: Remove _initialize_objc_language prototype.
8014         * objfiles.c: Remove _initialize_objfiles prototype.
8015         * observer.c: Remove observer_test_first_notification_function,
8016         observer_test_second_notification_function,
8017         observer_test_third_notification_function, and
8018         _initialize_observer prototypes.
8019         * opencl-lang.c: Remove _initialize_opencl_language prototypes.
8020         * osabi.c: Remove _initialize_gdb_osabi prototype.
8021         * osdata.c: Remove _initialize_osdata prototype.
8022         * p-valprint.c: Remove _initialize_pascal_valprint prototype.
8023         * parse.c: Remove _initialize_parse prototype.
8024         * ppc-fbsd-nat.c: Remove _initialize_ppcfbsd_nat prototype.
8025         * ppc-fbsd-tdep.c: Remove _initialize_ppcfbsd_tdep prototype.
8026         * ppc-linux-nat.c: Remove _initialize_ppc_linux_nat prototype.
8027         * ppc-linux-tdep.c: Remove _initialize_ppc_linux_tdep prototype.
8028         * ppc-nbsd-nat.c: Remove _initialize_ppcnbsd_nat prototype.
8029         * ppc-nbsd-tdep.c: Remove _initialize_ppcnbsd_tdep prototype.
8030         * ppc-obsd-nat.c: Remove _initialize_ppcobsd_nat prototype.
8031         * ppc-obsd-tdep.c: Remove _initialize_ppcobsd_tdep prototype.
8032         * printcmd.c: Remove _initialize_printcmd prototype.
8033         * probe.c: Remove _initialize_probe prototype.
8034         * proc-api.c: Remove _initialize_proc_api prototype.
8035         * proc-events.c: Remove _initialize_proc_events prototype.
8036         * proc-service.c: Remove _initialize_proc_service prototype.
8037         * procfs.c: Remove _initialize_procfs prototype.
8038         * psymtab.c: Remove _initialize_psymtab prototype.
8039         * python/python.c: Remove _initialize_python prototype.
8040         * ravenscar-thread.c: Remove _initialize_ravenscar prototype.
8041         * record-btrace.c: Remove _initialize_record_btrace prototype.
8042         * record-full.c: Remove _initialize_record_full prototype.
8043         * record.c: Remove _initialize_record prototype.
8044         * regcache.c: Remove _initialize_regcache prototype.
8045         * reggroups.c: Remove _initialize_reggroup prototype.
8046         * remote-notif.c: Remove _initialize_notif prototype.
8047         * remote-sim.c: Remove _initialize_remote_sim prototype.
8048         * remote.c: Remove _initialize_remote prototype.
8049         * reverse.c: Remove _initialize_reverse prototype.
8050         * rl78-tdep.c: Remove _initialize_rl78_tdep prototype.
8051         * rs6000-aix-tdep.c: Remove _initialize_rs6000_aix_tdep prototype.
8052         * rs6000-lynx178-tdep.c: Remove _initialize_rs6000_lynx178_tdep
8053         prototype.
8054         * rs6000-nat.c: Remove _initialize_rs6000_nat prototype.
8055         * rs6000-tdep.c: Remove _initialize_rs6000_tdep prototype.
8056         * rust-exp.y: Remove _initialize_rust_exp prototype.
8057         * rx-tdep.c: Remove _initialize_rx_tdep prototype.
8058         * s390-linux-nat.c: Remove _initialize_s390_nat prototype.
8059         * s390-linux-tdep.c: Remove _initialize_s390_tdep prototype.
8060         * score-tdep.c: Remove _initialize_score_tdep prototype.
8061         * selftest-arch.c: Remove _initialize_selftests_foreach_arch
8062         prototype.
8063         * ser-go32.c: Remove _initialize_ser_dos prototype.
8064         * ser-mingw.c: Remove _initialize_ser_windows prototype.
8065         * ser-pipe.c: Remove _initialize_ser_pipe prototype.
8066         * ser-tcp.c: Remove _initialize_ser_tcp prototype.
8067         * ser-unix.c: Remove _initialize_ser_hardwire prototype.
8068         * serial.c: Remove _initialize_serial prototype.
8069         * sh-linux-tdep.c: Remove _initialize_sh_linux_tdep prototype.
8070         * sh-nbsd-nat.c: Remove _initialize_shnbsd_nat prototype.
8071         * sh-nbsd-tdep.c: Remove _initialize_shnbsd_tdep prototype.
8072         * sh-tdep.c: Remove _initialize_sh_tdep prototype.
8073         * skip.c: Remove _initialize_step_skip prototype.
8074         * sol-thread.c: Remove _initialize_sol_thread prototype.
8075         * solib-aix.c: Remove _initialize_solib_aix prototype.
8076         * solib-darwin.c: Remove _initialize_darwin_solib prototype.
8077         * solib-dsbt.c: Remove _initialize_dsbt_solib prototype.
8078         * solib-frv.c: Remove _initialize_frv_solib prototype.
8079         * solib-spu.c: Remove _initialize_spu_solib prototype.
8080         * solib-svr4.c: Remove _initialize_svr4_solib prototype.
8081         * solib-target.c: Remove _initialize_solib_target prototype.
8082         * solib.c: Remove _initialize_solib prototype.
8083         * source.c: Remove _initialize_source prototype.
8084         * sparc-linux-nat.c: Remove _initialize_sparc_linux_nat prototype.
8085         * sparc-linux-tdep.c: Remove _initialize_sparc_linux_tdep
8086         prototype.
8087         * sparc-nat.c: Remove _initialize_sparc_nat prototype.
8088         * sparc-nbsd-nat.c: Remove _initialize_sparcnbsd_nat prototype.
8089         * sparc-nbsd-tdep.c: Remove _initialize_sparcnbsd_tdep prototype.
8090         * sparc-obsd-tdep.c: Remove _initialize_sparc32obsd_tdep
8091         prototype.
8092         * sparc-sol2-nat.c: Remove _initialize_sparc_sol2_nat prototype.
8093         * sparc-sol2-tdep.c: Remove _initialize_sparc_sol2_tdep prototype.
8094         * sparc-tdep.c: Remove _initialize_sparc_tdep prototype.
8095         * sparc64-fbsd-nat.c: Remove _initialize_sparc64fbsd_nat
8096         prototype.
8097         * sparc64-fbsd-tdep.c: Remove _initialize_sparc64fbsd_tdep
8098         prototype.
8099         * sparc64-linux-nat.c: Remove _initialize_sparc64_linux_nat
8100         prototype.
8101         * sparc64-linux-tdep.c: Remove _initialize_sparc64_linux_tdep
8102         prototype.
8103         * sparc64-nat.c: Remove _initialize_sparc64_nat prototype.
8104         * sparc64-nbsd-nat.c: Remove _initialize_sparc64nbsd_nat
8105         prototype.
8106         * sparc64-nbsd-tdep.c: Remove _initialize_sparc64nbsd_tdep
8107         prototype.
8108         * sparc64-obsd-nat.c: Remove _initialize_sparc64obsd_nat
8109         prototype.
8110         * sparc64-obsd-tdep.c: Remove _initialize_sparc64obsd_tdep
8111         prototype.
8112         * sparc64-sol2-tdep.c: Remove _initialize_sparc64_sol2_tdep
8113         prototype.
8114         * spu-linux-nat.c: Remove _initialize_spu_nat prototype.
8115         * spu-multiarch.c: Remove _initialize_spu_multiarch prototype.
8116         * spu-tdep.c: Remove _initialize_spu_tdep prototype.
8117         * stabsread.c: Remove _initialize_stabsread prototype.
8118         * stack.c: Remove _initialize_stack prototype.
8119         * stap-probe.c: Remove _initialize_stap_probe prototype.
8120         * std-regs.c: Remove _initialize_frame_reg prototype.
8121         * symfile-debug.c: Remove _initialize_symfile_debug prototype.
8122         * symfile-mem.c: Remove _initialize_symfile_mem prototype.
8123         * symfile.c: Remove _initialize_symfile prototype.
8124         * symmisc.c: Remove _initialize_symmisc prototype.
8125         * symtab.c: Remove _initialize_symtab prototype.
8126         * target-dcache.c: Remove _initialize_target_dcache prototype.
8127         * target-descriptions.c: Remove _initialize_target_descriptions
8128         prototype.
8129         * thread.c: Remove _initialize_thread prototype.
8130         * tic6x-linux-tdep.c: Remove _initialize_tic6x_linux_tdep
8131         prototype.
8132         * tic6x-tdep.c: Remove _initialize_tic6x_tdep prototype.
8133         * tilegx-linux-nat.c: Remove _initialize_tile_linux_nat prototype.
8134         * tilegx-linux-tdep.c: Remove _initialize_tilegx_linux_tdep
8135         prototype.
8136         * tilegx-tdep.c: Remove _initialize_tilegx_tdep prototype.
8137         * tracefile-tfile.c: Remove _initialize_tracefile_tfile prototype.
8138         * tracefile.c: Remove _initialize_tracefile prototype.
8139         * tracepoint.c: Remove _initialize_tracepoint prototype.
8140         * tui/tui-hooks.c: Remove _initialize_tui_hooks prototype.
8141         * tui/tui-interp.c: Remove _initialize_tui_interp prototype.
8142         * tui/tui-layout.c: Remove _initialize_tui_layout prototype.
8143         * tui/tui-regs.c: Remove _initialize_tui_regs prototype.
8144         * tui/tui-stack.c: Remove _initialize_tui_stack prototype.
8145         * tui/tui-win.c: Remove _initialize_tui_win prototype.
8146         * tui/tui.c: Remove _initialize_tui prototype.
8147         * typeprint.c: Remove _initialize_typeprint prototype.
8148         * user-regs.c: Remove _initialize_user_regs prototype.
8149         * utils.c: Remove _initialize_utils prototype.
8150         * v850-tdep.c: Remove _initialize_v850_tdep prototype.
8151         * valarith.c: Remove _initialize_valarith prototype.
8152         * valops.c: Remove _initialize_valops prototype.
8153         * valprint.c: Remove _initialize_valprint prototype.
8154         * value.c: Remove _initialize_values prototype.
8155         * varobj.c: Remove _initialize_varobj prototype.
8156         * vax-bsd-nat.c: Remove _initialize_vaxbsd_nat prototype.
8157         * vax-nbsd-tdep.c: Remove _initialize_vaxnbsd_tdep prototype.
8158         * vax-tdep.c: Remove _initialize_vax_tdep prototype.
8159         * windows-nat.c: Remove _initialize_windows_nat,
8160         _initialize_check_for_gdb_ini, and _initialize_loadable
8161         prototypes.
8162         * windows-tdep.c: Remove _initialize_windows_tdep prototype.
8163         * xcoffread.c: Remove _initialize_xcoffread prototype.
8164         * xml-support.c: Remove _initialize_xml_support prototype.
8165         * xstormy16-tdep.c: Remove _initialize_xstormy16_tdep prototype.
8166         * xtensa-linux-nat.c: Remove _initialize_xtensa_linux_nat
8167         prototype.
8168         * xtensa-linux-tdep.c: Remove _initialize_xtensa_linux_tdep
8169         prototype.
8170         * xtensa-tdep.c: Remove _initialize_xtensa_tdep prototype.
8171
8172 2017-09-08  Keith Seitz  <keiths@redhat.com>
8173
8174         * dwarf2read.c (struct field_info) <fnfields>: Remove unused
8175         field.
8176
8177 2017-09-08  Christoph Weinmann  <christoph.t.weinmann@intel.com>
8178
8179         * f-valprint.c (f_val_print): Remove check for one byte
8180         sized integers. Remove printing of character type.
8181
8182 2017-09-08  Frank Penczek  <frank.penczek@intel.com>
8183             Christoph Weinmann  <christoph.t.weinmann@intel.com>
8184             Bernhard Heckel  <bernhard.heckel@intel.com>
8185
8186         * f-typeprint.c (f_type_print_base): Use fprintfi_filtered
8187         to maintain proper indentation when printing pointers/refs.
8188
8189 2017-09-07  Joel Brobecker  <brobecker@adacore.com>
8190
8191         GDB 8.0.1 released.
8192
8193 2017-09-07  Joel Brobecker  <brobecker@adacore.com>
8194
8195         * NEWS (Changes in GDB 7.11): Remove entry for QStartupWithShell.
8196
8197 2017-09-05  Tom Tromey  <tom@tromey.com>
8198
8199         * parse.c (funcall_chain): Now a std::vector.
8200         (start_arglist, end_arglist): Simplify.
8201         (free_funcalls): Remove.
8202         (parse_exp_in_context_1): Remove cleanup.
8203
8204 2017-09-05  Tom Tromey  <tom@tromey.com>
8205
8206         * go-exp.y (go_parse): Don't create a cleanup.
8207
8208 2017-09-05  Tom Tromey  <tom@tromey.com>
8209
8210         * d-exp.y (PrimaryExpression): Use std::string.
8211         (d_parse): Don't create a cleanup.
8212
8213 2017-09-05  Tom Tromey  <tom@tromey.com>
8214
8215         * utils.c (do_clear_parser_state): Remove.
8216         (make_cleanup_clear_parser_state): Remove.
8217         * p-exp.y (pascal_parse): Use scoped_restore.
8218         * m2-exp.y (m2_parse): Use scoped_restore.
8219         * f-exp.y (f_parse): Use scoped_restore.
8220         * d-exp.y (d_parse): Use scoped_restore.
8221         * c-exp.y (c_parse): Use scoped_restore.
8222         * ada-exp.y (ada_parse): Use scoped_restore.
8223         * utils.h (make_cleanup_clear_parser_state): Remove.
8224
8225 2017-09-06  Keith Seitz  <keiths@redhat.com>
8226
8227         * dwarf2read.c (dw2_linkage_name_attr): New function.
8228         (dw2_linkage_name): New function.
8229         (dwarf2_compute_name, dwarf2_physname, read_call_site_scope)
8230         (guess_full_die_structure_name, dwarf2_name): Use dw2_linkage_name.
8231         (anonymous_struct_prefix, dwarf2_name): Use dw2_linkage_name_attr.
8232
8233 2017-09-06  Kamil Rytarowski  <n54@gmx.com>
8234
8235         * config/djgpp/djconfig.sh: Correct shell portability issue.
8236
8237 2017-09-06  Kamil Rytarowski  <n54@gmx.com>
8238
8239         * configure.nat: Define HAVE_NATIVE_GCORE_HOST on NetBSD.
8240
8241 2017-09-06  John Baldwin  <jhb@FreeBSD.org>
8242
8243         * Makefile.in (ALLDEPFILES): Add mips-fbsd-nat.c.
8244         * NEWS: Mention new FreeBSD/mips native configuration.
8245         * configure.host: Add aarch64*-*-freebsd*.
8246         * configure.nat: Likewise.
8247         * aarch64-fbsd-nat.c: New file.
8248
8249 2017-09-06  John Baldwin  <jhb@FreeBSD.org>
8250
8251         * Makefile.in (ALL_64_TARGET_OBS): Add aarch64-fbsd-tdep.o.
8252         (ALLDEPFILES): Add aarch64-fbsd-tdep.c.
8253         * NEWS: Mention new FreeBSD/aarch64 target.
8254         * configure.tgt: Add aarch64*-*-freebsd*.
8255         * aarch64-fbsd-tdep.c: New file.
8256         * aarch64-fbsd-tdep.h: New file.
8257
8258 2017-09-06  Kamil Rytarowski  <n54@gmx.com>
8259
8260         * MAINTAINERS (Write After Approval): Add Kamil Rytarowski.
8261
8262 2017-09-06  Jan Kratochvil  <jan.kratochvil@redhat.com>
8263
8264         * parse.c (find_minsym_type_and_address): Don't relocate addresses
8265         of TLS symbols.
8266
8267 2017-09-05  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
8268
8269         * objfiles.c (get_objfile_bfd_data): Remove useless obstack_init
8270         call.
8271
8272 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8273
8274         * infrun.c (follow_exec): Call add_thread after
8275         target_find_description.
8276
8277 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8278
8279         * infrun.c (handle_inferior_event_1): When exec'ing, read
8280         stop_pc after follow_exec.
8281
8282 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8283
8284         * remote.c (process_g_packet): Update error message.
8285
8286 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8287
8288         * configure.tgt (gdb_target_obs): Add i386.o for x86_64-*
8289         targets.
8290
8291 2017-09-05  Pedro Alves  <palves@redhat.com>
8292
8293         * eval.c (eval_call, evaluate_funcall): New functions, factored
8294         out from ...
8295         (evaluate_subexp_standard): ... this.
8296
8297 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8298
8299         * amd64-tdep.c (amd64_target_description): Create target
8300         descriptions.
8301         (_initialize_amd64_tdep): Don't call functions
8302         initialize_tdesc_amd64_*.  Add self tests.
8303         * arch/amd64.c (amd64_create_target_description): Add parameter
8304         is_linux.  Call set_tdesc_osabi if is_linux is true.
8305         * arch/amd64.h (amd64_create_target_description): Update the
8306         declaration.
8307         * arch/i386.c (i386_create_target_description): Add parameter
8308         is_linux.  Call set_tdesc_osabi if is_linux is true.
8309         * arch/i386.h (i386_create_target_description): Update
8310         declaration.
8311         * configure.tgt: Add i386.o to gdb_target_obs.
8312         * features/Makefile (XMLTOC): Remove i386/*.xml.
8313         * features/i386/amd64-avx-avx512.c: Remove.
8314         * features/i386/amd64-avx-mpx-avx512-pku.c: Remove.
8315         * features/i386/amd64-avx-mpx.c: Remove.
8316         * features/i386/amd64-avx.c: Remove.
8317         * features/i386/amd64-mpx.c: Remove.
8318         * features/i386/amd64.c: Remove.
8319         * features/i386/i386-avx-avx512.c: Remove.
8320         * features/i386/i386-avx-mpx-avx512-pku.c: Remove.
8321         * features/i386/i386-avx-mpx.c: Remove.
8322         * features/i386/i386-avx.c: Remove.
8323         * features/i386/i386-mmx.c: Remove.
8324         * features/i386/i386-mpx.c: Remove.
8325         * features/i386/i386.c: Remove.
8326         * i386-tdep.c: Don't include features/i386/i386*.c., include
8327         target-descriptions.h and arch/i386.h.
8328         (i386_target_description): Create target descriptions.
8329         (i386_gdbarch_init): Don't call initialize_tdesc_i386_*
8330         functions.  Do self tests.
8331
8332 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8333
8334         * features/Makefile (XMLTOC): Remove i386/amd64XXX-linux.xml.
8335         * features/i386/amd64-avx-avx512-linux.c: Removed.
8336         * features/i386/amd64-avx-linux.c: Removed.
8337         * features/i386/amd64-avx-mpx-avx512-pku-linux.c: Removed.
8338         * features/i386/amd64-avx-mpx-linux.c: Removed.
8339         * features/i386/amd64-linux.c: Removed.
8340         * features/i386/amd64-mpx-linux.c: Removed.
8341         * features/i386/x32-avx-avx512-linux.c: Removed.
8342         * features/i386/x32-avx-linux.c: Removed.
8343         * features/i386/x32-linux.c: Removed.
8344
8345 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8346
8347         * amd64-linux-tdep.c: Include arch/amd64.h.  Don't include
8348         features/i386/*.c.
8349         (amd64_linux_read_description): Call
8350         amd64_create_target_description.
8351         * arch/amd64.c: New file.
8352         * arch/amd64.h: New file.
8353         * configure.tgt (x86_64-*-linux*): Append amd64.o.
8354         * Makefile.in (ALL_64_TARGET_OBS): Append amd64.o.
8355
8356 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8357
8358         * amd64-linux-tdep.c: Don't include amd64-XXX-linux and
8359         x32-XXX-linux.c.  Include 64bit-XX.c and x32-XX.c.
8360         (amd64_linux_read_description): Create target descriptions.
8361         (_initialize_amd64_linux_tdep): Don't call initialize_tdesc_XXX
8362         functions.  Add unit tests.
8363         * features/Makefile (FEATURE_XMLFILES): Append 64bit-XXX.xml and
8364         x32-core.xml.
8365         * features/i386/64bit-avx.c: Generated.
8366         * features/i386/64bit-avx512.c: Generated.
8367         * features/i386/64bit-core.c: Generated.
8368         * features/i386/64bit-linux.c: Generated.
8369         * features/i386/64bit-mpx.c: Generated.
8370         * features/i386/64bit-pkeys.c: Generated.
8371         * features/i386/64bit-segments.c: Generated.
8372         * features/i386/64bit-sse.c: Generated.
8373         * features/i386/x32-core.c: Generated.
8374         * target-descriptions.c (maint_print_c_tdesc_cmd): Print feature
8375         c files for amd64-linux and x32-linux.
8376
8377 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8378
8379         * amd64-linux-tdep.c (amd64_linux_read_description): New
8380         function.
8381         (amd64_linux_core_read_description): Call
8382         amd64_linux_read_description.
8383         (amd64_linux_init_abi): Likewise.
8384         (amd64_x32_linux_init_abi): Likewise.
8385         * amd64-linux-tdep.h (amd64_linux_read_description): Declare.
8386         * x86-linux-nat.c (x86_linux_read_description): Call
8387         amd64_linux_read_description.
8388
8389 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8390
8391         * amd64-linux-tdep.c (amd64_linux_core_read_description): Update
8392         comments.
8393
8394 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8395
8396         * features/Makefile (XMLTOC): Remove i386/i386-XX-linux.xml.
8397         * features/i386/i386-avx-avx512-linux.c: Remove.
8398         * features/i386/i386-avx-linux.c: Remove.
8399         * features/i386/i386-avx-mpx-avx512-pku-linux.c: Remove.
8400         * features/i386/i386-avx-mpx-linux.c: Remove.
8401         * features/i386/i386-linux.c: Remove.
8402         * features/i386/i386-mmx-linux.c: Remove.
8403         * features/i386/i386-mpx-linux.c: Remove.
8404
8405 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8406
8407         * Makefile.in (ALL_TARGET_OBS): Add i386.o.
8408         (SFILES): Add arch/i386.c.
8409         (HFILES_NO_SRCDIR): Add arch/i386.h.
8410         * arch/i386.c: New file.
8411         * arch/i386.h: New file.
8412         * arch/tdesc.h (allocate_target_description): Declare.
8413         (set_tdesc_architecture): Declare.
8414         (set_tdesc_osabi): Declare.
8415         * configure.tgt (i[34567]86-*-linux*): Add i386.o.
8416         * i386-linux-tdep.c: Don't include ../features/i386/32bit-XXX.c.
8417         include arch/i386.h.
8418         (i386_linux_read_description): Remove code and call
8419         i386_create_target_description.
8420         (set_tdesc_architecture): New function.
8421         (set_tdesc_osabi): New function.
8422         * target-descriptions.h (allocate_target_description): Remove.
8423
8424 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8425
8426         * arch/tdesc.h (tdesc_create_feature): Add an argument xml.
8427         * target-descriptions.c (tdesc_create_feature): Likewise, and
8428         adjust code.
8429         * features/i386/32bit-avx.c: Re-generated.
8430         * features/i386/32bit-avx512.c: Re-generated.
8431         * features/i386/32bit-core.c: Re-generated.
8432         * features/i386/32bit-linux.c: Re-generated.
8433         * features/i386/32bit-mpx.c: Re-generated.
8434         * features/i386/32bit-pkeys.c: Re-generated.
8435         * features/i386/32bit-sse.c: Re-generated.
8436
8437 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8438
8439         * regformats/regdef.h (struct reg): Override operator == and !=.
8440
8441 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8442
8443         * arch/tdesc.h: New file.
8444         * regformats/regdat.sh: Generate code using tdesc_create_reg.
8445         * target-descriptions.c: Update comments.
8446         * target-descriptions.h: Include "arch/tdesc.h".  Remove the
8447         declarations.
8448         * features/i386/32bit-avx.c: Re-generated.
8449         * features/i386/32bit-avx512.c: Re-generated.
8450         * features/i386/32bit-core.c: Re-generated.
8451         * features/i386/32bit-linux.c: Re-generated.
8452         * features/i386/32bit-mpx.c: Re-generated.
8453         * features/i386/32bit-pkeys.c: Re-generated.
8454         * features/i386/32bit-sse.c: Re-generated.
8455
8456 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8457
8458         * regformats/regdat.sh: Update generated code.
8459
8460 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8461
8462         * regformats/regdat.sh: Adjust code order.
8463
8464 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8465
8466         * expprint.c (dump_subexp_body_standard): Use constant format
8467         string in fprintf_filtered call.
8468
8469 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8470
8471         * configure.nat: Add "x86-nat.o x86-dregs.o" for NetBSD/amd64 and
8472         NetBSD/i386.
8473         * x86-bsd-nat.c [!DBREG_DRX && __NetBSD__]: Define DBREG_DRX.
8474
8475 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8476
8477         * bsd-kvm.o: Make <sys/user.h> conditional on HAVE_SYS_USER_H.
8478
8479 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8480
8481         * bsd-kvm.o: Define _KMEMUSER.
8482         * configure.ac: Define _KMEMUSER when checking for "struct lwp".
8483         * configure: Regenerate.
8484
8485 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8486
8487         * amd64-fbsd-nat.c: Add include of "x86-xstate.h".
8488         * i386-fbsd-nat.c: Likewise.
8489
8490 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8491
8492         * unittests/array-view-selftests.c: Add include of <array>.
8493
8494 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8495
8496         * spu-tdep.c (flush_ea_cache): Add missing argument to
8497         call_function_by_hand.
8498
8499 2017-09-04  Pedro Alves  <palves@redhat.com>
8500
8501         * NEWS (Safer support for debugging with no debug info): New.
8502
8503 2017-09-04  Pedro Alves  <palves@redhat.com>
8504
8505         * c-exp.y (function_method, function_method_void): Add current
8506         instance flags to TYPE_INSTANCE.
8507         * dwarf2read.c (check_modifier): New.
8508         (compute_delayed_physnames): Assert that only C++ adds delayed
8509         physnames.  Mark fn_fields as const/volatile depending on
8510         physname.
8511         * eval.c (make_params): New type_instance_flags parameter.  Use
8512         it as the new type's instance flags.
8513         (evaluate_subexp_standard) <TYPE_INSTANCE>: Extract the instance
8514         flags element and pass it to make_params.
8515         * expprint.c (print_subexp_standard) <TYPE_INSTANCE>: Handle
8516         instance flags element.
8517         (dump_subexp_body_standard) <TYPE_INSTANCE>: Likewise.
8518         * gdbtypes.h: Include "enum-flags.h".
8519         (type_instance_flags): New enum-flags type.
8520         (TYPE_CONST, TYPE_VOLATILE, TYPE_RESTRICT, TYPE_ATOMIC)
8521         (TYPE_CODE_SPACE, TYPE_DATA_SPACE): Return boolean.
8522         * parse.c (operator_length_standard) <TYPE_INSTANCE>: Adjust.
8523         (follow_type_instance_flags): New function.
8524         (operator_check_standard) <TYPE_INSTANCE>: Adjust.
8525         * parser-defs.h (follow_type_instance_flags): Declare.
8526         * valops.c (value_struct_elt_for_reference): const/volatile must
8527         match too.
8528
8529 2017-09-04  Pedro Alves  <palves@redhat.com>
8530
8531         * cp-namespace.c (cp_search_static_and_baseclasses): Handle
8532         function/method scopes; lookup the nested name as a function local
8533         static variable.
8534
8535 2017-09-04  Pedro Alves  <palves@redhat.com>
8536
8537         (%type <voidval>): Add function_method.
8538         * c-exp.y (exp): New production for calls with no arguments.
8539         (function_method, function_method_void_or_typelist): New
8540         productions.
8541         (exp): New production for "method()::static_var".
8542         * eval.c (evaluate_subexp_standard): Handle OP_FUNC_STATIC_VAR.
8543         * expprint.c (print_subexp_standard, dump_subexp_body_standard):
8544         Handle OP_FUNC_STATIC_VAR.
8545         * parse.c (operator_length_standard):
8546         Handle OP_FUNC_STATIC_VAR.
8547
8548 2017-09-04  Pedro Alves  <palves@redhat.com>
8549
8550         * eval.c (evaluate_subexp_standard): Remove UNOP_MEMVAL_TLS
8551         handling.
8552         * expprint.c (print_subexp_standard, dump_subexp_body_standard):
8553         Ditto.
8554         * parse.c (operator_length_standard, operator_check_standard):
8555         Ditto.
8556         * std-operator.def (UNOP_MEMVAL_TLS): Delete.
8557
8558 2017-09-04  Pedro Alves  <palves@redhat.com>
8559
8560         * ax-gdb.c: Include "typeprint.h".
8561         (gen_expr_for_cast): New function.
8562         (gen_expr) <OP_CAST, OP_CAST_TYPE>: Use it.
8563         <OP_VAR_VALUE, OP_MSYM_VAR_VALUE>: Error out if the variable's
8564         type is unknown.
8565         * dwarf2read.c (new_symbol_full): Fallback to int instead of
8566         nodebug_data_symbol.
8567         * eval.c: Include "typeprint.h".
8568         (evaluate_subexp_standard) <OP_VAR_VALUE, OP_VAR_MSYM_VALUE>:
8569         Error out if symbol has unknown type.
8570         <UNOP_CAST, UNOP_CAST_TYPE>: Common bits factored out to
8571         evaluate_subexp_for_cast.
8572         (evaluate_subexp_for_address, evaluate_subexp_for_sizeof): Handle
8573         OP_VAR_MSYM_VALUE.
8574         (evaluate_subexp_for_cast): New function.
8575         * gdbtypes.c (init_nodebug_var_type): New function.
8576         (objfile_type): Use it to initialize types of variables with no
8577         debug info.
8578         * typeprint.c (error_unknown_type): New.
8579         * typeprint.h (error_unknown_type): New declaration.
8580         * compile/compile-c-types.c (convert_type_basic): Handle
8581         TYPE_CODE_ERROR; warn and fallback to int for variables with
8582         unknown type.
8583
8584 2017-09-04  Pedro Alves  <palves@redhat.com>
8585
8586         * eval.c (evaluate_var_value): New function, factored out from ...
8587         (evaluate_subexp_standard): ... here.
8588
8589 2017-09-04  Pedro Alves  <palves@redhat.com>
8590
8591         * eval.c (evaluate_subexp_standard) <UNOP_COMPLEMENT, UNOP_ADDR>:
8592         Remove useless assignments to 'op'.
8593
8594 2017-09-04  Pedro Alves  <palves@redhat.com>
8595
8596         * eval.c (eval_skip_value): New function.
8597         (evaluate_subexp_standard): Use it.
8598
8599 2017-09-04  Pedro Alves  <palves@redhat.com>
8600
8601         * eval.c (evaluate_subexp_standard): <OP_FUNCALL>: Extract
8602         function name from symbol/minsym and pass it to
8603         error_call_unknown_return_type.
8604
8605 2017-09-04  Pedro Alves  <palves@redhat.com>
8606
8607         * ada-lang.c (resolve_subexp): Handle OP_VAR_MSYM_VALUE.
8608         * ax-gdb.c (gen_msym_var_ref): New function.
8609         (gen_expr): Handle OP_VAR_MSYM_VALUE.
8610         * eval.c (evaluate_var_msym_value): New function.
8611         * eval.c (evaluate_subexp_standard): Handle OP_VAR_MSYM_VALUE.
8612         <OP_FUNCALL>: Extract function name from symbol/minsym and pass it
8613         to call_function_by_hand.
8614         * expprint.c (print_subexp_standard, dump_subexp_body_standard):
8615         Handle OP_VAR_MSYM_VALUE.
8616         (union exp_element) <msymbol>: New field.
8617         * minsyms.h (struct type): Forward declare.
8618         (find_minsym_type_and_address): Declare.
8619         * parse.c (write_exp_elt_msym): New function.
8620         (write_exp_msymbol): Delete, refactored as ...
8621         (find_minsym_type_and_address): ... this new function.
8622         (write_exp_msymbol): Reimplement using OP_VAR_MSYM_VALUE.
8623         (operator_length_standard, operator_check_standard): Handle
8624         OP_VAR_MSYM_VALUE.
8625         * std-operator.def (OP_VAR_MSYM_VALUE): New.
8626
8627 2017-09-04  Pedro Alves  <palves@redhat.com>
8628
8629         * ada-lang.c (ada_evaluate_subexp) <TYPE_CODE_FUNC>: Don't handle
8630         TYPE_GNU_IFUNC specially here.  Throw error if return type is
8631         unknown.
8632         * ada-typeprint.c (print_func_type): Handle functions with unknown
8633         return type.
8634         * c-typeprint.c (c_type_print_base): Handle functions and methods
8635         with unknown return type.
8636         * compile/compile-c-symbols.c (convert_symbol_bmsym)
8637         <mst_text_gnu_ifunc>: Use nodebug_text_gnu_ifunc_symbol.
8638         * compile/compile-c-types.c: Include "objfiles.h".
8639         (convert_func): For functions with unknown return type, warn and
8640         default to int.
8641         * compile/compile-object-run.c (compile_object_run): Adjust call
8642         to call_function_by_hand_dummy.
8643         * elfread.c (elf_gnu_ifunc_resolve_addr): Adjust call to
8644         call_function_by_hand.
8645         * eval.c (evaluate_subexp_standard): Adjust calls to
8646         call_function_by_hand.  Handle functions and methods with unknown
8647         return type.  Pass expect_type to call_function_by_hand.
8648         * f-typeprint.c (f_type_print_base): Handle functions with unknown
8649         return type.
8650         * gcore.c (call_target_sbrk): Adjust call to
8651         call_function_by_hand.
8652         * gdbtypes.c (objfile_type): Leave nodebug text symbol with NULL
8653         return type instead of int.  Make nodebug_text_gnu_ifunc_symbol be
8654         an integer address type instead of nodebug.
8655         * guile/scm-value.c (gdbscm_value_call): Adjust call to
8656         call_function_by_hand.
8657         * infcall.c (error_call_unknown_return_type): New function.
8658         (call_function_by_hand): New "default_return_type" parameter.
8659         Pass it down.
8660         (call_function_by_hand_dummy): New "default_return_type"
8661         parameter.  Use it instead of defaulting to int.  If there's no
8662         default and the return type is unknown, throw an error.  If
8663         there's a default return type, and the called function has no
8664         debug info, then assume the function is prototyped.
8665         * infcall.h (call_function_by_hand, call_function_by_hand_dummy):
8666         New "default_return_type" parameter.
8667         (error_call_unknown_return_type): New declaration.
8668         * linux-fork.c (call_lseek): Cast return type of lseek.
8669         (inferior_call_waitpid, checkpoint_command): Adjust calls to
8670         call_function_by_hand.
8671         * linux-tdep.c (linux_infcall_mmap, linux_infcall_munmap): Adjust
8672         calls to call_function_by_hand.
8673         * m2-typeprint.c (m2_procedure): Handle functions with unknown
8674         return type.
8675         * objc-lang.c (lookup_objc_class, lookup_child_selector)
8676         (value_nsstring, print_object_command): Adjust calls to
8677         call_function_by_hand.
8678         * p-typeprint.c (pascal_type_print_varspec_prefix): Handle
8679         functions with unknown return type.
8680         (pascal_type_print_func_varspec_suffix): New function.
8681         (pascal_type_print_varspec_suffix) <TYPE_CODE_FUNC,
8682         TYPE_CODE_METHOD>: Use it.
8683         * python/py-value.c (valpy_call): Adjust call to
8684         call_function_by_hand.
8685         * rust-lang.c (rust_evaluate_funcall): Adjust call to
8686         call_function_by_hand.
8687         * valarith.c (value_x_binop, value_x_unop): Adjust calls to
8688         call_function_by_hand.
8689         * valops.c (value_allocate_space_in_inferior): Adjust call to
8690         call_function_by_hand.
8691         * typeprint.c (type_print_unknown_return_type): New function.
8692         * typeprint.h (type_print_unknown_return_type): New declaration.
8693
8694 2017-09-04  Pedro Alves  <palves@redhat.com>
8695
8696         * gdbtypes.c (lookup_function_type_with_arguments): Mark function
8697         types with more than one parameter as prototyped.
8698
8699 2017-09-04  Pedro Alves  <palves@redhat.com>
8700
8701         * cli/cli-cmds.c (print_disassembly, disassemble_current_function)
8702         (disassemble_command): Use gdb_disassembly_flags instead of bare
8703         int.
8704         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn)
8705         (dump_insns, do_mixed_source_and_assembly_deprecated)
8706         (do_mixed_source_and_assembly, do_assembly_only, gdb_disassembly):
8707         Use gdb_disassembly_flags instead of bare int.
8708         * disasm.h (DISASSEMBLY_SOURCE_DEPRECATED, DISASSEMBLY_RAW_INSN)
8709         (DISASSEMBLY_OMIT_FNAME, DISASSEMBLY_FILENAME)
8710         (DISASSEMBLY_OMIT_PC, DISASSEMBLY_SOURCE)
8711         (DISASSEMBLY_SPECULATIVE): No longer macros.  Instead they're...
8712         (enum gdb_disassembly_flag): ... values of this new enumeration.
8713         (gdb_disassembly_flags): Define.
8714         (gdb_disassembly)
8715         (gdb_pretty_print_disassembler::pretty_print_insn): Use it.
8716         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Use
8717         gdb_disassembly_flags instead of bare int.
8718         * record-btrace.c (btrace_insn_history)
8719         (record_btrace_insn_history, record_btrace_insn_history_range)
8720         (record_btrace_insn_history_from): Use gdb_disassembly_flags
8721         instead of bare int.
8722         * record.c (get_insn_history_modifiers, cmd_record_insn_history):
8723         Use gdb_disassembly_flags instead of bare int.
8724         * target-debug.h (target_debug_print_gdb_disassembly_flags):
8725         Define.
8726         * target-delegates.c: Regenerate.
8727         * target.c (target_insn_history, target_insn_history_from)
8728         (target_insn_history_range): Use gdb_disassembly_flags instead of
8729         bare int.
8730         * target.h: Include "disasm.h".
8731         (struct target_ops) <to_insn_history, to_insn_history_from,
8732         to_insn_history_range>: Use gdb_disassembly_flags instead of bare
8733         int.
8734         (target_insn_history, target_insn_history_from)
8735         (target_insn_history_range): Use gdb_disassembly_flags instead of
8736         bare int.
8737
8738 2017-09-04  Simon Marchi  <simon.marchi@ericsson.com>
8739
8740         * cli/cli-script.c (build_command_line): For if/while commands,
8741         check whether args is empty.
8742
8743 2017-09-04  Simon Marchi  <simon.marchi@ericsson.com>
8744
8745         * cli/cli-script.h (enum misc_command_type): Move from defs.h.
8746         (enum command_control_type): Likewise.
8747         (struct command_line): Likewise.
8748         (free_command_lines): Likewise.
8749         (struct command_lines_deleter): Likewise.
8750         (command_line_up): Likewise.
8751         (read_command_lines): Likewise.
8752         (read_command_lines_1): Likewise.
8753         * defs.h (enum misc_command_type): Move to cli/cli-script.h.
8754         (enum command_control_type): Likewise.
8755         (struct command_line): Likewise.
8756         (free_command_lines): Likewise.
8757         (struct command_lines_deleter): Likewise.
8758         (command_line_up): Likewise.
8759         (read_command_lines): Likewise.
8760         (read_command_lines_1): Likewise.
8761         * breakpoint.h: Include cli/cli-script.h.
8762         * extension-priv.h: Likewise.
8763         * gdbcmd.h: Likewise.
8764
8765 2017-09-04  Pedro Alves  <palves@redhat.com>
8766
8767         * ada-lang.c (is_known_support_routine): Move sal declaration to
8768         where it is initialized.
8769         * breakpoint.c (create_internal_breakpoint, init_catchpoint)
8770         (parse_breakpoint_sals, decode_static_tracepoint_spec)
8771         (clear_command, update_static_tracepoint): Remove init_sal
8772         references.  Move declarations closer to initializations.
8773         * cli/cli-cmds.c (list_command): Move sal declarations closer to
8774         initializations.
8775         * elfread.c (elf_gnu_ifunc_resolver_stop): Remove init_sal
8776         references.  Move sal declarations closer to initializations.
8777         * frame.c (find_frame_sal): Return a symtab_and_line via function
8778         return instead of output parameter.  Remove init_sal references.
8779         * frame.h (find_frame_sal): Return a symtab_and_line via function
8780         return instead of output parameter.
8781         * guile/scm-frame.c (gdbscm_frame_sal): Adjust.
8782         * guile/scm-symtab.c (stscm_make_sal_smob): Use in-place new
8783         instead of memset.
8784         (gdbscm_find_pc_line): Remove init_sal reference.
8785         * infcall.c (call_function_by_hand_dummy): Remove init_sal
8786         references.  Move declarations closer to initializations.
8787         * infcmd.c (set_step_frame): Update.  Move declarations closer to
8788         initializations.
8789         (finish_backward): Remove init_sal references.  Move declarations
8790         closer to initializations.
8791         * infrun.c (process_event_stop_test, handle_step_into_function)
8792         (insert_hp_step_resume_breakpoint_at_frame)
8793         (insert_step_resume_breakpoint_at_caller): Likewise.
8794         * linespec.c (create_sals_line_offset, decode_digits_ordinary)
8795         (symbol_to_sal): Likewise.
8796         * probe.c (parse_probes_in_pspace): Remove init_sal reference.
8797         * python/py-frame.c (frapy_find_sal): Move sal declaration closer
8798         to its initialization.
8799         * reverse.c (save_bookmark_command): Use new/delete.  Remove
8800         init_sal references.  Move declarations closer to initializations.
8801         * source.c (get_current_source_symtab_and_line): Remove brace
8802         initialization.
8803         (set_current_source_symtab_and_line): Now takes the sal by const
8804         reference.  Remove brace initialization.
8805         (line_info): Remove init_sal reference.
8806         * source.h (set_current_source_symtab_and_line): Now takes a
8807         symtab_and_line via const reference.
8808         * stack.c (set_current_sal_from_frame): Adjust.
8809         (print_frame_info): Adjust.
8810         (get_last_displayed_sal): Return the sal via function return
8811         instead of via output parameter.  Simplify.
8812         (frame_info): Adjust.
8813         * stack.h (get_last_displayed_sal): Return the sal via function
8814         return instead of via output parameter.
8815         * symtab.c (init_sal): Delete.
8816         (find_pc_sect_line): Remove init_sal references.  Move
8817         declarations closer to initializations.
8818         (find_function_start_sal): Remove init_sal references.  Move
8819         declarations closer to initializations.
8820         * symtab.h (struct symtab_and_line): In-class initialize all
8821         fields.
8822         * tracepoint.c (set_traceframe_context)
8823         (print_one_static_tracepoint_marker): Remove init_sal references.
8824         Move declarations closer to initializations.
8825         * tui/tui-disasm.c (tui_show_disassem_and_update_source): Adjust.
8826         * tui/tui-stack.c (tui_show_frame_info): Adjust.  Move
8827         declarations closer to initializations.
8828         * tui/tui-winsource.c (tui_update_source_window_as_is): Remove
8829         init_sal references.  Adjust.
8830
8831 2017-09-04  Pedro Alves  <palves@redhat.com>
8832
8833         * ax-gdb.c (agent_command_1): Use range-for.
8834         * break-catch-throw.c (re_set_exception_catchpoint): Update.
8835         * breakpoint.c: Include "common/array-view.h".
8836         (init_breakpoint_sal, create_breakpoint_sal): Change sals
8837         parameter from struct symtabs_and_lines to
8838         array_view<symtab_and_line>.  Adjust.  Use range-for.  Update.
8839         (breakpoint_sals_to_pc): Change sals parameter from struct
8840         symtabs_and_lines to std::vector reference.
8841         (check_fast_tracepoint_sals): Change sals parameter from struct
8842         symtabs_and_lines to std::array_view.  Use range-for.
8843         (decode_static_tracepoint_spec): Return a std::vector instead of
8844         symtabs_and_lines.  Update.
8845         (create_breakpoint): Update.
8846         (break_range_command, until_break_command, clear_command): Update.
8847         (base_breakpoint_decode_location, bkpt_decode_location)
8848         (bkpt_probe_create_sals_from_location)
8849         (bkpt_probe_decode_location, tracepoint_decode_location)
8850         (tracepoint_probe_decode_location)
8851         (strace_marker_create_sals_from_location): Return a std::vector
8852         instead of symtabs_and_lines.
8853         (strace_marker_create_breakpoints_sal): Update.
8854         (strace_marker_decode_location): Return a std::vector instead of
8855         symtabs_and_lines.  Update.
8856         (update_breakpoint_locations): Change struct symtabs_and_lines
8857         parameters to gdb::array_view.  Adjust.
8858         (location_to_sals): Return a std::vector instead of
8859         symtabs_and_lines.  Update.
8860         (breakpoint_re_set_default): Use std::vector instead of struct
8861         symtabs_and_lines.
8862         (decode_location_default): Return a std::vector instead of
8863         symtabs_and_lines.  Update.
8864         * breakpoint.h: Include "common/array-view.h".
8865         (struct breakpoint_ops) <decode_location>: Now returns a
8866         std::vector instead of returning a symtabs_and_lines via output
8867         parameter.
8868         (update_breakpoint_locations): Change sals parameters to use
8869         gdb::array_view.
8870         * cli/cli-cmds.c (edit_command, list_command): Update to use
8871         std::vector and gdb::array_view.
8872         (ambiguous_line_spec): Adjust to use gdb::array_view and
8873         range-for.
8874         (compare_symtabs): Rename to ...
8875         (cmp_symtabs): ... this.  Change parameters to symtab_and_line
8876         const reference and adjust.
8877         (filter_sals): Rewrite using std::vector and standard algorithms.
8878         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Simplify.
8879         (jump_command): Update to use std::vector.
8880         * linespec.c (struct linespec_state) <canonical_names>: Update
8881         comment.
8882         (add_sal_to_sals_basic): Delete.
8883         (add_sal_to_sals, filter_results, convert_results_to_lsals)
8884         (decode_line_2, create_sals_line_offset)
8885         (convert_address_location_to_sals, convert_linespec_to_sals)
8886         (convert_explicit_location_to_sals, parse_linespec)
8887         (event_location_to_sals, decode_line_full, decode_line_1)
8888         (decode_line_with_current_source)
8889         (decode_line_with_last_displayed, decode_objc)
8890         (decode_digits_list_mode, decode_digits_ordinary, minsym_found)
8891         (linespec_result::~linespec_result): Adjust to use std::vector
8892         instead of symtabs_and_lines.
8893         * linespec.h (linespec_sals::sals): Now a std::vector.
8894         (struct linespec_result): Use std::vector, bool, and in-class
8895         initialization.
8896         (decode_line_1, decode_line_with_current_source)
8897         (decode_line_with_last_displayed): Return std::vector.
8898         * macrocmd.c (info_macros_command): Use std::vector.
8899         * mi/mi-main.c (mi_cmd_trace_find): Use std::vector.
8900         * probe.c (parse_probes_in_pspace, parse_probes): Adjust to use
8901         std::vector.
8902         * probe.h (parse_probes): Return a std::vector.
8903         * python/python.c (gdbpy_decode_line): Use std::vector and
8904         gdb::array_view.
8905         * source.c (select_source_symtab, line_info): Use std::vector.
8906         * stack.c (func_command): Use std::vector.
8907         * symtab.h (struct symtabs_and_lines): Delete.
8908         * tracepoint.c (tfind_line_command, scope_info): Use std::vector.
8909
8910 2017-09-04  Pedro Alves  <palves@redhat.com>
8911
8912         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8913         unittests/array-view-selftests.c.
8914         (SUBDIR_UNITTESTS_OBS): Add array-view-selftests.o.
8915         * common/array-view.h: New file.
8916         * unittests/array-view-selftests.c: New file.
8917
8918 2017-09-04  Pedro Alves  <palves@redhat.com>
8919
8920         * cli/cli-cmds.c (edit_command): Pass message to
8921         ambiguous_line_spec.
8922         (list_command): Pass message to ambiguous_line_spec.  Say
8923         "first"/"last" instead of "start" and "end" to be consistent with
8924         the manual.
8925         (ambiguous_line_spec): Add 'format' and vararg parameters.  Use
8926         them to print formatted message.
8927
8928 2017-09-04  Pedro Alves  <palves@redhat.com>
8929
8930         * btrace.c (ftrace_add_pt): Pass btrace_insn to
8931         ftrace_update_insns by reference instead of pointer.
8932
8933 2017-09-04  Yao Qi  <yao.qi@linaro.org>
8934
8935         * i386-go32-tdep.c: Include x86-xstate.h.
8936         (i386_go32_init_abi): Call i386_target_description.
8937         * i386-tdep.c (i386_target_description): Return tdesc_i386_mmx
8938         if xcr0 is X86_XSTATE_X87_MASK.
8939         * i386-tdep.h (tdesc_i386): Remove the declaration.
8940         (tdesc_i386_mmx): Likewise.
8941
8942 2017-09-04  Yao Qi  <yao.qi@linaro.org>
8943
8944         * i386-fbsd-tdep.c (i386fbsd_core_read_xcr0): Return
8945         X86_XSTATE_SSE_MASK instead of 0.
8946
8947 2017-09-04  Yao Qi  <yao.qi@linaro.org>
8948
8949         * amd64-fbsd-nat.c (amd64fbsd_read_description): Call
8950         i386_target_description.
8951         * i386-fbsd-nat.c (i386fbsd_read_description): Call
8952         i386_target_description.
8953         * i386-tdep.c (i386_gdbarch_init): Likewise.
8954
8955 2017-09-04  Yao Qi  <yao.qi@linaro.org>
8956
8957         * amd64-darwin-tdep.c: Include "x86-xstate.h".
8958         (x86_darwin_init_abi_64): Call amd64_target_description.
8959         * amd64-dicos-tdep.c: Likewise.
8960         * amd64-fbsd-nat.c: Likewise.
8961         * amd64-fbsd-tdep.c: Likewise.
8962         * amd64-nbsd-tdep.c: Likewise.
8963         * amd64-obsd-tdep.c: Likewise.
8964         * amd64-sol2-tdep.c: Likewise.
8965         * amd64-windows-tdep.c: Likewise.
8966         * amd64-tdep.h (tdesc_amd64): Remove the declaration.
8967
8968 2017-09-04  Simon Marchi  <simon.marchi@ericsson.com>
8969
8970         * btrace.h (btrace_insn_s, DEF_VEC_O (btrace_insn_s)): Remove.
8971         (btrace_function) <insn>: Change type to use std::vector.
8972         * btrace.c (ftrace_debug, ftrace_call_num_insn,
8973         ftrace_find_call, ftrace_new_gap, ftrace_update_function,
8974         ftrace_update_insns, ftrace_compute_global_level_offset,
8975         btrace_stitch_bts, btrace_clear, btrace_insn_get,
8976         btrace_insn_end, btrace_insn_next, btrace_insn_prev): Adjust to
8977         change to std::vector.
8978         (ftrace_update_insns): Adjust to change to std::vector, change
8979         type of INSN parameter.
8980         (btrace_compute_ftrace_bts): Adjust call to ftrace_update_insns.
8981         * record-btrace.c (btrace_call_history_insn_range,
8982         btrace_compute_src_line_range,
8983         record_btrace_frame_prev_register): Adjust to change to
8984         std::vector.
8985         * python/py-record-btrace.c (recpy_bt_func_instructions): Adjust
8986         to change to std::vector.
8987
8988 2017-09-03  Tom Tromey  <tom@tromey.com>
8989
8990         * corefile.c (reopen_exec_file): Use std::string.
8991
8992 2017-09-03  Tom Tromey  <tom@tromey.com>
8993
8994         * compile/compile.c (compile_register_name_mangled): Return
8995         std::string.
8996         * compile/compile-loc2c.c (pushf_register_address): Update.
8997         (pushf_register): Update.
8998         * compile/compile-c-types.c (convert_array): Update.
8999         * compile/compile-c-symbols.c (generate_vla_size): Update.
9000         (error_symbol_once): Use a gdb::unique_xmalloc_ptr.
9001         (symbol_substitution_name): Return a gdb::unique_xmalloc_ptr.
9002         (convert_one_symbol): Update.
9003         (generate_c_for_for_one_variable): Update.
9004         * compile/compile-c-support.c (c_get_range_decl_name): Return a
9005         std::string.
9006         (generate_register_struct): Update.
9007         * compile/compile-internal.h (c_get_range_decl_name): Return a
9008         std::string.
9009         (compile_register_name_mangled): Return std::string.
9010
9011 2017-09-03  Tom Tromey  <tom@tromey.com>
9012
9013         * utils.c (perror_string): Return a std::string.
9014         (throw_perror_with_name, perror_warning_with_name): Update.
9015
9016 2017-09-03  Tom Tromey  <tom@tromey.com>
9017
9018         * demangle.c (demangle_command): Use std::string,
9019         unique_xmalloc_ptr.
9020
9021 2017-09-03  Tom Tromey  <tom@tromey.com>
9022
9023         * cli/cli-setshow.c (do_set_command): Use std::string.
9024
9025 2017-09-03  Tom Tromey  <tom@tromey.com>
9026
9027         * cli/cli-cmds.c (cd_command): Use gdb::unique_xmalloc_ptr.
9028
9029 2017-09-03  Tom Tromey  <tom@tromey.com>
9030
9031         * mi/mi-interp.c (mi_cmd_interpreter_exec): Use std::string.
9032
9033 2017-09-03  Tom Tromey  <tom@tromey.com>
9034
9035         * mi/mi-cmd-env.c (env_execute_cli_command): Use
9036         gdb::unique_xmalloc_ptr.
9037
9038 2017-09-03  Tom Tromey  <tom@tromey.com>
9039
9040         * thread.c (print_thread_info_1): Use string_printf.
9041         (thread_apply_command, thread_apply_all_command): Use
9042         std::string.
9043
9044 2017-09-03  Tom Tromey  <tom@tromey.com>
9045
9046         * valprint.c (val_print_string): Update.
9047         * gdbcore.h (memory_error_message): Return std::string.
9048         * corefile.c (memory_error_message): Return std::string.
9049         (memory_error): Update.
9050         * breakpoint.c (insert_bp_location): Update.
9051
9052 2017-09-03  Simon Marchi  <simon.marchi@ericsson.com>
9053
9054         * target/waitstatus.h (target_waitstatus_to_string): Change
9055         return type to std::string.
9056         * target/waitstatus.c (target_waitstatus_to_string): Return
9057         std::string.
9058         * target.h (target_waitstatus_to_string): Remove declaration.
9059         * infrun.c (resume, clear_proceed_status_thread,
9060         print_target_wait_results, do_target_wait, save_waitstatus,
9061         stop_all_threads): Adjust.
9062         * record-btrace.c (record_btrace_wait): Adjust.
9063         * target-debug.h
9064         (target_debug_print_struct_target_waitstatus_p): Adjust.
9065
9066 2017-09-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
9067
9068         PR gdb/22046
9069         * nat/linux-procfs.c (parse_proc_status_state): Fix PROC_STATE_STOPPED
9070         detection.
9071
9072 2017-08-31  Sergio Durigan Junior  <sergiodj@redhat.com>
9073
9074         * NEWS (Changes since GDB 8.0): Add entry mentioning new support
9075         for setting/unsetting environment variables on the remote target.
9076         (New remote packets): Add entries for QEnvironmentHexEncoded,
9077         QEnvironmentUnset and QEnvironmentReset.
9078         * common/environ.c (gdb_environ::operator=): Extend method to
9079         handle m_user_set_env_list and m_user_unset_env_list.
9080         (gdb_environ::clear): Likewise.
9081         (match_var_in_string): Change type of first parameter from 'char
9082         *' to 'const char *'.
9083         (gdb_environ::set): Extend method to handle
9084         m_user_set_env_list and m_user_unset_env_list.
9085         (gdb_environ::unset): Likewise.
9086         (gdb_environ::clear_user_set_env): New method.
9087         (gdb_environ::user_set_envp): Likewise.
9088         (gdb_environ::user_unset_envp): Likewise.
9089         * common/environ.h (gdb_environ): Handle m_user_set_env_list and
9090         m_user_unset_env_list on move constructor/assignment.
9091         (unset): Add new default parameter 'update_unset_list = true'.
9092         (clear_user_set_env): New method.
9093         (user_set_envp): Likewise.
9094         (user_unset_envp): Likewise.
9095         (m_user_set_env_list): New std::set.
9096         (m_user_unset_env_list): Likewise.
9097         * common/rsp-low.c (hex2str): New function.
9098         (bin2hex): New overload for bin2hex function.
9099         * common/rsp-low.c (hex2str): New prototype.
9100         (str2hex): New overload prototype.
9101         * remote.c: Include "environ.h". Add QEnvironmentHexEncoded,
9102         QEnvironmentUnset and QEnvironmentReset.
9103         (remote_protocol_features): Add QEnvironmentHexEncoded,
9104         QEnvironmentUnset and QEnvironmentReset packets.
9105         (send_environment_packet): New function.
9106         (extended_remote_environment_support): Likewise.
9107         (extended_remote_create_inferior): Call
9108         extended_remote_environment_support.
9109         (_initialize_remote): Add QEnvironmentHexEncoded,
9110         QEnvironmentUnset and QEnvironmentReset packet configs.
9111         * unittests/environ-selftests.c (gdb_selftest_env_var):
9112         New variable.
9113         (test_vector_initialization): New function.
9114         (test_init_from_host_environ): Likewise.
9115         (test_reinit_from_host_environ): Likewise.
9116         (test_set_A_unset_B_unset_A_cannot_find_A_can_find_B):
9117         Likewise.
9118         (test_unset_set_empty_vector): Likewise.
9119         (test_vector_clear): Likewise.
9120         (test_std_move): Likewise.
9121         (test_move_constructor):
9122         (test_self_move): Likewise.
9123         (test_set_unset_reset): Likewise.
9124         (run_tests): Rewrite in terms of the functions above.
9125
9126 2017-08-31  Weimin Pan  <weimin.pan@oracle.com>
9127
9128         * sparc64-tdep.c (adi_stat_t): Fix comment formatting.
9129         (adi_available): Use a temp variable of type CORE_ADDR as argument
9130         3 when calling target_auxv_search.
9131         (adi_normalize_address): Use masks and xor operators to calculate
9132         normalized address.
9133         (adi_read_versions, adi_write_versions, adi_print_versions)
9134         (do_examine, do_assign): Use paddress.
9135
9136 2017-08-29  John Baldwin  <jhb@FreeBSD.org>
9137
9138         * mips-fbsd-nat.c (getfpregs_supplies): Return true for FIR.
9139         * mips-fbsd-tdep.c (mips_fbsd_supply_fpregs): Split supply of FSR
9140         out of loop and add supply of FIR.
9141         (mips_fbsd_collect_fpregs): Split collect of FSR out of loop and
9142         add collect of FIR.
9143
9144 2017-08-28  Simon Marchi  <simon.marchi@ericsson.com>
9145
9146         PR gdb/21827
9147         * cli/cli-script.c (define_command): Don't convert command name
9148         to lower case.
9149
9150 2017-08-25  Joel Brobecker  <brobecker@adacore.com>
9151
9152         * ada-lang.c (ada_lookup_struct_elt_type): Remove parameter "dispp".
9153         Update all callers accordingly. Remove all code blocks handling
9154         the case where DISPP is not NULL.
9155
9156 2017-08-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
9157
9158         PR symtab/22003
9159         * dwarf2read.c (dwarf2_const_value_attr, dump_die_shallow)
9160         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
9161         (skip_form_bytes, attr_form_is_constant): Handle DW_FORM_implicit_const.
9162
9163 2017-08-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
9164
9165         * dwarf2read.c (build_type_psymtabs_reader): New prototype.
9166         (process_psymtab_comp_unit): Accept IS_DEBUG_TYPES.
9167         (read_comp_units_from_section): New parameter abbrev_section, use
9168         read_and_check_comp_unit_head, allocate signatured_type if needed.
9169         (create_all_comp_units): Update read_comp_units_from_section caller.
9170
9171 2017-08-23  Pedro Alves  <palves@redhat.com>
9172
9173         PR remote/21852
9174         * remote.c (add_current_inferior_and_thread): Set inferior_ptid
9175         to null_ptid and switch to thread without reading the registers
9176         after adding the inferior.
9177
9178 2017-08-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
9179
9180         * NEWS (Changes since GDB 8.0): Add set compile-gcc and show
9181         compile-gcc.
9182         * compile/compile.c (compile_gcc, show_compile_gcc): New.
9183         (compile_to_object): Implement compile_gcc.
9184         (_initialize_compile): Install "set compile-gcc".  Initialize
9185         compile_gcc.
9186
9187 2017-08-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
9188
9189         * compile/compile.c (compile_to_object): Conditionally call
9190         set_verbose.  Conditionally call compile or compile_v0.
9191
9192 2017-08-07  Weimin Pan  <weimin.pan@oracle.com>
9193
9194         * sparc64-tdep.h: (adi_normalize_address): New export.
9195         * sparc-nat.h: (open_adi_tag_fd): New export.
9196         * sparc64-linux-nat.c: (open_adi_tag_fd): New function.
9197         * sparc64-linux-tdep.c:
9198         (SEGV_ACCADI, SEGV_ADIDERR, SEGV_ADIPERR) New defines.
9199         (sparc64_linux_handle_segmentation_fault): New function.
9200         (sparc64_linux_init_abi): Register
9201         sparc64_linux_handle_segmentation_fault
9202         * sparc64-tdep.c: Include cli-utils.h,gdbcmd.h,auxv.h.
9203         (sparc64_addr_bits_remove): New function.
9204         (sparc64_init_abi): Register sparc64_addr_bits_remove.
9205         (MAX_PROC_NAME_SIZE): New macro.
9206         (AT_ADI_BLKSZ, AT_ADI_NBITS, AT_ADI_UEONADI) New defines.
9207         (sparc64adilist): New variable.
9208         (adi_proc_list): New variable.
9209         (find_adi_info): New function.
9210         (add_adi_info): New function.
9211         (get_adi_info_proc): New function.
9212         (get_adi_info): New function.
9213         (info_adi_command): New function.
9214         (read_maps_entry): New function.
9215         (adi_available): New function.
9216         (adi_normalize_address): New function.
9217         (adi_align_address): New function.
9218         (adi_convert_byte_count): New function.
9219         (adi_tag_fd): New function.
9220         (adi_is_addr_mapped): New function.
9221         (adi_read_versions): New function.
9222         (adi_write_versions): New function.
9223         (adi_print_versions): New function.
9224         (do_examine): New function.
9225         (do_assign): New function.
9226         (adi_examine_command): New function.
9227         (adi_assign_command): New function.
9228         (_initialize_sparc64_adi_tdep): New function.
9229
9230 2017-08-22  Simon Marchi  <simon.marchi@ericsson.com>
9231
9232         * breakpoint.c (breakpoints_info): Rename to ...
9233         (info_breakpoints_command): ... this.
9234         (watchpoints_info): Rename to ...
9235         (info_watchpoints_command): ... this.
9236         (tracepoints_info): Rename to ...
9237         (info_tracepoints_command): ... this.
9238         (_initialize_breakpoint): Adjust.
9239         * dcache.c (dcache_info): Rename to ...
9240         (info_display_command): ... this.
9241         (_initialize_dcache): Adjust.
9242         * frame.h (args_info): Rename to ...
9243         (info_args_command): ... this.
9244         (locals_info): Rename to ...
9245         (info_locals_command): ... this.
9246         * infcmd.c (nofp_registers_info): Rename to ...
9247         (info_registers_command): ... this.
9248         (float_info): Rename to ...
9249         (info_float_command): ... this.
9250         (program_info): Rename to ...
9251         (info_program_command): ... this.
9252         (all_registers_info): Rename to ...
9253         (info_all_registers_command): ... this.
9254         (vector_info): Rename to ...
9255         (info_vector_command): ... this.
9256         (float_info): Rename to ...
9257         (info_float_command): ... this.
9258         (_initialize_infcmd): Adjust.
9259         * inferior.h (term_info): Rename to ...
9260         (info_terminal_command): ... this.
9261         * inflow.c (term_info): Rename to ...
9262         (info_terminal_command): ... this.
9263         (_initialize_inflow): Adjust.
9264         * infrun.c (signals_info): Rename to ...
9265         (info_signals_command): ... this.
9266         (_initialize_infrun): Adjust.
9267         * objc-lang.c (classes_info): Rename to ...
9268         (info_classes_command): ... this.
9269         (selectors_info): Rename to ...
9270         (info_selectors_command): ... this.
9271         (_initialize_objc_language): Adjust.
9272         * printcmd.c (sym_info): Rename to ...
9273         (info_symbol_command): ... this.
9274         (address_info): Rename to ...
9275         (info_address_command): ... this.
9276         (display_info): Rename to ...
9277         (info_display_command): ... this.
9278         (_initialize_printcmd): Adjust.
9279         * reverse.c (bookmarks_info): Rename to ...
9280         (info_breakpoints_command): ... this.
9281         (_initialize_reverse): Adjust.
9282         * ser-go32.c (dos_info): Rename to ...
9283         (info_serial_command): ... this.
9284         (_initialize_ser_dos): Adjust.
9285         * skip.c (skip_info): Rename to ...
9286         (info_skip_command): ... this.
9287         (_initialize_step_skip): Adjust.
9288         * source.c (line_info): Rename to ...
9289         (info_line_command): ... this.
9290         (source_info): Rename to ...
9291         (info_source_command)
9292         * stack.c (frame_info): Rename to ...
9293         (info_frame_command): ... this.
9294         (locals_info): Rename to ...
9295         (info_locals_command): ... this.
9296         (args_info): Rename to ...
9297         (info_args_command): ... this.
9298         (_initialize_stack): Adjust.
9299         * symtab.c (sources_info): Rename to ...
9300         (info_sources_command): ... this.
9301         (variables_info): Rename to ...
9302         (info_variables_command): ... this.
9303         (functions_info): Rename to ...
9304         (info_functions_command): ... this.
9305         (types_info): Rename to ...
9306         (info_types_command): ... this.
9307         (_initialize_symtab): Adjust.
9308         * target.c (target_info): Rename to ...
9309         (info_target_command): ... this.
9310         (initialize_targets): Adjust.
9311         * tracepoint.c (tvariables_info): Rename to ...
9312         (info_tvariables_command): ... this.
9313         (scope_info): Rename to ...
9314         (info_scope_command): ... this.
9315         (trace_dump_actions): Adjust.
9316         (_initialize_tracepoint): Adjust.
9317
9318 2017-08-22  Tom Tromey  <tom@tromey.com>
9319
9320         * breakpoint.h (install_breakpoint): Update.
9321         * breakpoint.c (add_solib_catchpoint): Update.
9322         (install_breakpoint): Change argument to a std::unique_ptr.
9323         (create_fork_vfork_event_catchpoint): Use std::unique_ptr.
9324         (create_breakpoint_sal, create_breakpoint): Update.
9325         (watch_command_1, catch_exec_command_1)
9326         (strace_marker_create_breakpoints_sal): Use std::unique_ptr.
9327         (add_to_breakpoint_chain): Change argument to a std::unique_ptr.
9328         Return the breakpoint.
9329         (set_raw_breakpoint_without_location, set_raw_breakpoint)
9330         (new_single_step_breakpoint): Update.
9331         * break-catch-throw.c (handle_gnu_v3_exceptions): Use
9332         std::unique_ptr.
9333         * break-catch-syscall.c (create_syscall_event_catchpoint): Use
9334         std::unique_ptr.
9335         * break-catch-sig.c (create_signal_catchpoint): Use
9336         std::unique_ptr.
9337         * ada-lang.c (create_ada_exception_catchpoint): Use
9338         std::unique_ptr.
9339
9340 2017-08-22  Tom Tromey  <tom@tromey.com>
9341
9342         * breakpoint.c (add_solib_catchpoint): Use std::unique_ptr.
9343
9344 2017-08-22  Tom Tromey  <tom@tromey.com>
9345
9346         * psymtab.c (psymtab_search_name): Return a unique_xmalloc_ptr.
9347         (lookup_partial_symbol): Update.
9348
9349 2017-08-22  Tom Tromey  <tom@tromey.com>
9350
9351         * source.h (rewrite_source_path): Return a unique_xmalloc_ptr.
9352         * source.c (rewrite_source_path): Return a unique_xmalloc_ptr.
9353         (find_and_open_source, symtab_to_fullname): Update.
9354         * psymtab.c (psymtab_to_fullname): Update.
9355
9356 2017-08-22  Tom Tromey  <tom@tromey.com>
9357
9358         * exec.c (exec_file_attach): Update.
9359         * linux-thread-db.c (try_thread_db_load): Update.
9360         * guile/scm-safe-call.c (gdbscm_safe_source_script): Update.
9361         * utils.c (gdb_realpath): Change return type.
9362         (gdb_realpath_keepfile): Update.
9363         (gdb_realpath_check_trailer, gdb_realpath_tests): New functions.
9364         (_initialize_utils): Register the new self test.
9365         * source.c (openp): Update.
9366         (find_and_open_source): Update.
9367         * nto-tdep.c (nto_find_and_open_solib): Update.
9368         * main.c (set_gdb_data_directory): Update.
9369         (captured_main_1): Update.
9370         * dwarf2read.c (dwarf2_get_dwz_file): Update
9371         (dw2_map_symbol_filenames): Update.
9372         * auto-load.c (auto_load_safe_path_vec_update): Update.
9373         (filename_is_in_auto_load_safe_path_vec): Change type of
9374         "filename_realp".
9375         (auto_load_objfile_script): Update.
9376         (file_is_auto_load_safe): Update.  Use std::string.
9377         * utils.h (gdb_realpath): Return a gdb::unique_xmalloc_ptr.
9378
9379 2017-08-22  Tom Tromey  <tom@tromey.com>
9380
9381         * utils.c (gdb_realpath_keepfile): Return a
9382         gdb::unique_xmalloc_ptr.
9383         * exec.c (exec_file_attach): Update.
9384         * utils.h (gdb_realpath_keepfile): Return a
9385         gdb::unique_xmalloc_ptr.
9386
9387 2017-08-22  Tom Tromey  <tom@tromey.com>
9388
9389         * compile/compile.c (compile_file_command): Use
9390         gdb::unique_xmalloc_ptr, std::string.
9391         * utils.c (gdb_abspath): Change return type.
9392         * source.c (openp): Update.
9393         * objfiles.c (allocate_objfile): Update.
9394         * main.c (set_gdb_data_directory): Update.
9395         * utils.h (gdb_abspath): Return a gdb::unique_xmalloc_ptr.
9396
9397 2017-08-22  Zhouyi Zhou  <zhouzhouyi@gmail.com>
9398
9399         * cli-cmds.c (list_commands): List actual code around more than
9400         one location.
9401
9402 2017-08-21  John Baldwin  <jhb@FreeBSD.org>
9403
9404         * fbsd-nat.c (fbsd_add_threads): Use array type for `lwps'.
9405
9406 2017-08-21  Pedro Alves  <palves@redhat.com>
9407
9408         PR gdb/19487
9409         * c-exp.y (variable production): Handle function aliases.
9410         * minsyms.c (msymbol_is_text): New function.
9411         * minsyms.h (msymbol_is_text): Declare.
9412         * symtab.c (find_function_alias_target): New function.
9413         * symtab.h (find_function_alias_target): Declare.
9414
9415 2017-08-21  Pedro Alves  <palves@redhat.com>
9416
9417         * eval.c (evaluate_subexp_standard) <OP_TYPE>: Don't dig past
9418         typedefs.
9419         * typeprint.c (whatis_exp): If handling "whatis", and expression
9420         is OP_TYPE, strip one typedef level.  Otherwise don't strip
9421         typedefs here.
9422         * valops.c (value_cast): Save "to" type before resolving
9423         stubs/typedefs.  Use that type as resulting value's type.
9424
9425 2017-08-18  Tom Tromey  <tom@tromey.com>
9426             Pedro Alves  <palves@redhat.com>
9427
9428         * spu-multiarch.c (parse_spufs_run): Use scoped_restore.
9429         * sol-thread.c (sol_thread_resume, sol_thread_wait)
9430         (sol_thread_xfer_partial, rw_common): Use scoped_restore.
9431         * procfs.c (procfs_do_thread_registers): Use scoped_restore.
9432         * proc-service.c (ps_xfer_memory): Use scoped_restore.
9433         * linux-tdep.c (linux_corefile_thread): Remove a cleanup.
9434         (linux_get_siginfo_data): Add "thread" argument.  Use
9435         scoped_restore.
9436         * linux-nat.c (linux_child_follow_fork)
9437         (check_stopped_by_watchpoint): Use scoped_restore.
9438         * infrun.c (displaced_step_prepare_throw, write_memory_ptid)
9439         (THREAD_STOPPED_BY, handle_signal_stop): Use scoped_restore.
9440         (restore_inferior_ptid, save_inferior_ptid): Remove.
9441         * btrace.c (btrace_fetch): Use scoped_restore.
9442         * bsd-uthread.c (bsd_uthread_fetch_registers)
9443         (bsd_uthread_store_registers): Use scoped_restore.
9444         * breakpoint.c (reattach_breakpoints, detach_breakpoints): Use
9445         scoped_restore.
9446         * aix-thread.c (aix_thread_resume, aix_thread_wait)
9447         (aix_thread_xfer_partial): Use scoped_restore.
9448         * inferior.h (save_inferior_ptid): Remove.
9449
9450 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9451
9452         PR tdep/21818
9453         * arm-tdep.c (gdb_print_insn_arm): Mark
9454         USER_SPECIFIED_MACHINE_TYPE if exec_bfd isn't NULL.
9455
9456 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9457
9458         * NEWS: Mention GDBserver's new option "--selftest".
9459         * Makefile.in (SFILES): Remove selftest.c, add common/selftest.c.
9460         * selftest.c: Move it to common/selftest.c.
9461         * selftest.h: Move it to common/selftest.h.
9462         * selftest-arch.c (reset): New function.
9463         (tests_with_arch): Call reset.
9464
9465 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9466
9467         * selftest.c (run_tests): Don't call QUIT.  Call debug_printf
9468         instead of exception_fprintf and printf_filtered.
9469
9470 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9471
9472         * selftest.c (register_self_test): Rename it to
9473         selftests::register_test.
9474         (run_self_tests): selftest::run_tests.
9475         * selftest.h: Update declarations.
9476         * selftest-arch.c (register_self_test_foreach_arch): Rename it to
9477         selftests::register_test_foreach_arch.
9478         * selftest-arch.h: Update declaration.
9479         * aarch64-tdep.c: Update.
9480         * arm-tdep.c: Likewise.
9481         * disasm-selftests.c: Likewise.
9482         * dwarf2loc.c: Likewise.
9483         * dwarf2-frame.c: Likewise.
9484         * findvar.c: Likewise.
9485         * gdbarch-selftests.c: Likewise.
9486         * maint.c (maintenance_selftest): Likewise.
9487         * regcache.c: Likewise.
9488         * rust-exp.y: Likewise.
9489         * selftest-arch.c: Likewise.
9490         * unittests/environ-selftests.c: Likewise.
9491         * unittests/function-view-selftests.c: Likewise.
9492         * unittests/offset-type-selftests.c: Likewise.
9493         * unittests/optional-selftests.c: Likewise.
9494         * unittests/scoped_restore-selftests.c: Likewise.
9495         * utils-selftests.c: Likewise.
9496
9497 2017-08-17  Pedro Alves  <palves@redhat.com>
9498
9499         * cli/cli-cmds.c (source_command): Delete 'old_source_verbose'
9500         local.
9501
9502 2017-08-17  Pedro Alves  <palves@redhat.com>
9503
9504         * dwarf2read.c (struct dwarf2_cu) <line_header_die_owner>: New
9505         field.
9506         (reset_die_in_process): Delete, replaced by ...
9507         (process_die_scope): ... this new class.  Make it responsible for
9508         freeing cu->line_header too.
9509         (process_die): Use process_die_scope.
9510         (handle_DW_AT_stmt_list): Record the line header's owner CU/DIE in
9511         cu->line_header_die_owner.  Don't release the line header if it's
9512         owned by the CU.
9513         (setup_type_unit_groups): Make the CU/DIE own the line header.
9514         Don't release the line header here.
9515
9516 2017-08-17  Alex Lindsay  <alexlindsay239@gmail.com>  (tiny change)
9517
9518         * elfread.c (elf_read_minimal_symbols): xfree synthsyms.
9519
9520 2017-08-17  Ruslan Kabatsayev  <b7.10110111@gmail.com>
9521
9522         * NEWS: Mention new shortcuts for nexti and stepi in TUI
9523         Single-Key mode
9524
9525 2017-08-16  Ruslan Kabatsayev  <b7.10110111@gmail.com>
9526
9527         * tui/tui.c (tui_commands): Add "nexti" and "stepi" to the Single-Key
9528         mode command list.
9529
9530 2017-08-15  Stafford Horne  <shorne@gmail.com>
9531
9532         * MAINTAINERS (Write After Approval): Add Stafford Horne.
9533
9534 2017-08-15  Stafford Horne  <shorne@gmail.com>
9535
9536         * xtensa-tdep.c (xtensa_init_reggroups): Use xstrdup for cpname.
9537
9538 2017-08-15  Sergio Durigan Junior  <sergiodj@redhat.com>
9539
9540         PR gdb/21954
9541         * infcmd.c (unset_environment_command): Use the 'clear' method on
9542         the environment instead of resetting it.
9543
9544 2017-08-15  John Baldwin  <jhb@FreeBSD.org>
9545
9546         * fbsd-nat.c (fbsd_convert_siginfo): Fix compile on big-endian
9547         platforms.
9548
9549 2017-08-14  Tom Tromey  <tom@tromey.com>
9550
9551         * valprint.c (print_octal_chars): Use HOST_CHAR_BIT.
9552         (print_binary_chars): Likewise.
9553         (BITS_IN_BYTES): Remove.
9554
9555 2017-08-14  Tom Tromey  <tom@tromey.com>
9556
9557         PR gdb/21675
9558         * valprint.c (LOW_ZERO): Change value to 034.
9559         (print_octal_chars): Add static_asserts for octal constants.
9560         * printcmd.c (print_scalar_formatted): Add 'd' case.
9561
9562 2017-08-11  Tom Tromey  <tom@tromey.com>
9563
9564         * symfile.c (add_symbol_file_command): Use std::vector.
9565
9566 2017-08-14  Tom Tromey  <tom@tromey.com>
9567
9568         * break-catch-throw.c (handle_gnu_v3_exceptions): Use std::move.
9569         * break-catch-syscall.c (create_syscall_event_catchpoint): Use
9570         std::move.
9571         * break-catch-sig.c (create_signal_catchpoint): Use std::move.
9572
9573 2017-08-11  Pedro Alves  <palves@redhat.com>
9574
9575         * infrun.c (process_event_stop_test): Adjust
9576         function_name_is_marked_for_skip call.
9577         * skip.c: Include <list>.
9578         (skiplist_entry): Make it a class with private fields, and
9579         getters/setters.
9580         (skiplist_entry_chain): Delete.
9581         (skiplist_entries): New.
9582         (skiplist_entry_count): Delete.
9583         (highest_skiplist_entry_num): New.
9584         (ALL_SKIPLIST_ENTRIES, ALL_SKIPLIST_ENTRIES_SAFE): Delete.
9585         (add_skiplist_entry): Delete.
9586         (skiplist_entry::skiplist_entry): New.
9587         (skiplist_entry::add_entry): New.
9588         (skip_file_command, skip_function): Adjust.
9589         (compile_skip_regexp): Delete.
9590         (skip_command): Don't compile regexp here.  Adjust to use
9591         skiplist_entry::add_entry.
9592         (skip_info): Adjust to use range-for and getters.
9593         (skip_enable_command, skip_disable_command): Adjust to use
9594         range-for and setters.
9595         (skip_delete_command): Adjust to use std::list.
9596         (add_skiplist_entry): Delete.
9597         (skip_file_p): Delete, refactored as ...
9598         (skiplist_entry::do_skip_file_p): ... this new method.
9599         (skip_gfile_p): Delete, refactored as ...
9600         (skiplist_entry::do_gskip_file_p): ... this new method.
9601         (skip_function_p, skip_rfunction_p): Delete, refactored as ...
9602         (skiplist_entry::skip_function_p): ... this new method.
9603         (function_name_is_marked_for_skip): Now returns bool, and takes
9604         the function sal by const reference.  Adjust to use range-for and
9605         skiplist_entry methods.
9606         (_initialize_step_skip): Remove references to
9607         skiplist_entry_chain, skiplist_entry_count.
9608         * skip.h (function_name_is_marked_for_skip): Now returns bool, and
9609         takes the function sal by const reference.
9610
9611 2017-08-11  Yao Qi  <yao.qi@linaro.org>
9612
9613         * dwarf2-frame.c (clear_pointer_cleanup): Remove.
9614         (dwarf2_frame_cache): Remove reset_cache_cleanup.
9615         (dwarf2_frame_cache):
9616         * frame-unwind.c (frame_unwind_try_unwinder): Catch
9617         RETURN_MASK_ALL and set *this_case to NULL.
9618         * frame-unwind.h: Update comments.
9619
9620 2017-08-11  Yao Qi  <yao.qi@linaro.org>
9621
9622         * dwarf2-frame.c (dwarf2_frame_state_alloc_regs): Remove.
9623         (dwarf2_frame_state_copy_regs): Remove.
9624         (dwarf2_frame_state_free_regs): Remove.
9625         (dwarf2_frame_state::~dwarf2_frame_state): Remove.
9626         (dwarf2_restore_rule): Call method .alloc_regs instead of
9627         dwarf2_frame_state_alloc_regs.
9628         (execute_cfa_program): Likewise.  Call dwarf2_frame_state_reg_info
9629         constructor.  Call std::move.
9630         (dwarf2_fetch_cfa_info): Don't call dwarf2_frame_state_copy_regs.
9631         (dwarf2_frame_cache): Likewise.
9632
9633         [GDB_SELF_TEST]: Include selftest.h and
9634         selftest-arch.h.
9635         [GDB_SELF_TEST] (execute_cfa_program_test): New function.
9636         (_initialize_dwarf2_frame) [GDB_SELF_TEST]: Register
9637         execute_cfa_program_test.
9638
9639         * dwarf2-frame.h (dwarf2_frame_state_reg_info): Add ctor, dtor,
9640         copy ctor, assignment operator, move assignment.
9641         <alloc_regs>: New method.
9642         <swap>: New method.
9643         (struct dwarf2_frame_state): Delete dtor.
9644         (dwarf2_frame_state_alloc_regs): Remove declaration.
9645         * sparc-tdep.c (sparc_execute_dwarf_cfa_vendor_op): Don't call
9646         dwarf2_frame_state_alloc_regs, use .alloc_regs instead.
9647
9648 2017-08-11  Yao Qi  <yao.qi@linaro.org>
9649
9650         * dwarf2-frame.c (dwarf2_frame_state_free): Remove.
9651         (dwarf2_frame_state::dwarf2_frame_state): New.
9652         (dwarf2_frame_state::~dwarf2_frame_state): New.
9653         (dwarf2_fetch_cfa_info): Update.
9654         (dwarf2_frame_cache): Remove old_chain.  Change 'fs' to an object
9655         rather than a pointer.  Update code.
9656         * dwarf2-frame.h (struct dwarf2_frame_state): Declare ctor and
9657         dtor.
9658         <data_align, code_align, retaddr_column>: Change them to const.
9659         <armcc_cfa_offsets_sf, armcc_cfa_offsets_reversed>: Change them
9660         to bool.
9661
9662 2017-08-11  Yao Qi  <yao.qi@linaro.org>
9663
9664         * dwarf2-frame.h (struct dwarf2_frame_state_reg) <exp_len>: Remove.
9665         <loc.exp>: New field.
9666         * dwarf2-frame.c (execute_cfa_program): Update.
9667         (dwarf2_frame_prev_register): Update.
9668
9669 2017-08-10  Pedro Alves  <palves@redhat.com>
9670
9671         * common/gdb_unique_ptr.h (xfree_deleter<T[]>): Define.
9672
9673 2017-08-09  John Baldwin  <jhb@FreeBSD.org>
9674
9675         * fbsd-nat.c (struct fbsd_fork_info): Remove.
9676         (fbsd_pending_children): Use std::list.
9677         (fbsd_remember_child): Likewise.
9678         (fbsd_is_child_pending): Likewise.
9679         (fbsd_pending_vfork_done): Use std::forward_list.
9680         (fbsd_add_vfork_done): Likewise.
9681         (fbsd_is_vfork_done_pending): Likewise.
9682         (fbsd_next_vfork_done): Likewise.
9683
9684 2017-08-09  John Baldwin  <jhb@FreeBSD.org>
9685
9686         * fbsd-nat.c [HAVE_KINFO_GETVMMAP] (struct free_deleter): New.
9687         (fbsd_find_memory_regions): Use free_deleter with std::unique_ptr.
9688         [!HAVE_KINFO_GETVMMAP] (fbsd_find_memory_regions): Use std::string
9689         for `mapfilename'.
9690         (fbsd_xfer_partial): Use gdb::byte_vector.
9691         (fbsd_add_threads): Use gdb::unique_xmalloc_ptr.
9692
9693 2017-08-09  John Baldwin  <jhb@FreeBSD.org>
9694
9695         * fbsd-nat.c: [!HAVE_KINFO_GETVMMAP]: Include <sys/user.h> and
9696         "filestuff.h".
9697         (fbsd_find_memory_regions): Fix `mapfile' initialization.
9698
9699 2017-08-09  Tom Tromey  <tom@tromey.com>
9700
9701         * skip.c (skiplist_entry): New constructor.
9702         (skiplist_entry::enabled, skiplist_entry::function_is_regexp)
9703         (skiplist_entry::file_is_glob): Now bool.
9704         (skiplist_entry::file, skiplist_entry::function): Now
9705         std::string.
9706         (make_skip_entry): Return a unique_ptr.  Use new.
9707         (free_skiplist_entry, free_skiplist_entry_cleanup)
9708         (make_free_skiplist_entry_cleanup): Remove.
9709         (skip_command, skip_disable_command, add_skiplist_entry)
9710         (skip_form_bytes, compile_skip_regexp, skip_command, skip_info)
9711         (skip_file_p, skip_gfile_p, skip_function_p, skip_rfunction_p)
9712         (function_name_is_marked_for_skip): Update.
9713         (skip_delete_command): Update.  Use delete.
9714
9715 2017-08-09  Jiong Wang  <jiong.wang@arm.com>
9716
9717         * aarch64-linux-tdep.c: Include "auxv.h" and "elf/common.h".
9718         (aarch64_linux_core_read_description): New function.
9719         (aarch64_linux_init_abi): Register gdbarch_core_read_description.
9720
9721 2017-08-09  Pedro Alves  <palves@redhat.com>
9722
9723         * cp-name-parser.y (cp_comp_to_string): Return a
9724         gdb::unique_xmalloc_ptr<char>.
9725         * cp-support.c (replace_typedefs_qualified_name)
9726         (replace_typedefs): Adjust to use gdb::unique_xmalloc_ptr<char>.
9727         (cp_canonicalize_string_full): Use op= instead of explicit
9728         convertion.
9729         (cp_class_name_from_physname, method_name_from_physname)
9730         (cp_func_name, cp_remove_params): Adjust to use
9731         gdb::unique_xmalloc_ptr<char>.
9732         * cp-support.h (cp_comp_to_string): Return a
9733         gdb::unique_xmalloc_ptr<char>.
9734         * python/py-type.c (typy_lookup_type): Adjust to use
9735         gdb::unique_xmalloc_ptr<char>.
9736
9737 2017-08-09  H.J. Lu  <hongjiu.lu@intel.com>
9738
9739         * dwarf2read.c (dwarf2_string_attr): Fix a typo.
9740
9741 2017-08-09  Alex Lindsay  <alexlindsay239@gmail.com>
9742             Yao Qi  <yao.qi@linaro.org>
9743
9744         * cp-support.c (cp_canonicalize_string_full): Use
9745         gdb::unique_xmalloc_ptr<char>.
9746         (cp_canonicalize_string): Likewise.
9747
9748 2017-08-09  Yao Qi  <yao.qi@linaro.org>
9749
9750         * features/Makefile (WHICH): Remove i386/ non-linux stuff.
9751         * regformats/i386/amd64-avx-avx512.dat: Remove.
9752         * regformats/i386/amd64-avx-mpx-avx512-pku.dat: Remove.
9753         * regformats/i386/amd64-avx-mpx.dat:Remove.
9754         * regformats/i386/amd64-avx.dat: Remove.
9755         * regformats/i386/amd64-mpx.dat: Remove.
9756         * regformats/i386/i386-avx-avx512.dat: Remove.
9757         * regformats/i386/i386-avx-mpx-avx512-pku.dat: Remove.
9758         * regformats/i386/i386-avx-mpx.dat: Remove.
9759         * regformats/i386/i386-mmx.dat: Remove.
9760         * regformats/i386/i386-mpx.dat: Remove.
9761
9762 2017-08-09  Yao Qi  <yao.qi@linaro.org>
9763
9764         * amd64-tdep.h (tdesc_x32): Remove the declaration.
9765         * amd64-tdep.c: Don't include features/i386/x32*.c.
9766         (_initialize_amd64_tdep): Don't call initialize_tdesc_x32*
9767         functions.
9768         * features/Makefile (WHICH): Remove i386/x32, i386/x32-avx,
9769         and i386/x32-avx-avx512.
9770         (XMLTOC): Remove i386/x32-avx.xml, i386/x32-avx-avx512.xml,
9771         and i386/x32.xml.
9772         * features/i386/x32-avx-avx512.c: Removed.
9773         * features/i386/x32-avx-avx512.xml: Removed.
9774         * features/i386/x32-avx.c: Removed.
9775         * features/i386/x32-avx.xml: Removed.
9776         * features/i386/x32.c: Removed.
9777         * features/i386/x32.xml: Removed.
9778         * regformats/i386/x32-avx-avx512.dat: Removed.
9779         * regformats/i386/x32-avx.dat: Removed.
9780         * regformats/i386/x32.dat: Removed.
9781
9782 2017-08-07  Maciej W. Rozycki  <macro@imgtec.com>
9783
9784         PR breakpoints/21886
9785         * mem-break.c (default_memory_insert_breakpoint): Use
9786         `->placed_address' rather than `->reqstd_address' for the
9787         breakpoint location.
9788
9789 2017-08-07  Maciej W. Rozycki  <macro@imgtec.com>
9790
9791         * arch-utils.c (default_print_insn): Remove arch/mach/endian
9792         assertions.
9793
9794 2017-08-07  Maciej W. Rozycki  <macro@imgtec.com>
9795
9796         * gdbarch.sh (gdbarch_info): Replace the `tdep_info' member with
9797         a union of `tdep_info', `tdesc_data' and `id'.
9798         * aarch64-tdep.c (aarch64_gdbarch_init): Use `info.tdesc_data'
9799         rather than `info.tdep_info'.
9800         * amd64-linux-tdep.c (amd64_linux_init_abi): Likewise.
9801         * i386-linux-tdep.c (i386_linux_init_abi): Likewise.
9802         * i386-tdep.c (i386_gdbarch_init): Likewise.
9803         * mips-linux-tdep.c (mips_linux_init_abi): Likewise.
9804         * mips-tdep.c (mips_gdbarch_init): Likewise.
9805         * nds32-tdep.c (nds32_gdbarch_init): Likewise.
9806         * rs6000-tdep.c (rs6000_gdbarch_init): Likewise.
9807         * ppc-linux-tdep.c (ppu2spu_sniffer): Use `info.id' rather than
9808         `info.tdep_info'.
9809         (ppc_linux_init_abi): Use `info.tdesc_data' rather than
9810         `info.tdep_info'.
9811         * sparc-tdep.c (sparc32_gdbarch_init): Likewise.
9812         * spu-multiarch.c (spu_gdbarch): Use `info.id' rather than
9813         `info.tdep_info'.
9814         * spu-tdep.c (spu_gdbarch_init): Likewise.
9815         * gdbarch.h: Regenerate.
9816
9817 2017-08-07  Leszek Swirski  <leszeks@google.com>
9818
9819         PR symtab/20899
9820         * dwarf2read.c (dwarf2_string_attr): Allow DW_FORM_GNU_strp_alt.
9821
9822 2017-08-07  Simon Marchi  <simon.marchi@ericsson.com>
9823
9824         * remote-sim.c (gdbsim_load): Remove char **argv local variable.
9825         (gdbsim_open): Rename gdb_argv args object to argv.
9826
9827 2017-08-05  Tom Tromey  <tom@tromey.com>
9828
9829         * compile/compile-object-load.c (compile_object_load): Use
9830         gdb::unique_xmalloc_ptr.
9831         * cli/cli-dump.c (scan_filename): Rename from
9832         scan_filename_with_cleanup.  Change return type.
9833         (scan_expression): Rename from scan_expression_with_cleanup.
9834         Change return type.
9835         (dump_memory_to_file, dump_value_to_file, restore_command):
9836         Use gdb::unique_xmalloc_ptr.  Update.
9837         * cli/cli-cmds.c (find_and_open_script): Use
9838         gdb::unique_xmalloc_ptr.
9839         * tracefile-tfile.c (tfile_open): Use gdb::unique_xmalloc_ptr.
9840         * symmisc.c (maintenance_print_symbols)
9841         (maintenance_print_msymbols): Use gdb::unique_xmalloc_ptr.
9842         * symfile.c (symfile_bfd_open, generic_load)
9843         (add_symbol_file_command, remove_symbol_file_command): Use
9844         gdb::unique_xmalloc_ptr.
9845         * source.c (openp): Use gdb::unique_xmalloc_ptr.
9846         * psymtab.c (maintenance_print_psymbols): Use
9847         gdb::unique_xmalloc_ptr.
9848         * corelow.c (core_open): Use gdb::unique_xmalloc_ptr.
9849         * breakpoint.c (save_breakpoints): Use gdb::unique_xmalloc_ptr.
9850         * solib.c (solib_map_sections): Use gdb::unique_xmalloc_ptr.
9851         (reload_shared_libraries_1): Likewise.
9852
9853 2017-08-05  Tom Tromey  <tom@tromey.com>
9854
9855         * rust-exp.y (rust_op_ptr, set_field): Remove typedefs.
9856         (rust_op_vector, rust_set_vector): New typedefs.
9857         (current_parser): New global.
9858         (work_obstack): Change to pointer type.  Update all users.
9859         (rust_ast, pstate): Remove globals.
9860         (struct rust_parser): New.
9861         (%union) <params, field_inits>: Change type.
9862         (start, tuple_expr, unit_expr, struct_expr_list, literal)
9863         (field_expr, expr_list, maybe_expr_list, type_list): Update.
9864         (ast_call_ish, ast_path, ast_function_type, ast_tuple_type)
9865         (convert_params_to_types, convert_params_to_expression): Change
9866         type of "params".
9867         (ast_string): Change type of "fields".
9868         (rust_parse): Make a rust_parser.  Remove cleanups.
9869         (rust_lex_tests): Make and install an auto_obstack.
9870
9871 2017-08-04  Yao Qi  <yao.qi@linaro.org>
9872
9873         * configure.srv (ipa_x32_linux_regobj): New.
9874         * linux-amd64-ipa.c (get_ipa_tdesc): Use X86_TDESC_AVX_AVX512
9875         instead of X86_TDESC_AVX512.
9876         (initialize_low_tracepoint): Call
9877         init_registers_x32_avx_avx512_linux.
9878
9879 2017-08-04  Yao Qi  <yao.qi@linaro.org>
9880
9881         * utils.h (gdb_argv): Add namespace std for nullptr_t.
9882
9883 2017-08-03  Ruslan Kabatsayev  <b7.10110111@gmail.com>
9884
9885         * MAINTAINERS (Write After Approval): Add Ruslan Kabatsayev.
9886
9887 2017-08-03  Tom Tromey  <tom@tromey.com>
9888
9889         * utils.c (make_cleanup_freeargv, do_freeargv, gdb_buildargv):
9890         Remove.
9891         * utils.h (make_cleanup_freeargv, gdb_buildargv): Remove.
9892
9893 2017-08-03  Tom Tromey  <tom@tromey.com>
9894
9895         * python/py-param.c (compute_enum_values): Use gdb_argv.
9896
9897 2017-08-03  Tom Tromey  <tom@tromey.com>
9898
9899         * utils.h (struct gdb_argv_deleter): New.
9900         (gdb_argv): New class.
9901         * utils.c (gdb_argv::reset): New method.
9902         * tracepoint.c (delete_trace_variable_command): Use gdb_argv.
9903         * tracefile.c (tsave_command): Use gdb_argv.
9904         * top.c (new_ui_command): Use gdb_argv.
9905         * symmisc.c (maintenance_print_symbols)
9906         (maintenance_print_msymbols, maintenance_expand_symtabs): Use gdb_argv.
9907         * symfile.c (symbol_file_command, generic_load)
9908         (remove_symbol_file_command): Use gdb_argv.
9909         * stack.c (backtrace_command): Use gdb_argv.
9910         * source.c (add_path, show_substitute_path_command)
9911         (unset_substitute_path_command, set_substitute_path_command):
9912         Use gdb_argv.
9913         * skip.c (skip_command): Use gdb_argv.  Use gdb_buildargv.
9914         * ser-mingw.c (pipe_windows_open): Use gdb_argv.
9915         * remote.c (extended_remote_run, remote_put_command)
9916         (remote_get_command, remote_delete_command): Use gdb_argv.
9917         * remote-sim.c (gdbsim_load, gdbsim_create_inferior)
9918         (gdbsim_open): Use gdb_argv.
9919         * python/py-cmd.c (gdbpy_string_to_argv): Use gdb_argv.
9920         * psymtab.c (maintenance_print_psymbols): Use gdb_argv.
9921         * procfs.c (procfs_info_proc): Use gdb_argv.
9922         * interps.c (interpreter_exec_cmd): Use gdb_argv.
9923         * infrun.c (handle_command): Use gdb_argv.
9924         * inferior.c (add_inferior_command, clone_inferior_command):
9925         Use gdb_argv.
9926         * guile/scm-string.c (gdbscm_string_to_argv): Use gdb_argv.
9927         * exec.c (exec_file_command): Use gdb_argv.
9928         * cli/cli-cmds.c (alias_command): Use gdb_argv.
9929         * compile/compile.c (build_argc_argv): Use gdb_argv.
9930
9931 2017-08-03  Tom Tromey  <tom@tromey.com>
9932
9933         * python/python.c (gdbpy_decode_line): Use unique_xmalloc_ptr.
9934
9935 2017-08-03  Tom Tromey  <tom@tromey.com>
9936
9937         * python/python.c (compute_python_string): Return std::string.
9938         (gdbpy_eval_from_control_command): Update.
9939         (do_start_initialization): Use std::string.
9940         * python/py-varobj.c (py_varobj_iter_next): Use string_printf, not
9941         xstrprintf.
9942         * python/py-breakpoint.c (local_setattro): Use string_printf, not
9943         xstrprintf.
9944
9945 2017-08-03  Tom Tromey  <tom@tromey.com>
9946
9947         * top.h (do_restore_instream_cleanup): Remove.
9948         * top.c (do_restore_instream_cleanup): Remove.
9949         (read_command_file): Use scoped_restore.
9950         * cli/cli-script.c (execute_user_command): Use scoped_restore.
9951
9952 2017-08-03  Tom Tromey  <tom@tromey.com>
9953
9954         * cli/cli-script.c (execute_user_command)
9955         (execute_control_command): Use scoped_restore.
9956
9957 2017-08-03  Tom Tromey  <tom@tromey.com>
9958
9959         * cli/cli-script.c (do_restore_user_call_depth): Remove.
9960         (execute_user_command): Remove user_call_depth; use
9961         user_args_stack's size instead.
9962
9963 2017-08-03  Tom Tromey  <tom@tromey.com>
9964
9965         * top.h (in_user_command): Remove.
9966         * top.c (in_user_command): Remove.
9967         * cli/cli-script.c (do_restore_user_call_depth)
9968         (execute_user_command): Update.
9969
9970 2017-08-03  Tom Tromey  <tom@tromey.com>
9971
9972         * valops.c (search_struct_method): Use gdb::byte_vector.
9973         * valarith.c (value_concat): Use std::vector.
9974         * target.c (memory_xfer_partial): Use gdb::byte_vector.
9975         (simple_search_memory): Likewise.
9976         * printcmd.c (find_string_backward): Use gdb::byte_vector.
9977         * mi/mi-main.c (mi_cmd_data_write_memory): Use gdb::byte_vector.
9978         * gcore.c (gcore_copy_callback): Use gdb::byte_vector.
9979         * elfread.c (elf_rel_plt_read): Use std::string.
9980         * cp-valprint.c (cp_print_value): Use gdb::byte_vector.
9981         * cli/cli-dump.c (restore_section_callback): Use
9982         gdb::byte_vector.
9983
9984 2017-08-03  Tom Tromey  <tom@tromey.com>
9985
9986         * jit.c (jit_reader_load_command): Use unique_xmalloc_ptr.
9987
9988 2017-08-03  Tom Tromey  <tom@tromey.com>
9989
9990         * tui/tui-regs.c (tui_restore_gdbout): Remove.
9991         (tui_register_format): Use scoped_restore.
9992
9993 2017-08-03  Tom Tromey  <tom@tromey.com>
9994
9995         * reverse.c (exec_direction_default): Remove.
9996         (exec_reverse_once): Use scoped_restore.
9997         * remote.c (restore_remote_timeout): Remove.
9998         (remote_flash_erase, remote_flash_write, remote_flash_done)
9999         (readchar, remote_serial_write): Use scoped_restore.
10000         * cli/cli-script.c (struct source_cleanup_lines_args)
10001         (source_cleanup_lines): Remove.
10002         (script_from_file): Use scoped_restore.
10003         * cli/cli-cmds.c (source_verbose_cleanup): Remove.
10004         (source_command): Use scoped_restore.
10005
10006 2017-08-03  Tom Tromey  <tom@tromey.com>
10007
10008         * utils.h (make_cleanup_free_so): Remove.
10009         * utils.c (do_free_so, make_cleanup_free_so): Remove.
10010         * solist.h (struct so_deleter): New.
10011         (so_list_up): New typedef.
10012         * solib-svr4.c (svr4_read_so_list): Use so_list_up.
10013
10014 2017-08-03  Tom Tromey  <tom@tromey.com>
10015
10016         * utils.h (make_cleanup_restore_current_language): Remove.
10017         * utils.c (do_restore_current_language)
10018         (make_cleanup_restore_current_language): Remove.
10019         * parse.c (parse_exp_in_context_1)
10020         (parse_expression_with_language): Use
10021         scoped_restore_current_language.
10022         * mi/mi-main.c (mi_cmd_execute): Use
10023         scoped_restore_current_language.
10024         * language.h (scoped_restore_current_language): New class.
10025
10026 2017-08-03  Tom Tromey  <tom@tromey.com>
10027
10028         * compile/compile.c (cleanup_unlink_file): Remove.
10029         (compile_to_object): Use gdb::unlinker.
10030         (eval_compile_command): Likewise.
10031
10032 2017-08-03  Tom Tromey  <tom@tromey.com>
10033
10034         * utils.h (make_cleanup_fclose): Remove.
10035         * utils.c (do_fclose_cleanup, make_cleanup_fclose): Remove.
10036
10037 2017-08-03  Tom Tromey  <tom@tromey.com>
10038
10039         * top.c (open_terminal_stream): Return gdb_file_up.
10040         (new_ui_command): Update.
10041
10042 2017-08-03  Tom Tromey  <tom@tromey.com>
10043
10044         * source.c (print_source_lines_base, forward_search_command)
10045         (reverse_search_command): Use gdb_file_up.
10046
10047 2017-08-03  Tom Tromey  <tom@tromey.com>
10048
10049         * fbsd-nat.c (fbsd_find_memory_regions): Update.
10050
10051 2017-08-03  Tom Tromey  <tom@tromey.com>
10052
10053         * cli/cli-cmds.c (find_and_open_script): Change return type.
10054         Remove "streamp" and "full_path" parameters.
10055         (source_script_with_search): Update.
10056         * auto-load.c (source_script_file): Update.
10057         * cli/cli-cmds.h (find_and_open_script): Change type.
10058         (open_script): New struct.
10059
10060 2017-08-03  Tom Tromey  <tom@tromey.com>
10061
10062         * xml-support.c (xml_fetch_content_from_file): Update.
10063         * ui-file.c (stdio_file::open): Update.
10064         * tracefile-tfile.c (tfile_start): Update.
10065         * remote.c (remote_file_put, remote_file_get): Update.
10066         * nat/linux-procfs.c (linux_proc_get_int)
10067         (linux_proc_pid_get_state, linux_proc_tid_get_name): Update.
10068         * nat/linux-osdata.c (linux_common_core_of_thread): Update.
10069         (command_from_pid, commandline_from_pid, linux_xfer_osdata_cpus)
10070         (print_sockets, linux_xfer_osdata_shm, linux_xfer_osdata_sem)
10071         (linux_xfer_osdata_msg, linux_xfer_osdata_modules): Update.
10072         * nat/linux-btrace.c (linux_determine_kernel_start): Update.
10073         * linux-nat.c (linux_proc_pending_signals): Update.
10074         * dwarf2read.c (write_psymtabs_to_index): Use gdb_file_up.
10075         (file_closer): Remove.
10076         * compile/compile.c (compile_to_object): Update.
10077         * common/filestuff.h (struct gdb_file_deleter): New.
10078         (gdb_file_up): New typedef.
10079         (gdb_fopen_cloexec): Change return type.
10080         * common/filestuff.c (gdb_fopen_cloexec): Return gdb_file_up.
10081         * cli/cli-dump.c (fopen_with_cleanup): Remove.
10082         (dump_binary_file, restore_binary_file): Update.
10083         * auto-load.c (auto_load_objfile_script_1): Update.
10084
10085 2017-08-03  Tom Tromey  <tom@tromey.com>
10086
10087         * tracepoint.c (tvariables_info_1): Use ui_out_emit_table.
10088         (info_static_tracepoint_markers_command): Likewise.
10089         * solib.c (info_sharedlibrary_command): Use ui_out_emit_table.
10090         * skip.c (skip_info): Use ui_out_emit_table.
10091         * progspace.c (print_program_space): Use ui_out_emit_table.
10092         * osdata.c (info_osdata): Use ui_out_emit_table.
10093         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions): Use
10094         ui_out_emit_table.
10095         * linux-thread-db.c (info_auto_load_libthread_db): Use
10096         ui_out_emit_table.
10097         * inferior.c (print_inferior): Use ui_out_emit_table.
10098         * gdb_bfd.c (maintenance_info_bfds): Use ui_out_emit_table.
10099         * breakpoint.c (breakpoint_1): Use ui_out_emit_table.
10100         * auto-load.c (auto_load_info_scripts): Use ui_out_emit_table.
10101         * ada-tasks.c (print_ada_task_info): Use ui_out_emit_table.
10102         * ui-out.h (class ui_out_emit_table): New.
10103
10104 2017-08-02  Maciej W. Rozycki  <macro@imgtec.com>
10105
10106         * mips-tdep.c (mips_fpu_type_str): New function.
10107         (mips_dump_tdep): Call it.
10108
10109 2017-08-01  Maciej W. Rozycki  <macro@imgtec.com>
10110
10111         * mips-tdep.c (mips_gdbarch_init): Use MIPS_FPU_TYPE to access
10112         `->mips_fpu_type'.
10113
10114 2017-07-31  Xavier Roirand  <roirand@adacore.com>
10115
10116         * solib-darwin.c (DYLD_VERSION_MAX): Increase value.
10117
10118 2017-07-27  Xavier Roirand  <roirand@adacore.com>
10119
10120         * MAINTAINERS (Write After Approval): Add Xavier Roirand.
10121
10122 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10123
10124         * cli/cli-cmds.c (maintenancechecklist): New variable.
10125         * gdbcmd.h (maintenancechecklist): Declare it.
10126         * i386-linux-tdep.c (_initialize_i386_linux_tdep) [GDB_SELF_TEST]:
10127         Call i386_linux_read_description with different masks.
10128         * maint.c (maintenance_check_command): New function.
10129         (_initialize_maint_cmds): Call add_prefix_cmd.
10130         * target-descriptions.c (tdesc_reg): override operator != and ==.
10131         (tdesc_type): Likewise.
10132         (tdesc_feature): Likewise.
10133         (target_desc): Likewise.
10134         [GDB_SELF_TEST] (selftests::record_xml_tdesc): New function.
10135         (maintenance_check_xml_descriptions): New function.
10136         (_initialize_target_descriptions) Add command "xml-descriptions".
10137         * target-descriptions.h (selftests::record_xml_tdesc): Declare.
10138
10139 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10140
10141         * i386-linux-tdep.c: Don't include features/i386/i386-*linux.c.
10142         Include features/i386/32bit-*.c.
10143         (i386_linux_read_description): Generate target description if it
10144         doesn't exist.
10145         (_initialize_i386_linux_tdep): Don't call _initialize_tdesc_i386
10146         functions.
10147         * features/i386/32bit-linux.c: Re-generated.
10148         * features/i386/32bit-sse.c: Likewise.
10149         * target-descriptions.c (print_c_feature::visit): Print code to
10150         set register number if needed.
10151         (print_c_feature) <m_next_regnum>: New field.
10152
10153 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10154
10155         * features/Makefile (CFILES): Rename with TDESC_CFILES.
10156         (FEATURE_XMLFILES): New.
10157         (FEATURE_CFILES): New.
10158         New rules.
10159         (clean-cfiles): Remove generated c files.
10160         * features/i386/32bit-avx.c: Generated.
10161         * features/i386/32bit-avx512.c: Generated.
10162         * features/i386/32bit-core.c: Generated.
10163         * features/i386/32bit-linux.c: Generated.
10164         * features/i386/32bit-mpx.c: Generated.
10165         * features/i386/32bit-pkeys.c: Generated.
10166         * features/i386/32bit-sse.c: Generated.
10167         * target-descriptions.c: Include algorithm.
10168         (tdesc_element_visitor): Add method visit_end.
10169         (print_c_tdesc): Implement visit_end.
10170         (print_c_tdesc:: m_filename_after_features): Move it to
10171         protected.
10172         (print_c_feature): New class.
10173         (maint_print_c_tdesc_cmd): Use print_c_feature if XML file
10174         name starts with "i386/32bit-".
10175
10176 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10177
10178         * target-descriptions.c (tdesc_element_visitor): New class.
10179         (tdesc_element): New class.
10180         (tdesc_reg): Inherit from tdesc_element.
10181         (tdesc_reg::accept): New function.
10182         (tdesc_type): Inherit from tdesc_element.
10183         (tdesc_type::accept): New function.
10184         (tdesc_feature): Inherit from tdesc_element.
10185         (tdesc_feature::accept): New function.
10186         (target_desc): Inherit from tdesc_element.
10187         (target_desc::target_desc): New.
10188         (target_desc::~target_desc): New.
10189         (target_desc::accept): New.
10190         (allocate_target_description): Use new.
10191         (free_target_description): Use delete.
10192         (print_c_tdesc): New class.
10193         (maint_print_c_tdesc_cmd): Adjust.
10194
10195         * features/aarch64.c: Re-generated.
10196         * features/arc-arcompact.c: Re-generated.
10197         * features/arc-v2.c: Re-generated.
10198         * features/arm/arm-with-iwmmxt.c: Re-generated.
10199         * features/arm/arm-with-m.c: Re-generated.
10200         * features/arm/arm-with-m-fpa-layout.c: Re-generated.
10201         * features/arm/arm-with-m-vfp-d16.c: Re-generated.
10202         * features/arm/arm-with-neon.c: Re-generated.
10203         * features/arm/arm-with-vfpv2.c: Re-generated.
10204         * features/arm/arm-with-vfpv3.c: Re-generated.
10205         * features/i386/amd64-avx-avx512.c: Re-generated.
10206         * features/i386/amd64-avx-avx512-linux.c: Re-generated.
10207         * features/i386/amd64-avx.c: Re-generated.
10208         * features/i386/amd64-avx-linux.c: Re-generated.
10209         * features/i386/amd64-avx-mpx-avx512-pku.c: Re-generated.
10210         * features/i386/amd64-avx-mpx-avx512-pku-linux.c: Re-generated.
10211         * features/i386/amd64-avx-mpx.c: Re-generated.
10212         * features/i386/amd64-avx-mpx-linux.c: Re-generated.
10213         * features/i386/amd64.c: Re-generated.
10214         * features/i386/amd64-linux.c: Re-generated.
10215         * features/i386/amd64-mpx.c: Re-generated.
10216         * features/i386/amd64-mpx-linux.c: Re-generated.
10217         * features/i386/i386-avx-avx512.c: Re-generated.
10218         * features/i386/i386-avx-avx512-linux.c: Re-generated.
10219         * features/i386/i386-avx.c: Re-generated.
10220         * features/i386/i386-avx-linux.c: Re-generated.
10221         * features/i386/i386-avx-mpx-avx512-pku.c: Re-generated.
10222         * features/i386/i386-avx-mpx-avx512-pku-linux.c: Re-generated.
10223         * features/i386/i386-avx-mpx.c: Re-generated.
10224         * features/i386/i386-avx-mpx-linux.c: Re-generated.
10225         * features/i386/i386.c: Re-generated.
10226         * features/i386/i386-linux.c: Re-generated.
10227         * features/i386/i386-mmx.c: Re-generated.
10228         * features/i386/i386-mmx-linux.c: Re-generated.
10229         * features/i386/i386-mpx.c: Re-generated.
10230         * features/i386/i386-mpx-linux.c: Re-generated.
10231         * features/i386/x32-avx-avx512.c: Re-generated.
10232         * features/i386/x32-avx-avx512-linux.c: Re-generated.
10233         * features/i386/x32-avx.c: Re-generated.
10234         * features/i386/x32-avx-linux.c: Re-generated.
10235         * features/i386/x32.c: Re-generated.
10236         * features/i386/x32-linux.c: Re-generated.
10237         * features/microblaze.c: Re-generated.
10238         * features/microblaze-with-stack-protect.c: Re-generated.
10239         * features/mips64-dsp-linux.c: Re-generated.
10240         * features/mips64-linux.c: Re-generated.
10241         * features/mips-dsp-linux.c: Re-generated.
10242         * features/mips-linux.c: Re-generated.
10243         * features/nds32.c: Re-generated.
10244         * features/nios2.c: Re-generated.
10245         * features/nios2-linux.c: Re-generated.
10246         * features/rs6000/powerpc-32.c: Re-generated.
10247         * features/rs6000/powerpc-32l.c: Re-generated.
10248         * features/rs6000/powerpc-403.c: Re-generated.
10249         * features/rs6000/powerpc-403gc.c : Re-generated.
10250         * features/rs6000/powerpc-405.c: Re-generated.
10251         * features/rs6000/powerpc-505.c: Re-generated.
10252         * features/rs6000/powerpc-601.c: Re-generated.
10253         * features/rs6000/powerpc-602.c: Re-generated.
10254         * features/rs6000/powerpc-603.c: Re-generated.
10255         * features/rs6000/powerpc-604.c: Re-generated.
10256         * features/rs6000/powerpc-64.c: Re-generated.
10257         * features/rs6000/powerpc-64l.c: Re-generated.
10258         * features/rs6000/powerpc-7400.c: Re-generated.
10259         * features/rs6000/powerpc-750.c: Re-generated.
10260         * features/rs6000/powerpc-860.c: Re-generated.
10261         * features/rs6000/powerpc-altivec32.c: Re-generated.
10262         * features/rs6000/powerpc-altivec32l.c: Re-generated.
10263         * features/rs6000/powerpc-altivec64.c: Re-generated.
10264         * features/rs6000/powerpc-altivec64l.c: Re-generated.
10265         * features/rs6000/powerpc-cell32l.c: Re-generated.
10266         * features/rs6000/powerpc-cell64l.c: Re-generated.
10267         * features/rs6000/powerpc-e500.c: Re-generated.
10268         * features/rs6000/powerpc-e500l.c: Re-generated.
10269         * features/rs6000/powerpc-isa205-32l.c: Re-generated.
10270         * features/rs6000/powerpc-isa205-64l.c: Re-generated.
10271         * features/rs6000/powerpc-isa205-altivec32l.c: Re-generated.
10272         * features/rs6000/powerpc-isa205-altivec64l.c: Re-generated.
10273         * features/rs6000/powerpc-isa205-vsx32l.c: Re-generated.
10274         * features/rs6000/powerpc-isa205-vsx64l.c: Re-generated.
10275         * features/rs6000/powerpc-vsx32.c: Re-generated.
10276         * features/rs6000/powerpc-vsx32l.c: Re-generated.
10277         * features/rs6000/powerpc-vsx64.c: Re-generated.
10278         * features/rs6000/powerpc-vsx64l.c: Re-generated.
10279         * features/rs6000/rs6000.c: Re-generated.
10280         * features/s390-linux32.c: Re-generated.
10281         * features/s390-linux32v1.c: Re-generated.
10282         * features/s390-linux32v2.c: Re-generated.
10283         * features/s390-linux64.c: Re-generated.
10284         * features/s390-linux64v1.c: Re-generated.
10285         * features/s390-linux64v2.c: Re-generated.
10286         * features/s390-te-linux64.c: Re-generated.
10287         * features/s390-tevx-linux64.c: Re-generated.
10288         * features/s390-vx-linux64.c: Re-generated.
10289         * features/s390x-linux64.c: Re-generated.
10290         * features/s390x-linux64v1.c: Re-generated.
10291         * features/s390x-linux64v2.c: Re-generated.
10292         * features/s390x-te-linux64.c: Re-generated.
10293         * features/s390x-tevx-linux64.c: Re-generated.
10294         * features/s390x-vx-linux64.c: Re-generated.
10295         * features/sparc/sparc32-solaris.c: Re-generated.
10296         * features/sparc/sparc64-solaris.c: Re-generated.
10297         * features/tic6x-c62x.c: Re-generated.
10298         * features/tic6x-c62x-linux.c: Re-generated.
10299         * features/tic6x-c64x.c: Re-generated.
10300         * features/tic6x-c64x-linux.c: Re-generated.
10301         * features/tic6x-c64xp.c: Re-generated.
10302         * features/tic6x-c64xp-linux.c: Re-generated.
10303
10304 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10305
10306         * i386-linux-tdep.c (i386_linux_read_description): New function.
10307         (i386_linux_core_read_description): Call
10308         i386_linux_read_description.
10309         * i386-linux-tdep.h (i386_linux_read_description): Declare.
10310         (tdesc_i386_linux, tdesc_i386_mmx_linux): Remove declarations.
10311         (tdesc_i386_avx_linux, tdesc_i386_mpx_linux): Likewise
10312         (tdesc_i386_avx_mpx_linux, tdesc_i386_avx_avx512_linux): Likewise.
10313         (tdesc_i386_avx_mpx_avx512_pku_linux): Likewise.
10314         * x86-linux-nat.c (x86_linux_read_description): Call
10315         i386_linux_read_description.
10316
10317 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10318
10319         * NEWS: Mention it.
10320         * features/Makefile (%.c: %.xml): Pass the xml file name to
10321         command "maint print c-tdesc".
10322         * target-descriptions.c (maint_print_c_tdesc_cmd): Get file
10323         name from 'arg'.
10324
10325 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10326
10327         * target-descriptions.c (target_desc): Add ctor and dtor.  Do
10328         in-class initialization.
10329         (tdesc_create_feature): Call new instead of XCNEW.
10330         (free_target_description): Ue delete.
10331
10332 2017-07-25  John Baldwin  <jhb@FreeBSD.org>
10333
10334         * configure.nat: Add "-lkvm" for NetBSD/sparc64 and fix typo.
10335
10336 2017-07-25  Yao Qi  <yao.qi@linaro.org>
10337
10338         * amd64-tdep.c (amd64_init_abi): Make argument default_tdesc
10339         constant.
10340         (amd64_x32_init_abi): Likewise.
10341         * amd64-tdep.h (amd64_init_abi): Update declaration.
10342         (amd64_x32_init_abi): Likewise.
10343
10344 2017-07-25  Yao Qi  <yao.qi@linaro.org>
10345
10346         PR tdep/21717
10347         * arm-linux-nat.c (arm_linux_fetch_inferior_registers): Update
10348         condition for FPSCR.
10349         (arm_linux_store_inferior_registers): Likewise.
10350
10351 2017-07-22  Tom Tromey  <tom@tromey.com>
10352
10353         * break-catch-syscall.c (struct catch_syscall_inferior_data)
10354         <syscalls_counts>: Now a std::vector.
10355         (get_catch_syscall_inferior_data): Use "new".
10356         (catch_syscall_inferior_data_cleanup): Use "delete".
10357         (insert_catch_syscall, remove_catch_syscall)
10358         (clear_syscall_counts): Update.
10359
10360 2017-07-22  Tom Tromey  <tom@tromey.com>
10361
10362         * break-catch-syscall.c (syscall_catchpoint)
10363         <syscalls_to_be_caught>: Now a std::vector<int>
10364         (~syscall_catchpoint): Remove.
10365         (insert_catch_syscall, remove_catch_syscall)
10366         (breakpoint_hit_catch_syscall, print_one_catch_syscall)
10367         (print_mention_catch_syscall, print_recreate_catch_syscall):
10368         Update.
10369         (create_syscall_event_catchpoint): Change type of "filter"
10370         parameter.
10371         (catch_syscall_split_args): Return a std::vector.
10372         (catch_syscall_command_1, catching_syscall_number_1): Update.
10373
10374 2017-07-22  Tom Tromey  <tom@tromey.com>
10375
10376         * break-catch-throw.c (struct exception_catchpoint)
10377         <exception_rx>: Now a std::string.
10378         (~exception_catchpoint): Remove.
10379         (print_one_detail_exception_catchpoint): Update.
10380         (handle_gnu_v3_exceptions): Change type of except_rx.
10381         (extract_exception_regexp): Return a std::string.
10382         (catch_exception_command_1): Update.
10383
10384 2017-07-22  Tom Tromey  <tom@tromey.com>
10385
10386         * break-catch-sig.c (gdb_signal_type): Remove typedef.
10387         (struct signal_catchpoint) <signals_to_be_caught>: Now a
10388         std::vector.
10389         <catch_all>: Now a bool.
10390         (~signal_catchpoint): Remove.
10391         (signal_catchpoint_insert_location)
10392         (signal_catchpoint_remove_location)
10393         (signal_catchpoint_breakpoint_hit, signal_catchpoint_print_one)
10394         (signal_catchpoint_print_mention)
10395         (signal_catchpoint_print_recreate)
10396         (signal_catchpoint_explains_signal): Update.
10397         (create_signal_catchpoint): Change type of "filter" and
10398         "catch_all".
10399         (catch_signal_split_args): Return a std::vector.  Change type of
10400         "catch_all".
10401         (catch_signal_command): Update.
10402
10403 2017-07-20  Pedro Alves  <palves@redhat.com>
10404
10405         * ada-lang.c (ada_language_defn): Make extern.
10406         (_initialize_ada_language): Remove add_language call.
10407         * c-lang.c (c_language_defn, cplus_language_defn)
10408         (asm_language_defn, minimal_language_defn): Make extern.
10409         (_initialize_c_language): Delete.
10410         * completer.c (compare_cstrings): Delete, moved to utils.h.
10411         * d-lang.c (d_language_defn): Make extern.
10412         (_initialize_d_language): Remove add_language calls.
10413         * defs.h (enum language): Add comment.
10414         * f-lang.c (f_language_defn): Make extern.
10415         (_initialize_f_language): Remove add_language call.
10416         * go-lang.c (go_language_defn): Make extern.
10417         (_initialize_go_language): Remove add_language call.
10418         * language.c: Include <algorithm>.
10419         (languages): Redefine as const array.
10420         (languages_size, languages_allocsize, DEFAULT_ALLOCSIZE): Delete.
10421         (set_language_command): Handle "local".  Use for-range loop.
10422         (set_language): Remove loop.
10423         (language_enum): Rewrite.
10424         (language_def, language_str): Remove loops.
10425         (add_language): Delete.
10426         (add_set_language_command): New, based on add_languages.
10427         (skip_language_trampoline): Adjust.
10428         (local_language_defn): Delete.
10429         (language_gdbarch_post_init): Adjust.
10430         (_initialize_language): Remove add_language calls.  Call
10431         add_set_language_command.
10432         * language.h (add_language): Delete.
10433         (auto_language_defn)
10434         (unknown_language_defn, minimal_language_defn, ada_language_defn)
10435         (asm_language_defn, c_language_defn, cplus_language_defn)
10436         (d_language_defn, f_language_defn, go_language_defn)
10437         (m2_language_defn, objc_language_defn, opencl_language_defn)
10438         (pascal_language_defn, rust_language_defn): Declare.
10439         * m2-lang.c (m2_language_defn): Make extern.
10440         (_initialize_m2_language): Remove add_language call.
10441         * objc-lang.c (objc_language_defn): Make extern.
10442         (_initialize_objc_language): Remove add_language call.
10443         * opencl-lang.c (opencl_language_defn): Make extern.
10444         (_initialize_opencl_language): Remove add_language call.
10445         * p-lang.c (pascal_language_defn): Make extern.
10446         (_initialize_pascal_language): Delete.
10447         * rust-lang.c (rust_language_defn): Make extern.
10448         (_initialize_rust_language): Delete.
10449         * utils.h (compare_cstrings): New static inline function.
10450
10451 2017-07-20  Pedro Alves  <palves@redhat.com>
10452
10453         * ada-lang.c (ada_to_fixed_type_1): Adjust.
10454         (get_var_value): Constify parameters.
10455         (get_int_var_value): Change prototype.
10456         (to_fixed_range_type): Adjust.
10457         * ada-lang.h (get_int_var_value): Change prototype.
10458
10459 2017-07-20  Pedro Alves  <palves@redhat.com>
10460
10461         * dwarf2read.c (dw2_lookup_symbol): Use
10462         SYMBOL_MATCHES_SEARCH_NAME.
10463         * psymtab.c (psym_lookup_symbol): Use SYMBOL_MATCHES_SEARCH_NAME.
10464
10465 2017-07-20  Pedro Alves  <palves@redhat.com>
10466
10467         * block.c (block_iter_name_step, block_iter_name_first)
10468         (block_iter_name_next): Delete.
10469         (block_lookup_symbol_primary): Adjust to use
10470         dict_iter_match_first/dict_iter_match_next.
10471         * block.h (block_iter_name_first, block_iter_name_next): Delete
10472         declarations.
10473         (ALL_BLOCK_SYMBOLS_WITH_NAME): Adjust to use
10474         dict_iter_match_first/dict_iter_match_next.
10475
10476 2017-07-20  Pedro Alves  <palves@redhat.com>
10477
10478         * cp-support.c (cp_find_first_component_aux): Add missing case for
10479         end of string.
10480
10481 2017-07-18  David Blaikie  <dblaikie@gmail.com>
10482
10483         * dwarf2read.c (create_cus_hash_table): Re-add lost initialization
10484         of dwo_cu's dwo_file.
10485
10486 2017-07-18  Yao Qi  <yao.qi@linaro.org>
10487
10488         * remote.c (store_registers_using_G): Remove one line comment.
10489
10490 2017-07-18  Yao Qi  <yao.qi@linaro.org>
10491
10492         * regcache.c (regcache_cpy): Simplify it.
10493         (regcache::cpy_no_passthrough): Remove it.
10494         * regcache.h (cpy_no_passthrough): Remove it.
10495         (regcache_dup, regcache_cpy): Update comments.
10496
10497 2017-07-18  Pedro Alves  <palves@redhat.com>
10498
10499         * remote-sim.c (sim_command_completer): Adjust to work with a
10500         completion_tracker instead of a VEC.
10501
10502 2017-07-17  Pedro Alves  <palves@redhat.com>
10503
10504         * completer.c (complete_source_filenames): New function.
10505         (complete_address_and_linespec_locations): New function.
10506         (location_completer): Use complete_address_and_linespec_locations.
10507         (completion_tracker::build_completion_result): Honor the tracker's
10508         request to suppress append.
10509         * completer.h (completion_tracker::suppress_append_ws)
10510         (completion_tracker::set_suppress_append_ws): New methods.
10511         (completion_tracker::m_suppress_append_ws): New field.
10512         (complete_source_filenames): New declaration.
10513         * linespec.c (linespec_complete_what): New.
10514         (struct ls_parser) <complete_what, completion_word,
10515         completion_quote_char, completion_quote_end, completion_tracker>:
10516         New fields.
10517         (string_find_incomplete_keyword_at_end): New.
10518         (linespec_lexer_lex_string): Record quote char.  If in completion
10519         mode, don't throw.
10520         (linespec_lexer_consume_token): Advance the completion word point.
10521         (linespec_lexer_peek_token): Save/restore completion info.
10522         (save_stream_and_consume_token): New.
10523         (set_completion_after_number): New.
10524         (linespec_parse_basic): Set what to complete next depending on
10525         token.  Handle function and label completions specially.
10526         (parse_linespec): Disable objc shortcut in completion mode.  Set
10527         what to complete next depending on token type.  Skip keyword if in
10528         completion mode.
10529         (complete_linespec_component, linespec_complete): New.
10530         * linespec.h (linespec_complete): Declare.
10531
10532 2017-07-17  Pedro Alves  <palves@redhat.com>
10533
10534         * linespec.c (linespec_lexer_lex_string, find_toplevel_char):
10535         Handle 'operator<' / 'operator<<'.
10536
10537 2017-07-17  Pedro Alves  <palves@redhat.com>
10538
10539         * completer.c (collect_explicit_location_matches): Handle
10540         MATCH_LABEL.
10541         (convert_explicit_location_to_linespec): New, factored out from
10542         ...
10543         (convert_explicit_location_to_sals): ... this.
10544         (complete_label): New.
10545         (linespec_complete_label, find_label_symbols_in_block): New.
10546         (find_label_symbols): Add completion_mode parameter and adjust to
10547         call find_label_symbols_in_block.
10548         * linespec.h (linespec_complete_label): Declare.
10549
10550 2017-07-17  Pedro Alves  <palves@redhat.com>
10551
10552         * ada-lang.c (ada_collect_symbol_completion_matches): Add
10553         complete_symbol_mode parameter.
10554         * cli/cli-cmds.c (complete_command): Get the completion result out
10555         of the handle_brkchars tracker if used a custom word point.
10556         * completer.c: Include "linespec.h".
10557         (enum explicit_location_match_type) <MATCH_LINE>: New enumerator.
10558         (advance_to_expression_complete_word_point): New.
10559         (completion_tracker::completes_to_completion_word): New.
10560         (complete_files_symbols): Pass down
10561         complete_symbol_mode::EXPRESSION.
10562         (explicit_options, probe_options): New.
10563         (collect_explicit_location_matches): Complete on the
10564         explictit_loc->foo instead of word.  Use
10565         linespec_complete_function.  Handle MATCH_LINE.  Handle offering
10566         keyword and options completions.
10567         (backup_text_ptr): Delete.
10568         (skip_keyword): New.
10569         (complete_explicit_location): Remove 'word' parameter.  Add
10570         language, quoted_arg_start and quoted_arg_end parameters.
10571         Rewrite, parsing left to right.
10572         (location_completer): Rewrite.
10573         (location_completer_handle_brkchars): New function.
10574         (symbol_completer): Pass down complete_symbol_mode::EXPRESSION.
10575         (enum complete_line_internal_reason): Adjust comments.
10576         (completion_tracker::discard_completions): New.
10577         (completer_handle_brkchars_func_for_completer): Handle
10578         location_completer.
10579         (gdb_custom_word_point_brkchars)
10580         (gdb_org_rl_basic_quote_characters): New.
10581         (gdb_completion_word_break_characters_throw)
10582         (completion_find_completion_word): Handle trackers that use a
10583         custom word point.
10584         (completion_tracker::advance_custom_word_point_by): New.
10585         (completion_tracker::build_completion_result): Don't rely on
10586         readline appending the quote char.
10587         (gdb_rl_attempted_completion_function_throw): Handle trackers that
10588         use a custom word point.
10589         (gdb_rl_attempted_completion_function): Restore
10590         rl_basic_quote_characters.
10591         * completer.h (class completion_tracker): Extend intro comment.
10592         (completion_tracker::set_quote_char)
10593         (completion_tracker::quote_char)
10594         (completion_tracker::set_use_custom_word_point)
10595         (completion_tracker::use_custom_word_point)
10596         (completion_tracker::custom_word_point)
10597         (completion_tracker::set_custom_word_point)
10598         (completion_tracker::advance_custom_word_point_by)
10599         (completion_tracker::completes_to_completion_word)
10600         (completion_tracker::discard_completions): New methods.
10601         (completion_tracker::m_quote_char)
10602         (completion_tracker::m_use_custom_word_point)
10603         (completion_tracker::m_custom_word_point): New fields.
10604         (advance_to_expression_complete_word_point): Declare.
10605         * f-lang.c (f_collect_symbol_completion_matches): Add
10606         complete_symbol_mode parameter.
10607         * language.h (struct language_defn)
10608         <la_collect_symbol_completion_matches>: Add complete_symbol_mode
10609         parameter.
10610         * linespec.c (linespec_keywords): Add NULL terminator.  Make extern.
10611         (linespec_complete_function): New function.
10612         (linespec_lexer_lex_keyword): Adjust.
10613         * linespec.h (linespec_keywords, linespec_complete_function): New
10614         declarations.
10615         * location.c (find_end_quote): New function.
10616         (explicit_location_lex_one): Add explicit_completion_info
10617         parameter.  Save quoting info.  Don't throw if being called for
10618         completion.  Don't handle Ada operators here.
10619         (is_cp_operator, skip_op_false_positives, first_of)
10620         (explicit_location_lex_one_function): New function.
10621         (string_to_explicit_location): Replace 'dont_throw' parameter with
10622         an explicit_completion_info pointer parameter.  Handle it.  Don't
10623         use explicit_location_lex_one to lex function names.  Use
10624         explicit_location_lex_one_function instead.
10625         * location.h (struct explicit_completion_info): New.
10626         (string_to_explicit_location): Replace 'dont_throw' parameter with
10627         an explicit_completion_info pointer parameter.
10628         * symtab.c (default_collect_symbol_completion_matches_break_on):
10629         Add complete_symbol_mode parameter.  Handle LINESPEC mode.
10630         (default_collect_symbol_completion_matches)
10631         (collect_symbol_completion_matches): Add complete_symbol_mode
10632         parameter.
10633         (collect_symbol_completion_matches_type): Pass down
10634         complete_symbol_mode::EXPRESSION.
10635         (collect_file_symbol_completion_matches): Add complete_symbol_mode
10636         parameter.  Handle LINESPEC mode.
10637         * symtab.h (complete_symbol_mode): New.
10638         (default_collect_symbol_completion_matches_break_on)
10639         (default_collect_symbol_completion_matches)
10640         (collect_symbol_completion_matches)
10641         (collect_file_symbol_completion_matches): Add complete_symbol_mode
10642         parameter.
10643
10644 2017-07-17  Pedro Alves  <palves@redhat.com>
10645
10646         * utils.c (enum class strncmp_iw_mode): New.
10647         (strcmp_iw): Rename to ...
10648         (strncmp_iw_with_mode): ... this.  Add string2_len and mode
10649         parameters.  Handle them.
10650         (strncmp_iw): New.
10651         (strcmp_iw): Reimplement as wrapper around strncmp_iw_with_mode.
10652         * utils.h (strncmp_iw): Declare.
10653         (strcmp_iw): Move describing comments here.
10654
10655 2017-07-17  Pedro Alves  <palves@redhat.com>
10656
10657         * c-exp.y (operator_stoken): Use CP_OPERATOR_LEN and
10658         CP_OPERATOR_STR.
10659         * c-typeprint.c (is_type_conversion_operator): Use
10660         CP_OPERATOR_STR.
10661         * cp-support.c (LENGTH_OF_OPERATOR): Delete.
10662         (cp_find_first_component_aux): Use CP_OPERATOR_STR and
10663         CP_OPERATOR_LEN.
10664         * cp-support.h (CP_OPERATOR_STR, CP_OPERATOR_LEN): New.
10665         * gnu-v2-abi.c (gnuv2_is_operator_name): Use CP_OPERATOR_STR.
10666         * gnu-v3-abi.c (gnuv3_is_operator_name): Use CP_OPERATOR_STR.
10667         * linespec.c (linespec_lexer_lex_string): Use CP_OPERATOR_LEN and
10668         CP_OPERATOR_STR.
10669         * location.c: Include "cp-support.h".
10670         (explicit_location_lex_one): Use CP_OPERATOR_LEN and
10671         CP_OPERATOR_STR.
10672         * symtab.c (operator_chars): Use CP_OPERATOR_STR and
10673         CP_OPERATOR_LEN.
10674
10675 2017-07-17  Pedro Alves  <palves@redhat.com>
10676
10677         * cli/cli-cmds.c (complete_command): Use a completion tracker
10678         along with completion_find_completion_word for handle_brkchars
10679         phase.
10680         * completer.c (RL_QF_SINGLE_QUOTE, RL_QF_DOUBLE_QUOTE)
10681         (RL_QF_BACKSLASH, RL_QF_OTHER_QUOTE): New.
10682         (struct gdb_rl_completion_word_info): New.
10683         (gdb_rl_find_completion_word): New.
10684         (completion_find_completion_word): New.
10685         * completer.h (completion_find_completion_word): Declare.
10686
10687 2017-07-17  Pedro Alves  <palves@redhat.com>
10688
10689         * ada-lang.c (symbol_completion_match): Adjust comments.
10690         (symbol_completion_add): Replace vector parameter with
10691         completion_tracker parameter.  Use it.
10692         (ada_make_symbol_completion_list): Rename to...
10693         (ada_collect_symbol_completion_matches): ... this.  Add
10694         completion_tracker parameter and use it.
10695         (ada_language_defn): Adjust.
10696         * break-catch-syscall.c (catch_syscall_completer): Adjust
10697         prototype and work with completion_tracker instead of VEC.
10698         * breakpoint.c (condition_completer): Adjust prototype and work
10699         with completion_tracker instead of VEC.
10700         * c-lang.c (c_language_defn, cplus_language_defn)
10701         (asm_language_defn, minimal_language_defn): Adjust to renames.
10702         * cli/cli-cmds.c (complete_command): Rework using
10703         completion_tracker.  Catch exceptions when completing.
10704         * cli/cli-decode.c (integer_unlimited_completer)
10705         (complete_on_cmdlist, complete_on_enum): Adjust prototype and work
10706         with completion_tracker instead of VEC.
10707         * command.h (struct completion_tracker): Forward declare.
10708         (completer_ftype, completer_handle_brkchars_ftype): Change
10709         types.
10710         (complete_on_cmdlist, complete_on_enum): Adjust.
10711         * completer.c: Include <algorithm>.
10712         (struct gdb_completer_state): New.
10713         (current_completion): New global.
10714         (readline_line_completion_function): Delete.
10715         (noop_completer, filename_completer)
10716         (filename_completer_handle_brkchars, complete_files_symbols)
10717         (linespec_location_completer): Adjust to work with a
10718         completion_tracker instead of a VEC.
10719         (string_or_empty): New.
10720         (collect_explicit_location_matches): Adjust to work with a
10721         completion_tracker instead of a VEC.
10722         (explicit_location_completer): Rename to ...
10723         (complete_explicit_location): ... this and adjust to work with a
10724         completion_tracker instead of a VEC.
10725         (location_completer): Adjust to work with a completion_tracker
10726         instead of a VEC.
10727         (add_struct_fields): Adjust to work with a completion_list instead
10728         of VEC.
10729         (expression_completer): Rename to ...
10730         (complete_expression): ... this and adjust to work with a
10731         completion_tracker instead of a VEC.  Use complete_files_symbols.
10732         (expression_completer): Reimplement on top of complete_expression.
10733         (symbol_completer): Adjust to work with a completion_tracker
10734         instead of a VEC.
10735         (enum complete_line_internal_reason): Add describing comments.
10736         (complete_line_internal_normal_command): Adjust to work with a
10737         completion_tracker instead of a VEC.
10738         (complete_line_internal): Rename to ...
10739         (complete_line_internal_1): ... this and adjust to work with a
10740         completion_tracker instead of a VEC.  Assert TEXT is NULL in the
10741         handle_brkchars phase.
10742         (new_completion_tracker): Delete.
10743         (complete_line_internal): Reimplement as TRY/CATCH wrapper around
10744         complete_line_internal_1.
10745         (free_completion_tracker): Delete.
10746         (INITIAL_COMPLETION_HTAB_SIZE): New.
10747         (completion_tracker::completion_tracker)
10748         (completion_tracker::~completion_tracker): New.
10749         (maybe_add_completion): Delete.
10750         (completion_tracker::maybe_add_completion)
10751         (completion_tracker::add_completion)
10752         (completion_tracker::add_completions): New.
10753         (throw_max_completions_reached_error): Delete.
10754         (complete_line): Adjust to work with a completion_tracker instead
10755         of a VEC.  Don't create a completion_tracker_t or check for max
10756         completions here.
10757         (command_completer, command_completer_handle_brkchars)
10758         (signal_completer, reg_or_group_completer_1)
10759         (reg_or_group_completer, default_completer_handle_brkchars):
10760         Adjust to work with a completion_tracker.
10761         (gdb_completion_word_break_characters_throw): New.
10762         (gdb_completion_word_break_characters): Reimplement.
10763         (line_completion_function): Delete.
10764         (completion_tracker::recompute_lowest_common_denominator)
10765         (expand_preserving_ws)
10766         (completion_tracker::build_completion_result)
10767         (completion_result::completion_result)
10768         (completion_result::completion_result)
10769         (completion_result::~completion_result)
10770         (completion_result::completion_result)
10771         (completion_result::release_match_list, compare_cstrings)
10772         (completion_result::sort_match_list)
10773         (completion_result::reset_match_list)
10774         (gdb_rl_attempted_completion_function_throw)
10775         (gdb_rl_attempted_completion_function): New.
10776         * completer.h (completion_list, struct completion_result)
10777         (class completion_tracker): New.
10778         (complete_line): Add completion_tracker parameter.
10779         (readline_line_completion_function): Delete.
10780         (gdb_rl_attempted_completion_function): New.
10781         (noop_completer, filename_completer, expression_completer)
10782         (location_completer, symbol_completer, command_completer)
10783         (signal_completer, reg_or_group_completer): Update prototypes.
10784         (completion_tracker_t, new_completion_tracker)
10785         (make_cleanup_free_completion_tracker): Delete.
10786         (enum maybe_add_completion_enum): Delete.
10787         (maybe_add_completion): Delete.
10788         (throw_max_completions_reached_error): Delete.
10789         * corefile.c (complete_set_gnutarget): Adjust to work with a
10790         completion_tracker instead of a VEC.
10791         * cp-abi.c (cp_abi_completer): Adjust to work with a
10792         completion_tracker instead of a VEC.
10793         * d-lang.c (d_language_defn): Adjust.
10794         * disasm.c (disassembler_options_completer): Adjust to work with a
10795         completion_tracker instead of a VEC.
10796         * f-lang.c (f_make_symbol_completion_list): Rename to ...
10797         (f_collect_symbol_completion_matches): ... this.  Adjust to work
10798         with a completion_tracker instead of a VEC.
10799         (f_language_defn): Adjust.
10800         * go-lang.c (go_language_defn): Adjust.
10801         * guile/scm-cmd.c (cmdscm_add_completion, cmdscm_completer):
10802         Adjust to work with a completion_tracker instead of a VEC.
10803         * infrun.c (handle_completer): Likewise.
10804         * interps.c (interpreter_completer): Likewise.
10805         * interps.h (interpreter_completer): Likewise.
10806         * language.c (unknown_language_defn, auto_language_defn)
10807         (local_language_defn): Adjust.
10808         * language.h (language_defn::la_make_symbol_completion_list):
10809         Rename to ...
10810         (language_defn::la_collect_symbol_completion_matches): ... this
10811         and adjust to work with a completion_tracker instead of a VEC.
10812         * m2-lang.c (m2_language_defn): Adjust.
10813         * objc-lang.c (objc_language_defn): Adjust.
10814         * opencl-lang.c (opencl_language_defn): Adjust.
10815         * p-lang.c (pascal_language_defn): Adjust.
10816         * python/py-cmd.c (cmdpy_completer_helper): Handle NULL word.
10817         (cmdpy_completer_handle_brkchars, cmdpy_completer): Adjust to work
10818         with a completion_tracker.
10819         * rust-lang.c (rust_language_defn): Adjust.
10820         * symtab.c (free_completion_list, do_free_completion_list)
10821         (return_val, completion_tracker): Delete.
10822         (completion_list_add_name, completion_list_add_symbol)
10823         (completion_list_add_msymbol, completion_list_objc_symbol)
10824         (completion_list_add_fields, add_symtab_completions): Add
10825         completion_tracker parameter and use it.
10826         (default_make_symbol_completion_list_break_on_1): Rename to...
10827         (default_collect_symbol_completion_matches_break_on): ... this.
10828         Add completion_tracker parameter and use it instead of allocating
10829         a completion tracker here.
10830         (default_make_symbol_completion_list_break_on): Delete old
10831         implementation.
10832         (default_make_symbol_completion_list): Delete.
10833         (default_collect_symbol_completion_matches): New.
10834         (make_symbol_completion_list): Delete.
10835         (collect_symbol_completion_matches): New.
10836         (make_symbol_completion_type): Rename to ...
10837         (collect_symbol_completion_matches_type): ... this.  Add
10838         completion_tracker parameter and use it instead of VEC.
10839         (make_file_symbol_completion_list_1): Rename to...
10840         (collect_file_symbol_completion_matches): ... this.  Add
10841         completion_tracker parameter and use it instead of VEC.
10842         (make_file_symbol_completion_list): Delete.
10843         (add_filename_to_list): Use completion_list instead of a VEC.
10844         (add_partial_filename_data::list): Now a completion_list.
10845         (make_source_files_completion_list): Work with a completion_list
10846         instead of a VEC.
10847         * symtab.h: Include "completer.h".
10848         (default_make_symbol_completion_list_break_on)
10849         (default_make_symbol_completion_list, make_symbol_completion_list)
10850         (make_symbol_completion_type, make_file_symbol_completion_list)
10851         (make_source_files_completion_list): Delete.
10852         (default_collect_symbol_completion_matches_break_on)
10853         (default_collect_symbol_completion_matches)
10854         (collect_symbol_completion_matches)
10855         (collect_symbol_completion_matches_type)
10856         (collect_file_symbol_completion_matches)
10857         (make_source_files_completion_list): New.
10858         * top.c (init_main): Don't install a rl_completion_entry_function
10859         hook.  Install a rl_attempted_completion_function hook instead.
10860         * tui/tui-layout.c (layout_completer): Adjust to work with a
10861         completion_tracker.
10862         * tui/tui-regs.c (tui_reggroup_completer):
10863         * tui/tui-win.c (window_name_completer, focus_completer)
10864         (winheight_completer): Adjust to work with a completion_tracker.
10865         * value.c: Include "completer.h".
10866         (complete_internalvar): Adjust to work with a completion_tracker.
10867         * value.h (complete_internalvar): Likewise.
10868
10869 2017-07-17  Pedro Alves  <palves@redhat.com>
10870
10871         * cli/cli-decode.c (set_cmd_completer_handle_brkchars): Adjust to
10872         renames.
10873         * cli/cli-decode.h (struct cmd_list_element) <completer>: Move
10874         comments to completer_ftype's declaration.
10875         <completer_handle_brkchars>: Change type to
10876         completer_handle_brkchars_ftype.
10877         * command.h (completer_ftype): Add describing comment and give
10878         names to parameters.
10879         (completer_ftype_void): Rename to ...
10880         (completer_handle_brkchars_ftype) ... this.  Add describing comment.
10881         (set_cmd_completer_handle_brkchars): Adjust.
10882         * completer.c (filename_completer_handle_brkchars): New function.
10883         (complete_line_internal_normal_command): New function, factored
10884         out from ...
10885         (complete_line_internal): ... here.
10886         (command_completer_handle_brkchars)
10887         (default_completer_handle_brkchars)
10888         (completer_handle_brkchars_func_for_completer): New functions.
10889         * completer.h (set_gdb_completion_word_break_characters): Delete
10890         declaration.
10891         (completer_handle_brkchars_func_for_completer): New declaration.
10892         * python/py-cmd.c (cmdpy_completer_handle_brkchars): Adjust to use
10893         completer_handle_brkchars_func_for_completer.
10894
10895 2017-07-17  Pedro Alves  <palves@redhat.com>
10896
10897         * completer.c (symbol_completer): New function, based on
10898         make_symbol_completion_list_fn.
10899         * completer.h (symbol_completer): New declaration.
10900         * guile/scm-cmd.c (cmdscm_completers): Adjust.
10901         * python/py-cmd.c (completers): Adjust.
10902         * symtab.c (make_symbol_completion_list_fn): Delete.
10903         * symtab.h (make_symbol_completion_list_fn): Delete.
10904         * cli/cli-decode.c (add_cmd): Adjust.
10905
10906 2017-07-17  Pedro Alves  <palves@redhat.com>
10907
10908         * Makefile.in (COMMON_OBS): Add filename-seen-cache.o.
10909         * dwarf2read.c: Include "filename-seen-cache.h".
10910         * dwarf2read.c (dwarf2_per_objfile) <filenames_cache>: New field.
10911         (dw2_map_symbol_filenames): Build and use a filenames_seen_cache.
10912         * filename-seen-cache.c: New file.
10913         * filename-seen-cache.h: New file.
10914         * symtab.c: Include "filename-seen-cache.h".
10915         (struct filename_seen_cache, INITIAL_FILENAME_SEEN_CACHE_SIZE)
10916         (create_filename_seen_cache, clear_filename_seen_cache)
10917         (delete_filename_seen_cache, filename_seen): Delete, parts moved
10918         to filename-seen-cache.h/filename-seen-cache.c.
10919         (output_source_filename, sources_info)
10920         (maybe_add_partial_symtab_filename)
10921         (make_source_files_completion_list): Adjust to use
10922         filename_seen_cache.
10923
10924 2017-07-17  Pedro Alves  <palves@redhat.com>
10925
10926         * dwarf2read.c (dwarf2_per_objfile): In-class initialize all
10927         fields.
10928         (dwarf2_per_objfile::dwarf2_per_objfile(objfile*, const
10929         dwarf2_debug_sections*)): New.
10930         (dwarf2_per_objfile::dwarf2_per_objfile(const
10931         dwarf2_per_objfile&)): Declare as deleted.
10932         (dwarf2_per_objfile::operator=): Declare as deleted.
10933         (dwarf2_per_objfile::dwarf2_per_objfile)
10934         (dwarf2_per_objfile::~dwarf2_per_objfile)
10935         (dwarf2_per_objfile::free_cached_comp_units): New.
10936         (dwarf2_has_info): dwarf2_per_objfile initialization code moved to
10937         ctor.  Call dwarf2_per_objfile's ctor manually.
10938         (dwarf2_locate_sections): Deleted/refactored as ...
10939         (dwarf2_per_objfile::locate_sections): ... this new method.
10940         (free_cached_comp_units): Defer to
10941         dwarf2_per_objfile::free_cached_comp_units.
10942         (dwarf2_free_objfile): Call dwarf2_per_objfile's dtor manually.
10943
10944 2017-07-14  Tom Tromey  <tom@tromey.com>
10945
10946         PR rust/21764:
10947         * rust-exp.y (convert_ast_to_expression): Add "want_type"
10948         parameter.
10949         <UNOP_SIZEOF>: Split into separate case.
10950         <UNOP_VAR_VALUE>: Handle want_type.  Add error case.
10951
10952 2017-07-14  Tom Tromey  <tom@tromey.com>
10953
10954         PR rust/21763:
10955         * symtab.c (symbol_matches_domain): Add language_rust to special
10956         case.
10957         * rust-exp.y (convert_ast_to_expression) <OP_VAR_VALUE>: Don't
10958         treat LOC_TYPEDEF symbols as variables.
10959
10960 2017-07-14  Pedro Alves  <palves@redhat.com>
10961
10962         * symtab.c (make_file_symbol_completion_list_1): Iterate over
10963         symtabs matching all symtabs with SRCFILE as file name instead of
10964         only considering the first hit, with lookup_symtab.
10965
10966 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
10967
10968         * ax-gdb.c (gen_aggregate_elt_ref): Remove operand_name and
10969         operator_name parameters.
10970         (gen_expr): Update function call.
10971
10972 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
10973
10974         * dwarf2loc.h (dwarf2_compile_expr_to_ax): Remove gdbarch
10975         parameter.
10976         * symtab.h (struct symbol_computed_ops::tracepoint_var_ref):
10977         Likewise.
10978         * dwarf2loc.c (dwarf2_compile_expr_to_ax): Remove gdbarch
10979         parameter, use agent_expr::gdbarch instead, update function
10980         calls.
10981         (locexpr_tracepoint_var_ref): Likewise.
10982         (loclist_tracepoint_var_ref): Likewise.
10983         * ax-gdb.c (gen_trace_static_fields): Likewise.
10984         (gen_traced_pop): Likewise.
10985         (gen_frame_args_address): Likewise.
10986         (gen_frame_locals_address): Likewise.
10987         (gen_var_ref): Likewise.
10988         (gen_struct_ref_recursive): Likewise.
10989         (gen_static_field): Likewise.
10990         (gen_maybe_namespace_elt): Likewise.
10991         (gen_expr): Likewise.
10992         (gen_trace_for_var): Likewise.
10993         (gen_trace_for_expr): Likewise.
10994         (gen_trace_for_return_address): Likewise.
10995
10996 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
10997
10998         * ax-gdb.c (gen_deref, gen_address_of): Remove unused ax
10999         parameter.
11000         (gen_struct_ref, gen_expr, gen_expr_binop_rest): Update call.
11001
11002 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
11003
11004         * ax-gdb.c (gen_usual_unary): Remove exp parameter, get gdbarch
11005         from ax, update calls.
11006         (gen_usual_arithmetic): Likewise.
11007         (gen_integral_promotions): Likewise.
11008         (gen_bitfield_ref): Likewise.
11009         (gen_primitive_field): Likewise.
11010         (gen_struct_ref_recursive): Likewise.
11011         (gen_struct_ref): Likewise.
11012         (gen_maybe_namespace_elt): Likewise.
11013         (gen_struct_elt_for_reference): Likewise.
11014         (gen_namespace_elt): Likewise.
11015         (gen_aggregate_elt_ref): Likewise.
11016         (gen_expr): Get gdbarch from ax, update calls.
11017         (gen_expr_binop_rest): Likewise.
11018
11019 2017-07-13  Pedro Alves  <palves@redhat.com>
11020
11021         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Pass tdesc_amd64
11022         as default tdesc.
11023         * amd64-dicos-tdep.c (amd64_dicos_init_abi):
11024         * amd64-fbsd-tdep.c (amd64fbsd_init_abi):
11025         * amd64-linux-tdep.c (amd64_linux_init_abi): Pass
11026         tdesc_amd64_linux as default tdesc.  Get final tdesc from the
11027         tdep.
11028         (amd64_x32_linux_init_abi): Pass tdesc_x32_linux as default tdesc.
11029         Get final tdesc from the tdep.
11030         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Pass tdesc_amd64 as
11031         default tdesc.
11032         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
11033         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
11034         * amd64-tdep.c (amd64_init_abi): Add 'default_tdesc' parameter.
11035         Use it as default tdesc.
11036         (amd64_x32_init_abi): Add 'default_tdesc' parameter, and pass it
11037         down to amd_init_abi.  No longer handle fallback tdesc here.
11038         * amd64-tdep.h (tdesc_x32): Declare.
11039         (amd64_init_abi, amd64_x32_init_abi): Add 'default_tdesc'
11040         parameter.
11041         * amd64-windows-tdep.c (amd64_windows_init_abi): Pass tdesc_amd64
11042         as default tdesc.
11043
11044 2017-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11045
11046         * s390-linux-tdep.c (s390_process_record): Add support for
11047         instructions new in arch12.
11048
11049 2017-07-11  John Baldwin  <jhb@FreeBSD.org>
11050
11051         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers): Use
11052         PT_GETFSBASE and PT_GETGSBASE.
11053         (amd64bsd_store_inferior_registers): Use PT_SETFSBASE and
11054         PT_SETGSBASE.
11055
11056 2017-07-11  John Baldwin  <jhb@FreeBSD.org>
11057
11058         * features/Makefile (amd64.dat, amd64-avx.dat, amd64-mpx.dat)
11059         (amd64-avx-mpx.dat, amd64-avx-avx512.dat)
11060         (amd64-avx-mpx-avx512-pku.dat): Add i386/64bit-segments.xml in
11061         those rules.
11062         * features/i386/amd64-avx-avx512.xml: Add 64bit-segments.xml.
11063         * features/i386/amd64-avx-mpx-avx512-pku.xml: Add 64bit-segments.xml.
11064         * features/i386/amd64-avx-mpx.xml: Add 64bit-segments.xml.
11065         * features/i386/amd64-avx.xml: Add 64bit-segments.xml.
11066         * features/i386/amd64-mpx.xml: Add 64bit-segments.xml.
11067         * features/i386/amd64.xml: Add 64bit-segments.xml.
11068         * features/i386/amd64-avx-avx512.c: Regenerated.
11069         * features/i386/amd64-avx-mpx-avx512-pku.c: Regenerated.
11070         * features/i386/amd64-avx-mpx.c: Regenerated.
11071         * features/i386/amd64-avx.c: Regenerated.
11072         * features/i386/amd64-mpx.c: Regenerated.
11073         * features/i386/amd64.c: Regenerated.
11074         * regformats/i386/amd64-avx-avx512.dat: Regenerated.
11075         * regformats/i386/amd64-avx-mpx-avx512-pku.dat: Regenerated.
11076         * regformats/i386/amd64-avx-mpx.dat: Regenerated.
11077         * regformats/i386/amd64-avx.dat: Regenerated.
11078         * regformats/i386/amd64-mpx.dat: Regenerated.
11079         * regformats/i386/amd64.dat: Regenerated.
11080
11081 2017-07-10  Yao Qi  <yao.qi@linaro.org>
11082
11083         * features/i386/amd64-avx-avx512-linux.c: Re-generated.
11084         * features/i386/amd64-avx-mpx-avx512-pku-linux.c: Re-generated.
11085
11086 2017-07-10  Anton Kolesov  <Anton.Kolesov@synopsys.com>
11087
11088         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add setenv and
11089         unsetenv.
11090         * gnulib/aclocal.m4: Regenerate.
11091         * gnulib/config.in: Regenerate.
11092         * gnulib/configure: Regenerate.
11093         * gnulib/import/Makefile.am: Regenerate.
11094         * gnulib/import/Makefile.in: Regenerate.
11095         * gnulib/import/m4/gnulib-cache.m4: Regenerate.
11096         * gnulib/import/m4/gnulib-comp.m4: Regenerate.
11097         * gnulib/import/m4/environ.m4: New file.
11098         * gnulib/import/m4/setenv.m4: New file.
11099         * gnulib/import/setenv.c: New file.
11100         * gnulib/import/unsetenv.c: New file.
11101
11102 2017-07-09  Simon Marchi  <simon.marchi@ericsson.com>
11103
11104         * compile/compile-loc2c.c (do_compile_dwarf_expr_to_c): Read
11105         address when op is DW_OP_addr.
11106
11107 2017-07-09  Tom Tromey  <tom@tromey.com>
11108
11109         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Reverse size
11110         check and apply to outer type.
11111
11112 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11113
11114         * fbsd-tdep.c (LWPINFO_OFFSET, LWPINFO_PL_FLAGS)
11115         (LWPINFO64_PL_SIGINFO, LWPINFO32_PL_SIGINFO, PL_FLAG_SI)
11116         (SIZE64_SIGINFO_T, SIZE32_SIGINFO_T, fbsd_core_xfer_siginfo): New.
11117         (fbsd_init_abi): Install gdbarch "core_xfer_siginfo" method.
11118
11119 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11120
11121         * fbsd-tdep.c (fbsd_core_thread_name): Use thread_section_name.
11122
11123 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11124
11125         * corelow.c (get_core_siginfo): Remove.
11126         (core_xfer_partial): Use the gdbarch "core_xfer_siginfo" method
11127         instead of get_core_siginfo.
11128         * gdbarch.sh (core_xfer_siginfo): New gdbarch callback.
11129         * gdbarch.h: Re-generate.
11130         * gdbarch.c: Re-generate.
11131         * linux-tdep.c (linux_core_xfer_siginfo): New.
11132         (linux_init_abi): Install gdbarch "core_xfer_siginfo" method.
11133
11134 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11135
11136         * corelow.c (thread_section_name): Move to ...
11137         * gdbcore.h (thread_section_name): ... here.
11138
11139 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11140
11141         * fbsd-nat.c [PT_LWPINFO && __LP64__] (union sigval32)
11142         (struct siginfo32): New.
11143         [PT_LWPINFO] (fbsd_siginfo_size, fbsd_convert_siginfo): New.
11144         (fbsd_xfer_partial) [PT_LWPINFO]: Handle TARGET_OBJECT_SIGNAL_INFO
11145         via ptrace(PT_LWPINFO).
11146
11147 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11148
11149         * fbsd-tdep.c (fbsd_gdbarch_data_handle, struct fbsd_gdbarch_data)
11150         (init_fbsd_gdbarch_data, get_fbsd_gdbarch_data)
11151         (fbsd_get_siginfo_type): New.
11152         (fbsd_init_abi): Install gdbarch "get_siginfo_type" method.
11153         (_initialize_fbsd_tdep): New.
11154
11155 2017-07-06  David Blaikie  <dblaikie@gmail.com>
11156
11157         * dwarf2read.c (struct dwo_file): Use a htab of dwo_unit* (rather than
11158         a singular dwo_unit*) to support multiple CUs in the same way that
11159         multiple TUs are supported.
11160         (create_cus_hash_table): Replace create_dwo_cu with a function for
11161         parsing multiple CUs from a DWO file.
11162         (open_and_init_dwo_file): Use create_cus_hash_table rather than
11163         create_dwo_cu.
11164         (lookup_dwo_cutu): Lookup CU in the hash table in the dwo_file with
11165         htab_find, rather than comparing the signature to a singleton CU in
11166         the dwo_file.
11167
11168 2017-07-06  Pedro Alves  <palves@redhat.com>
11169
11170         * python/py-unwind.c (pyuw_dealloc_cache): Fix for loop condition.
11171
11172 2017-07-04  Pedro Alves  <palves@redhat.com>
11173
11174         * gdbtypes.c (recursive_dump_type): Don't reference TYPE_STATIC.
11175         * gdbtypes.h (TYPE_STATIC): Delete.
11176         (struct fn_field) <is_public, is_abstract, is_static, is_final,
11177         is_synchronized, is_native>: Delete.
11178         <dummy>: Bump.
11179         (TYPE_FN_FIELD_PUBLIC, TYPE_FN_FIELD_STATIC, TYPE_FN_FIELD_FINAL)
11180         (TYPE_FN_FIELD_SYNCHRONIZED, TYPE_FN_FIELD_NATIVE)
11181         (TYPE_FN_FIELD_ABSTRACT): Delete.
11182
11183 2017-07-03  Simon Marchi  <simon.marchi@ericsson.com>
11184
11185         * buffer.h (buffer_finish): Fix spelling mistakes.
11186
11187 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
11188
11189         * .dir-locals.el: Automatically switch to C-style comments in
11190         versions of Emacs that support the feature.
11191
11192 2017-06-30  Sergio Durigan Junior  <sergiodj@redhat.com>
11193             Pedro Alves  <palves@redhat.com>
11194
11195         PR cli/21688
11196         * cli/cli-script.c (command_name_equals_not_inline): Remove function.
11197         (process_next_line): New variable 'inline_cmd'.
11198         Adjust 'if' clauses for "python", "compile" and "guile" to use
11199         'command_name_equals' and check for '!inline_cmd'.
11200
11201 2017-06-30  Sergio Durigan Junior  <sergiodj@redhat.com>
11202
11203         PR cli/21688
11204         * cli/cli-script.c (command_name_equals_not_inline): New function.
11205         (process_next_line): Adjust 'if' clauses for "python", "compile"
11206         and "guile" to use command_name_equals_not_inline.
11207
11208 2017-06-29  Pedro Alves  <palves@redhat.com>
11209
11210         * completer.c (expression_completer): Call
11211         linespec_location_completer instead of location_completer.
11212
11213 2017-06-29  Pedro Alves  <palves@redhat.com>
11214
11215         * completer.c (expression_completer): Remove code that recomputes
11216         'text' from 'word'.
11217
11218 2017-06-29  Yao Qi  <yao.qi@linaro.org>
11219
11220         * regformats/regdat.sh: Generate code with
11221         "ifndef IN_PROCESS_AGENT".
11222
11223 2017-06-28  Pedro Alves  <palves@redhat.com>
11224
11225         * command.h: Include "common/scoped_restore.h".
11226
11227 2017-06-28  Yao Qi  <yao.qi@linaro.org>
11228
11229         * mi/mi-cmd-break.c (mi_argv_to_format): Use obstack_grow_str
11230         instead of obstack_grow.
11231
11232 2017-06-28  Doug Gilmore  <Doug.Gilmore@imgtec.com>
11233
11234         PR gdb/21337
11235         * symfile.c (reread_symbols): Call objfiles_changed just before
11236         read_symbols.
11237
11238 2017-06-27  Pedro Alves  <palves@redhat.com>
11239
11240         * symtab.c (COMPLETION_LIST_ADD_SYMBOL)
11241         (MCOMPLETION_LIST_ADD_SYMBOL): Delete macros, replace with ...
11242         (completion_list_add_symbol, completion_list_add_msymbol):
11243         ... these new functions.
11244         (add_symtab_completions)
11245         (default_make_symbol_completion_list_break_on_1): Adjust.
11246
11247 2017-06-27  Pedro Alves  <palves@redhat.com>
11248
11249         * objfiles.c (get_objfile_bfd_data): Call bfd_alloc instead of
11250         bfd_zalloc.  Call objfile_per_bfd_storage's ctor.
11251         (free_objfile_per_bfd_storage): Call objfile_per_bfd_storage's
11252         dtor.
11253         * objfiles.h (objfile_per_bfd_storage): Add ctor.  Make
11254         'storage_obstack' field an auto_obstack.  In-class initialize all
11255         non-bitfield fields.  Make minsyms_read bool.
11256         * symfile.c (read_symbols): Adjust.
11257
11258 2017-06-27  Alan Hayward  <alan.hayward@arm.com>
11259
11260         * remote-sim.c (gdbsim_fetch_register): Use byte_vector.
11261         (gdbsim_store_register): Likewise.
11262
11263 2017-06-27  Pedro Alves  <palves@redhat.com>
11264
11265         * c-exp.y (name_obstack): Now an auto_obstack.
11266         (yylex): Use auto_obstack::clear.
11267         (c_parse): Use auto_obstack::clear instead of reinitializing and
11268         freeing the obstack.
11269         * c-lang.c (evaluate_subexp_c): Use auto_obstack.
11270         * d-exp.y (name_obstack): Now an auto_obstack.
11271         (yylex): Use auto_obstack::clear.
11272         (d_parse): Use auto_obstack::clear instead of reinitializing and
11273         freeing the obstack.
11274         * dwarf2loc.c (fetch_const_value_from_synthetic_pointer): Use
11275         auto_obstack.
11276         * dwarf2read.c (create_addrmap_from_index)
11277         (dwarf2_build_psymtabs_hard)
11278         (update_enumeration_type_from_children): Likewise.
11279         * gdb_obstack.h (auto_obstack): New type.
11280         * go-exp.y (name_obstack): Now an auto_obstack.
11281         (build_packaged_name): Use auto_obstack::clear.
11282         (go_parse): Use auto_obstack::clear instead of reinitializing and
11283         freeing the obstack.
11284         * linux-tdep.c (linux_make_mappings_corefile_notes): Use
11285         auto_obstack.
11286         * printcmd.c (printf_wide_c_string, ui_printf): Use auto_obstack.
11287         * rust-exp.y (work_obstack): Now an auto_obstack.
11288         (rust_parse, rust_lex_tests): Use auto_obstack::clear instead of
11289         reinitializing and freeing the obstack.
11290         * utils.c (do_obstack_free, make_cleanup_obstack_free): Delete.
11291         (host_char_to_target): Use auto_obstack.
11292         * utils.h (make_cleanup_obstack_free): Delete declaration.
11293         * valprint.c (generic_emit_char, generic_printstr): Use
11294         auto_obstack.
11295
11296 2017-06-27  Simon Marchi  <simon.marchi@ericsson.com>
11297
11298         * darwin-nat.c (darwin_check_new_threads): Don't handle dummy
11299         thread.
11300         (darwin_init_thread_list): Don't update dummy thread.
11301         (darwin_create_inferior, darwin_attach): Don't add a dummy thread.
11302
11303 2017-06-26  Simon Marchi  <simon.marchi@ericsson.com>
11304
11305         * record-full.c (netorder16): Remove.
11306
11307 2017-06-26  Simon Marchi  <simon.marchi@ericsson.com>
11308
11309         * common/diagnostics.h: Define macros for GCC.
11310         (DIAGNOSTIC_IGNORE_UNUSED_FUNCTION): New macro.
11311         * common/vec.h: Include diagnostics.h.
11312         (DIAGNOSTIC_IGNORE_UNUSED_VEC_FUNCTION): New macro.
11313         (DEF_VEC_I, DEF_VEC_P, DEF_VEC_O): Ignore -Wunused-function
11314         warning.
11315
11316 2017-06-26  Simon Marchi  <simon.marchi@ericsson.com>
11317
11318         * common/diagnostics.h (DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER):
11319         New macro.
11320         * ada-lex.l: Ignore deprecated register warnings.
11321
11322 2017-06-25  Simon Marchi  <simon.marchi@ericsson.com>
11323
11324         * main.c (get_init_files): Replace "SYSTEM_GDBINIT +
11325         datadir_len" with "&SYSTEM_GDBINIT[datadir_len]".
11326
11327 2017-06-25  Simon Marchi  <simon.marchi@ericsson.com>
11328
11329         * dtrace-probe.c (dtrace_process_dof_probe): Put semi-colon on
11330         its own line.
11331
11332 2017-06-25  Simon Marchi  <simon.marchi@ericsson.com>
11333
11334         * nat/x86-dregs.c (x86_show_dr): Print registers one per line.
11335
11336 2017-06-23  Alan Hayward  <alan.hayward@arm.com>
11337
11338         * xtensa-tdep.c (XTENSA_MAX_REGISTER_SIZE): Add.
11339         (xtensa_register_write_masked): Use XTENSA_MAX_REGISTER_SIZE.
11340         (xtensa_register_read_masked): Likewise.
11341
11342 2017-06-22  Sergio Durigan Junior  <sergiodj@redhat.com>
11343
11344         * common/environ.c (gdb_environ::unset): Update comment.
11345
11346 2017-06-22  Alan Hayward  <alan.hayward@arm.com>
11347
11348         * python/py-unwind.c (pyuw_sniffer): Allocate space for
11349         registers.
11350
11351 2017-06-22  Alan Hayward  <alan.hayward@arm.com>
11352
11353         * record-full.c (record_full_exec_insn): Use byte_vector.
11354
11355 2017-06-22  Yao Qi  <yao.qi@linaro.org>
11356
11357         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Regenerated.
11358         * regformats/i386/amd64-avx-mpx-avx512-pku.dat: Regenerated.
11359
11360 2017-06-22  Alan Hayward  <alan.hayward@arm.com>
11361
11362         * remote.c (cached_reg): Move from here...
11363         * regcache.h (cached_reg): ...to here.
11364         * python/py-unwind.c (struct reg_info): Remove.
11365         (cached_frame_info): Use cached_reg_t.
11366         (pyuw_prev_register): Likewise.
11367         (pyuw_sniffer): Use cached_reg_t and allocate registers.
11368         (pyuw_dealloc_cache): Free all registers.
11369
11370 2017-06-22  Pedro Alves  <palves@redhat.com>
11371             Simon Marchi  <simon.marchi@ericsson.com>
11372
11373         * unittests/environ-selftests.c (run_tests): Ignore -Wself-move
11374         warning.
11375         * common/diagnostics.h: New file.
11376
11377 2017-06-22  Pedro Alves  <palves@redhat.com>
11378
11379         * common/agent.h: Add include guards.
11380
11381 2017-06-21  Simon Marchi  <simon.marchi@ericsson.com>
11382
11383         * target.h (struct target_ops) <to_xfer_partial>: Update doc to
11384         talk about addressable units instead of bytes.
11385
11386 2017-06-20  Sergio Durigan Junior  <sergiodj@redhat.com>
11387
11388         * common/environ.c (gdb_environ::unset): Use '::iterator' instead
11389         of '::const_iterator'.
11390
11391 2017-06-20  Sergio Durigan Junior  <sergiodj@redhat.com>
11392
11393         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11394         'unittests/environ-selftests.c'.
11395         (SUBDIR_UNITTESTS_OBS): Add 'environ-selftests.o'.
11396         * charset.c (find_charset_names): Declare object 'iconv_env'.
11397         Update code to use 'iconv_env' object.  Remove call to
11398         'free_environ'.
11399         * common/environ.c: Include <utility>.
11400         (make_environ): Delete function.
11401         (free_environ): Delete function.
11402         (gdb_environ::clear): New function.
11403         (gdb_environ::operator=): New function.
11404         (gdb_environ::get): Likewise.
11405         (environ_vector): Delete function.
11406         (set_in_environ): Delete function.
11407         (gdb_environ::set): New function.
11408         (unset_in_environ): Delete function.
11409         (gdb_environ::unset): New function.
11410         (gdb_environ::envp): Likewise.
11411         * common/environ.h: Include <vector>.
11412         (struct gdb_environ): Delete; transform into...
11413         (class gdb_environ): ... this class.
11414         (free_environ): Delete prototype.
11415         (init_environ, get_in_environ, set_in_environ, unset_in_environ,
11416         environ_vector): Likewise.
11417         * infcmd.c (run_command_1): Update code to call
11418         'envp' from 'gdb_environ' class.
11419         (environment_info): Update code to call methods from 'gdb_environ'
11420         class.
11421         (unset_environment_command): Likewise.
11422         (path_info): Likewise.
11423         (path_command): Likewise.
11424         * inferior.c (inferior::~inferior): Delete call to 'free_environ'.
11425         (inferior::inferior): Initialize 'environment' using the host's
11426         information.
11427         * inferior.h: Remove forward declaration of 'struct gdb_environ'.
11428         Include "environ.h".
11429         (class inferior) <environment>: Change type from 'struct
11430         gdb_environ' to 'gdb_environ'.
11431         * mi/mi-cmd-env.c (mi_cmd_env_path): Update code to call
11432         methods from 'gdb_environ' class.
11433         * solib.c (solib_find_1): Likewise
11434         * unittests/environ-selftests.c: New file.
11435
11436 2017-06-20  Yao Qi  <yao.qi@linaro.org>
11437
11438         * features/i386/i386-linux.xml: Exchange the order of including
11439         32bit-linux.xml and 32bit-sse.xml.
11440         * features/i386/i386-linux.c: Regenerated.
11441
11442 2017-06-20  Yao Qi  <yao.qi@linaro.org>
11443
11444         * target-descriptions.c (tdesc_reg): Add ctor, dtor.
11445         Delete copy ctor and assignment operator.
11446         (tdesc_type): Likewise.
11447         (tdesc_feature): Likewise.
11448         (tdesc_free_reg): Remove.
11449         (tdesc_create_reg): Use new.
11450         (tdesc_free_type): Remove.
11451         (tdesc_create_vector): Use new.
11452         (tdesc_create_union): Likewise.
11453         (tdesc_create_flags): Likewise.
11454         (tdesc_create_enum): Likewise.
11455         (tdesc_free_feature): Delete.
11456         (free_target_description): Use delete.
11457
11458 2017-06-19  John Baldwin  <jhb@FreeBSD.org>
11459
11460         * mips-tdep.c (print_gp_register_row): Don't error for unavailable
11461         registers.
11462
11463 2017-06-19  Pedro Alves  <palves@redhat.com>
11464
11465         * dwarf2read.c (write_psymtabs_to_index): Construct file_closer
11466         after gdb::unlinker.
11467
11468 2017-06-19  Sergio Durigan Junior  <sergiodj@redhat.com>
11469
11470         * mi/mi-cm-env.c (_initialize_mi_cmd_env): Use getenv instead of
11471         gdb_environ to access an environment variable.
11472
11473 2017-06-18  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>
11474
11475         * nat/linux-ptrace.c (linux_fork_to_function): Add cast to
11476         gdb_byte*.
11477
11478 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11479
11480         * nat/fork-inferior.h (trace_start_error): Add ATTRIBUTE_PRINTF.
11481
11482 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11483
11484         * configure: Re-generate.
11485         * warning.m4 (build_warnings): Add -Wno-mismatched-tags.
11486
11487 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11488
11489         * configure: Re-generate.
11490         * warning.m4: Pass -Werror to compiler when checking for
11491         supported warning flags.
11492
11493 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11494
11495         * Makefile.in (COMPILE.pre): Add "-x c++".
11496
11497 2017-06-16  Alan Hayward  <alan.hayward@arm.com>
11498             Pedro Alves  <palves@redhat.com>
11499             Yao Qi  <yao.qi@linaro.org>
11500
11501         * defs.h (RequireLongest): New.
11502         (extract_integer): Declare function template.
11503         (extract_signed_integer): Remove the declaration, but define it
11504         static inline.
11505         (extract_unsigned_integer): Likewise.
11506         (store_integer): Declare function template.
11507         (store_signed_integer): Remove the declaration, but define it
11508         static inline.
11509         (store_unsigned_integer): Likewise.
11510         * findvar.c (extract_integer): New function template.
11511         (extract_signed_integer): Remove.
11512         (extract_unsigned_integer): Remove.
11513         (extract_integer<LONGEST>, extract_integer<ULONGEST>): Explicit
11514         instantiations.
11515         (store_integer): New function template.
11516         (store_signed_integer): Remove.
11517         (store_unsigned_integer): Remove.
11518         (store_integer): Explicit instantiations.
11519         * regcache.c (regcache_raw_read_signed): Update.
11520         (regcache::raw_read): New function.
11521         (regcache::raw_read_signed): Remove.
11522         (regcache::raw_read_unsigned): Remove.
11523         (regcache_raw_read_unsigned): Update.
11524         (regcache_raw_write_unsigned): Update.
11525         (regcache::raw_write_signed): Remove.
11526         (regcache::raw_write): New function.
11527         (regcache_cooked_read_signed): Update.
11528         (regcache::raw_write_unsigned): Remove.
11529         (regcache::cooked_read_signed): Remove.
11530         (regcache_cooked_read_unsigned): Update.
11531         (regcache::cooked_read_unsigned): Remove.
11532         (regcache_cooked_write_signed): Update.
11533         (regcache_cooked_write_unsigned): Update.
11534         * regcache.h (regcache) <raw_read_signed>: Remove.
11535         <raw_write_signed, raw_read_unsigned, raw_write_unsigned>: Remove.
11536         <raw_read, raw_write>: New.
11537         <cooked_read_signed, cooked_write_signed>: Remove.
11538         <cooked_write_unsigned, cooked_read_unsigned>: Remove.
11539         <cooked_read, cooked_write>: New.
11540         * sh64-tdep.c (sh64_pseudo_register_read): Update.
11541         (sh64_pseudo_register_write): Update.
11542
11543 2017-06-16  Anton Kolesov  <anton.kolesov@synopsys.com>
11544
11545         * arc-tdep.c (arc_disassembler_options): New variable.
11546         (arc_gdbarch_init): Set and use it. Use arc_delayed_print_insn instead
11547         of default_print_insn.
11548         (arc_delayed_print_insn): Set info->section when needed,
11549         use default_print_insn to retrieve a disassembler.
11550
11551 2017-06-14  Sergio Durigan Junior  <sergiodj@redhat.com>
11552
11553         PR gdb/21574
11554         * infcmd.c (_initialize_infcmd): Expand "help run" documentation
11555         to mention $SHELL and startup-with-shell.
11556
11557 2017-06-14  Max Filippov  <jcmvbkbc@gmail.com>
11558
11559         * MAINTAINERS: Move Maxim Grigoriev to the Past Maintainers.
11560
11561 2017-06-14  Yao Qi  <yao.qi@linaro.org>
11562
11563         * aarch64-tdep.c (aarch64_gdb_print_insn): Call
11564         default_print_insn instead of print_insn_aarch64.
11565         * arm-tdep.c (gdb_print_insn_arm): Call
11566         default_print_insn instead of print_insn_big_arm
11567         and print_insn_little_arm.
11568         * i386-tdep.c (i386_print_insn): Call default_print_insn
11569         instead of print_insn_i386.
11570         * ia64-tdep.c (ia64_print_insn): Call
11571         default_print_insn instead of print_insn_ia64.
11572         * mips-tdep.c (gdb_print_insn_mips): Call
11573         default_print_insn instead of print_insn_big_mips
11574         and print_insn_little_mips.
11575         * spu-tdep.c (gdb_print_insn_spu): Call default_print_insn
11576         instead of print_insn_spu.
11577
11578 2017-06-14  Pedro Alves  <palves@redhat.com>
11579
11580         * ada-lang.c: Include "common/byte-vector.h".
11581         (ada_value_primitive_packed_val): Use gdb::byte_vector.
11582         * charset.c (wchar_iterator::iterate): Resize the vector instead
11583         of reserving it.
11584         * common/byte-vector.h: Include "common/def-vector.h".
11585         (wchar_iterator::m_out): Now a gdb::def_vector<gdb_wchar_t>.
11586         * cli/cli-dump.c: Include "common/byte-vector.h".
11587         (dump_memory_to_file, restore_binary_file): Use gdb::byte_vector.
11588         * common/byte-vector.h: New file.
11589         * common/def-vector.h: New file.
11590         * common/default-init-alloc.h: New file.
11591         * dwarf2loc.c: Include "common/byte-vector.h".
11592         (rw_pieced_value): Use gdb::byte_vector, and resize the vector
11593         instead of reserving it.
11594         * dwarf2read.c: Include "common/byte-vector.h".
11595         (data_buf::m_vec): Now a gdb::byte_vector.
11596         * gdb_regex.c: Include "common/def-vector.h".
11597         (compiled_regex::compiled_regex): Use gdb::def_vector<char>.
11598         * mi/mi-main.c: Include "common/byte-vector.h".
11599         (mi_cmd_data_read_memory): Use gdb::byte_vector.
11600         * printcmd.c: Include "common/byte-vector.h".
11601         (print_scalar_formatted): Use gdb::byte_vector.
11602         * valprint.c: Include "common/byte-vector.h".
11603         (maybe_negate_by_bytes, print_decimal_chars): Use
11604         gdb::byte_vector.
11605
11606 2017-06-13  Simon Marchi  <simon.marchi@ericsson.com>
11607
11608         * darwin-nat.c: Include "nat/fork-inferior.h".
11609
11610 2017-06-13  Simon Marchi  <simon.marchi@ericsson.com>
11611
11612         * configure.nat: Factor out Darwin bits that are not
11613         architecture-specific.  Add fork-inferior.o.
11614
11615 2017-06-13  Simon Marchi  <simon.marchi@ericsson.com>
11616
11617         * configure.nat: Factor out AIX bits that are not
11618         architecture-specific.  Add fork-inferior.o.
11619
11620 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11621
11622         * dwarf2loc.c (rw_pieced_value): New.  Merge logic from...
11623         (read_pieced_value, write_pieced_value): ...here.  Reduce to
11624         wrappers that just call rw_pieced_value.
11625
11626 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11627
11628         * dwarf2loc.c (write_pieced_value): When writing the data for a
11629         memory piece, use write_memory_with_notification instead of
11630         write_memory.
11631
11632 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11633
11634         * valops.c (read_value_memory): Change embedded_offset to
11635         represent a bit offset instead of a byte offset.
11636         * value.h (read_value_memory): Adjust comment.
11637
11638 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11639
11640         * dwarf2loc.c (read_pieced_value): Remove unnecessary variables
11641         dest_offset_bits and source_offset_bits.
11642         (write_pieced_value): Likewise.
11643
11644 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11645
11646         * dwarf2loc.c (read_pieced_value): Respect the piece offset, as
11647         given by DW_OP_bit_piece.
11648         (write_pieced_value): Likewise.
11649
11650 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11651
11652         * dwarf2loc.c (read_pieced_value): Move the buffer allocation and
11653         some other preparations to the places where sufficient information
11654         is available.
11655         (write_pieced_value): Likewise.
11656
11657 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11658
11659         * dwarf2loc.c (bits_to_bytes): New function.
11660         (read_pieced_value): Fix offset calculations for register pieces
11661         on big-endian targets.
11662         (write_pieced_value): Likewise.
11663
11664 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11665
11666         * dwarf2loc.c (read_pieced_value): Remove buffer_size variable.
11667         (write_pieced_value): Likewise.
11668
11669 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11670
11671         * dwarf2loc.c (write_pieced_value): When writing to a bit-field,
11672         transfer the source value's least significant bits, instead of its
11673         lowest-addressed ones.  Rename type_len to max_offset.
11674         (read_pieced_value): Mirror above changes to write_pieced_value as
11675         applicable.
11676
11677 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11678
11679         * dwarf2loc.c (write_pieced_value): In DWARF_VALUE_MEMORY,
11680         truncate full bytes from dest_offset_bits before using it as an
11681         offset into the buffer.
11682
11683 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11684
11685         * dwarf2loc.c (write_pieced_value): Include transfer size in
11686         byte-wise check.
11687
11688 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11689
11690         * dwarf2loc.c (write_pieced_value): Fix copy/paste error in the
11691         calculation of this_size.
11692
11693 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11694
11695         * dwarf2loc.c (read_pieced_value): Respect parent value's offset
11696         when targeting a bit-field.
11697         (write_pieced_value): Likewise.
11698
11699 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11700
11701         * dwarf2loc.c (struct piece_closure) <addr_size>: Remove field.
11702         (allocate_piece_closure): Drop addr_size parameter.
11703         (dwarf2_evaluate_loc_desc_full): Adjust call to
11704         allocate_piece_closure.
11705
11706 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11707
11708         PR gdb/21226
11709         * dwarf2loc.c (read_pieced_value): Anchor stack value pieces at
11710         the LSB end, independent of endianness.
11711
11712 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11713
11714         * dwarf2loc.c (write_pieced_value): Fix order of calculations for
11715         size capping.
11716
11717 2017-06-13  Yao Qi  <yao.qi@linaro.org>
11718
11719         * mips-linux-nat.c: Move include features/mips*-linux.c to
11720         mips-linux-tdep.c.
11721         (_initialize_mips_linux_nat): Move initialize_tdesc_mips* calls
11722         to mips-linux-tdep.c.
11723         * mips-linux-tdep.c: Include features/mips*-linux.c
11724         (_initialize_mips_linux_tdep): Call initialize_tdesc_mips*
11725         functions.
11726         * mips-linux-tdep.h (tdesc_mips_linux): Declare.
11727         (tdesc_mips_dsp_linux, tdesc_mips64_linux): Declare.
11728         (tdesc_mips64_dsp_linux): Declare.
11729
11730 2017-06-12  Tom Tromey  <tom@tromey.com>
11731
11732         * valprint.h (val_print_type_code_int): Remove.
11733         * valprint.c (generic_val_print_int): Always call
11734         val_print_scalar_formatted.
11735         (val_print_type_code_int): Remove.
11736         * printcmd.c (print_scalar_formatted): Handle options->format==0.
11737         * f-valprint.c (f_val_print): Use val_print_scalar_formatted.
11738         * c-valprint.c (c_val_print_int): Use val_print_scalar_formatted.
11739         * ada-valprint.c (ada_val_print_num): Use
11740         val_print_scalar_formatted.
11741
11742 2017-06-12  Tom Tromey  <tom@tromey.com>
11743
11744         * printcmd.c (print_scalar_formatted): Unify the two switches.
11745         Don't convert scalars to LONGEST.
11746
11747 2017-06-12  Tom Tromey  <tom@tromey.com>
11748
11749         PR exp/16225:
11750         * valprint.h (print_decimal_chars): Update.
11751         * valprint.c (maybe_negate_by_bytes): New function.
11752         (print_decimal_chars): Add "is_signed" argument.
11753         * printcmd.c (print_scalar_formatted): Update.
11754
11755 2017-06-12  Tom Tromey  <tom@tromey.com>
11756
11757         PR exp/16225:
11758         * valprint.h (print_binary_chars, print_hex_chars): Update.
11759         * valprint.c (val_print_type_code_int): Update.
11760         (print_binary_chars): Add "zero_pad" argument.
11761         (emit_octal_digit): New function.
11762         (print_octal_chars): Don't zero-pad.
11763         (print_decimal_chars): Likewise.
11764         (print_hex_chars): Add "zero_pad" argument.
11765         * sh64-tdep.c (sh64_do_fp_register): Update.
11766         * regcache.c (regcache::dump): Update.
11767         * printcmd.c (print_scalar_formatted): Update.
11768         * infcmd.c (default_print_one_register_info): Update.
11769
11770 2017-06-12  Pedro Alves  <palves@redhat.com>
11771             Alan Hayward  <alan.hayward@arm.com>
11772
11773         * mips-tdep.c (MAX_MIPS_ABI_REGSIZE): New.
11774         (mips_eabi_push_dummy_call): Rename local 'regsize' to
11775         'abi_regsize'.  Rename local array 'valbuf' to 'ref_valbuf', and
11776         use MAX_MIPS_ABI_REGSIZE instead of MAX_REGISTER_SIZE to size it.
11777         Assert that abi_regsize bytes fit in 'ref_valbuf'.
11778
11779 2017-06-12  Pedro Alves  <palves@redhat.com>
11780
11781         * dwarf2read.c (mapped_symtab::data): Now a vector of
11782         symtab_index_entry instead of vector of
11783         std::unique_ptr<symtab_index_entry>.  All users adjusted to check
11784         whether an element's name is NULL instead of checking whether the
11785         element itself is NULL.
11786         (find_slot): Change return type.  Adjust.
11787         (hash_expand, , add_index_entry, uniquify_cu_indices)
11788         (write_hash_table): Adjust.
11789
11790 2017-06-12  Pedro Alves  <palves@redhat.com>
11791
11792         * dwarf2read.c (recursively_count_psymbols): New function.
11793         (write_psymtabs_to_index): Call it to compute number of psyms and
11794         pass estimate size of psyms_seen to unordered_set's ctor.
11795
11796 2017-06-12  Pedro Alves  <palves@redhat.com>
11797
11798         * dwarf2read.c (write_hash_table): Check if key already exists
11799         before emplacing.
11800
11801 2017-06-12  Pedro Alves  <palves@redhat.com>
11802
11803         * dwarf2read.c (data_buf::append_space): Rename to...
11804         (data_buf::grow): ... this, and make private.  Adjust all callers.
11805         (data_buf::append_uint): New method.
11806         (add_address_entry, write_one_signatured_type)
11807         (write_psymtabs_to_index): Use it.
11808
11809 2017-06-12  Pedro Alves  <palves@redhat.com>
11810
11811         * dwarf2read.c (file_write(FILE *, const void *, size_t)): Delete.
11812         (file_write (FILE *, const std::vector<Elem>&)): Delete.
11813         (data_buf::file_write): Call ::fwrite directly.
11814
11815 2017-06-12  Pedro Alves  <palves@redhat.com>
11816
11817         * dwarf2read.c (uniquify_cu_indices): Use std::unique and
11818         std::vector::erase.
11819
11820 2017-06-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
11821
11822         Code cleanup: C++ify .gdb_index producer.
11823         * dwarf2read.c: Include <unordered_set> and <unordered_map>.
11824         (MAYBE_SWAP) [WORDS_BIGENDIAN]: Cast to offset_type.
11825         (struct strtab_entry, hash_strtab_entry, eq_strtab_entry)
11826         (create_strtab, add_string): Remove.
11827         (file_write, data_buf): New.
11828         (struct symtab_index_entry): Use std::vector for cu_indices.
11829         (struct mapped_symtab): Use std::vector for data.
11830         (hash_symtab_entry, eq_symtab_entry, delete_symtab_entry)
11831         (create_symbol_hash_table, create_mapped_symtab, cleanup_mapped_symtab):
11832         Remove.
11833         (find_slot): Change return type.  Update it to the new data structures.
11834         (hash_expand, add_index_entry): Update it to the new data structures.
11835         (offset_type_compare): Remove.
11836         (uniquify_cu_indices): Update it to the new data structures.
11837         (c_str_view, c_str_view_hasher, vector_hasher): New.
11838         (add_indices_to_cpool): Remove.
11839         (write_hash_table): Update it to the new data structures.
11840         (struct psymtab_cu_index_map, hash_psymtab_cu_index)
11841         (eq_psymtab_cu_index): Remove.
11842         (psym_index_map): New typedef.
11843         (struct addrmap_index_data): Change addr_obstack pointer to data_buf
11844         reference and std::unordered_map for cu_index_htab.
11845         (add_address_entry, add_address_entry_worker, write_address_map)
11846         (write_psymbols): Update it to the new data structures.
11847         (write_obstack): Remove.
11848         (struct signatured_type_index_data): Change types_list to a data_buf
11849         reference and psyms_seen to a std::unordered_set reference.
11850         (write_one_signatured_type, recursively_write_psymbols)
11851         (write_psymtabs_to_index): Update it to the new data structures.
11852
11853 2017-06-11  Simon Marchi  <simon.marchi@ericsson.com>
11854
11855         * NEWS (Changes since GDB 8.0): Announce {set,show} debug
11856         separate-debug-file commands.
11857         * symfile.h (separate_debug_file_debug): New global.
11858         * symfile.c (separate_debug_file_debug): New global.
11859         (separate_debug_file_exists, find_separate_debug_file): Add
11860         debug output.
11861         (_initialize_symfile): Add "set debug separate-debug-file"
11862         command.
11863         * build-id.c (build_id_to_debug_bfd,
11864         find_separate_debug_file_by_buildid): Add debug output.
11865
11866 2017-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
11867
11868         * gdbarch.sh (displaced_step_free_closure): Remove.
11869         * gdbarch.h, gdbarch.c: Re-generate.
11870         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Don't set
11871         displaced_step_free_closure.
11872         * amd64-linux-tdep.c (amd64_linux_init_abi_common): Likewise.
11873         * arm-linux-tdep.c (arm_linux_init_abi): Likewise.
11874         * i386-linux-tdep.c (i386_linux_init_abi): Likewise.
11875         * rs6000-aix-tdep.c (rs6000_aix_init_osabi): Likewise.
11876         * rs6000-tdep.c (rs6000_gdbarch_init): Likewise.
11877         * s390-linux-tdep.c (s390_gdbarch_init): Likewise.
11878         * arch-utils.h (simple_displaced_step_free_closure): Remove.
11879         * arch-utils.c (simple_displaced_step_free_closure): Remove.
11880         * infrun.c (displaced_step_clear): Call xfree instead of
11881         gdbarch_displaced_step_free_closure.
11882
11883 2017-06-08  Sergio Durigan Junior  <sergiodj@redhat.com>
11884
11885         * common/common-utils.c (stringify_argv): Check for "arg[0] !=
11886         NULL".
11887
11888 2017-06-08 Alan Hayward  <alan.hayward@arm.com>
11889
11890         * mn10300-tdep.c (MN10300_MAX_REGISTER_SIZE): Add.
11891         (mn10300_extract_return_value): Use MN10300_MAX_REGISTER_SIZE.
11892         (mn10300_push_dummy_call): Likewise.
11893
11894 2017-06-08  Alan Hayward  <alan.hayward@arm.com>
11895
11896         * mi/mi-main.c (register_changed_p): Use value_contents_eq.
11897
11898 2017-06-08  Alan Hayward  <alan.hayward@arm.com>
11899
11900         * mi/mi-main.c (register_changed_p): Use cooked_read_value.
11901
11902 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
11903
11904         * NEWS (Changes since GDB 8.0): Announce that GDBserver is now
11905         able to start inferiors using a shell.
11906         (New remote packets): Announce new packet "QStartupWithShell".
11907         * remote.c: Add PACKET_QStartupWithShell.
11908         (extended_remote_create_inferior): Handle new
11909         PACKET_QStartupWithShell.
11910         (remote_protocol_features) <QStartupWithShell>: New entry for
11911         PACKET_QStartupWithShell.
11912         (_initialize_remote): Call "add_packet_config_cmd" for
11913         QStartupShell.
11914
11915 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
11916             Pedro Alves  <palves@redhat.com>
11917
11918         * Makefile.in (HFILES_NO_SRCDIR): Add "common/common-inferior.h"
11919         and "nat/fork-inferior.h".
11920         * common/common-inferior.h: New file, with contents from
11921         "gdb/inferior.h".
11922         * commom/common-utils.c: Include "common-utils.h".
11923         (stringify_argv): New function.
11924         * common/common-utils.h (stringify_argv): New prototype.
11925         * configure.nat: Add "fork-inferior.o" as a dependency for
11926         "*linux*", "fbsd*" and "nbsd*" hosts.
11927         * corefile.c (get_exec_file): Update comment.
11928         * darwin-nat.c (darwin_ptrace_him): Call "gdb_startup_inferior"
11929         instead of "startup_inferior".
11930         (darwin_create_inferior): Call "add_thread_silent" after
11931         "fork_inferior".
11932         * fork-child.c: Cleanup unnecessary includes.
11933         (SHELL_FILE): Move to "common/common-fork-child.c".
11934         (environ): Likewise.
11935         (exec_wrapper): Initialize.
11936         (get_exec_wrapper): New function.
11937         (breakup_args): Move to "common/common-fork-child.c"; rename to
11938         "breakup_args_for_exec".
11939         (escape_bang_in_quoted_argument): Move to
11940         "common/common-fork-child.c".
11941         (saved_ui): New variable.
11942         (prefork_hook): New function.
11943         (postfork_hook): Likewise.
11944         (postfork_child_hook): Likewise.
11945         (gdb_startup_inferior): Likewise.
11946         (fork_inferior): Move to "common/common-fork-child.c".  Update
11947         function to support gdbserver.
11948         (startup_inferior): Likewise.
11949         * gdbcore.h (get_exec_file): Remove declaration.
11950         * gnu-nat.c (gnu_create_inferior): Call "gdb_startup_inferior"
11951         instead of "startup_inferior".  Call "add_thread_silent" after
11952         "fork_inferior".
11953         * inf-ptrace.c: Include "nat/fork-inferior.h" and "utils.h".
11954         (inf_ptrace_create_inferior): Call "gdb_startup_inferior"
11955         instead of "startup_inferior".  Call "add_thread_silent" after
11956         "fork_inferior".
11957         * inferior.h: Include "common-inferior.h".
11958         (trace_start_error): Move to "common/common-utils.h".
11959         (trace_start_error_with_name): Likewise.
11960         (fork_inferior): Move prototype to "nat/fork-inferior.h".
11961         (startup_inferior): Likewise.
11962         (gdb_startup_inferior): New prototype.
11963         * nat/fork-inferior.c: New file, with contents from "fork-child.c".
11964         * nat/fork-inferior.h: New file.
11965         * procfs.c (procfs_init_inferior): Call "gdb_startup_inferior"
11966         instead of "startup_inferior".  Call "add_thread_silent" after
11967         "fork_inferior".
11968         * target.h (target_terminal_init): Move prototype to
11969         "target/target.h".
11970         (target_terminal_inferior): Likewise.
11971         (target_terminal_ours): Likewise.
11972         * target/target.h (target_terminal_init): New prototype, moved
11973         from "target.h".
11974         (target_terminal_inferior): Likewise.
11975         (target_terminal_ours): Likewise.
11976         * utils.c (gdb_flush_out_err): New function.
11977
11978 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
11979
11980         * Makefile.in (HFILES_NO_SRCDIR): Add "common/common-gdbthread.h".
11981         * common/common-gdbthread.h: New file, with parts from
11982         "gdb/gdbthread.h".
11983         * gdbthread.h: Include "common-gdbthread.h".
11984         (switch_to_thread): Moved to "common/common-gdbthread.h".
11985
11986 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
11987
11988         * Makefile.in (SFILES): Add "common/job-control.c".
11989         (HFILES_NO_SRCDIR): Add "common/job-control.h".
11990         (COMMON_OBS): Add "job-control.o".
11991         * common/job-control.c: New file, with contents from
11992         "gdb/inflow.c".
11993         * common/job-control.h: New file, with contents from "terminal.h".
11994         * fork-child.c: Include "job-control.h".
11995         * inflow.c: Include "job-control.h".
11996         (gdb_setpgid): Move to "common/common-inflow.c".
11997         (_initialize_inflow): Move setting of "job_control" to
11998         "handle_job_control".
11999         * terminal.h (job_control): Moved to "common/common-terminal.h".
12000         (gdb_setpgid): Likewise.
12001         * top.c: Include "job_control.h".
12002         * utils.c: Likewise.
12003         (job_control): Moved to "job-control.c".
12004
12005 2017-06-07  Pedro Alves  <palves@redhat.com>
12006
12007         * Makefile.in (SFILES): Add gdb_regex.c.
12008         (COMMON_OBS): Add gdb_regex.o.
12009         * ada-lang.c (ada_add_standard_exceptions)
12010         (ada_add_exceptions_from_frame, name_matches_regex)
12011         (ada_add_global_exceptions, ada_exceptions_list_1): Change regex
12012         parameter type to compiled_regex.  Adjust.
12013         (ada_exceptions_list): Use compiled_regex.
12014         * break-catch-throw.c (exception_catchpoint::pattern): Now a
12015         std::unique_ptr<compiled_regex>.
12016         (exception_catchpoint::~exception_catchpoint): Remove regfree
12017         call.
12018         (check_status_exception_catchpoint): Adjust to use compiled_regex.
12019         (handle_gnu_v3_exceptions): Adjust to use compiled_regex.
12020         * breakpoint.c (solib_catchpoint::compiled): Now a
12021         std::unique_ptr<compiled_regex>.
12022         (solib_catchpoint::~solib_catchpoint): Remove regfree call.
12023         (check_status_catch_solib): Adjust to use compiled_regex.
12024         (add_solib_catchpoint): Adjust to use compiled_regex.
12025         * cli/cli-cmds.c (apropos_command): Use compiled_regex.
12026         * cli/cli-decode.c (apropos_cmd): Change regex parameter to
12027         compiled_regex reference.  Adjust to use it.
12028         * cli/cli-decode.h: Remove struct re_pattern_buffer forward
12029         declaration.  Include "gdb_regex.h".
12030         (apropos_cmd): Change regex parameter to compiled_regex reference.
12031         * gdb_regex.c: New file.
12032         * gdb_regex.h (make_regfree_cleanup, get_regcomp_error): Delete
12033         declarations.
12034         (class compiled_regex): New.
12035         * linux-tdep.c: Include "common/gdb_optional.h".
12036         (struct mapping_regexes): New, factored out from
12037         mapping_is_anonymous_p, and adjusted to use compiled_regex.
12038         (mapping_is_anonymous_p): Use mapping_regexes wrapped in a
12039         gdb::optional and remove cleanups.  Adjust to compiled_regex.
12040         * probe.c: Include "common/gdb_optional.h".
12041         (collect_probes): Use compiled_regex and gdb::optional and remove
12042         cleanups.
12043         * skip.c: Include "common/gdb_optional.h".
12044         (skiplist_entry::compiled_function_regexp): Now a
12045         gdb::optional<compiled_regex>.
12046         (skiplist_entry::compiled_function_regexp_is_valid): Delete field.
12047         (free_skiplist_entry): Remove regfree call.
12048         (compile_skip_regexp, skip_rfunction_p): Adjust to use
12049         compiled_regex and gdb::optional.
12050         * symtab.c: Include "common/gdb_optional.h".
12051         (search_symbols): Use compiled_regex and gdb::optional.
12052         * utils.c (do_regfree_cleanup, make_regfree_cleanup)
12053         (get_regcomp_error, compile_rx_or_error): Delete.  Some bits moved
12054         to gdb_regex.c.
12055
12056 2017-06-07  Alan Hayward  <alan.hayward@arm.com>
12057
12058         * regcache.c (regcache::save): Avoid buffer use.
12059         (regcache::dump): Likewise.
12060
12061 2017-06-07  Alan Hayward  <alan.hayward@arm.com>
12062
12063         * sh-tdep.c (sh_pseudo_register_read): Remove
12064         MAX_REGISTER_SIZE.
12065         (sh_pseudo_register_write): Likewise.
12066         * sh64-tdep.c (sh64_pseudo_register_read): Likewise.
12067         (sh64_pseudo_register_write): Likewise
12068
12069 2017-06-07  Alan Hayward  <alan.hayward@arm.com>
12070
12071         * aarch64-tdep.c (aarch64_store_return_value): Use
12072         V_REGISTER_SIZE.
12073         (aarch64_pseudo_read_value): Likewise.
12074         (aarch64_pseudo_write): Likewise.
12075
12076 2017-06-06  Yao Qi  <yao.qi@linaro.org>
12077
12078         * regformats/regdef.h (set_register_cache): Remove the
12079         declaration.
12080
12081 2017-06-06 Alan Hayward  <alan.hayward@arm.com>
12082
12083         * frame.c (frame_unwind_register_signed): Use
12084         frame_unwind_register_value.
12085
12086 2017-06-06  Pedro Alves  <palves@redhat.com>
12087
12088         PR breakpoints/21553
12089         * breakpoint.c (create_breakpoints_sal_default)
12090         (init_breakpoint_sal, create_breakpoint_sal): Use
12091         gdb::unique_xmalloc_ptr for string parameters.
12092         (create_breakpoint): Constify 'extra_string' and 'cond_string'
12093         parameters.  Replace cleanups with gdb::unique_xmalloc_ptr.
12094         (base_breakpoint_create_breakpoints_sal)
12095         (bkpt_create_breakpoints_sal, tracepoint_create_breakpoints_sal)
12096         (strace_marker_create_breakpoints_sal)
12097         (create_breakpoints_sal_default): Use gdb::unique_xmalloc_ptr for
12098         string parameters.
12099         * breakpoint.h (breakpoint_ops::create_breakpoints_sal): Use
12100         gdb::unique_xmalloc_ptr for string parameters.
12101         (create_breakpoint): Constify 'extra_string' and 'cond_string'
12102         parameters.
12103
12104 2017-06-06  Alan Hayward  <alan.hayward@arm.com>
12105
12106         * alpha-tdep.c (alpha_register_to_value): Use
12107         get_frame_register_value.
12108         (alpha_value_to_register): Use ALPHA_REGISTER_SIZE.
12109
12110 2017-06-06  Alan Hayward  <alan.hayward@arm.com>
12111
12112         * ia64-tdep.c (IA64_MAX_FP_REGISTER_SIZE) Add.
12113         (ia64_register_to_value): Use IA64_MAX_FP_REGISTER_SIZE.
12114         (ia64_value_to_register): Likewise.
12115         (ia64_extract_return_value): Likewise.
12116         (ia64_store_return_value): Likewise.
12117         (ia64_push_dummy_call): Likewise.
12118
12119 2017-06-04  Joel Brobecker  <brobecker@adacore.com>
12120
12121         GDB 8.0 released.
12122
12123 2017-06-03  Simon Marchi  <simon.marchi@ericsson.com>
12124
12125         * x86-linux-nat.c (struct arch_lwp_info): Remove.
12126
12127 2017-06-03  Simon Marchi  <simon.marchi@polymtl.ca>
12128
12129         * linux-nat.c (linux_nat_post_attach_wait): Remove FIRST
12130         parameter.
12131         (linux_nat_attach): Adjust call to linux_nat_post_attach_wait.
12132
12133 2017-06-02  Simon Marchi  <simon.marchi@ericsson.com>
12134
12135         * event-loop.c (poll_timers): Unallocate timer using delete
12136         instead of xfree.
12137
12138 2017-06-02  Simon Marchi  <simon.marchi@polymtl.ca>
12139
12140         * breakpoint.h (struct breakpoint_ops) <dtor>: Remove.
12141         (struct breakpoint) <~breakpoint>: New.
12142         (struct watchpoint): Inherit from breakpoint.
12143         <~watchpoint>: New.
12144         <base>: Remove.
12145         (struct tracepoint): Inherit from breakpoint.
12146         <base>: Remove.
12147         * breakpoint.c (longjmp_breakpoint_ops): Remove.
12148         (struct longjmp_breakpoint): Inherit from breakpoint.
12149         <~longjmp_breakpoint>: New.
12150         <base>: Remove.
12151         (new_breakpoint_from_type): Remove casts.
12152         (watchpoint_in_thread_scope): Remove reference to base field.
12153         (watchpoint_del_at_next_stop): Likewise.
12154         (update_watchpoint): Likewise.
12155         (watchpoint_check): Likewise.
12156         (bpstat_check_watchpoint): Likewise.
12157         (set_longjmp_breakpoint): Likewise.
12158         (struct fork_catchpoint): Inherit from breakpoint.
12159         <base>: Remove.
12160         (struct solib_catchpoint): Inherit from breakpoint.
12161         <~solib_catchpoint>: New.
12162         <base>: Remove.
12163         (dtor_catch_solib): Change to ...
12164         (solib_catchpoint::~solib_catchpoint): ... this.
12165         (breakpoint_hit_catch_solib): Remove reference to base field.
12166         (add_solib_catchpoint): Likewise.
12167         (create_fork_vfork_event_catchpoint): Likewise.
12168         (struct exec_catchpoint): Inherit from breakpoint.
12169         <~exec_catchpoint>: New.
12170         <base>: Remove.
12171         (dtor_catch_exec): Change to ...
12172         (exec_catchpoint::~exec_catchpoint): ... this.
12173         (dtor_watchpoint): Change to ...
12174         (watchpoint::~watchpoint): ... this.
12175         (watch_command_1): Remove reference to base field.
12176         (catch_exec_command_1): Likewise.
12177         (base_breakpoint_dtor): Change to ...
12178         (breakpoint::~breakpoint): ... this.
12179         (base_breakpoint_ops): Remove dtor field value.
12180         (longjmp_bkpt_dtor): Change to ...
12181         (longjmp_breakpoint::~longjmp_breakpoint): ... this.
12182         (strace_marker_create_breakpoints_sal): Remove reference to base
12183         field.
12184         (delete_breakpoint): Don't manually call breakpoint destructor.
12185         (create_tracepoint_from_upload): Remove reference to base field.
12186         (trace_pass_set_count): Likewise.
12187         (initialize_breakpoint_ops): Don't initialize
12188         momentary_breakpoint_ops, don't set dtors.
12189         * ada-lang.c (struct ada_catchpoint): Inherit from breakpoint.
12190         <~ada_catchpoint>: New.
12191         <base>: Remove.
12192         (create_excep_cond_exprs): Remove reference to base field.
12193         (dtor_exception): Change to ...
12194         (ada_catchpoint::~ada_catchpoint): ... this.
12195         (dtor_catch_exception): Remove.
12196         (dtor_catch_exception_unhandled): Remove.
12197         (dtor_catch_assert): Remove.
12198         (create_ada_exception_catchpoint): Remove reference to base
12199         field.
12200         (initialize_ada_catchpoint_ops): Don't set dtors.
12201         * break-catch-sig.c (struct signal_catchpoint): Inherit from
12202         breakpoint.
12203         <~signal_catchpoint>: New.
12204         <base>: Remove.
12205         (signal_catchpoint_dtor): Change to ...
12206         (signal_catchpoint::~signal_catchpoint): ... this.
12207         (create_signal_catchpoint): Remove reference to base field.
12208         (initialize_signal_catchpoint_ops): Don't set dtor.
12209         * break-catch-syscall.c (struct syscall_catchpoint): Inherit
12210         from breakpoint.
12211         <~syscall_catchpoint>: New.
12212         <base>: Remove.
12213         (dtor_catch_syscall): Change to ...
12214         (syscall_catchpoint::~syscall_catchpoint): ... this.
12215         (create_syscall_event_catchpoint): Remove reference to base
12216         field.
12217         (initialize_syscall_catchpoint_ops): Don't set dtor.
12218         * break-catch-throw.c (struct exception_catchpoint): Inherit
12219         from breakpoint.
12220         <~exception_catchpoint>: New.
12221         <base>: Remove.
12222         (dtor_exception_catchpoint): Change to ...
12223         (exception_catchpoint::~exception_catchpoint): ... this.
12224         (handle_gnu_v3_exceptions): Remove reference to base field.
12225         (initialize_throw_catchpoint_ops): Don't set dtor.
12226         * ctf.c (ctf_get_traceframe_address): Remove reference to base
12227         field.
12228         * remote.c (remote_get_tracepoint_status): Likewise.
12229         * tracefile-tfile.c (tfile_get_traceframe_address): Likewise.
12230         * tracefile.c (tracefile_fetch_registers): Likewise.
12231         * tracepoint.c (actions_command): Likewise.
12232         (validate_actionline): Likewise.
12233         (tfind_1): Likewise.
12234         (get_traceframe_location): Likewise.
12235         (find_matching_tracepoint_location): Likewise.
12236         (parse_tracepoint_status): Likewise.
12237         * mi/mi-cmd-break.c (mi_cmd_break_passcount): Likewise.
12238
12239 2017-06-02  Simon Marchi  <simon.marchi@polymtl.ca>
12240
12241         * breakpoint.c (struct longjmp_breakpoint): New struct.
12242         (is_tracepoint_type): Change return type to bool.
12243         (is_longjmp_type): New function.
12244         (new_breakpoint_from_type): Handle longjmp kinds of breakpoints.
12245         (set_raw_breakpoint_without_location): Use
12246         new_breakpoint_from_type.
12247         (set_raw_breakpoint): Likewise.
12248
12249 2017-06-02  Simon Marchi  <simon.marchi@polymtl.ca>
12250
12251         * breakpoint.c (new_breakpoint_from_type): New function.
12252         (create_breakpoint_sal): Use new_breakpoint_from_type and
12253         unique_ptr.
12254         (create_breakpoint): Likewise.
12255
12256 2017-05-31  Simon Marchi  <simon.marchi@ericsson.com>
12257
12258         * memattr.c (mem_info_command): Rename to ...
12259         (info_mem_command): ... this.
12260         (mem_enable_command): Rename to ...
12261         (enable_mem_command): ... this.
12262         (mem_disable_command): Rename to ...
12263         (disable_mem_command): ... this.
12264         (mem_delete_command): Rename to ...
12265         (delete_mem_command): ... this.
12266         (_initialize_mem): Adjust function names.
12267
12268 2017-05-31  Markus Metzger  <markus.t.metzger@intel.com>
12269
12270         * btrace.c (handle_pt_insn_events): New.
12271         (ftrace_add_pt): Call handle_pt_insn_events.  Rename ERRCODE into
12272         STATUS.  Split into this and ...
12273         (handle_pt_insn_event_flags): ... this.
12274
12275 2017-05-31  Markus Metzger  <markus.t.metzger@intel.com>
12276
12277         * configure.ac: Check for pt_insn_event, struct pt_insn.enabled,
12278         and struct pt_insn.resynced.
12279         * configure: Regenerated.
12280         * config.in: Regenerated.
12281
12282 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12283
12284         * btrace.c (ftrace_find_call_by_number): New function.
12285         (ftrace_new_function): Store objects, not pointers.
12286         (ftrace_find_call_by_number, ftrace_new_return, ftrace_new_switch,
12287         ftrace_new_gap, ftrace_update_function,
12288         ftrace_compute_global_level_offset, btrace_stich_bts, btrace_clear,
12289         btrace_insn_get, btrace_insn_get_error, btrace_insn_end,
12290         btrace_insn_next, btrace_insn_prev, ptrace_find_insn_by_number,
12291         btrace_ends_with_single_insn, btrace_call_get): Account for
12292         btrace_thread_info::functions now storing objects.
12293         * btrace.h (struct btrace_thread_info): Add constructor.
12294         (struct btrace_thread_info) <functions>: Make std::vector.
12295         (struct btrace_thread_info) <prev, next, up, insn, errcode, flags):
12296         Initialize with default values.
12297         * record-btrace.c (record_btrace_frame_sniffer): Account for
12298         btrace_thread_info::functions now storing objects.
12299
12300 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12301
12302         * btrace.c: Remove typedef bfun_s.
12303         (ftrace_new_gap): Directly add gaps to the list of gaps.
12304         (btrace_bridge_gaps, btrace_compute_ftrace_bts, pt_btrace_insn_flags,
12305         ftrace_add_pt, btrace_compute_ftrace_pt, btrace_compute_ftrace_1,
12306         btrace_finalize_ftrace, btrace_compute_ftrace): Use std::vector
12307         instead of gdb VEC.
12308
12309 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12310
12311         * btrace.c (ftrace_fixup_caller, ftrace_new_return, ftrace_connect_bfun,
12312         ftrace_bridge_gap): Replace references to btrace_thread_info::segment
12313         with btrace_thread_info::next_segment and
12314         btrace_thread_info::prev_segment.
12315         * btrace.h: Remove struct btrace_func_link.
12316         (struct btrace_function): Replace pair of function segment pointers
12317         with pair of indices.
12318         * python/py-record-btrace.c (btpy_call_prev_sibling,
12319         btpy_call_next_sibling): Replace references to
12320         btrace_thread_info::segment with btrace_thread_info::next_segment and
12321         btrace_thread_info::prev_segment.
12322         * record-btrace.c (record_btrace_frame_this_id): Use
12323         btrace_find_call_by_number.
12324
12325 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12326
12327         * btrace.c (ftrace_new_function, ftrace_fixup_level,
12328         ftrace_connect_bfun, ftrace_bridge_gap, btrace_bridge_gaps,
12329         btrace_insn_next, btrace_insn_prev): Remove references to
12330         btrace_thread_info::flow.
12331         * btrace.h (struct btrace_function): Remove FLOW.
12332
12333 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12334
12335         * btrace.c (ftrace_find_call_by_number): New function.
12336         (ftrace_update_caller, ftrace_new_call, ftrace_new_tailcall,
12337         ftrace_get_caller, ftrace_find_call, ftrace_new_return,
12338         ftrace_match_backtrace, ftrace_connect_bfun, ftrace_connect_backtrace,
12339         ftrace_bridge_gap, btrace_bridge_gaps): Use btrace_function::up as an
12340         index.
12341         * btrace.h (struct btrace_function): Turn UP into an index.
12342         * python/py-record-btrace.c (btpy_call_up): Use btrace_function::up
12343         as an index.
12344         * record-btrace.c (record_btrace_frame_unwind_stop_reason,
12345         record_btrace_frame_prev_register, record_btrace_frame_sniffer,
12346         record_btrace_tailcall_frame_sniffe): Use btrace_find_call_by_number.
12347
12348 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12349
12350         * btrace.c (ftrace_new_function, ftrace_new_call, ftrace_new_tailcall,
12351         ftrace_new_return, ftrace_new_switch, ftrace_new_gap,
12352         ftrace_update_function, ftrace_compute_global_level_offset,
12353         btrace_compute_ftrace_bts, ftrace_add_pt, btrace_compute_ftrace_pt,
12354         btrace_stitch_bts, btrace_fetch, btrace_clear, btrace_insn_number,
12355         btrace_insn_end, btrace_is_empty): Remove references to
12356         btrace_thread_info::begin and btrace_thread_info::end.
12357         * btrace.h (struct btrace_thread_info): Remove BEGIN and END.
12358         (struct btrace_thread_info) <functions>: Adjust comment.
12359         * record-btrace.c (record_btrace_start_replaying): Remove reference to
12360         btrace_thread_info::begin.
12361
12362 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12363
12364         * btrace.c (ftrace_new_function, ftrace_new_call, ftrace_new_tailcall,
12365         ftrace_new_return, ftrace_new_switch, ftrace_new_gap,
12366         ftrace_update_function): Remove arguments that implicitly were always
12367         BTINFO->END.
12368         (btrace_compute_ftrace_bts, ftrace_add_pt, btrace_compute_ftrace_pt):
12369         Don't pass BTINFO->END.
12370
12371 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12372
12373         * btrace.c: (btrace_insn_get, btrace_insn_get_error, btrace_insn_number,
12374         btrace_insn_begin, btrace_insn_end, btrace_insn_next, btrace_insn_prev,
12375         btrace_find_insn_by_number): Replace function segment pointer with
12376         index.
12377         (btrace_insn_cmp): Simplify.
12378         * btrace.h: (struct btrace_insn_iterator) Rename index to
12379         insn_index.  Replace function segment pointer with index into function
12380         segment vector.
12381         * record-btrace.c (record_btrace_call_history): Replace function
12382         segment pointer use with index.
12383         (record_btrace_frame_sniffer): Retrieve function call segment through
12384         vector.
12385         (record_btrace_set_replay): Remove defunc't safety check.
12386
12387 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12388
12389         * btrace.c (btrace_ends_with_single_insn): New function.
12390         (btrace_call_get, btrace_call_number, btrace_call_begin,
12391         btrace_call_end, btrace_call_next, btrace_call_prev,
12392         btrace_find_call_by_number): Use index into call segment vector
12393         instead of pointer.
12394         (btrace_call_cmp): Simplify.
12395         * btrace.h (struct btrace_call_iterator): Replace function call segment
12396         pointer with index into vector.
12397         * record-btrace.c (record_btrace_call_history): Use index instead of
12398         pointer.
12399
12400 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12401
12402         * btrace.c (btrace_insn_begin, btrace_insn_end,
12403         btrace_find_insn_by_number): Add btinfo to iterator.
12404         * btrace.h (struct btrace_insn_iterator): Add btinfo.
12405
12406 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12407
12408         * btrace.c (ftrace_new_function): Add btrace_thread_info to arguments
12409         and save pointers directly.
12410         (ftrace_new_call, ftrace_new_tailcall, ftrace_new_return,
12411         ftrace_new_switch, ftrace_new_gap, ftrace_update_function,
12412         ftrace_add_pt): Add btrace_thread_info to arguments.  Adjust for
12413         changed signature of functions.
12414         (btrace_compute_ftrace_pt): Adjust for changed signature of functions.
12415         (btrace_fetch): Remove code that adds btrace_function pointers to
12416         vector of btrace_functions.
12417         (btrace_clear): Simplify freeing vector of btrace_functions.
12418
12419 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12420
12421         * btrace.c (btrace_fetch, btrace_clear, btrace_find_insn_by_number):
12422         Replace VEC_* with std::vector functions.
12423         * btrace.h: Add include: vector. Remove typedef for DEF_VEC_P.
12424         (struct btrace_thread_info)<functions>: Change type to std::vector.
12425
12426 2017-05-30  Simon Marchi  <simon.marchi@ericsson.com>
12427
12428         * NEWS (Changes in GDB 8.0): Remove extra empty line.  Move
12429         "Removed targets and native configurations" up.  Merge duplicate
12430         "New commands" sub-sections.  Add "New options" sub-sections.
12431
12432 2017-05-26  Alan Hayward  <alan.hayward@arm.com>
12433
12434         * defs.h (copy_integer_to_size): New declaration.
12435         * findvar.c (copy_integer_to_size): New function.
12436         (do_cint_test): New selftest function.
12437         (copy_integer_to_size_test): Likewise.
12438         (_initialize_findvar): Likewise.
12439         * mips-fbsd-tdep.c (mips_fbsd_supply_reg): Use raw_supply_integer.
12440         (mips_fbsd_collect_reg): Use raw_collect_integer.
12441         * mips-linux-tdep.c (supply_32bit_reg): Use raw_supply_integer.
12442         (mips64_fill_gregset): Use raw_collect_integer
12443         (mips64_fill_fpregset): Use raw_supply_integer.
12444         * regcache.c (regcache::raw_supply_integer): New function.
12445         (regcache::raw_collect_integer): Likewise.
12446         * regcache.h: (regcache::raw_supply_integer): New declaration.
12447         (regcache::raw_collect_integer): Likewise.
12448
12449 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12450
12451         * Makefile.in (SFILES): Add gdbarch-selftests.c.
12452         (COMMON_OBS): Add gdbarch-selftests.o.
12453         * frame.c [GDB_SELF_TESTS] (create_new_frame): New function.
12454         * frame.h [GDB_SELF_TESTS] (create_new_frame): Declare.
12455         * gdbarch-selftests.c: New file.
12456         * regcache.h (regcache) <~regcache>: Mark it virtual if
12457         GDB_SELF_TEST.
12458         <raw_write>: Likewise.
12459
12460 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12461
12462         * regcache.c (current_regcache): Change it to
12463         regcache::current_regcache.
12464         (regcache_observer_target_changed): Update.
12465         (regcache_thread_ptid_changed): Make it a regcache static
12466         method.
12467         (regcache_thread_ptid_changed): Update.
12468         (class regcache_access): New.
12469         (current_regcache_test): Update.
12470         (_initialize_regcache): Update.
12471         * regcache.h: Include forward_list.
12472         (regcache): Declare regcache_thread_ptid_changed and declare
12473         registers_changed_ptid as friend.
12474
12475 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12476
12477         * i387-tdep.c (i387_register_to_value): Use register_size
12478         instead of TYPE_LENGTH.
12479         * m68k-tdep.c (m68k_register_to_value): Likewise.
12480
12481 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12482
12483         * i387-tdep.c (i387_convert_register_p): Return false if type
12484         code isn't TYPE_CODE_FLT.
12485
12486 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12487
12488         * alpha-tdep.c (alpha_convert_register_p): Return true if type
12489         length is 4.
12490         (alpha_register_to_value): Remove type length check.
12491         (alpha_value_to_register): Likewise.
12492
12493 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12494
12495         * ia64-tdep.c (ia64_convert_register_p): Check type's code is
12496         TYPE_CODE_FLT.
12497
12498 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12499
12500         * m68k-tdep.c (m68k_convert_register_p): Check type's code is
12501         TYPE_CODE_FLT or not.
12502
12503 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12504
12505         * alpha-tdep.c (alpha_gdbarch_init): Use XCNEW instead of XNEW.
12506         * avr-tdep.c (avr_gdbarch_init): Likewise.
12507         * bfin-tdep.c (bfin_gdbarch_init): Likewise.
12508         * cris-tdep.c (cris_gdbarch_init): Likewise.
12509         * ft32-tdep.c (ft32_gdbarch_init): Likewise.
12510         * lm32-tdep.c (lm32_gdbarch_init): Likewise.
12511         * m32r-tdep.c (m32r_gdbarch_init): Likewise.
12512         * m68hc11-tdep.c (m68hc11_gdbarch_init): Likewise.
12513         * mep-tdep.c (mep_gdbarch_init): Likewise.
12514         * microblaze-tdep.c (microblaze_gdbarch_init): Likewise.
12515         * mips-tdep.c (mips_gdbarch_init): Likewise.
12516         * mn10300-tdep.c (mn10300_gdbarch_init): Likewise.
12517         * moxie-tdep.c (moxie_gdbarch_init): Likewise.
12518         * msp430-tdep.c (msp430_gdbarch_init): Likewise.
12519         * sh64-tdep.c (sh64_gdbarch_init): Likewise.
12520         * v850-tdep.c (v850_gdbarch_init): Likewise.
12521
12522 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12523
12524         * selftest-arch.c (tests_with_arch): Call registers_changed
12525         and reinit_frame_cache.
12526         * selftest.c (run_self_tests): Likewise.
12527
12528 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12529
12530         * rs6000-tdep.c (gdb_print_insn_powerpc): Remove.
12531         (rs6000_gdbarch_init): Don't call set_gdbarch_print_insn.
12532
12533 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12534
12535         * rl78-tdep.c (rl78_gdbarch_init): Don't call
12536         set_gdbarch_print_insn.
12537
12538 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12539
12540         * h8300-tdep.c (h8300_gdbarch_init): Don't call
12541         set_gdbarch_print_insn.
12542
12543 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12544
12545         * alpha-tdep.c (alpha_gdbarch_init): Don't call
12546         set_gdbarch_print_insn.
12547         * arc-tdep.c (arc_gdbarch_init): Likewise.
12548         * arch-utils.c: include dis-asm.h.
12549         (default_print_insn): New function.
12550         * arch-utils.h (default_print_insn): Declare.
12551         * avr-tdep.c (avr_gdbarch_init): Don't call set_gdbarch_print_insn.
12552         * bfin-tdep.c (bfin_gdbarch_init): Likewise.
12553         * cris-tdep.c (cris_delayed_get_disassembler): Remove.
12554         (cris_gdbarch_init): Don't call set_gdbarch_print_insn.
12555         * frv-tdep.c (frv_gdbarch_init): Likewise.
12556         * ft32-tdep.c (ft32_gdbarch_init): Likewise.
12557         * gdbarch.sh (print_insn): Use default_print_insn.
12558         * gdbarch.c: Regenerated.
12559         * hppa-tdep.c (hppa_gdbarch_init): Likewise.
12560         * iq2000-tdep.c (iq2000_gdbarch_init): Likewise.
12561         * lm32-tdep.c (lm32_gdbarch_init): Likewise.
12562         * m32c-tdep.c (m32c_gdbarch_init): Likewise.
12563         * m32r-tdep.c (m32r_gdbarch_init): Likewise.
12564         * m68hc11-tdep.c (gdb_print_insn_m68hc11): Remove.
12565         (m68hc11_gdbarch_init): Don't call set_gdbarch_print_insn.
12566         * m68k-tdep.c (m68k_gdbarch_init): Likewise.
12567         * m88k-tdep.c (m88k_gdbarch_init): Likewise.
12568         * microblaze-tdep.c (microblaze_gdbarch_init): Likewise.
12569         * mn10300-tdep.c (mn10300_gdbarch_init): Likewise.
12570         * moxie-tdep.c (moxie_gdbarch_init): Likewise.
12571         * msp430-tdep.c (msp430_gdbarch_init): Likewise.
12572         * mt-tdep.c (mt_gdbarch_init): Likewise.
12573         * nds32-tdep.c (nds32_gdbarch_init): Likewise.
12574         * nios2-tdep.c (nios2_print_insn): Remove.
12575         (nios2_gdbarch_init): Don't call set_gdbarch_print_insn.
12576         * rx-tdep.c (rx_gdbarch_init): Likewise.
12577         * s390-linux-tdep.c (s390_gdbarch_init): Likewise.
12578         * score-tdep.c (score_print_insn): Remove.
12579         (score_gdbarch_init): Don't call set_gdbarch_print_insn.
12580         * sh-tdep.c (sh_gdbarch_init): Likewise.
12581         * sh64-tdep.c (sh64_gdbarch_init): Likewise.
12582         * sparc-tdep.c (sparc32_gdbarch_init): Likewise.
12583         * tic6x-tdep.c (tic6x_print_insn): Remove.
12584         (tic6x_gdbarch_init): Don't call set_gdbarch_print_insn.
12585         * tilegx-tdep.c (tilegx_gdbarch_init): Likewise.
12586         * v850-tdep.c (v850_gdbarch_init): Likewise.
12587         * vax-tdep.c (vax_gdbarch_init): Likewise.
12588         * xstormy16-tdep.c (xstormy16_gdbarch_init): Likewise.
12589         * xtensa-tdep.c (xtensa_gdbarch_init): Likewise.
12590
12591 2017-05-23  John Baldwin  <jhb@FreeBSD.org>
12592
12593         * mips-fbsd-tdep.c (MIPS_PC_REGNUM): Remove.
12594         (MIPS_FP0_REGNUM): Remove.
12595         (MIPS_FSR_REGNUM): Remove.
12596         (mips_fbsd_supply_fpregs): Use mips_regnum.
12597         (mips_fbsd_supply_gregs): Likewise.
12598         (mips_fbsd_collect_fpregs): Likewise.
12599         (mips_fbsd_collect_gregs): Likewise.
12600
12601 2017-05-23  John Baldwin  <jhb@FreeBSD.org>
12602
12603         * mips-fbsd-nat.c (getregs_supplies): Fix upper bound comparison.
12604         (getpfpregs_supplies): New function.
12605         (mips_fbsd_fetch_inferior_registers): Remove early exit and use
12606         getfpregs_supplies.
12607         (mips_fbsd_store_inferior_registers): Likewise.
12608
12609 2017-05-22  Pedro Alves <palves@redhat.com>
12610
12611         * MAINTAINERS (Host/Native): Add John Baldwin as FreeBSD
12612         maintainer.
12613
12614 2017-05-22  Alan Hayward  <alan.hayward@arm.com>
12615
12616         * ppc-linux-nat.c (fetch_register): Use PPC_MAX_REGISTER_SIZE.
12617         (store_register): Likewise.
12618         * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Likewise.
12619         (get_decimal_float_return_value): Likewise.
12620         (do_ppc_sysv_return_value): Likewise.
12621         (ppc64_sysv_abi_push_integer): Likewise.
12622         (ppc64_sysv_abi_push_freg): Likewise.
12623         (ppc64_sysv_abi_return_value_base): Likewise.
12624         (ppc64_sysv_abi_return_value): Likewise.
12625         * rs6000-aix-tdep.c (rs6000_push_dummy_call): Likewise.
12626         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Likewise.
12627         * rs6000-nat.c: Likewise.
12628         * rs6000-tdep.c (rs6000_register_to_value): Likewise.
12629         (rs6000_value_to_register): Likewise.
12630         * ppc-tdep.h (PPC_MAX_REGISTER_SIZE): Add.
12631
12632 2017-05-21  Tom Tromey  <tom@tromey.com>
12633
12634         PR rust/21466:
12635         * rust-lang.c (rust_print_type) <TYPE_CODE_ARRAY>: Print unsized
12636         arrays as "[T]", not "[T; ]".
12637
12638 2017-05-19  Tom Tromey  <tom@tromey.com>
12639
12640         PR rust/21484:
12641         * rust-lang.c (exp_descriptor_rust): New function.
12642         (rust_language_defn): Use it.
12643         * p-lang.c (pascal_language_defn): Update.
12644         * opencl-lang.c (opencl_language_defn): Update.
12645         * objc-lang.c (objc_language_defn): Update.
12646         * m2-lang.c (m2_language_defn): Update.
12647         * language.h (struct language_defn)
12648         <la_watch_location_expression>: New member.
12649         * language.c (unknown_language_defn, auto_language_defn)
12650         (local_language_defn): Update.
12651         * go-lang.c (go_language_defn): Update.
12652         * f-lang.c (f_language_defn): Update.
12653         * d-lang.c (d_language_defn): Update.
12654         * c-lang.h (c_watch_location_expression): Declare.
12655         * c-lang.c (c_watch_location_expression): New function.
12656         (c_language_defn, cplus_language_defn, asm_language_defn)
12657         (minimal_language_defn): Use it.
12658         * breakpoint.c (watch_command_1): Call
12659         la_watch_location_expression.
12660         * ada-lang.c (ada_language_defn): Update.
12661
12662 2017-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12663
12664         PR tui/21482
12665         * gdb_curses.h (NOMACROS): Define.
12666         (NCURSES_NOMACROS): Define.
12667
12668 2017-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12669
12670         PR tui/21482
12671         * tui/tui-windata.c (tui_erase_data_content): Cast last mvwaddstr
12672         arg to char *.
12673         * tui/tui-wingeneral.c (box_win): Likewise.
12674         * tui/tui-winsource.c (tui_erase_source_content): Likewise.
12675         (tui_show_source_line): Likewise.
12676         (tui_show_exec_info_content): Likewise.
12677
12678 2017-05-19  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>
12679
12680         * sparc-tdep.c (sparc_structure_return_p)
12681         (sparc_arg_on_registers_p): New functions.
12682         (sparc32_store_arguments): Use them.
12683         * sparc64-tdep.c (sparc64_16_byte_align_p)
12684         (sparc64_store_floating_fields, sparc64_extract_floating_fields):
12685         Handle TYPE_CODE_ARRAY.
12686
12687 2017-05-17  Yao Qi  <yao.qi@linaro.org>
12688
12689         * cli/cli-decode.c (add_alias_cmd): New function.
12690         * command.h (add_alias_cmd): Declare.
12691         * infcmd.c (_initialize_infcmd): Don't call add_com_alias,
12692         instead call add_alias_cmd.
12693
12694 2017-05-17  Pedro Alves  <palves@redhat.com>
12695
12696         * Makefile.in (nat_extra_makefile_frag): Rename to ...
12697         (nat_makefile_frag): ... this.  All references updated.
12698         * configure.ac: Likewise.
12699         * configure.nat: Likewise.  Enhance comments.
12700         * configure: Regenerate.
12701
12702 2017-05-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12703
12704         * procfs.c (procfs_create_inferior): Change prototype to match
12705         definition.
12706
12707 2017-05-13  Eli Zaretskii  <eliz@gnu.org>
12708
12709         * tui/tui.c (tui_enable): Cast "unknown" to 'char *' to avoid a
12710         C++ compiler warning.
12711
12712 2017-05-12  Tom Tromey  <tom@tromey.com>
12713
12714         PR rust/21483:
12715         * rust-lang.c (rust_evaluate_subexp) <STRUCTOP_STRUCT>: Don't
12716         recurse, just call value_struct_elt directly.
12717
12718 2017-05-12  Tom Tromey  <tom@tromey.com>
12719
12720         * rust-lang.c (rust_dump_subexp_body) <STRUCTOP_ANONYMOUS,
12721         OP_RUST_ARRAY>: Fix.
12722
12723 2017-05-12  Tom Tromey  <tom@tromey.com>
12724
12725         * rust-lang.c (rust_print_subexp): Replace "return" with "break".
12726
12727 2017-05-09  Yao Qi  <yao.qi@linaro.org>
12728
12729         * regcache.c: Include <forward_list>.
12730         (struct regcache_list): Remove.
12731         (current_regcache): Update.
12732         (get_thread_arch_aspace_regcache): Update for std::forward_list.
12733         (regcache_thread_ptid_changed): Likewise.
12734         (registers_changed_ptid): Likewise.
12735         (current_regcache_size): Likewise.
12736
12737 2017-05-09  Yao Qi  <yao.qi@linaro.org>
12738
12739         * regcache.c [GDB_SELF_TEST]: Include selftest.h.
12740         (current_regcache_size): New function.
12741         (current_regcache_test): New function.
12742         (_initialize_regcache) [GDB_SELF_TEST]: Register the unit test.
12743
12744 2017-05-08  Alan Hayward  <alan.hayward@arm.com>
12745
12746         * mips-tdep.c (mips_o32_return_value): Remove unused buffer.
12747         (print_gp_register_row): Use get_frame_register_value.
12748
12749 2017-05-08  Alan Hayward  <alan.hayward@arm.com>
12750
12751         * mips-linux-tdep.c (mips_supply_gregset): Use raw_supply_zeroed.
12752         (mips_supply_fpregset): Likewise.
12753         (mips64_supply_gregset): Likewise.
12754
12755 2017-05-08  Alan Hayward  <alan.hayward@arm.com>
12756
12757         * mn10300-linux-tdep.c (am33_supply_gregset_method): Use 
12758         regcache->raw_supply_zeroed.
12759
12760 2017-05-06  Sergio Durigan Junior  <sergiodj@redhat.com>
12761
12762         * configure.nat: Rearrange 'case' statements to match
12763         host before cpu.
12764
12765 2017-05-06  Sergio Durigan Junior  <sergiodj@redhat.com>
12766
12767         * Makefile.in: Remove "@host_makefile_frag@".  Add variables
12768         NAT_FILE, NATDEPFILES, NAT_CDEPS, LOADLIBES, MH_CFLAGS, XM_CLIBS,
12769         NAT_GENERATED_FILES, HAVE_NATIVE_GCORE_HOST.  Add
12770         "@nat_extra_makefile_frag@".
12771         (Makefile): Remove dependency on "@frags@".
12772         ($(GNULIB_BUILDDIR)/Makefile): Likewise.
12773         (data-directory/Makefile): Likewise.
12774         * config/aarch64/linux.mh: Deleted; moved contents to
12775         "gdb/configure.nat".
12776         * config/alpha/alpha-linux.mh: Likewise.
12777         * config/alpha/nbsd.mh: Likewise.
12778         * config/arm/linux.mh: Likewise.
12779         * config/arm/nbsdelf.mh: Likewise.
12780         * config/i386/cygwin.mh: Likewise.
12781         * config/i386/cygwin64.mh: Likewise.
12782         * config/i386/darwin.mh: Likewise.
12783         * config/i386/fbsd.mh: Likewise.
12784         * config/i386/fbsd64.mh: Likewise.
12785         * config/i386/go32.mh: Likewise.
12786         * config/i386/i386gnu.mh: Likewise.
12787         * config/i386/i386sol2.mh: Likewise.
12788         * config/i386/linux.mh: Likewise.
12789         * config/i386/linux64.mh: Likewise.
12790         * config/i386/mingw.mh: Likewise.
12791         * config/i386/mingw64.mh: Likewise.
12792         * config/i386/nbsd64.mh: Likewise.
12793         * config/i386/nbsdelf.mh: Likewise.
12794         * config/i386/nto.mh: Likewise.
12795         * config/i386/obsd.mh: Likewise.
12796         * config/i386/obsd64.mh: Likewise.
12797         * config/i386/sol2-64.mh: Likewise.
12798         * config/ia64/linux.mh: Likewise.
12799         * config/m32r/linux.mh: Likewise.
12800         * config/m68k/linux.mh: Likewise.
12801         * config/m68k/nbsdelf.mh: Likewise.
12802         * config/m68k/obsd.mh: Likewise.
12803         * config/m88k/obsd.mh: Likewise.
12804         * config/mips/fbsd.mh: Likewise.
12805         * config/mips/linux.mh: Likewise.
12806         * config/mips/nbsd.mh: Likewise.
12807         * config/mips/obsd64.mh: Likewise.
12808         * config/pa/linux.mh: Likewise.
12809         * config/pa/nbsd.mh: Likewise.
12810         * config/pa/obsd.mh: Likewise.
12811         * config/powerpc/aix.mh: Likewise.
12812         * config/powerpc/fbsd.mh: Likewise.
12813         * config/powerpc/linux.mh: Likewise.
12814         * config/powerpc/nbsd.mh: Likewise.
12815         * config/powerpc/obsd.mh: Likewise.
12816         * config/powerpc/ppc64-linux.mh: Likewise.
12817         * config/powerpc/spu-linux.mh: Likewise.
12818         * config/s390/linux.mh: Likewise.
12819         * config/sh/nbsd.mh: Likewise.
12820         * config/sparc/fbsd.mh: Likewise.
12821         * config/sparc/linux.mh: Likewise.
12822         * config/sparc/linux64.mh: Likewise.
12823         * config/sparc/nbsd64.mh: Likewise.
12824         * config/sparc/nbsdelf.mh: Likewise.
12825         * config/sparc/obsd64.mh: Likewise.
12826         * config/sparc/sol2.mh: Likewise.
12827         * config/tilegx/linux.mh: Likewise.
12828         * config/vax/nbsdelf.mh: Likewise.
12829         * config/vax/obsd.mh: Likewise.
12830         * config/xtensa/linux.mh: Likewise.
12831         * config/i386/i386gnu.mn: New file, with excerpts from
12832         "config/i386/i386gnu.mh".
12833         * configure: Regenerate.
12834         * configure.ac: Rewrite code to use "gdb/configure.nat" instead of
12835         *.mh files under "gdb/config".
12836         * configure.nat: New file, with contents from the
12837         "gdb/config/*/*.mh" files.
12838
12839 2017-05-05  Tim Wiederhake  <tim.wiederhake@intel.com>
12840
12841         * btrace.c (btrace_clear): Free insn vector.
12842
12843 2017-05-05  Pedro Alves  <palves@redhat.com>
12844
12845         * warning.m4 (build_warnings): Add -Wno-error=maybe-uninitialized.
12846         * configure: Regenerate.
12847
12848 2017-05-04  Pedro Alves  <palves@redhat.com>
12849
12850         * Makefile.in (SFILES): Add progspace-and-thread.c.
12851         (HFILES_NO_SRCDIR): Add progspace-and-thread.h.
12852         (COMMON_OBS): Add progspace-and-thread.o.
12853         * breakpoint.c: Include "progspace-and-thread.h".
12854         (update_inserted_breakpoint_locations)
12855         (insert_breakpoint_locations, create_longjmp_master_breakpoint):
12856         Use scoped_restore_current_pspace_and_thread.
12857         (create_std_terminate_master_breakpoint): Use
12858         scoped_restore_current_program_space.
12859         (remove_breakpoint): Use scoped_restore_current_pspace_and_thread.
12860         (print_breakpoint_location): Use
12861         scoped_restore_current_program_space.
12862         (bp_loc_is_permanent): Use
12863         scoped_restore_current_pspace_and_thread.
12864         (resolve_sal_pc): Use scoped_restore_current_pspace_and_thread.
12865         (download_tracepoint_locations): Use
12866         scoped_restore_current_pspace_and_thread.
12867         (breakpoint_re_set): Use scoped_restore_current_pspace_and_thread.
12868         * exec.c (exec_close_1): Use scoped_restore_current_program_space.
12869         (enum step_over_calls_kind): Moved from inferior.h.
12870         (class scoped_restore_current_thread): New class.
12871         * gdbthread.h (make_cleanup_restore_current_thread): Delete
12872         declaration.
12873         (scoped_restore_current_thread): New class.
12874         * infcmd.c: Include "common/gdb_optional.h".
12875         (continue_1, proceed_after_attach): Use
12876         scoped_restore_current_thread.
12877         (notice_new_inferior): Use scoped_restore_current_thread.
12878         * inferior.c: Include "progspace-and-thread.h".
12879         (restore_inferior, save_current_inferior): Delete.
12880         (add_inferior_command, clone_inferior_command): Use
12881         scoped_restore_current_pspace_and_thread.
12882         * inferior.h (scoped_restore_current_inferior): New class.
12883         * infrun.c: Include "progspace-and-thread.h" and
12884         "common/gdb_optional.h".
12885         (follow_fork_inferior): Use
12886         scoped_restore_current_pspace_and_thread.
12887         (scoped_restore_exited_inferior): New class.
12888         (handle_vfork_child_exec_or_exit): Use
12889         scoped_restore_exited_inferior,
12890         scoped_restore_current_pspace_and_thread,
12891         scoped_restore_current_thread and scoped_restore.
12892         (fetch_inferior_event): Use scoped_restore_current_thread.
12893         * linespec.c (decode_line_full, decode_line_1): Use
12894         scoped_restore_current_program_space.
12895         * mi/mi-main.c: Include "progspace-and-thread.h".
12896         (exec_continue): Use scoped_restore_current_thread.
12897         (mi_cmd_exec_run): Use scoped_restore_current_pspace_and_thread.
12898         (mi_cmd_trace_frame_collected): Use scoped_restore_current_thread.
12899         * proc-service.c (ps_pglobal_lookup): Use
12900         scoped_restore_current_program_space.
12901         * progspace-and-thread.c: New file.
12902         * progspace-and-thread.h: New file.
12903         * progspace.c (release_program_space, clone_program_space): Use
12904         scoped_restore_current_program_space.
12905         (restore_program_space, save_current_program_space)
12906         (save_current_space_and_thread): Delete.
12907         (switch_to_program_space_and_thread): Moved to
12908         progspace-and-thread.c.
12909         * progspace.h (save_current_program_space)
12910         (save_current_space_and_thread): Delete declarations.
12911         (scoped_restore_current_program_space): New class.
12912         * remote.c (remote_btrace_maybe_reopen): Use
12913         scoped_restore_current_thread.
12914         * symtab.c: Include "progspace-and-thread.h".
12915         (skip_prologue_sal): Use scoped_restore_current_pspace_and_thread.
12916         * thread.c (print_thread_info_1): Use
12917         scoped_restore_current_thread.
12918         (struct current_thread_cleanup): Delete.
12919         (do_restore_current_thread_cleanup)
12920         (restore_current_thread_cleanup_dtor): Rename/convert both to ...
12921         (scoped_restore_current_thread::~scoped_restore_current_thread):
12922         ... this new dtor.
12923         (make_cleanup_restore_current_thread): Rename/convert to ...
12924         (scoped_restore_current_thread::scoped_restore_current_thread):
12925         ... this new ctor.
12926         (thread_apply_all_command): Use scoped_restore_current_thread.
12927         (thread_apply_command): Use scoped_restore_current_thread.
12928         * tracepoint.c (tdump_command): Use scoped_restore_current_thread.
12929         * varobj.c (value_of_root_1): Use scoped_restore_current_thread.
12930
12931 2017-05-04  Pedro Alves  <palves@redhat.com>
12932
12933         * thread.c (make_cleanup_restore_current_thread): Move
12934         find_thread_ptid call before the is_stopped call.  Assert that the
12935         thread is found.  Replace is_stopped call by checking the thread's
12936         state directly.  Remove unnecessary NULL-thread check.
12937
12938 2017-05-04  Pedro Alves  <palves@redhat.com>
12939
12940         * corelow.c (thread_section_name): New class.
12941         (get_core_register_section, get_core_siginfo): Use it.
12942
12943 2017-05-04  Andreas Arnez  <arnez@linux.vnet.ibm.com>
12944
12945         * corelow.c (sniff_core_bfd): Remove extra semicolon.
12946         (get_core_register_section): Remove xfree of NULL pointer.
12947
12948 2017-05-03  Alan Hayward  <alan.hayward@arm.com>
12949
12950         * frv-linux-tdep.c (frv_linux_supply_gregset): Use raw_supply_zeroed.
12951         * regcache.c (regcache::raw_supply_zeroed): New function.
12952         * regcache.h (regcache::raw_supply_zeroed): New declaration.
12953
12954 2017-05-03  Simon Marchi  <simon.marchi@ericsson.com>
12955
12956         * gdbarch.sh: Remove commented out definition of
12957         TARGET_CHAR_BIT.
12958         * gdbarch.h: Re-generate.
12959
12960 2017-05-03  Sergio Durigan Junior  <sergiodj@redhat.com>
12961
12962         * configure: Regenerate.
12963
12964 2017-05-02  Simon Marchi  <simon.marchi@ericsson.com>
12965
12966         * solib-target.c (solib_target_relocate_section_addresses):
12967         Remove num_section_bases, num_bases, segment_bases variables.
12968
12969 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
12970
12971         * common/gdb_vecs.h (DEF_VEC_I (CORE_ADDR)): Remove.
12972
12973 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
12974
12975         * solib-target.c: Include <vector>
12976         (struct lm_info_target) <~lm_info_target>: Remove.
12977         <segment_bases, section_bases>: Change type to
12978         std::vector<CORE_ADDR>.
12979         (library_list_start_segment, library_list_start_section,
12980         library_list_end_library,
12981         solib_target_relocate_section_addresses): Adjust.
12982
12983 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
12984
12985         * gdbarch.sh (software_single_step): Change return type to
12986         std::vector<CORE_ADDR>.
12987         * gdbarch.c, gdbarch.h: Re-generate.
12988         * arch/arm-get-next-pcs.c (thumb_deal_with_atomic_sequence_raw):
12989         Adjust.
12990         (arm_deal_with_atomic_sequence_raw): Adjust.
12991         (thumb_get_next_pcs_raw): Adjust.
12992         (arm_get_next_pcs_raw): Adjust.
12993         (arm_get_next_pcs): Adjust.
12994         * arch/arm-get-next-pcs.h (arm_get_next_pcs): Adjust.
12995         * aarch64-tdep.c (aarch64_software_single_step): Adjust.
12996         * alpha-tdep.c (alpha_deal_with_atomic_sequence): Adjust.
12997         (alpha_software_single_step): Adjust.
12998         * alpha-tdep.h (alpha_software_single_step): Adjust.
12999         * arm-linux-tdep.c (arm_linux_software_single_step): Adjust.
13000         * arm-tdep.c (arm_software_single_step): Adjust.
13001         (arm_breakpoint_kind_from_current_state): Adjust.
13002         * arm-tdep.h (arm_software_single_step): Adjust.
13003         * breakpoint.c (insert_single_step_breakpoint): Adjust.
13004         * cris-tdep.c (cris_software_single_step): Adjust.
13005         * mips-tdep.c (mips_deal_with_atomic_sequence): Adjust.
13006         (micromips_deal_with_atomic_sequence): Adjust.
13007         (deal_with_atomic_sequence): Adjust.
13008         (mips_software_single_step): Adjust.
13009         * mips-tdep.h (mips_software_single_step): Adjust.
13010         * moxie-tdep.c (moxie_software_single_step): Adjust.
13011         * nios2-tdep.c (nios2_software_single_step): Adjust.
13012         * ppc-tdep.h (ppc_deal_with_atomic_sequence): Adjust.
13013         * rs6000-aix-tdep.c (rs6000_software_single_step): Adjust.
13014         * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Adjust.
13015         * s390-linux-tdep.c (s390_software_single_step): Adjust.
13016         * sparc-tdep.c (sparc_software_single_step): Adjust.
13017         * spu-tdep.c (spu_software_single_step): Adjust.
13018         * tic6x-tdep.c (tic6x_software_single_step): Adjust.
13019
13020 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
13021
13022         * gdbarch.sh: Use semi-colon as field separator instead of colon.
13023         * gdbarch.h: Re-generate.
13024
13025 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13026
13027         * Makefile.in (SUBDIR_PYTHON_OBS): Add py-instruction.o.
13028         (SUBDIR_PYTHON_SRCS): Add py-instruction.c.
13029         * python/py-instruction.c, python/py-instruction.h: New file.
13030         * python/py-record.c: Add py-instruction.h include.
13031         (gdbpy_initialize_record): Make gdb.Instruction a super class of
13032         gdb.RecordInstruction.
13033         * python/python-internal.h: Add gdbpy_initialize_instruction
13034         declaration.
13035         * python/python.c (do_start_initialization): Add
13036         gdbpy_initialize_instruction.
13037
13038 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13039
13040         * python/py-record-btrace.c (BTPY_REQUIRE_VALID_CALL, btpy_call_type):
13041         Remove.
13042         (btrace_func_from_recpy_func): New function.
13043         (btpy_call_new, btpy_number, btpy_hash, btpy_richcompare): Remove.
13044         (btpy_call_level, btpy_call_symbol, btpy_call_instructions,
13045         btpy_call_up, btpy_call_prev_sibling, btpy_call_next_sibling): Rename to ...
13046         (recpy_bt_func_level, recpy_bt_func_symbol, recpy_bt_func_instructions,
13047         recpy_bt_func_up, recpy_bt_func_prev, recpy_bt_func_next): This.
13048         Also, use new helper functions.
13049         (btpy_list_item): Use new helper functions.
13050         (recpy_bt_function_call_history): Use new type name.
13051         (btpy_call_getset): Remove.
13052         (gdbpy_initialize_btrace): Remove code to initialize
13053         gdb.BtraceFunctionCall.
13054         * python/py-record-btrace.h (recpy_bt_func_number, recpy_btb_func_level,
13055         recpy_btb_func_symbol, recpy_bt_func_instructions, recpy_bt_func_up,
13056         recpy_bt_func_prev, recpy_bt_func_next): New export.
13057         * python/py-record.c (recpy_func_type): New static object.
13058         (recpy_func_new, recpy_func_level, recpy_func_symbol,
13059         recpy_func_instructions, recpy_func_up, recpy_func_prev,
13060         recpy_func_next): New function.
13061         (recpy_element_hash, recpy_element_richcompare): Updated comment.
13062         (recpy_func_getset): New static object.
13063         (gdbpy_initialize_record): Add code to initialize gdb.RecordInstruction.
13064         * python/py-record.h (recpy_func_type, recpy_func_new): New export.
13065
13066 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13067
13068         * python/py-record-btrace.c (BTPY_REQUIRE_VALID_INSN): Remove.
13069         (btpy_object, btpy_insn_type, btpy_new): Remove.
13070         (btpy_list_object): Use gdb.RecordInstruction type instead of
13071         gdb.BtraceInstruction type.
13072         (btrace_insn_from_recpy_insn): New function.
13073         (btpy_insn_or_gap_new): Adjust comment. Use recpy_insn_new instead of
13074         btpy_new.
13075         (btpy_call_new, btpy_list_item): Do not use btpy_new anymore.
13076         (btpy_number, btpy_hash, btpy_call_level, btpy_call_symbol,
13077         btpy_call_instructions, btpy_call_up, btpy_call_prev_sibling,
13078         btpy_call_next_sibling, btpy_richcompare): Use recpy_element_object
13079         instead of btpy_object.
13080         (btpy_insn_sal, btpy_insn_pc, btpy_insn_size, btpy_insn_is_speculative,
13081         btpy_insn_data, btpy_insn_decode): Rename to ...
13082         (recpy_bt_insn_sal, recpy_bt_insn_pc, recpy_bt_insn_size,
13083         recpy_bt_insn_is_speculative, recpy_bt_insn_data,
13084         recpy_bt_insn_decode): This.  Also, use new helper functions.
13085         (btpy_list_position, recpy_bt_goto): Use recpy_element_object and
13086         recpy_insn_type.
13087         (btpy_insn_getset): Remove.
13088         (gdbpy_initialize_btrace): Remove code to initialize
13089         gdb.BtraceInstruction.  Use recpy_element_object.
13090         * python/py-record-btrace.h (recpy_bt_insn_number, recpy_bt_insn_sal,
13091         recpy_bt_insn_pc, recpy_bt_insn_data, recpy_bt_insn_decoded,
13092         recpy_bt_insn_size, recpy_bt_insn_is_speculative): New export.
13093         * python/py-record.c (recpy_insn_type): New static object.
13094         (recpy_insn_new, recpy_insn_sal, recpy_insn_pc, recpy_insn_data,
13095         recpy_insn_decoded, recpy_insn_size, recpy_insn_is_speculative,
13096         recpy_element_number, recpy_element_hash, recpy_element_richcompare):
13097         New function.
13098         (recpy_insn_getset): New static object.
13099         (gdbpy_initialize_record): Initialize gdb.RecordInstruction.
13100         * python/py-record.h (recpy_element_object): New typedef.
13101         (recpy_insn_type, recpy_insn_new): New export.
13102
13103 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13104
13105         * py-record-btrace.c (btpy_insn_new): Removed.
13106         (btpy_insn_or_gap_new): New function.
13107         (btpy_insn_error): Removed.
13108         (btpy_insn_sal, btpy_insn_pc, btpy_insn_size, btpy_insn_is_speculative,
13109         btpy_insn_data, btpy_insn_decode): Remove code path for gaps.
13110         (recpy_bt_replay_position, recpy_bt_begin, recpy_bt_end): Call
13111         btpy_insn_or_gap_new instead of btpy_insn_new.
13112         (btpy_insn_getset): Remove btpy_insn_error.
13113         * py-record.c (recpy_gap_type): New static object.
13114         (recpy_gap_object): New typedef.
13115         (recpy_gap_new, recpy_gap_number, recpy_gap_reason_code,
13116         recpy_gap_reason_string): New function.
13117         (recpy_gap_getset): New static object.
13118         (gdbpy_initialize_record): Initialize gdb.RecordGap type.
13119         * py-record.h (recpy_gap_new): New export.
13120
13121 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13122
13123         * python/py-record.c (recpy_ptid): Remove.
13124         (recpy_record_getset): Remove recpy_ptid.
13125
13126 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13127
13128         * btrace.c (btrace_fetch): Set inferior_ptid.
13129         * python/py-record-btrace.c: Add "py-record.h" include.
13130         (recpy_bt_format, recpy_bt_replay_position, recpy_bt_begin,
13131         recpy_bt_end, recpy_bt_instruction_history,
13132         recpy_bt_function_call_history, recpy_bt_goto): Use ptid stored
13133         in gdb.Record object instead of current ptid.
13134         * python/py-record.c: Include new "py-record.h" file.
13135         (recpy_record_object): Moved to py-record.h.
13136         * python/py-record.h: New file.
13137
13138 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13139
13140         * python/py-record-btrace.c (BTPY_REQUIRE_VALID_INSN,
13141         BTPY_REQUIRE_VALID_CALL, recpy_bt_function_call_history): Fix
13142         indentation.
13143
13144 2017-05-01  Joel Brobecker  <brobecker@adacore.com>
13145
13146         * MAINTAINERS: Move Daniel Jacobowitz and Mark Kettenis to
13147         the past maintainers section.
13148
13149 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13150
13151         * infcmd.c (get_return_value): Use regcache ctor, and remove
13152         cleanup.
13153
13154 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13155             Pedro Alves  <palves@redhat.com>
13156
13157         * regcache.c (regcache::regcache): New tag dispatch ctor.
13158         (do_cooked_read): Moved above.
13159         (regcache_dup): Use the tag dispatch ctor..
13160         * regcache.h (regcache): Declare ctor, delete copy ctor and
13161         assignment operator, remove friend regcache_dup.
13162
13163 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13164
13165         * regcache.c (regcache_dup): Assert !src->m_readonly_p and
13166         call method save instead of regcache_cpy.
13167         * regcache.h (struct regcache): Make regcache_dup a friend.
13168
13169 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13170
13171         * regcache.c (struct regcache): Move to regcache.h
13172         (regcache::arch): New method.
13173         (regcache_get_ptid): Update.
13174         (get_regcache_arch): Call arch method.
13175         (get_regcache_aspace): Call method aspace.
13176         (register_buffer): Change it to method.
13177         (regcache_save): Change it to regcache::save.
13178         (regcache_restore): Likewise.
13179         (regcache_cpy_no_passthrough): Remove the declaration.
13180         (regcache_cpy): Call methods restore and cpy_no_passthrough.
13181         (regcache_cpy_no_passthrough): Change it to method
13182         cpy_no_passthrough.
13183         (regcache_register_status): Change it to method
13184         get_register_status.
13185         (regcache_invalidate): Change it to method invalidate.
13186         (regcache_thread_ptid_changed): Use methods ptid and set_ptid.
13187         (regcache_raw_update): Change it to method raw_update.
13188         (regcache_raw_read): Likewise.
13189         (regcache_raw_read_signed): Likewise.
13190         (regcache_raw_read_unsigned): Likewise.
13191         (regcache_raw_write_signed): Likewise.
13192         (regcache_raw_write_unsigned): Likewise.
13193         (regcache_cooked_read): Likewise.
13194         (regcache_cooked_read_value): Likewise.
13195         (regcache_cooked_read_signed): Likewise.
13196         (regcache_cooked_read_unsigned): Likewise.
13197         (regcache_cooked_write_signed): Likewise.
13198         (regcache_cooked_write_unsigned): Likewise.
13199         (regcache_raw_set_cached_value): Likewise.
13200         (regcache_raw_write): Likewise.
13201         (regcache_cooked_write): Likewise.
13202         (regcache_xfer_part): Likewise.
13203         (regcache_raw_read_part): Likewise.
13204         (regcache_raw_write_part): Likewise.
13205         (regcache_cooked_read_part): Likewise.
13206         (regcache_cooked_write_part): Likewise.
13207         (regcache_raw_supply): Likewise.
13208         (regcache_raw_collect): Likewise.
13209         (regcache_transfer_regset): Likewise.
13210         (regcache_supply_regset): Likewise.
13211         (regcache_collect_regset): Likewise.
13212         (regcache_debug_print_register): Likewise.
13213         (enum regcache_dump_what): Move it to regcache.h.
13214         (regcache_dump): Change it to method dump.
13215         * regcache.h (enum regcache_dump_what): New.
13216         (class regcache): New.
13217         * target.c (target_fetch_registers): Call method
13218         debug_print_register.
13219         (target_store_registers): Likewise.
13220
13221 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13222
13223         * windows-nat.c (struct lm_info_windows): Initialize field.
13224         (windows_make_so): Allocate lm_info_windows with new.
13225         (windows_free_so): Free lm_info_windows with delete.
13226
13227 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13228
13229         * solib-darwin.c (struct lm_info_darwin): Initialize field.
13230         (darwin_current_sos): Allocate lm_info_darwin with new, remove
13231         cleanup.
13232         (darwin_free_so): Free lm_info_darwin with delete.
13233
13234 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13235
13236         * solib-svr4.h (struct lm_info_svr4): Initialize fields.
13237         <l_addr_p>: Change type to bool.
13238         * solib-svr4.c (lm_info_read): Allocate lm_info_svr4 with new.
13239         (svr4_free_so): Free lm_info_svr4 with delete.
13240         (svr4_copy_library_list): Replace memcpy with call to copy
13241         constructor.
13242         (library_list_start_library, svr4_default_sos): Allocate
13243         lm_info_svr4 with new.
13244
13245 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13246
13247         * solib-target.c (struct lm_info_target): Add destructor,
13248         initialize fields.
13249         <name>: Change type to std::string.
13250         (library_list_start_library): Allocate lm_info_target with new.
13251         (solib_target_free_library_list): Free lm_info_target with
13252         delete.
13253         (solib_target_current_sos): Adapt to std::string.
13254         (solib_target_free_so): Free lm_info_target with delete.
13255
13256 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13257
13258         * solib-frv.c (struct lm_info_frv): Add destructor, initialize
13259         fields.
13260         (frv_current_sos): Allocate lm_info_frv with new.
13261         (frv_relocate_main_executable): Free lm_info_frv with delete,
13262         allocate with new.
13263         (frv_clear_solib, frv_free_so): Free lm_info_frv with delete.
13264
13265 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13266
13267         * solib-frv.c (struct lm_info_frv): Fix indentation.
13268
13269 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13270
13271         * solib-dsbt.c (struct lm_info_dsbt): Add destructor, initialize
13272         map field.
13273         (dsbt_current_sos): Allocate lm_info_dsbt with new.
13274         (dsbt_relocate_main_executable): Free lm_info_dsbt with delete
13275         and allocate with new.
13276         (dsbt_clear_solib, dsbt_free_so): Free lm_info_dsbt with delete.
13277
13278 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13279
13280         * solib-aix.c (struct lm_info_aix): Initialize fields in-class.
13281         <filename, member_name>: Change type to std::string.
13282         (solib_aix_new_lm_info, solib_aix_xfree_lm_info): Remove.
13283         (library_list_start_library): Allocate lm_info_aix with new.
13284         (solib_aix_free_library_list, solib_aix_free_so): Free with delete.
13285         (solib_aix_current_sos): Adapt to std::string, copy lm_info_aix
13286         with copy constructor.
13287
13288 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13289
13290         * solist.h (struct lm_info): Remove.
13291         (struct lm_info_base): New class.
13292         (struct so_list) <lm_info>: Change type to lm_info_base *.
13293         * nto-tdep.c (struct lm_info): Remove.
13294         (lm_addr): Adjust.
13295         * solib-aix.c (struct lm_info): Rename to ...
13296         (struct lm_info_aix): ... this.  Extend lm_info_base.
13297         (lm_info_p): Rename to ...
13298         (lm_info_aix_p): ... this, and adjust.
13299         (solib_aix_new_lm_info, solib_aix_xfree_lm_info,
13300         solib_aix_parse_libraries, library_list_start_library,
13301         solib_aix_free_library_list, solib_aix_parse_libraries,
13302         solib_aix_get_library_list,
13303         solib_aix_relocate_section_addresses, solib_aix_free_so,
13304         solib_aix_get_section_offsets,
13305         solib_aix_solib_create_inferior_hook, solib_aix_current_sos):
13306         Adjust.
13307         (struct solib_aix_inferior_data) <library_list>: Adjust.
13308         * solib-darwin.c (struct lm_info): Rename to ...
13309         (struct lm_info_darwin): ... this.  Extend lm_info_base.
13310         (darwin_current_sos, darwin_relocate_section_addresses): Adjust.
13311         * solib-dsbt.c (struct lm_info): Rename to ...
13312         (struct lm_info_dsbt): ... this.  Extend lm_info_base.
13313         (struct dsbt_info) <main_executable_lm_info): Adjust.
13314         (dsbt_current_sos, dsbt_relocate_main_executable, dsbt_free_so,
13315         dsbt_relocate_section_addresses): Adjust.
13316         * solib-frv.c (struct lm_info): Rename to ...
13317         (struct lm_info_frv): ... this.  Extend lm_info_base.
13318         (main_executable_lm_info): Adjust.
13319         (frv_current_sos, frv_relocate_main_executable, frv_free_so,
13320         frv_relocate_section_addresses, frv_fdpic_find_global_pointer,
13321         find_canonical_descriptor_in_load_object,
13322         frv_fdpic_find_canonical_descriptor): Adjust.
13323         * solib-svr4.c (struct lm_info): Move to solib-svr4.h, renamed
13324         to lm_info_svr4.
13325         (lm_info_read, lm_addr_check, svr4_keep_data_in_core,
13326         svr4_clear_so, svr4_copy_library_list,
13327         library_list_start_library, svr4_default_sos, svr4_read_so_list,
13328         svr4_current_sos, svr4_fetch_objfile_link_map,
13329         solist_update_incremental): Adjust.
13330         * solib-svr4.h (struct lm_info_svr4): Move here from
13331         solib-svr4.c.
13332         * solib-target.c (struct lm_info): Rename to ...
13333         (struct lm_info_target): ... this.  Extend lm_info_base.
13334         (lm_info_p): Rename to ...
13335         (lm_info_target_p): ... this.
13336         (solib_target_parse_libraries, library_list_start_segment,
13337         library_list_start_section, library_list_start_library,
13338         library_list_end_library, solib_target_free_library_list,
13339         solib_target_current_sos, solib_target_free_so,
13340         solib_target_relocate_section_addresses): Adjust.
13341         * windows-nat.c (struct lm_info): Rename to ...
13342         (struct lm_info_windows): ... this.  Extend lm_info_base.
13343         (windows_make_so, handle_load_dll, handle_unload_dll,
13344         windows_xfer_shared_libraries): Adjust.
13345
13346 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13347
13348         * solib-darwin.c (struct darwin_so_list): Remove.
13349         (darwin_current_sos): Allocate an so_list object instead of a
13350         darwin_so_list, separately allocate an lm_info object.
13351         (darwin_free_so): Free lm_info.
13352
13353 2017-04-28  John Baldwin  <jhb@FreeBSD.org>
13354
13355         * mips-tdep.c (print_gp_register_row): Replace printf_filtered
13356         with fprintf_filtered.
13357
13358 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13359
13360         * regcache.c (regcache::regcache): New function.
13361         (regcache::~regcache): New function.
13362         (regcache_xmalloc_1): Remove.
13363         (regcache_xmalloc): Call new regcache.
13364         (regcache_xfree): Call delete regcache.
13365         (get_thread_arch_aspace_regcache): Call new regcache.
13366
13367 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13368
13369         * mips-linux-nat.c (mips_linux_new_thread): Use ptid method
13370         lwp instead of ptid_get_lwp.
13371
13372 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13373
13374         * mips-linux-nat.c (mips_linux_new_thread): Get lwpid from
13375         lwp_info instead of getting from inferior_ptid.
13376
13377 2017-04-27  Keith Seitz  <keiths@redhat.com>
13378
13379         * gdbtypes.c (LVALUE_REFERENCE_TO_RVALUE_BINDING_BADNESS)
13380         DIFFERENT_REFERENCE_TYPE_BADNESS): Remove.
13381         (CV_CONVERSION_BADNESS): Define.
13382         (rank_one_type): Remove overly restrictive rvalue reference
13383         rank checks.
13384         Add cv-qualifier checks and subranks for type equality.
13385         * gdbtypes.h (REFERENCE_CONVERSION_RVALUE,
13386         REFERENCE_CONVERSION_CONST_LVALUE, CV_CONVERSION_BADNESS,
13387         CV_CONVERSION_CONST, CV_CONVERSION_VOLATILE): Declare.
13388
13389 2017-04-27  Simon Marchi  <simon.marchi@ericsson.com>
13390
13391         * python/py-inferior.c (inferior_to_inferior_object): Increment reference
13392         count when creating the object.
13393
13394 2017-04-27  Sangamesh Mallayya  <sangamesh.swamy@in.ibm.com>
13395             Ulrich Weigand  <uweigand@de.ibm.com>
13396
13397         * xcoffread.c (read_xcoff_symtab): Read correct function auxiliary
13398         entry if xlc -qfuncsect or gcc -ffunction-sections compiler option
13399         is used in AIX.
13400         (read_xcoff_symtab): Handle C_WEAKEXT storage class.
13401         (process_xcoff_symbol): Likewise.
13402         (scan_xcoff_symtab): Likewise.
13403
13404 2017-04-26  Alan Hayward  <alan.hayward@arm.com>
13405
13406         * ia64-tdep.c (examine_prologue): Use get_frame_register_unsigned.
13407         (ia64_sigtramp_frame_prev_register): Use read_memory_unsigned_integer.
13408         (ia64_access_reg): Use get_frame_register_unsigned.
13409         (ia64_access_rse_reg): Likewise.
13410         (ia64_libunwind_frame_prev_register): Likewise.
13411
13412 2017-04-26  Jiong Wang  <jiong.wang@arm.com>
13413
13414         * gdbarch.sh: New gdbarch method execute_dwarf_cfa_vendor_op.
13415         * gdbarch.c: Regenerated.
13416         * gdbarch.h: Regenerated.
13417         * dwarf2-frame.c (dwarf2_frame_state_alloc_regs): Made the
13418         visibility external.
13419         (execute_cfa_program): Call execute_dwarf_cfa_vendor_op for CFI
13420         between DW_CFA_lo_user and DW_CFA_high_user inclusive.
13421         (enum cfa_how_kind): Move to ...
13422         (struct dwarf2_frame_state_reg_info): Likewise.
13423         (struct dwarf2_frame_state): Likewise.
13424         * dwarf2-frame.h: ... here.
13425         (dwarf2_frame_state_alloc_regs): New declaration.
13426         * sparc-tdep.c (sparc_execute_dwarf_cfa_vendor_op): New function.
13427         (sparc32_gdbarch_init): Register execute_dwarf_cfa_vendor_op hook.
13428
13429 2017-04-26  Alan Hayward  <alan.hayward@arm.com>
13430
13431         * xtensa-tdep.c (xtensa_pseudo_register_read): Use
13432         regcache_raw_read_unsigned.
13433         (xtensa_pseudo_register_write): Likewise.
13434
13435 2017-04-26  Alan Hayward  <alan.hayward@arm.com>
13436
13437         * nds32-tdep.c (nds32_pseudo_register_read): Abort on errors.
13438         (nds32_pseudo_register_write): Likewise.
13439
13440 2017-04-25  Yao Qi  <yao.qi@linaro.org>
13441
13442         * regcache.c (struct regcache) <readonly_p>: Change its type
13443         to bool.
13444         (regcache_xmalloc_1): Update parameter type and callers update.
13445
13446 2017-04-25  Yao Qi  <yao.qi@linaro.org>
13447
13448         * aarch64-tdep.c (aarch64_gdbarch_init): Don't call
13449         set_gdbarch_wchar_bit.
13450         * arm-tdep.c (arm_gdbarch_init): Likewise.
13451
13452 2017-04-25  Pedro Alves  <palves@redhat.com>
13453
13454         * common/poison.h [!HAVE_IS_TRIVIALLY_COPYABLE] (IsRelocatable)
13455         (BothAreRelocatable, memcopy, memmove): Don't define.
13456         * common/traits.h (__has_feature, HAVE_IS_TRIVIALLY_COPYABLE): New
13457         macros.
13458
13459 2017-04-25  Pedro Alves  <palves@redhat.com>
13460
13461         * common/common-defs.h: Include "common/poison.h".
13462         * common/function-view.h: (Not, Or, Requires): Move to traits.h
13463         and adjust.
13464         * common/poison.h: New file.
13465         * common/traits.h: Include <type_traits>.
13466         (Not, Or, Requires): New, moved from common/function-view.h.
13467
13468 2017-04-25  Pedro Alves  <palves@redhat.com>
13469
13470         * breakpoint.h (struct breakpoint): In-class initialize all
13471         fields.  Make boolean fields "bool".
13472         * breakpoint.c (init_raw_breakpoint_without_location): Remove
13473         memset call and initializations no longer necessary.
13474
13475 2017-04-25  Pedro Alves  <palves@redhat.com>
13476
13477         * btrace.c (pt_btrace_insn_flags): Change parameter type to
13478         reference.
13479         (pt_btrace_insn): New function.
13480         (ftrace_add_pt): Remove memset call and use pt_btrace_insn.
13481
13482 2017-04-25  Pedro Alves  <palves@redhat.com>
13483
13484         * ada-lang.c (ada_catchpoint_location): Now a "class".  Remove
13485         "base" field and inherit from "bp_location" instead.  Add
13486         non-default ctor.
13487         (allocate_location_exception): Use new non-default ctor.
13488         * breakpoint.c (get_first_locp_gte_addr): Remove memset call.
13489         (init_bp_location): Convert to ...
13490         (bp_location::bp_location): ... this new ctor, and remove memset
13491         call.
13492         (base_breakpoint_allocate_location): Use the new non-default ctor.
13493         * breakpoint.h (bp_location): Now a class.  Declare default and
13494         non-default ctors.  In-class initialize all members.
13495         (init_bp_location): Remove declaration.
13496
13497 2017-04-25  Pedro Alves  <palves@redhat.com>
13498
13499         * common/enum-flags.h (enum_flags): Don't implement copy ctor and
13500         assignment operator.
13501
13502 2017-04-24  Yao Qi  <yao.qi@linaro.org>
13503
13504         * doublest.c (convert_doublest_to_floatformat): Call
13505         floatformat_totalsize_bytes.
13506
13507 2017-04-22  Tom Tromey  <tom@tromey.com>
13508
13509         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Use
13510         ui_out_emit_list.
13511         * stack.c (print_frame): Use ui_out_emit_list.
13512         * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Use
13513         ui_out_emit_list.
13514         * mi/mi-main.c (print_one_inferior)
13515         (mi_cmd_data_list_register_names)
13516         (mi_cmd_data_list_register_values, mi_cmd_list_features)
13517         (mi_cmd_list_target_features, mi_cmd_trace_frame_collected): Use
13518         ui_out_emit_list.
13519         * mi/mi-interp.c (mi_on_normal_stop_1): Use ui_out_emit_list.
13520         (mi_output_solib_attribs): Use ui_out_emit_list,
13521         ui_out_emit_tuple.
13522         * mi/mi-cmd-var.c (varobj_update_one): Use ui_out_emit_list.
13523         * mi/mi-cmd-stack.c (mi_cmd_stack_list_frames)
13524         (mi_cmd_stack_list_args, list_args_or_locals): Use
13525         ui_out_emit_list.
13526         * disasm.c (do_assembly_only): Use ui_out_emit_list.
13527         * breakpoint.c (print_solib_event, output_thread_groups): Use
13528         ui_out_emit_list.
13529
13530 2017-04-22  Tom Tromey  <tom@tromey.com>
13531
13532         * mi/mi-main.c (print_variable_or_computed): Use ui_out_emit_tuple.
13533         * mi/mi-cmd-var.c (varobj_update_one): Use ui_out_emit_tuple.
13534         * mi/mi-cmd-stack.c (list_arg_or_local): Use ui_out_emit_tuple.
13535
13536 2017-04-22  Tom Tromey  <tom@tromey.com>
13537
13538         * tracepoint.c (tvariables_info_1)
13539         (print_one_static_tracepoint_marker): Use ui_out_emit_tuple.
13540
13541 2017-04-22  Tom Tromey  <tom@tromey.com>
13542
13543         * stack.c (print_frame_arg): Use ui_out_emit_tuple,
13544         annotate_arg_emitter.
13545         * breakpoint.c (print_mention_watchpoint)
13546         (print_mention_masked_watchpoint): Use ui_out_emit_tuple.
13547         * annotate.h (struct annotate_arg_emitter): New.
13548
13549 2017-04-22  Tom Tromey  <tom@tromey.com>
13550
13551         * record-btrace.c (record_btrace_insn_history)
13552         (record_btrace_insn_history_range, record_btrace_call_history)
13553         (record_btrace_call_history_range): Use ui_out_emit_tuple.
13554         * thread.c (do_captured_list_thread_ids, print_thread_info_1): Use
13555         ui_out_emit_tuple.
13556         * stack.c (print_frame_info): Use ui_out_emit_tuple.
13557         * solib.c (info_sharedlibrary_command): Use ui_out_emit_tuple.
13558         * skip.c (skip_info): Use ui_out_emit_tuple.
13559         * remote.c (show_remote_cmd): Use ui_out_emit_tuple.
13560         * progspace.c (print_program_space): Use ui_out_emit_tuple.
13561         * probe.c (info_probes_for_ops): Use ui_out_emit_tuple.
13562         * osdata.c (info_osdata): Use ui_out_emit_tuple.
13563         * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Use
13564         ui_out_emit_tuple.
13565         * mi/mi-main.c (print_one_inferior, list_available_thread_groups)
13566         (output_register, mi_cmd_data_read_memory)
13567         (mi_cmd_data_read_memory_bytes, mi_load_progress)
13568         (mi_cmd_trace_frame_collected): Use ui_out_emit_tuple.
13569         * mi/mi-cmd-var.c (mi_cmd_var_list_children, varobj_update_one):
13570         Use ui_out_emit_tuple.
13571         * mi/mi-cmd-stack.c (mi_cmd_stack_list_args): Use
13572         ui_out_emit_tuple.
13573         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions)
13574         (mi_cmd_info_gdb_mi_command): Use ui_out_emit_tuple.
13575         * linux-thread-db.c (info_auto_load_libthread_db): Use
13576         ui_out_emit_tuple.
13577         * inferior.c (print_inferior): Use ui_out_emit_tuple.
13578         * gdb_bfd.c (print_one_bfd): Use ui_out_emit_tuple.
13579         * disasm.c (do_mixed_source_and_assembly_deprecated)
13580         (do_mixed_source_and_assembly): Use ui_out_emit_tuple.
13581         * cp-abi.c (list_cp_abis): Use ui_out_emit_tuple.
13582         * cli/cli-setshow.c (cmd_show_list): Use ui_out_emit_tuple.
13583         * breakpoint.c (print_one_breakpoint_location)
13584         (print_one_breakpoint): Use ui_out_emit_tuple.
13585         * auto-load.c (print_script, info_auto_load_cmd): Use
13586         ui_out_emit_tuple.
13587         * ada-tasks.c (print_ada_task_info): Use ui_out_emit_tuple.
13588
13589 2017-04-21  Simon Marchi  <simon.marchi@ericsson.com>
13590
13591         * thread.c (print_thread_info_1): Remove dead code.
13592
13593 2017-04-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
13594
13595         * aarch64-tdep.c (selftests::aarch64_process_record_test): Make it #if
13596         GDB_SELF_TEST.
13597         * arm-tdep.c (selftests::arm_record_test): Likewise.
13598
13599 2017-04-21  Yao Qi  <yao.qi@linaro.org>
13600
13601         * regcache.c (regcache_restore): Remove argument 2.  Replace
13602         argument 3 with regcache.  Get register status from
13603         src->register_status and get register contents from
13604         register_buffer (src, regnum).
13605         (regcache_cpy): Update.
13606
13607 2017-04-19  Pedro Alves  <palves@redhat.com>
13608
13609         * gdbthread.h (thread): Add missing closing parenthesis in
13610         comment.
13611
13612 2017-04-19  Pedro Alves  <palves@redhat.com>
13613
13614         * common/refcounted-object.h: New file.
13615         * gdbthread.h: Include "common/refcounted-object.h".
13616         (thread_info): Inherit from refcounted_object and add comments.
13617         (thread_info::incref, thread_info::decref)
13618         (thread_info::m_refcount): Delete.
13619         (thread_info::deletable): Use the refcounted_object::refcount()
13620         method.
13621         * inferior.c (current_inferior_): Add comment.
13622         (set_current_inferior): Increment/decrement refcounts.
13623         (prune_inferiors, remove_inferior_command): Skip inferiors marked
13624         not-deletable instead of comparing with the current inferior.
13625         (initialize_inferiors): Increment the initial inferior's refcount.
13626         * inferior.h (struct inferior): Forward declare.
13627         Include "common/refcounted-object.h".
13628         (current_inferior, set_current_inferior): Move declaration to
13629         before struct inferior's definition, and fix comment.
13630         (inferior): Inherit from refcounted_object.  Add comments.
13631         * thread.c (switch_to_thread_no_regs): Reference the thread's
13632         inferior pointer directly instead of doing a ptid lookup.
13633         (switch_to_no_thread): New function.
13634         (switch_to_thread(thread_info *)): New function, factored out
13635         from ...
13636         (switch_to_thread(ptid_t)): ... this.
13637         (restore_current_thread): Delete.
13638         (current_thread_cleanup): Remove 'inf_id' and 'was_removable'
13639         fields, and add 'inf' field.
13640         (do_restore_current_thread_cleanup): Check whether old->inf is
13641         alive instead of looking up an inferior by ptid.  Use
13642         switch_to_thread and switch_to_no_thread.
13643         (restore_current_thread_cleanup_dtor): Use old->inf directly
13644         instead of lookup up an inferior by id.  Decref the inferior.
13645         Don't restore 'removable'.
13646         (make_cleanup_restore_current_thread): Same the inferior pointer
13647         in old, instead of the inferior number.  Incref the inferior.
13648         Don't save/clear 'removable'.
13649
13650 2017-04-19  Pedro Alves  <palves@redhat.com>
13651
13652         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
13653         unittests/scoped_restore-selftests.c.
13654         (SUBDIR_UNITTESTS_OBS): Add scoped_restore-selftests.o.
13655         * common/scoped_restore.h (scoped_restore_base): Make "class".
13656         (scoped_restore_base::release): New public method.
13657         (scoped_restore_base::scoped_restore_base): New protected ctor.
13658         (scoped_restore_base::m_saved_var): New protected field.
13659         (scoped_restore_tmpl::scoped_restore_tmpl(T*)): Initialize the
13660         scoped_restore_base base class instead of m_saved_var directly.
13661         (scoped_restore_tmpl::scoped_restore_tmpl(T*, T2)): Likewise.
13662         (scoped_restore_tmpl::scoped_restore_tmpl(const
13663         scoped_restore_tmpl<T>&)): Likewise.
13664         (scoped_restore_tmpl::~scoped_restore_tmpl): Use the saved_var
13665         method.
13666         (scoped_restore_tmpl::saved_var): New method.
13667         (scoped_restore_tmpl::m_saved_var): Delete.
13668         * inferior.h (inferior::detaching): Now a bool.
13669         * infrun.c (prepare_for_detach): Use a scoped_restore instead of a
13670         cleanup.
13671         * unittests/scoped_restore-selftests.c: New file.
13672
13673 2017-04-19  Pedro Alves  <palves@redhat.com>
13674
13675         * Makefile.in (SUBDIR_UNITTESTS_SRCS, SUBDIR_UNITTESTS_OBS):
13676         Re-sort in alphabetic order.
13677
13678 2017-04-18  Pedro Alves  <palves@redhat.com>
13679
13680         * xml-support.c (obstack_xml_printf): Delete.
13681         * xml-support.h (obstack_xml_printf): Delete.
13682
13683 2017-04-18  Pedro Alves  <palves@redhat.com>
13684
13685         * xml-support.c (gdb_xml_parser) <use_dtd, dtd_name, parse,
13686         vdebug, verror, body_text, start_element, end_element, name,
13687         user_data, set_is_xinclude, set_error, expat_parser>: New methods.
13688         <name, user_data, expat_parser, scopes, error, last_line, dtd_name,
13689         is_xinclude>: Make private and add m_ prefix.
13690         (gdb_xml_parser::body_text): New method, based on ...
13691         (gdb_xml_body_text): ... this.  Adjust.
13692         (gdb_xml_parser::vdebug): New method, based on ...
13693         (gdb_xml_debug): ... this.  Adjust.
13694         (gdb_xml_parser::verror): New method, based on ...
13695         (gdb_xml_error): ... this.  Adjust.
13696         (gdb_xml_parser::start_element): New method, based on ...
13697         (gdb_xml_start_element): ... this.  Adjust.
13698         (gdb_xml_start_element_wrapper): Defer to
13699         gdb_xml_parser::start_element and gdb_xml_parser::set_error.
13700         (gdb_xml_parser::end_element): New method, based on ...
13701         (gdb_xml_end_element_wrapper): ... this.  Adjust.
13702         (gdb_xml_parser::~gdb_xml_parser): Adjust.
13703         (gdb_xml_parser::gdb_xml_parser): Adjust to field renames.
13704         (gdb_xml_parser::use_dtd): New method, based on ...
13705         (gdb_xml_use_dtd): ... this.  Adjust.
13706         (gdb_xml_parser::parse): New method, based on ...
13707         (gdb_xml_parse): ... this.  Adjust.
13708         (gdb_xml_parse_quick): Adjust to call the parser's parse method.
13709         (xinclude_start_include): Adjust to call the parser's name method.
13710         (xml_xinclude_default, xml_xinclude_start_doctype)
13711         (xml_xinclude_end_doctype): Adjust to call the parser's user_data
13712         method.
13713         (xml_process_xincludes): Adjust to call parser methods.
13714         * xml-support.h (gdb_xml_use_dtd, gdb_xml_parse): Delete
13715         declarations.
13716
13717 2017-04-18  Pedro Alves  <palves@redhat.com>
13718
13719         * tracefile-tfile.c (tfile_write_tdesc): Adjust to use
13720         gdb::optional<std::string>.
13721         * xml-support.c: Include <string>.
13722         (scope_level::scope_level(scope_level &&))
13723         (scope_level::~scope_level): Delete.
13724         (scope_level::body): Now a std::string.
13725         (gdb_xml_body_text, gdb_xml_end_element): Adjust.
13726         (xinclude_parsing_data::xinclude_parsing_data): Add 'output'
13727         parameter.
13728         (xinclude_parsing_data::~xinclude_parsing_data): Delete.
13729         (xinclude_parsing_data::output): Now a std::string reference.
13730         (xinclude_start_include): Adjust.
13731         (xml_xinclude_default): Adjust.
13732         (xml_process_xincludes): Add 'output' parameter, and return bool.
13733         * xml-support.h (xml_process_xincludes): Add 'output' parameter,
13734         and return bool.
13735         * xml-tdesc.c: Include <unordered_map> and <string>.
13736         (tdesc_xml_cache): Delete.
13737         (tdesc_xml_cache_s): Delete.
13738         (xml_cache): Now an std::unordered_map.
13739         (tdesc_parse_xml): Adjust to use std::string and unordered_map.
13740         (target_fetch_description_xml): Change return type to
13741         gdb::optional<std::string>, and adjust.
13742         * xml-tdesc.h: Include "common/gdb_optional.h" and <string>.
13743         (target_fetch_description_xml): Change return type to
13744         gdb::optional<std::string>.
13745
13746 2017-04-18  Pedro Alves  <palves@redhat.com>
13747
13748         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
13749         unittests/optional-selftests.c.
13750         (SUBDIR_UNITTESTS_OBS): Add optional-selftests.o.
13751         * unittests/optional-selftests.c: New file.
13752         * unittests/optional/assignment/1.cc: New file.
13753         * unittests/optional/assignment/2.cc: New file.
13754         * unittests/optional/assignment/3.cc: New file.
13755         * unittests/optional/assignment/4.cc: New file.
13756         * unittests/optional/assignment/5.cc: New file.
13757         * unittests/optional/assignment/6.cc: New file.
13758         * unittests/optional/assignment/7.cc: New file.
13759         * unittests/optional/cons/copy.cc: New file.
13760         * unittests/optional/cons/default.cc: New file.
13761         * unittests/optional/cons/move.cc: New file.
13762         * unittests/optional/cons/value.cc: New file.
13763         * unittests/optional/in_place.cc: New file.
13764         * unittests/optional/observers/1.cc: New file.
13765         * unittests/optional/observers/2.cc: New file.
13766
13767 2017-04-18  Pedro Alves  <palves@redhat.com>
13768
13769         * common/gdb_optional.h: Include common/traits.h.
13770         (in_place_t): New type.
13771         (in_place): New constexpr variable.
13772         (optional::optional): Remove member initialization of
13773         m_instantiated.
13774         (optional::optional(in_place_t...)): New constructor.
13775         (optional::~optional): Use reset.
13776         (optional::optional(const optional&)): New.
13777         (optional::optional(const optional&&)): New.
13778         (optional::optional(T &)): New.
13779         (optional::optional(T &&)): New.
13780         (operator::operator=(const optional &)): New.
13781         (operator::operator=(optional &&)): New.
13782         (operator::operator= (const T &))
13783         (operator::operator= (T &&))
13784         (operator::emplace (Args &&... args)): Return a T&.  Use reset.
13785         (operator::reset): New.
13786         (operator::m_instantiated):: Add in-class initializer.
13787         * common/traits.h: Include <type_traits>.
13788         (struct And): New types.
13789
13790 2017-04-18  Pedro Alves  <palves@redhat.com>
13791
13792         * xml-support.c: Include <vector>.
13793         (scope_level::scope_level(const gdb_xml_element *))
13794         (scope_level::scope_level(scope_level&&)): New.
13795         (scope_level::~scope_level): New.
13796         (scope_level_s): Delete.
13797         (gdb_xml_parser::scopes): Now a std::vector.
13798         (gdb_xml_body_text, gdb_xml_start_element, gdb_xml_end_element):
13799         Use std::vector.
13800         (gdb_xml_parser::~gdb_xml_parser): Remove now unnecessary
13801         scope cleanup code.
13802         (gdb_xml_parser::gdb_xml_parser): Remove explicit initialization
13803         of the scopes member.  Use std::vector::emplace_back.
13804
13805 2017-04-18  Pedro Alves  <palves@redhat.com>
13806
13807         * xml-support.c (gdb_xml_parser): Add ctor/dtor.  Make is_xinclude
13808         a bool.
13809         (gdb_xml_end_element): Change type of first parameter.
13810         (gdb_xml_cleanup): Rename to ...
13811         (gdb_xml_parser::~gdb_xml_parser): ... this.
13812         (gdb_xml_create_parser_and_cleanup): Delete with ...
13813         (gdb_xml_parser::gdb_xml_parser): ... creation parts factored out
13814         to this new ctor.
13815         (gdb_xml_parse_quick): Create a local gdb_xml_parser instead of
13816         using gdb_xml_create_parser_and_cleanup.
13817         (xinclude_parsing_data): Add ctor/dtor.
13818         (xml_xinclude_cleanup): Delete.
13819         (xml_process_xincludes): Create a local xinclude_parsing_data
13820         instead of heap-allocating one.  Create a local gdb_xml_parser
13821         instead of heap-allocating one with
13822         gdb_xml_create_parser_and_cleanup.
13823
13824 2017-04-18  John Baldwin  <jhb@FreeBSD.org>
13825
13826         PR threads/20743
13827         * fbsd-nat.c (resume_one_thread_cb): Remove.
13828         (resume_all_threads_cb): Remove.
13829         (fbsd_resume): Use ALL_NON_EXITED_THREADS instead of
13830         iterate_over_threads.
13831
13832 2017-04-17  Joel Brobecker  <brobecker@adacore.com>
13833
13834         * NEWS: Create a new section for the next release branch.
13835         Rename the section of the current branch, now that it has
13836         been cut.
13837
13838 2017-04-17  Joel Brobecker  <brobecker@adacore.com>
13839
13840         GDB 8.0 branch created (725bf5cf125783c2a7ca4ab63d3768e220bab2db):
13841         * version.in: Bump version to 8.0.50.DATE-git.
13842
13843 2017-04-13  Sergio Durigan Junior  <sergiodj@redhat.com>
13844
13845         PR gdb/21385
13846         * windows-nat.c (windows_create_inferior): Declare 'allargs'
13847         independently of the host, and fix build breakage on Cygwin.
13848
13849 2017-04-13  Pedro Alves  <palves@redhat.com>
13850
13851         * inferior.c (free_inferior): Convert to ...
13852         (inferior::~inferior): ... this dtor.
13853         (inferior::inferior): New ctor, factored out from ...
13854         (add_inferior_silent): ... here.  Allocate the inferior with a new
13855         expression.
13856         (delete_inferior): Call delete instead of free_inferior.
13857         * inferior.h (gdb_environ, continuation): Forward declare.
13858         (inferior): Now a class.  Add in-class initialization to all
13859         members.  Make boolean fields bool, except 'detaching'.
13860         (inferior::inferior): New explicit ctor.
13861         (inferior::~inferior): New.
13862
13863 2017-04-13  Pedro Alves  <palves@redhat.com>
13864
13865         * inferior.c (init_inferior_list): Delete.
13866         * inferior.h (init_inferior_list): Delete.
13867
13868 2017-04-13  Pedro Alves  <palves@redhat.com>
13869
13870         PR threads/13217
13871         * gdb.threads/threadapply.exp (thr_apply_detach): New procedure.
13872         (top level): Call it twice, with different thread sets.
13873
13874 2017-04-13  Pedro Alves  <palves@redhat.com>
13875
13876         * thread.c: Include <algorithm>.
13877         (thread_array_cleanup): Delete.
13878         (scoped_inc_dec_ref): New class.
13879         (live_threads_count): New function.
13880         (set_thread_refcount): Delete.
13881         (tp_array_compar_ascending): Now a bool.
13882         (tp_array_compar): Convert to a std::sort comparison function.
13883         (thread_apply_all_command): Use std::vector and scoped_inc_dec_ref
13884         and live_threads_count.
13885
13886 2017-04-13  Pedro Alves  <palves@redhat.com>
13887
13888         * infrun.c (follow_fork_inferior): Also switch the current
13889         inferior.
13890
13891 2017-04-13  Pedro Alves  <palves@redhat.com>
13892
13893         * breakpoint.c (watch_command_1): Save watchpoint-frame info
13894         before calling create_internal_breakpoint.
13895
13896 2017-04-13  Pedro Alves  <palves@redhat.com>
13897
13898         * fork-child.c (execv_argv): New class.
13899         (breakup_args): Refactored as ...
13900         (execv_argv::init_for_no_shell): .. this method of execv_argv.
13901         Copy arguments to storage and replace separators with NULL
13902         terminators in place.
13903         (escape_bang_in_quoted_argument): Adjust to return bool.
13904         (execv_argv::execv_argv): New ctor.
13905         (execv_argv::init_for_shell): New method, factored out from
13906         fork_inferior.  Don't strdup strings into the vector.
13907         (fork_inferior): Eliminate "shell" local and use execv_argv.  Use
13908         Remove free_vector_argv call.
13909
13910 2017-04-13  Yao Qi  <yao.qi@linaro.org>
13911
13912         * rx-tdep.c (rx_fpsw_type): Check tdep->rx_fpsw_type instead of
13913         tdep->rx_psw_type.
13914
13915 2017-04-13  Yao Qi  <yao.qi@linaro.org>
13916
13917         * rl78-tdep.c (rl78_gdbarch_init): Use XCNEW instead of XNEW.
13918         * rx-tdep.c (rx_gdbarch_init): Likewise.
13919
13920 2017-04-13  Pedro Alves  <palves@redhat.com>
13921
13922         * breakpoint.h (struct breakpoint): Reindent.
13923
13924 2017-04-13  Pedro Alves  <palves@redhat.com>
13925
13926         * breakpoint.c (bp_location): Rename to ...
13927         (bp_locations): ... this.  All references updated.
13928         (bp_location_count): Rename to ...
13929         (bp_locations_count): ... this.  All references updated.
13930         (bp_location_placed_address_before_address_max): Rename to ...
13931         (bp_locations_placed_address_before_address_max): ... this.  All
13932         references updated.
13933         (bp_location_shadow_len_after_address_max): Rename to ...
13934         (bp_locations_shadow_len_after_address_max): ... this.  All
13935         references updated.
13936         (bp_location_compare_addrs): Rename to ...
13937         (bp_locations_compare_addrs): ... this.  All references updated.
13938         (bp_location_compare):Rename to ...
13939         (bp_locations_compare): ... this.  All references updated.
13940         (bp_location_target_extensions_update): Rename to ...
13941         (bp_locations_target_extensions_update): ... this.  All references
13942         updated.
13943
13944 2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
13945
13946         * Makefile.in (HFILES_NO_SRCDIR): Add "common/gdb_termios.h".
13947         * common/common.m4: Check headers 'termios.h', 'termio.h' and
13948         'sgtty.h'.
13949         * common/gdb_termios.h: New file, with parts of "terminal.h".
13950         * inflow.c: Include "gdb_termios.h".
13951         * ser-unix.c: Include "gdb_termios.h".
13952         * terminal.h: Move terminal-related defines to
13953         "common/gdb_termios.h".
13954
13955 2017-04-12  Tom Tromey  <tom@tromey.com>
13956
13957         * probe.c (parse_probes): Update.
13958         * location.h (delete_event_location): Don't declare.
13959         (event_location_deleter::operator()): Update.
13960         * location.c (event_location_deleter::operator()): Rename from
13961         delete_event_location.
13962         * linespec.h (linespec_result) <location>: Change type to
13963         event_location_up.
13964         * linespec.c (canonicalize_linespec, event_location_to_sals)
13965         (decode_objc): Update.
13966         (linespec_result): Don't call delete_event_location.
13967         * breakpoint.c (create_breakpoints_sal)
13968         (bkpt_probe_create_sals_from_location)
13969         (strace_marker_create_sals_from_location): Update.
13970
13971 2017-04-12  Tom Tromey  <tom@tromey.com>
13972
13973         * linespec.h (struct linespec_result): Add constructor and
13974         destructor.
13975         (init_linespec_result, destroy_linespec_result)
13976         (make_cleanup_destroy_linespec_result): Don't declare.
13977         * linespec.c (init_linespec_result): Remove.
13978         (linespec_result::~linespec_result): Rename from
13979         destroy_linespec_result.  Update.
13980         (cleanup_linespec_result, make_cleanup_destroy_linespec_result):
13981         Remove.
13982         * breakpoint.c (create_breakpoint, break_range_command)
13983         (decode_location_default): Update.
13984         * ax-gdb.c (agent_command_1): Update.
13985
13986 2017-04-12  Tom Tromey  <tom@tromey.com>
13987
13988         * remote.c (remote_download_tracepoint): Update.
13989         * python/py-breakpoint.c (bppy_get_location): Update.
13990         * guile/scm-breakpoint.c (bpscm_print_breakpoint_smob)
13991         (gdbscm_breakpoint_location): Update.
13992         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Update.
13993         * breakpoint.h (struct breakpoint) <location, location_range_end>:
13994         Change type to event_location_up.
13995         * breakpoint.c (create_overlay_event_breakpoint)
13996         (create_longjmp_master_breakpoint)
13997         (create_std_terminate_master_breakpoint)
13998         (create_exception_master_breakpoint)
13999         (breakpoint_event_location_empty_p, print_breakpoint_location)
14000         (print_one_breakpoint_location, create_thread_event_breakpoint)
14001         (init_breakpoint_sal, create_breakpoint)
14002         (print_recreate_ranged_breakpoint, break_range_command)
14003         (init_ada_exception_breakpoint, say_where): Update.
14004         (base_breakpoint_dtor): Don't call delete_event_location.
14005         (bkpt_print_recreate, tracepoint_print_recreate)
14006         (dprintf_print_recreate, update_static_tracepoint)
14007         (breakpoint_re_set_default): Update.
14008
14009 2017-04-12  Tom Tromey  <tom@tromey.com>
14010
14011         * compile/compile-loc2c.c (compute_stack_depth_worker): Change
14012         type of "to_do".  Update.
14013         (compute_stack_depth): Use std::vector.
14014
14015 2017-04-12  Tom Tromey  <tom@tromey.com>
14016
14017         * printcmd.c (find_instruction_backward): Use std::vector.
14018
14019 2017-04-12  Tom Tromey  <tom@tromey.com>
14020
14021         * symfile.c (objfilep): Remove typedef.
14022         (reread_symbols): Use a std::vector.
14023
14024 2017-04-12  Tom Tromey  <tom@tromey.com>
14025
14026         * mi/mi-main.c (exec_direction_forward): Remove.
14027         (exec_reverse_continue, mi_execute_command): Use scoped_restore.
14028         * guile/scm-ports.c (ioscm_with_output_to_port_worker): Use
14029         scoped_restore.
14030         * guile/guile.c (guile_repl_command, guile_command)
14031         (gdbscm_execute_gdb_command): Use scoped_restore.
14032         * go-exp.y (go_parse): Use scoped_restore.
14033         * d-exp.y (d_parse): Use scoped_restore.
14034         * cli/cli-decode.c (cmd_func): Use scoped_restore.
14035         * c-exp.y (c_parse): Use scoped_restore.
14036
14037 2017-04-12  Tom Tromey  <tom@tromey.com>
14038
14039         * mi/mi-parse.h (struct mi_parse): Add constructor, destructor.
14040         (mi_parse): Update return type.
14041         (mi_parse_free): Remove.
14042         * mi/mi-parse.c (mi_parse::mi_parse): New constructor.
14043         (mi_parse::~mi_parse): Rename from mi_parse_free.
14044         (mi_parse_cleanup): Remove.
14045         (mi_parse): Return a unique_ptr.  Use new.
14046         * mi/mi-main.c (mi_execute_command): Update.
14047
14048 2017-04-12  Tom Tromey  <tom@tromey.com>
14049
14050         * location.c (explicit_location_lex_one): Return a
14051         unique_xmalloc_ptr.
14052         (string_to_explicit_location): Update.  Remove cleanups.
14053
14054 2017-04-12  Tom Tromey  <tom@tromey.com>
14055
14056         * gnu-v3-abi.c (value_and_voffset_p): Remove typedef.
14057         (compare_value_and_voffset): Change type.  Update.
14058         (compute_vtable_size): Change type of "offset_vec".
14059         (gnuv3_print_vtable): Use std::vector.  Remove cleanups.
14060         (gnuv3_get_typeid): Remove extraneous declaration.
14061
14062 2017-04-12  Tom Tromey  <tom@tromey.com>
14063
14064         * charset.h (wchar_iterator): Fix comment.
14065
14066 2017-04-12  Tom Tromey  <tom@tromey.com>
14067
14068         * charset.c (iconv_wrapper): New class.
14069         (cleanup_iconv): Remove.
14070         (convert_between_encodings): Use it.
14071
14072 2017-04-12  Tom Tromey  <tom@tromey.com>
14073
14074         * symfile.h (increment_reading_symtab): Update type.
14075         * symfile.c (decrement_reading_symtab): Remove.
14076         (increment_reading_symtab): Return a scoped_restore_tmpl<int>.
14077         * psymtab.c (psymtab_to_symtab): Update.
14078         * dwarf2read.c (dw2_instantiate_symtab): Update.
14079
14080 2017-04-12  Tom Tromey  <tom@tromey.com>
14081
14082         * jit.c (struct jit_reader): Declare separately.  Add constructor
14083         and destructor.  Change type of "handle".
14084         (loaded_jit_reader): Define separately.
14085         (jit_reader_load): Update.  New "new".
14086         (jit_reader_unload_command): Use "delete".
14087         * gdb-dlfcn.h (struct dlclose_deleter): New.
14088         (gdb_dlhandle_up): New typedef.
14089         (gdb_dlopen, gdb_dlsym): Update types.
14090         (gdb_dlclose): Remove.
14091         * gdb-dlfcn.c (gdb_dlopen): Return a gdb_dlhandle_up.
14092         (gdb_dlsym): Change type of "handle".
14093         (make_cleanup_dlclose): Remove.
14094         (dlclose_deleter::operator()): Rename from gdb_dlclose.
14095         * compile/compile-c-support.c (load_libcc): Update.
14096
14097 2017-04-12  Tom Tromey  <tom@tromey.com>
14098
14099         * symtab.h (find_pcs_for_symtab_line): Change return type.
14100         * symtab.c (find_pcs_for_symtab_line): Change return type.
14101         * python/py-linetable.c (build_line_table_tuple_from_pcs): Change
14102         type of "vec".  Update.
14103         (ltpy_get_pcs_for_line): Update.
14104         * linespec.c (decode_digits_ordinary): Update.
14105
14106 2017-04-12  Tom Tromey  <tom@tromey.com>
14107
14108         * tracepoint.c (actions_command): Update.
14109         * python/python.c (python_command, python_interactive_command):
14110         Update.
14111         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
14112         * guile/guile.c (guile_command): Update.
14113         * defs.h (read_command_lines, read_command_lines_1): Return
14114         command_line_up.
14115         (command_lines_deleter): New struct.
14116         (command_line_up): New typedef.
14117         * compile/compile.c (compile_code_command)
14118         (compile_print_command): Update.
14119         * cli/cli-script.h (get_command_line, copy_command_lines): Return
14120         command_line_up.
14121         (make_cleanup_free_command_lines): Remove.
14122         * cli/cli-script.c (get_command_line, read_command_lines_1)
14123         (copy_command_lines): Return command_line_up.
14124         (while_command, if_command, read_command_lines, define_command)
14125         (document_command): Update.
14126         (do_free_command_lines_cleanup, make_cleanup_free_command_lines):
14127         Remove.
14128         * breakpoint.h (breakpoint_set_commands): Change type of
14129         "commands".
14130         * breakpoint.c (breakpoint_set_commands): Change type of
14131         "commands".  Update.
14132         (do_map_commands_command, update_dprintf_command_list)
14133         (create_tracepoint_from_upload): Update.
14134
14135 2017-04-12  Tom Tromey  <tom@tromey.com>
14136
14137         * tracepoint.c (scope_info): Update.
14138         * spu-tdep.c (spu_catch_start): Update.
14139         * python/python.c (gdbpy_decode_line): Update.
14140         * python/py-finishbreakpoint.c (bpfinishpy_init): Update.
14141         * python/py-breakpoint.c (bppy_init): Update.
14142         * probe.c (parse_probes): Update.
14143         * mi/mi-cmd-break.c (mi_cmd_break_insert_1): Update.
14144         * location.h (event_location_deleter): New struct.
14145         (event_location_up): New typedef.
14146         (new_linespec_location, new_address_location, new_probe_location)
14147         (new_explicit_location, copy_event_location)
14148         (string_to_event_location, string_to_event_location_basic)
14149         (string_to_explicit_location): Update return type.
14150         (make_cleanup_delete_event_location): Remove.
14151         * location.c (new_linespec_location, new_address_location)
14152         (new_probe_location, new_explicit_location, copy_event_location):
14153         Return event_location_up.
14154         (delete_event_location_cleanup)
14155         (make_cleanup_delete_event_location): Remove.
14156         (string_to_explicit_location, string_to_event_location_basic)
14157         (string_to_event_location): Return event_location_up.
14158         * linespec.c (canonicalize_linespec, event_location_to_sals)
14159         (decode_line_with_current_source)
14160         (decode_line_with_last_displayed, decode_objc): Update.
14161         * guile/scm-breakpoint.c (gdbscm_register_breakpoint_x): Update.
14162         * completer.c (location_completer): Update.
14163         * cli/cli-cmds.c (edit_command, list_command): Update.
14164         * breakpoint.c (create_overlay_event_breakpoint)
14165         (create_longjmp_master_breakpoint)
14166         (create_std_terminate_master_breakpoint)
14167         (create_exception_master_breakpoint)
14168         (create_thread_event_breakpoint): Update.
14169         (init_breakpoint_sal): Update.  Remove some dead code.
14170         (create_breakpoint_sal): Change type of "location".  Update.
14171         (create_breakpoints_sal, create_breakpoint, break_command_1)
14172         (dprintf_command, break_range_command, until_break_command)
14173         (init_ada_exception_breakpoint)
14174         (strace_marker_create_sals_from_location)
14175         (update_static_tracepoint, trace_command, ftrace_command)
14176         (strace_command, create_tracepoint_from_upload): Update.
14177         * break-catch-throw.c (re_set_exception_catchpoint): Update.
14178         * ax-gdb.c (agent_command_1): Update.
14179
14180 2017-04-12  Pedro Alves  <palves@redhat.com>
14181
14182         * Makefile.in (ALL_TARGET_OBS): Add i386-go32-tdep.o.
14183         * configure.tgt: Handle i[34567]86-*-go32* and
14184         i[34567]86-*-msdosdjgpp*.
14185         * i386-tdep.c (i386_svr4_reg_to_regnum):
14186         Make extern.
14187         (i386_go32_init_abi, i386_coff_osabi_sniffer): Moved to
14188         i386-go32-tdep.c.
14189         (_initialize_i386_tdep): DJGPP bits moved to i386-go32-tdep.c.
14190         * i386-go32-tdep.c: New file.
14191         * i386-tdep.h (tdesc_i386_mmx, i386_svr4_reg_to_regnum): New
14192         declarations.
14193
14194 2017-04-12  Simon Marchi  <simon.marchi@ericsson.com>
14195
14196         * aix-thread.c (pd_status2str): Change return type to const char *.
14197
14198 2017-04-12  Pedro Alves  <palves@redhat.com>
14199
14200         * i386-tdep.c (i386_elf_init_abi, i386_go32_init_abi): Remove
14201         calls to set_gdbarch_gnu_triplet_regexp.
14202
14203 2017-04-12  Pedro Alves  <palves@redhat.com>
14204
14205         PR gdb/21323
14206         * c-lang.c (cplus_primitive_types) <cplus_primitive_type_wchar_t>:
14207         New enum value.
14208         (cplus_language_arch_info): Register cplus_primitive_type_wchar_t.
14209         * gdbtypes.h (struct builtin_type) <builtin_wchar>: New field.
14210         * gdbtypes.c (gdbtypes_post_init): Create the "wchar_t" type.
14211         * gdbarch.sh (wchar_bit, wchar_signed): New per-arch values.
14212         * gdbarch.h, gdbarch.c: Regenerate.
14213         * aarch64-tdep.c (aarch64_gdbarch_init): Override
14214         gdbarch_wchar_bit and gdbarch_wchar_signed.
14215         * alpha-tdep.c (alpha_gdbarch_init): Likewise.
14216         * arm-tdep.c (arm_gdbarch_init): Likewise.
14217         * avr-tdep.c (avr_gdbarch_init): Likewise.
14218         * h8300-tdep.c (h8300_gdbarch_init): Likewise.
14219         * i386-nto-tdep.c (i386nto_init_abi): Likewise.
14220         * i386-tdep.c (i386_go32_init_abi): Likewise.
14221         * m32r-tdep.c (m32r_gdbarch_init): Likewise.
14222         * moxie-tdep.c (moxie_gdbarch_init): Likewise.
14223         * nds32-tdep.c (nds32_gdbarch_init): Likewise.
14224         * rs6000-aix-tdep.c (rs6000_aix_init_osabi): Likewise.
14225         * sh-tdep.c (sh_gdbarch_init): Likewise.
14226         * sparc-tdep.c (sparc32_gdbarch_init): Likewise.
14227         * sparc64-tdep.c (sparc64_init_abi): Likewise.
14228         * windows-tdep.c (windows_init_abi): Likewise.
14229         * xstormy16-tdep.c (xstormy16_gdbarch_init): Likewise.
14230
14231 2017-04-12  Pedro Alves  <palves@redhat.com>
14232
14233         PR c++/21323
14234         * c-lang.c (cplus_primitive_types) <cplus_primitive_type_char16_t,
14235         cplus_primitive_type_char32_t>: New enum values.
14236         (cplus_language_arch_info): Register cplus_primitive_type_char16_t
14237         and cplus_primitive_type_char32_t.
14238         * dwarf2read.c (read_base_type) <DW_ATE_UTF>: If bit size is 16 or
14239         32, use the archtecture's built-in type for char16_t and char32_t,
14240         respectively.  Otherwise, fallback to init_integer_type as before,
14241         but make the type unsigned, and issue a complaint.
14242         * gdbtypes.c (gdbtypes_post_init): Make char16_t and char32_t unsigned.
14243
14244 2017-04-12  Alan Hayward  <alan.hayward@arm.com>
14245
14246         * m32r-tdep.c (M32R_ARG_REGISTER_SIZE): Added.
14247         (m32r_push_dummy_call): Use M32R_ARG_REGISTER_SIZE.
14248
14249 2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
14250
14251         * windows-nat.c (windows_create_inferior): Declare 'toexec' as
14252         'const char *'.
14253
14254 2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
14255
14256         * common/common-utils.c (free_vector_argv): New function.
14257         * common/common-utils.h: Include <vector>.
14258         (free_vector_argv): New prototype.
14259         * darwin-nat.c (darwin_create_inferior): Rewrite function
14260         prototype in order to constify "exec_file" and accept a
14261         "std::string" for "allargs".
14262         * fork-child.c: Include <vector>.
14263         (breakup_args): Rewrite function, using C++.
14264         (fork_inferior): Rewrite function header, constify "exec_file_arg"
14265         and accept "std::string" for "allargs".  Update the code to
14266         calculate "argv" based on "allargs".  Update calls to "exec_fun"
14267         and "execvp".
14268         * gnu-nat.c (gnu_create_inferior): Rewrite function prototype in
14269         order to constify "exec_file" and accept a "std::string" for
14270         "allargs".
14271         * go32-nat.c (go32_create_inferior): Likewise.
14272         * inf-ptrace.c (inf_ptrace_create_inferior): Likewise.
14273         * infcmd.c (run_command_1): Constify "exec_file".  Use
14274         "std::string" for inferior arguments.
14275         * inferior.h (fork_inferior): Update prototype.
14276         * linux-nat.c (linux_nat_create_inferior): Rewrite function
14277         prototype in order to constify "exec_file" and accept a
14278         "std::string" for "allargs".
14279         * nto-procfs.c (procfs_create_inferior): Likewise.
14280         * procfs.c (procfs_create_inferior): Likewise.
14281         * remote-sim.c (gdbsim_create_inferior): Likewise.
14282         * remote.c (extended_remote_run): Update code to accept
14283         "std::string" as argument.
14284         (extended_remote_create_inferior): Rewrite function prototype in
14285         order to constify "exec_file" and accept a "std::string" for
14286         "allargs".
14287         * rs6000-nat.c (super_create_inferior): Likewise.
14288         (rs6000_create_inferior): Likewise.
14289         * target.h (struct target_ops) <to_create_inferior>: Likewise.
14290         * windows-nat.c (windows_create_inferior): Likewise.
14291
14292 2017-04-11  Pedro Alves  <palves@redhat.com>
14293
14294         * thread.c: Fix whitespace throughout.
14295
14296 2017-04-11  Philipp Rudo  <prudo@linux.vnet.ibm.com>
14297
14298         * linux-nat.c (linux_nat_detach): Remove delete_lwp call.
14299
14300 2017-04-11  Alan Hayward  <alan.hayward@arm.com>
14301
14302         * arm-tdep.c (arm_store_return_value): Use FP_REGISTER_SIZE
14303
14304 2017-04-10  Sergio Durigan Junior  <sergiodj@redhat.com>
14305
14306         PR gdb/21364
14307         * osdata.c (info_osdata): Check if 'type' is an empty string
14308         instead of NULL.
14309
14310 2017-04-10  Pedro Alves  <palves@redhat.com>
14311
14312         * thread.c (add_thread_silent, delete_thread_1, find_thread_ptid)
14313         (ptid_to_global_thread_id, in_thread_list)
14314         (do_captured_list_thread_ids, set_resumed, set_running)
14315         (set_executing, set_stop_requested, finish_thread_state)
14316         (validate_registers_access, can_access_registers_ptid)
14317         (print_thread_info_1, switch_to_thread)
14318         (do_restore_current_thread_cleanup)
14319         (make_cleanup_restore_current_thread, thread_command)
14320         (thread_name_command): Use operator== instead of ptid_equal.
14321
14322 2017-04-10  Pedro Alves  <palves@redhat.com>
14323
14324         * thread.c (struct current_thread_cleanup) <next>: Delete field.
14325         (current_thread_cleanup_chain): Delete.
14326         (restore_current_thread_cleanup_dtor)
14327         (make_cleanup_restore_current_thread): Remove references to
14328         current_thread_cleanup_chain.
14329
14330 2017-04-10  Alan Hayward  <alan.hayward@arm.com>
14331
14332         * msp430-tdep.c (msp430_pseudo_register_read): Never return
14333         REG_UNKNOWN.
14334
14335 2017-04-10  Yao Qi  <yao.qi@linaro.org>
14336
14337         PR gdb/19942
14338         * gdbthread.h (thread_info::deletable): New method.
14339         (thread_info::incref): New method.
14340         (thread_info::decref): New method.
14341         (thread_info::refcount): Move it to private.
14342         * infrun.c (save_stop_context): Call inc_refcount.
14343         (release_stop_context_cleanup): Likewise.
14344         * thread.c (set_thread_exited): New function.
14345         (init_thread_list): Delete "tp" only it is deletable, otherwise
14346         call set_thread_exited.
14347         (delete_thread_1): Call set_thread_exited.
14348         (current_thread_cleanup) <inferior_pid>: Remove.
14349         <thread>: New field.
14350         (restore_current_thread_ptid_changed): Removed.
14351         (do_restore_current_thread_cleanup): Adjust.
14352         (restore_current_thread_cleanup_dtor): Don't call
14353         find_thread_ptid.
14354         (set_thread_refcount): Use dec_refcount.
14355         (make_cleanup_restore_current_thread): Adjust.
14356         (thread_apply_all_command): Call inc_refcount.
14357         (_initialize_thread): Don't call
14358         observer_attach_thread_ptid_changed.
14359
14360 2017-04-10  Yao Qi  <yao.qi@linaro.org>
14361
14362         * thread.c (delete_thread_1): Hoist code on marking thread as
14363         exited.
14364
14365 2017-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
14366
14367         * windows-nat.c (windows_detach): Initialize ptid with
14368         minus_one_ptid.
14369
14370 2017-04-07  Simon Marchi  <simon.marchi@ericsson.com>
14371
14372         * unittests/ptid-selftests.c: Fix erroneous assert messages.
14373
14374 2017-04-07  Alan Hayward  <alan.hayward@arm.com>
14375
14376         * bfin-tdep.c (BFIN_MAX_REGISTER_SIZE): Add.
14377         (bfin_pseudo_register_read): Use BFIN_MAX_REGISTER_SIZE.
14378         (bfin_pseudo_register_write): Likewise
14379
14380 2017-04-06  Simon Marchi  <simon.marchi@ericsson.com>
14381
14382         * common/ptid.h (struct ptid): Change to...
14383         (class ptid_t): ... this.
14384         <ptid_t>: New constructors.
14385         <pid, lwp_p, lwp, tid_p, tid, is_pid, operator==, operator!=,
14386         matches>: New methods.
14387         <make_null, make_minus_one>: New static methods.
14388         <pid>: Rename to...
14389         <m_pid>: ...this.
14390         <lwp>: Rename to...
14391         <m_lwp>: ...this.
14392         <tid>: Rename to...
14393         <m_tid>: ...this.
14394         (ptid_build, ptid_get_pid, ptid_get_lwp, ptid_get_tid, ptid_equal,
14395         ptid_is_pid, ptid_lwp_p, ptid_tid_p, ptid_match): Take ptid arguments
14396         as references, move comment to class ptid_t.
14397         * common/ptid.c (null_ptid, minus_one_ptid): Initialize with
14398         ptid_t static methods.
14399         (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_tid,
14400         ptid_equal, ptid_is_pid, ptid_lwp_p, ptid_tid_p, ptid_match):
14401         Take ptid arguments as references, implement using ptid_t methods.
14402         * unittests/ptid-selftests.c: New file.
14403         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
14404         unittests/ptid-selftests.c.
14405         (SUBDIR_UNITTESTS_OBS): Add unittests/ptid-selftests.o.
14406
14407 2017-04-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
14408
14409         * python/python.c (python_run_simple_file): Cast mode literal to
14410         non-const char pointer as expected by PyFile_FromString.
14411
14412 2017-04-05  Simon Marchi  <simon.marchi@ericsson.com>
14413
14414         * common/ptid.c (ptid_lwp_p, ptid_tid_p): Remove comparison with
14415         minus_one_ptid and null_ptid.
14416
14417 2017-04-05  Pedro Alves  <palves@redhat.com>
14418
14419         * warning.m4 (build_warnings): Remove -Wno-write-strings.
14420         * configure: Regenerate.
14421
14422 2017-04-05  Pedro Alves  <palves@redhat.com>
14423
14424         * ada-exp.y (yyerror): Constify.
14425         * ada-lang.c (bound_name, get_selections)
14426         (ada_variant_discrim_type)
14427         (ada_variant_discrim_name, ada_value_struct_elt)
14428         (ada_lookup_struct_elt_type, is_unchecked_variant)
14429         (ada_which_variant_applies, standard_exc, ada_get_next_arg)
14430         (catch_ada_exception_command_split)
14431         (catch_ada_assert_command_split, catch_assert_command)
14432         (ada_op_name): Constify.
14433         * ada-lang.h (ada_yyerror, get_selections)
14434         (ada_variant_discrim_name, ada_value_struct_elt): Constify.
14435         * arc-tdep.c (arc_print_frame_cache): Constify.
14436         * arm-tdep.c (arm_skip_stub): Constify.
14437         * ax-gdb.c (gen_binop, gen_struct_ref_recursive, gen_struct_ref)
14438         (gen_aggregate_elt_ref): Constify.
14439         * bcache.c (print_bcache_statistics): Constify.
14440         * bcache.h (print_bcache_statistics): Constify.
14441         * break-catch-throw.c (catch_exception_command_1):
14442         * breakpoint.c (struct ep_type_description::description):
14443         Constify.
14444         (add_solib_catchpoint): Constify.
14445         (catch_fork_command_1): Add cast.
14446         (add_catch_command): Constify.
14447         * breakpoint.h (add_catch_command, add_solib_catchpoint):
14448         Constify.
14449         * bsd-uthread.c (bsd_uthread_state): Constify.
14450         * buildsym.c (patch_subfile_names): Constify.
14451         * buildsym.h (next_symbol_text_func, patch_subfile_names):
14452         Constify.
14453         * c-exp.y (yyerror): Constify.
14454         (token::oper): Constify.
14455         * c-lang.h (c_yyerror, cp_print_class_member): Constify.
14456         * c-varobj.c (cplus_describe_child): Constify.
14457         * charset.c (find_charset_names): Add cast.
14458         (find_charset_names): Constify array and add const_cast.
14459         * cli/cli-cmds.c (complete_command, cd_command): Constify.
14460         (edit_command): Constify.
14461         * cli/cli-decode.c (lookup_cmd): Constify.
14462         * cli/cli-dump.c (dump_memory_command, dump_value_command):
14463         Constify.
14464         (struct dump_context): Constify.
14465         (add_dump_command, restore_command): Constify.
14466         * cli/cli-script.c (get_command_line): Constify.
14467         * cli/cli-script.h (get_command_line): Constify.
14468         * cli/cli-utils.c (check_for_argument): Constify.
14469         * cli/cli-utils.h (check_for_argument): Constify.
14470         * coff-pe-read.c (struct read_pe_section_data): Constify.
14471         * command.h (lookup_cmd): Constify.
14472         * common/print-utils.c (decimal2str): Constify.
14473         * completer.c (gdb_print_filename): Constify.
14474         * corefile.c (set_gnutarget): Constify.
14475         * cp-name-parser.y (yyerror): Constify.
14476         * cp-valprint.c (cp_print_class_member): Constify.
14477         * cris-tdep.c (cris_register_name, crisv32_register_name):
14478         Constify.
14479         * d-exp.y (yyerror): Constify.
14480         (struct token::oper): Constify.
14481         * d-lang.h (d_yyerror): Constify.
14482         * dbxread.c (struct header_file_location::name): Constify.
14483         (add_old_header_file, add_new_header_file, last_function_name)
14484         (dbx_next_symbol_text, add_bincl_to_list)
14485         (find_corresponding_bincl_psymtab, set_namestring)
14486         (find_stab_function_addr, read_dbx_symtab, start_psymtab)
14487         (dbx_end_psymtab, read_ofile_symtab, process_one_symbol):
14488         * defs.h (command_line_input, print_address_symbolic)
14489         (deprecated_readline_begin_hook): Constify.
14490         * dwarf2read.c (anonymous_struct_prefix, dwarf_bool_name):
14491         Constify.
14492         * event-top.c (handle_line_of_input): Constify and add cast.
14493         * exceptions.c (catch_errors): Constify.
14494         * exceptions.h (catch_errors): Constify.
14495         * expprint.c (print_subexp_standard, op_string, op_name)
14496         (op_name_standard, dump_raw_expression, dump_raw_expression):
14497         * expression.h (op_name, op_string, dump_raw_expression):
14498         Constify.
14499         * f-exp.y (yyerror): Constify.
14500         (struct token::oper): Constify.
14501         (struct f77_boolean_val::name): Constify.
14502         * f-lang.c (f_word_break_characters): Constify.
14503         * f-lang.h (f_yyerror): Constify.
14504         * fork-child.c (fork_inferior): Add cast.
14505         * frv-tdep.c (struct gdbarch_tdep::register_names): Constify.
14506         (new_variant): Constify.
14507         * gdbarch.sh (pstring_ptr, pstring_list): Constify.
14508         * gdbarch.c: Regenerate.
14509         * gdbcore.h (set_gnutarget): Constify.
14510         * go-exp.y (yyerror): Constify.
14511         (token::oper): Constify.
14512         * go-lang.h (go_yyerror): Constify.
14513         * go32-nat.c (go32_sysinfo): Constify.
14514         * guile/scm-breakpoint.c (gdbscm_breakpoint_expression): Constify.
14515         * guile/scm-cmd.c (cmdscm_function): Constify.
14516         * guile/scm-param.c (pascm_param_value): Constify.
14517         * h8300-tdep.c (h8300_register_name, h8300s_register_name)
14518         (h8300sx_register_name): Constify.
14519         * hppa-tdep.c (hppa32_register_name, hppa64_register_name):
14520         Constify.
14521         * ia64-tdep.c (ia64_register_names): Constify.
14522         * infcmd.c (construct_inferior_arguments): Constify.
14523         (path_command, attach_post_wait): Constify.
14524         * language.c (show_range_command, show_case_command)
14525         (unk_lang_error): Constify.
14526         * language.h (language_defn::la_error)
14527         (language_defn::la_name_of_this): Constify.
14528         * linespec.c (decode_line_2): Constify.
14529         * linux-thread-db.c (thread_db_err_str): Constify.
14530         * lm32-tdep.c (lm32_register_name): Constify.
14531         * m2-exp.y (yyerror): Constify.
14532         * m2-lang.h (m2_yyerror): Constify.
14533         * m32r-tdep.c (m32r_register_names): Constify and make static.
14534         * m68hc11-tdep.c (m68hc11_register_names): Constify.
14535         * m88k-tdep.c (m88k_register_name): Constify.
14536         * macroexp.c (appendmem): Constify.
14537         * mdebugread.c (fdr_name, add_data_symbol, parse_type)
14538         (upgrade_type, parse_external, parse_partial_symbols)
14539         (mdebug_next_symbol_text, cross_ref, mylookup_symbol, new_psymtab)
14540         (new_symbol): Constify.
14541         * memattr.c (mem_info_command): Constify.
14542         * mep-tdep.c (register_name_from_keyword): Constify.
14543         * mi/mi-cmd-env.c (mi_cmd_env_path, _initialize_mi_cmd_env):
14544         Constify.
14545         * mi/mi-cmd-stack.c (list_args_or_locals): Constify.
14546         * mi/mi-cmd-var.c (mi_cmd_var_show_attributes): Constify.
14547         * mi/mi-main.c (captured_mi_execute_command): Constify and add
14548         cast.
14549         (mi_execute_async_cli_command): Constify.
14550         * mips-tdep.c (mips_register_name): Constify.
14551         * mn10300-tdep.c (register_name, mn10300_generic_register_name)
14552         (am33_register_name, am33_2_register_name)
14553         * moxie-tdep.c (moxie_register_names): Constify.
14554         * nat/linux-osdata.c (osdata_type): Constify fields.
14555         * nto-tdep.c (nto_parse_redirection): Constify.
14556         * objc-lang.c (lookup_struct_typedef, lookup_objc_class)
14557         (lookup_child_selector): Constify.
14558         (objc_methcall::name): Constify.
14559         * objc-lang.h (lookup_objc_class, lookup_child_selector)
14560         (lookup_struct_typedef): Constify.
14561         * objfiles.c (pc_in_section): Constify.
14562         * objfiles.h (pc_in_section): Constify.
14563         * p-exp.y (struct token::oper): Constify.
14564         (yyerror): Constify.
14565         * p-lang.h (pascal_yyerror): Constify.
14566         * parser-defs.h (op_name_standard): Constify.
14567         (op_print::string): Constify.
14568         (exp_descriptor::op_name): Constify.
14569         * printcmd.c (print_address_symbolic): Constify.
14570         * psymtab.c (print_partial_symbols): Constify.
14571         * python/py-breakpoint.c (stop_func): Constify.
14572         (bppy_get_expression): Constify.
14573         * python/py-cmd.c (cmdpy_completer::name): Constify.
14574         (cmdpy_function): Constify.
14575         * python/py-event.c (evpy_add_attribute)
14576         (gdbpy_initialize_event_generic): Constify.
14577         * python/py-event.h (evpy_add_attribute)
14578         (gdbpy_initialize_event_generic): Constify.
14579         * python/py-evts.c (add_new_registry): Constify.
14580         * python/py-finishbreakpoint.c (outofscope_func): Constify.
14581         * python/py-framefilter.c (get_py_iter_from_func): Constify.
14582         * python/py-inferior.c (get_buffer): Add cast.
14583         * python/py-param.c (parm_constant::name): Constify.
14584         * python/py-unwind.c (fprint_frame_id): Constify.
14585         * python/python.c (gdbpy_parameter_value): Constify.
14586         * remote-fileio.c (remote_fio_func_map): Make 'name' const.
14587         * remote.c (memory_packet_config::name): Constify.
14588         (show_packet_config_cmd, remote_write_bytes)
14589         (remote_buffer_add_string):
14590         * reverse.c (exec_reverse_once): Constify.
14591         * rs6000-tdep.c (variant::name, variant::description): Constify.
14592         * rust-exp.y (rustyyerror): Constify.
14593         * rust-lang.c (rust_op_name): Constify.
14594         * rust-lang.h (rustyyerror): Constify.
14595         * serial.h (serial_ops::name): Constify.
14596         * sh-tdep.c (sh_sh_register_name, sh_sh3_register_name)
14597         (sh_sh3e_register_name, sh_sh2e_register_name)
14598         (sh_sh2a_register_name, sh_sh2a_nofpu_register_name)
14599         (sh_sh_dsp_register_name, sh_sh3_dsp_register_name)
14600         (sh_sh4_register_name, sh_sh4_nofpu_register_name)
14601         (sh_sh4al_dsp_register_name): Constify.
14602         * sh64-tdep.c (sh64_register_name): Constify.
14603         * solib-darwin.c (lookup_symbol_from_bfd): Constify.
14604         * spu-tdep.c (spu_register_name, info_spu_dma_cmdlist): Constify.
14605         * stabsread.c (patch_block_stabs, read_type_number)
14606         (ref_map::stabs, ref_add, process_reference)
14607         (symbol_reference_defined, define_symbol, define_symbol)
14608         (error_type, read_type, read_member_functions, read_cpp_abbrev)
14609         (read_one_struct_field, read_struct_fields, read_baseclasses)
14610         (read_tilde_fields, read_struct_type, read_array_type)
14611         (read_enum_type, read_sun_builtin_type, read_sun_floating_type)
14612         (read_huge_number, read_range_type, read_args, common_block_start)
14613         (find_name_end): Constify.
14614         * stabsread.h (common_block_start, define_symbol)
14615         (process_one_symbol, symbol_reference_defined, ref_add):
14616         * symfile.c (get_section_index, add_symbol_file_command):
14617         * symfile.h (get_section_index): Constify.
14618         * target-descriptions.c (tdesc_type::name): Constify.
14619         (tdesc_free_type): Add cast.
14620         * target.c (find_default_run_target):
14621         (add_deprecated_target_alias, find_default_run_target)
14622         (target_announce_detach): Constify.
14623         (do_option): Constify.
14624         * target.h (add_deprecated_target_alias): Constify.
14625         * thread.c (print_thread_info_1): Constify.
14626         * top.c (deprecated_readline_begin_hook, command_line_input):
14627         Constify.
14628         (init_main): Add casts.
14629         * top.h (handle_line_of_input): Constify.
14630         * tracefile-tfile.c (tfile_write_uploaded_tsv): Constify.
14631         * tracepoint.c (tvariables_info_1, trace_status_mi): Constify.
14632         (tfind_command): Rename to ...
14633         (tfind_command_1): ... this and constify.
14634         (tfind_command): New function.
14635         (tfind_end_command, tfind_start_command): Adjust.
14636         (encode_source_string): Constify.
14637         * tracepoint.h (encode_source_string): Constify.
14638         * tui/tui-data.c (tui_partial_win_by_name): Constify.
14639         * tui/tui-data.h (tui_partial_win_by_name): Constify.
14640         * tui/tui-source.c (tui_set_source_content_nil): Constify.
14641         * tui/tui-source.h (tui_set_source_content_nil): Constify.
14642         * tui/tui-win.c (parse_scrolling_args): Constify.
14643         * tui/tui-windata.c (tui_erase_data_content): Constify.
14644         * tui/tui-windata.h (tui_erase_data_content): Constify.
14645         * tui/tui-winsource.c (tui_erase_source_content): Constify.
14646         * tui/tui.c (tui_enable): Add cast.
14647         * utils.c (defaulted_query): Constify.
14648         (init_page_info): Add cast.
14649         (puts_debug, subset_compare): Constify.
14650         * utils.h (subset_compare): Constify.
14651         * varobj.c (varobj_format_string): Constify.
14652         * varobj.h (varobj_format_string): Constify.
14653         * vax-tdep.c (vax_register_name): Constify.
14654         * windows-nat.c (windows_detach): Constify.
14655         * xcoffread.c (process_linenos, xcoff_next_symbol_text): Constify.
14656         * xml-support.c (gdb_xml_end_element): Constify.
14657         * xml-tdesc.c (tdesc_start_reg): Constify.
14658         * xstormy16-tdep.c (xstormy16_register_name): Constify.
14659         * xtensa-tdep.c (xtensa_find_register_by_name): Constify.
14660         * xtensa-tdep.h (xtensa_register_t::name): Constify.
14661
14662 2017-04-05  Pedro Alves  <palves@redhat.com>
14663
14664         * proc-api.c (struct trans): Constify.
14665         (procfs_note): Constify.
14666         * proc-events.c (struct trans, syscall_table):
14667         * proc-flags.c (struct trans): Constify.
14668         * proc-utils.h (procfs_note): Constify.
14669         * proc-why.c (struct trans): Constify.
14670         * procfs.c (dead_procinfo, find_syscall, proc_warn, proc_error)
14671         (procfs_detach): Constify.
14672         * sol-thread.c (struct string_map): Constify.
14673         (td_err_string, td_state_string): Constify.
14674
14675 2017-04-05  Pedro Alves  <palves@redhat.com>
14676
14677         * proc-api.c (procfs_filename): Don't initialize
14678         procfs_filename.
14679         (prepare_to_trace): Assume procfs_filename is non-NULL.
14680         (_initialize_proc_api): Give procfs_filename a default value here.
14681
14682 2017-04-05  Pedro Alves  <palves@redhat.com>
14683
14684         * break-catch-throw.c (handle_gnu_v3_exceptions): Constify
14685         'cond_string' parameter.
14686         (extract_exception_regexp): Constify 'string' parameter.
14687         (catch_exception_command_1): Constify.
14688         * breakpoint.c (init_catchpoint)
14689         (create_fork_vfork_event_catchpoint): Constify 'cond_string'
14690         parameter.
14691         (ep_parse_optional_if_clause, catch_fork_command_1)
14692         (catch_exec_command_1): Constify.
14693         * breakpoint.h (init_catchpoint): Constify 'cond_string'
14694         parameter.
14695         (ep_parse_optional_if_clause): Constify.
14696         * cli/cli-utils.c (remove_trailing_whitespace)
14697         (check_for_argument): Constify.
14698         * cli/cli-utils.h (remove_trailing_whitespace): Constify and add
14699         non-const overload.
14700         (check_for_argument): Likewise.
14701
14702 2017-04-05  Pedro Alves  <palves@redhat.com>
14703
14704         * event-top.c (command_line_handler): Add cast to execute_command
14705         call.
14706         * record-btrace.c (cmd_record_btrace_bts_start)
14707         (cmd_record_btrace_pt_start, cmd_record_btrace_start)
14708         (cmd_record_btrace_start): Add cast to execute_command call.
14709         * record-full.c (record_full_goto_insn):
14710         * record.c (record_start, record_stop): Add cast to
14711         execute_command_to_string calls.
14712         (cmd_record_start): Add cast to execute_command calls.
14713
14714 2017-04-05  Pedro Alves  <palves@redhat.com>
14715
14716         * python/python-internal.h (gdb_PyArg_ParseTupleAndKeywords): New
14717         static inline function.
14718         * python/py-arch.c (archpy_disassemble): Constify 'keywords'
14719         array and use gdb_PyArg_ParseTupleAndKeywords.
14720         * python/py-cmd.c (cmdpy_init): Likewise.
14721         * python/py-finishbreakpoint.c (bpfinishpy_init): Likewise.
14722         * python/py-inferior.c (infpy_read_memory, infpy_write_memory)
14723         (infpy_search_memory): Likewise.
14724         * python/py-objfile.c (objfpy_add_separate_debug_file)
14725         (gdbpy_lookup_objfile): Likewise.
14726         * python/py-symbol.c (gdbpy_lookup_symbol)
14727         (gdbpy_lookup_global_symbol): Likewise.
14728         * python/py-type.c (gdbpy_lookup_type): Likewise.
14729         * python/py-value.c (valpy_lazy_string, valpy_string): Likewise.
14730         * python/python.c (execute_gdb_command, gdbpy_write, gdbpy_flush):
14731         Likewise.
14732
14733 2017-04-05  Pedro Alves  <palves@redhat.com>
14734
14735         * python/python-internal.h (gdb_PyGetSetDef): New type.
14736         * python/py-block.c (block_object_getset)
14737         (breakpoint_object_getset): Now a gdb_PyGetSetDef array.
14738         * python/py-event.c (event_object_getset)
14739         (finish_breakpoint_object_getset): Likewise.
14740         * python/py-inferior.c (inferior_object_getset): Likewise.
14741         * python/py-infthread.c (thread_object_getset): Likewise.
14742         * python/py-lazy-string.c (lazy_string_object_getset): Likewise.
14743         * python/py-linetable.c (linetable_entry_object_getset): Likewise.
14744         * python/py-objfile.c (objfile_getset): Likewise.
14745         * python/py-progspace.c (pspace_getset): Likewise.
14746         * python/py-record-btrace.c (btpy_insn_getset, btpy_call_getset):
14747         Likewise.
14748         * python/py-record.c (recpy_record_getset): Likewise.
14749         * python/py-symbol.c (symbol_object_getset): Likewise.
14750         * python/py-symtab.c (symtab_object_getset, sal_object_getset):
14751         Likewise.
14752         * python/py-type.c (type_object_getset, field_object_getset):
14753         Likewise.
14754         * python/py-value.c (value_object_getset): Likewise.
14755
14756 2017-04-05  Pedro Alves  <palves@redhat.com>
14757
14758         * python/python-internal.h (gdb_PyObject_CallMethod)
14759         (gdb_PyErr_NewException, gdb_PySys_GetObject, gdb_PySys_SetPath):
14760         New functions.
14761         (GDB_PYSYS_SETPATH_CHAR, PyObject_CallMethod, PyErr_NewException)
14762         (PySys_GetObject, PySys_SetPath): New macros.
14763
14764 2017-04-05  Pedro Alves  <palves@redhat.com>
14765
14766         * mi/mi-cmd-info.c (mi_cmd_info_os): Call info_osdata instead of
14767         info_osdata_command.
14768         * osdata.c (info_osdata_command): Rename to ...
14769         (info_osdata): ... this.  Constify 'type' parameter, and remove
14770         the 'from_tty' parameter.  Accept NULL TYPE.
14771         (info_osdata_command): New function.
14772         * osdata.h (info_osdata_command): Remove declaration.
14773         (info_osdata): New declaration.
14774
14775 2017-04-05  Pedro Alves  <palves@redhat.com>
14776
14777         * mi/mi-cmd-break.c (mi_cmd_break_insert_1, mi_cmd_break_insert)
14778         (mi_cmd_dprintf_insert, mi_cmd_break_passcount)
14779         (mi_cmd_break_watch, mi_cmd_break_commands): Constify 'command'
14780         parameter.
14781         * mi/mi-cmd-catch.c (mi_cmd_catch_assert, mi_cmd_catch_exception)
14782         (mi_cmd_catch_load, mi_cmd_catch_unload): Constify cmd' parameter.
14783         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Constify 'command'
14784         parameter.
14785         * mi/mi-cmd-env.c (mi_cmd_env_pwd, mi_cmd_env_cd, mi_cmd_env_path)
14786         (mi_cmd_env_dir, mi_cmd_inferior_tty_set, _cmd_inferior_tty_show)
14787         * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file)
14788         (mi_cmd_file_list_exec_source_files)
14789         (mi_cmd_file_list_shared_libraries): Constify 'command' parameter.
14790         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions)
14791         (mi_cmd_info_gdb_mi_command, mi_cmd_info_os): Constify 'command'
14792         parameter.
14793         * mi/mi-cmd-stack.c (mi_cmd_enable_frame_filters)
14794         (mi_cmd_stack_list_frames, mi_cmd_stack_info_depth)
14795         (mi_cmd_stack_list_locals, mi_cmd_stack_list_args)
14796         (mi_cmd_stack_list_variables, mi_cmd_stack_select_frame)
14797         (mi_cmd_stack_info_frame): Constify 'command' parameter.
14798         * mi/mi-cmd-target.c (mi_cmd_target_file_get)
14799         (mi_cmd_target_file_put, mi_cmd_target_file_delete): Constify
14800         'command' parameter.
14801         * mi/mi-cmd-var.c (mi_cmd_var_create, mi_cmd_var_delete)
14802         (mi_cmd_var_set_format, mi_cmd_var_set_visualizer)
14803         (mi_cmd_var_set_frozen, mi_cmd_var_show_format)
14804         (mi_cmd_var_info_num_children, mi_cmd_var_list_children)
14805         (mi_cmd_var_info_type, mi_cmd_var_info_path_expression)
14806         (mi_cmd_var_info_expression, mi_cmd_var_show_attributes)
14807         (mi_cmd_var_evaluate_expression, mi_cmd_var_assign)
14808         (mi_cmd_var_update, mi_cmd_enable_pretty_printing)
14809         (mi_cmd_var_set_update_range): Constify 'command' parameter.
14810         * mi/mi-cmds.h (mi_cmd_argv_ftype): Constify 'command' parameter.
14811         * mi/mi-interp.c (mi_cmd_interpreter_exec): Constify 'command'
14812         parameter.
14813         * mi/mi-main.c (mi_cmd_gdb_exit, mi_cmd_exec_next)
14814         (mi_cmd_exec_next_instruction, mi_cmd_exec_step)
14815         (mi_cmd_exec_step_instruction, mi_cmd_exec_finish)
14816         (mi_cmd_exec_return ,mi_cmd_exec_jump, mi_cmd_exec_continue)
14817         (mi_cmd_exec_interrupt, mi_cmd_exec_run, mi_cmd_target_detach)
14818         (mi_cmd_target_flash_erase, mi_cmd_thread_select)
14819         (mi_cmd_thread_list_ids, mi_cmd_thread_info)
14820         (mi_cmd_list_thread_groups, mi_cmd_data_list_register_names)
14821         (mi_cmd_data_list_changed_registers)
14822         (mi_cmd_data_write_register_values)
14823         (mi_cmd_data_evaluate_expression, mi_cmd_data_read_memory)
14824         (mi_cmd_data_read_memory_bytes, mi_cmd_data_write_memory)
14825         (mi_cmd_data_write_memory_bytes, mi_cmd_enable_timings)
14826         (mi_cmd_list_features, mi_cmd_list_target_features)
14827         (mi_cmd_add_inferior, mi_cmd_remove_inferior)
14828         (mi_cmd_trace_define_variable, mi_cmd_trace_list_variables)
14829         (mi_cmd_trace_find, mi_cmd_trace_save, mi_cmd_trace_start)
14830         (mi_cmd_trace_status, mi_cmd_trace_stop, mi_cmd_ada_task_info)
14831         (mi_cmd_trace_frame_collected): Constify 'command'
14832         parameter.
14833         * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Constify
14834         'command' parameter.
14835
14836 2017-04-05  Pedro Alves  <palves@redhat.com>
14837
14838         * ada-lang.c (ada_completer_word_break_characters): Now a const
14839         array.
14840         (ada_get_gdb_completer_word_break_characters): Constify.
14841         * completer.c (gdb_completer_command_word_break_characters)
14842         (gdb_completer_file_name_break_characters)
14843         (gdb_completer_quote_characters): Now const arrays.
14844         (get_gdb_completer_quote_characters): Constify.
14845         (set_rl_completer_word_break_characters): New function.
14846         (set_gdb_completion_word_break_characters)
14847         (complete_line_internal): Use it.
14848         * completer.h (get_gdb_completer_quote_characters): Constify.
14849         (set_rl_completer_word_break_characters): Declare.
14850         * f-lang.c (f_word_break_characters): Constify.
14851         * language.c (default_word_break_characters): Constify.
14852         * language.h (language_defn::la_word_break_characters): Constify.
14853         (default_word_break_characters): Constify.
14854         * top.c (init_main): Use set_rl_completer_word_break_characters.
14855
14856 2017-04-05  Pedro Alves  <palves@redhat.com>
14857
14858         * aix-thread.c (aix_thread_pid_to_str)
14859         (aix_thread_extra_thread_info): Constify.
14860         * bsd-kvm.c (bsd_kvm_pid_to_str): Constify.
14861         * bsd-uthread.c (bsd_uthread_extra_thread_info)
14862         (bsd_uthread_pid_to_str): Constify.
14863         * corelow.c (core_pid_to_str): Constify.
14864         * darwin-nat.c (darwin_pid_to_str): Constify.
14865         * fbsd-nat.c (fbsd_pid_to_str): Constify.
14866         * fbsd-tdep.c (fbsd_core_pid_to_str, gdbarch_core_pid_to_str):
14867         Constify.
14868         * gnu-nat.c (gnu_pid_to_str): Constify.
14869         * go32-nat.c (go32_pid_to_str): Constify.
14870         * i386-cygwin-tdep.c (i386_windows_core_pid_to_str): Constify.
14871         * inf-ptrace.c (inf_ptrace_pid_to_str): Constify.
14872         * inferior.c (inferior_pid_to_str): Constify.
14873         * linux-nat.c (linux_nat_pid_to_str): Constify.
14874         * linux-tdep.c (linux_core_pid_to_str): Constify.
14875         * linux-thread-db.c (thread_db_pid_to_str)
14876         (thread_db_extra_thread_info): Constify.
14877         * nto-tdep.c (nto_extra_thread_info): Constify.
14878         * nto-tdep.h (nto_extra_thread_info): Constify.
14879         * obsd-nat.c (obsd_pid_to_str): Constify.
14880         * procfs.c (procfs_pid_to_str): Constify.
14881         * ravenscar-thread.c (ravenscar_extra_thread_info)
14882         (ravenscar_pid_to_str): Constify.
14883         * remote-sim.c (gdbsim_pid_to_str): Constify.
14884         * remote.c (remote_threads_extra_info, remote_pid_to_str):
14885         Constify.
14886         * sol-thread.c (solaris_pid_to_str): Constify.
14887         * sol2-tdep.c (sol2_core_pid_to_str): Constify.
14888         * sol2-tdep.h (sol2_core_pid_to_str): Constify.
14889         * target.c (default_pid_to_str, target_pid_to_str)
14890         (normal_pid_to_str, default_pid_to_str): Constify.
14891         * target.h (target_ops::to_pid_to_str)
14892         (target_ops::to_extra_thread_info): Constify.
14893         (target_pid_to_str, normal_pid_to_str): Constify.
14894         * windows-nat.c (windows_pid_to_str): Constify.
14895         * gdbarch.sh (core_pid_to_str): Constify.
14896         * target-delegates.c: Regenerate.
14897         * gdbarch.h, gdbarch.c: Regenerate.
14898
14899 2017-04-05  Pedro Alves  <palves@redhat.com>
14900
14901         * main.c (captured_main_1): Use gdb::unique_xmalloc_ptr to manage
14902         the memory of the temporary warning_pre_print override.
14903         * utils.c (warning_pre_print): Constify.
14904         * utils.h (warning_pre_print): Constify.
14905
14906 2017-04-05  Pedro Alves  <palves@redhat.com>
14907
14908         * cli/cli-cmds.c (shell_escape): Constify 'arg' parameter.
14909         (shell_command): New function.
14910         (make_command): Use std::string.
14911         (init_cli_cmds): Register shell_command instead of shell_escape.
14912
14913 2017-04-05  Pedro Alves  <palves@redhat.com>
14914
14915         * breakpoint.c (dprintf_function, dprintf_channel): Don't initialize.
14916         * tracepoint.c (default_collect): Don't initialize.
14917
14918 2017-04-05  Pedro Alves  <palves@redhat.com>
14919
14920         * macroexp.c (macro_buffer::shared): Now a bool.
14921         (init_buffer): Update.
14922         (init_shared_buffer): Constify 'addr' parameter.
14923         (substitute_args, expand, macro_expand, macro_expand_next): Remove
14924         casts.
14925
14926 2017-04-05  Pedro Alves  <palves@redhat.com>
14927
14928         * arm-tdep.c (show_disassembly_style_sfunc): Constify local.
14929         * disasm.c (set_disassembler_options): Constify local.
14930         * i386-tdep.c (i386_print_insn): Remove cast and FIXME comment.
14931
14932 2017-04-05  Sergio Durigan Junior  <sergiodj@redhat.com>
14933
14934         PR gdb/21352
14935         * tracefile.c (tsave_command): Fix argument parsing for '-r'
14936         option.
14937
14938 2017-04-05  Yao Qi  <yao.qi@linaro.org>
14939
14940         * frame.c (frame_unwind_register_unsigned): Call
14941         frame_unwind_register_value.
14942
14943 2017-04-05  Yao Qi  <yao.qi@linaro.org>
14944
14945         * gdb.threads/thread-specific-bp.exp (check_thread_specific_breakpoint):
14946         Use gdb_test_multiple, and don't match anchor.
14947
14948 2017-04-05  Pedro Alves  <palves@redhat.com>
14949
14950         * MAINTAINERS (Global Maintainers): Add Simon Marchi.
14951         (Write After Approval): Remove Simon Marchi.
14952
14953 2017-04-05  Pedro Alves  <palves@redhat.com>
14954
14955         * common/gdb_optional.h (optional::optional): Make constexpr and
14956         initialize m_dummy.
14957
14958 2017-04-04  John Baldwin  <jhb@FreeBSD.org>
14959
14960         * amd64-fbsd-tdep.c: Remove "bsd-uthread.h" include.
14961         (amd64fbsd_jmp_buf_reg_offset): Remove.
14962         (amd64fbsd_supply_uthread): Remove function.
14963         (amd64fbsd_collect_uthread): Remove function.
14964         (amd64fbsd_init_abi): Don't set bsd-uthread callbacks.
14965         * configure.tgt (i[34567]86-*-freebsd*): Remove bsd-uthread.o.
14966         (x86_64-*-freebsd*): Remove bsd-uthread.o.
14967         (fbsd-nat.c): Update comment.
14968         * i386-fbsd-tdep.c: Remove "bsd-uthread.h" include.
14969         (i386fbsd_jmp_buf_reg_offset): Remove.
14970         (i386fbsd_supply_uthread): Remove function.
14971         (i386fbsd_collect_uthread): Remove function.
14972         (i386fbsd_init_abi): Don't set bsd-uthread callbacks.
14973
14974 2017-04-04  John Baldwin  <jhb@FreeBSD.org>
14975
14976         * Makefile.in (ALL_64_TARGET_OBS): Remove alpha-fbsd-tdep.o.
14977         (ALLDEPFILES): Remove alpha-fbsd-tdep.c
14978         * NEWS: Mention that support for FreeBSD/alpha was removed.
14979         * alpha-fbsd-tdep.c: Delete file.
14980         * config/alpha/fbsd.mh: Delete file.
14981         * configure.host: Delete alpha*-*-freebsd* and
14982         alpha*-*-kfreebsd*-gnu.
14983         * configure.tgt: Delete alpha*-*-freebsd* and
14984         alpha*-*-kfreebsd*-gnu.
14985
14986 2017-04-04  John Baldwin  <jhb@FreeBSD.org>
14987
14988         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers,
14989         amd64bsd_store_inferior_registers): Use ptid from regcache.
14990
14991 2017-04-04  Pedro Alves  <palves@redhat.com>
14992
14993         * dwarf2read.c (lnp_state_machine): Now a class.  Initialize all
14994         data fields, make them private and add "m_" prefixes.
14995         (lnp_state_machine::lnp_state_machine): New ctor.
14996         (record_line, check_line_address, handle_set_discriminator)
14997         (handle_set_address, handle_advance_pc, handle_special_opcode)
14998         (handle_advance_line, handle_set_file, handle_negate_stmt)
14999         (handle_const_add_pc, handle_fixed_advance_pc, handle_copy)
15000         (end_sequence, advance_line): New methods.
15001         (m_gdbarch, m_record_lines_p): New fields.
15002         (lnp_reader_state): Delete.
15003         (dwarf_record_line): Rename to ...
15004         (lnp_state_machine::record_line): ... adjust.
15005         (init_lnp_state_machine): Delete.
15006         (lnp_state_machine::lnp_state_machine): New.
15007         (check_line_address): Rename to ...
15008         (lnp_state_machine::check_line_address): This.
15009         (dwarf_decode_lines_1): Remove reference to "reader_state".
15010         Adjust lnp_state_machine having a non-default ctor.  Use bool.
15011         State machine internal state manipulation moved to
15012         lnp_state_machine methods.
15013
15014 2017-04-04  Pedro Alves  <palves@redhat.com>
15015
15016         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
15017         unittests/offset-type-selftests.c.
15018         (SUBDIR_UNITTESTS_OBS): Add offset-type-selftests.o.
15019         * common/offset-type.h: New file.
15020         * common/preprocessor.h: New file.
15021         * common/traits.h: New file.
15022         * common/valid-expr.h: New file.
15023         * dwarf2expr.c: Include "common/underlying.h".  Adjust to use
15024         sect_offset and cu_offset strong typedefs throughout.
15025         * dwarf2expr.h: Adjust to use sect_offset and cu_offset strong
15026         typedefs throughout.
15027         * dwarf2loc.c: Include "common/underlying.h".  Adjust to use
15028         sect_offset and cu_offset strong typedefs throughout.
15029         * dwarf2read.c: Adjust to use sect_offset and cu_offset strong
15030         typedefs throughout.
15031         * gdbtypes.h: Include "common/offset-type.h".
15032         (cu_offset): Now an offset type (strong typedef) instead of a
15033         struct.
15034         (sect_offset): Likewise.
15035         (union call_site_parameter_u): Rename "param_offset" field to
15036         "param_cu_off".
15037         * unittests/offset-type-selftests.c: New file.
15038
15039 2017-04-04  Pedro Alves  <palves@redhat.com>
15040
15041         * common/underlying.h: New file.
15042         * dwarf2read.c: Include "common/gdb_optional.h" and
15043         "common/underlying.h".
15044         (dir_index, file_name_index): New types.
15045         (file_entry): Use them.
15046         (file_entry::include): Use to_underlying.
15047         (line_header::add_file_name): Use dir_index.
15048         (read_formatted_entries): Use gdb::optional.  Read form before
15049         writting to file_entry.
15050         (dwarf_decode_line_header): Use dir_index.
15051         (lnp_state_machine::current_file): Use to_underlying.
15052         (lnp_state_machine::file): Change type to file_name_index.
15053         (dwarf_record_line): Use to_underlying.
15054         (init_lnp_state_machine): Use file_name_index.
15055         (dwarf_decode_lines_1): Use dir_index and file_name_index.
15056
15057 2017-04-04  Pedro Alves  <palves@redhat.com>
15058
15059         * common/gdb_optional.h (gdb::optiona): Add operator->, operator*,
15060         operator bool, has_value and get methods.
15061
15062 2017-04-04  Pedro Alves  <palves@redhat.com>
15063
15064         * dwarf2read.c (struct file_entry): Add ctors, and initialize all
15065         fields.
15066         (line_header): Initialize all data fields.  Change type of
15067         standard_opcode_lengths to std::unique_ptr<unsigned char[]>.
15068         Change type of include_dirs to std::vector<const char *>.  Remove
15069         num_include_dirs, include_dirs_size.  Change type of file_names to
15070         std::vector<file_entry>.  Remove num_file_names, file_names_size.
15071         (line_header::line_header): New.
15072         (line_header::add_include_dir, line_header::add_file_name): New
15073         methods.
15074         (line_header::include_dir_at): Remove NULL check.
15075         (line_header::file_name_at): Add const overload.
15076         (line_header_up): New unique_ptr typedef.
15077         (dw2_get_file_names_reader): Use line_header_up.  Adjust to use
15078         std::vector.  Remove free_line_header call.
15079         (dwarf2_build_include_psymtabs): Use line_header_up.  Remove
15080         free_line_header call.
15081         (free_cu_line_header): Delete.
15082         (handle_DW_AT_stmt_list, handle_DW_AT_stmt_list)
15083         (setup_type_unit_groups): Use line_header_up instead of cleanups.
15084         Adjust to use std::vector.
15085         (free_line_header): Delete.
15086         (free_line_header_voidp): Use delete.
15087         (add_include_dir): Replace with ...
15088         (line_header::add_include_dir): ... this method.  Use std::vector.
15089         (add_file_name): Replace with ...
15090         (line_header::add_file_name): ... this method.  Use std::vector.
15091         (add_include_dir_stub): Delete.
15092         (read_formatted_entries): Remove memset.
15093         (dwarf_decode_line_header): Return a line_header_up instead of a
15094         raw pointer.  Remove cleanup handling.  Pass lambdas to
15095         read_formatted_entries.  Adjust to use line_header methods.
15096         (dwarf_decode_lines_1): Adjust to use line_header methods.
15097         (dwarf_decode_lines, file_file_name, file_full_name): Adjust to
15098         use std::vector.
15099
15100 2017-04-04  Simon Marchi  <simon.marchi@polymtl.ca>
15101
15102         * remote.c (set_general_thread, set_continue_thread): Use ptid_t
15103         instead of struct ptid.
15104
15105 2017-05-04  Alan Hayward  <alan.hayward@arm.com>
15106
15107         * frame.c (get_frame_register_bytes): Unwind using value.
15108         (put_frame_register_bytes): Likewise.
15109
15110 2017-03-30  Iain Buclaw  <ibuclaw@gdcproject.org>
15111
15112         * d-exp.y (type_aggregate_p): Treat TYPE_CODE_MODULE as being
15113         aggregate-like.
15114
15115 2017-03-29  Jan Kratochvil  <jan.kratochvil@redhat.com>
15116
15117         * auto-load.c (auto_load_section_scripts): Check SEC_HAS_CONTENTS.
15118
15119 2017-03-29  Yao Qi  <yao.qi@linaro.org>
15120
15121         * gdbthread.h (struct thread_info): Declare constructor and
15122         destructor.  Add some in-class member initializers.
15123         * thread.c (free_thread): Remove.
15124         (init_thread_list): Call delete instead of free_thread.
15125         (new_thread): Call thread_info constructor.
15126         (thread_info::thread_info): New function.
15127         (thread_info::~thread_info): New function.
15128         (delete_thread_1): Call delete instead of free_thread.
15129         (make_cleanup_restore_current_thread): Move tp and frame to
15130         inner block.
15131
15132 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15133
15134         * arc-tdep.c (arc_frame_cache): Add support for prologue analysis.
15135         (arc_skip_prologue): Likewise.
15136         (arc_make_frame_cache): Likewise.
15137         (arc_pv_get_operand): New function.
15138         (arc_is_in_prologue): Likewise.
15139         (arc_analyze_prologue): Likewise.
15140         (arc_print_frame_cache): Likewise.
15141         (MAX_PROLOGUE_LENGTH): New constant.
15142
15143 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15144
15145         * configure.tgt: Add arc-insn.o.
15146         * arc-tdep.c (arc_delayed_print_insn): Make non-static.
15147         (dump_arc_instruction_command): New function.
15148         (arc_fprintf_disasm): Likewise.
15149         (arc_disassemble_info): Likewise.
15150         (arc_insn_get_operand_value): Likewise.
15151         (arc_insn_get_operand_value_signed): Likewise.
15152         (arc_insn_get_memory_base_reg): Likewise.
15153         (arc_insn_get_memory_offset): Likewise.
15154         (arc_insn_get_branch_target): Likewise.
15155         (arc_insn_dump): Likewise.
15156         (arc_insn_get_linear_next_pc): Likewise.
15157         * arc-tdep.h (arc_delayed_print_insn): Add function declaration.
15158         (arc_disassemble_info): Likewise.
15159         (arc_insn_get_branch_target): Likewise.
15160         (arc_insn_get_linear_next_pc): Likewise.
15161         * NEWS: Mention new "maint print arc arc-instruction".
15162
15163 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15164
15165         * arc-tdep (maintenance_print_arc_list): New variable.
15166         (maintenance_print_arc_command): New function.
15167
15168 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15169
15170         * arc-tdep.c (core_v2_register_names, core_arcompact_register_names)
15171         Add "limm" and "reserved".
15172         (arc_cannot_fetch_register, arc_cannot_store_register): Add
15173         ARC_RESERVED_REGNUM and ARC_LIMM_REGNUM.
15174         * arc-tdep.h (arc_regnum): Likewise.
15175
15176 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15177
15178         * xtensa-linux-nat.c (fill_gregset): Call regcache_raw_collect
15179         for THREADPTR register.
15180         (supply_gregset_reg): Call regcache_raw_supply for THREADPTR
15181         register.
15182         * xtensa-tdep.c (XTENSA_DBREGN_UREG): New definition.
15183         (xtensa_derive_tdep): Initialize tdep->threadptr_regnum.
15184         * xtensa-tdep.h (gdbarch_tdep::threadptr_regnum): New field.
15185
15186 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15187
15188         * xtensa-tdep.c (xtensa_pseudo_register_read): Treat all
15189         registers above gdbarch_num_regs (gdbarch) as privileged in
15190         call0 ABI.
15191
15192 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15193
15194         * xtensa-linux-nat.c (fill_gregset): Call regcache_raw_collect
15195         for a single specified register or for all registers in
15196         a0_base..a0_base + C0_NREGS range.
15197         (supply_gregset_reg): Call regcache_raw_supply for a single
15198         specified register or for all registers in a0_base..a0_base +
15199         C0_NREGS range.
15200
15201 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15202
15203         * arch/xtensa.h (C0_NREGS): Add definition.
15204         * xtensa-tdep.c (C0_NREGS): Remove definition.
15205
15206 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15207
15208         * xtensa-tdep.c (xtensa_scan_prologue, call0_analyze_prologue):
15209         Drop xtensa_default_isa initialization.
15210         (xtensa_gdbarch_init): Initialize xtensa_default_isa.
15211
15212 2017-03-27  Pedro Alves  <palves@redhat.com>
15213
15214         * dwarf2read.c (file_entry) <dir_index>: Add comment.
15215         (file_entry::include_dir): New method.
15216         (line_header::include_dir_at, line_header::file_name_at): New
15217         methods.
15218         (setup_type_unit_groups, setup_type_unit_groups)
15219         (psymtab_include_file_name): Simplify using the new methods.
15220         (lnp_state_machine) <the_line_header>: New field.
15221         <file>: Add comment.
15222         (lnp_state_machine::current_file): New method.
15223         (dwarf_record_line): Simplify using the new methods.
15224         (init_lnp_state_machine): Initialize the "the_line_header" field.
15225         (dwarf_decode_lines_1, dwarf_decode_lines, file_file_name):
15226         Simplify using the new methods.
15227
15228 2017-03-27  Pedro Alves  <palves@redhat.com>
15229
15230         * cp-name-parser.y (make_empty): Delete.
15231         (demangler_special, nested_name, ptr_operator, array_indicator)
15232         (direct_declarator, declarator_1): Use fill_comp instead of
15233         make_empty.
15234
15235 2017-03-27  Pedro Alves  <palves@redhat.com>
15236
15237         * xml-support.h (gdb_xml_debug): Pass a "first-to-check" argument
15238         to ATTRIBUTE_PRINTF.
15239         * solib-target.c (library_list_start_list): Print "string" not
15240         "version".
15241         * xml-tdesc.c (tdesc_start_field): Pass "field_name" to
15242         gdb_xml_error call.
15243
15244 2017-03-27  Pedro Alves  <palves@redhat.com>
15245
15246         * dwarf2read.c (struct file_and_directory): New.
15247         (dwarf2_get_dwz_file): Adjust to use std::string.
15248         (dw2_get_file_names_reader): Adjust to use file_and_directory.
15249         (find_file_and_directory): Adjust to return a file_and_directory
15250         object.
15251         (read_file_scope): Adjust to use file_and_directory.  Remove
15252         make_cleanup/do_cleanups calls.
15253         (open_and_init_dwp_file): Adjust to use std::string.  Remove
15254         make_cleanup/do_cleanups calls.
15255         * python/python.c (do_start_initialization): Adjust to ldirname
15256         returning a std::string.
15257         * utils.c (ldirname): Now returns a std::string.
15258         * utils.h (ldirname): Change return type to std::string.
15259         * xml-syscall.c (xml_init_syscalls_info): Adjust to ldirname
15260         returning a std::string.
15261         * xml-tdesc.c (file_read_description_xml): Likewise.
15262
15263 2017-03-24  Alan Hayward  <alan.hayward@arm.com>
15264
15265         * regcache.c (regcache_debug_print_register): New function.
15266         * regcache.h (regcache_debug_print_register): New declaration.
15267         * target.c (debug_print_register): Remove.
15268         (target_fetch_registers): Call regcache_debug_print_register.
15269         (target_store_registers): Likewise.
15270
15271 2017-03-24  Pádraig Brady  <pbrady@fb.com>
15272
15273         * dwarf2read.c (setup_type_unit_groups): Ensure dir_index doesn't
15274         reference beyond the 'lh->include_dirs' array before accessing to
15275         it.
15276         (psymtab_include_file_name): Likewise.
15277         (dwarf_decode_lines_1): Likewise.
15278         (dwarf_decode_lines): Likewise.
15279         (file_file_name): Likewise.
15280
15281 2017-03-23  Simon Marchi  <simon.marchi@ericsson.com>
15282
15283         * fbsd-tdep.c (fbsd_corefile_thread): Don't set/restore
15284         inferior_ptid.
15285         * proc-service.c (ps_lgetregs, ps_lsetregs, ps_lgetfpregs,
15286         ps_lsetfpregs): Likewise.
15287         * regcache.c (regcache_raw_update, regcache_raw_write): Likewise.
15288         * sol-thread.c (ps_lgetregs, ps_lsetregs, ps_lgetfpregs,
15289         ps_lsetfpregs): Likewise.
15290         * target.c (target_fetch_registers, target_store_registers):
15291         Remove asserts.
15292
15293 2017-03-23  Alan Hayward  <alan.hayward@arm.com>
15294
15295         * sol-thread.c (sol_thread_store_registers): Remove regcache calls.
15296
15297 2017-03-23  Yao Qi  <yao.qi@linaro.org>
15298
15299         * aarch64-tdep.c (aarch64_process_record_test): Declare.
15300         (_initialize_aarch64_tdep): Register it.
15301         (aarch64_record_load_store): Handle PRFM instruction.
15302         (aarch64_process_record_test): New function.
15303
15304 2017-03-23  Yao Qi  <yao.qi@linaro.org>
15305
15306         * aarch64-tdep.c (aarch64_record_load_store): Fix code
15307         indentation.
15308
15309 2017-03-23  Yao Qi  <yao.qi@linaro.org>
15310
15311         * aarch64-tdep.c: Remove AARCH64_RECORD_FAILURE.
15312
15313 2017-03-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
15314
15315         python/python.c (do_start_initialization): Fix memory leak.
15316
15317 2017-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
15318
15319         * inf-ptrace.c (inf_ptrace_xfer_partial): Get pid from ptid
15320         using get_ptrace_pid.
15321         * linux-nat.c (linux_nat_xfer_partial): Don't set/restore
15322         inferior_ptid.
15323         (linux_proc_xfer_partial, linux_proc_xfer_spu): Use lwp of
15324         inferior_ptid instead of pid.
15325
15326 2017-03-22  Yao Qi  <yao.qi@linaro.org>
15327
15328         * aarch64-tdep.c: Wrap locally used classes in anonymous
15329         namespace.
15330         * arm-tdep.c: Likewise.
15331         * linespec.c: Likewise.
15332         * ui-out.c: Likewise.
15333
15334 2017-03-22  Jonah Graham  <jonah@kichwacoders.com>
15335
15336         PR gdb/19637
15337         * python/lib/gdb/printer/bound_registers.py: Import sys.
15338
15339 2017-03-21  Simon Marchi  <simon.marchi@ericsson.com>
15340
15341         * windows-nat.c (do_windows_fetch_inferior_registers): Add
15342         windows_thread_info parameter and use it instead of
15343         current_thread.
15344         (windows_fetch_inferior_registers): Don't set current_thread,
15345         pass the thread to do_windows_fetch_inferior_registers.  Use
15346         ptid from regcache instead of inferior_ptid.
15347         (do_windows_store_inferior_registers): Add windows_thread_info
15348         parameter and use it instead of current_thread.
15349         (windows_store_inferior_registers): Don't set current_thread,
15350         pass the thread to do_windows_store_inferior_registers.  Use
15351         ptid from regcache instead of inferior_ptid.
15352
15353 2017-03-21  Simon Marchi  <simon.marchi@ericsson.com>
15354
15355         * ser-mingw.c (ser_windows_raw): Remove reference to
15356         struct serial::current_timeout.
15357
15358 2017-03-21  Ivo Raisr  <ivo.raisr@oracle.com>
15359
15360         PR tdep/20928
15361         * gdb/sparc-tdep.h (gdbarch_tdep) <sparc64_ccr_type>: New field.
15362         * gdb/sparc64-tdep.c (sparc64_ccr_type): New function.
15363         (sparc64_fsr_type): Fix %fsr decoding.
15364
15365 2017-03-21  Tim Wiederhake  <tim.wiederhake@intel.com>
15366
15367         * python/py-record-btrace.c (btpy_insn_data): Change return type
15368         for Python 2.
15369
15370 2017-03-20  Simon Marchi  <simon.marchi@polymtl.ca>
15371
15372         * spu-linux-nat.c (spu_fetch_inferior_registers,
15373         spu_store_inferior_registers): Use ptid from regcache, set and
15374         restore inferior_ptid.
15375         * spu-multiarch.c (spu_fetch_registers, spu_store_registers):
15376         Likewise.
15377
15378 2017-03-20  Simon Marchi  <simon.marchi@polymtl.ca>
15379
15380         * i386-linux-nat.c (fetch_register, store_register,
15381         i386_linux_fetch_inferior_registers,
15382         i386_linux_store_inferior_registers): Use ptid from regcache.
15383         * ia64-linux-nat.c (ia64_linux_fetch_register,
15384         ia64_linux_store_register): Likewise.
15385         * inf-ptrace.c (inf_ptrace_fetch_register,
15386         inf_ptrace_store_register): Likewise.
15387         * m32r-linux-nat.c (m32r_linux_fetch_inferior_registers,
15388         m32r_linux_store_inferior_registers): Likewise.
15389         * m68k-bsd-nat.c (m68kbsd_fetch_inferior_registers,
15390         m68kbsd_store_inferior_registers): Likewise.
15391         * m68k-linux-nat.c (fetch_register, store_register,
15392         m68k_linux_fetch_inferior_registers,
15393         m68k_linux_store_inferior_registers): Likewise.
15394         * m88k-bsd-nat.c (m88kbsd_fetch_inferior_registers,
15395         m88kbsd_store_inferior_registers): Likewise.
15396         * mips-fbsd-nat.c (mips_fbsd_fetch_inferior_registers,
15397         mips_fbsd_store_inferior_registers): Likewise.
15398         * mips-linux-nat.c (mips64_linux_regsets_fetch_registers,
15399         mips64_linux_regsets_store_registers): Likewise.
15400         * mips-nbsd-nat.c (mipsnbsd_fetch_inferior_registers,
15401         mipsnbsd_store_inferior_registers): Likewise.
15402         * mips-obsd-nat.c (mips64obsd_fetch_inferior_registers,
15403         mips64obsd_store_inferior_registers): Likewise.
15404         * nto-procfs.c (procfs_fetch_registers, procfs_store_registers):
15405         Likewise.
15406         * ppc-fbsd-nat.c (ppcfbsd_fetch_inferior_registers,
15407         ppcfbsd_store_inferior_registers): Likewise.
15408         * ppc-linux-nat.c (ppc_linux_fetch_inferior_registers,
15409         ppc_linux_store_inferior_registers): Likewise.
15410         * ppc-nbsd-nat.c (ppcnbsd_fetch_inferior_registers,
15411         ppcnbsd_store_inferior_registers): Likewise.
15412         * ppc-obsd-nat.c (ppcobsd_fetch_registers,
15413         ppcobsd_store_registers): Likewise.
15414         * procfs.c (procfs_fetch_registers, procfs_store_registers):
15415         Likewise.
15416         * ravenscar-thread.c (ravenscar_fetch_registers,
15417         ravenscar_store_registers, ravenscar_prepare_to_store):
15418         Likewise.
15419         * record-btrace.c (record_btrace_fetch_registers,
15420         record_btrace_store_registers, record_btrace_prepare_to_store):
15421         Likewise.
15422         * remote-sim.c (gdbsim_fetch_register, gdbsim_store_register):
15423         Lookup inferior using ptid from regcache, instead of
15424         current_inferior.
15425         * remote.c (remote_fetch_registers, remote_store_registers): Use
15426         ptid from regcache.
15427         * rs6000-nat.c (fetch_register, store_register): Likewise.
15428         * s390-linux-nat.c (s390_linux_fetch_inferior_registers,
15429         s390_linux_store_inferior_registers): Likewise.
15430         * sh-nbsd-nat.c (shnbsd_fetch_inferior_registers,
15431         shnbsd_store_inferior_registers): Likewise.
15432         * sol-thread.c (sol_thread_fetch_registers,
15433         sol_thread_store_registers): Likewise.
15434         * sparc-nat.c (sparc_fetch_inferior_registers,
15435         sparc_store_inferior_registers): Likewise.
15436         * tilegx-linux-nat.c (fetch_inferior_registers,
15437         store_inferior_registers): Likewise.
15438         * vax-bsd-nat.c (vaxbsd_fetch_inferior_registers,
15439         vaxbsd_store_inferior_registers): Likewise.
15440         * xtensa-linux-nat.c (fetch_gregs, store_gregs, fetch_xtregs,
15441         store_xtregs): Likewise.
15442
15443 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15444
15445         PR gdb/14441
15446         * NEWS: Mention support for rvalue references in GDB and python.
15447         * doc/gdb.texinfo (C Plus Plus Expressions): Mention that GDB
15448         supports both lvalue and rvalue references.
15449
15450 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15451
15452         PR gdb/14441
15453         * gdbtypes.c (rank_one_type): Implement overloading
15454         resolution rules regarding rvalue references.
15455
15456 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15457
15458         PR gdb/14441
15459         * aarch64-tdep.c (aarch64_type_align)
15460         (aarch64_extract_return_value, aarch64_store_return_value): Change
15461         lvalue reference type checks to general reference type checks.
15462         * amd64-tdep.c (amd64_classify): Likewise.
15463         * amd64-windows-tdep.c (amd64_windows_passed_by_integer_register):
15464         Likewise.
15465         * arm-tdep.c (arm_type_align, arm_extract_return_value)
15466         (arm_store_return_value): Likewise.
15467         * ax-gdb.c (gen_fetch, gen_cast): Likewise.
15468         * c-typeprint.c (c_print_type): Likewise.
15469         * c-varobj.c (adjust_value_for_child_access, c_value_of_variable)
15470         (cplus_number_of_children, cplus_describe_child): Likewise.
15471         * compile/compile-c-symbols.c (generate_vla_size): Likewise.
15472         * completer.c (expression_completer): Likewise.
15473         * cp-support.c (make_symbol_overload_list_adl_namespace):
15474         Likewise.
15475         * darwin-nat-info.c (info_mach_region_command): Likewise.
15476         * dwarf2loc.c (entry_data_value_coerce_ref)
15477         (value_of_dwarf_reg_entry): Likewise.
15478         * eval.c (ptrmath_type_p, evaluate_subexp_standard)
15479         (evaluate_subexp_for_address, evaluate_subexp_for_sizeof):
15480         Likewise.
15481         * findvar.c (extract_typed_address, store_typed_address):
15482         Likewise.
15483         * gdbtypes.c (rank_one_type): Likewise.
15484         * hppa-tdep.c (hppa64_integral_or_pointer_p): Likewise.
15485         * infcall.c (value_arg_coerce): Likewise.
15486         * language.c (pointer_type): Likewise.
15487         * m32c-tdep.c (m32c_reg_arg_type, m32c_m16c_address_to_pointer):
15488         Likewise.
15489         * m88k-tdep.c (m88k_integral_or_pointer_p): Likewise.
15490         * mn10300-tdep.c (mn10300_type_align): Likewise.
15491         * msp430-tdep.c (msp430_push_dummy_call): Likewise.
15492         * ppc-sysv-tdep.c (do_ppc_sysv_return_value)
15493         (ppc64_sysv_abi_push_param, ppc64_sysv_abi_return_value):
15494         Likewise.
15495         * printcmd.c (print_formatted, x_command): Likewise.
15496         * python/py-type.c (typy_get_composite, typy_template_argument):
15497         Likewise.
15498         * python/py-value.c (valpy_referenced_value)
15499         (valpy_get_dynamic_type, value_has_field): Likewise.
15500         * s390-linux-tdep.c (s390_function_arg_integer): Likewise.
15501         * sparc-tdep.c (sparc_integral_or_pointer_p): Likewise.
15502         * sparc64-tdep.c (sparc64_integral_or_pointer_p): Likewise.
15503         * spu-tdep.c (spu_scalar_value_p): Likewise.
15504         * symtab.c (lookup_symbol_aux): Likewise.
15505         * typeprint.c (whatis_exp, print_type_scalar): Likewise.
15506         * valarith.c (binop_types_user_defined_p, unop_user_defined_p):
15507         Likewise.
15508         * valops.c (value_cast_pointers, value_cast)
15509         (value_reinterpret_cast, value_dynamic_cast, value_addr, typecmp)
15510         (value_struct_elt, value_struct_elt_bitpos)
15511         (value_find_oload_method_list, find_overload_match)
15512         (value_rtti_indirect_type): Likewise.
15513         * valprint.c (val_print_scalar_type_p, generic_val_print):
15514         Likewise.
15515         * value.c (value_actual_type, value_as_address, unpack_long)
15516         (pack_long, pack_unsigned_long, coerce_ref_if_computed)
15517         (coerce_ref): Likewise.
15518         * varobj.c (varobj_get_value_type): Likewise.
15519
15520 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15521
15522         PR gdb/14441
15523         * doc/python.texi (Types in Python): Add TYPE_CODE_RVALUE_REF to
15524         table of constants.
15525         * python/lib/gdb/command/explore.py: Support exploring values
15526         of rvalue reference types.
15527         * python/lib/gdb/types.py: Implement get_basic_type() for
15528         rvalue reference types.
15529         * python/py-type.c (pyty_codes) <TYPE_CODE_RVALUE_REF>: New
15530         constant.
15531         * python/py-value.c (valpy_getitem): Add an rvalue reference
15532         check.
15533         (valpy_reference_value): Add new parameter "refcode".
15534         (valpy_lvalue_reference_value, valpy_rvalue_reference_value):
15535         New wrappers for valpy_reference_value().
15536         * python/py-xmethods.c (gdbpy_get_xmethod_result_type)
15537         (gdbpy_invoke_xmethod): Likewise.
15538
15539 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15540
15541         PR gdb/14441
15542         * dwarf2read.c (process_die, read_type_die_1): Handle the
15543         DW_TAG_rvalue_reference_type DIE.
15544         (read_tag_reference_type): Add new parameter "refcode".
15545
15546 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15547
15548         PR gdb/14441
15549         * c-typeprint.c (c_print_type, c_type_print_varspec_prefix)
15550         (c_type_print_modifier, c_type_print_varspec_suffix)
15551         (c_type_print_base): Support printing rvalue reference types.
15552         * c-valprint.c (c_val_print, c_value_print): Support printing
15553         rvalue reference values.
15554
15555 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15556
15557         PR gdb/14441
15558         * cp-name-parser.y (ptr_operator): Handle the '&&' token in
15559         typename.
15560         * cp-support.c (replace_typedefs): Handle
15561         DEMANGLE_COMPONENT_RVALUE_REFERENCE.
15562         * python/py-type.c (typy_lookup_type): Likewise.
15563
15564 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15565
15566         PR gdb/14441
15567         * c-exp.y (ptr_operator): Handle the '&&' token in the typename.
15568         * parse.c (insert_type): Change assert statement.
15569         (follow_types): Handle rvalue reference types.
15570         * parser-defs.h (enum type_pieces) <tp_rvalue_reference>: New
15571         constant.
15572
15573 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15574
15575         PR gdb/14441
15576         * ada-lang.c (ada_evaluate_subexp): Adhere to the new
15577         value_ref() interface.
15578         * c-valprint.c (c_value_print): Likewise.
15579         * infcall.c (value_arg_coerce): Likewise.
15580         * python/py-value.c (valpy_reference_value): Likewise.
15581         * valops.c (value_cast, value_reinterpret_cast)
15582         (value_dynamic_cast, typecmp): Likewise.
15583         (value_ref): Parameterize by kind of return value reference type.
15584         * value.h (value_ref): Add new parameter "refcode".
15585
15586 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15587
15588         PR gdb/14441
15589         * dwarf2read.c (read_tag_reference_type): Use
15590         lookup_lvalue_reference_type() instead of lookup_reference_type().
15591         * eval.c (evaluate_subexp_standard): Likewise.
15592         * f-exp.y: Likewise.
15593         * gdbtypes.c (make_reference_type, lookup_reference_type):
15594         Generalize with rvalue reference types.
15595         (lookup_lvalue_reference_type, lookup_rvalue_reference_type): New
15596         convenience wrappers for lookup_reference_type().
15597         * gdbtypes.h (make_reference_type, lookup_reference_type): Add a
15598         reference kind parameter.
15599         (lookup_lvalue_reference_type, lookup_rvalue_reference_type): Add
15600         wrappers for lookup_reference_type().
15601         * guile/scm-type.c (gdbscm_type_reference): Use
15602         lookup_lvalue_reference_type() instead of lookup_reference_type().
15603         * guile/scm-value.c (gdbscm_value_dynamic_type): Likewise.
15604         * parse.c (follow_types): Likewise.
15605         * python/py-type.c (typy_reference, typy_lookup_type): Likewise.
15606         * python/py-value.c (valpy_get_dynamic_type, valpy_getitem):
15607         Likewise.
15608         * python/py-xmethods.c (gdbpy_get_xmethod_result_type)
15609         (gdbpy_invoke_xmethod): Likewise.
15610         * stabsread.c: Provide extra argument to make_reference_type()
15611         call.
15612         * valops.c (value_ref, value_rtti_indirect_type): Use
15613         lookup_lvalue_reference_type() instead of lookup_reference_type().
15614
15615 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15616
15617         PR gdb/14441
15618         * gdbtypes.h (enum type_code) <TYPE_CODE_RVALUE_REF>: New constant.
15619         (TYPE_IS_REFERENCE): New macro.
15620         (struct type): Add rvalue_reference_type field.
15621         (TYPE_RVALUE_REFERENCE_TYPE): New macro.
15622
15623 2017-03-20  Marc-Andre Laperle  <marc-andre.laperle@ericsson.com>
15624
15625         * NEWS: Add an entry about new '-file-list-shared-libraries' command.
15626         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries):
15627         New function definition.
15628         * mi/mi-cmds.c (mi_cmds): Add -file-list-shared-libraries command.
15629         * mi/mi-cmds.h (mi_cmd_file_list_shared_libraries):
15630         New function declaration.
15631         * mi/mi-interp.c (mi_output_solib_attribs): New Function.
15632         * mi/mi-interp.h: New file.
15633         * solib.c (info_sharedlibrary_command): Replace for loop with
15634         ALL_SO_LIBS macro
15635         * solib.h (update_solib_list): New function declaration.
15636         (so_list_head): Move macro.
15637         * solist.h (ALL_SO_LIBS): New macro.
15638
15639 2017-03-20  Marc-Andre Laperle  <marc-andre.laperle@ericsson.com>
15640
15641         * infcmd.c (post_create_inferior): Remove unused argument in
15642         call to solib_add.
15643         * remote.c (remote_start_remote): Likewise.
15644         * solib-frv.c (frv_fetch_objfile_link_map): Likewise.
15645         * solib-svr4.c: (svr4_fetch_objfile_link_map): Likewise.
15646         (enable_break): Likewise.
15647         * solib.c (update_solib_list): Remove unused target argument
15648         and its documentation.
15649         (solib_add): Remove unused target argument.  Remove unused
15650         argument in call to update_solib_list.
15651         (info_sharedlibrary_command): Remove unused argument in call
15652         to update_solib_list.
15653         (sharedlibrary_command): Remove unused argument in call to
15654         solib_add.
15655         (handle_solib_event): Likewise.
15656         (reload_shared_libraries): Likewise.
15657         * solib.h (solib_add): Remove unused target argument.
15658
15659 2017-03-20  Andreas Arnez  <arnez@linux.vnet.ibm.com>
15660
15661         * s390-linux-tdep.c (is_rsi, is_rie): Remove functions.
15662         (s390_displaced_step_fixup): Cover relative branches with the
15663         default fixup handling.  This fixes lack of support for some
15664         relative branch instructions.
15665
15666 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15667
15668         * i386-gnu-nat.c (gnu_fetch_registers, gnu_store_registers): Use
15669         ptid from regcache.
15670
15671 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15672
15673         * i386-darwin-nat.c (i386_darwin_fetch_inferior_registers,
15674         i386_darwin_store_inferior_registers): Use ptid from regcache.
15675
15676 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15677
15678         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers,
15679         i386bsd_store_inferior_registers): Use ptid from regcache.
15680
15681 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15682
15683         * hppa-obsd-nat.c (hppaobsd_fetch_registers,
15684         hppaobsd_store_registers): Use ptid from regcache.
15685
15686 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15687
15688         * hppa-nbsd-nat.c (hppanbsd_fetch_registers,
15689         hppanbsd_store_registers): Use ptid from regcache.
15690
15691 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15692
15693         * hppa-linux-nat.c (fetch_register, store_register): Use ptid
15694         from regcache.  Use get_ptrace_pid.
15695
15696 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15697
15698         * corelow.c (get_core_register_section): Use ptid from regcache,
15699         update doc.
15700
15701 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15702
15703         * bsd-uthread.c (bsd_uthread_fetch_registers,
15704         bsd_uthread_store_registers): Use ptid from regcache, set and
15705         restore inferior_ptid.
15706
15707 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15708
15709         * arm-nbsd-nat.c (fetch_register, fetch_regs, fetch_fp_register,
15710         fetch_fp_regs, store_register, store_regs, store_fp_register,
15711         store_fp_regs): Use ptid from regcache.
15712
15713 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
15714
15715         * arm-linux-nat.c (fetch_fpregs, store_fpregs, fetch_regs,
15716         store_regs, fetch_wmmx_regs, store_wmmx_regs, fetch_vfp_regs,
15717         store_vfp_regs): Use ptid from regcache.
15718
15719 2017-03-17  Pedro Alves  <palves@redhat.com>
15720
15721         PR remote/21188
15722         * ser-base.c (ser_base_wait_for): Add comment.
15723         (do_ser_base_readchar): Improve comment based on the ser-unix.c's
15724         version.
15725         * ser-unix.c (hardwire_raw): Remove reference to
15726         scb->current_timeout.
15727         (wait_for, do_hardwire_readchar, hardwire_readchar): Delete.
15728         (hardwire_ops): Install ser_base_readchar instead of
15729         hardwire_readchar.
15730         * serial.h (struct serial) <current_timeout, timeout_remaining>:
15731         Remove fields.
15732
15733 2017-03-17  Jonah Graham  <jonah@kichwacoders.com>
15734
15735         PR gdb/19637
15736         * python/lib/gdb/printer/bound_registers.py: Add support for
15737         Python 3.
15738
15739 2017-03-16  Andreas Arnez  <arnez@linux.vnet.ibm.com>
15740
15741         * dwarf2loc.c (indirect_synthetic_pointer): Get data type of
15742         pointed-to DIE and pass it to dwarf2_evaluate_loc_desc_full.
15743         (dwarf2_evaluate_loc_desc_full): New parameter subobj_type; rename
15744         byte_offset to subobj_byte_offset.  Fix the handling of
15745         DWARF_VALUE_STACK on big-endian targets when coming via an
15746         implicit pointer.
15747         (dwarf2_evaluate_loc_desc): Adjust call to
15748         dwarf2_evaluate_loc_desc_full.
15749         * dwarf2loc.h (dwarf2_fetch_die_type_sect_off): New declaration.
15750         * dwarf2read.c (dwarf2_fetch_die_type_sect_off): New function.
15751
15752 2017-03-16  Yao Qi  <yao.qi@linaro.org>
15753
15754         * arm-tdep.c (thumb_record_misc): Decode CBNZ, CBZ, REV16,
15755         and REVSH instructions.
15756
15757 2017-03-16  Yao Qi  <yao.qi@linaro.org>
15758
15759         * arm-tdep.c [GDB_SELF_TEST]: include "selftests.h".
15760         (arm_record_test): Declare.
15761         (_initialize_arm_tdep) [GDB_SELF_TEST]: call register_self_test.
15762         (thumb_record_ld_st_reg_offset): Rewrite the opcode matching to
15763         align with the manual.
15764         (thumb_record_misc): Adjust the code order to align with the
15765         manual.
15766         (thumb2_record_decode_insn_handler): Fix instruction matching.
15767         (instruction_reader_thumb): New class.
15768         (arm_record_test): New function.
15769
15770 2017-03-16  Yao Qi  <yao.qi@linaro.org>
15771
15772         * arm-tdep.c (abstract_memory_reader): New class.
15773         (instruction_reader): New class.
15774         (extract_arm_insn): Add argument 'reader'.  Callers updated.
15775         (decode_insn): Likewise.
15776
15777 2017-03-16  Doug Evans  <dje@google.com>
15778
15779         * guile/scm-lazy-string.c (lazy_string_smob): Clarify use of LENGTH
15780         member.  Change type of TYPE member to SCM.  All uses updated.
15781         (lsscm_make_lazy_string_smob): Add assert.
15782         (lsscm_make_lazy_string): Flag bad length values.
15783         (lsscm_elt_type): New function.
15784         (gdbscm_lazy_string_to_value): Rewrite to use
15785         lsscm_safe_lazy_string_to_value.
15786         (lsscm_safe_lazy_string_to_value): Fix handling of TYPE_CODE_PTR.
15787         * guile/scm-value.c (gdbscm_value_to_lazy_string): Flag bad length
15788         values.  Fix TYPE_CODE_PTR.  Handle TYPE_CODE_ARRAY.  Handle typedefs
15789         in incoming type.
15790         * guile/guile-internal.h (tyscm_scm_to_type): Declare.
15791         * guile/scm-type.c (tyscm_scm_to_type): New function.
15792
15793 2017-03-15  Doug Evans  <dje@google.com>
15794
15795         PR python/17728, python/18439, python/18779
15796         * python/py-lazy-string.c (lazy_string_object): Clarify use of LENGTH
15797         member.  Change type of TYPE member to PyObject *.  All uses updated.
15798         (stpy_convert_to_value): Fix handling of TYPE_CODE_PTR.
15799         (gdbpy_create_lazy_string_object): Flag bad length values.
15800         Handle TYPE_CODE_ARRAY with possibly different user-provided length.
15801         Handle typedefs in incoming type.
15802         (stpy_lazy_string_elt_type): New function.
15803         (gdbpy_extract_lazy_string): Call it.
15804         * python/py-value.c (valpy_lazy_string): Flag bad length values.
15805         Fix handling of TYPE_CODE_PTR.  Handle TYPE_CODE_ARRAY.  Handle
15806         typedefs in incoming type.
15807
15808 2017-03-16  Doug Evans  <dje@google.com>
15809
15810         * guile/guile-internal.h (tyscm_scm_to_type): Declare.
15811         * guile/scm-type.c (tyscm_scm_to_type): New function.
15812
15813 2017-03-16  Jiong Wang  <jiong.wang@arm.com>
15814
15815         * inf-ptrace.c (inf_ptrace_peek_poke): Change the type to
15816         "ULONGEST" for "skip".
15817
15818 2017-03-14  Andreas Arnez  <arnez@linux.vnet.ibm.com>
15819
15820         PR gdb/21220
15821         * inf-ptrace.c (inf_ptrace_xfer_partial): In "case
15822         TARGET_OBJECT_MEMORY", extract the logic for ptrace peek/poke...
15823         (inf_ptrace_peek_poke): ...here.  New function.  Now also loop
15824         over ptrace peek/poke until end of buffer or error.
15825
15826 2017-03-14  Simon Marchi  <simon.marchi@ericsson.com>
15827
15828         * parse.c (length_of_subexp): Make static.
15829         * parser-defs.h (length_of_subexp): Remove.
15830
15831 2017-03-14  Andreas Arnez  <arnez@linux.vnet.ibm.com>
15832
15833         * linux-nat.c (linux_proc_xfer_partial): Handle write operations
15834         as well.
15835
15836 2017-03-14  Pedro Alves  <palves@redhat.com>
15837
15838         * cp-name-parser.y (cp_demangled_name_to_comp): Update comment.
15839         (main): Use std::unique_ptr.  Remove calls to
15840         cp_demangled_name_parse_free.
15841
15842 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15843
15844         * alpha-bsd-nat.c (alphabsd_fetch_inferior_registers,
15845         alphabsd_store_inferior_registers): Use regcache->ptid instead
15846         of inferior_ptid.
15847
15848 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15849
15850         * aix-thread.c (aix_thread_fetch_registers,
15851         aix_thread_store_registers): Use regcache->ptid instead of
15852         inferior_ptid.
15853
15854 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15855
15856         * aarch64-linux-nat.c (fetch_gregs_from_thread,
15857         store_gregs_to_thread, fetch_fpregs_from_thread,
15858         store_fpregs_to_thread): Use regcache->ptid instead of
15859         inferior_ptid.
15860
15861 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15862
15863         * amd64-linux-nat.c (amd64_linux_fetch_inferior_registers,
15864         amd64_linux_fetch_inferior_registers): Use regcache->ptid
15865         instead of inferior_ptid.
15866
15867 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15868
15869         * target.c (target_fetch_registers, target_store_registers): Add
15870         assert.
15871
15872 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
15873
15874         * regcache.h (regcache_get_ptid): New function.
15875         * regcache.c (regcache_get_ptid): New function.
15876
15877 2017-03-13  Mark Wielaard  <mark@klomp.org>
15878
15879         * cp-name-parser.y (make_empty): Initialize d_printing to zero.
15880
15881 2017-03-10  Keith Seitz  <keiths@redhat.com>
15882
15883         PR c++/8218
15884         * c-typeprint.c (cp_type_print_method_args): Skip artificial arguments.
15885
15886 2017-03-08  Pedro Alves  <palves@redhat.com>
15887
15888         PR gdb/18360
15889         * infrun.c (start_step_over, do_target_resume, resume)
15890         (restart_threads): Assert we're not resuming a thread that is
15891         meant to be stopped.
15892         (infrun_thread_stop_requested_callback): Delete.
15893         (infrun_thread_stop_requested): If the thread is internally
15894         stopped, queue a pending stop event and clear the thread's
15895         inline-frame state.
15896         (handle_stop_requested): New function.
15897         (handle_syscall_event, handle_inferior_event_1): Use
15898         handle_stop_requested.
15899         (handle_stop_requested): New function.
15900         (handle_signal_stop): Set the thread's stop_signal here instead of
15901         at caller.
15902         (finish_step_over): Clear step over info unconditionally.
15903         (handle_signal_stop): If the user had interrupted the event
15904         thread, consider the stop a random signal.
15905         (handle_signal_stop) <signal arrived while stepping over
15906         breakpoint>: Don't restart threads here.
15907         (stop_waiting): Don't clear step-over info here.
15908
15909 2017-03-08  Pedro Alves  <palves@redhat.com>
15910
15911         PR 21206
15912         * common/gdb_unlinker.h (unlinker::unlinker): Attribute nonnull
15913         goes to argument 2, not 1.
15914
15915 2017-03-08  Pedro Alves  <palves@redhat.com>
15916
15917         PR cli/21218
15918         * top.c (gdb_readline_wrapper): Avoid passing NULL to
15919         display_gdb_prompt.
15920         (command_line_input): Add comment.
15921
15922 2017-03-08  Pedro Alves  <palves@redhat.com>
15923
15924         PR tui/21216
15925         * tui/tui-file.c (tui_file::write): New.
15926         * tui/tui-file.h (tui_file): Override "write".
15927         * tui/tui-io.c (do_tui_putc, update_start_line): New functions,
15928         factored out from ...
15929         (tui_puts): ... here.
15930         (tui_putc): Use them.
15931         (tui_write): New function.
15932         * tui/tui-io.h (tui_write): Declare.
15933
15934 2017-03-07  Sergio Durigan Junior  <sergiodj@redhat.com>
15935
15936         * Makefile.in (SFILES): Replace "environ.c" with
15937         "common/environ.c".
15938         (HFILES_NO_SRCDIR): Likewise, for "environ.h".
15939         * environ.c: Include "common-defs.h" instead of "defs.h.  Moved
15940         to...
15941         * common/environ.c: ... here.
15942         * environ.h: Moved to...
15943         * common/environ.h: ... here.
15944
15945 2017-03-07  Peter Bergner  <bergner@vnet.ibm.com>
15946
15947         * gdbarch.sh (pstring_ptr): New static function.
15948         (gdbarch_disassembler_options): Use it.
15949         (gdbarch_verify_disassembler_options): Print valid_disassembler_options,
15950         not valid_disassembler_option->name.
15951         * gdbarch.c: Regenerate.
15952
15953 2017-03-07  Peter Bergner  <bergner@vnet.ibm.com>
15954
15955         * config/powerpc/ppc64-linux.mh (MH_CFLAGS): Delete.
15956
15957 2017-03-07  Pedro Alves  <palves@redhat.com>
15958
15959         * tui/tui-regs.c (tui_restore_gdbout): Don't delete gdb_stdout.
15960
15961 2017-03-07  Walfred Tedeschi  <walfred.tedeschi@intel.com>
15962
15963         * i387-tdep.h (i387_reset_bnd_regs): Add function definition.
15964         * i387-tdep.c (i387_reset_bnd_regs): Add function implementation.
15965         * i386-tdep.c (i386_push_dummy_call): Call i387_reset_bnd_regs.
15966         * amd64-tdep.c (amd64_push_dummy_call): Call i387_reset_bnd_regs.
15967
15968 2017-03-06  Simon Marchi  <simon.marchi@ericsson.com>
15969
15970         * xtensa-linux-nat.c (fetch_gregs): Remove const.
15971
15972 2017-03-03  Simon Marchi  <simon.marchi@ericsson.com>
15973
15974         * remote.c (remote_add_target_side_commands): Use range-based
15975         for loop.
15976
15977 2017-03-03  Yao Qi  <yao.qi@linaro.org>
15978
15979         PR gdb/21165
15980         * ada-valprint.c (ada_val_print_ref): Call value_fetch_lazy if
15981         value is lazy.
15982         * valprint.c (common_val_print): Likewise.
15983
15984 2017-02-28  Peter Bergner  <bergner@vnet.ibm.com>
15985
15986         * NEWS: Mention new set/show disassembler-options commands.
15987         * doc/gdb.texinfo: Document new set/show disassembler-options commands.
15988         * disasm.c: Include "arch-utils.h", "gdbcmd.h" and "safe-ctype.h".
15989         (prospective_options): New static variable.
15990         (gdb_disassembler::gdb_disassembler): Initialize
15991         m_di.disassembler_options.
15992         (gdb_buffered_insn_length_init_dis): Initilize di->disassembler_options.
15993         (get_disassembler_options): New function.
15994         (set_disassembler_options): Likewise.
15995         (set_disassembler_options_sfunc): Likewise.
15996         (show_disassembler_options_sfunc): Likewise.
15997         (disassembler_options_completer): Likewise.
15998         (_initialize_disasm): Likewise.
15999         * disasm.h (get_disassembler_options): New prototype.
16000         (set_disassembler_options): Likewise.
16001         * gdbarch.sh (gdbarch_disassembler_options): New variable.
16002         (gdbarch_verify_disassembler_options): Likewise.
16003         * gdbarch.c: Regenerate.
16004         * gdbarch.h: Likewise.
16005         * arm-tdep.c (num_disassembly_options): Delete.
16006         (set_disassembly_style): Likewise.
16007         (arm_disassembler_options): New static variable.
16008         (set_disassembly_style_sfunc): Convert short style name into long
16009         option name.  Call set_disassembler_options.
16010         (show_disassembly_style_sfunc): New function.
16011         (arm_gdbarch_init): Call set_gdbarch_disassembler_options and
16012         set_gdbarch_verify_disassembler_options.
16013         (_initialize_arm_tdep): Delete regnames variable and update callers.
16014         (arm_disassembler_options): Initialize.
16015         (disasm_options): New variable.
16016         (num_disassembly_options): Rename from this...
16017         (num_disassembly_styles): ...to this.  Compute by scanning through
16018         disasm_options.
16019         (valid_disassembly_styles): Initialize using disasm_options.
16020         Remove calls to parse_arm_disassembler_option, get_arm_regnames and
16021         set_arm_regname_option.
16022         Pass show_disassembly_style_sfunc to the "disassembler" setshow command.
16023         * rs6000-tdep.c (powerpc_disassembler_options): New static variable.
16024         (rs6000_gdbarch_init): Call set_gdbarch_disassembler_options and
16025         set_gdbarch_verify_disassembler_options.
16026         * s390-tdep.c (s390_disassembler_options): New static variable.
16027         (s390_gdbarch_init):all set_gdbarch_disassembler_options and
16028         set_gdbarch_verify_disassembler_options.
16029
16030 2017-02-27  Simon Marchi  <simon.marchi@ericsson.com>
16031
16032         * remote.c (remote_add_target_side_condition): Remove "struct"
16033         keyword from range-based for loop.
16034
16035 2017-02-27  Simon Marchi  <simon.marchi@ericsson.com>
16036
16037         * remote.c (remote_add_target_side_condition): Use range-based
16038         for loop.  Update comment.
16039
16040 2017-02-27  Yao Qi  <yao.qi@linaro.org>
16041
16042         * f-typeprint.c (f_print_type): Check "varstring" is empty first.
16043
16044 2017-02-26  Alan Hayward  <alan.hayward@arm.com>
16045
16046         * regcache.c (regcache_raw_update): New function.
16047         (regcache_raw_read): Move code to regcache_raw_update.
16048         * regcache.h (regcache_raw_update): New declaration.
16049         * remote.c (remote_prepare_to_store): Call regcache_raw_update.
16050
16051 2017-02-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
16052
16053         * dwarf2read.c (create_debug_type_hash_table): Initialize
16054         header.signature and header.type_offset_in_tu.
16055
16056 2017-02-24  Pedro Alves  <palves@redhat.com>
16057
16058         * symtab.c (make_file_symbol_completion_list_1): Use
16059         add_symtab_completions.
16060
16061 2017-02-24  Alan Hayward  <alan.hayward@arm.com>
16062
16063         * stack.c (frame_info): Use frame_unwind_register_value to avoid buf.
16064
16065 2017-02-24  Alan Hayward  <alan.hayward@arm.com>
16066
16067         * i386-tdep.c (i386_pseudo_register_read_into_value): Use
16068         I386_MAX_REGISTER_SIZE.
16069         (i386_pseudo_register_write): Likewise.
16070         (i386_process_record): Likewise.
16071         * i387-tdep.c (i387_supply_xsave): Likewise.
16072         * m68k-linux-nat.c (fetch_register): Use M68K_MAX_REGISTER_SIZE.
16073         (store_register): Likewise.
16074
16075 2017-02-23  Pedro Alves  <palves@redhat.com>
16076
16077         * ada-lang.c: Include "common/function-view.h".
16078         (ada_iterate_over_symbols): Adjust to use function_view as
16079         callback type.
16080         (struct add_partial_datum, ada_complete_symbol_matcher): Delete.
16081         (ada_make_symbol_completion_list): Use a lambda.
16082         (ada_exc_search_name_matches): Delete.
16083         (name_matches_regex): New.
16084         (ada_add_global_exceptions): Use a lambda and name_matches_regex.
16085         * compile/compile-c-support.c: Include "common/function-view.h".
16086         (print_one_macro): Change prototype to accept a ui_file pointer.
16087         (write_macro_definitions): Use a lambda.
16088         * dwarf2read.c: Include "common/function-view.h".
16089         (dw2_map_expand_apply, dw2_map_symtabs_matching_filename)
16090         (dw2_expand_symtabs_matching): Adjust to use function_view as
16091         callback type.
16092         * language.h: Include "common/function-view.h".
16093         (struct language_defn) <la_iterate_over_symbols>: Adjust to use
16094         function_view as callback type.
16095         (LA_ITERATE_OVER_SYMBOLS): Remove DATA parameter.
16096         * linespec.c: Include "common/function-view.h".
16097         (collect_info::add_symbol): New method.
16098         (struct symbol_and_data_callback, iterate_inline_only, struct
16099         symbol_matcher_data, iterate_name_matcher): Delete.
16100         (iterate_over_all_matching_symtabs): Adjust to use function_view
16101         as callback type and lambdas.
16102         (iterate_over_file_blocks): Adjust to use function_view as
16103         callback type.
16104         (decode_compound_collector): Now a class with private fields.
16105         (decode_compound_collector::release_symbols): New method.
16106         (collect_one_symbol): Rename to...
16107         (decode_compound_collector::operator()): ... this and adjust.
16108         (lookup_prefix_sym): decode_compound_collector construction bits
16109         move to decode_compound_collector ctor.  Pass the
16110         decode_compound_collector object directly as callback.  Remove
16111         cleanups and use decode_compound_collector::release_symbols
16112         instead.
16113         (symtab_collector): Now a class with private fields.
16114         (symtab_collector::release_symtabs): New method.
16115         (add_symtabs_to_list): Rename to...
16116         (symtab_collector::operator()): ... this and adjust.
16117         (collect_symtabs_from_filename): symtab_collector construction
16118         bits move to symtab_collector ctor.  Pass the symtab_collector
16119         object directly as callback.  Remove cleanups and use
16120         symtab_collector::release_symtabs instead.
16121         (collect_symbols): Delete.
16122         (add_matching_symbols_to_info): Use lambdas.
16123         * macrocmd.c (print_macro_callback): Delete.
16124         (info_macro_command): Use a lambda.
16125         (info_macros_command): Pass print_macro_definition as callable
16126         directly.
16127         (print_one_macro): Remove 'ignore' parameter.
16128         (macro_list_command): Adjust.
16129         * macrotab.c (macro_for_each_data::fn): Now a function_view.
16130         (macro_for_each_data::user_data): Delete field.
16131         (foreach_macro): Adjust to call the function_view.
16132         (macro_for_each): Adjust to use function_view as callback type.
16133         (foreach_macro_in_scope): Adjust to call the function_view.
16134         (macro_for_each_in_scope): Adjust to use function_view as callback
16135         type.
16136         * macrotab.h: Include "common/function-view.h".
16137         (macro_callback_fn): Declare a prototype instead of a pointer.
16138         Remove "user_data" parameter.
16139         (macro_for_each, macro_for_each_in_scope): Adjust to use
16140         function_view as callback type.
16141         * psymtab.c (partial_map_expand_apply)
16142         (psym_map_symtabs_matching_filename, recursively_search_psymtabs):
16143         Adjust to use function_view as callback type and to return bool.
16144         (psym_expand_symtabs_matching): Adjust to use function_view as
16145         callback types.
16146         * symfile-debug.c (debug_qf_map_symtabs_matching_filename): Adjust
16147         to use function_view as callback type and to return bool.
16148         (debug_qf_expand_symtabs_matching): Adjust to use function_view as
16149         callback types.
16150         * symfile.c (expand_symtabs_matching): Adjust to use function_view
16151         as callback types.
16152         * symfile.h: Include "common/function-view.h".
16153         (expand_symtabs_file_matcher_ftype)
16154         (expand_symtabs_symbol_matcher_ftype)
16155         (expand_symtabs_exp_notify_ftype): Remove "data" parameter and
16156         return bool.
16157         (quick_symbol_functions::map_symtabs_matching_filename)
16158         (quick_symbol_functions::expand_symtabs_matching): Adjust to use
16159         function_view as callback type and return bool.
16160         (expand_symtabs_matching): Adjust to use function_view as callback
16161         type.
16162         (maintenance_expand_name_matcher)
16163         (maintenance_expand_file_matcher): Delete.
16164         (maintenance_expand_symtabs): Use lambdas.
16165         * symtab.c (iterate_over_some_symtabs): Adjust to use
16166         function_view as callback types and return bool.
16167         (iterate_over_symtabs): Likewise.  Use unique_xmalloc_ptr instead
16168         of a cleanup.
16169         (lookup_symtab_callback): Delete.
16170         (lookup_symtab): Use a lambda.
16171         (iterate_over_symbols): Adjust to use function_view as callback
16172         type.
16173         (struct search_symbols_data, search_symbols_file_matches)
16174         (search_symbols_name_matches): Delete.
16175         (search_symbols): Use a pair of lambdas.
16176         (struct add_name_data, add_macro_name, symbol_completion_matcher)
16177         (symtab_expansion_callback): Delete.
16178         (default_make_symbol_completion_list_break_on_1): Use lambdas.
16179         * symtab.h: Include "common/function-view.h".
16180         (iterate_over_some_symtabs): Adjust to use function_view as
16181         callback type and return bool.
16182         (iterate_over_symtabs): Adjust to use function_view as callback
16183         type.
16184         (symbol_found_callback_ftype): Remove 'data' parameter and return
16185         bool.
16186         (iterate_over_symbols): Adjust to use function_view as callback
16187         type.
16188
16189 2017-02-23  Pedro Alves  <palves@redhat.com>
16190
16191         * Makefile.in (SUBDIR_UNITTESTS_SRCS, SUBDIR_UNITTESTS_OBS): New.
16192         (%.o) <unittests/%.c>: New pattern.
16193         * configure.ac ($development): Add $(SUBDIR_UNITTESTS_OBS) to
16194         CONFIG_OBS, and $(SUBDIR_UNITTESTS_SRCS) to CONFIG_SRCS.
16195         * common/function-view.h: New file.
16196         * unittests/function-view-selftests.c: New file.
16197         * configure: Regenerate.
16198
16199 2017-02-23  Simon Marchi  <simon.marchi@ericsson.com>
16200
16201         * bsd-uthread.c (bsd_uthread_thread_alive): Use ptid instead of
16202         inferior_ptid.
16203         * go32-nat.c (go32_thread_alive): Likewise.
16204
16205 2017-02-23  Yao Qi  <yao.qi@linaro.org>
16206
16207         * varobj-iter.h (varobj_iter_delete): Call xfree instead of
16208         delete.
16209
16210 2017-02-23  Yao Qi  <yao.qi@linaro.org>
16211
16212         * varobj.c (varobj_clear_saved_item): Use delete instead of
16213         xfree.
16214         (update_dynamic_varobj_children): Likewise.
16215
16216 2017-02-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
16217
16218         * dwarf2read.c (dwarf2_record_block_ranges): Add forgotten BASEADDR.
16219
16220 2017-02-21  Simon Marchi  <simon.marchi@ericsson.com>
16221
16222         * common/enum-flags.h (enum_flags::enum_flags): Initialize
16223         m_enum_value to 0 in default constructor.
16224
16225 2017-02-21  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
16226
16227         * rs6000-tdep.c (LOAD_AND_RESERVE_MASK): Rename from LWARX_MASK.
16228         (STORE_CONDITIONAL_MASK): Rename from STWCX_MASK.
16229         (LBARX_INSTRUCTION, LHARX_INSTRUCTION, LQARX_INSTRUCTION,
16230         STBCX_INSTRUCTION, STHCX_INSTRUCTION, STQCX_INSTRUCTION): New defines.
16231         (IS_LOAD_AND_RESERVE_INSN, IS_STORE_CONDITIONAL_INSN): New macros.
16232         (ppc_displaced_step_copy_insn): Use IS_LOAD_AND_RESERVE_INSN.
16233         (ppc_deal_with_atomic_sequence): Use IS_LOAD_AND_RESERVE_INSN and
16234         IS_STORE_CONDITIONAL_INSN.
16235
16236 2017-02-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
16237
16238         * dwarf2_rnglists_process: Initialize range_beginning and range_end.
16239
16240 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16241
16242         * NEWS (Changes since GDB 7.12): Add DWARF-5.
16243
16244 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16245
16246         * dwarf2read.c (skip_one_die, read_attribute_value)
16247         (dwarf2_const_value_attr, dump_die_shallow)
16248         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
16249         (skip_form_bytes, attr_form_is_constant): Handle DW_FORM_data16.
16250
16251 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16252
16253         * dwarf2read.c (read_file_scope): Rename DW_MACRO_GNU_*.
16254         (dwarf_parse_macro_header): Accept DWARF version 5.
16255         (dwarf_decode_macro_bytes, dwarf_decode_macros): Rename DW_MACRO_GNU_*.
16256
16257 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16258
16259         * block.c (call_site_for_pc): Rename DW_OP_GNU_*, DW_TAG_GNU_* and
16260         DW_AT_GNU_*.
16261         * common/common-exceptions.h (enum errors): Likewise.
16262         * dwarf2-frame.c (class dwarf_expr_executor): Likewise.
16263         * dwarf2expr.c (dwarf_block_to_dwarf_reg)
16264         (dwarf_expr_context::execute_stack_op): Likewise.
16265         * dwarf2expr.h (struct dwarf_expr_context, struct dwarf_expr_piece):
16266         Likewise.
16267         * dwarf2loc.c (dwarf_evaluate_loc_desc::get_base_type)
16268         (dwarf_evaluate_loc_desc::push_dwarf_reg_entry_value)
16269         (show_entry_values_debug, call_site_to_target_addr)
16270         (func_addr_to_tail_call_list, func_verify_no_selftailcall)
16271         (dwarf_expr_reg_to_entry_parameter, dwarf_entry_parameter_to_value)
16272         (entry_data_value_free_closure, value_of_dwarf_reg_entry)
16273         (value_of_dwarf_block_entry, indirect_pieced_value)
16274         (symbol_needs_eval_context::push_dwarf_reg_entry_value):
16275         (disassemble_dwarf_expression): Likewise.
16276         * dwarf2read.c (process_die, inherit_abstract_dies)
16277         (read_call_site_scope): Likewise.
16278         * gdbtypes.h (struct func_type, struct call_site_parameter)
16279         (struct call_site): Likewise.
16280         * stack.c (read_frame_arg): Likewise.
16281         * std-operator.def (OP_VAR_ENTRY_VALUE): Likewise.
16282
16283 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16284
16285         * defs.h (read_unsigned_leb128): New declaration.
16286         * dwarf2loc.c (decode_debug_loclists_addresses): New function.
16287         (decode_debug_loc_dwo_addresses): Update DEBUG_LOC_* to DW_LLE_*.
16288         (dwarf2_find_location_expression): Call also
16289         decode_debug_loclists_addresses.  Handle DWARF-5 ULEB128 length.
16290         * dwarf2loc.h (dwarf2_version): New declaration.
16291         * dwarf2read.c (struct dwarf2_per_objfile): Add loclists, line_str,
16292         rnglists.
16293         (dwarf2_elf_names): Add .debug_loclists, .debug_line_str,
16294         .debug_rnglists.
16295         (struct dwop_section_names): Add loclists_dwo.
16296         (dwop_section_names): Add .debug_loclists.dwo.
16297         (struct comp_unit_head): Add unit_type, signature, type_offset_in_tu.
16298         (struct dwarf2_per_cu_data): Add dwarf_version.
16299         (struct dwo_sections): Add loclists.
16300         (struct attr_abbrev): Add implicit_const.
16301         (read_indirect_line_string): New declaration.
16302         (read_unsigned_leb128): Delete declaration.
16303         (rcuh_kind): New definition.
16304         (read_and_check_comp_unit_head): Change parameter
16305         is_debug_types_section to section_kind.
16306         (dwarf2_locate_sections): Handle loclists, line_str and rnglists.
16307         (read_comp_unit_head): Change parameter abfd to section, add parameter
16308         section_kind.  Handle DWARF-5.
16309         (error_check_comp_unit_head): Accept also DWARF version 5.
16310         (read_and_check_comp_unit_head): Change parameter
16311         is_debug_types_section to section_kind.
16312         (read_and_check_type_unit_head): Delete function.
16313         (read_abbrev_offset): Handle DWARF-5.
16314         (create_debug_type_hash_table): Add parameter section_kind.  Process
16315         only DW_UT_type.  Use signature and type_offset_in_tu from struct
16316         comp_unit_head.
16317         (create_debug_types_hash_table): Update create_debug_type_hash_table
16318         caller.
16319         (create_all_type_units): Call create_debug_type_hash_table.
16320         (read_cutu_die_from_dwo, init_cutu_and_read_dies): Change
16321         read_and_check_type_unit_head caller to read_and_check_comp_unit_head
16322         caller.
16323         (skip_one_die): Handle DW_FORM_implicit_const.
16324         (dwarf2_rnglists_process): New function.
16325         (dwarf2_ranges_process): Call dwarf2_rnglists_process for DWARF-5.
16326         (abbrev_table_read_table): Handle DW_FORM_implicit_const.
16327         (read_attribute_value): Handle DW_FORM_implicit_const,
16328         DW_FORM_line_strp.
16329         (read_attribute): Handle DW_FORM_implicit_const.
16330         (read_indirect_string_at_offset_from): New function from
16331         read_indirect_string_at_offset.
16332         (read_indirect_string_at_offset): Call
16333         read_indirect_string_at_offset_from.
16334         (read_indirect_line_string_at_offset): New function.
16335         (read_indirect_string): New function comment.
16336         (read_indirect_line_string): New function.
16337         (read_unsigned_leb128): Make it global.
16338         (dwarf2_string_attr): Handle DWARF-5.
16339         (add_include_dir_stub, read_formatted_entries): New functions.
16340         (dwarf_decode_line_header, dump_die_shallow, cu_debug_loc_section):
16341         Handle DWARF-5.
16342         (per_cu_header_read_in): Update read_comp_unit_head caller.
16343         (dwarf2_version): New function.
16344         * symfile.h (struct dwarf2_debug_sections): Add loclists, line_str and
16345         rnglists.
16346         * xcoffread.c (dwarf2_xcoff_names): Update struct dwarf2_debug_sections
16347         fields.
16348
16349 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16350
16351         * dwarf2read.c (abbrev_table_read_table): Read the data only once.
16352
16353 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16354
16355         * dwarf2read.c (dwarf2_ranges_process): New function from
16356         dwarf2_ranges_read.
16357         (dwarf2_ranges_read, dwarf2_record_block_ranges): Use
16358         dwarf2_ranges_process.
16359
16360 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16361
16362         * dwarf2read.c (create_debug_type_hash_table): New function from
16363         create_debug_types_hash_table.
16364         (create_debug_types_hash_table): Call create_debug_type_hash_table.
16365         (create_all_type_units, open_and_init_dwo_file): Update
16366         create_debug_types_hash_table callers.
16367
16368 2017-02-20  Sergio Durigan Junior  <sergiodj@redhat.com>
16369
16370         PR gdb/16188
16371         * fork-child.c (trace_start_error): Fix thinko.  va_end should
16372         refer to 'ap', not 'args'.
16373
16374 2017-02-20  Sergio Durigan Junior  <sergiodj@redhat.com>
16375             Pedro Alves  <palves@redhat.com>
16376
16377         PR gdb/16188
16378         * darwin-nat.c (darwin_ptrace_me): Check if calls to system
16379         calls succeeded.
16380         * fork-child.c (trace_start_error): New function.
16381         (trace_start_error_with_name): Likewise.
16382         * gnu-nat.c (gnu_ptrace_me): Check if call to PTRACE succeeded.
16383         * inf-ptrace.c (inf_ptrace_me): Likewise.
16384         * inferior.h (trace_start_error): New prototype.
16385         (trace_start_error_with_name): Likewise.
16386
16387 2017-02-15  Sergio Durigan Junior  <sergiodj@redhat.com>
16388
16389         PR gdb/21164
16390         * psymtab.c (maintenance_print_psymbols): Verify if 'argv' is not
16391         NULL before using it.
16392         * symmisc.c (maintenance_print_symbols): Likewise.
16393         (maintenance_print_msymbols): Likewise.
16394
16395 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16396
16397         * NEWS: Add record Python bindings entry.
16398
16399 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16400
16401         * Makefile.in (SUBDIR_PYTHON_OBS): Add py-record-btrace.o,
16402         py-record-full.o.
16403         (SUBDIR_PYTHON_SRCS): Add py-record-btrace.c, py-record-full.c.
16404         * python/py-record-btrace.c, python/py-record-btrace.h,
16405         python/py-record-full.c, python/py-record-full.h: New file.
16406         * python/py-record.c: Add include for py-record-btrace.h and
16407         py-record-full.h.
16408         (recpy_method, recpy_format, recpy_goto, recpy_replay_position,
16409         recpy_instruction_history, recpy_function_call_history, recpy_begin,
16410         recpy_end): Use functions from py-record-btrace.c and py-record-full.c.
16411         * python/python-internal.h (PyInt_FromSsize_t, PyInt_AsSsize_t):
16412         New definition.
16413         (gdbpy_initialize_btrace): New export.
16414         * python/python.c (_initialize_python): Add gdbpy_initialize_btrace.
16415
16416 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16417
16418         * Makefile.in (SUBDIR_PYTHON_OBS): Add python/py-record.o.
16419         (SUBDIR_PYTHON_SRCS): Add python/py-record.c.
16420         * python/py-record.c: New file.
16421         * python/python-internal.h (gdbpy_start_recording,
16422         gdbpy_current_recording, gdpy_stop_recording,
16423         gdbpy_initialize_record): New export.
16424         * python/python.c (_initialize_python): Add gdbpy_initialize_record.
16425         (python_GdbMethods): Add gdbpy_start_recording,
16426         gdbpy_current_recording and gdbpy_stop_recording.
16427
16428 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16429
16430         * record-btrace.c (record_btrace_record_method): New function.
16431         (init_record_btrace_ops): Initialize to_record_method.
16432         * record-full.c (record_full_record_method): New function.
16433         (init_record_full_ops, init_record_full_core_ops): Add
16434         record_full_record_method.
16435         * record.h (enum record_method): New enum.
16436         * target-debug.h (target_debug_print_enum_record_method: New define.
16437         * target-delegates.c: Regenerate.
16438         * target.c (target_record_method): New function.
16439         * target.h: Include record.h.
16440         (struct target_ops) <to_record_method>: New field.
16441         (target_record_method): New export.
16442
16443 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16444
16445         * record.h (record_start, record_stop): New export.
16446         * record.c (record_start, record_stop): New function.
16447
16448 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16449
16450         * btrace.c (btrace_fetch): Copy function call segments pointer
16451         into a vector.
16452         (btrace_clear): Clear the vector.
16453         (btrace_find_insn_by_number): Use binary search to find the correct
16454         function call segment.
16455         * btrace.h (brace_fun_p): New typedef.
16456         (struct btrace_thread_info) <functions>: New field.
16457
16458 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16459
16460         * record-btrace.c (btrace_ui_out_decode_error): Move most of it ...
16461         * btrace.c (btrace_decode_error): ... here.  New function.
16462         * btrace.h (btrace_decode_error): New export.
16463
16464 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16465
16466         * btrace.c (ftrace_call_num_insn, btrace_insn_get_error): New function.
16467         (ftrace_new_function, btrace_insn_number, btrace_insn_cmp,
16468         btrace_find_insn_by_number): Remove special case for gaps.
16469         * btrace.h (btrace_insn_get_error): New export.
16470         (btrace_insn_number, btrace_find_insn_by_number): Adjust comment.
16471         * record-btrace.c (btrace_insn_history): Print number for gaps.
16472         (record_btrace_info, record_btrace_goto): Handle gaps.
16473
16474 2017-02-14  Tom Tromey  <tom@tromey.com>
16475
16476         PR python/13598:
16477         * python/python.c (gdbpy_before_prompt_hook): Emit before_prompt
16478         event.
16479         * python/py-evts.c (gdbpy_initialize_py_events): Add
16480         before_prompt registry.
16481         * python/py-events.h (events_object) <before_prompt>: New field.
16482
16483 2017-02-14  Markus Metzger  <markus.t.metzger@intel.com>
16484
16485         * btrace.c (ftrace_new_switch): Preserve up link and flags.
16486
16487 2017-02-13  Luis Machado  <lgustavo@codesourcery.com>
16488
16489         * symfile (_initialize_symfile): Add usage text to the load command's
16490         help text.
16491
16492 2017-02-10  Simon Marchi  <simon.marchi@ericsson.com>
16493
16494         * utils.c (defaulted_query): Don't query on secondary UIs.
16495
16496 2017-02-10  Tom Tromey  <tom@tromey.com>
16497
16498         * rust-lang.c (rust_get_disr_info): Remove unused variable.
16499
16500 2017-02-10  Tom Tromey  <tom@tromey.com>
16501
16502         * python/py-value.c (valpy_richcompare_throw): Remove unnecessary
16503         "cleanup" local.
16504         * python/py-type.c (typy_legacy_template_argument): Remove
16505         unnecessary "cleanup" local.
16506
16507 2017-02-10  Tom Tromey  <tom@tromey.com>
16508
16509         * python/python.c (do_start_initialization): New function, from
16510         _initialize_python.
16511         (_initialize_python): Call do_start_initialization.
16512         * python/py-linetable.c (ltpy_iternext): Use explicit returns, not
16513         goto.
16514
16515 2017-02-10  Tom Tromey  <tom@tromey.com>
16516
16517         * python/py-prettyprint.c (pretty_print_one_value): Use
16518         gdbpy_ref.
16519
16520 2017-02-10  Tom Tromey  <tom@tromey.com>
16521
16522         * python/py-cmd.c (cmdpy_destroyer): Use gdbpy_ref.
16523         * python/py-breakpoint.c (gdbpy_breakpoint_deleted): Use
16524         gdbpy_ref.
16525         * python/py-type.c (field_new): Use gdbpy_ref.
16526         * python/py-symtab.c (symtab_and_line_to_sal_object): Use
16527         gdbpy_ref.
16528         * python/py-progspace.c (pspy_new): Use gdbpy_ref.
16529         (py_free_pspace): Likewise.
16530         (pspace_to_pspace_object): Likewise.
16531         * python/py-objfile.c (objfpy_new): Use gdbpy_ref.
16532         (py_free_objfile): Likewise.
16533         (objfile_to_objfile_object): Likewise.
16534         * python/py-inferior.c (delete_thread_object): Use
16535         gdbpy_ref.
16536         (infpy_read_memory): Likewise.
16537         (py_free_inferior): Likewise.
16538         * python/py-evtregistry.c (create_eventregistry_object): Use
16539         gdbpy_ref.
16540         * python/py-event.c (create_event_object): Use gdbpy_ref.
16541
16542 2017-02-10  Tom Tromey  <tom@tromey.com>
16543
16544         * python/py-ref.h (gdbpy_ref_policy): Now a template.
16545         (gdbpy_ref): Now a template; allow subclasses of PyObject to be
16546         used.
16547         * python/py-arch.c, python/py-bpevent.c, python/py-breakpoint.c,
16548         python/py-cmd.c, python/py-continueevent.c, python/py-event.c,
16549         python/py-exitedevent.c, python/py-finishbreakpoint.c,
16550         python/py-framefilter.c, python/py-function.c,
16551         python/py-inferior.c, python/py-infevents.c,
16552         python/py-linetable.c, python/py-newobjfileevent.c,
16553         python/py-param.c, python/py-prettyprint.c, python/py-ref.h,
16554         python/py-signalevent.c, python/py-stopevent.c,
16555         python/py-symbol.c, python/py-threadevent.c, python/py-type.c,
16556         python/py-unwind.c, python/py-utils.c, python/py-value.c,
16557         python/py-varobj.c, python/py-xmethods.c, python/python.c,
16558         varobj.c: Change gdbpy_ref to gdbpy_ref<>.
16559
16560 2017-02-10  Tom Tromey  <tom@tromey.com>
16561
16562         * ui-out.h (ui_out_emit_type): New class.
16563         (ui_out_emit_tuple, ui_out_emit_list): New typedefs.
16564         * python/py-framefilter.c (py_print_single_arg): Use gdb::optional
16565         and ui_out_emit_tuple.
16566         (enumerate_locals): Likewise.
16567         (py_mi_print_variables, py_print_locals, py_print_args): Use
16568         ui_out_emit_list.
16569         (py_print_frame): Use gdb::optional, ui_out_emit_tuple,
16570         ui_out_emit_list.
16571         * common/gdb_optional.h: New file.
16572
16573 2017-02-10  Martin Galvan  <martingalvan@sourceware.org>
16574
16575         * MAINTAINERS (Write After Approval): Update my e-mail address.
16576
16577 2017-02-10  Martin Galvan  <martingalvan@sourceware.org>
16578
16579         PR gdb/21122
16580         * breakpoint.c (_initialize_breakpoint): Update the help description
16581         of the 'commands' command to indicate that it takes a list argument.
16582
16583 2017-02-09  Simon Marchi  <simon.marchi@ericsson.com>
16584
16585         * interps.c (current_interp_set_logging): Remove "return".
16586
16587 2017-02-09  Gary Benson  <gbenson@redhat.com>
16588
16589         * symtab.c (add_symtab_completions): Prevent NULL pointer
16590         dereference.
16591
16592 2017-02-08  Pedro Alves  <palves@redhat.com>
16593
16594         * interps.c (interp::interp): Remove reference to quiet_p.
16595         (interp_set): Make static.  Remove dead "Switching to" output
16596         code.
16597         (interp_quiet_p, interp_set_quiet): Delete.
16598         (interpreter_exec_cmd): Don't set the interpreter quiet.
16599         * interps.h (interp_quiet_p): Make static.
16600         (class interp) <quiet_p>: Remove field
16601
16602 2017-02-08  Jerome Guitton  <guitton@adacore.com>
16603
16604         * cli/cli-decode.c (find_command_name_length): Make it extern.
16605         * cli/cli-decode.h (find_command_name_length): Declare.
16606         * cli/cli-script.c (command_name_equals, line_first_arg):
16607         New functions.
16608         (process_next_line): Use cli-decode to parse command names.
16609         (build_command_line): Make args a constant pointer.
16610
16611 2017-02-08  Jerome Guitton  <guitton@adacore.com>
16612
16613         * cli-decode.c (lookup_cmd_1, lookup_cmd_composition):
16614         Remove case-insensitive search.
16615
16616 2017-02-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
16617
16618         * sparc-tdep.c (sparc32_gdbarch_init): Do not place a + operator
16619         at the end of the line.  Avoids an ARI warning.
16620
16621 2017-02-06  Luis Machado  <lgustavo@codesourcery.com>
16622
16623         * NEWS: Mention support for record/replay of Intel 64 rdrand and
16624         rdseed instructions.
16625         i386-tdep.c (i386_process_record): Handle Intel 64 rdrand and rseed.
16626
16627 2017-02-06  Ivo Raisr  <ivo.raisr@oracle.com>
16628
16629         PR tdep/20936
16630         Provide and use sparc32 and sparc64 target description XML files.
16631         * features/sparc/sparc32-cp0.xml, features/sparc/sparc32-cpu.xml,
16632         features/sparc/sparc32-fpu.xml: New files for sparc 32-bit.
16633         * features/sparc/sparc64-cp0.xml, features/sparc/sparc64-cpu.xml,
16634         features/sparc/sparc64-fpu.xml: New files for sparc 64-bit.
16635         * features/sparc/sparc32-solaris.xml: New file.
16636         * features/sparc/sparc64-solaris.xml: New file.
16637         * features/sparc/sparc32-solaris.c: Generated.
16638         * features/sparc/sparc64-solaris.c: Generated.
16639         * sparc-tdep.h: Account for differences in target descriptions.
16640         * sparc-tdep.c (sparc32_register_name): Use target provided registers.
16641         (sparc32_register_type): Use target provided registers.
16642         (validate_tdesc_registers): New function.
16643         (sparc32_gdbarch_init): Use tdesc_has_registers.
16644         Set pseudoregister functions.
16645         * sparc64-tdep.c (sparc64_register_name): Use target provided registers.
16646         (sparc64_register_type): Use target provided registers.
16647         (sparc64_init_abi): Set pseudoregister functions.
16648
16649 2017-02-03  Tom Tromey  <tom@tromey.com>
16650
16651         PR rust/21097:
16652         * rust-lang.c (rust_print_type) <TYPE_CODE_UNION>: Handle enums
16653         with a single member.
16654
16655 2017-02-03  Pedro Alves  <palves@redhat.com>
16656
16657         * cli/cli-interp.c (cli_interp_base::cli_interp_base)
16658         (cli_interp_base::~cli_interp_base): New.
16659         (cli_interp): New struct.
16660         (as_cli_interp): Cast the interp itself to cli_interp.
16661         (cli_interpreter_pre_command_loop): Rename to ...
16662         (cli_interp_base::pre_command_loop): ... this.  Remove 'self'
16663         parameter.
16664         (cli_interpreter_init): Rename to ...
16665         (cli_interp::init): ... this.  Remove 'self' parameter.  Use
16666         boolean.  Make extern.
16667         (cli_interpreter_resume): Rename to ...
16668         (cli_interp::resume): ... this.  Remove 'data' parameter.  Make
16669         extern.
16670         (cli_interpreter_suspend): Rename to ...
16671         (cli_interp::suspend): ... this.  Remove 'data' parameter.  Make
16672         extern.
16673         (cli_interpreter_exec): Rename to ...
16674         (cli_interp::exec): ... this.  Remove 'data' parameter.  Make
16675         extern.
16676         (cli_interpreter_supports_command_editing): Rename to ...
16677         (cli_interp_base::supports_command_editing): ... this.  Remove
16678         'interp' parameter.  Make extern.
16679         (cli_ui_out): Rename to ...
16680         (cli_interp::interp_ui_out): ... this.  Remove 'interp' parameter.
16681         Make extern.
16682         (cli_set_logging): Rename to ...
16683         (cli_interp_base::set_logging): ... this.  Remove 'interp'
16684         parameter.  Make extern.
16685         (cli_interp_procs): Delete.
16686         (cli_interp_factory): Adjust to use "new".
16687         * cli/cli-interp.h: Include "interps.h".
16688         (struct cli_interp_base): New struct.
16689         * interps.c (struct interp): Delete.  Fields moved to interps.h.
16690         (interp_new): Delete.
16691         (interp::interp, interp::~interp): New.
16692         (interp_set): Use bool, and return void.  Assume the interpreter
16693         has suspend, init and resume methods, and that the all return
16694         void.
16695         (set_top_level_interpreter): interp_set returns void.
16696         (interp_ui_out): Adapt.
16697         (current_interp_set_logging): Adapt.
16698         (interp_data): Delete.
16699         (interp_pre_command_loop, interp_supports_command_editing): Adapt.
16700         (interp_exec): Adapt.
16701         (top_level_interpreter_data): Delete.
16702         * interps.h (interp_init_ftype, interp_resume_ftype)
16703         (interp_suspend_ftype, interp_exec_ftype)
16704         (interp_pre_command_loop_ftype, interp_ui_out_ftype): Delete.
16705         (class interp): New.
16706         (interp_new): Delete.
16707         (interp_set): Now returns void.  Use bool.
16708         (interp_data, top_level_interpreter_data): Delete.
16709         * mi/mi-common.h: Include interps.h.
16710         (class mi_interp): Inherit from interp.  Define a ctor.  Declare
16711         init, resume, suspect, exec, interp_ui_out, set_logging and
16712         pre_command_loop methods.
16713         * mi/mi-interp.c (as_mi_interp): Cast the interp itself.
16714         (mi_interpreter_init): Rename to ...
16715         (mi_interp::init): ... this.  Remove the 'interp' parameter, use
16716         bool, return void and make extern.  Adjust.
16717         (mi_interpreter_resume): ... Rename to ...
16718         (mi_interp::resume): ... this.  Remove the 'data' parameter,
16719         return void and make extern.  Adjust.
16720         (mi_interpreter_suspend): ... Rename to ...
16721         (mi_interp::suspend): ... this.  Remove the 'data' parameter,
16722         return void and make extern.  Adjust.
16723         (mi_interpreter_exec): ... Rename to ...
16724         (mi_interp::exec): ... this.  Remove the 'data' parameter and make
16725         extern.  Adjust.
16726         (mi_interpreter_pre_command_loop): ... Rename to ...
16727         (mi_interp::pre_command_loop): ... this.  Remove the 'self'
16728         parameter and make extern.
16729         (mi_on_normal_stop_1): Adjust.
16730         (mi_ui_out): Rename to ...
16731         (mi_interp::interp_ui_out): ... this.  Remove the 'interp'
16732         parameter and make extern.  Adjust.
16733         (mi_set_logging): Rename to ...
16734         (mi_interp::set_logging): ... this.  Remove the 'interp'
16735         parameter and make extern.  Adjust.
16736         (mi_interp_procs): Delete.
16737         (mi_interp_factory): Adjust to use 'new'.
16738         * mi/mi-main.c (mi_cmd_gdb_exit, captured_mi_execute_command)
16739         (mi_print_exception, mi_execute_command, mi_load_progress):
16740         Adjust.
16741         * tui/tui-interp.c (tui_interp): New class.
16742         (as_tui_interp): Return a tui_interp pointer.
16743         (tui_on_normal_stop, tui_on_signal_received)
16744         (tui_on_end_stepping_range, tui_on_signal_exited, tui_on_exited)
16745         (tui_on_no_history, tui_on_user_selected_context_changed): Adjust
16746         to use interp::interp_ui_out.
16747         (tui_init): Rename to ...
16748         (tui_interp::init): ... this.  Remove the 'self' parameter, use
16749         bool, return void and make extern.  Adjust.
16750         (tui_resume): Rename to ...
16751         (tui_interp::resume): ... this.  Remove the 'data' parameter,
16752         return void and make extern.  Adjust.
16753         (tui_suspend): Rename to ...
16754         (tui_interp::suspend): ... this.  Remove the 'data' parameter,
16755         return void and make extern.  Adjust.
16756         (tui_ui_out): Rename to ...
16757         (tui_interp::interp_ui_out): ... this.  Remove the 'self'
16758         parameter, and make extern.  Adjust.
16759         (tui_exec): Rename to ...
16760         (tui_interp::exec): ... this.  Remove the 'data' parameter and
16761         make extern.
16762         (tui_interp_procs): Delete.
16763         (tui_interp_factory): Use "new".
16764
16765 2017-02-02  Tom Tromey  <tom@tromey.com>
16766
16767         * rust-exp.y (ends_raw_string, space_then_number)
16768         (rust_identifier_start_p): Return bool.
16769         * rust-lang.c (rust_tuple_type_p, rust_underscore_fields)
16770         (rust_tuple_struct_type_p, rust_tuple_variant_type_p)
16771         (rust_slice_type_p, rust_range_type_p, rust_u8_type_p)
16772         (rust_chartype_p): Return bool.
16773         (val_print_struct, rust_print_struct_def, rust_print_type):
16774         Update.
16775         * rust-lang.h (rust_tuple_type_p, rust_tuple_struct_type_p):
16776         Return bool.
16777
16778 2017-02-02  Tom Tromey  <tom@tromey.com>
16779
16780         * rust-lang.c: Reindent.
16781
16782 2017-02-02  Tom Tromey  <tom@tromey.com>
16783
16784         * rust-lang.h (rust_crate_for_block): Update.
16785         * rust-lang.c (rust_crate_for_block): Return std::string.
16786         (rust_get_disr_info): Use std:;string, not
16787         gdb::unique_xmalloc_ptr.
16788         * rust-exp.y (crate_name): Update.
16789
16790 2017-02-02  Pedro Alves  <palves@redhat.com>
16791
16792         * disasm-selftests.c (print_one_insn_test): Move the "verbose"
16793         field out of gdb_disassembler_test and make it static.
16794
16795 2017-02-02  Pedro Alves  <palves@redhat.com>
16796
16797         * mi/mi-common.h (struct mi_interp): Delete the mi2_interp,
16798         mi1_interp and mi_interp fields.
16799
16800 2017-02-02  Pedro Alves  <palves@redhat.com>
16801
16802         * cli/cli-interp.c (struct saved_output_files, saved_output):
16803         Moved from cli/cli-logging.c.
16804         (cli_set_logging): New function.
16805         (cli_interp_procs): Install cli_set_logging.
16806         * cli/cli-interp.h (make_logging_output, cli_set_logging):
16807         Declare.
16808         * cli/cli-logging.c (struct saved_output_files, saved_output):
16809         Moved to cli/cli-interp.c.
16810         (pop_output_files): Don't save outputs here.
16811         (make_logging_output): New function.
16812         (handle_redirections): Don't build tee nor save previous outputs
16813         here.
16814         * interps.c (current_interp_set_logging): Change prototype.
16815         Assume there's always a set_logging_proc method installed.
16816         * interps.h (interp_set_logging_ftype): Change prototype.
16817         (current_interp_set_logging): Change prototype and adjust comment.
16818         * mi/mi-interp.c (mi_set_logging): Change protototype.  Adjust to
16819         use make_logging_output.
16820         * tui/tui-interp.c (tui_interp_procs): Install cli_set_logging.
16821 2017-02-02  Pedro Alves  <palves@redhat.com>
16822
16823         * cli/cli-logging.c (maybe_warn_already_logging): New factored out
16824         from ...
16825         (set_logging_overwrite): ... here.
16826         (logging_no_redirect_file): Delete.
16827         (set_logging_redirect): Don't handle redirection on the fly.
16828         Instead warn that "logging off" / "logging on" is necessary.
16829         (pop_output_files): Delete references to logging_no_redirect_file.
16830         (show_logging_command): Always speak in terms of what will happen
16831         once logging is reenabled.
16832
16833 2017-02-02  Pedro Alves  <palves@redhat.com>
16834
16835         * disasm.h (gdb_pretty_print_disassembler): Tweak intro comment.
16836
16837 2017-02-02  Pedro Alves  <palves@redhat.com>
16838
16839         * disasm.c (gdb_pretty_print_insn): Rename to ...
16840         (gdb_pretty_print_disassembler::pretty_print_insn): ... this.
16841         Remove gdbarch parameter.  Adapt to clear the object's buffers
16842         instead of allocating new buffers, and to print using the object's
16843         gdb_disassembler instead of calling gdb_print_insn.
16844         (dump_insns): Use gdb_pretty_print_disassembler.
16845         * disasm.h (gdb_pretty_print_insn): Delete declaration.
16846         (gdb_pretty_print_disassembler): New class.
16847         * record-btrace.c (btrace_insn_history): Use
16848         gdb_pretty_print_disassembler.
16849
16850 2017-02-02  Pedro Alves  <palves@redhat.com>
16851
16852         * ada-lang.c (type_as_string): Use string_file.
16853         * ada-valprint.c (ada_print_floating): Use string_file.
16854         * ada-varobj.c (ada_varobj_scalar_image)
16855         (ada_varobj_get_value_image): Use string_file.
16856         * aix-thread.c (aix_thread_extra_thread_info): Use string_file.
16857         * arm-tdep.c (_initialize_arm_tdep): Use string_printf.
16858         * breakpoint.c (update_inserted_breakpoint_locations)
16859         (insert_breakpoint_locations, reattach_breakpoints)
16860         (print_breakpoint_location, print_one_detail_ranged_breakpoint)
16861         (print_it_watchpoint): Use string_file.
16862         (save_breakpoints): Use stdio_file.
16863         * c-exp.y (oper): Use string_file.
16864         * cli/cli-logging.c (set_logging_redirect): Use ui_file_up and
16865         tee_file.
16866         (pop_output_files): Use delete.
16867         (handle_redirections): Use stdio_file and tee_file.
16868         * cli/cli-setshow.c (do_show_command): Use string_file.
16869         * compile/compile-c-support.c (c_compute_program): Use
16870         string_file.
16871         * compile/compile-c-symbols.c (generate_vla_size): Take a
16872         'string_file &' instead of a 'ui_file *'.
16873         (generate_c_for_for_one_variable): Take a 'string_file &' instead
16874         of a 'ui_file *'.  Use string_file.
16875         (generate_c_for_variable_locations): Take a 'string_file &'
16876         instead of a 'ui_file *'.
16877         * compile/compile-internal.h (generate_c_for_for_one_variable):
16878         Take a 'string_file &' instead of a 'ui_file *'.
16879         * compile/compile-loc2c.c (push, pushf, unary, binary)
16880         (print_label, pushf_register_address, pushf_register)
16881         (do_compile_dwarf_expr_to_c): Take a 'string_file &' instead of a
16882         'ui_file *'.  Adjust.
16883         * compile/compile.c (compile_to_object): Use string_file.
16884         * compile/compile.h (compile_dwarf_expr_to_c)
16885         (compile_dwarf_bounds_to_c): Take a 'string_file &' instead of a
16886         'ui_file *'.
16887         * cp-support.c (inspect_type): Use string_file and obstack_copy0.
16888         (replace_typedefs_qualified_name): Use string_file and
16889         obstack_copy0.
16890         * disasm.c (gdb_pretty_print_insn): Use string_file.
16891         (gdb_disassembly): Adjust reference the null_stream global.
16892         (do_ui_file_delete): Delete.
16893         (gdb_insn_length): Use null_stream.
16894         * dummy-frame.c (maintenance_print_dummy_frames): Use stdio_file.
16895         * dwarf2loc.c (dwarf2_compile_property_to_c)
16896         (locexpr_generate_c_location, loclist_generate_c_location): Take a
16897         'string_file &' instead of a 'ui_file *'.
16898         * dwarf2loc.h (dwarf2_compile_property_to_c): Likewise.
16899         * dwarf2read.c (do_ui_file_peek_last): Delete.
16900         (dwarf2_compute_name): Use string_file.
16901         * event-top.c (gdb_setup_readline): Use stdio_file.
16902         * gdbarch.sh (verify_gdbarch): Use string_file.
16903         * gdbtypes.c (safe_parse_type): Use null_stream.
16904         * guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Use
16905         string_file.
16906         * guile/scm-disasm.c (gdbscm_print_insn_from_port): Take a
16907         'string_file *' instead of a 'ui_file *'.
16908         (gdbscm_arch_disassemble): Use string_file.
16909         * guile/scm-frame.c (frscm_print_frame_smob): Use string_file.
16910         * guile/scm-ports.c (class ioscm_file_port): Now a class that
16911         inherits from ui_file.
16912         (ioscm_file_port_delete, ioscm_file_port_rewind)
16913         (ioscm_file_port_put): Delete.
16914         (ioscm_file_port_write): Rename to ...
16915         (ioscm_file_port::write): ... this.  Remove file_port_magic
16916         checks.
16917         (ioscm_file_port_new): Delete.
16918         (ioscm_with_output_to_port_worker): Use ioscm_file_port and
16919         ui_file_up.
16920         * guile/scm-type.c (tyscm_type_name): Use string_file.
16921         * guile/scm-value.c (vlscm_print_value_smob, gdbscm_value_print):
16922         Use string_file.
16923         * infcmd.c (print_return_value_1): Use string_file.
16924         * infrun.c (print_target_wait_results): Use string_file.
16925         * language.c (add_language): Use string_file.
16926         * location.c (explicit_to_string_internal): Use string_file.
16927         * main.c (captured_main_1): Use null_file.
16928         * maint.c (maintenance_print_architecture): Use stdio_file.
16929         * mi/mi-cmd-stack.c (list_arg_or_local): Use string_file.
16930         * mi/mi-common.h (struct mi_interp) <out, err, log, targ,
16931         event_channel>: Change type to mi_console_file pointer.
16932         * mi/mi-console.c (mi_console_file_fputs, mi_console_file_flush)
16933         (mi_console_file_delete): Delete.
16934         (struct mi_console_file): Delete.
16935         (mi_console_file_magic): Delete.
16936         (mi_console_file_new): Delete.
16937         (mi_console_file::mi_console_file): New.
16938         (mi_console_file_delete): Delete.
16939         (mi_console_file_fputs): Delete.
16940         (mi_console_file::write): New.
16941         (mi_console_raw_packet): Delete.
16942         (mi_console_file::flush): New.
16943         (mi_console_file_flush): Delete.
16944         (mi_console_set_raw): Rename to ...
16945         (mi_console_file::set_raw): ... this.
16946         * mi/mi-console.h (class mi_console_file): New class.
16947         (mi_console_file_new, mi_console_set_raw): Delete.
16948         * mi/mi-interp.c (mi_interpreter_init): Use mi_console_file.
16949         (mi_set_logging): Use delete and tee_file.  Adjust.
16950         * mi/mi-main.c (output_register): Use string_file.
16951         (mi_cmd_data_evaluate_expression): Use string_file.
16952         (mi_cmd_data_read_memory): Use string_file.
16953         (mi_cmd_execute, print_variable_or_computed): Use string_file.
16954         * mi/mi-out.c (mi_ui_out::main_stream): New.
16955         (mi_ui_out::rewind): Use main_stream and
16956         string_file.
16957         (mi_ui_out::put): Use main_stream and string_file.
16958         (mi_ui_out::mi_ui_out): Remove 'stream' parameter.
16959         Allocate a 'string_file' instead.
16960         (mi_out_new): Don't allocate a mem_fileopen stream here.
16961         * mi/mi-out.h (mi_ui_out::mi_ui_out): Remove 'stream' parameter.
16962         (mi_ui_out::main_stream): Declare method.
16963         * printcmd.c (eval_command): Use string_file.
16964         * psymtab.c (maintenance_print_psymbols): Use stdio_file.
16965         * python/py-arch.c (archpy_disassemble): Use string_file.
16966         * python/py-breakpoint.c (bppy_get_commands): Use string_file.
16967         * python/py-frame.c (frapy_str): Use string_file.
16968         * python/py-framefilter.c (py_print_type, py_print_single_arg):
16969         Use string_file.
16970         * python/py-type.c (typy_str): Use string_file.
16971         * python/py-unwind.c (unwind_infopy_str): Use string_file.
16972         * python/py-value.c (valpy_str): Use string_file.
16973         * record-btrace.c (btrace_insn_history): Use string_file.
16974         * regcache.c (regcache_print): Use stdio_file.
16975         * reggroups.c (maintenance_print_reggroups): Use stdio_file.
16976         * remote.c (escape_buffer): Use string_file.
16977         * rust-lang.c (rust_get_disr_info): Use string_file.
16978         * serial.c (serial_open_ops_1): Use stdio_file.
16979         (do_serial_close): Use delete.
16980         * stack.c (print_frame_arg): Use string_file.
16981         (print_frame_args): Remove local mem_fileopen stream, not used.
16982         (print_frame): Use string_file.
16983         * symmisc.c (maintenance_print_symbols): Use stdio_file.
16984         * symtab.h (struct symbol_computed_ops) <generate_c_location>:
16985         Take a 'string_file *' instead of a 'ui_file *'.
16986         * top.c (new_ui): Use stdio_file and stderr_file.
16987         (free_ui): Use delete.
16988         (execute_command_to_string): Use string_file.
16989         (quit_confirm): Use string_file.
16990         * tracepoint.c (collection_list::append_exp): Use string_file.
16991         * tui/tui-disasm.c (tui_disassemble): Use string_file.
16992         * tui/tui-file.c: Don't include "ui-file.h".
16993         (enum streamtype, struct tui_stream): Delete.
16994         (tui_file_new, tui_file_delete, tui_fileopen, tui_sfileopen)
16995         (tui_file_isatty, tui_file_rewind, tui_file_put): Delete.
16996         (tui_file::tui_file): New method.
16997         (tui_file_fputs): Delete.
16998         (tui_file_get_strbuf): Delete.
16999         (tui_file::puts): New method.
17000         (tui_file_adjust_strbuf): Delete.
17001         (tui_file_flush): Delete.
17002         (tui_file::flush): New method.
17003         * tui/tui-file.h: Tweak intro comment.
17004         Include ui-file.h.
17005         (tui_fileopen, tui_sfileopen, tui_file_get_strbuf)
17006         (tui_file_adjust_strbuf): Delete declarations.
17007         (class tui_file): New class.
17008         * tui/tui-io.c (tui_initialize_io): Use tui_file.
17009         * tui/tui-regs.c (tui_restore_gdbout): Use delete.
17010         (tui_register_format): Use string_stream.
17011         * tui/tui-stack.c (tui_make_status_line): Use string_file.
17012         (tui_get_function_from_frame): Use string_file.
17013         * typeprint.c (type_to_string): Use string_file.
17014         * ui-file.c (struct ui_file, ui_file_magic, ui_file_new): Delete.
17015         (null_stream): New global.
17016         (ui_file_delete): Delete.
17017         (ui_file::ui_file): New.
17018         (null_file_isatty): Delete.
17019         (ui_file::~ui_file): New.
17020         (null_file_rewind): Delete.
17021         (ui_file::printf): New.
17022         (null_file_put): Delete.
17023         (null_file_flush): Delete.
17024         (ui_file::putstr): New.
17025         (null_file_write): Delete.
17026         (ui_file::putstrn): New.
17027         (null_file_read): Delete.
17028         (ui_file::putc): New.
17029         (null_file_fputs): Delete.
17030         (null_file_write_async_safe): Delete.
17031         (ui_file::vprintf): New.
17032         (null_file_delete): Delete.
17033         (null_file::write): New.
17034         (null_file_fseek): Delete.
17035         (null_file::puts): New.
17036         (ui_file_data): Delete.
17037         (null_file::write_async_safe): New.
17038         (gdb_flush, ui_file_isatty): Adjust.
17039         (ui_file_put, ui_file_rewind): Delete.
17040         (ui_file_write): Adjust.
17041         (ui_file_write_for_put): Delete.
17042         (ui_file_write_async_safe, ui_file_read): Adjust.
17043         (ui_file_fseek): Delete.
17044         (fputs_unfiltered): Adjust.
17045         (set_ui_file_flush, set_ui_file_isatty, set_ui_file_rewind)
17046         (set_ui_file_put, set_ui_file_write, set_ui_file_write_async_safe)
17047         (set_ui_file_read, set_ui_file_fputs, set_ui_file_fseek)
17048         (set_ui_file_data): Delete.
17049         (string_file::~string_file, string_file::write)
17050         (struct accumulated_ui_file, do_ui_file_xstrdup, ui_file_xstrdup)
17051         (do_ui_file_as_string, ui_file_as_string): Delete.
17052         (do_ui_file_obsavestring, ui_file_obsavestring): Delete.
17053         (struct mem_file): Delete.
17054         (mem_file_new): Delete.
17055         (stdio_file::stdio_file): New.
17056         (mem_file_delete): Delete.
17057         (stdio_file::stdio_file): New.
17058         (mem_fileopen): Delete.
17059         (stdio_file::~stdio_file): New.
17060         (mem_file_rewind): Delete.
17061         (stdio_file::set_stream): New.
17062         (mem_file_put): Delete.
17063         (stdio_file::open): New.
17064         (mem_file_write): Delete.
17065         (stdio_file_magic, struct stdio_file): Delete.
17066         (stdio_file_new, stdio_file_delete, stdio_file_flush): Delete.
17067         (stdio_file::flush): New.
17068         (stdio_file_read): Rename to ...
17069         (stdio_file::read): ... this.  Adjust.
17070         (stdio_file_write): Rename to ...
17071         (stdio_file::write): ... this.  Adjust.
17072         (stdio_file_write_async_safe): Rename to ...
17073         (stdio_file::write_async_safe) ... this.  Adjust.
17074         (stdio_file_fputs): Rename to ...
17075         (stdio_file::puts) ... this.  Adjust.
17076         (stdio_file_isatty): Delete.
17077         (stdio_file_fseek): Delete.
17078         (stdio_file::isatty): New.
17079         (stderr_file_write): Rename to ...
17080         (stderr_file::write) ... this.  Adjust.
17081         (stderr_file_fputs): Rename to ...
17082         (stderr_file::puts) ... this.  Adjust.
17083         (stderr_fileopen, stdio_fileopen, gdb_fopen): Delete.
17084         (stderr_file::stderr_file): New.
17085         (tee_file_magic): Delete.
17086         (struct tee_file): Delete.
17087         (tee_file::tee_file): New.
17088         (tee_file_new): Delete.
17089         (tee_file::~tee_file): New.
17090         (tee_file_delete): Delete.
17091         (tee_file_flush): Rename to ...
17092         (tee_file::flush): ... this.  Adjust.
17093         (tee_file_write): Rename to ...
17094         (tee_file::write): ... this.  Adjust.
17095         (tee_file::write_async_safe): New.
17096         (tee_file_fputs): Rename to ...
17097         (tee_file::puts): ... this.  Adjust.
17098         (tee_file_isatty): Rename to ...
17099         (tee_file::isatty): ... this.  Adjust.
17100         * ui-file.h (struct obstack, struct ui_file): Don't
17101         forward-declare.
17102         (ui_file_new, ui_file_flush_ftype, set_ui_file_flush)
17103         (ui_file_write_ftype)
17104         (set_ui_file_write, ui_file_fputs_ftype, set_ui_file_fputs)
17105         (ui_file_write_async_safe_ftype, set_ui_file_write_async_safe)
17106         (ui_file_read_ftype, set_ui_file_read, ui_file_isatty_ftype)
17107         (set_ui_file_isatty, ui_file_rewind_ftype, set_ui_file_rewind)
17108         (ui_file_put_method_ftype, ui_file_put_ftype, set_ui_file_put)
17109         (ui_file_delete_ftype, set_ui_file_data, ui_file_fseek_ftype)
17110         (set_ui_file_fseek): Delete.
17111         (ui_file_data, ui_file_delete, ui_file_rewind)
17112         (struct ui_file): New.
17113         (ui_file_up): New.
17114         (class null_file): New.
17115         (null_stream): Declare.
17116         (ui_file_write_for_put, ui_file_put): Delete.
17117         (ui_file_xstrdup, ui_file_as_string, ui_file_obsavestring):
17118         Delete.
17119         (ui_file_fseek, mem_fileopen, stdio_fileopen, stderr_fileopen)
17120         (gdb_fopen, tee_file_new): Delete.
17121         (struct string_file): New.
17122         (struct stdio_file): New.
17123         (stdio_file_up): New.
17124         (struct stderr_file): New.
17125         (class tee_file): New.
17126         * ui-out.c (ui_out::field_stream): Take a 'string_file &' instead
17127         of a 'ui_file *'.  Adjust.
17128         * ui-out.h (class ui_out) <field_stream>: Likewise.
17129         * utils.c (do_ui_file_delete, make_cleanup_ui_file_delete)
17130         (null_stream): Delete.
17131         (error_stream): Take a 'string_file &' instead of a 'ui_file *'.
17132         Adjust.
17133         * utils.h (struct ui_file): Delete forward declaration..
17134         (make_cleanup_ui_file_delete, null_stream): Delete declarations.
17135         (error_stream): Take a 'string_file &' instead of a
17136         'ui_file *'.
17137         * varobj.c (varobj_value_get_print_value): Use string_file.
17138         * xtensa-tdep.c (xtensa_verify_config): Use string_file.
17139         * gdbarch.c: Regenerate.
17140
17141 2017-02-02  Pedro Alves  <palves@redhat.com>
17142
17143         * disasm.c (gdb_disassembler::pretty_print_insn): Rename to...
17144         (gdb_pretty_print_insn): ... this.  Now a free function.  Add back
17145         a 'gdbarch' parameter.  Allocate a mem_fileopen stream here.
17146         Adjust to call gdb_print_insn instead of
17147         gdb_disassembler::print_insn.
17148         (dump_insns, do_mixed_source_and_assembly_deprecated)
17149         (do_mixed_source_and_assembly, do_assembly_only): Add back a
17150         'gdbarch' parameter.  Remove gdb_disassembler parameter.
17151         (gdb_disassembly): Don't allocate a gdb_disassembler here.
17152         * disasm.h (gdb_disassembler::pretty_print_insn): Delete
17153         declaration.
17154         (gdb_pretty_print_insn): Re-add declaration.
17155         * record-btrace.c (btrace_insn_history): Don't allocate a
17156         gdb_disassembler here.  Adjust to call gdb_pretty_print_insn.
17157
17158 2017-02-01  Simon Marchi  <simon.marchi@polymtl.ca>
17159
17160         * disasm.h (gdb_disassembly): Remove file_string parameter.
17161         * disasm.c (gdb_disassembly): Likewise.
17162         * cli/cli-cmds.c (print_disassembly): Adapt.
17163         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Likewise.
17164         * stack.c (do_gdb_disassembly): Likewise.
17165
17166 2017-02-01  Andreas Arnez  <arnez@linux.vnet.ibm.com>
17167
17168         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): For
17169         DWARF_VALUE_LITERAL, no longer ignore the offset on big-endian
17170         targets.  And if the implicit value is longer than needed, extract
17171         the first bytes instead of the "least significant" ones.
17172
17173 2017-02-01  Markus Metzger  <markus.t.metzger@intel.com>
17174
17175         * btrace.c (btrace_enable): Do not call btrace_add_pc for
17176         BTRACE_FORMAT_PT or if can_access_registers_ptid returns false.
17177         (btrace_fetch): Assert can_access_registers_ptid.
17178         * record-btrace.c (require_btrace_thread, record_btrace_info): Call
17179         validate_registers_access.
17180
17181 2017-02-01  Markus Metzger  <markus.t.metzger@intel.com>
17182
17183         * gdbthread.h (can_access_registers_ptid): New.
17184         * thread.c (can_access_registers_ptid): New.
17185
17186 2017-02-01  Pedro Alves  <palves@redhat.com>
17187
17188         * i386-tdep.c (i386_fast_tracepoint_valid_at): Use gdb_insn_length.
17189
17190 2017-01-31  Pedro Alves  <palves@redhat.com>
17191
17192         * mi/mi-interp.c (mi_breakpoint_created, mi_breakpoint_modified):
17193         Fix typos.
17194
17195 2017-01-31  Pedro Alves  <palves@redhat.com>
17196
17197         * stack.c (print_frame_args): Remove local mem_fileopen stream,
17198         not used.
17199
17200 2017-01-31  Pedro Alves  <palves@redhat.com>
17201
17202         * varobj.c (varobj_value_get_print_value): Remove xstrdup call.
17203
17204 2017-01-31  Pedro Alves  <palves@redhat.com>
17205
17206         * common/scoped_restore.h
17207         (scoped_restore_tmpl::scoped_restore_tmpl): Template on T2, and
17208         change the value's parameter type to T2.
17209         (make_scoped_restore): Likewise.
17210
17211 2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
17212             Richard Henderson  <rth@redhat.com>
17213
17214         * amd64-linux-nat.c (PTRACE_ARCH_PRCTL): New define.
17215         (amd64_linux_fetch_inferior_registers): Add case to fetch FS_BASE
17216         GS_BASE for older kernels.
17217         (amd64_linux_store_inferior_registers): Add case to store FS_BASE
17218         GS_BASE for older kernels.
17219         * amd64-linux-tdep.c (amd64_linux_gregset_reg_offset): Add FS_BASE
17220         and GS_BASE to the offset table.
17221         (amd64_linux_register_reggroup_p): Add FS_BASE and GS_BASE to the
17222         system register group.
17223         * amd64-nat.c (amd64_native_gregset_reg_offset): Implements case
17224         for older kernels.
17225         * amd64-tdep.c (amd64_init_abi): Add segment registers for the
17226         amd64 ABI.
17227         * amd64-tdep.h (amd64_regnum): Add AMD64_FSBASE_REGNUM and
17228         AMD64_GSBASE_REGNUM.
17229         (AMD64_NUM_REGS): Set to AMD64_GSBASE_REGNUM + 1.
17230         * features/Makefile (amd64-linux.dat, amd64-avx-linux.dat)
17231         (amd64-mpx-linux.dat, amd64-avx512-linux.dat, x32-linux.dat)
17232         (x32-avx-linux.dat, x32-avx512-linux.dat): Add
17233         i386/64bit-segments.xml in those rules.
17234         * features/i386/64bit-segments.xml: New file.
17235         * features/i386/amd64-avx-mpx-linux.xml: Add 64bit-segments.xml.
17236         * features/i386/amd64-avx-linux.xml: Add 64bit-segments.xml.
17237         * features/i386/amd64-avx512-linux.xml: Add 64bit-segments.xml.
17238         * features/i386/amd64-mpx-linux.xml: Add 64bit-segments.xml.
17239         * features/i386/x32-avx512-linux.xml: Add 64bit-segments.xml.
17240         * features/i386/x32-avx-linux.xml: Add 64bit-segments.xml.
17241         * features/i386/amd64-linux.xml: Add 64bit-segments.xml.
17242         * features/i386/amd64-avx-linux.c: Regenerated.
17243         * features/i386/amd64-avx-mpx-linux.c: Regenerated.
17244         * features/i386/amd64-avx-mpx.c: Regenerated.
17245         * features/i386/amd64-avx512-linux.c: Regenerated.
17246         * features/i386/amd64-linux.c: Regenerated.
17247         * features/i386/amd64-mpx-linux.c: Regenerated.
17248         * features/i386/i386-avx-mpx-linux.c: Regenerated.
17249         * features/i386/i386-avx-mpx.c: Regenerated.
17250         * features/i386/x32-avx-linux.c: Regenerated.
17251         * features/i386/x32-avx512-linux.c: Regenerated.
17252         * regformats/i386/amd64-avx-linux.dat: Regenerated.
17253         * regformats/i386/amd64-avx-mpx-linux.dat: Regenerated.
17254         * regformats/i386/amd64-avx512-linux.dat: Regenerated.
17255         * regformats/i386/amd64-linux.dat: Regenerated.
17256         * regformats/i386/amd64-mpx-linux.dat: Regenerated.
17257         * regformats/i386/x32-avx-linux.dat: Regenerated.
17258         * regformats/i386/x32-avx512-linux.dat: Regenerated.
17259         * regformats/i386/x32-linux.dat: Regenerated.
17260
17261 2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
17262
17263         * amd64-linux-tdep.h (AMD64_LINUX_ORIG_RAX_REGNUM):
17264         Set to AMD64_NUM_REGS.
17265
17266 2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
17267
17268         * amd64-nat.c (amd64_native_gregset_reg_offset): Simplify logic
17269         that checks validity of a register number.
17270
17271 2017-01-27  Kees Cook  <keescook@google.com>
17272
17273         * gdb/arm-linux-nat.c (arm_linux_fetch_inferior_registers): Call
17274         fetch_fpregs if target has fpa registers.
17275         (arm_linux_store_inferior_registers): Call store_fpregs if target
17276         has fpa registers.
17277
17278 2017-01-26  Andreas Arnez  <arnez@linux.vnet.ibm.com>
17279
17280         * cris-tdep.c (cris_gdbarch_init): Remove check for
17281         info.byte_order and force it to BFD_ENDIAN_LITTLE.
17282
17283 2017-01-26  Antoine Tremblay  <antoine.tremblay@ericsson.com>
17284
17285         * corelow.c (get_core_register_section): Check for regset
17286         existence before checking for REGSET_VARIABLE_SIZE.
17287
17288 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17289             Pedro Alves  <palves@redhat.com>
17290
17291         PR gdb/20939
17292         * disasm.c (gdb_disassembler::dis_asm_memory_error): Don't
17293         call memory_error, save memaddr instead.
17294         (gdb_disassembler::print_insn): If gdbarch_print_insn returns
17295         negative, cal memory_error.
17296         * disasm.h (gdb_disassembler) <m_err_memaddr>: New field.
17297
17298 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17299
17300         * disasm-selftests.c (memory_error_test): New function.
17301         (_initialize_disasm_selftests): Register memory_error_test.
17302
17303 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17304
17305         * Makefile.in (SFILES): Add disasm-selftests.c and
17306         selftest-arch.c.
17307         (COMMON_OBS): Add disasm-selftests.o and selftest-arch.o.
17308         * disasm-selftests.c: New file.
17309         * selftest-arch.c: New file.
17310         * selftest-arch.h: New file.
17311
17312 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17313
17314         * mep-tdep.c (mep_gdb_print_insn): Set info->arch
17315         to bfd_arch_mep.  Don't return 0 if section is not
17316         found.  Call print_insn_mep.
17317
17318 2017-01-26  Pedro Alves  <palves@redhat.com>
17319             Yao Qi  <yao.qi@linaro.org>
17320
17321         * arm-tdep.c: Include "disasm.h".
17322         (gdb_print_insn_arm): Update code to get gdbarch.
17323         * disasm.c (dis_asm_read_memory): Change it to
17324         gdb_disassembler::dis_asm_read_memory.
17325         (dis_asm_memory_error): Likewise.
17326         (dis_asm_print_address): Likewise.
17327         (gdb_pretty_print_insn): Change it to
17328         gdb_disassembler::pretty_print_insn.
17329         (dump_insns): Add one argument gdb_disassemlber.  All
17330         callers updated.
17331         (do_mixed_source_and_assembly_deprecated): Likewise.
17332         (do_mixed_source_and_assembly): Likewise.
17333         (do_assembly_only): Likewise.
17334         (gdb_disassembler::gdb_disassembler): New.
17335         (gdb_disassembler::print_insn): New.
17336         * disasm.h (class gdb_disassembler): New.
17337         (gdb_pretty_print_insn): Remove declaration.
17338         (gdb_disassemble_info): Likewise.
17339         * guile/scm-disasm.c (class gdbscm_disassembler): New.
17340         (gdbscm_disasm_read_memory_worker): Update.
17341         (gdbscm_disasm_read_memory): Update.
17342         (gdbscm_disasm_memory_error): Remove.
17343         (gdbscm_disasm_print_address): Remove.
17344         (gdbscm_disassembler::gdbscm_disassembler): New.
17345         (gdbscm_print_insn_from_port): Update.
17346         * mips-tdep.c: Include disasm.h.
17347         (gdb_print_insn_mips): Update code to get gdbarch.
17348         * record-btrace.c (btrace_insn_history): Update.
17349         * spu-tdep.c: Include disasm.h.
17350         (struct spu_dis_asm_data): Remove.
17351         (struct spu_dis_asm_info): New.
17352         (spu_dis_asm_print_address): Use spu_dis_asm_info to get
17353         SPU id.
17354         (gdb_print_insn_spu): Cast disassemble_info to
17355         spu_dis_asm_info.
17356
17357 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17358
17359         * disasm.c (do_ui_file_delete): Delete.
17360         (gdb_insn_length): Move code creating stream to ...
17361         * utils.c (null_stream): ... here.  New function.
17362         * utils.h (null_stream): Declare.
17363
17364 2017-01-23  Simon Marchi  <simon.marchi@polymtl.ca>
17365
17366         * python/py-inferior.c (find_thread_object): Return directly
17367         from the loop.  Remove "found" variable.
17368
17369 2017-01-21  Joel Brobecker  <brobecker@adacore.com>
17370
17371         GDB 7.12.1 released.
17372
17373 2017-01-20  Simon Marchi  <simon.marchi@ericsson.com>
17374
17375         * python/py-function.c (fnpy_call): Reorder declarations to have
17376         the gdbpy_enter object declared first.
17377         * python/py-xmethods.c (gdbpy_get_xmethod_arg_types): Likewise.
17378
17379 2017-01-20  Simon Marchi  <simon.marchi@ericsson.com>
17380
17381         PR python/21068
17382         * python/python-internal.h (PyMem_RawMalloc): Define for
17383         Python < 3.4.
17384         * python/py-gdb-readline.c (gdbpy_readline_wrapper): Use
17385         PyMem_RawMalloc instead of PyMem_Malloc.
17386
17387 2017-01-20  Mike Wrighton  <mike_wrighton@codesourcery.com>
17388             Luis Machado  <lgustavo@codesourcery.com>
17389
17390         * NEWS (New commands): Mention flash-erase.
17391         (New MI commands): Mention target-flash-erase.
17392         * mi/mi-cmds.c (mi_cmd_target_flash_erase): Add target-flash-erase MI
17393         command.
17394         * mi/mi-cmds.h (mi_cmd_target_flash_erase): New declaration.
17395         * mi/mi-main.c (mi_cmd_target_flash_erase): New function.
17396         * target.c (flash_erase_command): New function.
17397         (initialize_targets): Add new flash-erase command.
17398         * target.h (flash_erase_command): New declaration.
17399
17400 2017-01-20  Joel Brobecker  <brobecker@adacore.com>
17401
17402         * nat/linux-ptrace.c: Only include <sys/procfs.h> if
17403         HAVE_SYS_PROCFS_H is defined.
17404
17405 2017-01-18  Alan Hayward  <alan.hayward@arm.com>
17406
17407         * remote.c (struct cached_reg): Change data into a pointer.
17408         * (stop_reply_dtr): Free data pointers before deleting vector.
17409         (process_stop_reply): Likewise.
17410         (remote_parse_stop_reply): Allocate space for data
17411
17412 2017-01-18  Alan Hayward  <alan.hayward@arm.com>
17413
17414         * amd64-tdep.c (amd64_pseudo_register_read_value): remove
17415         MAX_REGISTER_SIZE.
17416         (amd64_pseudo_register_read_value): Likewise.
17417         * remote.c (fetch_register_using_p): Remove MAX_REGISTER_SIZE.
17418         (store_register_using_P): Likewise.
17419         * regcache.c (regcache_xfer_part): Likewise.
17420
17421 2017-01-16  Ivo Raisr  <ivo.raisr@oracle.com>
17422
17423         Split real and pseudo registers.
17424         * sparc-tdep.h (SPARC_CORE_REGISTERS): New macro.
17425         (sparc32_pseudo_regnum): New enum.
17426         * sparc64-tdep.h (sparc64_pseudo_regnum): New enum.
17427         * sparc-tdep.c (SPARC32_FPU_REGISTERS): New macro.
17428         (SPARC32_CP0_REGISTERS): New macro.
17429         (sparc32_pseudo_register_name): New function.
17430         (sparc32_register_name): Use sparc32_pseudo_register_name.
17431         (sparc32_pseudo_register_type): New function.
17432         (sparc32_register_type): Use sparc32_pseudo_register_type.
17433         (sparc32_pseudo_register_read, sparc32_pseudo_register_write): Handle
17434         pseudo register numbers.
17435         * sparc64-tdep.c SPARC64_FPU_REGISTERS): New macro.
17436         (SPARC64_CP0_REGISTERS): New macro.
17437         (sparc64_pseudo_register_name): New function.
17438         (sparc64_register_name): Use sparc64_pseudo_register_name.
17439         (sparc64_pseudo_register_type): New function.
17440         (sparc64_register_type): Use sparc64_pseudo_register_type.
17441         (sparc64_pseudo_register_read, sparc64_pseudo_register_write): Handle
17442         pseudo register numbers.
17443         (sparc64_store_floating_fields, sparc64_extract_floating_fields,
17444         sparc64_store_arguments): Handle pseudo register numbers.
17445
17446 2017-01-13  Yao Qi  <yao.qi@linaro.org>
17447
17448         * remote.c (REMOTE_DEBUG_MAX_CHAR): New macro.
17449         (putpkt_binary): Print only REMOTE_DEBUG_MAX_CHAR chars in debug
17450         output.
17451         (getpkt_or_notif_sane_1): Likewise.
17452
17453 2017-01-13  Yao Qi  <yao.qi@linaro.org>
17454
17455         * Makefile.in (checker-headers): Use CXX and CXX_DIALET instead
17456         of CC.  Pass "-x c++-header" instead of "-x c".
17457
17458 2017-01-12  Simon Marchi  <simon.marchi@ericsson.com>
17459
17460         * remote.c (remote_can_async_p): Update comment.
17461
17462 2017-01-12  Simon Marchi  <simon.marchi@ericsson.com>
17463
17464         * linux-nat.c (linux_nat_can_async_p): Update comment.
17465
17466 2017-01-12  Simon Marchi  <simon.marchi@ericsson.com>
17467
17468         * serial.c (serial_open): Forget about "pc" and "lpt" serial interface.
17469
17470 2017-01-11  Simon Marchi  <simon.marchi@ericsson.com>
17471
17472         * cli/cli-decode.c (lookup_cmd_1): Fix typo in comment.
17473
17474 2017-01-10  Tom Tromey  <tom@tromey.com>
17475
17476         * python/py-type.c (typy_legacy_template_argument): Update.
17477         * cp-support.h (struct demangle_parse_info) (demangle_parse_info,
17478         ~demangle_parse_info): Declare new members.
17479         (cp_demangled_name_to_comp): Return unique_ptr.
17480         (cp_demangled_name_parse_free)
17481         (make_cleanup_cp_demangled_name_parse_free)
17482         (cp_new_demangle_parse_info): Remove.
17483         * cp-support.c (do_demangled_name_parse_free_cleanup)
17484         (make_cleanup_cp_demangled_name_parse_free): Remove.
17485         (inspect_type, cp_canonicalize_string_full)
17486         (cp_canonicalize_string): Update.
17487         (mangled_name_to_comp): Change return type.
17488         (cp_class_name_from_physname, method_name_from_physname)
17489         (cp_func_name, cp_remove_params): Update.
17490         * cp-name-parser.y (demangle_parse_info): New constructor, from
17491         cp_new_demangle_parse_info.
17492         (~demangle_parse_info): New destructor, from
17493         cp_demangled_name_parse_free.
17494         (cp_merge_demangle_parse_infos): Update.
17495         (cp_demangled_name_to_comp): Change return type.
17496
17497 2017-01-10  Tom Tromey  <tom@tromey.com>
17498
17499         * top.c (prevent_dont_repeat): Change return type.
17500         * python/python.c (execute_gdb_command): Use std::string.
17501         Update.
17502         * guile/guile.c (gdbscm_execute_gdb_command): Update.
17503         * command.h (prevent_dont_repeat): Change return type.
17504         * breakpoint.c (bpstat_do_actions_1): Update.
17505
17506 2017-01-10  Tom Tromey  <tom@tromey.com>
17507
17508         * value.h (scoped_value_mark::~scoped_value_mark): Call
17509         free_to_mark.
17510         (scoped_value_mark::free_to_mark): New method.
17511         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use
17512         scoped_value_mark.
17513
17514 2017-01-10  Tom Tromey  <tom@tromey.com>
17515
17516         * python/py-value.c (valpy_dereference, valpy_referenced_value)
17517         (valpy_reference_value, valpy_const_value, valpy_get_address)
17518         (valpy_get_dynamic_type, valpy_lazy_string, valpy_do_cast)
17519         (valpy_getitem, valpy_call, valpy_binop_throw, valpy_negative)
17520         (valpy_absolute, valpy_richcompare_throw): Use scoped_value_mark.
17521         * dwarf2loc.c (dwarf2_loc_desc_get_symbol_read_needs): Use
17522         scoped_value_mark.
17523         * dwarf2-frame.c (execute_stack_op): Use scoped_value_mark.
17524         * value.h (scoped_value_mark): New class.
17525
17526 2017-01-10  Tom Tromey  <tom@tromey.com>
17527
17528         * dwarf2read.c (dwarf2_build_psymtabs): Use psymtab_discarder.
17529         * psympriv.h (make_cleanup_discard_psymtabs): Don't declare.
17530         * psymtab.c (discard_psymtabs_upto): Remove.
17531         (make_cleanup_discard_psymtabs): Remove.
17532         (struct psymtab_state): Remove.
17533
17534 2017-01-10  Tom Tromey  <tom@tromey.com>
17535
17536         * record-full.c (record_full_save_cleanups): Remove.
17537         (record_full_save): Use gdb::unlinker.
17538         * gcore.c (do_bfd_delete_cleanup): Remove.
17539         (gcore_command): Use gdb::unlinker, unique_xmalloc_ptr.  Remove
17540         cleanups.
17541         * dwarf2read.c (unlink_if_set): Remove.
17542         (write_psymtabs_to_index): Use gdb::unlinker.
17543         * common/gdb_unlinker.h: New file.
17544
17545 2017-01-10  Tom Tromey  <tom@tromey.com>
17546
17547         * windows-tdep.c (windows_xfer_shared_library): Update.
17548         * windows-nat.c (windows_make_so): Update.
17549         * utils.h (make_cleanup_bfd_unref): Remove.
17550         * utils.c (do_bfd_close_cleanup, make_cleanup_bfd_unref): Remove.
17551         * symfile.h (symfile_bfd_open)
17552         (find_separate_debug_file_in_section): Return gdb_bfd_ref_ptr.
17553         * symfile.c (read_symbols, symbol_file_add)
17554         (separate_debug_file_exists): Update.
17555         (symfile_bfd_open): Return gdb_bfd_ref_ptr.
17556         (generic_load, reread_symbols): Update.
17557         * symfile-mem.c (symbol_file_add_from_memory): Update.
17558         * spu-linux-nat.c (spu_bfd_open): Return gdb_bfd_ref_ptr.
17559         (spu_symbol_file_add_from_memory): Update.
17560         * solist.h (struct target_so_ops) <bfd_open>: Return
17561         gdb_bfd_ref_ptr.
17562         (solib_bfd_fopen, solib_bfd_open): Return gdb_bfd_ref_ptr.
17563         * solib.c (solib_bfd_fopen, solib_bfd_open): Return
17564         gdb_bfd_ref_ptr.
17565         (solib_map_sections, reload_shared_libraries_1): Update.
17566         * solib-svr4.c (enable_break): Update.
17567         * solib-spu.c (spu_bfd_fopen): Return gdb_bfd_ref_ptr.
17568         * solib-frv.c (enable_break2): Update.
17569         * solib-dsbt.c (enable_break): Update.
17570         * solib-darwin.c (gdb_bfd_mach_o_fat_extract): Return
17571         gdb_bfd_ref_ptr.
17572         (darwin_solib_get_all_image_info_addr_at_init): Update.
17573         (darwin_bfd_open): Return gdb_bfd_ref_ptr.
17574         * solib-aix.c (solib_aix_bfd_open): Return gdb_bfd_ref_ptr.
17575         * record-full.c (record_full_save): Update.
17576         * python/py-objfile.c (objfpy_add_separate_debug_file): Update.
17577         * procfs.c (insert_dbx_link_bpt_in_file): Update.
17578         * minidebug.c (find_separate_debug_file_in_section): Return
17579         gdb_bfd_ref_ptr.
17580         * machoread.c (macho_add_oso_symfile): Change abfd to
17581         gdb_bfd_ref_ptr.
17582         (macho_symfile_read_all_oso): Update.
17583         (macho_check_dsym): Return gdb_bfd_ref_ptr.
17584         (macho_symfile_read): Update.
17585         * jit.c (bfd_open_from_target_memory): Return gdb_bfd_ref_ptr.
17586         (jit_bfd_try_read_symtab): Update.
17587         * gdb_bfd.h (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
17588         (gdb_bfd_openw, gdb_bfd_openr_iovec)
17589         (gdb_bfd_openr_next_archived_file, gdb_bfd_fdopenr): Return
17590         gdb_bfd_ref_ptr.
17591         (gdb_bfd_ref_policy): New struct.
17592         (gdb_bfd_ref_ptr): New typedef.
17593         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
17594         (gdb_bfd_openw, gdb_bfd_openr_iovec)
17595         (gdb_bfd_openr_next_archived_file, gdb_bfd_fdopenr): Return
17596         gdb_bfd_ref_ptr.
17597         * gcore.h (create_gcore_bfd): Return gdb_bfd_ref_ptr.
17598         * gcore.c (create_gcore_bfd): Return gdb_bfd_ref_ptr.
17599         (gcore_command): Update.
17600         * exec.c (exec_file_attach): Update.
17601         * elfread.c (elf_symfile_read): Update.
17602         * dwarf2read.c (dwarf2_get_dwz_file): Update.
17603         (try_open_dwop_file, open_dwo_file): Return gdb_bfd_ref_ptr.
17604         (open_and_init_dwo_file): Update.
17605         (open_dwp_file): Return gdb_bfd_ref_ptr.
17606         (open_and_init_dwp_file): Update.
17607         * corelow.c (core_open): Update.
17608         * compile/compile-object-load.c (compile_object_load): Update.
17609         * common/gdb_ref_ptr.h (ref_ptr::operator->): New operator.
17610         * coffread.c (coff_symfile_read): Update.
17611         * cli/cli-dump.c (bfd_openr_or_error, bfd_openw_or_error): Return
17612         gdb_bfd_ref_ptr.  Rename.
17613         (dump_bfd_file, restore_command): Update.
17614         * build-id.h (build_id_to_debug_bfd): Return gdb_bfd_ref_ptr.
17615         * build-id.c (build_id_to_debug_bfd): Return gdb_bfd_ref_ptr.
17616         (find_separate_debug_file_by_buildid): Update.
17617
17618 2017-01-10  Tom Tromey  <tom@tromey.com>
17619
17620         * common/gdb_ref_ptr.h: New file.
17621         * python/py-ref.h (struct gdbpy_ref_policy): New.
17622         (gdbpy_ref): Now a typedef.
17623
17624 2017-01-10  Tom Tromey  <tom@tromey.com>
17625
17626         * utils.h (make_cleanup_htab_delete): Don't declare.
17627         * utils.c (do_htab_delete_cleanup, make_cleanup_htab_delete):
17628         Remove.
17629         * linespec.c (decode_compound_collector): Add constructor,
17630         destructor.
17631         (lookup_prefix_sym): Remove cleanup.
17632         (symtab_collector): Add constructor, destructor.
17633         (collect_symtabs_from_filename): Remove cleanup.
17634         * disasm.c (do_mixed_source_and_assembly): Use htab_up.
17635         * compile/compile-c-symbols.c (generate_c_for_variable_locations):
17636         Use htab_up.
17637         * gnu-v3-abi.c (gnuv3_print_vtable): Use htab_up.
17638         * dwarf2read.c (dw2_expand_symtabs_matching)
17639         (dw2_map_symbol_filenames, dwarf_decode_macros)
17640         (write_psymtabs_to_index): Use htab_up.
17641         * dwarf2loc.c (func_verify_no_selftailcall)
17642         (call_site_find_chain_1, func_verify_no_selftailcall)
17643         (chain_candidate, call_site_find_chain_1): Use std::unordered_set,
17644         std::vector, gdb::unique_xmalloc_ptr.
17645         (call_sitep): Remove typedef.
17646         (dwarf2_locexpr_baton_eval): Remove unused variable.
17647
17648 2017-01-10  Tom Tromey  <tom@tromey.com>
17649
17650         * python/python-internal.h (make_cleanup_py_decref)
17651         (make_cleanup_py_xdecref): Don't declare.
17652         * python/py-utils.c (py_decref, make_cleanup_py_decref)
17653         (py_xdecref, make_cleanup_py_xdecref): Remove.
17654
17655 2017-01-10  Tom Tromey  <tom@tromey.com>
17656
17657         * python/py-framefilter.c (py_mi_print_variables): Use gdbpy_ref.
17658         (py_print_locals, enumerate_locals, py_print_args): Use gdbpy_ref.
17659
17660 2017-01-10  Tom Tromey  <tom@tromey.com>
17661
17662         * python/py-framefilter.c (enumerate_args): Use gdbpy_ref.
17663
17664 2017-01-10  Tom Tromey  <tom@tromey.com>
17665
17666         * python/py-utils.c (unicode_to_encoded_string)
17667         (python_string_to_target_string)
17668         (python_string_to_target_python_string)
17669         (python_string_to_host_string, gdbpy_obj_to_string)
17670         (get_addr_from_python): Use gdbpy_ref.
17671
17672 2017-01-10  Tom Tromey  <tom@tromey.com>
17673
17674         * python/py-unwind.c (pyuw_object_attribute_to_pointer): Use
17675         gdbpy_ref.
17676
17677 2017-01-10  Tom Tromey  <tom@tromey.com>
17678
17679         * python/python.c (eval_python_command, gdbpy_decode_line)
17680         (gdbpy_run_events, gdbpy_start_type_printers)
17681         (gdbpy_apply_type_printers): Use gdbpy_ref.
17682
17683 2017-01-10  Tom Tromey  <tom@tromey.com>
17684
17685         * python/py-param.c (get_doc_string, compute_enum_values): Use
17686         gdbpy_ref.
17687
17688 2017-01-10  Tom Tromey  <tom@tromey.com>
17689
17690         * python/py-inferior.c (find_thread_object, build_inferior_list):
17691         Use gdbpy_ref.
17692
17693 2017-01-10  Tom Tromey  <tom@tromey.com>
17694
17695         * python/py-framefilter.c (py_print_frame): Use gdbpy_ref.
17696
17697 2017-01-10  Tom Tromey  <tom@tromey.com>
17698
17699         * python/py-finishbreakpoint.c (bpfinishpy_out_of_scope): Use
17700         gdbpy_ref.
17701
17702 2017-01-10  Tom Tromey  <tom@tromey.com>
17703
17704         * python/py-cmd.c (cmdpy_completer_helper): Use gdbpy_ref.  Remove
17705         extra incref.
17706         (cmdpy_completer_handle_brkchars, cmdpy_completer, cmdpy_init):
17707         Use gdbpy_ref.
17708
17709 2017-01-10  Tom Tromey  <tom@tromey.com>
17710
17711         * python/py-breakpoint.c (gdbpy_breakpoint_cond_says_stop): Use
17712         gdbpy_ref.
17713
17714 2017-01-10  Tom Tromey  <tom@tromey.com>
17715
17716         * python/py-arch.c (archpy_disassemble): Use gdbpy_ref.  Don't
17717         decref results of PyArg_ParseTupleAndKeywords.
17718
17719 2017-01-10  Tom Tromey  <tom@tromey.com>
17720
17721         * python/python.c (python_run_simple_file): Use
17722         unique_xmalloc_ptr, gdbpy_ref.
17723
17724 2017-01-10  Tom Tromey  <tom@tromey.com>
17725
17726         * python/py-prettyprint.c (print_stack_unless_memory_error)
17727         (print_string_repr, print_children): Use gdbpy_ref.
17728         (dummy_python_frame): New class.
17729         (dummy_python_frame::dummy_python_frame): Rename from
17730         push_dummy_python_frame.
17731         (py_restore_tstate): Remove.
17732
17733 2017-01-10  Tom Tromey  <tom@tromey.com>
17734
17735         * python/py-framefilter.c (py_print_frame): Use gdbpy_ref.
17736
17737 2017-01-10  Tom Tromey  <tom@tromey.com>
17738
17739         * python/python.c (ensure_python_env, restore_python_env):
17740         Remove.
17741         * python/python-internal.h (ensure_python_env): Don't declare.
17742         * varobj.h (varobj_ensure_python_env): Don't declare.
17743         * varobj.c (varobj_ensure_python_env): Remove.
17744
17745 2017-01-10  Tom Tromey  <tom@tromey.com>
17746
17747         * varobj.c (varobj_value_get_print_value): Use
17748         gdbpy_enter_varobj.
17749
17750 2017-01-10  Tom Tromey  <tom@tromey.com>
17751
17752         * python/py-prettyprint.c (print_string_repr, print_children):
17753         Update.
17754         * python/py-lazy-string.c (gdbpy_extract_lazy_string): Change type
17755         of "encoding".
17756         * varobj.c (varobj_value_get_print_value): Update.
17757         * python/python-internal.h (gdbpy_extract_lazy_string): Update.
17758
17759 2017-01-10  Tom Tromey  <tom@tromey.com>
17760
17761         * varobj.c (varobj_get_display_hint)
17762         (dynamic_varobj_has_child_method, install_new_value_visualizer)
17763         (varobj_set_visualizer, free_variable): Use
17764         gdbpy_enter_varobj.
17765
17766 2017-01-10  Tom Tromey  <tom@tromey.com>
17767
17768         * python/python.c (python_command): Use gdbpy_enter, gdbpy_ref.
17769         (do_finish_initialization): New function.  Use gdbpy_ref.
17770         (gdbpy_finish_initialization): Use gdbpy_enter.  Call
17771         do_finish_initialization.
17772
17773 2017-01-10  Tom Tromey  <tom@tromey.com>
17774
17775         * python/py-param.c (get_set_value, get_show_value): Use
17776         gdbpy_enter, gdbpy_ref.
17777
17778 2017-01-10  Tom Tromey  <tom@tromey.com>
17779
17780         * python/py-function.c (fnpy_call): Use gdbpy_enter, gdbpy_ref.
17781
17782 2017-01-10  Tom Tromey  <tom@tromey.com>
17783
17784         * python/py-cmd.c (cmdpy_function): Use gdbpy_enter, gdbpy_ref.
17785
17786 2017-01-10  Tom Tromey  <tom@tromey.com>
17787
17788         * python/py-varobj.c (py_varobj_iter_dtor, py_varobj_iter_next):
17789         Use gdbpy_enter_varobj.
17790
17791 2017-01-10  Tom Tromey  <tom@tromey.com>
17792
17793         * varobj.c (gdbpy_enter_varobj): New constructor.
17794         * python/python-internal.h (gdbpy_enter_varobj): New class.
17795         * python/py-varobj.c (py_varobj_get_iterator): Use
17796         gdbpy_enter_varobj.
17797
17798 2017-01-10  Tom Tromey  <tom@tromey.com>
17799
17800         * python/py-xmethods.c (gdbpy_get_xmethod_result_type): Use
17801         gdbpy_enter, gdbpy_ref, unique_xmalloc_ptr.
17802         (gdbpy_invoke_xmethod): Use gdbpy_ref, gdbpy_enter.
17803         (gdbpy_get_xmethod_arg_types): Use gdbpy_ref,
17804         unique_xmalloc_ptr.
17805         (gdbpy_get_xmethod_arg_types): Use gdbpy_ref, gdbpy_enter.
17806
17807 2017-01-10  Tom Tromey  <tom@tromey.com>
17808
17809         * python/py-xmethods.c (invoke_match_method): Use
17810         gdbpy_ref.
17811
17812 2017-01-10  Tom Tromey  <tom@tromey.com>
17813
17814         * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers): use
17815         gdbpy_enter, gdbpy_ref.
17816
17817 2017-01-10  Tom Tromey  <tom@tromey.com>
17818
17819         * python/python.c (python_interactive_command): Use gdbpy_enter.
17820
17821 2017-01-10  Tom Tromey  <tom@tromey.com>
17822
17823         * python/python.c (gdbpy_before_prompt_hook): Use gdbpy_enter,
17824         gdbpy_ref.
17825
17826 2017-01-10  Tom Tromey  <tom@tromey.com>
17827
17828         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Use
17829         gdbpy_enter, gdbpy_ref, unique_xmalloc_ptr.
17830
17831 2017-01-10  Tom Tromey  <tom@tromey.com>
17832
17833         * utils.h (htab_deleter): New struct.
17834         (htab_up): New typedef.
17835         * python/py-framefilter.c (gdbpy_apply_frame_filter): Use
17836         gdbpy_enter, gdbpy_ref, htab_up.
17837
17838 2017-01-10  Tom Tromey  <tom@tromey.com>
17839
17840         * python/py-unwind.c (pending_frame_invalidate): Remove.
17841         (pyuw_sniffer): Use gdbpy_enter and gdbpy_ref.
17842
17843 2017-01-10  Tom Tromey  <tom@tromey.com>
17844
17845         * python/py-xmethods.c (gdbpy_free_xmethod_worker_data)
17846         (gdbpy_clone_xmethod_worker_data): Use gdbpy_enter.
17847
17848 2017-01-10  Tom Tromey  <tom@tromey.com>
17849
17850         * python/py-type.c (save_objfile_types): Use gdbpy_enter.
17851
17852 2017-01-10  Tom Tromey  <tom@tromey.com>
17853
17854         * python/python.c (gdbpy_eval_from_control_command)
17855         (gdbpy_source_script, gdbpy_run_events)
17856         (gdbpy_source_objfile_script, gdbpy_execute_objfile_script)
17857         (gdbpy_free_type_printers, gdbpy_finish_initialization): Use
17858         gdbpy_enter.
17859
17860 2017-01-10  Tom Tromey  <tom@tromey.com>
17861
17862         * python/py-progspace.c (py_free_pspace): Use gdbpy_enter.
17863
17864 2017-01-10  Tom Tromey  <tom@tromey.com>
17865
17866         * python/py-objfile.c (py_free_objfile): Use gdbpy_enter.
17867
17868 2017-01-10  Tom Tromey  <tom@tromey.com>
17869
17870         * python/py-inferior.c (python_on_normal_stop, python_on_resume)
17871         (python_on_inferior_call_pre, python_on_inferior_call_post)
17872         (python_on_memory_change, python_on_register_change)
17873         (python_inferior_exit, python_new_objfile, add_thread_object)
17874         (delete_thread_object, py_free_inferior): Use gdbpy_enter.
17875
17876 2017-01-10  Tom Tromey  <tom@tromey.com>
17877
17878         * python/py-finishbreakpoint.c (bpfinishpy_handle_stop)
17879         (bpfinishpy_handle_exit): Use gdbpy_enter.
17880
17881 2017-01-10  Tom Tromey  <tom@tromey.com>
17882
17883         * python/py-cmd.c (cmdpy_destroyer)
17884         (cmdpy_completer_handle_brkchars, cmdpy_completer): Use
17885         gdbpy_enter.
17886
17887 2017-01-10  Tom Tromey  <tom@tromey.com>
17888
17889         * python/py-breakpoint.c (gdbpy_breakpoint_cond_says_stop): Use
17890         gdbpy_enter.
17891         (gdbpy_breakpoint_has_cond): Likewise.
17892
17893 2017-01-10  Tom Tromey  <tom@tromey.com>
17894
17895         * python/python.c (gdbpy_enter): New constructor.
17896         (~gdbpy_enter): New destructor.
17897         (restore_python_env, ensure_python_env): Rewrite.
17898         * python/python-internal.h (gdbpy_enter): New class.
17899
17900 2017-01-10  Tom Tromey  <tom@tromey.com>
17901
17902         * python/py-symbol.c (gdbpy_lookup_symbol): Use gdbpy_ref.
17903
17904 2017-01-10  Tom Tromey  <tom@tromey.com>
17905
17906         * python/py-value.c (value_has_field, get_field_flag)
17907         (get_field_type, valpy_getitem, convert_value_from_python): Use
17908         gdbpy_ref.
17909
17910 2017-01-10  Tom Tromey  <tom@tromey.com>
17911
17912         * python/python.c (gdbpy_progspaces, gdbpy_objfiles): Use
17913         gdbpy_ref.
17914
17915 2017-01-10  Tom Tromey  <tom@tromey.com>
17916
17917         * python/py-prettyprint.c (search_pp_list)
17918         (find_pretty_printer_from_objfiles)
17919         (find_pretty_printer_from_progspace)
17920         (find_pretty_printer_from_gdb, find_pretty_printer)
17921         (gdbpy_get_display_hint, gdbpy_get_varobj_pretty_printer): Use
17922         gdbpy_ref.
17923
17924 2017-01-10  Tom Tromey  <tom@tromey.com>
17925
17926         * python/py-param.c (call_doc_function): Use gdbpy_ref.
17927
17928 2017-01-10  Tom Tromey  <tom@tromey.com>
17929
17930         * python/py-linetable.c (build_line_table_tuple_from_pcs)
17931         (ltpy_get_all_source_lines): Use gdbpy_ref.
17932
17933 2017-01-10  Tom Tromey  <tom@tromey.com>
17934
17935         * python/py-framefilter.c (extract_sym, extract_value)
17936         (get_py_iter_from_func, bootstrap_python_frame_filters): Use
17937         gdbpy_ref.
17938
17939 2017-01-10  Tom Tromey  <tom@tromey.com>
17940
17941         * python/py-breakpoint.c (gdbpy_breakpoints): Use gdbpy_ref.
17942
17943 2017-01-10  Tom Tromey  <tom@tromey.com>
17944
17945         * python/py-inferior.c (gdbpy_inferiors): Use gdbpy_ref.
17946
17947 2017-01-10  Tom Tromey  <tom@tromey.com>
17948
17949         * python/py-function.c (convert_values_to_python, fnpy_init): Use
17950         gdbpy_ref.
17951
17952 2017-01-10  Tom Tromey  <tom@tromey.com>
17953
17954         * python/py-cmd.c (gdbpy_string_to_argv): Use gdbpy_ref.
17955
17956 2017-01-10  Tom Tromey  <tom@tromey.com>
17957
17958         * python/py-type.c (convert_field, make_fielditem, typy_fields)
17959         (typy_range): Use gdbpy_ref.
17960
17961 2017-01-10  Tom Tromey  <tom@tromey.com>
17962
17963         * python/py-threadevent.c (create_thread_event_object): Use
17964         gdbpy_ref.
17965         * python/py-stopevent.c (create_stop_event_object): Simplify.
17966         (emit_stop_event): Use gdbpy_ref.
17967         * python/py-signalevent.c (create_signal_event_object): Use
17968         gdbpy_ref.
17969         * python/py-newobjfileevent.c (create_new_objfile_event_object)
17970         (emit_new_objfile_event, create_clear_objfiles_event_object)
17971         (emit_clear_objfiles_event): Use gdbpy_ref.
17972         * python/py-infevents.c (create_inferior_call_event_object)
17973         (create_register_changed_event_object)
17974         (create_memory_changed_event_object, emit_inferior_call_event)
17975         (emit_memory_changed_event, emit_register_changed_event): Use
17976         gdbpy_ref.
17977         * python/py-exitedevent.c (create_exited_event_object)
17978         (emit_exited_event): Use gdbpy_ref.
17979         * python/py-event.h (evpy_emit_event): Remove
17980         CPYCHECKER_STEALS_REFERENCE_TO_ARG annotation.
17981         * python/py-event.c (evpy_emit_event): Use gdbpy_ref.
17982         * python/py-continueevent.c (emit_continue_event): Use
17983         gdbpy_ref.
17984         * python/py-breakpoint.c (gdbpy_breakpoint_created)
17985         (gdbpy_breakpoint_deleted, gdbpy_breakpoint_modified): Use
17986         gdbpy_ref.
17987         * python/py-bpevent.c (create_breakpoint_event_object): Use
17988         gdbpy_ref.
17989
17990 2017-01-10  Tom Tromey  <tom@tromey.com>
17991
17992         * python/py-ref.h: New file.
17993
17994 2017-01-10  Simon Marchi  <simon.marchi@ericsson.com>
17995
17996         * cli-out.c (cli_ui_out::do_redirect): Change return type to
17997         void.
17998         * cli-out.h (cli_ui_out::do_redirect): Likewise.
17999         * mi/mi-out.c (mi_ui_out::do_redirect): Likewise.
18000         * mi/mi-out.h (mi_ui_out::do_redirect): Likewise.
18001         * ui-out.c (ui_out::redirect): Likewise.
18002         * ui-out.h (ui_out::redirect, ui_out::do_redirect): Likewise.
18003         * cli/cli-logging.c (set_logging_redirect): Update call site of
18004         ui_out::redirect.
18005         (handle_redirections): Likewise.
18006         * scm-ports.c (ioscm_with_output_to_port_worker): Likewise.
18007         * top.c (execute_command_to_string): Likewise.
18008         * utils.c (do_ui_out_redirect_pop): Likewise.
18009
18010 2017-01-10  Simon Marchi  <simon.marchi@ericsson.com>
18011
18012         * stack.c (_initialize_stack): Update "frame" command help message.
18013
18014 2017-01-08  Iain Buclaw  <ibuclaw@gdcproject.org>
18015
18016         * d-exp.y (CastExpression): Emit UNOP_CAST_TYPE.
18017
18018 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18019
18020         * x86-linux-nat.h: Include gdb_proc_service.h.
18021
18022 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18023
18024         * ser-base.h: Include serial.h.
18025
18026 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18027
18028         * ppc-linux-tdep.h: Include ppc-tdep.h.
18029
18030 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18031
18032         * nat/amd64-linux-siginfo.h: Include signal.h.
18033
18034 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18035
18036         * nat/aarch64-linux-hw-point.h: Include break-common.h.
18037
18038 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18039
18040         * mi/mi-parse.h: Include mi-cmds.h.
18041
18042 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18043
18044         * inf-loop.c: Don't include "target.h".
18045         * inf-loop.h: Include it here.
18046
18047 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18048
18049         * dfp.h: Include "dboulest.h" and "expression.h".
18050
18051 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18052
18053         * ax-gdb.h: Include "ax.h".
18054
18055 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18056
18057         * Makefile.in (HFILES_NO_SRCDIR): Replace gdb_ptrace.h
18058         with nat/gdb_ptrace.h.
18059
18060 2017-01-05  Yao Qi  <yao.qi@linaro.org>
18061
18062         * mips-fbsd-tdep.c (mips_fbsd_sigframe_init): Move && to
18063         new line.
18064         (mips64_fbsd_sigframe_init): Likewise.
18065
18066 2017-01-04  John Baldwin  <jhb@FreeBSD.org>
18067
18068         * mips-fbsd-tdep.c (_initialize_mips_fbsd_tdep): Use
18069         GDB_OSABI_FREEBSD instead of GDB_OSABI_FREEBSD_ELF.
18070
18071 2017-01-04  John Baldwin  <jhb@FreeBSD.org>
18072
18073         * Makefile.in (ALLDEPFILES): Add mips-fbsd-nat.c.
18074         * NEWS: Mention new FreeBSD/mips native configuration.
18075         * config/mips/fbsd.mh: New file.
18076         * configure.host: Add mips*-*-freebsd*.
18077         * mips-fbsd-nat.c: New file.
18078
18079 2017-01-04  John Baldwin  <jhb@FreeBSD.org>
18080
18081         * Makefile.in (ALL_TARGET_OBS): Add mips-fbsd-tdep.o.
18082         (ALLDEPFILES): Add mips-fbsd-tdep.c.
18083         * NEWS: Mention new FreeBSD/mips target.
18084         * configure.tgt: Add mips*-*-freebsd*.
18085         * mips-fbsd-tdep.c: New file.
18086         * mips-fbsd-tdep.h: New file.
18087
18088 2017-01-04  Yao Qi  <yao.qi@linaro.org>
18089
18090         * dwarf2loc.c (write_pieced_value): Don't use VALUE_FRAME_ID (to),
18091         use c->frame_id when the piece location is DWARF_VALUE_REGISTER.
18092
18093 2017-01-01  Joel Brobecker  <brobecker@adacore.com>
18094
18095         Update copyright year range in all GDB files.
18096
18097 2017-01-01  Joel Brobecker  <brobecker@adacore.com>
18098
18099         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2016.
18100
18101 For older changes see ChangeLog-2016.
18102 \f
18103 Local Variables:
18104 mode: change-log
18105 left-margin: 8
18106 fill-column: 74
18107 version-control: never
18108 coding: utf-8
18109 End: